Appendix: Related and Referenced Patterns

Overview of Related Patterns

In this section, we give a brief overview of some related pattern material that could be interesting for further reading on specific topics.

Much related work taking process perspectives in conjunction with patterns can be found in the workflow and process domains. Many languages have been proposed for the design and specification of workflow processes. Similarly, languages and tools have been proposed for business process modeling (e.g., extended event-driven process chains [EPCs] in ARIS and various Unified Modelling Language (UML) profiles). Also, in other domains such as Enterprise Resource Planning (ERP), Customer Relationship Management (CRM), Product Data Management (PDM), and Web services, languages have been proposed to model processes and other perspectives such as the organization and data perspective. Some of these languages are based on well-known modeling techniques such as Petri Nets and UML. Other languages are system specific.

The work on workflow patterns conducted by van der Aalst et al. was the first attempt to collect a structured set of patterns at the level of process-aware information systems (summarized in [Wor08, AHKB03]). Several authors have used these workflow patterns to evaluate existing workflow management systems or newly designed workflow languages. The work has also been augmented with other pattern collections, such as service interaction patterns [BDH05]. These works on patterns strongly focus on the workflow perspective and do not take an overall architectural perspective. The workflow patterns rather address finer-grained structural elements of workflows than software patterns as emergent design solutions.

Other authors have used the term workflow patterns or similar terms also, but they addressed different issues. In [WMH00], a set of workflow patterns inspired by language/action theory and specifically aiming at virtual communities was introduced. Patterns at the level of workflow architectures rather than control flows were given in [MB97]. Collaboration patterns involving the use of data and resources were described in [Lon98]. Patterns for exception handling in process execution languages were introduced in [RAH06]. Schümmer and Lukosch provided patterns for human-computer interaction [SL07], and some of them include process or service perspectives.

Buschmann, Henney, and Schmidt described many software architecture patterns for distributed systems [BHS07a] and integrated patterns from different sources in a consistent manner to provide a comprehensive summary on architecture patterns. However, these distributed systems architecture patterns do not address SOAs specifically.

The Pattern-Oriented Software Architecture book introduced a number of general architectural patterns [BMR+96]. These are implicitly used in our pattern language. For instance, it is assumed in a service-oriented architecture (SOA) that a BROKER architecture is used.

The enterprise integration patterns [HW03] are also related to this work as they mainly describe asynchronous messaging solutions. This communication paradigm is often used in process-driven SOAs. We have referenced these patterns in many cases in this book.

In a similar way, remoting patterns [VKZ04] that describe designs and architectures for distributed object middleware are related. We have provided details on these patterns in Chapter 3.

Specific architectural guidance for SOA construction is given in [Jos07]. However, this book focuses on neither process-driven SOAs nor patterns specifically and hence can be seen as complementary to our pattern language.

In his work on microworkflows [Man00, Man02], Manolescu provided a workflow approach that is used to realize mainly microflow-type workflows for object-oriented composition. The work is also based on patterns.

The typical tooling around process engines has been described in pattern form by Manolescu (see [Man04]). These patterns can be used to link our rather architectural patterns on process engines, MACROFLOW ENGINE and microflow engine, to the tooling provided by concrete technologies.

Evans identified that it is not only design patterns but also many different types of patterns that are influential when developing systems in a certain domain [Eva04]. This work does not yet combine aspects of organizational flexibility with an SOA and pattern-based approach, however.

Erl proposed a number of SOA patterns [Erl09]. Most of Erl’s patterns mainly focused on either generic Web service infrastructure or abstract principles. They can be seen as complementary to this book as they do not cover the process-driven perspective.

Rob Daigenau is currently writing a book on SOA patterns. This work focuses on patterns situated at the same layer as discussed in Erl’s book, but it is more technically detailed.

Thumbnails of Referenced Patterns

Some patterns are directly related to and referenced in the patterns and other parts of this book. These patterns and their sources are summarized in the following table:

Images Images Images Images Images Images Images Images Images Images Images
..................Content has been hidden....................

You can't read the all page of ebook, please click here login for view all page.
Reset
3.144.39.16