Full HTML for

Basic foilset Analysis of RIB and Evolution to CORBA

Given by Geoffrey C. Fox, Wojtek Furmanski at NHSE Review Argonne on September 30 97. Foils prepared September 29, 97
Outside Index Summary of Material


This analyses the "Repository in a Box" or RIB and compares with related web-linked database technologies and the attractions of future CORBA approach
1. RIB Overview
2. BIDM by RIG
3. Possible Next Steps
4. The Basic Web-linked database models and Other commercial Web-Database products and companies
5. Example: MOREplus
6. Software as a Shrink wrapped box or executing code
7. Flexible RIB Development Strategy
8. Java/CORBA based Object Web
9. CORBA Trader - Overview
10. CORBA Trader - Features
11. Merging RIB with CORBA Trader
12. Advantages of CORBA Solution
13. Some Possible Next Steps
14. Technical Implementation Issues

Table of Contents for full HTML of Analysis of RIB and Evolution to CORBA

Denote Foils where Image Critical
Denote Foils where HTML is sufficient

1 Analysis of NHSE RIB (Repository in a Box) Technology
2 Abstract of NHSE Presentation Sept 30,97
3 1. RIB in a Nutshell
4 RIB Technical Implementation Overview
5 2. BIDM Standard by RIG -- Overview
6 Technical Details of BIDM Standard
7 3. Possible Next Steps: Where is RIB Now?
8 How to best address the RIB evolution?
9 4. Evolution of "Database Implementations" on the Web
10 Web-Linked Database Architecture
11 5.Example Commercial Web-linked Database: MOREplus
12 Well Known Examples of Commercial Web-linked Databases
13 Other commercial Web-Database products and companies
14 6. Is Software A shrink-wrapped box or a bunch of executable methods!
15 CORBA for Software Publication
16 7. Flexible RIB Development Strategy
17 8. Java/CORBA based Object Web
18 9. CORBA Trader - Overview I
19 CORBA Trader - Overview II
20 10. CORBA Trader - Features I
21 CORBA Trader - Features II
22 11. Merging RIB with CORBA Trader
23 12. Advantages of CORBA Solution - I
24 Advantages of CORBA Solution - II
25 13. Possible Next Steps I
26 Possible Next Steps II
27 14. How to Develop CORBA Bindings for a Language/Program I
28 How to Develop CORBA Bindings for a Language/Program II

Outside Index Summary of Material



HTML version of Basic Foils prepared September 29, 97

Foil 1 Analysis of NHSE RIB (Repository in a Box) Technology

From Master Set of Foils for 1996 Session of CPS615 NHSE Review Argonne -- September 30 97. *
Full HTML Index
Geoffrey Fox, Wojtek Furmanski
Syracuse University
NPAC
111 College Place Syracuse NY 13244 4100
3154432163

HTML version of Basic Foils prepared September 29, 97

Foil 2 Abstract of NHSE Presentation Sept 30,97

From Master Set of Foils for 1996 Session of CPS615 NHSE Review Argonne -- September 30 97. *
Full HTML Index
This analyses the "Repository in a Box" or RIB and compares with related web-linked database technologies and the attractions of future CORBA approach
1. RIB Overview
2. BIDM by RIG
3. Possible Next Steps
4. The Basic Web-linked database models and Other commercial Web-Database products and companies
5. Example: MOREplus
6. Software as a Shrink wrapped box or executing code
7. Flexible RIB Development Strategy
8. Java/CORBA based Object Web
9. CORBA Trader - Overview
10. CORBA Trader - Features
11. Merging RIB with CORBA Trader
12. Advantages of CORBA Solution
13. Some Possible Next Steps
14. Technical Implementation Issues

HTML version of Basic Foils prepared September 29, 97

Foil 3 1. RIB in a Nutshell

From Master Set of Foils for 1996 Session of CPS615 NHSE Review Argonne -- September 30 97. *
Full HTML Index
RIB (Repository in a Box) is a Web software toolkit for setting up and maintaining software repositories.
Base features of RIB include:
  • IEEE standard based data model
  • Facilities for creating and editing software catalog records
  • Support for Web-browsable and searchable catalogs
  • Interoperability with other RIB repositories
