Prof. Dr. Olaf Zimmermann
Olaf Zimmermann is a professor and institute partner at the Institute for Software at the University of Applied Sciences (HSR FHO) in Rapperswil, Switzerland. His areas of interest include Web-based application and integration architectures, SOA and cloud design, and architectural knowledge management. Previously, Olaf was a senior principal scientist at ABB Corporate Research and a research staff member and executive IT architect at IBM Research who investigated the role of architectural decisions in the design process.
From 1999-2005, Zimmermann worked as a solution architect and consultant, helping international clients in multiple industries build enterprise-scale SOA/Web services and Java Enterprise Edition solutions on professional services projects. In the beginning of his career, he was a scientific consultant and developer in the IBM European Networking Center (ENC) in Heidelberg, Germany, focusing on industry-specific middleware frameworks for systems and network management.
Zimmermann is a certified Open Group Distinguished (Chief/Lead) IT Architect and a member of the editorial board of IEEE Software. He is a regular conference speaker and instructor. He also is an author of Perspectives on Web Services (Springer, 2003) and contributed to several IBM Redbooks, including the first one on Eclipse and Web services (2001).
In this thesis, we investigated whether reusable architectural decision models can support Service-Oriented Architecture (SOA) design. In the current state of the art, architectural decisions are captured ad hoc and retrospectively on projects; this is a labor-intensive undertaking without immediate benefits. On the contrary, we investigate the role reusable architectural decision models can play during SOA design: We treat recurring architectural decisions as first-class method elements and propose an architectural decision modeling framework and a reusable architectural decision model for SOA which guide the architect through the SOA design. Our approach is tool supported.
Our framework is called SOA Decision Modeling (SOAD). SOAD provides a technique to systematically identify recurring decisions. Our reusable architectural decision model for SOA conforms to a metamodel supporting reuse and collaboration. The model organization follows Model-Driven Architecture (MDA) principles and separates long lasting platform-independent decisions from rapidly changing platform-specific ones. The alternatives in a conceptual model level reference SOA patterns. This simplifies the initial population and ongoing maintenance of the decision model. Decision dependency management allows knowledge engineers and software architects to check model consistency and prune irrelevant decisions. Moreover, a managed issue list guides through the decision making process. To update design artifacts according to decisions made, we inject decision outcome information into design model transformations. Finally, a Web-based collaboration system provides tool support for the framework steps and concepts.
The SOAD framework is not only applicable to enterprise application and SOA design, but also to other application genres and architectural styles. SOAD supports use cases such as education, knowledge exchange, design method, review technique, and governance instrument.
(53) O. Zimmermann, An Architectural Decision Modeling Framework for Service-Oriented Architecture Design, dissertation.de, 2009 (ISBN: 3-540-00914-0). (52) O. Zimmermann, M. Tomlinson, S. Peuser, Perspectives on Web Services, Applying SOAP, WSDL, and UDDI to Real-World Projects. Springer Professional Computing, 2003 (ISBN: 3-540-00914-0). (51) U. Wahli, M. Tomlinson, O. Zimmermann, W. Deruyk, D. Hendricks, Web Services Wizardry with WebSphere Studio Application Developer. IBM Redbook, 2002 (ISBN: 0-738-42335-1).
Reviewed papers in journals and proceedings
(50)M. Gysel, L. Kölbener, W. Giersche, O. Zimmermann, Service Cutter: A Systematic Approach to Service Decomposition, Proc. of ESOCC 2016, Springer LNCS.
(49)O. Zimmermann, Microservices Tenets: Agile Approach to Service Development and Deployment, Overview and Vision Paper., Proc. of Symposium and Advanced School on Service-Oriented Computing (SummerSoC), 2016
(48)H. Muccini, K. E. Harper, R. Heinrich, J. Bosch, N. Plouzeau, O. Zimmermann, L. Baresi, V. Cortellessa, Welcome Message from the Chairs of WICSA, QoSA and CBSE. Proc. of CBSE 20116.
(47)O. Zimmermann, C. Pautasso, G. Hohpe, B. Woolf, A Decade of Enterprise Integration Patterns: A Conversation with the Authors. , IEEE Software 33(1): 13-19 (2016)
(46) O. Zimmermann, Architectural Refactoring for the Cloud: a Decision-Centric View on Cloud Migration, Proc. of Symposium and Advanced School on Service-Oriented Computing (SummerSoC), 2015
(45) O. Zimmmermann, Metrics for Architectural Synthesis and Evaluation: Use Cases and Compilation by Viewpoint, Proc. of ICSE SAM 2015 (Second International Workshop on Software Architecture and Metrics)
(44) C. Carrillo, R. Capilla, O. Zimmermann, U. Zdun: Guidelines and Metrics for Configurable and Sustainable Architectural Knowledge Modelling, Proc. of ECSA SAGRA Workshop 2015
(43) O. Zimmermann, L. Wegmann, H. Koziolek, T. Goldschmidt, Architectural Decision Guidance across Projects, Proc. of. IEEE/IFIP WICSA 2015
(42) O. Zimmermann, Architectural Refactoring: A Task-Centric View on Software Evolution. IEEE Software 32(2): 26-29 (2015)
(41) C. Pautasso, O. Zimmermann, Seeking Your Insights. IEEE Software 32(2): 7-9 (2015)
(40) M. Anvaari, O. Zimmermann, Semi Automated Design Guidance Enhancer (SADGE): A Framework for Architectural Guidance Development, Proc. of ECSA 2014, Springer LNCS (2014).
(39) M. Anvaari, O. Zimmermann, Towards Reusing Architectural Knowledge as Design Guides, Proc. of the Twenty-Sixth International Conference on Software Engineering & Knowledge Engineering (SEKE), Knowledge Systems Institute (KSI) (2014).
(38) O. Zimmermann, H. Koziolek, IEEE Software, Program Highlights and Articles from SEI SATURN 2013, IEEE Software, Volume 31, Number 2 (2014).
(37) U. Zdun, R. Capilla, H. Tran, O. Zimmermann, Sustainable Architectural Design Decisions, IEEE Software, Volume 30, Number 6 (2013).
(36) G. Hohpe, R. Wirfs-Brock, J. Yoder, O. Zimmermann, Twenty Years of Software Patterns Impact, IEEE Software, Volume 30, Number 6 (2013).
(35) P. Lago, R. Kazman, N. Meyer, M. Morisio, H. A. Müller, F. Paulisch, G. Scanniello, B. Penzenstadler, O. Zimmermann, Exploring Initial Challenges for Green Software Engineering: Summary of the First GREENS Workshop, at ICSE 2012. ACM SIGSOFT Software Engineering Notes 38(1), 2013.
(34) O. Zimmermann, C. Miksovic, J. Küster, Reference Architecture, Metamodel and Modeling Principles for Architectural Knowledge Management in Information Technology Services. Journal of Systems and Software, Elsevier. Volume 85, Issue 9, Pages 2014-2033, Sept. 2012.
(33) O. Zimmermann, Architectural Decision Identification in Architectural Patterns. WICSA/ECSA Companion Volume 2012, Pages 96-103. (32) C. Miksovic, O. Zimmermann, Architecturally Significant Requirements, Reference Architecture and Metamodel for Knowledge Management in Information Technology Services (best paper). Proc. of IEEE/IFIP WICSA 2011 (2011). (31) O. Zimmermann, Architectural Decisions as Reusable Design Assets. IEEE Software, Volume 28, Issue 1, Pages 64-69, Jan./Feb. 2011. (30) K. Julisch, C. Suter, T. Woitalla, O. Zimmermann, Compliance by Design – Bridging the Chasm between Auditors and IT Architects. Computers & Security, Elsevier. Volume 30, Issue 6-7, Sep.-Oct. 2011. (29) R. Capilla, O. Zimmermann, U. Zdun, P. Avgeriou, J. M. Küster, An Enhanced Architectural Knowledge Metamodel Linking Architectural Design Decisions to Other Artifacts in the Software Engineering Lifecycle. Proc. Of ECSA 2011, Springer LNCS (2011). (28) P. Könemann, O. Zimmermann, Linking Design Decisions to Design Models in Model-Based Software Development. Proc. of ECSA 2010, Springer LNCS (2010). (27) J. Küster, T. Gschwind, O. Zimmermann, Incremental Development of Model Transformation Chains Using Automated Testing. Proc. of MoDELS 2009, Springer LNCS (2009). (26) M. Novak, C. Pautasso, O. Zimmermann, Architectural Decision Modeling with Reuse: Challenges and Opportunities. Proc. of IEEE/ACM ICSE SHARK (2010). (25) O. Zimmermann, J. Koehler, F. Leymann, R. Polley, N. Schuster, Managing Architectural Decision Models with Dependency Relations, Integrity Constraints, and Production Rules. Journal of Systems and Software, Elsevier. Volume 82, Issue 8, August 2009, Pages 1249-1267. Available online 5 February 2009. (24) W.-J. van den Heuvel, O. Zimmermann, F. Leymann, P. Lago, I. Schieferdecker, U. Zdun, and P. Avgeriou, Software Service Engineering: Tenets and Challenges. In: Proceedings of the IEEE/ACM ICSE 2009 Principles of Engineering Service-Oriented Systems (PESOS) workshop. (23) W.-J. van den Heuvel, O. Zimmermann, F. Leymann, T. Shan, Software Service Engineering: Executive Summary. In: Dagstuhl Seminar Proceedings 0921. (22) C. Pautasso, O. Zimmermann, F. Leymann, RESTful Web Services vs. Big Web Services: Making the Right Architectural Decision. Proceedings of WWW 2008, ACM, 2008. Pages 805-814. (21) O. Zimmermann, U. Zdun, T. Gschwind, F. Leymann, Combining Pattern Languages and Architectural Decision Models into a Comprehensive and Comprehensible Design Method. Proceedings of IEEE WICSA 2008, IEEE Computer Society, 2008. Pages 157-166. (20) O. Zimmermann, J. Grundler, S. Tai, F. Leymann, Architectural Decisions and Patterns for Transactional Workflows in SOA. Proceedings of ICSOC 2007, LNCS 4749/2007, Springer, 2007. Pages 81-93. (19) O. Zimmermann, T. Gschwind, J. Küster, F. Leymann, N. Schuster, Reusable Architectural Decision Models for Enterprise Application Development. Proceedings of QoSA 2007, LNCS 4880/2008, Springer, 2008. Pages 157-166. (18) N. Schuster, O. Zimmermann, C. Pautasso, ADkwik: Web 2.0 Collaboration System for Architectural Decision Engineering. Proceedings of the Nineteenth International Conference on Software Engineering & Knowledge Engineering (SEKE 2007), Knowledge Systems Institute Graduate School, 2007. Pages 255-260.
Book chapters and additional publications
(10) O. Zimmermann, Do Microservices Pass the Same Old Architecture Test? or: SOA is Not Dead – Long Live (Micro-)Services, Positioning Paper, SEI SATURN 2015 Microservices Workshop, 2015 (9) O. Zimmermann, Software-Design bringt Programmcode auf Trab, HSR-Magazin 2/2013 (in German). (8) O. Zimmermann, C. Miksovic, Decisions Required vs. Decisions Made: Connecting Enterprise Architects and Solution Architects via Guidance Models, in: Mistrík, I., Tang, A., Bahsoon R., Stafford, J. (eds.), Aligning Enterprise, System, and Software Architectures. IGI Global (2013). (7) J. M. Küster, H. Völzer, O. Zimmermann, Managing Artifacts with a Viewpoint-Realization Level Matrix, Book Chapter, in: P. Avgeriou, J. Grundy, J. G. Hall, P. Lago, I. Mistrik, Relating Requirements and Architectures, Springer-Verlag (2011). (6) R. Capilla, O. Zimmermann, U. Zdun, P. Avgeriou, J. M. Küster, An Enhanced Architectural Knowledge Metamodel Linking Architectural Design Decisions to Other Artifacts in the Software Engineering Lifecycle, Technical Report, Universidad Rey Juan Carlos, Madrid, Spain (2011).
(5) O. Zimmermann, P. Kopp, S. Pappe, Architectural Knowledge in a SOA Infrastructure Reference Architecture, Book Chapter, in: M. Ali Babar, T. Dingsøyr, P. Lago, H. van Vliet (eds.), Software Architecture Knowledge Management: Theory and Practice, Springer-Verlag (2009)
(4) O. Zimmermann, N. Schuster, P. Eeles, Modeling and Sharing Architectural Decisions, Part 1: Concepts, IBM developerWorks, August 2008
(3) S. Tai, T. Mikalsen, I. Rouvellou, J. Grundler, O. Zimmermann, Transactional Web Services, Book Chapter, in: D. Georgakopoulos and M. P. Papazoglou (eds.), Service-Oriented Computing, MIT Press, 2008
(2) O. Zimmermann, P. Krogdahl, C. Gee, Elements of Service-Oriented Analysis and Design, IBM developerWorks Web services zone, July 2004 (1) O. Zimmermann, F. Müller, Web Services Project Roles, IBM developerWorks Web services zone, January 2004
Selected conference presentations
Presentation at Softwarearchitekturen für Workflow-Management (8. Arbeitstreffen Software-Architektur, Softwareforen Leipzig). Presentation at Architekturen 2014 (annual meeting of special interest group within „Gesellschaft für Informatik“, the German Chapter of the ACM). Presentation at Open Cloud Day 2014, organized by Swiss Open Systems User Group. OOP 2014,Cloud Computing aus der Sicht des Anwendungsarchitekten und Architectural Refactoring - agile Umsetzung von Modernisierungsentscheidungen (Konferenzvorträge). Architectural Decisions: The State of Affairs and the Way Forward SEI SATURN 2013 birds-of-a-feather session report. Invited IEEE Software Speaker, SEI SATURN 2012, Making Architectural Knowledge Sustainable - The Y Approach Industrial Practice Report and Outlook SEI SATURN 2011, Guidance Models and Decision-Making Tooling for SOA, Cloud, and Outsourcing Solution Design SIGS-DATACOM OOP 2011, Zentrale Entscheidungen im SOA-Entwurf: Modellierung und Top 10 SEI Webinar, Architectural Knowledge Management: Decision Guidance in Service-Oriented Architecture Design SEI SATURN 2010, An Architectural Decision Modeling Framework for SOA and Cloud Design (IEEE Software best presentation) IEEE/IFIP Working International Conference of Software Architecture (WICSA) 2009 Tutorial, Recurring Architectural Decisions - A Context-Specific Guide through Architecture Design Tenth national Dutch architecture congress 2008, invited presentation ACM Conference on Object-Oriented Programming Languages, Systems and Applications (OOPSLA) 2008: Co-Chair Development Program, SOA and Web services Tutorial IEEE European Conference on Web Services (ECOWS) 2007: Keynote, SOA und Web Services Seminar ACM Conference on Object-Oriented Programming Languages, Systems and Applications (OOPSLA) 2007: SOA und Web Services Tutorial, SOA workshop organization and keynote ACM Conference on Object-Oriented Programming Languages, Systems and Applications (OOPSLA) 2006: Web Services Tutorial, SOA Workshop ACM OOPSLA 2005: Tutorial, Practitioner Report IBM Customer Conference WebSphere Technical Exchange (WTE) 2005: Lecture, Meet-the-Experts Panel ACM OOPSLA 2004 Practitioner Report IBM WTE 2004: Three Lectures, Birds-of-a-Feather Session iX Conference J2EE, .Net, Web Services – Hype and Reality, 2003 IBM WTE 2003 IBM developerWorks Live! 2003
Selected Professional Activities
- Insights Department Co-Editor, IEEE Software (since 2014), Advisory Board Member (2011-2014)
- Guest Editor, Theme Issue The Role of the Software Architect in the Digital Age, IEEE Software (2016)
- DDD and REST Panel Moderation, WS-REST workshop at ICWE 2016 (2016)
- Program Chair, CompArch CBSE 2016
- Industry Chair, ECSA 2014
- Technical Committee Member, SEI SATURN (2014-2016)
- Program Co-chair, SEI SATURN 2013
- Tutorial Chair, SEI SATURN 2012
- Steering Committee Member, SummerSoC and ESOCC conference series
- Industry Chair, IEEE/IFIP WICSA 2011 and CompArch/WICSA 2011 Industry Day organizer
- Industry Chair, IEEE ECOWS 2011
- Theme lead for Architectural Knowledge Management, SEI SATURN 2011
- Co-Organizer, Schloss Dagstuhl Seminar zu Software Service Engineering , 2009
- Development Program Co-chair, ACM OOPSLA 2008
- Program Committee Member and Reviewer, e.g. for IEEE Software, ESE, IST, JSS, JSEP, TSE, ECMFA, ECSA, ECOWS, ESEC/FSE, ESOCC, ICSA NEMI, Modelsward, OOP, QoSA, SAM, SANCS, SATURN, SHARK, SummerSoC, WESOA, WS-REST, WICSA