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.
Preview
Unable to display preview. Download preview PDF.
Similar content being viewed by others
References
[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)
[Active Endpoints 2007] Active Endpoints. ActiveBPEL Open Source Engine (2007), http://www.active-endpoints.com/active-bpel-engine-overview.htm
[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)
[Barry 2003] Barry, D.K.: Web Services and Service-oriented Architectures. Morgan Kaufmann Publishers, San Francisco (2003)
[BPMN2BPEL 2008] bpmn2bpel. A tool for translating BPMN models into BPEL processes (2008), http://code.google.com/p/bpmn2bpel/
[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)
[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/
[Dikmans 2008] Dikmans, L.: Transforming BPMN into BPEL: Why and How (2008), http://www.oracle.com/technology/pub/articles/dikmans-bpm.html
[D’Souza and Wills 1999] D’Souza, D., Wills, A.: Objects, Components and Frameworks with UML: The Catalysis Approach. Addison-Wesley, Reading (1999)
[Emmerich 2000] Emmerich, W.: Engineering Distributed Objects. Wiley & Sons, Chichester (2000)
[Enhydra 2008] Enhydra. Enhydra Shark (2008), http://www.enhydra.org/workflow/shark/index.html
[Evans 2004] Evans, E.: Domain-Driven Design. Addison-Wesley, Reading (2004)
[Fornax 2008] Fornax Project. Sculptor (2008), http://www.fornax-platform.org/cp/display/fornax/Sculptor+CSC
[Gamma et al. 1994] Gamma, E., Helm, R., Johnson, R., Vlissides, J.: Design Patterns: Elements of Reusable Object-Oriented Software. Addison-Wesley, Reading (1994)
[GFT 2007] GFT. GFT Inspire Business Process Management (2007), http://www.gft.com/gft_international/en/gft_international/Leistungen_Produkte/Software/Business_Process_Managementsoftware.html
[Hentrich 2004] Hentrich, C.: Six patterns for process-driven architectures. In: Proceedings of the 9th Conference on Pattern Languages of Programs, EuroPLoP 2004 (2004)
[Hohpe et al. 2003] Hohpe, G., Woolf, B.: Enterprise Integration Patterns. Addison-Wesley, Reading (2003)
[IBM 2008] IBM, WebSphere Software (2008), http://www-01.ibm.com/software/websphere/
[iWay 2007a] iWay Software. iWay Adapter Technologies (2007), http://www.iwaysoftware.jp/products/integrationsolution/adapter_manager.html
[iWay 2007b] iWay Software. iWay Adapter Manager Technology Brief (2007), http://www.iwaysoftware.jp/products/integrationsolution/adapter_manager.html
[JBoss 2007] JBoss. JBoss jBPM (2007), http://www.jboss.com/products/jbpm
[Josuttis 2007] Josuttis, N.M.: SOA in Practice - The Art of Distributed System Design. O’Reilly, Sebastopol (2007)
[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)
[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)
[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)
[Manolescu 2002] Manolescu, D.A.: Workflow enactment with continuation and future objects. ACM SIGPLAN Notices 37(11) (November 2002)
[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)
[Mellor and Balcer 2002] Mellor, S.J., Balcer, M.J.: Executable UML: A Foundation for Model Driven Architecture. Addison-Wesley, Reading (2002)
[Mittal and Kanchanavally 2008] Mittal, K., Kanchanavally, S.: Introducing Java Page Flow Architecture (2008), http://www.developer.com/open/article.php/10930_3531246_1
[Mule 2007] Mule Project. Mule open source ESB (Enterprise Service Bus) and integration platform (2007), http://mule.mulesource.org/
[Novell 2008] Novell. Novell exteNd Director 5.2 (2008), http://www.novell.com/documentation/extend52/Docs/Start_Director_Help.html
[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)
[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)
[ServiceMix 2007] Apache ServiceMix Project. Apache ServiceMix (2007), http://www.servicemix.org/
[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)
[Schümmer and Lukosch 2007] Schümmer, T., Lukosch, S.: Patterns for computer-mediated interaction. Wiley & Sons, Chichester (2007)
[Stahl and Völter 2006] Stahl, T., Völter, M.: Model-Driven Software Development. John Wiley & Sons, Chichester (2006)
[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)
[Vogel 2001] Vogel, O.: Service abstraction layer. In: Proceedings of EuroPlop 2001, Irsee, Germany (July 2001)
[webMethods 2007] webMethods. webMethods Fabric 7 (2007), http://www.webmethods.com/products/fabric
[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)
[Workflow Patterns 2008] Workflow Patterns home page (2008), http://www.workflowpatterns.com/
[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)
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2009 Springer-Verlag Berlin Heidelberg
About this chapter
Cite this chapter
Hentrich, C., Zdun, U. (2009). A Pattern Language for Process Execution and Integration Design in Service-Oriented Architectures. In: Noble, J., Johnson, R. (eds) Transactions on Pattern Languages of Programming I. Lecture Notes in Computer Science, vol 5770. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-642-10832-7_6
Download citation
DOI: https://doi.org/10.1007/978-3-642-10832-7_6
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-642-10831-0
Online ISBN: 978-3-642-10832-7
eBook Packages: Computer ScienceComputer Science (R0)