Extracting and Facilitating Architecture in Service-Oriented Software Systems

In enterprises using service-oriented architecture (SOA) architectural information is used for various activities including analysis, design, governance, and quality assurance. Architectural information is created, stored and maintained in various locations like enterprise architecture management tools, design tools, text documents, and service registries/repositories. Capturing and maintaining this information manually is time-intensive, expensive and error-prone. To address this problem we present an approach for automatically extracting architectural information from an actual SOA implementation. The extracted information represents the currently implemented architecture and can be used as the basis for quality assurance tasks and, through synchronization, for keeping architectural information consistent in various other tools and locations. The presented approach has been developed for a SOA in the banking domain. Aside from presenting the main drivers for the approach and the approach itself, we report on experiences in applying the approach to different applications in this domain.

[1]  Walter R. Bischofberger,et al.  Sotograph - A Pragmatic Approach to Source Code Architecture Conformance Checking , 2004, EWSA.

[2]  Rainer Weinreich,et al.  Towards supporting the software architecture life cycle , 2012, J. Syst. Softw..

[3]  Arie van Deursen,et al.  Symphony: view-driven software architecture reconstruction , 2004, Proceedings. Fourth Working IEEE/IFIP Conference on Software Architecture (WICSA 2004).

[4]  Raghvinder S. Sangwan,et al.  Structural Epochs in the Complexity of Software over Time , 2008, IEEE Software.

[5]  Rainer Weinreich,et al.  An Approach for Combining Model-Based and Scenario-Based Software Architecture Analysis , 2010, 2010 Fifth International Conference on Software Engineering Advances.

[6]  Stéphane Ducasse,et al.  Software Architecture Reconstruction: A Process-Oriented Taxonomy , 2009, IEEE Transactions on Software Engineering.

[7]  Rainer Weinreich,et al.  Integrating Requirements and Design Decisions in Architecture Representation , 2010, ECSA.

[8]  Soumya Simanta,et al.  A Scenario-Based Technique for Developing SOA Technical Governance , 2009 .

[9]  Harry M. Sneed,et al.  Comparing graph-based program comprehension tools to relational database-based tools , 2001, Proceedings 9th International Workshop on Program Comprehension. IWPC 2001.

[10]  Soumya Simanta,et al.  Architecting Service-Oriented Systems , 2011 .

[11]  David Notkin,et al.  Software Reflexion Models: Bridging the Gap between Design and Implementation , 2001, IEEE Trans. Software Eng..

[12]  Soumya Simanta,et al.  Service Orientation and Systems of Systems , 2011, IEEE Software.

[13]  Rainer Weinreich,et al.  A Service Lifecycle and Information Model for Service-Oriented Architectures , 2009, 2009 Computation World: Future Computing, Service Computation, Cognitive, Adaptive, Content, Patterns.

[14]  Danny Weyns,et al.  An Architectural Approach to Support Online Updates of Software Product Lines , 2011, 2011 Ninth Working IEEE/IFIP Conference on Software Architecture.

[15]  Vineet Sinha,et al.  Using dependency models to manage complex software architecture , 2005, OOPSLA '05.

[16]  David Garlan,et al.  Documenting software architectures: views and beyond , 2002, 25th International Conference on Software Engineering, 2003. Proceedings..