Izvorni znanstveni članak
Programming Language Design for Event-Driven Service Composition
Siniša Srbljić
; Fakultet elektrotehnike i računarstva Sveučilišta u Zagrebu, Zagreb, Hrvatska
Dejan Škvorc
orcid.org/0000-0003-2803-773X
; Fakultet elektrotehnike i računarstva Sveučilišta u Zagrebu, Zagreb, Hrvatska
Daniel Skrobo
; Ericsson Nikola Tesla d.d., Zagreb, Hrvatska
Sažetak
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.
Ključne riječi
Service composition; Service-oriented event-driven programming; Programming language design
Hrčak ID:
65060
URI
Datum izdavanja:
10.3.2011.
Posjeta: 3.483 *