Nu wereldwijd meer dan honderd ict-afdelingen het in Nederland ontwikkelde OptimalJ toepassen voor het bouwen van J2EE-applicaties is het tijd om het uitwisselen van de bij deze tool gehanteerde transformatieregels te stimuleren. Compuware start nu het forum Pattern Plaza, zodat gebruikers ‘patterns’ en andere informatie kunnen uitwisselen. Ook verdiept het concern de mda-ondersteuning (model driven architectures) door een procesmodel toe te voegen.
Het proces van applicatieontwikkeling bestaat uit een aantal stappen. Die zijn jarenlang grotendeels handmatig aangepakt. De eisen en wensen van de eindgebruikers werden verzameld en verwerkt tot formele specificaties. Op basis hiervan werd een bedrijfsmodel ontwikkeld, een architectuurontwerp gemaakt en de broncode opgesteld, waarna het geheel aan een ‘compiler’ werd overgedragen om tot uitvoerbare code te komen. Alleen deze laatste stap werd geautomatiseerd uitgevoerd.
“Natuurlijk gebruikte je ook binnen de andere stappen hulpmiddelen, een modelleertool of een ide (integrated development environment), maar de werkelijke waarde zit niet in de stappen, maar juist in de transformaties daartussen”, vertelt Edwin Schumacher. Hij is als director Product Management verantwoordelijk voor OptimalJ. Dit product is bedoeld voor het ontwikkelen van J2EE- applicaties (Java 2 Enterprise Edition).
“Juist die transformaties worden traditiegetrouw met de hand gedaan. Al blijft het vrijwel altijd noodzakelijk om achteraf met de hand nog aanpassingen te doen, met OptimalJ proberen we deze transformaties zoveel mogelijk te automatiseren. Dat doen we bijvoorbeeld bij het transformeren van het architectuurontwerp in broncode, het bedrijfsmodel in het architectuurontwerp en, semi-geautomatiseerd, de formele eisen en wensen in het bedrijfsmodel.”
Patterns
De transformaties tussen de diverse stappen heten bij Compuware ‘patterns’. Deze worden automatisch gegenereerd, maar moeten vaak door een architect of ontwikkelaar worden aangepast. Dat is uiteraard noodzakelijk bij een iteratief ontwikkelproces. Nu wereldwijd al meer dan honderd ict-afdelingen OptimalJ toepassen, is volgens Schumacher de tijd gekomen om het plan dat het concern bij de introductie ervan reeds aankondigde in werking te zetten. Het bedrijf introduceert daarom nu een uitwisselplatform voor ’transformation patterns’. “Het is lang niet altijd nodig om voor ieder stukje programmatuur zelf alle patterns te ontwikkelen. Soms is het veel handiger en goedkoper om te werken met een bestaand pattern. Dat kon al binnen ict-afdelingen. Met de komst van Pattern Plaza is nu ook uitwisseling met andere bedrijven mogelijk. Dat kunnen gratis transformatiepatterns zijn, maar ik kan me ook voorstellen dat een bedrijf een vergoeding vraagt.”
Pattern Plaza is medio juli beschikbaar als ook OptimalJ 4.0 formeel wordt vrijgegeven. Deze nieuwe versie verdiept daarnaast de ondersteuning voor mda door de introductie van een procesmodel. “Bij een procesmatig ontwikkelproces werken we allereerst met een domeinklasse-model voor het definiëren van de data die nodig is voor of geproduceerd wordt door de applicatie. Daarnaast is een domeinservice-model nodig dat iedere activiteit beschrijft die de applicatie moet uitvoeren. Daar plaatsen we nu een domeinproces-model tussen. Daarmee bieden wij de mogelijkheid om het proces- en het servicemodel zodanig te koppelen dat de volgorde van activiteiten nauwkeurig te definiëren is.” Dit procesmodel maakt overigens gebruik van ‘activiteitendiagrammen’ die zijn gebaseerd op de UML 2.0-specificatie van de OMG (Object Management Group).
Ook heeft Compuware besloten om met de introductie van versie 4.0 de ondersteuning van de open source ide Eclipse verder te verbeteren. In versie 3.2 was al een ‘plug-in’ beschikbaar gekomen. Hiermee was OptimalJ te koppelen aan Eclipse. Er zijn ook plug-ins beschikbaar voor JBuilder van Borland, IBM’s Websphere Studio Application Builder en IDEA van IntelliJ. De ondersteuning van Eclipse is flink uitgebreid. Complete OptimalJ-projecten zijn in Eclipse te importeren, er is een ‘console view’ beschikbaar, er zijn vrije en ‘guarded’ blokken zichtbaar en OptimalJ-applicaties zijn direct vanuit Eclipse te testen. Verder is het mogelijk om vanuit Eclipse met OptimalJ-workbenches te werken. Daarnaast zijn JCA-adapters (J2EE Connector Architecture) voor Cics en IMS/TM beschikbaar, en JMS (Java Messaging Service) voor wsmq (web service message queues).
Balans
Bola Rotibi, analist van onderzoeksbureau Ovum, is positief over OptimalJ. “Het product biedt mogelijkheden om in te spelen op een aantal uitdagingen waarvoor ict-afdelingen momenteel staan. Dat is allereerst het vinden van een balans tussen de eisen en wensen van ontwikkelteams en die van de afdelingen die de applicaties operationeel houden. Het wordt steeds belangrijker om grip te krijgen op de gehele levenscyclus van een applicatie. Dat is bijvoorbeeld een gevolg van de sterk toegenomen overheidsregels en allerhande reguleringen op het gebied van ‘corporate governance’. We hebben hulpmiddelen nodig die beleid kunnen afdwingen. Ook het goed beheersen van offshoring en uitbesteding in het algemeen stelt meer en meer eisen aan de tools die bedrijven gebruiken voor het ontwikkelen van programmatuur.”
Daarom stelt Ovum vijf eisen aan een moderne tool voor applicatieontwikkeling. Allereerst moet het gebruik van rollen ondersteund worden. Hierbij moet veel aandacht bestaan voor onderlinge communicatie en samenwerking. Bovendien moet een procesmatige manier van werken worden ondersteund. “Automatisering”, zo stelt Rotibi, “is essentieel om de kans op fouten te kunnen minimaliseren. Maar automatisering moet wel slim kunnen worden toegepast. Ook is het gebruik van een ‘re-use framework’ belangrijk. Het werken met patterns zoals Compuware dat voorstaat, is wat dat betreft erg interessant.”
Ten slotte is interoperabiliteit is van groot belang, ook – of misschien wel: juist – in een ‘single vendor’-omgeving. “Werken met producten van één leverancier suggereert de aanwezigheid van onderlinge uitwisselbaarheid en samenwerking. De praktijk is vaak anders. Beschikt een leverancier slechts over één ontwikkelhulpmiddel, dan speelt dit probleem natuurlijk niet. Kijk tot slot goed naar het beheer. Platformen als J2EE en .Net worden steeds complexer en daarmee ook het beheren van applicaties en projecten.”