"Er wordt vaak naar XML gewezen, maar dat levert geen overdraagbaarheid. Java daarentegen is heel overdraagbaar, maar kan niet goed samenwerken. Model Driven Architecture (MDA) heeft beide eigenschappen, en werkt met standaarden die UML afbeelden op .Net, Corba, Web Services, Cobol, noem maar op". OMG-voorzitter Richard Soley toert door Europa en geeft informatie over de nieuwste standaard voor software-ontwerp.
‘Onlangs zijn we met vijf standaardisatiegroepen bij elkaar gekomen om onze mogelijkheden tot samenwerking (‘interoperability’) eens te bespreken," vertelt Richard Soley. Hij is voorzitter van de Object Management Group die standaarden beheert als de Unified Modeling Language (UML), de Common Object Request Broker Architecture (Corba) en het Common Warehouse Metamodel (CWM). En, niet te vergeten, talloze sectorstandaarden voor telecommunicatie, gezondheidszorg, industrie, transport, financiën en verzekeringen, elektronische handel, levenswetenschappen en nutsbedrijven. De OMG heeft inmiddels 800 leden en is daarmee de grootste particuliere standaardisatieorganisatie in de wereld.
"Maar," zegt haar voorzitter, tevens ‘chief executive officer’, "we meten ons succes niet af aan ons aantal leden. Het gaat erom dat onze standaarden gebruikt worden."
De nieuwste daarvan is de MDA (Model Driven Architecture) standaard voor softwareontwerp.
Deze gaat uit van één enkel Platform Independent Model (PIM) en eventueel meerdere Platform Specific Models (PSM). Het idee is dat een PSM in de loop der tijd vervangen kan worden als er een betere technologie opduikt; de PIM wordt verondersteld een veel langere levensduur te hebben.
Zo’n twintig jaar, zo geeft Richard Soley aan in zijn presentatie op de OMG Information Day. We ontmoeten hem in dat kader op 5 Februari 2002 in Schiphol-Rijk. De volgende dag spreekt Soley in Brussel, de daaropvolgende in Parijs en vrijdag is Madrid aan de beurt. In drie blokken van een week doet de OMG Informatie Dag veertien Europese steden aan. Het toenemend belang van Oost-Europa valt af te lezen uit de opname van Boedapest en Praag in het programma.
Op deze dagen staat de MDA centraal, en een tiental bedrijven geeft presentaties over toepassingen of heeft een stand op de bijbehorende tentoonstelling.
Was het niet de bedoeling dat middleware platformonafhankelijk zou zijn? Wat voegt de Model Driven Architecture dan toe?
Het probleem met middleware is dat je ten eerste een karakteristieke laag toevoegt en, ten tweede, daarmee overhead-kosten introduceert. De oplossing is om het model het interface te laten specificeren en vervolgens de code te laten genereren door tools.
Traditioneel werd er eerst een model gemaakt dat dan naar de ontwikkelafdeling werd gestuurd, die het vervolgens niet gebruikte. Bij MDA is het model een echt product (‘deliverable’).
Het werkt door UML af te beelden op specifieke omgevingen zoals .Net, Corba, Web Services, Cobol, enzovoort. Daarvoor maakt de OMG standaarden, die bedrijven dan kunnen implementeren in tools waarmee automatisch code kan worden gegenereerd.
Met UML kun je op een volledig gestandaardiseerde manier een model beschrijven en er zijn al duidelijke successen geboekt met MDA in de praktijk. De bank Wells Fargo heeft het toegepast voor de verbinding van ‘front-ends’ met hun mainframe ‘back-end’. Lockheed Martin heeft de vluchtcontrolecomputer van de F16 volledig gemodelleerd in UML en van daaruit de implementatie gerealiseerd. De Oostenrijkse spoorwegen zijn het aan het toepassen.
De OMG-standaarden zijn gestructureerd volgens vier lagen. Onder laag M0 vallen de applicatiemodellen. Daarboven heb je metadata in laag M1. Vervolgens krijg je dan de metamodel-laag M2 en daarbovenop nog eens de metameta-model laag M3. Kunt U dit wat toelichten?
Wel, laag M3 met de Meta Object Facility (MOF) is de sleutel van alles maar gebruikers hebben alleen te maken met M0 en M1.
De laag M0 is het applicatiemodel met de gebruikte termen en begrippen. Laag M1 is dan de taal van het model met onder meer de ’typen’ van de in M0 gebruikte termen.
In laag M2 krijg je de taal die je gebruikt voor de taal uit M1. In die laag zitten de specificatie van de Unified Modeling Language en het Common Warehouse Metamodel. Om die nu weer te beschrijven heb je tenslotte de MOF in laag M3.
Als gebruiker heb je daar niets mee te maken, behalve dat het handig is om te weten dat – als een tool de MOF ondersteunt – dan ook UML en CWM met die tool verenigbaar zijn.
‘Datawarehousing’
CWM is een vrij recente OMG-standaard waar je niet zoveel over hoort. Is ‘datawarehousing’ nog wel zo belangrijk?
Anderhalf jaar geleden is de Meta Data Coalition met ons samen gaan werken en nu is de CWM de enige standaard voor gegevenspakhuizen. Het wordt ondersteund door Hyperion, IBM, Rational, Oracle en anderen. Een echt succesvolle standaard is zo wijdverbreid dat hij als contrast haast onzichtbaar wordt. Zeker is ‘datawarehousing’ nog belangrijk. Denk maar aan een fusie of overname met twee bedrijven die verschillende databases gebruiken. Juist om die te kunnen verbinden is CWM van belang. Om nog eens op het voorafgaande terug te komen: CWM valt onder M2, een algemeen model voor een pakhuis onder M1, en een applicatiemodel dat bijvoorbeeld de klantgegevens uit de twee databases correleert valt onder M0.
UML is zo’n beetje het vlaggenschip van de OMG-standaarden, maar hoe staat het met Corba?
Corba is ook zo’n voorbeeld van een standaard die overal is doorgedrongen en daarmee enigszins uit het beeld is verdwenen. Corba is sterk gegroeid in twee markten, het topsegment van transactiesystemen en ingebedde systemen met ‘real time’.
Sabre, het grootste luchtvaart reserveringssysteem in de wereld dat 9000 transacties per seconde kan verwerken, gebruikt Corba.
Aan de andere kant heb je de ‘ingebedde’ wereld waarin nooit een enkel besturingssysteem noch een enkele programmeertaal de duidelijke winnaar is geworden. Corba brengt dat bij elkaar.
Zo hebben we de Smart Transducer Standard waarmee groepen van deze intelligente sensoren via Corba met elkaar en met het internet worden verbonden.
RT-Corba is geschikt voor de allerkleinste ‘real-time’ ingebedde toepassingen.
Het doel van alle OMG-standaarden is eigenlijk samenwerkbaarheid (‘interoperability’).
En overdraagbaarheid (‘portability’). Het gaat om samenwerkbaarheid en overdraagbaarheid. Er wordt vaak naar XML (eXtensible Markup Language) gewezen, maar dat levert geen overdraagbaarheid. Java daarentegen is heel overdraagbaar, maar kan niet goed samenwerken.
MDA is allebei, en dat bovendien op een abstract niveau dat geen extra kosten met zich meebrengt op executieniveau (‘run time).
Wordt UML in de toekomst zelf een executeerbare taal?
Een bedrijf als Kennedy Carter ondersteunt MDA nu al met executeerbaar UML. De OMG heeft een standaard om de implementatie van klassemethoden te specificeren, de Precise Action Semantics (PAS). Dat is een generieke beschrijving die je kunt gebruiken met Java, C of als je wilt Cobol.
Het project van Lockheed Martin waar ik het eerder over had, is helemaal gedaan met UML en PAS.
Als je de operaties exact kunt specificeren, ben je niet meer afhankelijk van de typen code van je implementaties.
Vooropgezet dat je de tools hebt die de vertaalslag kunnen maken.
Natuurlijk, maar dan kun je ook zonder problemen van iedere omgeving of platform gebruik maken, met je onafhankelijke model als vaste kern. Kijk, momenteel zijn er op de wereld zo’n half miljoen Java-programmeurs actief, een miljoen C-programmeurs en drie miljoen Cobol-programmeurs.
Nu vind ik zelf dat Cobol eigenlijk redelijk goed doet waar hij voor bedoeld is, maar met MDA krijg je ook een hele makkelijke manier om met Cobol te koppelen.
Je zou zelfs kunnen zeggen dat MDA een bijdrage levert om Cobol het eeuwige leven te geven.
Standaardisatie lijkt in de it een steeds belangrijker factor te worden.
Er komen meer standaarden en ook steeds meer standaardisatiegroepen. Onlangs hebben we dan ook met vijf organisaties eens gesproken over onze eigen samenwerkbaarheid. Het belangrijkste is dat standaarden ook daadwerkelijk gebruikt worden. Dat is het criterium voor succes.
Hans Van Thiel Freelance Medewerker
Meer informatie
De algemene OMG-MDA site is: http://www.omg.org/mda/ .
Het Wells Fargo-verhaal wordt beschreven door Mr. Mallia in het online seminar:
http://www.omg.org/mda/webcast/info.htm
Het Lockheed-Martin verhaal wordt toegelicht in een Powerpoint-bestand op:
http://www.omg.org/mda/mda_files/Lockheed-KC%20MDA1.ppt