Middleware wordt wel gezien als de lijm tussen alle componenten in de IT-infrastructuur. Het plakt alle verschillende applicaties, databases en machines aan elkaar, zodat ze met elkaar kunnen praten. Het is de conceptuele laag die idealiter alles met elkaar verbindt. Maar de IT-industrie blijkt na de beloftes van de ‘standaarden’ Unix en SQL wederom niet in staat om een standaard, in dit geval een ‘applicatie-protocol’, te fabriceren.
De Paradox van de Strijd Aanbieders vechten zich dood op de markt van bedrijfssystemen. NT, Unix, Netware. Sparc, Intel, Alpha. Oracle, SQL Server, DB2. Oorlog dus, en dan met name een publicitaire oorlog. Maar klanten relativeren, en dat doen ze al tijden. Die weten dat je systemen door elkaar moet kunnen gebruiken. Exclusiviteit, daar houden ze niet zo van. Die boodschap begint nu door te dringen. Verslaggevers Jasper Bakker en Roy op het Veld verkennen het slagveld en de strijdende partijen. En krijgen uitleg over de Paradox van de Strijd. |
Inmiddels lijkt aan de groei van de softwaregigant geen einde te komen. Het softwarebedrijf heeft voor toekomstige groei de begerige blik gericht op grote klanten. IBM, Oracle en Sun zetten tot voor kort nog de technologische trend en keken smalend naar de verwoede pogingen van de grote concurrent om ‘serieuze’ software te bouwen. Het bedrijf van Bill Gates begint echter langzaamaan een voet tussen de deur te krijgen bij de grote industriële bedrijven, dienstverleners, telecommunicatiebedrijven en financiële instellingen. Niet dat nu de kernsystemen van de ABN Amro, die het internationale betalingsverkeer afhandelen, in Visual Basic ontwikkeld zullen worden en op Windows NT gaan draaien. Maar de opmars van Microsoft betekent wel dat banken het gevoel hebben het bedrijf niet links te kunnen laten liggen. Bovendien biedt het gebruik van Microsoft-technologie prijsvoordelen, de Windows-interface en de voordelen van ondersteuning en training.
Volwassen en open
Van zijn kant werkt Microsoft hard aan het volwassener maken van zijn producten. Het bedrijf stuurt dit proces op basis van kritische opmerkingen van klanten. Een houding die zeer wordt gewaardeerd. Naast dit volwassen worden, dat overigens ook voor concurrerende technologieën opgaat, heeft het bedrijf nog een andere strategische beslissing genomen: openheid. Tegenwoordig laat Microsofts middleware koppelingen met mainframe- en Unix-systemen toe – niet dat het deze combinaties met vreemde technologieën stimuleert, maar het is mogelijk. De softwaregigant heeft begrepen dat het niet kan overleven met technologie die niet open is. Bij grote klanten, in de ‘big league’ van de IT-industrie, waar complexe en heterogene IT-infrastructuren gemeengoed zijn, is openheid een eerste vereiste.
De laatste jaren heeft Microsoft een heel gamma van middleware-producten op de markt gebracht. Niet alleen Com (Component Object Model), MTS (Microsoft Transaction Server) en MSMQ (Microsoft Message Queing) behoren tot de middlewareproducten van deze leverancier. Ook Active X en Ole (Object Linking and Embedding) bevatten middleware-aspecten. Hoewel de scheiding niet altijd even duidelijk is; een Active X-component bevat in de eerste plaats applicatiecode. Onder Com+, de nieuwste naam voor dit objectmodel, vallen ook Dcom en Com, verschillende versies of uitingsvormen ervan. Om verdere spraakverwarring te voorkomen is dus alle middleware van het bedrijf gebundeld. Er wordt naar verwezen met de verzamelterm Com+. Dit objectmodel is overigens niet als ‘losse’ technologie verkrijgbaar, zij wordt geïntegreerd met Windows NT 5.0.
Met het geïntegreerde Com+ verdwijnen dus alle andere termen als MSMQ en MTS. Tot nu toe heeft Microsoft deze termen fanatiek gebezigd om indruk te maken op de markt en het enterprise-gehalte van zijn software aan te dikken. Ook het technologische onderscheid tussen de verschillende Windows NT-versies zal verdwijnen; alle beschikken over Com+. NT Workstation levert dezelfde platform-diensten als NT Enterprise Edition.
De planning rond integratie van Com+ in NT is overigens nog enigszins vaag. In de tweede bèta-versie van NT 5.0 is deze bundel middleware reeds geïntegreerd met het besturingssysteem. Daarnaast komt er in de toekomst, de exacte periode is nog niet bekend, een service-pack voor NT 4.0 op de markt waarin ook Com+ is opgenomen.
Com+ is de natuurlijke evolutie van Com en MTS. MTS levert diensten aan Com-objecten zoals transacties en beveiliging. MTS is de productieomgeving waarin de Com-objecten schaalbaar en gedistribueerd kunnen draaien, aldus Microsoft.
Ontwerp als twistpunt
Een belangrijk twistpunt in de IT-industrie is of systemen beter stateless of statefull ontworpen kunnen worden. MTS kan wel degelijk met ‘statefull’-concepten werken, waarbij van elk object dat in gebruik is de connectie bewaard moet blijven. Dat kost veel geheugen en andere middelen en heeft dus een negatieve invloed op de schaalbaarheid. Schaalbare gedistribueerde applicaties worden dus met een ‘stateless’-model gebouwd. Dit is geen zuivere objectgeoriënteerde benadering, omdat hierbij de data niet geëncapsuleerd wordt door de applicatielogica. Alleen kleine omgevingen zijn met praktische criteria ‘statefull’ te bouwen. Op het moment dat de status (‘state’) van objecten wordt bewaard (en dus ook wordt beheerd) dienen zich onvermijdelijk de grenzen van het systeem aan. Dit is overigens een fenomeen dat ook bij technologieën van concurrerende leveranciers speelt. Het is een ontwerp-aspect.
MTS is echter voor kleine omgevingen wel degelijk interessant, omdat het bovenop de standaard diensten van NT en Com beveiligingsdiensten voor applicaties levert. Niet onbelangrijk zijn de MTS-diensten om applicaties in productie te brengen. Als men zonder MTS Com-objecten moet registreren over het netwerk is dat geen eenvoudige zaak; instellen van het register van het besturingssysteem en van beveiligingsaspecten vereisen nogal wat kennis en ervaring. Met MTS kan een ontwikkelaar alle objecten op een enkele server registreren en een executable, een uitvoerbaar programma, genereren. Dit programma is op de bureaumachine te installeren. Vaak is dit al reden genoeg om MTS-middleware te gebruiken.
Communicatiemodellen
Naast de OO-discussie over ‘stateless’ en ‘statefull’ spelen voor de complexe en grote IT-infrastructuren nog andere belangrijke zaken. Overigens moet in de grotere omgevingen voor de ‘stateless’-optie gekozen worden. MTS kan eigenlijk alleen maar toegepast worden in een relatief simpele lan-omgeving (local area network). Als toepassingen dusdanig omvangrijk worden dat er verschillende systemen op verschillende locaties bij betrokken zijn, dan is een synchrone MTS-oplossing onwerkbaar. Het kan dan lang duren voordat een transactie, waarbij gegevens uit verschillende netwerken nodig kunnen zijn, afgerond wordt. Grote systemen moeten gelijktijdig honderden, zo niet duizenden transacties kunnen verwerken. Een synchrone oplossing leidt dan steevast tot trage systemen. Op zo’n moment komen andere communicatiemodellen in beeld. Bijvoorbeeld MSMQ, dat gebaseerd is op een asynchroon model. Afhankelijk van de omvang en het type toepassingen wordt op deze manier voor bijpassende technologieën gekozen.
Com+ maakt dit verhaal eenvoudiger. Voorheen moest na de keuze om MTS te gebruiken deze technologie expliciet geïnstalleerd worden en moesten objecten twee keer geregistreerd worden (voor Com en voor MTS). Com+ standaardiseert deze narigheid. Er bestaat nog maar één soort object, en dat is het Com+-object. In dat object kunnen via de oude vertrouwde Microsoft-methode functionaliteiten voor objecten worden aangevinkt: transacties, asynchroniteit, beveiliging, of andere diensten. ‘Check in the box.’ Com+ is de lijm voor Microsofts DNS (Digital Nervous System).
Vier componenten
Toepassing van deze technologie in de bovenkant van de markt bemerkt Microsoft vooral bij de top-50 van de Nederlandse bedrijven. Er zijn, op basis van Com en MTS, enkele specifieke implementaties in Nederland, geschreven in VB (Visual Basic). Bij deze eerste implementaties moet niet gedacht worden aan de supergrote systemen, waar 30.000 of 40.000 clients aan MTS hangen. Pilot-projecten wil Microsoft ze niet noemen, omdat het wel degelijk productiesystemen zijn.
Geen reserveringssysteem van een luchtvaartmaatschappij bijvoorbeeld, maar wel een Internet-applicatie met een gateway naar een IBM-mainframe, waarmee vaste klanten aan een spaarsysteem kunnen deelnemen. De architectuur bestaat in dit praktijkvoorbeeld uit vier componenten. De eerste is het mainframe, waar de gegevens op ressorteren. Daarvóór staan twee NT-machines met MTS en Com-objecten. De derde component is een IIS (Internet Information Server) die de communicatie tussen de Windows-applicatie en de eindgebruiker afhandelt. Die eindgebruiker (onderdeel vier) heeft uitsluitend een browser nodig om de centrale applicatie te kunnen gebruiken. Die gebruiker kan niet alleen kijken hoeveel spaarpunten op zijn rekening staan, maar ook aankopen melden zodat zijn spaarpunten bijgeboekt worden. De Microsoft-applicatie kan dus in een heterogene infrastructuur transacties uitvoeren via Internet. De site krijgt enkele honderden hits per dag te verwerken. De twee NT-servers staan er niet voor de schaalbaarheid, maar voor de failover (als één van de twee machines uitvalt, neemt de andere het over). De applicatie zou in principe ook met één server toe kunnen.
Een tweede voorbeeld van een Microsoft-applicatie in de bovenkant van de markt is een call-centersysteem, waar honderden medewerkers vragen beantwoorden over facturen, aansluitingen, etcetera. Ook dit systeem is gebouwd in VB op basis van Com en MTS. Klanten kiezen er volgens Microsoft voor om met dergelijke technologie systemen te bouwen, omdat met de interoperabiliteit ervan informatie ontsloten kan worden die op mainframe- of Unix-systemen resideert. Mainframe-gegevens in een Windows-applicatie dus. De informatie op die ‘oude’ systemen is vaak bedrijfskritisch en men waakt er wel voor om die in een te vroeg stadium op NT over te zetten. Mocht dat al ooit de bedoeling zijn, want ook Unix- en mainframetechnologie ontwikkelen zich in een hoog tempo.
Interoperabiliteit
Veel gebruikers tasten de mogelijkheid af om combinaties te maken met erp-software van bijvoorbeeld SAP of Baan. Zo is er volgens Microsoft een ministerie dat bekijkt of in aanvulling op R/3 een soort virtueel loket te bouwen is. Het gaat dan in de eerste plaats om het bouwen van een Windows-interface, zodat eindgebruikers niet tegen het ‘lelijke’ SAP-scherm hoeven aan te kijken.
Ook Baan, dat een trage schermopbouw vanuit de database kent, noemt de eigen software als voorbeeld van een systeem waarop het goed bouwen is met Microsoft. Een enkel interface kan toegang bieden tot informatie uit verschillende typen backoffice-applicaties. De samenwerking komt van twee kanten. Niet alleen doet Microsoft zijn best om erp-software te ontsluiten, ook de erp-leveranciers zijn bezig met de aansluiting naar Com-objecten. Erp-omgevingen kunnen dan makkelijker uitgebreid worden met Com-servers.
Interoperabiliteit, de communicatie tussen de eigen en niet-Microsoft omgevingen, is een absolute noodzaak voor Gates’ bedrijf om vaste voet aan de grond te krijgen in de ‘enterprise market’, zoals deze markt ook wel genoemd wordt. Inmiddels is met een aantal producten koppeling met andere systemen mogelijk. Met Com TI (Transaction Integration) bijvoorbeeld heeft een Microsoft-applicatie toegang tot Cics/IMS-systemen, een belangrijk deel van IBM’s mainframes. Daarnaast is het bedrijf bezig met ‘Com on Unix’, dat deels is ontwikkeld door Software AG. Dit bedrijf levert Com-diensten op Unix-systemen. Het product, voor Sun Solaris en HP-UX, komt tegen het einde van het jaar op de markt. Daarmee kunnen volgens Microsoft de belangrijkste platformen gebruik maken van de integratiefaciliteiten.
Over andere Unix-platformen bestaat nog geen duidelijkheid. Verder dan koppelingen met IBM-mainframes en Unix-systemen gaat het bedrijf voorlopig niet. Op dit moment constateert het bedrijf bijvoorbeeld dat er nog te weinig vraag is naar een interface met Tuxedo van Bea Systems. Wel werd Level 8 ontwikkeld, een koppeling tussen het asynchrone MSMQ en MQSeries van IBM, dat de asynchrone middleware-markt domineert. Dit betekent dat applicaties in mainframe- en NT-omgevingen berichten naar elkaar kunnen sturen.
Tot slot ondersteunt MTS het XA-protocol, een Unix-communicatiestandaard van de X Open Group. Dit is voornamelijk bedoeld voor het gebruik van meerdere databases dan de eigen SQL Server. X Open databases, om te beginnen Oracle, maar later ook andere als Sybase zijn dan via MTS-applicaties te benaderen. Het voorbeeld van het ‘call center’ dient hier weer als referentie. Dit is één van de grootste MTS-installaties in Nederland, die een Oracle-database op Unix gebruikt.
Rol van ERP
Erp-leveranciers Baan en SAP spelen een grote rol in de ontwikkeling van ‘open Microsoft’-technologie. Baan levert bijvoorbeeld historisch gezien veelal software voor Solaris, maar ook voor HP-UX. Het heeft er belang bij dat er goede integratiemechanismen bestaan tussen de verschillende commerciële platformen waarop zijn software draait. Momenteel neemt Windows NT een steeds dominantere positie in en Baan verwacht volgend jaar zelfs 60 procent van zijn nieuwe contracten af te sluiten op basis van Windows NT. Vooral de complexe installaties draaien met meerdere servers en verschillende platformen. Baan heeft net als andere softwareleveranciers ontwerpspecificaties opgesteld voor ‘Com on Unix’. Ook SAP hanteert communicatieprotocollen tussen softwarecomponenten op basis van Com.
Java/Corba als alternatief
Het veel bejubelde alternatief Java/Corba blijkt in de praktijk nog onvoldoende uitgekristalliseerd om systemen te bouwen met een hoog prestatieniveau. Bovendien zijn er teveel partijen betrokken bij deze ontwikkeling, waardoor consensusvorming lang duurt en de verschillende leveranciers in de tussentijd voor hun eigen dialecten en implementaties gaan kiezen. Deels uit technologische overtuiging, maar ook vanwege het afschermen van de eigen markt. Volledige openheid zet voor klanten de weg naar de concurrentie wagenwijd open. Dit staat standaardisatie in de weg. Hoewel de boodschap van Noise (een term van onderzoeksbureau Gartner Group dat daarmee de anti-Microsoft alliantie op het gebied van IT-architectuur aanduidt) gelijkluidend is, blijkt de interne verdeeldheid groot te zijn. De alliantie wordt gevormd door Netscape, Oracle, IBM, Sun en andere.
De industriestandaard is het wapen in de strijd tegen de overheersing van Microsoft. Gezamenlijk zou de Java/Corba-alliantie gezien hun marktpotentieel wellicht ook sterk en krachtig genoeg zijn. De drang om de standaard te domineren is voor de deelnemers te groot, waardoor de technologische voorsprong ten opzichte van Microsoft langzaam maar zeker kleiner wordt zo niet reeds verdwenen is. De IT-industrie blijkt na de beloftes van de ‘standaarden’ Unix en SQL wederom niet in staat om een standaard, in dit geval een ‘applicatie-protocol’, te fabriceren. SQL moest de standaard vraagtaal voor databases worden. Hoewel de onderliggende algebra hetzelfde is, functioneert een Oracle SQL-statement niet op een Informix-database en andersom.
Protocol krijgt steun
Omdat Microsoft de last van politieke consortia niet hoeft te dragen, kan het in alle rust zijn eigen IT-architectuur ontwikkelen zonder noemenswaardige inhoudelijke bemoeienis van buitenaf. Het integreert nu zijn middlewareproducten en stelt deze open voor andere technologieën. Volgens de visie van Microsoft is Com+ de ware standaard. En zolang steeds meer softwareleveranciers het protocol gaan ondersteunen, lijkt het bedrijf daar ook gelijk in te krijgen. Alle Com-objecten kunnen met elkaar praten, of er nou Baan, SAP of een andere applicatie achter zit. De strategie van Microsoft staat of valt met de steun van applicatieleveranciers. Baan, maar vooral SAP zijn natuurlijk niet de onbeduidendste. Hoewel SAP een duidelijk tweesporenbeleid voert en ook hard werkt aan integratiemogelijkheden via Java/Corba. De keus ligt dus, zoals het hoort, bij de klant. Die heeft een alternatieve keuze. Helaas is het echter nog zo dat twee willekeurige Corba-objecten niet zondermeer met elkaar kunnen communiceren. Deze technologie zit nog op het niveau van SQL.
Jasper Bakker en Roy op het Veld, redacteuren