RIB is based on IEEE standard 1420.1, the Basic Interoperability Data Model (BIDM), developed by Reuse Library interoperability Group (RIG)

HTML version of Basic Foils prepared September 29, 97

Foil 4 RIB Technical Implementation Overview

From Master Set of Foils for 1996 Session of CPS615 NHSE Review Argonne -- September 30 97. *
Full HTML Index
RIB is a CGI/Perl package set, including the following components:
Data-Dumper, IO, MD5, libnet, libwww-perl - a collection of standard Perl5 modules for CGI programming, available at the Comprehensive Perl Archive Network (CPAN) at http://www.perl.org/CPAN/CPAN.html
Isearch/Isite package, available from Center for Network Information, Discovery and Retrieval (CNIDR)at http://www.cnidr.org/ir/isite.html
Basic RIB package (~6K lines of Perl) developed as part of the NHSE/RIB project and available at http://www.nhse.org/RIB/

HTML version of Basic Foils prepared September 29, 97

Foil 5 2. BIDM Standard by RIG -- Overview

From Master Set of Foils for 1996 Session of CPS615 NHSE Review Argonne -- September 30 97. *
Full HTML Index
Reuse Library Interoperability Group (RIG) develops standards for the interoperation of software reuse libraries.
RIG is chaired by Jim Moore from MITRE and includes some 20 organizations affiliated with DoD, NASA, NIST, software industry (IBM, Fidelity)and one university (NetLib group at University of Tennessee)
BIDM offers an object-oriented representation of software repositories in terms of Assets, Elements, Libraries, and Organizations objects.
Software packages or individual routines are represented by Asset objects.
Assets are created by Organizations, are composed of Elements (typically files) and are located in Libraries.

HTML version of Basic Foils prepared September 29, 97

Foil 6 Technical Details of BIDM Standard

