Advertisement

A Pattern Language for Process Execution and Integration Design in Service-Oriented Architectures

  • Carsten Hentrich
  • Uwe Zdun
Part of the Lecture Notes in Computer Science book series (LNCS, volume 5770)

Abstract

Process-driven SOAs are using processes to orchestrate services. Designing a non-trivial process-driven SOA involves many difficult design and architectural decisions. Examples are: Different kinds of processes exist: long-running, business-oriented and short-running, technical processes. How to best integrate them and how to map them to execution platforms? A SOA has many different stakeholders, such as business analysts, management, software designers, architects, and developers, as well as many different types of models these stakeholders need to work with. How to present each of them with the best view on the models they need for their work? A realistic process-driven SOA contains many systems that need to be integrated, such as various process engines, services, and backend systems, running on heterogeneous technologies and platforms. How to perform integration in a way that is maintainable and scalable? This article introduces a pattern language that deals with process modeling, execution, and integration. Its main goal is to help solution architects, as well as process and service designers, to master the challenges in designing a stable and evolvable process-driven SOA.

Keywords

Process-Driven Architecture SOA Integration Architecture 

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. [van der Aalst et al. 2003] van der Aalst, W.M.P., ter Hofstede, A.H.M., Kiepuszewski, B., Barros, A.P.: Workflow Patterns. Distributed and Parallel Databases 14(1), 5–51 (2003) CrossRefGoogle Scholar
  2. [Active Endpoints 2007] Active Endpoints. ActiveBPEL Open Source Engine (2007), http://www.active-endpoints.com/active-bpel-engine-overview.htm
  3. [Barros at al. 2005] Barros, A., Dumas, M., ter Hofstede, A.H.M.: Service interaction patterns. In: van der Aalst, W.M.P., Benatallah, B., Casati, F., Curbera, F. (eds.) BPM 2005. LNCS, vol. 3649, pp. 302–318. Springer, Heidelberg (2005) CrossRefGoogle Scholar
  4. [Barry 2003] Barry, D.K.: Web Services and Service-oriented Architectures. Morgan Kaufmann Publishers, San Francisco (2003) Google Scholar
  5. [BPMN2BPEL 2008] bpmn2bpel. A tool for translating BPMN models into BPEL processes (2008), http://code.google.com/p/bpmn2bpel/
  6. [Buschmann et al. 1996] Buschmann, F., Meunier, R., Rohnert, H., Sommerlad, P., Stal, M.: Pattern-Oriented Software Architecture - A System of Patterns. John Wiley and Sons Ltd., Chichester (1996) Google Scholar
  7. [Channabasavaiah 2003 et al.] Channabasavaiah, K., Holley, K., Tuggle, E.M.: Migrating to Service-oriented architecture – part 1, IBM developerWorks (2003), http://www-106.ibm.com/developerworks/webservices/library/ws-migratesoa/
  8. [Dikmans 2008] Dikmans, L.: Transforming BPMN into BPEL: Why and How (2008), http://www.oracle.com/technology/pub/articles/dikmans-bpm.html
  9. [D’Souza and Wills 1999] D’Souza, D., Wills, A.: Objects, Components and Frameworks with UML: The Catalysis Approach. Addison-Wesley, Reading (1999) Google Scholar
  10. [Emmerich 2000] Emmerich, W.: Engineering Distributed Objects. Wiley & Sons, Chichester (2000) Google Scholar
  11. [Enhydra 2008] Enhydra. Enhydra Shark (2008), http://www.enhydra.org/workflow/shark/index.html
  12. [Evans 2004] Evans, E.: Domain-Driven Design. Addison-Wesley, Reading (2004) Google Scholar
  13. [Fornax 2008] Fornax Project. Sculptor (2008), http://www.fornax-platform.org/cp/display/fornax/Sculptor+CSC
  14. [Gamma et al. 1994] Gamma, E., Helm, R., Johnson, R., Vlissides, J.: Design Patterns: Elements of Reusable Object-Oriented Software. Addison-Wesley, Reading (1994) Google Scholar
  15. [Hentrich 2004] Hentrich, C.: Six patterns for process-driven architectures. In: Proceedings of the 9th Conference on Pattern Languages of Programs, EuroPLoP 2004 (2004) Google Scholar
  16. [Hohpe et al. 2003] Hohpe, G., Woolf, B.: Enterprise Integration Patterns. Addison-Wesley, Reading (2003) Google Scholar
  17. [IBM 2008] IBM, WebSphere Software (2008), http://www-01.ibm.com/software/websphere/
  18. [iWay 2007a] iWay Software. iWay Adapter Technologies (2007), http://www.iwaysoftware.jp/products/integrationsolution/adapter_manager.html
  19. [iWay 2007b] iWay Software. iWay Adapter Manager Technology Brief (2007), http://www.iwaysoftware.jp/products/integrationsolution/adapter_manager.html
  20. [JBoss 2007] JBoss. JBoss jBPM (2007), http://www.jboss.com/products/jbpm
  21. [Josuttis 2007] Josuttis, N.M.: SOA in Practice - The Art of Distributed System Design. O’Reilly, Sebastopol (2007) Google Scholar
  22. [Lonchamp 1998] Lonchamp, J.: Process model patterns for collaborative work. In: Proceedings of the 15th IFIP World Computer Congress. Telecooperation Conference, Telecoop. Vienna, Austria (1998) Google Scholar
  23. [Meszaros and Brown 1997] Meszaros, G., Brown, K.: A pattern language for workflow systems. In: Proceedings of the 4th Pattern Languages of Programming Conference. Washington University Technical Report 97-34, WUCS-97-34 (1997) Google Scholar
  24. [Manolescu 2004] Manolescu, D.A.: Patterns for Orchestration Environments. In: The 11th Conference on Pattern Languages of Programs (PLoP2004), Allterton Park, Monticello, Illinois, September 8 - 12 (2004) Google Scholar
  25. [Manolescu 2002] Manolescu, D.A.: Workflow enactment with continuation and future objects. ACM SIGPLAN Notices 37(11) (November 2002) Google Scholar
  26. [Manolescu 2000] Manolescu, D.A.: Micro-Workflow: A Workflow Architecture Supporting Compositional Object-Oriented Software Development. Ph.D. Thesis and Computer Science Technical Report UIUCDCS-R-2000-2186, University of Illinois at Urbana-Champaign, October 2000, Urbana, Illinois (2000) Google Scholar
  27. [Mellor and Balcer 2002] Mellor, S.J., Balcer, M.J.: Executable UML: A Foundation for Model Driven Architecture. Addison-Wesley, Reading (2002) Google Scholar
  28. [Mittal and Kanchanavally 2008] Mittal, K., Kanchanavally, S.: Introducing Java Page Flow Architecture (2008), http://www.developer.com/open/article.php/10930_3531246_1
  29. [Mule 2007] Mule Project. Mule open source ESB (Enterprise Service Bus) and integration platform (2007), http://mule.mulesource.org/
  30. [Novell 2008] Novell. Novell exteNd Director 5.2 (2008), http://www.novell.com/documentation/extend52/Docs/Start_Director_Help.html
  31. [Riehle et al. 2001] Riehle, D., Fraleigh, S., Bucka-Lassen, D., Omorogbe, N.: The Architecture of a UML Virtual Machine. In: Proceedings of the 2001 Conference on Object-Oriented Programming Systems, Languages, and Applications (OOPSLA 2001), pp. 327–341. ACM Press, New York (2001) Google Scholar
  32. [Russel et al. 2006] Russell, N., van der Aalst, W.M.P., ter Hofstede, A.H.M.: Exception handling patterns in process-aware information systems. BPM Center Report BPM-06-04, BPMcenter.org (2006) Google Scholar
  33. [ServiceMix 2007] Apache ServiceMix Project. Apache ServiceMix (2007), http://www.servicemix.org/
  34. [Schmidt et al. 2000] Schmidt, D.C., Stal, M., Rohnert, H., Buschmann, F.: Patterns for Concurrent and Distributed Objects. In: Pattern-Oriented Software Architecture. J. Wiley and Sons Ltd., Chichester (2000) Google Scholar
  35. [Schümmer and Lukosch 2007] Schümmer, T., Lukosch, S.: Patterns for computer-mediated interaction. Wiley & Sons, Chichester (2007) Google Scholar
  36. [Stahl and Völter 2006] Stahl, T., Völter, M.: Model-Driven Software Development. John Wiley & Sons, Chichester (2006) Google Scholar
  37. [Tran et al. 2007]Tran, H., Zdun, U., Dustdar, S.: View-based and Model-driven Approach for Reducing the Development Complexity in Process-Driven SOA. In: Proceedings of International Conference on Business Processes and Services Computing, Leipzig, Germany (September 2007) Google Scholar
  38. [Vogel 2001] Vogel, O.: Service abstraction layer. In: Proceedings of EuroPlop 2001, Irsee, Germany (July 2001) Google Scholar
  39. [webMethods 2007] webMethods. webMethods Fabric 7 (2007), http://www.webmethods.com/products/fabric
  40. [Weigand et al. 2000] Weigand, H., de Moor, A., van den Heuvel, W.J.: Supporting the evolution of workflow patterns for virtual communities. Electronic Markets 10(4), 264 (2000) CrossRefGoogle Scholar
  41. [Workflow Patterns 2008] Workflow Patterns home page (2008), http://www.workflowpatterns.com/
  42. [Zdun et al. 2006] Zdun, U., Hentrich, C., van der Aalst, W.M.P.: A Survey of Patterns for Service-Oriented Architectures. International Journal of Internet Protocol Technology 1(3), 132–143 (2006) Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2009

Authors and Affiliations

  • Carsten Hentrich
    • 1
  • Uwe Zdun
    • 2
  1. 1.CSC Deutschland Solutions GmbHWiesbadenGermany
  2. 2.Distributed Systems Group, Information Systems InstituteVienna University of TechnologyViennaAustria

Personalised recommendations