Posts met Tag ‘BPEL’

De (on)zin van SOA 2.0

19 December 2007 door Bastiaan Schaap in categorie SOA | Geen reacties »

Er is een tijdje geleden nogal opschudding ontstaan over de term SOA 2.0. Deze term is een tijdje geleden gelanceerd door Oracle en Gartner. Volgens Oracle en Gartner zou SOA 1.0 gaan over client-server stijl interacties, terwijl de nieuwe SOA een combinatie is van Event Driven Architecture (EDA) en SOA.

Maar op basis waarvan concluderen de ‘bedenkers’ van SOA 2.0 dat SOA 1.0 alleen client-server interactie betreft? Als er gekeken wordt naar de manier waarop services communiceren is er inderdaad een zendende partij (client) en ontvangende partij (server). Maar deze rollen kunnen zomaar omwisselen, bijvoorbeeld in het geval van een callback door een asynchrone service. Hierdoor lijkt de term client-server voor SOA 1.0 dan ook nogal arbitrair.

SOA, de naam zegt het al, gaat over architectuur. Het is vreemd om versienummers toe te kennen aan architecturele concepten en/of patterns. Zeker gezien het feit dat SOA een gehypte marketing term is voor een architectureel principe dat al jaren bestaat. SOA gaat immers over het zo onafhankelijk mogelijk koppelen (loosely coupling) van software componenten, met als doel deze componenten te herbruiken. Iets waar bijvoorbeeld de Object Management Group (OMG) in 1989 al mee bezig was, alleen heette het toen CORBA. Alleen in plaats van componenten praten we tegenwoordig over services. Was CORBA dan SOA 0.1?

(more…)

Hangende BPEL processen

17 December 2007 door Bastiaan Schaap in categorie Oracle, SOA, technology | Geen reacties »

Ik had pas geleden wat problemen met wait activities in BPEL. Bij grote loads op de SOA Suite bleek dat er regelmatig processen bleven ‘hangen’. Na wat rond zoeken op het OTN Forum, vond ik een post van Harald Reinmueller met een oplossingsrichting voor dit probleem.

Het blijkt dat de wait en onAlarm activities in BPEL worden afgehandeld met behulp van de open source Quartz library. Deze library levert timing functionaliteit. De BPEL Process Manager start standaard een aantal threads voor Quartz, die worden gebruikt voor de wait en onAlarm activities. Bij hoge belasting van de server kan het voorkomen dat al deze Quartz threads bezet zijn, waardoor nieuwe wait of onAlarm activities geen timer thread krijgen toegewezen. Het resultaat is dat het BPEL proces ‘hangt’.

(more…)