OMG Internet Platform Special Interest Group

Minutes of Meeting #13

Dublin, Ireland
September 22, 1997
OMG Document internet/97-09-01
OMG Internet Platform SIG homepage



Object Transfer and Manipulation (OTAM), Shel Sutton, MITRE

OTAM is a proposed information access common facility based loosely on ISO FTAM . It consists of a virtual file system that provides an interface to a collection of physical file stores and database records. A Trader stores the file and database schemas plus potentially more (e.g., data conversions). This is an attempt to objectify file systems so CORBA can operate on them. FTAM can be viewed as a file system adapter.

Shel drew a picture:

native file system - initiator - receptor - file system

|where receptor connects to virtual file store (schema)

The idea of "service regimes" involves four regimes:

Q: Does FTAM require state? A: Yes but OTAM might not.

Q: Is OTAM a service or a common facility?

The question raises some key issues. Encapsulation in persistence hides all details of the access but as a facility we want to expose the ability (to someone if not the facility user to augment the facility by adding new backend data sources. So there must be visible interfaces that some role of developer can use to do this. So while this might possibly expose the persistence interface it has internal structure. (In fact, it can probably be viewed as a federation of the persistence service. See the talk below on Composition, which includes a discussion of the federation pattern.)

Another issue is, what exact functionality is provided by OTAM? Just persistence or concurrency too? What about transactions, queries, naming, naming of records and fields, some sort of API to an indexing mechanism, some variant of a trader? All TBD. But the issue raised, case another way is, OTAM could choose to mixin or not mixin several of these services - so in a way it is a family of common facilities, not single one. (The word repository has this same characteristic. That is why is has been impossible to define as a single mix of functionality lo these many years.)

Shel expects an OTAM white paper to be available at the next OMG meeting and hopes to hold a half-day workshop on OTAM. 

Reactive Model and Parallel Java, Guillaume Doumenc, Soft Mountain and Sylvie Simon, France Telecom/CNET-CAEN

Talk Title:  Parallel execution and assembly of CORBA and Java components


This talk will consist of two parts:

Reactive technology is a result of joint research studies by INRIA/CMA, Soft Mountain and CNET. The Soft Mountain CafeOle environment enables event based communication and synchronization between CORBA/Java components.  It uses standard transportation facilities of underlying distribution architectures (CORBA, RMI).  Reactive'Java and Reactive'C++ are programming tools which integrate the event model directly into Java and C++ respectively.  Soft Mountain Reactive COS is the CORBA implementation of the Soft Mountain CafeOle glue software for componentware. It may be seen as a CORBA Common Object Service providing for: Soft Mountain Reactive Magnets is a Rapid Application Development Tool (RAD) which allows to assemble Java components. The user can graphically drag and drop Java components and link them together to build his Java application.

A prototype was developed by CNET-Caen in the electronic commerce domain.  Reactive technology allows Internet Service Providers to customize their service offer thanks to different assembly schemes of their own service components and if necessary other providers service components. Other prototypes were developed by CNET-Grenoble in the area of network management.  Future work is planned in CNET-Caen on the integration of Reactive Technology into France Telecom Intranet service offer.

The talk described event driven reactive components in a broadcast environment. The execution model is alternating idle and reaction cycle; events trigger or activate a component; all components react; there many be internal events. When the system goes quiescent then that completes the cycle. There is a combination of events AND, OR, NOT. (Seems like its related to Event-Condition-Action rules). This is a declarative approach.

They have defined two tools. Reactive C++ and Reactive Java. These are preprocessors that translate to finite state machines. Example constructs:

There is no notion of time-out, no mapping to a wall clock, only virtual time so a cycle could last for hours.

To construct events, start with a universe and hierarchically componentize the parts. Universes can be synchronous or anynchronous. One can dynamically add new universes or components. Once set, the visibility domain cannot change. Visibility domains cannot overlap.


Use Visual Java development tools off the shelf. Use their tools for assembly; then administrative environment.

Experience with reactive technology:

This latter provides service composition/customization. Service providers provide business services; graphical applets; portfolio management/stock exchange monitoring/threshold detection. Now assemble all these. Uses CaféOlé. Start with a list of components minus descriptions/introspection. Service creation by component assembly. Associations between customer profiles (her special assemblies) and services. Installation and execution. Can use Java or IDL components.

Example: Portfolio has two input events that trigger: sell and buy. Threshold object so when threshold is more than t then sell. Supplier SP1 provides monitoring of stock exchange. SP3 offers mobile phone interface. SP2 offers display applets to GUI the stock changes. The reactive system provides monitoring, even management. Customer wants to set up alarms and displays and for her stocks. Uses CORBA bus for transmissions. If stock change, that goes to threshold detection, that goes to portfolio change, that affects pie chart,

Q: did you try other approaches: procedural or workflow. A: Not really, but this way is easy enough for non-programmers. Rather than top down workflow, we want to add new services dynamically. Component definer must be computer skilled. But customer just assembles.

Directions: Intranet services for communities. Phone over IP, IP network management, groupware tools. Graphical assembly. Real-time aspects versus logical time. 

Towards Compositional Software Architectures, Craig Thompson, Object Services and Consulting, Inc.

See "Thoughts on OMA-NG: Next Generation Object Management Architecture" on the OMG server (unprotected). The talk covers mainly end-to-end architectural properties that componentware must have.  The audience largely agrees that OMG faces the issues listed in the paper. This led into a discussion on the related work on Quality of Service in Open Distributed Processing that is also being cast as providing a framework (not an architecture) for architectural properties. 

Roadmap Discussion

Thompson described the history of Internet SIG. The first six or so meetings were informational. Over the next several meetings, we issued an Internet Services Architecture RFI, got responses, analyzed them into a set of Recommendations, which we then took to the roadmap committees of ORBOS and Common Facilities (ending that work item for Internet SIG). That work has since resulted in several RFPs including the Reverse Java Mapping, Firewalls, and the Internet RFP (no responders).

Thompson stated that Internet SIG has had two open work items at the last few meetings: OTAM and Compositional Software. The OTAM work is still proceeding but the Compositional Software work has resulted in a finished green paper (architectural paper) and this work is now being moved to ORMSC since they are chartered to do revisions to the OMA Reference Model, which is what the green paper is aimed at.

That leaves Internet SIG with one main work item, OTAM. Shel Sutton promised a first draft version of a green paper by the next meeting and suggested we hold a half day meeting to review it.

Other suggestions for the next meeting: