BEKK var også i år invitert til OOPSLA - det internasjonalt mest anerkjente fagforumet for systemarkitekter og forskere innenfor objektorientert teknologi. Målet med årets deltagelse var å dele erfaringer med andre om bruk av SOA og web-services, samt å enes om en omforent definisjon av SOA. Åtte selskap og forskergrupper fra hele verden holdt innlegg rundt disse temaene - blant dem Teknologidirektør Lars Arne Skår i BEKK. Hans innlegg hadde tittelen: Web-oriented services provide new challenges and opportunities. Her følger et kort reisebrev.
SOA-workshopen var organisert av Dr. Amir Zeid fra det amerikanske universitetet i Egypt, samt Ali Arsanjani, Kerrie Holley og Kyle Brown fra IBM. Sistnevnte jobber aktivt med å definere SOA og konsepter rundt SOA. Ali og Kerrie innledet workshopen med sitt arbeid knyttet til definisjon og konsepter. Dette arbeidet har resultert i blant annet følgende papers på developerWorks:
- How to identify, specify, and realize services for your SOA
- An interdisciplinary modeling approach for SOA projects
Status for SOA
SOA (tjeneste-orientert arkitektur) og web-services har den siste tiden fått økt interesse og oppmerksomhet, også her hjemme. Det spås at dette paradigmet vil endre måten software løsninger konstrueres, designes, leveres og blir brukt.
Utfordringen er at paradigmet fortsatt er såpass nytt at definisjonene enda er noe uklare, og utbredelsen er liten. Workshopen hadde som mål å forbedre dette, med blant annet å få fram en omforent definisjon blant deltakerne, samt se på metodikker, patterns, dynamisk rekonfigurasjon og metrikker for å understøtte utvikling av løsninger basert på SOA.
Til tross for den korte tiden, og at svært få kjente hverandre fra før, fikk workshopen produsert relevant materiale knyttet til definisjon, metodikk og beste praksiser som ble utstilt under konferansen.
Definisjonen av SOA
Det ble utviklet følgende omforente definisjonen av SOA:
"A SOA is an enterprise-scale IT architecture for linking resources on demand where the primary structuring element for applications is a service. These resources are represented as business aligned services which can participate and be composed in a value net, enterprise or line of business to fulfil business needs"
Utgangspunktet var en definisjon som Kerrie Holly og Ali Arsanjani fra IBM har stått bak. Kjernen bak denne definisjonen er en service med følgende definisjon:
"A Service is a discoverable software resource which has a service description. The service description is available for searching, binding and invocation by a service consumer. The service description implementation is realized through a service provider who delivers quality of service requirements for the service consumer. Services can be governed by declarative policies."
En viktig årsak til dette relativt sett konkrete og matnyttige bidraget, var et høyt nivå på deltakerne med relevante bidrag så vel fra bransjen og akademia, og med reflekterte syn på hva som faktisk er viktig for å få SOA til å bety noe, og hvilke områder det bør fokuseres på.
Kort om bidragene
Bidragene er kort oppsummert som følger:
Lange papers (forskningsarbeid):
Building and Reusing Web services choreographies by using Aspect Oriented Technology. Guadalupe Ortiz, Juan Hernández, Pedro J. Clemente, University of Extremadura (Spain)
Guadalope presenterte en praktisk vinkling rundt hvordan man kan definere koreografien mellom tjenestene på en måte som samtidig er modulær, gjenbrukbar og skalerbar. Det viser seg at med dagens teknikker så vil en sammensetning i praksis medføre tette koplinger mellom flyten og de tjenestene som brukes i flyten.
Dette strider mot intensjonen til en god tjeneste. I praksis blir selve flyten ikke gjenbrukbar. Hun presenterte en teknikk hvor man ved hjelp av aspekt-orientert utvikling og Java Web-Service Developer Package (JWSDP) kunne definere selve interaksjonen mellom tjenestene som aspekter istedenfor hard-kodet tjeneste-logikk for å binde tjenestene sammen.
Presentasjonen trigget en diskusjon om andre aktuelle teknikker for å oppnå noe av det samme; herunder bruk av BPEL4WS som nå holder på å defineres. Deltakerne benyttet også anledningen til å diskutere forskjellen mellom koreografi og orkestrering, men endte opp med å avdekke at det i praksis er liten forskjell, da koreografien også må styres et sted (som følgelig vil være det samme som orkestrering).
Extending Web Service Flow Models to Provide for Adaptability Dimka Karastoyanova, Technische Universität Darmstadt (Germany).
Dimka presenterte en mer abstrakt tilnærming enn Guadalope og presenterte et behov for å definere en meta-modell for prosess definisjon med utgangspunkt i samme problemstilling; det å knytte sammen tjenester; spesifikt ved hjelp av web services og arbeidsflyt teknikker.
Hun tok spesielt opp behovet for å understøtte dynamisk tilpasning av bruken av tjenestene, da dette ikke er støttet av dagens teknikker for definisjon av arbeidsflyt. Innlegget presenterte konstruksjoner for å understøtte slike tilpasninger på en implementasjons-uavhengig måte.
Context Meets Web Services: Towards a Web Service Description Language Based on Context. Soraya Kouadri Most´efaoui, Computer Sciences Department, University of Fribourg (Switzerland).
Soroya presenterte sitt arbeid med definisjon av et språk (CWSDL) for kontekst-avhengige tjenester, hvor målet er å knytte kontekst mot WSDL til en web-service. Formålet med dette er at konteksten brukeren er i (forbrukeren til en web-service) skal styre hvilken tjeneste som skal benyttes der flere leverandører kan levere den samme tjenesten. Kontekst kan være forhold som krav til svartid, geografi, belastning på tjenesten etc. Konteksten kan følgelig bidra til å velge den optimale tjenesten utfra forholdene som gjelder.
Interessant i denne sammenheng er at de benytter Ontology Web Language (OWL) for å definere ontologien til kontekst funksjonen. OWL kan også være aktuelt i andre sammenhenger hvor det er viktig å definere ontologien for en tjeneste.
Korte papers (praktiske erfaringer):
TDXML: Table Driven XML, Alex Ng, Department of Computing, Macquarie University (Australia).
Alex presenterte teknikker for å optimalisere ytelsen rundt utveksling av meldinger ved XML. Bakgrunnen for det, er hans erfaringer med at SOAP brukt på en smart måte kan gi svært bra ytelse samtidig som man bevarer fordelen med en lesbar representasjon av XML-filen. Teknikken har han kalt tabell-drevet XML, hvor han blant annet presser sammen XML-filen til en flat struktur, hvor hierarkiet er representert som en streng av koder framfor det tradisjonelle tekst-baserte hierarkiet.
Web- oriented services provide new challenges and opportunities, Lars Arne Skår, BEKK Consulting (Norway).
Lars Arne presenterte erfaringer de siste 14 årene rundt bruk av tjenester både før og etter web-services. Tiden før web-services demonstrerte relativt sett flere tekniske problemer enn tiden etter, selv om selve konseptene egentlig ikke var så forskjellige. Det er i praksis ingen nye integrasjons-teknikker som tas i bruk, men terskelen for å få til integrasjon er redusert. Imidlertid så har økt integrasjons-evne og økt bruk av tjenester medført mer komplekse tjenester som igjen har ført til mer komplekse og abstrakte datastrukturer hvor strukturen på selve innholdet er svært kritisk for at løsningen i det hele tatt skal fungere. Dette medfører at både mottaker og avsender må kunne forstå innholdet på samme måte. Dette kan løses ved å definere verdirom og taksonomi på innholdet. Verdirommet kan valideres ved bruk av XML Schema, mens taksonomien i dag må valideres prosedyrelt, dvs. ved hjelp av kode spesifikt til tjenesten.
Hensikten med bidraget er å rette trykk på at SOA må understøtte denne semantiske strukturen så vel som selve kommunikasjonen. Presentasjonen trigget en diskusjon hvor dette egentlig hørte hjemme – om det var en del av datamodellen eller noe annet. Det var imidlertid enighet om at det er viktig å betrakte det som en del av SOA, og en erkjennelse av at dette så langt er svakt dekket av bransjen.
Lessons Learned from Developing Integrated Web Services. Rieko Yamamoto, K. Ohashi, K. Yamamoto, J. Inomata, and T. Matsuda, Fujitsu Ltd. (Japan).
Rieko presenterte praktisk bruk av web services i Japan; rent konkret knyttet til en portal for å understøtte fanklubber til japanske popstjerner. I denne prosessen hadde de aktivt brukt UML notasjon og objekt-orienterte teknikker til analyse, design og utvikling. Notasjonen og teknikkene er godt etablert i Japan.
Erfaringene viste at aktivitetsdiagrammer fungerte effektivt for innsamling av funksjonelle krav, klassediagrammer ble brukt for spesifikasjon av grensesnitt (interface) og den statiske strukturen i tjenesten, og sekvensdiagram for tjenestens oppgave. De erfarte også at grensesnittet bør defineres tidligere enn det som er vanlig ved normal utvikling.
Autonomic Computing and Web Services Composition; A tale of two technologies. Mohamed Abd-El-Razik, The American University in Cairo.
Mohamad har valgt dette temaet for sin hovedoppgave på universitetet. Han ser på muligheter for å utnytte egenskaper med web services for å gjøre de selvkonfigurerende, selv-testende og selv-justerende. I teorien er dette et interessant konsept, men tilbakemeldinger fra gruppen indikerte at web-services egentlig ikke er designet for den type bruk, og at ytelsen muligens ikke vil være god nok i praksis.
Disse bidragene er publisert i Workshop Proceedings, ISBN 977-424-905-4 med tittelen Best Practices and Methodologies in Service-Oriented Architectures fra det amerikanske universitetet i Egypt.
Mer info om workshopen finnes her: http://www.cs.aucegypt.edu/~azeid/bpm.htm.