From Master Set of Foils for 1996 Session of CPS615 NHSE Review Argonne -- September 30 97. *
Full HTML Index
Assets are described by a set of (textual string) attributes such as:
Name, Abstract, Cost, DateOfInformation, Domain, Keywords, Language,Restrictions, SecurityClassification, TargetEnvironment, UniqueID,Version, VersionDate.
Specific implementations (such as NHSE RIB) can extend RIB classes and contribute new custom attributes.
RIG specifies also two possible formats for the Web bindings of the BIDM:
  • HTML header files (where attribute/value pairs are represented as name/content entries of the HTML &#060META&#062 tag)
  • dedicated SGML files
Meta-files describing individual assets or the whole catalogs(via HTML or SGML formats) can be linked or moved between individual repositories, thereby supporting interoperability.
  • This mechanism is used by the NHSE RIB interoperability model.

HTML version of Basic Foils prepared September 29, 97

Foil 7 3. Possible Next Steps: Where is RIB Now?

From Master Set of Foils for 1996 Session of CPS615 NHSE Review Argonne -- September 30 97. *
Full HTML Index
Note that the RIB is "just" a federation of relational databases with a rather simple database structure (a few tables)
  • RIB software emulates RDBMS with file systems using classic Perl CGI technology
Current RIB offers adequate solution for the current software repository needs of the HPCC community and the package is in fact used by a growing number of software libraries in the HPCC area such as HPC-Netlib, PTlib, and CSIR.
To broaden the RIB customer base, one would need to improve the underlying software infrastructure, which is currently based on somewhat dated Web'95 technologies.
Required improvements include: concurrency control, RDBMS based persistency support, electronic licensing, file/package/repository mirroring and mobility,remote execution support etc.

HTML version of Basic Foils prepared September 29, 97

Foil 8 How to best address the RIB evolution?

From Master Set of Foils for 1996 Session of CPS615 NHSE Review Argonne -- September 30 97. *
Full HTML Index
Continue current development of a public domain code
Start including currently available commercial Web-linked database packages
  • Several technology choices. MOREplus (discussed later) is expensive and outdated technology but field is still continuing to evolve rapidly. There are better choices for evolving RIB
Identify and be consistent with new emergent Web industry standards of relevance for software repositories (such as CORBA Trader Service within the emerging Object Web)
  • Note all Assets entered into current RIB will be EASY to port to any proposed new approach
  • So it makes sense in all scenarios to continue using RIB

HTML version of Basic Foils prepared September 29, 97

Foil 9 4. Evolution of "Database Implementations" on the Web

From Master Set of Foils for 1996 Session of CPS615 NHSE Review Argonne -- September 30 97. *
Full HTML Index
PERL CGI scripts accessing files in file system (RIB)
CGI stub accessing Oracle with PL/SQL or directly with oraperl
  • similar solutions with Sybase etc.
Java Interfaces JDBC 2 or 3 tier (can access free MSQL or "expensive" Oracle)
  • Natural choice for a new project today
CORBA emerging possibility in the future
  • Note that one of CORBA services called POS (Persistent Object Service) offers transparent interface to a generic storage medium, be it flat file system,RDBMS or ODBMS.
  • Fancy new systems like this IBM Component Broker bring also CORBA support to other legacy backends such as mainframes, CICS, TP Monitors etc.

HTML version of Basic Foils prepared September 29, 97

Foil 10 Web-Linked Database Architecture

From Master Set of Foils for 1996 Session of CPS615 NHSE Review Argonne -- September 30 97. *
Full HTML Index
Client Web Server Database Server
Traditional approach: C or Perl CGI
Program invoking RDBMS
JDBC (Java Data Base Connection) Has 2 tier (no Web server)
or 3 tier Architecture
JDBC is set of standard Java Methods to access any database
"drivers" map generic methods to particular database
Java code can be at Client (2 tier) Server(3 tier)
or even on the database (Oracle's Java replacement for PL/SQL)

HTML version of Basic Foils prepared September 29, 97

Foil 11 5.Example Commercial Web-linked Database: MOREplus

From Master Set of Foils for 1996 Session of CPS615 NHSE Review Argonne -- September 30 97. *
Full HTML Index
One example of using existing commercial solution, recently evaluated by NHSE,is the MOREplus package from MountainNet, Inc.
MOREplus is commercial version of MORE (Multimedia-Oriented Reuse Environment) software by Johnson Space Center and University of Houston, Clear Lake.
MOREplus offers support for building repositories of high value information assets (such as software, best practice descriptions, metrics data etc.)
There are several similarities between the overall organization and user interface in RIB and MOREplus packages.
Differences include:
  • Oracle database support in MOREplus
  • Implementation language: MOREplus is C based with rather old-fashioned proC Oracle binding
  • Data/information model of MOREplus is more generic than RIB, i.e. it is consistent with but not restricted to RIB BIDM)

HTML version of Basic Foils prepared September 29, 97

Foil 12 Well Known Examples of Commercial Web-linked Databases

From Master Set of Foils for 1996 Session of CPS615 NHSE Review Argonne -- September 30 97. *
Full HTML Index
Cold Fusion http://www.allaire.com/
HahtSite http://www.haht.com/
NetDynamics http://www.w3spider.com/
WebObjects http://software.apple.com/webobjects/
TalentSoft Web+ http://www.TalentSoft.com/
Speedware Autobann http://www.speedware.com
PowerSoft's IDK http://www.powersoft.com
WebBase http://www.webbase.com
SQLweb http://www.sqlweb.com

HTML version of Basic Foils prepared September 29, 97

Foil 13 Other commercial Web-Database products and companies

From Master Set of Foils for 1996 Session of CPS615 NHSE Review Argonne -- September 30 97. *
Full HTML Index
MOREplus is one of many products in the area of Web-Database interfaces.
It was naturally selected by NHSE for evaluation due to similarity of end-user interfaces in RIB and MOREplus but Web-Database interface to the current RIB can be constructed using many other commercial products.
On-line Database Magazine lists at http://www.dbmsmag.com/buyguide.html some 900 companies/products in the area of Web/Database interfaces!
We believe one could easily find many more affordable products than MOREplus.
We also note that RDBMS systems become truly affordable these days:
  • For example NT version of Oracle8, including Context Search Engine and lots of other advanced features costs now only $1,500.

HTML version of Basic Foils prepared September 29, 97

Foil 14 6. Is Software A shrink-wrapped box or a bunch of executable methods!

From Master Set of Foils for 1996 Session of CPS615 NHSE Review Argonne -- September 30 97. *
Full HTML Index
One can look at software as a "book object" labeled by Author Abstract etc. ---- this is current RIB as a catalog
  • So far, all RIB instances we have seen used the RIG BIDM model only at the package/library/toolkit level, without going down and applying the "Library of Assets" based metaphor to individual routines or classes/methods.
  • We also note that even if one used it to label individual methods, the RIG BIDM model is static and does not address at all the issues of remote execution of the published software services.
Or one can look at it as a "program object" with methods that can be accessed remotely and both produces answers given data (maybe limited by network performance!) but also provides better re-use through method level documentation
  • This is a "opportunity" for future NHSE follow-ons
Note that Javabeans (with BeanInfo as "book/catalog") and framework/introspection for "program" object) illustrate both these ideas

