About the Book |  Author Information |  Order Information |  Content Updates |  Papers and Talks |  SOAD |  Links |

SOA(D) Experience Reports

SOAD concepts applied to presales design and strategic outsourcing; knowledge modeling principles and practices 2006-2012

Capturing and sharing design knowledge such as architectural decisions is becoming increasingly important in firms providing professional Information Technology (IT) services such as enterprise application development and strategic outsourcing. Methods, models, and tools supporting explicit knowledge management strategies have been proposed in recent years; however, several challenges remain unaddressed. In this paper, we extend our previous work to overcome these challenges and to satisfy the requirements of an additional user group, presales architects that are responsible for IT service solution proposals. In strategic outsourcing, such solution proposals require complex, contractually relevant design decisions concerning many different resources such as IT infrastructures, people, and real estate. To support both presales and project architects, we define a common reference architecture and a decision process-oriented metamodel. We also present a tool implementation of these concepts and discuss their application to outsourcing proposals and application development projects. Finally, we establish twelve decision modeling principles and practices that capture the practical experience gained and lessons learned during the application of our decision modeling concepts to both proposal development and architecture design work on projects.

O. Zimmermann, C. Miksovic, J. M. Küster, Reference architecture, metamodel, and modeling principles for architectural knowledge management in information technology services. Journal of Systems and Software, vol. 85, no. 9, pp. 2014-2033, Sept. 2012, doi: dx.doi.org/10.1016/j.jss.2012.05.003

Find the published article here or download the author's version (pre-print).

Compliance by Design – Bridging the Chasm between Auditors and IT Architects (COSE Journal Paper)

System and process auditors assure – from an information processing perspective – the correctness and integrity of the data that is aggregated in a company’s financial statements. To do so, they assess whether a company’s business processes and information systems process financial data correctly. The audit process is a complex endeavor that in practice has to rely on simplifying assumptions. These simplifying assumptions mainly result from the need to restrict the audit scope and to focus it on the major risks. This article describes a generalized audit process. According to our experience with this process, there is a risk that material deficiencies remain undiscovered when said simplifying assumptions are not satisfied. To address this risk of deficiencies, the article compiles thirteen control patterns, which – according to our experience – are particularly suited to help information systems satisfy the simplifying assumptions. As such, use of these proven control patterns makes information systems easier to audit and IT architects can use them to build systems that meet audit requirements by design. Additionally, the practices and advice offered in this interdisciplinary article help bridge the gap between the architects and auditors of information systems and show either role how to benefit from an understanding of the other role’s terminology, techniques, and general work approach.

Find the published article here. Download the authors's version here.

SOAD overview article in IEEE Software (Jan/Feb 2011)

Architectural decisions are design decisions that are hard to make or costly to change. Hence, mature software engineering and architecture design methods emphasize the importance of architectural decision-making and capture. Capturing decisions after the fact is important, but many inhibitors limit its practice, such as the lack of immediate benefits. The author introduces a novel architectural decision modeling framework called Service-Oriented Architecture (SOA) Decision Modeling (SOAD) that supports repurposing architectural decisions from documentation artifacts to design guides. The SOAD metamodel distinguishes decisions required from decisions made. The article presents several examples dealing with pattern-based SOA design. It also discusses SOAD usage scenarios, which include education, knowledge exchange, design method, review technique, and governance instrument.

Find the article in the free Digital Edition of the Jan/Feb 2011 issue of IEEE Software here. It also appears in the CS digital library.

Industrial Case Study: Architectural Knowledge in an SOA Infrastructure Reference Architecture (Book Chapter)

Features knowledge management strategy and reusable assets, architecture design work products in reference architetcure, reusable architetcural decision model, integration with other artifacts, user feedback, knowledge harvesting process, best practices. The chapter presents an industrial case study for the creation and usage of architectural knowledge. To establish the context of our usage of architectural knowledge, the chapter introduces business domain, service portfolio, and knowledge management approach of the company involved in the case in a first section. This first section briefly reviews general architectural concepts such as viewpoints, methods, and reference architectures. Next, the chapter introducs a Service-Oriented Architecture (SOA) infrastructure reference architecture as a primary carrier of architectural knowledge in this company. Moreover, the harvesting of architectural knowledge from industry projects is presented, as well as feedback from early reference architecture users.

Find the book chapter online.

SOA Concepts and Web Services Technologies Managing a Complex Scientific Experiment at CERN

On January 23, 2008, Ildefons Magrans de Abril, the Technical Coordinator of the CMS Trigger Software project at CERN, Geneva, presented a SOA and Web services case study at the IBM Zurich Research Lab: The experiments CMS (Compact Muon Solenoid) and ATLAS (A Toroidal LHC Apparatus) at the Large Hadron Collider (LHC) are the greatest exponents of the rising complexity in High Energy Physics (HEP) data handling instrumentation. In this context, the design and development of control systems is a major endeavor: Tens of millions of readout channels, tens of thousands of hardware boards and the same order of connections are figures of merit. However the hardware volume is not the only complexity dimension, the unprecedented large number of research institutes and scientists that form the international collaborations, and the long design, development, commissioning and operational phases are additional factors that must be taken into account. This talk discusses how web services based solutions helped to manage the unprecedented complexity to design and develop the CMS online software infrastructure: The CMS distributed programming frameworks and a concrete control system are discussed in detail.

