SOA(D) Experience Reports
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).
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.
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.
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.
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.
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.
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.
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
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.
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.
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 dierent
development methods and processes. It provides a basis to develop and/or to
integrate generic tools that can flexibly support such dierent methods. In particular,
it can be leveraged to improve the transition from requirements analysis to
Find the Springer book here or download the authors' version (pre-print) of the chapter.
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).
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.
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.
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-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