Vier jaar geleden startte IBM met de ontwikkeling van een platform voor object-georiënteerde Java-oplossingen: Sanfrancisco. Nu is het klaar voor gebruik en een onderdeel geworden van IBM’s nieuwe benadering voor software: ‘Aplication framework for e-business’ met aanpasbare platforms voor het ontwikkelen van oplossingen in plaats van producten.
Voor IBM betekent SF niet Science Fiction maar Sanfrancisco: de merknaam van een uitgebreid aanbod raamwerken voor het ontwikkelen van toepassingen.
Oorspronkelijk was Sanfrancisco bedoeld als object-georiënteerd platform voor AS/400, de minicomputer van IBM (vroeger ‘departmental computer’ genoemd), om deze te onderscheiden van mainframes of superservers (S/390), RS/6000 Unix-computers en personal computers. Stewart Wilkinson is Emea Business Development Manager en werkt vanuit Groot-Brittannië. Wilkinson vertelt over Sanfrancisco. "Het bereik ervan is uitgebreid met diverse Unix-omgevingen (in ons geval AIX) en Windows NT. De uitbreiding naar S/390 is gepland. De strategische betekenis van Sanfrancisco wordt erkend door IBM’s topmanagement; het is onderdeel van IBM’s strategie geworden en is geïntegreerd in de Software Group, de divisies die de voor IBM belangrijkste software ontwikkelen."
Sanfrancisco bestaat al heel lang, maar wordt nauwelijks genoemd in de media. Hoe staat het er mee?
Wilkinson: "Versie 1.4 is het vierde kwartaal van 1999 beschikbaar gekomen voor AIX (IBM’s Unix), AS/400, Windows NT, Sun Solaris, HP-UX en Reliant Unix. De derde versie kwam slechts zes maanden geleden uit, dus de vaart zit er echt in. Je moet bedenken dat Sanfrancisco een enorme investering is, zelfs voor een groot bedrijf als IBM. Het moest een schot in de roos zijn, en dat vroeg heel veel voorbereiding en overleg met onze zakelijke partners." In de toekomst zal IBM’s Websphere applicatie-server het platform worden voor Sanfrancisco-toepassingen, en dit zal worden uitgebreid naar Enterprise Java Bean (EJB) servers van andere leveranciers.
Planning
Was er zo’n zes tot zeven jaar geleden niet een samenwerking tussen IBM, Apple en Hewlett-Packard om objecten voor een object-georiënteerd systeem te ontwikkelen met een soortgelijk doel? Houdt dit verband met Sanfrancisco?
Wilkinson: "Geen formele band, hoewel sommige mensen van Taligent wel in het Sanfrancisco-team zitten. De ideeën zijn verder ontwikkeld en aangepast aan Java, dat toen nog niet de voorkeurstaal voor object-georieënteerde systemen was. De opkomst van Java is een enorme stimulans voor de ontwikkeling van Sanfrancisco geweest en heeft zijn richting bepaald."
Wilkinson voegt daaraan toe dat Sanfrancisco een veel ambitieuzer project is. Wilde het slagen, dan zou het een open systeem moeten worden, gerealiseerd in samenwerking met veel partners. Ofschoon Sun de eigenaar van Java en gerelateerde producten blijft, is het de bedoeling dat Java-producten op elk platform kunnen werken en zeer open zijn ten aanzien van uitbreidingen. IBM wilde dit realiseren voor bedrijfstoepassingen. Hiertoe heeft het bedrijf drie jaar geleden samengewerkt met circa tweehonderd partners om de gewenste functionaliteit van Sanfrancisco te definiëren, mede om de acceptatie ervan door de sector te verzekeren.
Structuur
Is SF eigenlijk wel een product?
Wilkinson: "Het is zowel een product als een aanpasbaar platform voor het eenvoudig ontwikkelen van toepassingen op basis van Java. Sanfrancisco is een belangrijk onderdeel van IBM’s ‘Application framework for e-business’. Het kan het best uitgelegd worden aan de hand van zijn drie lagen.
De eerste (laagste) laag zorgt voor de koppeling met de geïnstalleerde Java Virtual Machine (JVM) en wordt Foundation & Utilities genoemd. Zijn doel is te voorzien in alle benodigde diensten en hulpprogramma’s die niet in de JVM zitten, maar wel nodig zijn om serieuze zakelijke toepassingen te maken. Voorbeelden daarvan zijn de implementatie van persistence (de mogelijkheid om gegevens in een relationele database op te slaan, waar ze veilig en automatisch bewaard worden), het management van gedistribueerde transacties, naming services en dergelijke. In een zakelijke omgeving moet je erop kunnen vertrouwen dat de opgegeven transacties uitgevoerd worden (en wel slechts één keer), ook al valt de netspanning weg of wordt een verbinding verbroken. Niet alle voor kritische bedrijfstoepassingen benodigde diensten zijn beschikbaar in de JVM. Omdat iedereen dergelijke voorzieningen nodig heeft, is het beter die centraal te ontwikkelen; dit doen we in de infrastructurele laag van Sanfrancisco. Intussen is EJB (Enterprise Java Beans) een algemeen geaccepteerde industrienorm geworden die een aantal van deze voorzieningen biedt. In de komende jaren, naarmate EJB verder groeit, worden daarin naar verwachting meer van deze voorzieningen opgenomen. Er komt een gefaseerd migratiepad naar het gebruik van EJB-servers als onderliggend platform, waarbij wij de ontbrekende functionaliteit zullen aanbieden."
"De tweede laag heet Common Business Objects. Deze bevat een grote variëteit aan componenten voor het bouwen van zakelijke toepassingen. Het bevat bijvoorbeeld entiteiten voor de definitie van een bedrijf, zijn hiërarchische structuur met afdelingen, dochtermaatschappijen, klanten, partners, agenda’s, enzovoort. Voor de ontwikkeling van deze bouwstenen hebben we nauw samengewerkt met veel verschillende partners, die vaak heel gespecialiseerd zijn op hun gebied, bijvoorbeeld logistiek en distributie. We wilden dat deze componenten aan veel verschillende vereisten konden voldoen. Ze moesten niet alleen IBM’s visie vertegenwoordigen maar ook die van anderen, en dat niet alleen in de VS maar in de hele wereld. Standaard worden zes talen meegeleverd. Verschillende sectoren hebben hun eigen conventies; landen hebben hun eigen wijze van administratie en boekhouden, niet alleen met betrekking tot munteenheid of de manier waarop een datum geschreven wordt. Al die variaties wilden we meenemen. Als een specifiek onderdeel niet is opgenomen, kan dat altijd ingebracht worden via goed gedefinieerde interfaces. Voor gebruikers biedt dit tevens het voordeel dat de producten van verschillende leveranciers eenvoudiger in één systeem gecombineerd kunnen worden. Gebruikers kunnen natuurlijk ook de producten van onafhankelijk software-leveranciers combineren met eigen ontwikkelingen."
"De derde laag heet Core Business Processes. Het bevat application frameworks, raamwerken voor toepassingen voor specifieke functionele gebieden, bijvoorbeeld raamwerken voor het grootboek, crediteuren, debiteuren, voorraadbeheer, enzovoort. Ontwikkelaars kunnen deze raamwerken gebruiken voor het ontwikkelen van een bedrijfsproces, bijvoorbeeld bestellingen (ordermanagement) – controle of een onderdeel op voorraad is (mogelijk ook in andere magazijnen) -, kredietcontrole, kortingen vaststellen, bepalen of de huidige bestelling een andere korting oplevert, de voorraad aanpassen en het product toewijzen, een factuur versturen en bepalen of de voorraad moeten worden aangevuld. Die processen heb je in een bepaalde toepassing niet allemaal nodig; dan wordt zo’n proces niet meegenomen. De ontwikkelaar selecteert dus de gewenste processen, past die aan en voegt daaraan een geschikte gebruikersinterface toe."
Vraag naar componenten
Andere functionele gebieden waaraan gewerkt wordt, zijn crm (customer relationship management) en verzekeringen. Dat klinkt nogal ambitieus, een goed voorbeeld van component-based development (cbd). En dat is allemaal geschreven in Java?
Wilkinson: "Ja, om helemaal eerlijk te zijn: voor ongeveer 99 procent. Om de vereiste snelheid te halen, moesten we enkele kleine programma’s in machinetaal gebruiken voor de toegang tot relationele databases. Twee-staps commit zit niet in Jdbc (Java Database Connectivity) voor alle omgevingen, en dat is natuurlijk wel nodig. We verplichten ons tot open industrienormen: wanneer Jdbc dit voldoende ondersteunt voor bedrijfstoepassingen, zullen we dat graag gebruiken.
Ongeveer vijftien jaar geleden was het idee van application frameworks of skeletons erg populair. Om de een of andere reden is deze trend na enkele jaren in rook opgegaan. Waarom denkt IBM hiermee n� wel succes zal hebben?
Wilkinson: "Er is een sterke vraag in de markt naar oplossingen op basis van componenten; application frameworks bieden structuur en een goed ontworpen architectuur. Verder wordt Java door vrijwel de hele industrie aanvaard als een excellente platform-neutrale taal die overdraagbaarheid ondersteunt; EJB wordt de belangrijkste omgeving voor toepassingen. Sanfrancisco heeft al veel prijzen gewonnen voor de uitstekende implementatie van deze onderliggende principes. Het resultaat is een aantrekkelijke mogelijkheid om bedrijfstoepassingen te implementeren met meer flexibiliteit en tegen lagere kosten dan anders mogelijk zou zijn."
Drie jaar geleden ontwikkelde Novell een versie van hun Wordperfect-tekstverwerker in Java, maar die flopte volledig vanwege het gebrek aan snelheid. Hoe zeker bent u ervan dat toepassingen gebouwd met Sanfrancisco niet hetzelfde euvel zullen vertonen?
Wilkinson: "In het begin van de Java-evolutie was er weinig ervaring met het gebruik van Java voor grootschalige toepassingen; intussen hebben we veel geleerd over het optimaliseren van dergelijke omgevingen. Verder zijn de just-in-time compilers veel efficiënter geworden. Java heeft zijn plaats gevonden als onafhankelijk platform in servers. En als laatste maar niet onbelangrijkste punt: computers zijn de afgelopen drie jaar een stuk sneller geworden. Daarom denken we dat de snelheid geen probleem zal zijn. In de afgelopen zes maanden alleen al, van versie 1.3 naar 1.4, is de gemiddelde snelheid met een factor twee tot drie toegenomen. Java biedt nu echt een serieuze mogelijkheid voor het ontwikkelen van bedrijfstoepassingen."
Klanten
Wie zijn jullie klanten voor Sanfrancisco?
Wilkinson: "Er zijn twee grote marktsectoren. De eerste en in aanvang de belangrijkste, is die voor bedrijven die toepassingen voor anderen ontwikkelen: ISV’s (Independent Software Vendors) en andere ontwikkelaars. Zij ontwikkelen toepassingen voor klanten in bepaalde sectoren, waarbij hun specifieke kennis van de sector of het land belangrijk is. Meestal beschikken zij al over deze kennis, die ze willen gebruiken om nieuwe toepassingen in Java te ontwikkelen. Het gebruik van Java is attractief voor hun klanten, omdat dit een open platform en overdraagbaarheid biedt. Vanwege de voorzieningen voor e-handel in Sanfrancisco, kunnen deze klanten daarmee eenvoudig gaan meedoen in de nieuwe manier van zaken doen via internet."
Het mkb zal waarschijnlijk niet zelf Sanfrancisco gaan gebruiken, grote bedrijven wel? Wilkinson: "Die vormen de tweede marktsector. Zij zullen zelf een licentie op Sanfrancisco nemen en zelf toepassingen ontwikkelen. Het is natuurlijk ook mogelijk dat zij enkele toepassingen van ISV’s kopen en die integreren met de zelf ontwikkelde toepassingen. Dit is sterk afhankelijk van hun eigen ontwikkelomgeving: als ze al Java of object-oriëntatie gebruiken, zullen ze waarschijnlijk meer geneigd zijn om die zelf te ontwikkelen." Zowel ISV’s als grote bedrijven zullen gereedschappen moeten hebben om de toepassings-raamwerken aan te passen.
Welke gereedschappen kunnen zij gebruiken?
Wilkinson: "Onze wens naar openheid geldt ook voor de gereedschappen. Alle noodzakelijke interfaces zijn beschikbaar, en een groot aantal onafhankelijke leveranciers ondersteunen Sanfrancisco, bijvoorbeeld: JBuilder van Inprise, Rational Rose en Visual Cafe, naast IBM’s Visual Age for Java Enterprise Edition. Princeton Softech heeft ondersteuning voor Sanfrancisco opgenomen in zijn Select-gereedschap. Het bestaan van zoveel mogelijk ontwikkelomgevingen is van belang, omdat bedrijven enorm in hun ontwikkelomgeving investeren – veel meer dan in de kosten van het gereedschap alleen. Zij moeten hun opgebouwde ervaring kunnen gebruiken om de raamwerken in te vullen."
Product
Stel je neemt een licentie op Sanfrancisco als product van IBM. Wat kost dat? Hoe is jullie prijsstructuur?
Wilkinson: "Er zijn verschillende licentiemogelijkheden voor ISV’s en grote bedrijven. De eerste groep, die toepassingen maakt voor anderen, betaalt royalty’s – minder dan 10 procent van hun omzet afgeleid van producten en diensten op basis van Sanfrancisco. Grote bedrijven die toepassingen voor eigen gebruik ontwikkelen, betalen afhankelijk van het gebruik dat zij daarvan maken."
Wat krijgen zij voor dat geld aan software, documentatie en ondersteuning?
Wilkinson: "Alle programmatuur en modellen, en de zeer uitgebreide machine-leesbare documentatie. Er zijn ook speciale databases met informatie en een voorziening voor vragen en antwoorden, naast cursussen en lokale technische advisering tegen bescheiden kosten." Er is een zeer uitgebreide website met veel informatie over Sanfrancisco, met discussiegroepen, een nieuwsbrief (6 keer per jaar), casus-studies, ‘fixes’, diensten en ondersteuning, naast informatie over bijeenkomsten, cursussen en partners. Er staat zelfs een IDC-rapport over IBM’s Application Development Strategy for the 21st Century op http://www.software.ibm.com/ad/sanfrancisco.
Gebruik
Hoe ver is Sanfrancisco nu gevorderd in zijn levenscyclus? Bevindt het zich nog in een pril stadium en kunnen we nog veel nieuwe ontwikkelingen verwachten? Of is het inmiddels volgroeid, en ligt de midlife-crisis al om de hoek?
Wilkinson: "Geen midlife-crisis, dat is zeker! Maar die vraag kun je pas aan het einde van de rit beantwoorden. We zitten nu nog in de aanloopfase. Veel van onze partners hebben gewacht op de functionaliteit in de versies 1.3 en 1.4, zodat hun eerste producten eind 1999 zijn uitgekomen of begin 2000 zullen uitkomen. We zitten dus nog echt in de beginfase en zijn bezig om de ontwikkelgemeenschap ervan op te bouwen. Tot nu toe hebben ongeveer 1300 zakelijke partners een licentie voor Sanfrancisco genomen, maar die zijn nog niet allemaal begonnen met het ontwikkelen van toepassingen. Sommige zijn nog met een gedetailleerde evaluatie bezig, andere bouwen prototypes en nog weer anderen ontwikkelen architecturen en strategieën voor hun toekomstige productlijn. Ook bestaan er partners, bijvoorbeeld Global Systems Integrators, die hun bekwaamheden ontwikkelen en een verzameling componenten die ze straks kunnen gebruiken voor aanbestedingen. Sommige klanten zijn al heel ver in het gebruik van Sanfrancisco, bijvoorbeeld Fiscus, een consortium van belastingdiensten in de zestien Duitse bondstaten. Zij ontwerpen een nieuw geautomatiseerd belastingsysteem voor heel Duitsland, dat in de loop van een aantal jaren gefaseerd ingevoerd zal worden; in 2006 zal het geïmplementeerd zijn. Uiteindelijk zullen rond de honderdduizend gebruikers in ongeveer 900 belastingkantoren met op Sanfrancisco gebaseerde toepassingen gaan werken."
IBS-Consist in Nieuwegein werkt al enige jaren met Sanfrancisco voor het ontwikkelen van HRM-toepassingen. Gaat IBM zelf ook Sanfrancisco gebruiken om toepassingen te ontwikkelen, voor intern gebruik of voor klanten?
Wilkinson: "Zeker, enkele initiatieven zijn al gestart. De Government Solution Unit ontwikkelt een nieuw platform met Sanfrancisco voor de volgende generatie toepassingen. Ook onze afdeling Verzekeringen ontplooit veel activiteiten rond Sanfrancisco. We zijn nu aan het praten met andere sectoren – zoals productie, retail en bankwezen – over de mogelijkheid om Sanfrancisco te gebruiken voor de systemen die zij verkopen. Verder zijn er nogal wat adviseurs van onze Global-Services-divisie die over kennis van Sanfrancisco beschikken om onze klanten en partners te adviseren en te ondersteunen." Er wordt geen specifiek logo getoond als je een met Sanfrancisco ontwikkelde toepassing gebruikt, vertelt Stewart Wilkinson. Een gemiste kans om een pictogram met de Golden Gate Bridge, San Francisco’s beeldmerk, op het scherm te tonen? Wellicht, maar als je een mobiele telefoon gebruikt, ben je toch ook niet geïnteresseerd welke processor of welk programma gebruikt wordt? Laat staan hoe die ontwikkeld is! Wat telt, is de functionaliteit en het gemak van aanpassen. De computer wordt onzichtbaar – daar gaat het om bij deze middleware voor een applicatie-server.
Hein van Steenis, freelance medewerker
Exponentiële groei
Het belang van internet en e-business voor IBM werd in januari door
topman Lou Gerstner onderstreept tijdens Partnerworld 2000. Hij stelde dat e-business exponentieel zal groeien naar 1,3 biljoen dollar voor de hele computerindustrie in 2003. In 1999 bedroegen IBM’s inkomsten uit e-handel 14,8 miljard dollar, een verzesvoudiging van die in 1998 en bijna 17 procent van de totale inkomsten in 1999.
Literatuur:
Bakker, J.: Java groeit groot, Computable p.25-29, 23 juli 1999