HTML version of Basic Foils prepared September 29, 97

Foil 15 CORBA for Software Publication

From Master Set of Foils for 1996 Session of CPS615 NHSE Review Argonne -- September 30 97. *
Full HTML Index
In the CORBA model, software is published as a collection of object services, conforming to well-defined interfaces stored in repositories, implementable in a variety of programming languages, and remotely accessible from a variety of platforms and client languages.
Note that to be precise, only languages that have IDL binding/compiler support can be used directly in CORBA but their list grows and currently includes:
  • C, C++, Cobol, Smalltalk, Ada, Java.
Many HPCC packages are not object-oriented but CORBA supports C to IDL bindings which allows to wrap and publish non-object software as a collection of remote objects.
  • Can do Fortran similarly and Fortran90 (HPF) is even object oriented and easier
CORBA allows one to promote existing Fortran/HPF/C++/MPI etc codes to become well documented components to be used in modern object ComponentWare system
We suggest that CORBA based repackaging of NHSE HPCC libraries would broaden substantially the market acceptance of this software.
  • Fits nicely with Netsolve and NEOS network-enabled servers

HTML version of Basic Foils prepared September 29, 97

Foil 16 7. Flexible RIB Development Strategy

From Master Set of Foils for 1996 Session of CPS615 NHSE Review Argonne -- September 30 97. *
Full HTML Index
So in reviewing future directions for RIB we find a strategy involving the combination of two approaches
Firstly we need to update technology implementation of RIB while we add requested functionality's
  • Add a database back end
  • However probably should use modern and cheaper JDBC solution and not MOREplus.
  • Remember using JDBC does Not require use of client side Java code as in 3 tier model Java code is on Server
  • Signed applets should make client use of Java less problematic
This RIB technology evolution will be performed in context of an architecture that incorporates future changes coming from commercial software industry and from growing use of distributed object (CORBA) technology.
Note OSTP is about to start a new "Advanced Distributed Learning" ADL initiative based on distributed objects
  • Should be synergistic with educational resource part of NHSE

HTML version of Basic Foils prepared September 29, 97

Foil 17 8. Java/CORBA based Object Web

From Master Set of Foils for 1996 Session of CPS615 NHSE Review Argonne -- September 30 97. *
Full HTML Index
Web software industry, led by an alliance of IBM, Netscape, Oracle and Sun, is now developing new object based infrastructure for Internet and Intranet,typically referred to as the "Object Web" and integrating:
  • remote objects (CORBA, COM),
  • mobile code (Java) and
  • ComponentWare (ActiveX, JavaBeans).
Object Web will probably bring soon the associated software repository, catalog/yellow page and trading services.
We suggest that NHSE should study these new technologies (most notably, CORBA Trading Service to be described) in making decisions on the next steps of the RIB evolution.
Indeed, CORBA is already a de facto industry standard for distributed computing as developed by an open consortium (OMG) of some 700 companies

HTML version of Basic Foils prepared September 29, 97

Foil 18 9. CORBA Trader - Overview I

