Skip to the main content

Original scientific paper

Programming Language Design for Event-Driven Service Composition

Siniša Srbljić ; Faculty of Electrical Engineering and Computing, University of Zagreb, Zagreb, Croatia
Dejan Škvorc orcid id orcid.org/0000-0003-2803-773X ; Faculty of Electrical Engineering and Computing, University of Zagreb, Zagreb, Croatia
Daniel Skrobo ; Ericsson Nikola Tesla d.d., Zagreb, Croatia


Full text: english pdf 1.297 Kb

page 374-386

downloads: 2.055

cite


Abstract

To adapt to rapidly changing market conditions and increase the return of investment, today’s IT solutions usually combine service-oriented architecture (SOA) and event-driven architecture (EDA) that support reusability, flexibility, and responsiveness of business processes. Programming languages for development of event-driven service compositions face several main challenges. First, a language should be based on standard service composition languages to be compatible with SOA-enabling technologies. Second, a language should enable seamless integration of services into event-driven workflows. Third, to overcome a knowledge divide, language should enable seamless cooperation between application developers with different skills and knowledge. Since WS-BPEL is widely accepted as standard executable language in SOA, we extended WS-BPEL with support for event-driven workflow coordination. We designed event-handling mechanisms as special-purpose Coopetition services and augmented WS-BPEL with primitives for their invocation. Coopetition services augment SOA with fundamental EDA characteristics: decoupled interactions, many-to-many communication, publish/subscribe messaging, event triggering, and asynchronous operations. To make the application development familiar to wide community of developers, we designed an application-level end-user language on top of WS-BPEL whose primitives for invocation of regular Web services and Coopetition services resemble the constructs of typical scripting and coordination language.

Keywords

Service composition; Service-oriented event-driven programming; Programming language design

Hrčak ID:

65060

URI

https://hrcak.srce.hr/65060

Publication date:

10.3.2011.

Article data in other languages: croatian

Visits: 3.483 *