Download Ildefons' presentation here.

Successful BPEL Project in the Telecommunications Industry

On this project, challenging requirements such as complexity of business process models and multi-channel accessibility turned out to be true proof points for the applied SOA concepts, tools, and runtime environments. To implement an automated and secured business-to-business Web services channel and to introduce a process choreography layer into a large existing application were two of the key requirements that had to be addressed. The solution complies with the Web Services Interoperability Basic Profile 1.0 and makes use of executable business process models defined in the Business Process Execution Language (BPEL). This paper discusses the rationale behind the decision for SOA, process choreography, and Web services, and gives an overview of the BPEL-centric process choreography architecture. Furthermore, it features lessons learned and best practices identified during design, implementation, and rollout of the solution.

Download the OOPSLA 2005 practitioner report Service-Oriented Architecture and Business Process Choreography in an Order Management Scenario and find a BPM/SOA design lecture which features a generalized version of the solution here.

Second Generation Web Services-Oriented Architecture in Production in the Finance Industry

This report discusses the rationale behind the decision for Web services, and gives an architectural overview of the integration approach. Furthermore, it features the lessons learned and best practices identified during the design, implementation and rollout of the solution.

Download the OOPSLA 2004 practitioner report here.

Case Study from the Finance Industry (Slightly Older Journal Version)

A white paper co-authored by Olaf Zimmermann discussing a case study from the finance industry.

Download the paper here.

Research Papers on Service-Oriented Analysis and Design, Architectural Knowledge Management and other Topics

Decisions Required vs.Decisions Made: Connecting Enterprise Architects and Solution Architects via Guidance Models (Chapter 10 of "Aligning Enterprise, System, and Software Architectures")

Abstract: Contemporary enterprise architecture frameworks excel at inventorying as-is and at specifying to-be architecture landscapes; they also help enterprise architects to establish governance processes and architectural principles. Solution architects, however, expect mature frameworks not only to express such fundamental design constraints, but also to provide concrete and tangible guidance how to comply with framework building blocks, processes, and principles – a route planner is needed in addition to maps of destinations. In this chapter, the authors show how to extend an existing enterprise architecture framework with decision guidance models that capture architectural decisions recurring in a particular domain. Such guidance models codify architectural knowledge by recommending proven patterns, technologies, and products; architectural principles are represented as decision drivers. Owned by enterprise architects but populated and consumed by solution architects, guidance models are living artifacts (reusable assets) that realize a lightweight knowledge exchange between the two communities – and provide the desired route planners for architectural analysis, synthesis, and evaluation.

This chapter appears in "Aligning Enterprise, System, and Software Architectures" edited by Ivan Mistrik, Antony Tang, Rami Bahsoon, Judith A. Stafford. Copyright 2013, IGI Global. Posted by permission of the publisher.

Download the chapter or find the entire book here.

Architectural Decision Identification in Architectural Patterns and Issue Catalog for SOA and Enterprise Application Development

Abstract: When modeling recurring architectural decisions for reuse, the boundaries of the knowledge asset under construction must be defined in a scoping step. This paper introduces and combines two supporting concepts for this step, pattern-centric decision identification rules and generic meta issues; one particular meta issue catalog is also presented. The resulting general-purpose decision identification method is validated by identifying 35 decisions that recur in enterprise application development and service-oriented architecture design.

Download the paper here.

Managing Artifacts with a Viewpoint-Realization Level Matrix (Chapter 15 of "Relating Software Requirements and Architectures", Springer-Verlag, 2011)

Abstract: We propose an approach to artifact management in software engineering that uses an artifact matrix to structure the artifact space of a project along stakeholder viewpoints and realization levels. This matrix structure provides a basis on top of which relationships between artifacts can be defined, such as consistency constraints, tracebility links and model transformations. The management of all project artifacts and their relationships supports collaboration across different roles in the development process as well as change management and agile practices. Our approach is highly configurable to facilitate adaptation to di erent development methods and processes. It provides a basis to develop and/or to integrate generic tools that can flexibly support such di erent methods. In particular, it can be leveraged to improve the transition from requirements analysis to architecture design.

Find the Springer book here or download the authors' version (pre-print) of the chapter.

Managing Architectural Decision Models with Dependency Relations, Integrity Constraints, and Production Rules (JSS Article)

Abstract: Software architects consider capturing and sharing architectural decisions increasingly important; many tacit dependencies exist in this architectural knowledge. Architectural decision modeling makes these dependencies explicit and serves as a foundation for knowledge management tools. In practice, however, text templates and informal rich pictures rather than models are used to capture the knowledge; a formal definition of model entities and their relations is missing in the current state of the art. In this paper, we propose such a formal definition of architectural decision models as directed acyclic graphs with several types of nodes and edges. In our models, architectural decision topic groups, issues, alternatives, and outcomes form trees of nodes connected by edges expressing containment and refinement, decomposition, and triggers dependencies, as well as logical relations such as (in)compatibility of alternatives. The formalization can be used to verify integrity constraints and to organize the decision making process; production rules and dependency patterns can be defined. A reusable architectural decision model supporting service-oriented architecture design demonstrates how we use these concepts. We also present tool support and give a quantitative evaluation.