From Master Set of Foils for 1996 Session of CPS615 NHSE Review Argonne -- September 30 97. *
Full HTML Index
We discuss here one Object Web repository technology - CORBA Trading Service - recently published by OMG as one of the (fifteen)Common CORBA Services.
CORBA Trader or Trading Service acts as a yellow page service for CORBA objects, allowing publishers to advertise their services and customers to shop for the best, most adequate implementations of required functionality's.
Early implementations of the Trader Service have started to appear on the ORB market.
By the end of '97, most major ORB vendors (DEC, IBM, Sun, HP, IONA, Expertsoft, ICL, Visigenic) will offer Trader Service support.

HTML version of Basic Foils prepared September 29, 97

Foil 19 CORBA Trader - Overview II

From Master Set of Foils for 1996 Session of CPS615 NHSE Review Argonne -- September 30 97. *
Full HTML Index
CORBA Trading is most useful for genuine distributed object based services but it can be also naturally adapted to non-object-oriented software, e.g. C libraries, by building suitable object wrappers.
  • Wrappers can be automated to some extent
Such wrappers require additional effort from the software publisher side but it will pay off in the long run.
CORBA will enable object orientation in terms of a thin veneer wrapper around the non-object legacy software.
  • We expect tremendous community activity from this movement to object software base

HTML version of Basic Foils prepared September 29, 97

Foil 20 10. CORBA Trader - Features I

From Master Set of Foils for 1996 Session of CPS615 NHSE Review Argonne -- September 30 97. *
Full HTML Index
Service publishers submit 'offers' to the Trader.
Each offer includes the service type, a set of properties (which are service type dependent), and a handle to the object class, representing the advertised service.
Service consumers/subscribers search for objects that match their requirements using a 'constraint language'.
  • One such language is defined as part of the Trader specification.
  • Other dedicated scripts can be also supported by dynamical binding of associated interpreters.
The Default constraint language specifies queries in terms of the service properties, connected/related via the standard set of mathematical, boolean and set-theoretical unary or binary operators.

HTML version of Basic Foils prepared September 29, 97

Foil 21 CORBA Trader - Features II

From Master Set of Foils for 1996 Session of CPS615 NHSE Review Argonne -- September 30 97. *
Full HTML Index
Traders from various CORBA domains can be linked to form Federations.
The resulting direct acyclic Trading Graphs are searched automatically in a way transparent to the customer who contacts only the local Trader.
Some traders in the Federation can be represented by their proxies which allows one to bring external/custom repository models to the Trader.
The Trader returns a list of object references that resolve the query submitted by the consumer
  • the corresponding objects can be immediately instantiated and used in the dynamic distributed computing environments.

HTML version of Basic Foils prepared September 29, 97

Foil 22 11. Merging RIB with CORBA Trader

From Master Set of Foils for 1996 Session of CPS615 NHSE Review Argonne -- September 30 97. *
Full HTML Index
OMG does not specify service types or the associated properties for CORBA Traders.
Such domain specific trading dictionaries must be developed by the domain specific communities.
RIG BIDM and NHSE RIB can be viewed as such an domain activity in particular software catalog object areas and currently for non-object software.
RIG objects, the associated Assets terminology and prototype implementations such as RIB can be naturally imported into CORBA Trading Service either directly or via the proxy mechanisms.
The natural place for such a merger is the family of vertical CORBA facilities -
  • RIG BIDM could be turned into a 'public domain software repository facility' and NHSE RIB into a 'HPCC software repository facility'.

HTML version of Basic Foils prepared September 29, 97

Foil 23 12. Advantages of CORBA Solution - I

From Master Set of Foils for 1996 Session of CPS615 NHSE Review Argonne -- September 30 97. *
Full HTML Index
Advantage of the CORBA based solution for the software repository proposed here stems for the powerful general purpose infrastructure offered by CORBA Services.
Missing features of the current RIB such as:
  • concurrency control
  • persistency support
  • electronic software licensing
  • remote execution(testing) and demo support
are naturally addressed by the base CORBA mechanisms and services, already specified by OMG and rapidly emerging on the ORB market.

HTML version of Basic Foils prepared September 29, 97

