Adore Overview

An application in the Service Oriented Architecture (SOA) paradigm is an assembly of services that implements a business process. SOA applications can be defined as orchestrations of services. A SOA application is typically defined by business specialists and can involve many services that are orchestrated in a variety of ways. Furthermore, the need to extend an SOA application with new business features (to follow market trends) arises often in practice.

Existing tools and formalisms (e.g., BPMN notation, BPEL industrial language) are technologically–driven. They use a design-in-the-large approach and considerable effort can be expended when using them to develop and adapt large applications involving many services that are orchestrated in a variety of ways.

We propose a design-in-the-small driven framework to tame the complexity of orchestration design. Experts focus on the design of small process fragments, and let the complexity of composing all the fragments into a final application to dedicated algorithms.

Relations To Aspect Oriented Programming

Several approaches fill the gap between orchestrations and Aspect Oriented Programming (AOP) (e.g., [Charfi2004], [Courbis05Ø). These approaches rely on the BPEL language and impose to use dedicated BPEL execution engines to interpret the aspects. ADORE preaches technological independence and exposes itself as a model to support composition. Instead of interpreting “aspectized” BPEL code, ADORE aims to generate complete orchestrations of services, executable in any industrial engine.

One of the strength of ADORE is to focus on the so–called “Shared Join Points” (SJP,[Nagy05]) interactions spawn. We develop a set of rules to identify conflicting interactions between orchestration fragment at composition time. Instead of re–ordering the aspects to deal with conflicts around a SJP, we use an order-independent composition process. When interactions are detected, the user will enter knowledge at a fine-grained level (where coarse-grained is fragment re-ordering) to solve the conflict and then ease the interaction.

In [Klein07], authors propose a way to weave multiple aspects in UML sequence diagrams. They propose a very precise way to identify join points and express pointcuts, but their weaving methodology relies on a sequential aspect composition, where ADORE uses an order independent composition process.

Inspired by grid–computing community, ADORE proposes an algorithm to automatically enhance a process with set concerns. Considering a process p handling a scalar data d, the algorithm can automatically transform p into a process handling a set of data d* = {d1,…,d_n}.

Moreover, ADORE allows users or programs to extract information from its internal representation. we focus on process metrics extraction, inspired by well-known indicators like [LaueG06].

References

[2003, article]
Peltz, C. (2003). {Web Services Orchestration and Choreography}. Computer, 36(10), 46-52.
[2006, techreport | www]
MacKenzie, M., Laskey, K., McCabe, F., Brown, P., & Metz, R. (2006). {Reference Model for Service Oriented Architecture 1.0} (No. wd-soa-rm-cd1). OASIS.
[2005, inproceedings]
Nagy, I., Bergmans, L., & Aksit, M. (2005). {Composing Aspects at Shared Join Points}. Paper presented at the NODe/GSEM.
[2005, proceedings]
(2005). NODe 2005, GSEM 2005, Erfurt, Germany, September 20-22, 2005 (Net.ObjectDays). GI.
[2006, inproceedings]
Laue, R., & Gruhn, V. (2006). {Complexity Metrics for Business Process Models}. Paper presented at the BIS.
[2006, proceedings]
(2006). {Business Information Systems, 9th International Conference on Business Information Systems, BIS 2006, May 31 - June 2, 2006, Klagenfurt, Austria}. GI.
[2007, techreport | www]
OASIS. (2007). {Web Services Business Process Execution Language Version 2.0} OASIS.
[2006, manual | www]
White, S. A. (2006). {Business Process Modeling Notation (BPMN)}.
[2004, inproceedings | pdf]
Charfi, A., & Mezini, M. (2004). {Aspect-Oriented Web Service Composition with AO4BPEL}. Paper presented at the ECOWS.
[2005, inproceedings]
Courbis, C., & Finkelstein, A. (2005). {Weaving Aspects into Web Service Orchestrations}. Paper presented at the ICWS.
[2005, proceedings]
(2005). 2005 IEEE International Conference on Web Services (ICWS 2005), 11-15 July 2005, Orlando, FL, USA. IEEE Computer Society.
[2007, article]
Klein, J., Fleurey, F., & Jézéquel, J. M. (2007). {Weaving Multiple Aspects in Sequence Diagrams}. {Transactions on Aspect-Oriented Software Development (TAOSD)}, LNCS 4620, 167-199.

foundations/start.txt · Last modified: 2010/01/14 10:58 by mosser
www.chimeric.de Creative Commons License Valid CSS Driven by DokuWiki do yourself a favour and use a real browser - get firefox!! Recent changes RSS feed Valid XHTML 1.0