|
Tags: SOA | Web Services
| ||
| ||
Geef webdiensten en SOA een gezichtdoor Sandor Nieuwenhuijs en Dick Lans De IT-architectuur bij bedrijven is steeds onderheving aan nieuwe trends. De grootste uitdaging voor ontwikkelaars en IT-architecten is niet alleen om de nieuwste trends bij te houden, maar ook om ze te gebruiken om er concurrentievoordeel mee te behalen.Het voordeel van het gebruik van nieuwe technologie in bedrijfsapplicaties kan immers volledig teniet worden gedaan als de nieuwe applicatie te duur is in ontwikkeling en onderhoud, de implementatie tijdrovend is en het gebruik ervan lastig. JavaServer Faces (JSF) is een gebruikersvriendelijke technologie die de complexiteit verkleint en de snelheid van het op de markt brengen verhoogt. JSF levert een flexibel, op standaarden gebaseerd, raamwerk voor het bouwen van user interfaces voor bedrijfsapplicaties. JavaServer Faces is een middel om herbruikbare componenten voor applicatieontwikkeling toe te passen. JSF-componenten hebben diverse voordelen. Ze verhogen de productiviteit; het scheelt vaak zelfs maanden werk per component. Daarnaast zijn ze betrouwbaarder omdat componenten vooraf getest worden en zichzelf eerst bewijzen in verschillende gebruikerscases. Ook zijn gebruikers er vaak tevreden over omdat de componenten gebouwd zijn door experts in interface design. Tot slot zijn ze vaak nogmaals te gebruiken, waardoor de ontwikkeling ervan kostenefficiënter wordt. Met de opkomst van webdiensten en Service Oriented Artchitectures (SOA), neemt de behoefte aan JSFcomponenten sterk toe. JSF-componenten maken het immers mogelijk webdiensten in een begrijpelijk format aan de eindgebruiker aan te bieden. In combinatie met Service Oriented Architectures (SOA?s) maken JSF-componenten het mogelijk een aantal los gekoppelde diensten te gebruiken inéén enkele applicatie. Dit artikel bespreekt de relatie tussen goed interface design en SOA?s. Ook laat dit artikel de lezer zien wat het verschil is tussen een goede en een supergoede applicatie. Waarom SOA?SOA?s zijn voortdurend onderwerp van gesprek bij analisten, CIO?s en technology markteteers. Maar de weg van architectonische principes op hoog niveau naar het programmeren van een functionerende service in de echte wereld is niet altijd eenvoudig. De ontwerper moet uiteindelijk een heldere user interface creëren die zo flexibel is als de diensten die de user interface levert.De concepten achter SOA verschillen niet veel van standaard ontwerpprincipes als onttrekking, inkapseling en hergebruik. Om het simpel te zeggen, SOA is een software architectuur waarin de functionaliteit van applicaties is ingekapseld als een onafhankelijke service. Deze service is in veel gevallen een webdienst, maar het kunnen ook services zijn die zijn afgeleid van verschillende technologie types. Klanten die verschillende applicaties of bedrijfsprocessen gebruiken, kunnen deze services dan toch gebruiken. Nog belangrijker is misschien dat SOA is ontworpen om de implementatie van een softwaredienst los te koppelen van de interfaces die deze dienst gebruiken. Hierdoor kunnen klanten van een service vertrouwen op een consistente interface, en bovendien wordt het gebruik ervan flexibeler omdat ontwikkelaars de implementatie van een dienst geleidelijk kunnen laten verlopen, zonder dat de klanten van een dienst daar last van hoeven te hebben. Dit betetekent dat de voornaamste vereiste van een SOA is dat de interface van de dienst wordt losgekoppeld van de implementatie ervan. Deze scheiding betekent meteen het grootste voordeel van SOA, zowel gezien vanuit programmeer oogpunt als vanuit een financieel oogpunt. Bestaande systemen zowel verouderd als modern, intern en extern, kunnen worden getoond en worden gebruikt als diensten, waardoor het ontwikkelen ervan vereenvoudigd wordt. Geef SOA een gezichtEen discussie over het in gebruik nemen van een Service Oriented Architecture gaat vaak over de betrouwbaarheid van webdiensten, hoe verschillende applicaties samen kunnen opereren en over messaging. Dat betekent dus dat het gaat over hoe bestaande software geïntegreerd moet worden in processen en samengestelde applicaties. Waar het echter in veel gevallen niet over gaat is hoe gebruikers met deze processen zullen omgaan. Zonder gebruikersinterface is er echter ook geen applicatie.JSF-componenten vullen SOA aan door er voor te zorgen op een makkelijke manier het laatste stukje van de SOA-puzzel toe te voegen: een door mensen goed te gebruiken user interface. JSF is een standaard J2EE-technologie die een op componenten gebaseerde aanpak biedt voor het ontwikkelen van een gebruikersinterface. JSF-componenten zijn te vergelijken met services in SOA. Zij kapselen de gebruikelijke vereisten en commando?s in van een web-gebaseerde user interface in. In plaats van het via programmeren opbouwen van HTML-tabellen of het schrijven van een data validatie in Java Script, bieden de JSF-componenten deze functionaliteit al. Hierdoor wordt de ontwikkelaar in staat gesteld om een component simpelweg naar een pagina te slepen en de eigenschappen in te stellen. Wat nog interessanter is, is dat nog uitgebreidere JSFcomponenten zoals Oracle?s ADF Faces, worden gebouwd met verschillende kitsets. Deze kitsets maken het mogelijk JSF-componenten te gebruiken voor verschillende clients en apparaten, zoals PDA?s, mobiele telefoons, TelNet en IM. SOA-detailsWebdiensten die beschikken over het implementationagnostic messaging protocol, het standaard messaging protocol voor het bouwen van SOA-applicaties in combinatie met standaarden voor betrouwbare messaging, veiligheid en interoperabiliteit, vormen de ideale ?ruggegraat?voor een Service Oriented Architecture.Services die de bouwstenen vormen van een SOAapplicatie, hebben één overeenkomstige eigenschap: een voor iedereen zichtbare interface die gemaakt is op basis van van inzichtelijke methodes die te gebruiken zijn door andere delen van de applicatie. De zichtbare interface is in elke technologie te integreren (.NET, J2EE, COBOL, PL/SQL, etc.). Verreweg het meest gebruikte type service gebruikt bij SOA zijn webservices Webdiensten voorzien echter niet in de basisinfrastructuur die je zou verwachten in een programmeertaal. Om er voor de zorgen dat een set webdiensten toch functioneert in een bedrijfsproces, moet er daarom vaak veel low-level code worden geschreven. Een andere mogelijkheid is gebruik te maken van Business Process Execution Language (BPEL). BPEL is een opkomende OASIS-standaard (Organization for the Advancement of Structured Information Standards) die er voor zorgt dat webdiensten te integereren zijn in een bedrijfsproces. Ondanks het feit dat de BPELtaal een enigszins ingewikkeld XML-schema bevat, zijn er meerdere visuele BPEL-tools zoals Oracle BPELdesigner die het het inzetten van webdiensten in stromen van bedrijfsprocessen vereenvoudigent doordat simpelweg ?drag and drop? gebruikt kan worden. ConclusieKortom, met SOA ontstaat er de uitzonderlijke mogelijkheid om verschillende behoorlijk verschillende diensten te koppelen in één enkele samenhangende bedrijfsdienst. Bij de combinatie van Service Oriented Architecture met een op JSF-gebaseerde gebruikersinterface kan een BPEL-proces van nut zijn voor het ontwikkelen en rijke gebruikers interface. Het bouwen van een samengestelde SOA-applicatie inclusief een op JSF-gesbaseerd user interface is eigelijk een voor de hand liggend proces. Door daar een tool zoals Oracle Jdeveloper 10g voor te gebruiken, kan het zelfs eenvoudig en op een hele visuele manier bereikt worden. | ||
| Lees meer over Oracle Nederland B.V. | ||
| Ga terug naar We Love IT uitgave #2 - 2007 | ||
|