Foil 24 Advantages of CORBA Solution - II

From Master Set of Foils for 1996 Session of CPS615 NHSE Review Argonne -- September 30 97. *
Full HTML Index
Current ORB products are still rather expensive but the rapid onset of the Object Web will drive down the prices in the CORBA software domain down and one can expect free implementations of CORBA to appear soon as well.
Looking more into the future, new more advanced distributed computing capabilities of relevance to software repositories are in the OMG standardization pipeline and to become part of CORBA3. These include:
  • Passing objects by value (to enable multi-language code mobility)
  • Intelligent agents (to enable mobile autonomous traders)
  • Workflow (to enable remote execution of dataflow linked object sets)

HTML version of Basic Foils prepared September 29, 97

Foil 25 13. Possible Next Steps I

From Master Set of Foils for 1996 Session of CPS615 NHSE Review Argonne -- September 30 97. *
Full HTML Index
Too early to deploy CORBA but now is a good time to start some experiments -- develop standards, evolve RIB development with futures in mind
  • This research is Not Funded by NHSE
NPAC is already involved in building Java/CORBA based Object Web infrastructure.
We expect our Java based WORB (Web Object Request Broker) together with selected services (including Trader) to be available by the early `98.
One could use NPAC WORB or similar system as an experimental platform to investigate merging RIB with CORBA Trading Services.
Natural steps in this process would include:
  • develop IDL interfaces to the RIB classes
  • develop object wrappers for selected HPCC packages, for example matrix algebra libraries.
  • Merge RIB with CORBA Trader via the Trader proxy mechanism
  • Verify the approach with RIG and OMG, and develop CORBA facility proposal

HTML version of Basic Foils prepared September 29, 97

Foil 26 Possible Next Steps II

From Master Set of Foils for 1996 Session of CPS615 NHSE Review Argonne -- September 30 97. *
Full HTML Index
In such a prototype of dynamic HPCC software repository, all software would be published as a collection of object services, searchable via RIB model based CORBA Trader tools.
Objects identified by Traders would be immediately accessible for remote execution from any client platform and programming language.
We note that in distributed simulation field, DMSO is already following such a route in the recent HLA/RTI based effort to enforce interoperability between all simulator systems.
The first generation, domain specific implementation of HLA/RTI is being tested by the simulation community while DMSO is developing the next generation spec together with OMG as a vertical CORBA facility for the 'distributed simulation' domain.

HTML version of Basic Foils prepared September 29, 97

Foil 27 14. How to Develop CORBA Bindings for a Language/Program I

From Master Set of Foils for 1996 Session of CPS615 NHSE Review Argonne -- September 30 97. *
Full HTML Index
One needs two things to bring a language X to the CORBA world:
  • a) X to IDL mapping
  • b) IDL to X compiler
a) includes decisions on how to represent language specific data structures such as ints, floats or doubles of various sizes, arrays, strings etc. in terms of the corresponding universal IDL data structures.
b) is a simple pre-compiler which reads IDL and writes client stubs or/and server skeletons in language X (to be then linked with ORB libraries and compiled using X language compiler - the final result is a CORBA server for X language objects).

HTML version of Basic Foils prepared September 29, 97

Foil 28 How to Develop CORBA Bindings for a Language/Program II

From Master Set of Foils for 1996 Session of CPS615 NHSE Review Argonne -- September 30 97. *
Full HTML Index
a) is being done by proposals responding to OMG RFPs. If there is community interest in some new CORBA capability, one should write a letter of intent to OMG and they respond with an RFP.
  • If there are several proposals,they usually try to get various proponents to work together so that
There is only one final proposal signed by lots of companies.
This proposal gets then an OMG stamp on it and becomes a standard spec.
b) is part of ORB products i.e. done by companies for profit or developed as public domain system.
One can use a Language X frontend (like our HPF frontend) to automate linkage of X routines to CORBA methods

© Northeast Parallel Architectures Center, Syracuse University, npac@npac.syr.edu

If you have any comments about this server, send e-mail to webmaster@npac.syr.edu.

Page produced by wwwfoil on Fri Nov 21 1997