Organisaties kunnen gegevens en programmafuncties vaak niet daar gebruiken waar ze nodig zijn, doordat ze bijvoorbeeld werken met verschillende informatiesystemen op diverse platformen. Om dit soort problemen op te lossen houdt de Object Management Groep zich bezig met de interoperabiliteit van softwarecomponenten. Adviseur Jan van Putten bespreekt de stand van zaken van het werk van deze standaardisatiecommissie.
Op 27 februari aanstaande vindt in Amsterdam de eerste OMG informatiedag in Nederland plaats – een goed moment om de stand van zaken op een rijtje te zetten. Vanuit eindgebruiker-organisaties is namelijk sprake van een sterk groeiende belangstelling voor OMG-technologie (Object Management Groep). De OMG heeft naar aanleiding hiervan een voorstel gelanceerd om de verschillende domeinen met standaarden te gaan ondersteunen.
Gegevens en programmafuncties kunnen vaak niet daar gebruikt worden waar ze eigenlijk nodig zijn. Dit levert vooral dan problemen op als een organisatie bijvoorbeeld bestaande bedrijfsprocessen wil herstructureren. In dat geval is veelal een naadloze integratie van informatiesystemen nodig, om bedrijfsfuncties optimaal te laten samenwerken. Een dergelijke samenwerking wordt bemoeilijkt door bijvoorbeeld het niet compatibel zijn van gegevens en het gebruik van diverse platformen.
Voor deze problemen moet een oplossing komen, vindt de in 1989 opgerichte Object Management Groep. Vanaf het begin heeft deze groep, die op dit moment meer dan zeshonderd leden kent, zich daarom bezig gehouden met de interoperabiliteit van softwarecomponenten. De basis hiervoor ligt in het feit dat elk informatiesysteem in een organisatie reeds een gedeelte van een bedrijfsproces representeert. Elk systeem bevat derhalve een gedeelte van een bedrijfsmodel. Informatiesystemen kunnen vervolgens met elkaar samenwerken door de verschillende modellen te integreren (bottom-up benadering).
Modulaire principes
Met behulp van een object is het mogelijk om het deel van het bedrijfsproces dat een programma ondersteunt aan de buitenwereld aan te bieden. Figuur 1 laat zien hoe een cad/cam-systeem (computer aided design/manufacturing) via het objecttype ‘Ontwerp’ met de buitenwereld communiceert. Het objecttype ‘Produkt’ representeert een gedeelte van een logistiek systeem.
Via de operatie ‘geefVrij()’ kan een tekening in het cad/cam-systeem vrijgegeven worden. De operatie ‘artikelCode()’ biedt de mogelijkheid om een artikelcode op te zoeken. Dergelijke operaties komen dus overeen met de ‘normale’ berichtenstromen tussen de verschillende bedrijfsfuncties in een organisatie. Behalve bestaande systemen is het tevens mogelijk om nieuw te ontwikkelen systemen volgens deze modulaire principes te structuren (top-down benadering).
Het succes van een op componenten gebaseerde infrastructuur is afhankelijk van de middleware waarmee een effectieve samenwerking tussen componenten gerealiseerd kan worden. Zo’n samenwerking tussen componenten valt pas dan te realiseren als men het eens is over de rol (client, server of beide) die een component speelt in zijn omgeving en over de taal die een component ‘spreekt’. Daarvoor heeft de OMG de Object Management Architectuur gedefinieerd. Deze architectuur definieert een aantal verschillende objecttypen die via de orb-objectmakelaar (object request broker) met elkaar kunnen communiceren (zie figuur 2).
Standaardcomponenten
Objecten kunnen via de orb communiceren met een object waarvan de fysieke locatie of het implementatieplatform onbekend is. De orb zorgt voor het tot stand brengen en onderhouden van verbindingen. Applicatie-objecten kunnen bijvoorbeeld via de orb gebruik maken van standaardcomponenten die generieke functionaliteit aanbieden. Deze standaardcomponenten vallen uiteen in twee soorten: Common Facilities en Object Services.
Common Facilities zijn de hulpmiddelen die men nodig heeft om de in een Corba-omgeving (Common Object Request Broker Architecture) aanwezige services direct aan te bieden aan de eindgebruiker. Op dit moment zijn de volgende faciliteiten in ontwikkeling: information management, system management, task management (bijvoorbeeld workflow en e-mail) en user interface services (inclusief samengestelde documenten). De Opendoc-standaard, waarvan reeds een op Corba gebaseerde implementatie beschikbaar is, vormt de belangrijkste kandidaat voor het realiseren van de gebruikersinterface-services. Opendoc ondersteunt documenten die zijn opgebouwd uit sub-documenten van verschillende types (tekst, graphics etcetera). Binnen de Task Force ‘Common Facilities’ zijn op dit moment tevens initiatieven gestart om common facilities te ontwikkelen voor ondermeer het bewerken en beheren van gis-gegevens (geografisch informatiesysteem).
Elk toepassingsgebied
De Object Services zijn verzamelingen van low-level systeemservices die een grote mate van herbruikbaarheid kennen voor in principe elk willekeurig toepassingsgebied. De Object Services bestaan uit meerdere delen. De eerste twee Coss-delen (Common Object Service Specification) zijn reeds gestandaardiseerd en beschreven.
Coss 1 bestaat uit vier onderdelen. Lifecycle betreft het realiseren en opruimen van objecten. Bij naming gaat het om het afbeelden van namen op object-referenties (telefoongids). Event notification is gericht op het registreren en aanmelden van gebeurtenissen. Persistence betreft de opslag en het beheer van objecten na gebruik.
Coss 2 bestaat eveneens uit vier onderdelen. Relationships betreft relaties en het bewaken van relaties tussen objecten. Transactions is bestemd voor de combinatie van Oltp en gedistribueerde objecten. Concurrency control is gericht op het beheer van concurrent execution in een gedistribueerde omgeving. Bij externalization gaat het om opslag en initialisatie van objecten op en vanaf verwijderbare media.
Op dit moment zijn Coss 3 (Security en Timing), Coss 4 (Query, Licensing en Properties) en Coss 5 (Trader (gouden gids), Collections en Change Management) in ontwikkeling. Coss 3 en 4 worden naar verwachting nog dit jaar gepubliceerd.
Rechtstreeks communiceren
De objecten in de Oma (object management architectuur) communiceren met elkaar op basis van een taal die in de Corba-standaard is vastgelegd. Op basis van de reeds bestaande standaarden 1.1 en 1.2 is al in 1994 versie 2.0 van deze ‘Common Object Request Broker Architecture’ gedefinieerd.
Corba 2.0 omvat ten eerste de IDL (Interface Definition Language), een taal om de interface van een object op een hardware- en software-onafhankelijke manier te beschrijven. Een objecttype ‘bank’ met als attribuut ‘naam’ bijvoorbeeld wordt beschreven als interface bank {.. readonly attribute Naam char; … }. Ten tweede kent Corba 2.0 een IDL-binding voor de programmeertalen C, C++ en Smalltalk, en een protocol voor de samenwerking tussen orb’s van verschillende leveranciers.
De bindingen voor C, C++ en Smalltalk zijn reeds gestandaardiseerd. Voor Ada en Cobol zijn taalbindingen in ontwikkeling. Een taalbinding zorgt ervoor dat vanuit de programmeertaal rechtstreeks gecommuniceerd kan worden met elk ander objecttype waarvan de interface met behulp van de IDL-taal beschreven is. Figuur 3 laat zien hoe objecten die in verschillende talen geïmplementeerd zijn via de IDL-taal en de orb met elkaar kunnen communiceren.
Ontwikkelingen zoals hier beschreven vinden veelal plaats in zogenaamde Task Forces. Naast de reeds genoemde Task Forces ‘Common Facilities’ en ‘Object Services’ is een Task Force ‘Orb’ actief. Deze houdt zich op dit moment bezig met onder andere de interoperabiliteit van Ole/Com en Corba-technologie. De onlangs opgerichte Task Force ‘OOA/D’ houdt zich bezig met de interoperabiliteit van verschillende OOA/D-methodieken. Op dit moment maken ondermeer de volgende auteurs deel uit van deze groep: Booch, Jacobson en Coad & Rumbaugh.
Een complete infrastructuur
De Oma is een generieke architectuur die voor verschillende domeinen valt toe te passen. De domeinspecifieke invulling en toepassing van OMG-technologie vondt tot nu toe plaats in een zogenaamde Special Interest Group. Op dit moment zijn de volgende groepen actief: Finance, Telecommunicatie, Gezondheidszorg, Industrie, Internet, ‘End user’, Business Objects, Pcte en Security.
De inbreng van deze groepen in het standaardisatieproces was tot nu toe gering. Dit gaat echter veranderen. Figuur 2 toont een uitbreiding (vertical domain specific interfaces) van de ‘object management architectuur’ die de mogelijkheid biedt om domeinspecifieke standaarden te definiëren. De nieuw op te richten Domain Task Forces zullen zich bezighouden met bijvoorbeeld de specificatie van domeinspecifieke raamwerken. De Special Interest Group ‘Finance’ is inmiddels al gepromoveerd tot Domain Task Force.
Op dit moment zijn verschillende industriële consortia al bezig om standaarden te definiëren voor gedistribueerde gegevensverwerking. Veelal gebruiken ze OMG-technologie als basis en zijn ze indirect betrokken bij OMG-ontwikkelingen via de Sig’s. Voorbeelden van dergelijke consortia zijn: Tina-C in de telecommunicatie-industrie en Sematech in de semi-conductor industrie. Een belangrijke gebruiker van Corba-technologie is tevens het Opendoc-consortium.
Het Sematech-consortium heeft bijvoorbeeld op het niveau van een bedrijfstak zowel een groot aantal bedrijfsobjecten als de manier waarop deze kunnen samenwerken gedefinieerd. Deze verzameling objecten vormt een raamwerk dat als basis dient voor het inrichten van een complete infrastructuur. Bestaande applicaties kunnen in deze omgeving geïntroduceerd worden door de integratie met een specifiek objecttype te realiseren.
Demonstratie
Op dit moment zijn al meer dan veertien produkten die voldoen aan Corba beschikbaar. Tijdens de in Augustus 1995 gehouden Object World in San Francisco werd een geïntegreerde demonstratie gegeven op basis van veertien produkten die voldoen aan Corba 2.0. De verschillende implementaties van Corba 2.0 bevatten veelal ook reeds een implementatie van de Coss 1 en 2 services.
Belangrijke spelers in deze markt zijn: Orbix van Iona, Dsom van IBM, Neo van Sun, Orb Plus van Hewlett-Packard en Objectbroker van Digital. Corba-implementaties worden gebruikt door bijvoorbeeld Boeing om een Cime-omgeving te realiseren of om satellieten met grondstations te verbinden (Motorola). De OMG www-server (http://www.omg.org) bevat een groot aantal referenties van gebruikers van Corba in diverse bedrijfstakken.
Ir Jan van Putten is directeur van TurnIT
LITERATUUR
Corba: Architecture and specification. Augustus 1995.
Corbaservices. April 1995.
Corbafacilities. Augustus 1995.
OMG INFORMATIEDAG
Op 27 februari 1996 organiseert LogOn/OMG de eerste OMG informatiedag (Amsterdam, Dorint Hotel Badhoevedorp). Diverse orb-leveranciers (‘object request broker’; HP, IBM, Digital, Sun en Altair Automation/Orbix) geven een overzicht van ondermeer de ontwikkelomgevingen die bovenop Corba gerealiseerd zijn en hoe Corba te gebruiken is in combinatie met Internet-technologie. Daarnaast zijn er gastsprekers van Corba-eindgebruikers (Shell en KPN) en presentaties van OO/Corba-consultancybedrijven (Kiss en TurnIT). Informatie: telefonisch via de hot-line (00 49 6173 2852) van LogOn, de OMG-vertegenwoordiger voor Centraal Europa, of TurnIT (0252-221423), of via e-mail (Roberto_Zicari@omg.org of turnit@nedernet.nl).