Met name cio’s en ict-architecten komen steeds vaker voor de vraag te staan ‘.Net of J2EE?’. Deze vraag is niet eenduidig te beantwoorden. Maar op basis van welke feiten moet er dan een beslissing worden genomen? Ruwweg zijn er drie invalshoeken die van belang zijn bij het maken van een eventuele keuze: de bedrijfsmatige invalshoek, die van de basis-it en die van de ontwerper. Consultant Tommes Snels belicht allereerst de bedrijfsmatige invalshoek.
Basisvragen bij keuze J2EE en/of .Net Welke talen en tools beheersen de eigen ontwikkelaars en de eigen beheerders? Kies de richting die de laagste leercurve tot gevolg zal hebben, en daarmee de laagste kosten. Welke hulpmiddelen biedt het platform, die implementatie en onderhoud vergemakkelijken voor uw situatie? Kies het platform met de meest uitgebreide set, die bovendien het best past bij de manier waarop de organisatie gewend is met (technische) implementaties en het uitvoeren van onderhoud om te gaan. Zijn alle elementen die je nodig hebt of denkt nodig te hebben nu al voorhanden – en niet in alpha of beta? Kies voor het platform dat het meeste biedt. Is het echt noodzakelijk applicaties of services te schrijven die op computers moeten draaien anders dan Windows gebaseerd? Veel grote bedrijven draaien Unix op hun backend servers, dus dit is eerder een ‘standaard’ dan Windows voor grote bedrijven. Moet de applicatie of service dus op een Windows-platform draaien of is een ander platform gewenst? Is er een grote variëteit aan (pakket)oplossingen en middleware van verschillende leveranciers gepland en nodig? Kies voor de omgeving die het sterkst is op het gebied van integratie van een groot aantal oplossingen van verschillende leveranciers. Op welke manieren zullen de eindgebruikers de applicaties benaderen? Meerdere “client devices” voorzien? Kies de omgeving die hier de beste oplossing voor biedt. Welke serverplatformen zijn reeds aanwezig? Voor nieuwe platformen moet ook nieuwe beheerervaring worden opgedaan. |
Bij zowel .Net als J2EE (Java 2 Enterprise Edition) vindt de discussie plaats rondom het ‘framework’. Dat bevat alles wat nodig is om een applicatie of systeem te ontwikkelen ter ondersteuning van bedrijfsmatige processen. Want daar gaat het uiteindelijk om: hoe goed ondersteunt ict de bedrijfsvoering? En in hoeverre is deze bedrijfszeker en schaalbaar? Is de ict veilig, blijft ze werken, worden de bedrijfsprocessen goed en snel genoeg ondersteund, biedt ze voldoende mogelijkheden om uit te breiden of in te krimpen of nieuwe producten of diensten op de markt te introduceren, geeft ze voldoende managementinformatie – voorraadstanden, financiële posities, leveranties, …? En hoe hoog zijn de kosten eigenlijk?
De frameworks zijn een grote verzameling standaardfunctionaliteit. Programmeertalen worden gebruikt om deze functionaliteit aan te spreken. Denk bijvoorbeeld aan systeemonderdelen, zoals geheugen, files op de harde schijf, systeembestanden of zelfs een database-server op een andere machine. Het framework maakt deze functionaliteit eenvoudig toegankelijk voor de software-ontwikkelaar.
Het vergelijken van frameworks speelt zich af op een groot aantal niveau’s: hoe rijk is de geboden functionaliteit, welke partijen zorgen voor aanvullingen en nieuwe functionaliteit, welke hulpmiddelen zijn er voor de ontwikkelaars voorhanden (integrated development environments, ide)
Wat onderscheidt .Net nu van J2EE? Er is een enorme hoeveelheid informatie beschikbaar over vergelijkingen van het .Net-framework met J2EE, en – op detailniveau – de vergelijking tussen de programmeertalen C# en Java. Allemaal bijzonder interessante materie, al valt er af en toe een neiging te bespeuren naar academische, bevooroordeelde onderzoeken. Waarom niet gekozen voor een eenvoudige zienswijze: business, it en ontwikkeling in het bijzonder?
Beeld van de organisatie
In feite draait het om de tweeledige vraag: moet je kiezen tussen beide en zo ja, op basis waarvan bepaal je de keuze? In de automatisering zijn we al jaren bezig om alles op een dusdanig abstractieniveau te krijgen – of het nu gaat om de keuze voor een contentmanagement-pakket of de bepaling van een volledige infrastructuurarchitectuur – dat het maken van keuzes zo eenvoudig mogelijk wordt. De in de tabel weergegeven vragen zijn dan ook een resultante van dit streven en zullen een grote diversiteit aan bedrijven helpen bij het beantwoorden van de vraag of het ‘of’ of ‘en’ wordt – de keuze voor ofwel J2EE ofwel .Net, of beide!
Na beantwoording van de vragen zal niet direct één van de twee uit de bus rollen. De antwoorden kunnen wel richtinggevend zijn. Maar laten we de allerbelangrijkste vraag niet uit het oog verliezen: waar heeft de bedrijfsvoering de komende jaren het meest behoefte aan? Daarbij spelen strategische beslissingen op het gebied van infrastructuur, gebruik van externe krachten en niet te vergeten toekomstige ontwikkelingen op het gebied van integratie van de bedrijfsvoering met ‘ketenpartners’: leveranciers, klanten, concurrenten, complementaire organisaties.
Het allerbelangrijkste is dan ook om een zo goed mogelijk beeld te krijgen van de manier waarop een organisatie nu in elkaar steekt, en vooral de wijze waarop de organisatie in de toekomst zal moeten functioneren. En laat nu niemand een werkende glazen bol bezitten…
De kunst van het meebewegen…
Organisaties willen flexibel opereren. Dat heeft elke zich respecterende dienstverlener de afgelopen jaren gepredikt. Of het nu om ’the agile enterprise’, adaptiviteit of anderszins gaat: de kern zit ‘m in een doordachte bedrijfsarchitectuur. En die leidt uiteindelijk ook tot die doordachte it-architectuur, waarmee in de toekomst een veelheid aan diensten kan worden aangeboden en ondersteund. Het gaat niet zozeer om de tools, maar om de adaptieve architecturen die helpen om soepel mee te bewegen in de vaak onverwachte fluctuaties van het zakelijke ecosysteem. Denk alleen al aan de noodzaak om razendsnel nieuwe toepassingen te ontwikkelen of bestaande systemen te koppelen met andere systemen, vaak ver buiten de eigen bedrijfsgrenzen. Of het integreren en stroomlijnen van processen, niet alleen binnen de eigen organisatie maar vooral in de samenwerking met andere marktpartijen. Het gaat erom een fundament te creëren dat het mogelijk maakt om te gaan met toekomstige ontwikkelingen. Dan hebben we het niet meer over specifieke tools of ontwikkeltalen, maar om zaken als interconnectiviteit, stabiliteit, snelheid van aanpassen, buigen en niet barsten. Dan gaat het om het toepassen van technologie waar die het best voldoet, onder een doordachte, stabiele en tegelijkertijd beweeglijke it-architectuur. De vraag ‘wordt het .Net of J2EE?’ is dan minder en minder relevant. Sterker nog, de vraag zal meermalen terugkomen, en een relatief en tijdelijk karakter krijgen. Want de feiten (uit alle invalshoeken) tonen aan dat er geen winnaar is en dat die binnenkort ook niet te verwachten valt- onvoorziene ontwikkelingen op het gebied van infrastructuur daargelaten.
Wat in ieder geval niet vergeten mag worden, is dat zowel .Net als J2EE bijzonder goede oplossingen kunnen bieden voor de geautomatiseerde ondersteuning van de bedrijfsvoering. De kneep zit ‘m in de kleine dingen.
In een volgend artikel meer over de andere invalshoeken.
Tommes Snels, Cap Gemini Ernst & Young