Find the published article here or download the authors' version (pre-print).

Dagstuhl Seminar on Software Service Engineering (SSE) and ICSE PESOS workshop paper with SSE research directions

Abstract (PESOS): Service-Oriented Architecture (SOA) constitutes a modern, standards-based and technology-independent paradigm and architectural style for distributed enterprise computing. The SOA style promotes the publishing, discovery, and binding of loosely-coupled, network-accessible software services. With SOA systems operating in distributed and heterogeneous execution environments, the engineers of such systems are confined by the limits of traditional software engineering. In this position paper, we scrutinize the fundamental tenets underpinning the development and maintenance of SOA systems. In particular, we introduce software service engineering as an emerging discipline that entails a departure from traditional software engineering disciplines, embracing the open world assumption. We characterize software service engineering via seven defining tenets. Lastly, we survey related research challenges.

Click here for the PESOS paper on SSE and here for the Dagstuhl seminar summary.

SOAD at WICSA 2008, WWW 2008, ECOWS 2007, ICSOC 2007, QOSA 2007, SEKE 2007, SEMSOA 2007, and DEXA SPatterns 2007

We presented results from the SOA Decision Modeling (SOAD) project at conferences and workshops such as WICSA 2008, WWW 2008, ECOWS 2007, ICSOC 2007, QOSA 2007, SEKE 2007, and SEMSOA 2007. The ICSOC conference paper defines conceptual decisions and patterns for transactional workflows in SOA. The QOSA conference paper describes a decision capturing meta model, decision making steps, and the structure of the SOA design space (MDA layering). The SEMSOA workshop paper, describes the active, guiding role of the decision model and the required model transformations. The SEKE conference paper outlines a supporting tool architecture and a prototypical implementation of it that leverages an application wiki.

Click here for more information on selected papers from the SOAD project.

SOA Decision Modeling (SOAD) positioning paper from
OOPSLA 2006 SOA and Web Services Best Practices and Methodologies Workshop

On Service-Oriented Architecture (SOA) delivery projects, practitioners concern themselves with the characteristics of good services and how such services can be designed. For instance, they look for advice regarding interface granularity and criteria to assess whether existing software assets are fit for reuse in SOA environments. In this paper, we position architectural decision modeling as a prescriptive service realization technique. We propose a multidimensional SOA decision catalog, separating platform-independent from platform-specific concerns and supporting dependency management. The catalog is positioned in a three-stage model transformation chain for SOA.

Reference as: Zimmermann O., Koehler J., Leymann F., The Role of Architectural Decisions in Model-Driven Service-Oriented Architecture Construction. In: Skar, L.A., Bjerkestrand A.A. (eds.), Best Practices and Methodologies in Service-Oriented Architectures (OOPSLA 2006 Workshop), Unipub (2006)

Service modeling paper from
INFORMATIK 2005 SOA Workshop

Service-Oriented Architectures (SOAs) have been established as an IT strategy to support the on demand goal of business agility. Web services standards and their implementations are key enablement technologies for SOA which are maturing rapidly. There is a growing body of successful implementations of these technologies. However, experience of solving the wider business and architectural issues involved in designing a high-quality SOA for a particular enterprise still stands at an early stage. In this paper, we motivate the need for service modeling methodologies as means of tackling the external design of a business-focused SOA, identify some of the available candidate assets, and discuss how existing artefacts such as UML analysis diagrams can be leveraged for service modeling.

Published in Lecture Notes für Informatik 2005, INFORMATIK 2005 - Informatik LIVE! Band 2, Beitraege der 35. Jahrestagung der Gesellschaft für Informatik e.V. (GI), Bonn, 19. bis 22. September 2005 (ISBN: 3-88579-396-2), © Gesellschaft für Informatik, 2005

Original SOAD Article on IBM developerWorks

Elements of Service-Oriented Analysis and Design


Other Articles

Web Services Project Roles

Software Service Engineering (SSE) and SOAD research papers
Decisions Required vs. Decisions Made (SOAD and TOGAF)
Compliance by Design (CAVR properties & control patterns)
SOAD overview article (IEEE Software)
SOA Infrastructure Reference Architecture (SOAI RA)
OOPSLA practitioner report
featuring a successful
BPEL go-live in the telecommunications industry

Second Generation
Web Services-Oriented Architecture
in Production in the Finance Industry

Journal article on SOAD concepts, content and tool
Conference papers on SOAD concepts, content and tool
Elements of Service-Oriented Analysis and Design (SOAD)
Web Services Project Roles
SOA and Web services at CERN

© 2003-2012 by Olaf Zimmermann - all rights reserved