ACEDB, CORBA, CITA and GFace Hamish McWilliam BrassicaDB
What is CORBA? Getting data out of ACEDB CITA:ACEDB and CORBA GFace: a Java CITA client The Plan
What is CORBA? Common Object Request Broker Architecture (CORBA) CORBA is commonly classified as middleware Object interaction and object access system Programming language independent Platform neutral Vendor independent
CORBA ORBs Object Request Brokers (ORBs) ORBs handle the communications between the client and server Client Object ORB Server Object ORB
Communications Protocol Standardized communications protocol: GIOP GIOP is an abstract protocol IIOP is GIOP over the Internet Protocol To be CORBA 2 compliant an ORB must support IIOP Client Object ORB Server Object ORB IIOP
CORBA Interfaces Interface Definition Language (IDL) The interface definition is known as an IDL An Interface definition forms a contract between objects
CORBA supports many languages CORBA 2.2 specifies language mappings for: Ada C C++ COBOL Java Smalltalk Many other unofficial mappings e.g. Perl Language Support
ACEDB Networking Simple client server based system using RPC aceclient or xaceclient aceserver or gifaceserver
ACEDB Programming using the aceclient mechanism By using the aceclient mechanism to access the database, specialized clients can be written which are independent of the database version. This is how AcePerl and Webace access a database aceserver or gifaceserver Specialised ‘aceclient’
So to develop a data server. Use the aceclient mechanism to access the database. Giving version independence and providing the ability to extract data from more than one database. Then publish the data to your clients. aceserver or gifaceserver Specialised ‘aceclient’ and data server Data server client This model is used by Jade to obtain access to ACEDB using sockets. ACEDB Programming using the aceclient mechanism
CITA A simple combination of CORBA and the aceclient mechanism produces a simple CORBA Interface To ACEDB (CITA). gifaceserver CITA client ORB CITA server ORB IIOP
CITA Servers Two types of CITA server are available Perl CITA Server Uses AcePerl to access the databases Uses COPE for the CORBA Full support for ACEDB graphics C CITA Server Access to the database uses ACEDB libraries ILU is use for the CORBA Support for ACEDB graphics incomplete
Simple Java CITA client
GFace: A general CITA client
GFace Features Support for standard ACEDB queries and AQL Extensible Class specific displays Intra-database displays (use data from more than one class)
GFace Features Configurable Can access more than one CITA server Can access multiple databases through a single CITA server Available displays configured in the database Support for links to external sources in Tree Display
Basic Displays
ACEDB Graphic Display
Table Display
AQL Query Display
PCM Display
GridMap Display A comparative intra-database display Oxford grid Scaled display Numeric display
GridMap Display Within a Species
GridMap Display Between Species
CORBA: ACEDB: CITA and GFace documentation, source code and demonstrations: