WEBSERVICES CAPITA SELECTA 2 Behorend bij het afstudeerproject: Generiek framework voor administratieve toepassingen in een webgeoriënteerde omgeving
Henk van de Ridder 834518719
Januari 2007 Open Universiteit Nederland, faculteit Informatica Masteropleiding Technische informatica
CS Webservices
Samenvatting Webservice zijn applicaties, die beschikbaar gesteld worden als dienst via internet. Webservices maken deel uit van de Service Oriented Architecture (SOA). De technische aspecten van webservices en SOA zijn in diverse standaards vastgelegd. De standaarden: WSDL en SOAP van de 1e SOA generatie zijn breed geaccepteerd. De 2e SOA-generatie legt de nadruk de betrouwbaarheid van berichtuitwisseling en inpassing van webservices binnen bedrijfsprocessen. Deze generatie bevindt zich nog in het beginstadium van acceptatie. Toekomstig generaties dienen het ontbreken van semantische afspraken in te vullen. Sematiek en ontologie zijn al wel een belangrijk aandachtspunt in het wetenschappelijk onderzoek. Voor het, in het afstudeerproject te ontwikkelen, generieke applicatieframework, gericht op dienstverlenende bedrijven met een personeelsgrootte van 50 – 250 man dient met SOA rekening gehouden te worden voor de geautomatiseerde koppelingen met externe organisaties. Dit betekent dat het applicatieframework om moet kunnen gaan met XML, SOAP en WSDL en zowel webservices moet kunnen aanroepen als zelf webservices aanbieden.
Inhoud 1 2
3 4
Inleiding..........................................................................................................................3 1.1 Doelstellingen .................................................................................................3 1.2 Uitwerking .......................................................................................................3 Literatuurstudie .............................................................................................................4 2.1 Definities..........................................................................................................4 2.2 Het ontstaan van SOA ..................................................................................4 2.3 Service karakteristieken .................................................................................5 2.4 SOA: Eerste generatie ...................................................................................6 2.5 SOA: Tweede generatie.................................................................................7 2.6 SOA: Toekomstige generatie .......................................................................8 2.7 Toepassing van SOA .....................................................................................8 Conclusies voor het afstudeerproject .......................................................................9 Literatuur..................................................................................................................... 10
Henk vd Ridder,OU 834518719
2
CS Webservices
1
Inleiding
Dit verslag van de capita selecta: webservices is onderdeel van de afstudeeropdracht: “Generiek framework voor administratieve toepassingen in een webgeoriënteerde omgeving”. Bij deze afstudeeropdracht zijn de volgende capita selecta studies uitgevoerd: advanced design patterns en webservices Bij de studie van de capita selecta 1: advanced design patterns bleek dat in de documentatie van de moderne ontwikkelomgevingen .NET en J2EE heel sterk de nadruk wordt gelegd op webservices als oplossing om in het huidige internettijdperk administratieve software applicaties te bouwen. Webservices maken daarbij deel uit van de Service Oriented Architecture (SOA). Ook blijkt dit begrip veelvuldig voor te komen in de huidige Nederlandse vakbladen als: Informatie, Computable en AutomatiseringsGids. Voor het in het afstudeerproject te realiseren framework dient dan ook onderzocht te worden in hoeverre er rekening gehouden moet worden met SOA en webservices.
1.1
Doelstellingen
De doelstellingen van deze capita selecta zijn: - Bepalen hoe de begrippen service oriented architecture (SOA) en webservices geïnterpreteerd worden door verschillende auteurs. - Bepalen van de wetenschappelijke stand van zaken rond SOA en webservices door het zoeken en bestuderen van leidende leveranciersonafhankelijke publicaties. - Bepalen wat de leidende standaarden bij webservices zijn, hoe deze ontstaan zijn en wat ze inhouden
1.2
Uitwerking
De bestudering van SOA omvatte de volgende onderdelen: - Zoeken en bestuderen van een recent studieboek. - Zoeken en bestuderen van wetenschappelijke artikelen. - Zoeken en bestuderen van Nederlandse onderzoeken en studies. - Zoeken en bestuderen van documentatie bij de grote softwarebedrijven. Voor het studieboek is er gekozen voor het boek: “Service-Oriented Architecture, concepts, technology, and design” van Thomas Erl [ERL05]. Dit boek is verschenen in december 2005 en de omschrijving gaf voldoende reden om aan te nemen dat er een volledig overzicht gegeven werd van SOA. Wetenschappelijke artikelen zijn met name gezocht en gevonden op citeseer [CIT07]. Plaatsen waar in Nederland met name onderzoek en studie wort uitgevoerd zijn het telematica instituut van de Universiteit Twente (telin) [TEL07], het software engineering research center (serc) [SER07], het onderzoeksprogramma Jacquard [JAC07] en het landelijk architectuur congres [LAC06]. Verder is er globaal studie gemaakt van de leveranciersdocumentatie van IBM [IBM07], Microsoft [MIC07] en SUN [SUN07].
Henk vd Ridder,OU 834518719
3
CS Webservices
2
Literatuurstudie
Dit hoofdstuk is een beschrijving van SOA en webservices. Allereerst wordt het basisbegrip webservice gedefinieerd, gevolgd door een korte beschrijving van de geschiedenis waarin SOA is ontstaan. Hierna worden de karakteristieken, de stand van zaken en de toepassing van SOA beschreven.
2.1
Definities
Helaas is er geen algemeen geaccepteerde definitie van de begrippen SOA en webservices. In veel publicaties wordt gerefereerd naar de definities van W3C en die dienen daarom als uitgangspunt in dit verslag. De definitie van het begrip service oriented architecture volgens W3C is: - A set of components which can be invoked, and whose interface descriptions can be published and discovered. [w3C04] Met ‘set of components’ wordt de webservice bedoeld, door W3C gedefinieerd als: - A Web service is a software system designed to support interoperable machine-tomachine interaction over a network. It has an interface described in a machineprocessable format (specifically WSDL). Other systems interact with the Web service in a manner prescribed by its description using SOAP messages, typically conveyed using HTTP with an XML serialization in conjunction with other Webrelated standards.[w3C04] In deze literatuurstudie worden de volgende werkdefinitie gehanteerd: - Service-Oriented Architectuur is informatievoorziening zo in te richten dat functionaliteit wordt aangeboden in de vorm van services [BER06]. - Een webservice is een applicatie, beschikbaar als dienst via internet, beschreven en aanspreekbaar volgens breed geaccepteerde standaarden [KOO07].
2.2
Het ontstaan van SOA Service oriented architecture vormt de huidige basis bij het ontwikkelen van grote softwaresystemen voor de aansturing van grote bedrijven. In figuur 2.1 zijn de belangrijkste stappen in de geschiedenis van de applicatieontwikkeling weergeven [IBM04]. De geschiedenis start met de monoloths, waarbij elk applicatieprogramma op zichzelf staat. In de jaren ’60 start de structured fase waarbij getracht wordt om de groeiende complexiteit van de applicaties via decompositie, dat is opsplitsen in modulen en subroutines, te beheersen [LUB07]. Applicaties draaien vooral op mainframesystemen De te verwerken gegevens worden eerst met ponskaarten en later met domme terminals aangeleverd. Na verwerking wordt de informatie op papier verstrekt. Met de komst van de PC- en Unix systemen en de opkomst van de relationele databases treedt daarin verandering op: gedistribueerde verwerking wordt mogelijk. Dit houdt in dat de applicatie op meerdere systemen wordt verwerkt, waarbij de gegevens via netwerken worden uitgewisseld. Decompositie is hierbij vooral een afweging op welke machine of applicatielaag (=tier) welke verwerking plaats moet vinden. Standaardisatie van deze applicatielagen in 3 of meer lagen vindt plaats. Tegelijkertijd wordt
Figuur 2.1 geschiedenis applicatie ontwikkeling
Henk vd Ridder,OU 834518719
4
CS Webservices er omgeschakeld van het gestructureerde naar het objectgeoriënteerde denkmodel [SCH02]. Bij het objectgeoriënteerd ontwikkelen vormt het object de combinatie van zowel de gegevens als de verwerkingen op die gegevens. Een applicatie is daarbij een verzameling met elkaar samenwerkende objecten. Door objecten op verschillende machines te plaatsen en te zorgen voor een gestandaardiseerde communicatie omgeving ontstaat de fase van de gedistribueerde objecten. Om de complexe applicaties binnen de administratieve systemen van grote bedrijven begrijpbaar te houden blijkt dat het zinvol is om de objecten in een component te groeperen. Een component representeert een bedrijfskundige functie [BRO00]. Door deze componenten op te schalen en te zien als een zelfstandige eenheid worden ze aangeduid als services. Vanuit het architectuurdenken [WAG01], [LAC06] is daarbij het begrip service oriented architecture (SOA) geïntroduceerd. Binnen SOA worden twee generaties onderscheiden [ERL05]. De eerste generatie omvat gestandaardiseerde oplossingen voor het beschrijven, opzoeken en aanroepen van services. De tweede generatie introduceert ook de standaards op het gebied van coördinatie en onderlinge samenwerking van webservices, inpassing van webservices in bedrijfsprocessen en algemene functies als metadata uitwisseling en beveiliging.
2.3
Service karakteristieken
De softwareontwikkeling bij grote bedrijven richt zich op twee uitdagingen: het beheersen van de complexiteit en het snel kunnen reageren op in- of externe veranderingen. De Engelstalige begrippen hiervoor zijn complexity en change [BRO00], [BRU03]. Binnen het vakgebied software engineering wordt de oplossing aangeduid als “separation of concerns”, waarbij de grote complexe applicatie wordt onderverdeeld in kleinere overzienbare onderdelen. Binnen SOA is de service een dergelijk overzienbaar onderdeel. Een verzameling software is pas een service als het voldoet aan de volgende karakteristieken[ERL05]: - De service is herbruikbaar, dat wil zeggen dat een service binnen meerdere bestaande of toekomstige applicaties te gebruiken is. - De service kent een formeel contract of interface. Er is een vastgelegde definitie van de wijze hoe de functies van de service aangeroepen kunnen worden. - Services hebben een lage onderlinge koppeling of afhankelijkheid. Services werken kunnen op een uniforme wijze met elkaar samenwerken maar dienen vrijwel niet van elkaar afhankelijk te zijn. - Services vormen een abstractie van onderliggende soft- en hardware details. Services kunnen op verschillende machines draaien, geprogrammeerd zijn in verschillende programmeertalen, maar deze verschillen mogen niet zichtbaar zijn voor de aanroepende partij. - Meerdere services gezamenlijk kunnen samengevoegd worden tot een nieuwe service, die een eigen zelfstandige interface heeft. Of een service enkelvoudig of samengesteld heeft mag geen invloed hebben op de werking. - Services zijn autonoom. Wanneer de service wordt aangeroepen is deze volledig zelfstandig bij het uitvoeren van zijn functies. - Services zijn stateless. De service is tijdens de uitvoering van de functie zelf verantwoordelijk voor het vasthouden van de tussenresultaten. De aanroepende applicatie hoeft hiervoor geen, of zo min mogelijk, voorzieningen te treffen. - Service zijn discoverable. De service biedt zelf de functionaliteit om zijn metadata, over hoe de functies aangeroepen moeten worden, op een gestandaardiseerde wijze te publiceren aan andere services of aanroepende applicaties.
Henk vd Ridder,OU 834518719
5
CS Webservices Door anderen [IBM04] [SPR04] [LUB07] wordt expliciet benadrukt dat één van de belangrijkste karakteristieken van SOA is, dat een service een bedrijfskundig herkenbare functie uitvoert. Voorbeelden van zulke functies zijn het vastleggen van een verkooporder, het genereren van een (elektronische) factuur of het registreren van een elektronische betaling. Doordat een functie bedrijfskundig herkenbaar is, is deze door bedrijfskundigen in te passen binnen de bedrijfsprocessen van een organisatie. Door middel van bijvoorbeeld workflowsystemen kunnen de bedrijfsprocessen gemodelleerd worden door services aan taken toe te wijzen. Bij organisatiewijzigingen hoeft dan niet de applicatiesoftware te wijzigen, maar is het opnieuw inrichten van (een deel van) de workflowsystemen voldoende.
2.4
SOA: Eerste generatie
De oplossingen van de eerste SOA generatie omvatten standaards voor het beschrijven, publiceren zoeken en aanroepen van services. Hierbij worden er drie rollen ingevuld, zie figuur 2.2. De service provider is de plaats waar de service uitgevoerd kan worden. De service consumer is degene die de service aanroept bij de service provider. Hiernaast is er nog de service registry die als doel heeft dat de service provider zijn aan Service te roepen services uniform kan Registry beschrijven. De service consumer kan deze beschrijving opzoeken. Tot op dit moment wordt deze rol Find Publish (UDDI) (UDDI) vrijwel niet ingevuld. De service provider verstrekt de service Describe beschrijving rechtstreeks aan de (WSDL) service consumer. Service Service Consumer
Provider
Bind Voor het vervullen van de rollen zijn (SOAP) er drie open specificaties: Figuur 2.2 SOA rollen en standaards - Web Service Definition Language (WSDL). Met behulp van WSDL wordt beschreven hoe een service aangeroepen kan worden. Beschreven wordt de locatie van de webservice, de functienamen, de soorten parameters per functie en de returnwaarden per functie. - Simple Object Access Protocol (SOAP). Met behulp van SOAP wordt de aanroep van een service vanaf de consumer naar de service provider uitgevoerd, tevens worden de returnwaarden hiermee teruggegeven. - Universal Description, Discovery and Integration (UDDI). Met UDDI kunnen servicedefinities in de vorm van WDSL’s door de service provider in een extern register worden vastgelegd en kunnen deze servicedefinities door de service consumer worden opgevraagd.
Deze berichten, die voldoen aan deze open specificaties, zijn in de vorm van eXtended Markup Language (XML). Deze vorm is volledig gestandaardiseerd waardoor het niet uitmaakt welke applicaties en/of computersystemen als service consumer of service provider dienst doen. De leidende applicatieomgevingen: J2EE en .NET ondersteunen de drie open specificaties [ERL05], waardoor integratie van software applicaties op deze platformen zonder meer mogelijk is.
Henk vd Ridder,OU 834518719
6
CS Webservices
2.5
SOA: Tweede generatie
De eerste SOA generatie beperkt zich tot het beschrijven en aanroepen van webservices. De tweede SOA-generatie heeft twee aanvullingen: het zorgen voor een betrouwbare uitwisseling van de berichten tussen de consumers en providers van de webservices en het inpassen van de webservices binnen de bedrijfsprocessen Qua transport van de berichten maakt SOA in eerste instantie gebruik van de standaards voor het uitwisselen van gegevens via het internet: Hypertext Transport Protocol (HTTP) en Simple Mail Transfer Protocol (SMTP). Helaas bieden deze standaards geen betrouwbare gegevensoverdracht in die zin dat er geen zekerheid is dat een eenmaal verzonden bericht correct aankomt [IBM04]. Door de Organization for the Advancement of Structured Information Standards (Oasis) [OAS07], een internationaal erkende standaardisatie organisatie, is de standaard WS-ReliableMessaging ontwikkeld [COV07]. Helaas is die standaard nog niet breed geaccepteerd, mede omdat leveranciers als IBM en Microsoft liever hun eigen messaging producten inzetten. Voor betrouwbare berichtuitwisseling worden ook standaards ontwikkeld voor beveiliging, autorisatie en authenticatie, quality of service: WS-Policy, WS-Security, WS-Adressing, WS-Notification, WS-Eventing en WSMetadataExchange. Ook deze standaards zijn nog niet breed geaccepteerd.
Orchestration - BPEL4WS
Bedrijfs Processen
Transactions WS-Reliability WS-Security
Coordination
Service kwaliteit
UDDI WSDL
Opzoeken Description Definitie
SOAP Berichten XML Figuur 2.3 SOA generaties
HTTP, SMTP (JMS, MSMQ, IBM-MQ)
Transport
1e generatie SOA
Beheer
Context
2e generatie SOA
Choreography - CDL4WS
Figuur 2.3 standaards bij 1e en 2e generatie SOA
De tweede aanvulling van de 2e SOA generatie omvat standaards voor de inpassing van webservices binnen bedrijfsprocessen. De achtergrond hiervan is terug te voeren tot het begrip workflow. In het nog steeds actuele workflow referentiemodel [HOL95], [HOL05] van de Workflow Management Coalition (WfMC) wordt workflow gedefinieerd als: “the computerised facilitation or automation of a business process, in whole or part”. In het kader van softwareapplicaties wordt o.a. de inpassing bedoeld van de datagerichte applicatieschermen binnen organisatorische bedrijfsprocessen. Vroeger gebeurde dat buiten het softwaresysteem om met beschreven procedures. Door de steeds grotere organisaties wordt het ook steeds ingewikkelder om al deze procedures van de bedrijfsprocessen te overzien en biedt workflow-software ondersteuning door deze regels af te dwingen. De inpassing van de afzonderlijke webservices binnen een bedrijfsproces wordt gestandaardiseerd met behulp van Business Process Execution Language for WebServices (BPEL) ook wel aangeduid met WS-BPEL of BPEL4WS. BPEL geeft een beschrijving van de workflow met workflowstappen waar webservices aangeroepen
Henk vd Ridder,OU 834518719
7
CS Webservices kunnen worden. Ook BPEL is een beschrijving in XML formaat waardoor, in samenhang met de WSDL-definitie van elke webservice, exact gedefinieerd kan worden hoe een webservice binnen de workflow aangeroepen moet worden. Wetenschappelijk onderzoek van Van der Aalst [AAL05] en anderen [LAS06][FUX04][SPE02] richt zich op het geautomatiseerd kunnen opbouwen van BPEL beschrijvingen vanuit bedrijfskundig gemodelleerde procesmodellen. De standaard voor BPEL is door de belangrijkste softwareontwikkelaars als IBM, Microsoft en SUN geaccepteerd. Naast de standaard BPEL4WS wordt er ook gewerkt aan de standaard Webservices Choreography Language (WS-CDL) [KAV04]. Deze standaard heeft als doel om de berichtenuitwisseling tussen verschillende organisaties vorm te geven. Deze standaard is één van de vele standaardisatie pogingen die ontstaan zijn na Electronic Data Interchange (EDI). De WS-CDL standaard heeft nog weinig ingang gevonden. Een standaard die wel meer betekenis heeft is Electronic Business using eXtensible Markup Language (ebXML), die ook ontwikkeld wordt door de standaardisatie organisatie Oasis [EBX07]. EbXML borduurt voort op EDI door zich te richten op standaardisatie van elektronische documenten, zoals order en factuur, die uitgewisseld worden tussen organisaties als vervanger van de papieren exemplaren. Bij inpassing in webservices kan een dergelijk elektronisch formulier dienen als parameter of returnwaarde bij de aanroep van een webservice.
2.6
SOA: Toekomstige generatie
De huidige stand van zaken van SOA is zodanig dat het technische gedeelte van de architectuur voldoende is ingevuld met standaards. Wat echter ontbreekt zijn de semantiek [HAL05] en ontologie [HAL06]: er is nog geen eenduidig begrippenkader waarmee het mogelijk wordt dat webservices betekenisvol beschreven kunnen worden. Als dit er zou zijn dan zou het bijvoorbeeld mogelijk worden om webservices van verschillende fabrikanten met elkaar uit te wisselen. Ook zou het dan mogelijk worden dat de samenwerking tussen verschillende applicaties volledig geautomatiseerd geregeld wordt. Op dit gebied vindt er uitgebreid onderzoek plaats bij het Digital Enterprise Research Institute (DERI) [DER07], [HAL05], [HAL06]. Een ander initiatief is het vervangen van WSDL door de DAML-S standaard waarin ook de semantiek van een webservice wordt vastgelegd [ANK02]. De vraag is of het wel mogelijk is om dit eenduidige begrippenkader op te zetten. Helaas is het bovenstaande probleem niet nieuw. Ook binnen gewone bedrijfsapplicaties blijkt uitwisselbaarheid niet groot te zijn. Naast de vraag of dit eenduidig begrippenkader wel op te stellen is qua expressiviteit, verbositeit, correctheid, etc [WAC01] geldt ook het acceptatie argument. Elke softwareleverancier bindt liever de klanten aan zichzelf als dat hij investeert in mogelijkheden waarbij de klantenbinding minder mogelijk is. Op Europees niveau loopt het interop-onderzoek [INT07] waar getracht wordt om na te denken over een eenduidig begrippenkader om de interoperabiliteit van applicaties te bevorderen. Vanuit Nederland wordt er deelgenomen door het telematica-instituur [TEL07].
2.7
Toepassing van SOA
Voor de toepassing van SOA bij bedrijven zijn er twee situaties: de toepassing van SOA binnen het bedrijf en ten tweede de toepassing van SOA tussen de bedrijven onderling. Zie figuur 2.4 voor een verduidelijking van deze situaties. De eerste toepassing vinden we bij grote concerns waar diverse bestaande en nieuwe applicaties, op diverse platformen draaiend, aan elkaar gekoppeld moeten worden [ERL05]. Bij de kleinere bedrijven vinden we
Henk vd Ridder,OU 834518719
8
CS Webservices vooral de tweede toepassing [SUN03]. Binnen deze bedrijven is er meestal maar één applicatieplatform. SOA vindt toepassing voor het leggen van geautomatiseerde koppelingen met klanten en leveranciers. Leveranciers van softwareapplicaties voor grote bedrijven als SAP [SAP07] erkennen dat SOA een cruciale rol vervult voor het realiseren van koppelingen voor het uitwisselen van in- en verkoop informatie. Ook de overheid erkent dit: vanaf begin dit jaar maakt “OTP met een SOAP-koppelvlak” het mogelijk dat bedrijven elektronisch gegevens kunnen aanleveren aan de Belastingdienst, het CBS en de Kamer van Koophandel [GBO07]. De semantiek wordt hierbij ingevuld met eXtensible Business Reporting Language (XBRL) [XBR07]. De grote softwareleverancier SAP, maar ook softwareleveranciers voor het MKB als Accountview [ACC07], bieden hiervoor al ondersteuning aan. Bij de Internet Service Providers wordt de order en service informatie over de ADSL- en domeinproducten met hun leveranciers als KPN-Bitstream en SIDN via webservices uitgewisseld.
Figuur 2.4 SOA in externe en interne omgeving
3
Conclusies voor het afstudeerproject
Er kan gesteld worden dat SOA een belangrijke plaats inneemt in het huidige van softwareontwikkelling. Door de op dit moment leidende ontwikkelaars van softwareontwikkeltools als IBM [IBM07], Microsoft [MIC07] enSUN [SUN07] worden SOA en webservices gepromoot als oplossing voor het ontwikkelen van kwalitatief hoogwaardige softwareapplicaties. Kwaliteit wordt daarbij gedefinieerd in termen van herbruikbaarheid, aanpasbaarheid en interoperabiliteit. Het in het afstudeerproject te ontwikkelen generieke applicatieframework is gericht op serviceverlenende bedrijven met een personeelsgrootte van 50 – 250 man. Uitgangpunt is dat met het framework de volledige applicatie voor het primaire bedrijfsproces gebouwd kan worden. Hierbij dient er met webservices rekening gehouden te worden voor de geautomatiseerde koppelingen met de klanten, leveranciers, accountants en overheidsorganen. Aan de klantkant moet het mogelijk zijn om geautomatiseerd de inkomende verkooporders te accepteren. Aan de leverancierskant moet het mogelijk zijn om uitgaande opdrachten geautomatiseerd aan te leveren. Met de accountant dienen financiële cijfers uitgewisseld te kunnen worden, met de belastingdienst de verplichte aangiften. Dit betekent dat het applicatieframework om moet kunnen gaan met XML,
Henk vd Ridder,OU 834518719
9
CS Webservices SOAP en WSDL. Ook koppelingen met secundaire systemen, zoals het financieel systeem, en externe partijen als de belastingdienst dienen via webservices gelegd te kunnen worden. 4
Literatuur
[AAL05] TranslatingWorkflow Nets to BPEL, Aalst M P van der, Lassen K B, BETA Working Paper Series WP 145, Eindhoven University of Technology, 2005 [ACC07] Accountview business software, www.accountview.nl, 2007 [ANK02] DAML-S: Web Service Description for the Semantic Web, Ankolekar A, Burstein M, Hobbs J R, Lassila O, Martin D, McDermott D, McIlraith S A, Nrayanan S, Paolucci M, Payne T, Sycara K, Proc. 1st Int'l Semantic Web Conf. (ISWC 02), 2002 [BER06] Verbiedt Services, Berg M vd, Ommeren E v, Informatie nr 10, oktober, 2006 [BRO00] Large-scale component-based development, Brown AW, Prentice Hall, ISBN 013088720x, 2000 [BRU03] Object-Oriented Software Engineering: Using UML, Patterns, and Java, Bruegge B, Dutoit A H, Prentice Hall, ISBN: 0130471100, 2003 [CBD03] SOA fundamentals, http://www.cbdiforum.com/secure/downloads/SOA_Fundamentals.pdf, 2003 [CIT07] Scientific Literature Digital Library, http://citeseer.ist.psu.edu/cs, 2007 [COV07] Reliable Messaging, Cover R., http://xml.coverpages.org/reliableMessaging.html, 2007 [DER07] Digital Enterprise Research Institute Galway achievements, http://www.deri.ie/achievements, 2007 [EBX07] ebXML, electronic business using eXtensible Markup Language, www.ebxml.org, 2007 [ERL05] Service oriented architecture, concepts, technology, and design, Erl T, Prentice Hall, ISBN 0131858580, 2005 [FUX04] Analysis of Interacting BPEL Web Services, Fu X, Bultan R, Su J, In Proc. of the 13th International World Wide Web Conference (WWW'04), ACM Press, 2004 [GBO07] OTP SOAP klaar voor gebruik, http://gbo.overheid.nl/nieuws/artikel/40/, 2007 [HAL05] WSMX – a Semantic Service-Oriented Architecture, Haller A, Cimpian E, Mocan A, Oren E, Bussler C, Proceedings of 2005 IEEE International Conference on Web Services, ISBN 0769524095, 2005
Henk vd Ridder,OU 834518719
10
CS Webservices [HAL06] An Ontology for Internal and External Business Processes, Haller A, Oren E, Kotinurmi P, WWW 2006, May 23-26, 2006, Edinburgh, Scotland ACM 1595933329/06/0005 2006 [HOL95] The workflow reference model, Hollingsworth D, www.wfmc.org, TC00-1003 Issue 1.1, 1995 [HOL05] The workflow reference model – 10 years on, Hollingsworth D, www.wfmc.org, Ref_Model_10_years_on_Hollingsworth.pdf, 2005 [IBM04] Patterns: Service-Oriented Architecture and Web Services, Ang J, Arsanjani A, Chua S, Comte P, Endrei M, Krogdahl P, Luo H, NewlingT, http://www.redbooks.ibm.com/redbooks/pdfs/sg246303.pdf , 2004 [IBM07] IBM, SOA and Webservices, http://www.ibm.com/developerworks/webservices, 2007 [INT07] Interoperability Research for Networked Enterprises Applications and Software, auteurs niet van toepassing, http://interop-noe.org/, 2007 [JAC07] Onderzoeksprogramma voor software engineering, www.jacquard.nl, 2007 [KAV04] Web Services Choreography Description Language Version 1.0, Kavantzas N,Burdett D, Ritzinger G, Lafon Y. W3C Working Draft http://www.w3.org/TR/ws-cdl10 ,2004 [KOO07] Web services: het cement voor mobiele, context-aware diensten, Koolwaaij J. http://www.freeband.nl/kennisimpuls/projecten/wasp , 2007 [LAC06] Landelijk architectuur congres, www.lac2006.nl , 2006 (zie ook de voorgaande jaren 1999 - 2005) [LAS06] WorkflowNet2BPEL4WS: A Tool for Translating UnstructuredWorkflow Processes to Readable BPEL, Lassen K B, Aalst M P van der, OTM Conferences 2006: 127-144, 2006 [LUB07] Defining SOA as an architectural style, Lublinsky B, www.ibm.com/developworks webservices technical library, 2007 [MIC07] Microsoft, Service Oriented architecture, http://msdn2.microsoft.com/enus/architecture/aa948857.aspx , 2007 [OAS07] Organization for the Advancement of Structured Information Standards (Oasis), www.oasis-open.org, 2007 [SAP07] SAP – Business software Solutions Applications and Services, www.sap.com, 2007 [SCH02] Classical and Object-Oriented software engineering, Schach S R, McGraw-Hill, ISBN 0072395591, 2002
Henk vd Ridder,OU 834518719
11
CS Webservices [SER07] Software Engineering Research Centre, www.serc.nl, 2007 [SIN04]: Designing Web Services with the J2EE 1.4 Platform, Singh I, Brydon S, Murray G, Ramachandran V, Violleau T, Stearns B, Addison-Wesley , ISBN 0321205219, 2004 [SOA07] SOA Systems, www.soasystems.com, 2007 [SPE02] Designing Web Services in a Business Context: A Transformation from Conceptual Business Processes to Web Services - Master Thesis, Spek A W A, Tilburg university, 2002 [SPR04] Understanding Service-Oriented Architecture, Sprott D, Wilkes L, www.cbdiforum.com, 2004 [SUN07] Sun, Service Oriented Architecture (SOA, http://www.sun.com/products/soa/, 2007 [TEL07] Telematica instituut, www.telin.nl, 2007 [W3C04] Web Services Glossary, Haas H, Brown A, http://www.w3.org/TR/ws-gloss/ , 2004 [WAC01] Ontology-Based Integration of Information, A Survey of Existing Approaches, Wache H, Vögele E, Visser U, Stuckenschmidt H,Schuster G, Neumann H, Hübner S, In Proceedings of the IJCAI-01 Workshop: Ontologies and Information Sharing, 2001 [WAG01] DYA: snelheid en samenhang in business- en ICT-architectuur, Wagter R, Berg M vd, Luijpers J, Steenbergen M, Uitgeverij Tutein Nolthenius, ISBN 9072194624, 2001 [WFM07] The Workflow Management Coalition (WfMC)), www.wfmc.org, 2007 [XBR07] XBRL-Nederland, www.xbrl-nederland.nl, 2007
Henk vd Ridder,OU 834518719
12