service development and architecture management for an...
TRANSCRIPT
![Page 1: Service Development and Architecture Management for an …ecsa2014.cs.univie.ac.at/industryday/ECSA2014IndustryDay... · 2014. 8. 27. · Service Development and Architecture Management](https://reader036.vdocuments.net/reader036/viewer/2022071210/6021824eb233ed15de0d9da0/html5/thumbnails/1.jpg)
www.racon.at www.grz.at
Service Development and Architecture Management for an
Enterprise SOA
Thomas Kriechbaum, RACON Software GmbH, Austria Georg Buchgeher, Software Competence Center Hagenberg, Austria
Rainer Weinreich, Johannes Kepler Universität Linz, Austria
![Page 2: Service Development and Architecture Management for an …ecsa2014.cs.univie.ac.at/industryday/ECSA2014IndustryDay... · 2014. 8. 27. · Service Development and Architecture Management](https://reader036.vdocuments.net/reader036/viewer/2022071210/6021824eb233ed15de0d9da0/html5/thumbnails/2.jpg)
Seite 2
Setting
§ Cooperation on various topics for several years
Scientific Research
Applied Research
Application
![Page 3: Service Development and Architecture Management for an …ecsa2014.cs.univie.ac.at/industryday/ECSA2014IndustryDay... · 2014. 8. 27. · Service Development and Architecture Management](https://reader036.vdocuments.net/reader036/viewer/2022071210/6021824eb233ed15de0d9da0/html5/thumbnails/3.jpg)
Seite 3
GRZ IT Group
§ Founded in 1971; employs now more the 780 persons
§ One of the major IT-service provider in Austria with the business lines
– Computing Center – Software Development – General IT-services
§ Comprises three companies – GRZ IT Center GmbH – RACON Software GmbH – PROGRAMMIERFABRIK GmbH
§ Raiffeisen Landesbank Oberösterreich AG as general owner
![Page 4: Service Development and Architecture Management for an …ecsa2014.cs.univie.ac.at/industryday/ECSA2014IndustryDay... · 2014. 8. 27. · Service Development and Architecture Management](https://reader036.vdocuments.net/reader036/viewer/2022071210/6021824eb233ed15de0d9da0/html5/thumbnails/4.jpg)
Seite 4
System Overview
§ Enterprise SOA is organized in applications that are clustered in business domains
§ Applications are decomposed in modules, which are the unit of
versioning and deployment
§ Modules have to follow the blueprints of the reference architecture and guidelines of the integration architecture
![Page 5: Service Development and Architecture Management for an …ecsa2014.cs.univie.ac.at/industryday/ECSA2014IndustryDay... · 2014. 8. 27. · Service Development and Architecture Management](https://reader036.vdocuments.net/reader036/viewer/2022071210/6021824eb233ed15de0d9da0/html5/thumbnails/5.jpg)
Seite 5
System Overview
§ Different types of UI-Modules address different communication channels – Mobile Apps è end customers – Web-Applications è end customers, banking staff – Rich Client Applications è business customers, banking staff
§ Business logic is primarily implemented in Service- or Mainframe-Modules
– the core banking system on the mainframe is not treated as legacy system – the core banking system is integrated via web-service facades
§ A set of infrastructure modules provide cross cutting functionality like security, journaling, monitoring or output management
§ 170 Service-Modules with about 1700 services
![Page 6: Service Development and Architecture Management for an …ecsa2014.cs.univie.ac.at/industryday/ECSA2014IndustryDay... · 2014. 8. 27. · Service Development and Architecture Management](https://reader036.vdocuments.net/reader036/viewer/2022071210/6021824eb233ed15de0d9da0/html5/thumbnails/6.jpg)
Seite 6
Stakeholders
![Page 7: Service Development and Architecture Management for an …ecsa2014.cs.univie.ac.at/industryday/ECSA2014IndustryDay... · 2014. 8. 27. · Service Development and Architecture Management](https://reader036.vdocuments.net/reader036/viewer/2022071210/6021824eb233ed15de0d9da0/html5/thumbnails/7.jpg)
Seite 7
Service Development Process
§ Embedded in a global product development process – Product managers and domain experts gather and prioritize requirements – Several projects are set up to implement new product version – Project (can) span more architectural layers (e.g. UI, service, mainframe)
§ Service-Lifecycle governed by guidelines und directives – Service identification – Service implementation – Service operation and monitoring – Service deactivation
§ Defined quality gates have to be passed
![Page 8: Service Development and Architecture Management for an …ecsa2014.cs.univie.ac.at/industryday/ECSA2014IndustryDay... · 2014. 8. 27. · Service Development and Architecture Management](https://reader036.vdocuments.net/reader036/viewer/2022071210/6021824eb233ed15de0d9da0/html5/thumbnails/8.jpg)
Seite 8
Service Development Process
![Page 9: Service Development and Architecture Management for an …ecsa2014.cs.univie.ac.at/industryday/ECSA2014IndustryDay... · 2014. 8. 27. · Service Development and Architecture Management](https://reader036.vdocuments.net/reader036/viewer/2022071210/6021824eb233ed15de0d9da0/html5/thumbnails/9.jpg)
Seite 9
Service Development Process
![Page 10: Service Development and Architecture Management for an …ecsa2014.cs.univie.ac.at/industryday/ECSA2014IndustryDay... · 2014. 8. 27. · Service Development and Architecture Management](https://reader036.vdocuments.net/reader036/viewer/2022071210/6021824eb233ed15de0d9da0/html5/thumbnails/10.jpg)
Seite 10
Service Development Process
![Page 11: Service Development and Architecture Management for an …ecsa2014.cs.univie.ac.at/industryday/ECSA2014IndustryDay... · 2014. 8. 27. · Service Development and Architecture Management](https://reader036.vdocuments.net/reader036/viewer/2022071210/6021824eb233ed15de0d9da0/html5/thumbnails/11.jpg)
Seite 11
Service Technology Stack
![Page 12: Service Development and Architecture Management for an …ecsa2014.cs.univie.ac.at/industryday/ECSA2014IndustryDay... · 2014. 8. 27. · Service Development and Architecture Management](https://reader036.vdocuments.net/reader036/viewer/2022071210/6021824eb233ed15de0d9da0/html5/thumbnails/12.jpg)
Seite 12
Service Development Practices
§ Model-Driven Development – Supports top-down-strategy for specifying and implementing services – Service-interface and entities are modeled using UML – Custom UML-profile and UML-libraries allows to specify additional information – Code generation is fully integrated in the Maven-build-process – Has been proven to be an important success factor
§ Custom Annotations for Architectural Information – CDI-based jRAP-SOA Annotations to classify specific components – Allow to control runtime-behavior (Exception-Handling, Security, …) – Are used to extract architectural information
![Page 13: Service Development and Architecture Management for an …ecsa2014.cs.univie.ac.at/industryday/ECSA2014IndustryDay... · 2014. 8. 27. · Service Development and Architecture Management](https://reader036.vdocuments.net/reader036/viewer/2022071210/6021824eb233ed15de0d9da0/html5/thumbnails/13.jpg)
Seite 13
Service Development Practices
§ Service Registry – Stores information about service-modules, services and dependencies between
service-consumers and service-providers – Information is based on a logical information model to reduce tool and vendor-
dependency – Many different stakeholders with different
needs (see project-setting) – Challenge to keep information up-to-date
![Page 14: Service Development and Architecture Management for an …ecsa2014.cs.univie.ac.at/industryday/ECSA2014IndustryDay... · 2014. 8. 27. · Service Development and Architecture Management](https://reader036.vdocuments.net/reader036/viewer/2022071210/6021824eb233ed15de0d9da0/html5/thumbnails/14.jpg)
Seite 14
Service Development – Goal
15 min for implementing a Web-Service for an existing Mainframe-Module
![Page 15: Service Development and Architecture Management for an …ecsa2014.cs.univie.ac.at/industryday/ECSA2014IndustryDay... · 2014. 8. 27. · Service Development and Architecture Management](https://reader036.vdocuments.net/reader036/viewer/2022071210/6021824eb233ed15de0d9da0/html5/thumbnails/15.jpg)
Seite 15
Service Development – Create Project
identifying application
identifying module
![Page 16: Service Development and Architecture Management for an …ecsa2014.cs.univie.ac.at/industryday/ECSA2014IndustryDay... · 2014. 8. 27. · Service Development and Architecture Management](https://reader036.vdocuments.net/reader036/viewer/2022071210/6021824eb233ed15de0d9da0/html5/thumbnails/16.jpg)
Seite 16
Service Development – Model Service Interface
![Page 17: Service Development and Architecture Management for an …ecsa2014.cs.univie.ac.at/industryday/ECSA2014IndustryDay... · 2014. 8. 27. · Service Development and Architecture Management](https://reader036.vdocuments.net/reader036/viewer/2022071210/6021824eb233ed15de0d9da0/html5/thumbnails/17.jpg)
Seite 17
Service Development – Generate Code
endpoint implementations generated (Java + WSDL)
service interfaces (Java classes) generated
client proxies for service-consumers generated (Java + WSDL + configuration)
buiness logic + unit tests
![Page 18: Service Development and Architecture Management for an …ecsa2014.cs.univie.ac.at/industryday/ECSA2014IndustryDay... · 2014. 8. 27. · Service Development and Architecture Management](https://reader036.vdocuments.net/reader036/viewer/2022071210/6021824eb233ed15de0d9da0/html5/thumbnails/18.jpg)
Seite 18
Service Development – Implement Business Logic
![Page 19: Service Development and Architecture Management for an …ecsa2014.cs.univie.ac.at/industryday/ECSA2014IndustryDay... · 2014. 8. 27. · Service Development and Architecture Management](https://reader036.vdocuments.net/reader036/viewer/2022071210/6021824eb233ed15de0d9da0/html5/thumbnails/19.jpg)
Seite 19
Service Development – Integrate Service
§ Add dependency
§ Configure endpoint address
§ Inject service and invoke operation
<dependency> <groupId>at.jrap.soa.sandbox</groupId> <artifactId>elba-services-client</artifactId> <version>1.0.0</version> </dependency>
PaymentService.endpointAddress=http://localhost:9090/elba-services_v1_0/PaymentService
@Inject PaymentService paymentService; DirectDebit debit = …; paymentService.transferDirectDebit(debit);
![Page 20: Service Development and Architecture Management for an …ecsa2014.cs.univie.ac.at/industryday/ECSA2014IndustryDay... · 2014. 8. 27. · Service Development and Architecture Management](https://reader036.vdocuments.net/reader036/viewer/2022071210/6021824eb233ed15de0d9da0/html5/thumbnails/20.jpg)
Seite 20
Internet of Things - Strictly Confidential ;-)
![Page 21: Service Development and Architecture Management for an …ecsa2014.cs.univie.ac.at/industryday/ECSA2014IndustryDay... · 2014. 8. 27. · Service Development and Architecture Management](https://reader036.vdocuments.net/reader036/viewer/2022071210/6021824eb233ed15de0d9da0/html5/thumbnails/21.jpg)
Seite 21
Architecture Management (Group)
§ Planning: Definition of EA § Development: Evaluations and Adaptions of EA § Controlling: Design Support and Quality Control
![Page 22: Service Development and Architecture Management for an …ecsa2014.cs.univie.ac.at/industryday/ECSA2014IndustryDay... · 2014. 8. 27. · Service Development and Architecture Management](https://reader036.vdocuments.net/reader036/viewer/2022071210/6021824eb233ed15de0d9da0/html5/thumbnails/22.jpg)
Seite 22
Overview: Architecture Management Support
Product Synchronize Extract Product
Product - Web Modules - Desktop Modules - Service Modules - Host Modules
Architecture Information Repository
Service Registry
Visualization Automatic Analysis
Quality Gate Reviews
Developer Solution Architect
Software Architect
Designer Tester Quality Manager
![Page 23: Service Development and Architecture Management for an …ecsa2014.cs.univie.ac.at/industryday/ECSA2014IndustryDay... · 2014. 8. 27. · Service Development and Architecture Management](https://reader036.vdocuments.net/reader036/viewer/2022071210/6021824eb233ed15de0d9da0/html5/thumbnails/23.jpg)
Seite 23
Architecture Extraction & Visualization
§ Up-to-date documentation
§ Architectural information in implementation
§ Incremental architecture extraction
§ Simulated component composition
§ Architectural views
![Page 24: Service Development and Architecture Management for an …ecsa2014.cs.univie.ac.at/industryday/ECSA2014IndustryDay... · 2014. 8. 27. · Service Development and Architecture Management](https://reader036.vdocuments.net/reader036/viewer/2022071210/6021824eb233ed15de0d9da0/html5/thumbnails/24.jpg)
Seite 24
Architecture Extraction & Visualization
§ Up-to-date documentation
§ Architectural information in implementation
§ Incremental architecture extraction
§ Simulated component composition
§ Architectural views
@Stateless @Service public class RegistryServiceBean implements RegistryService { @Inject private ArtifactConverter converter;
Manifest-Version: 1.0 Implementation-Vendor: RACON Software GmbH Application-Domain: ORG/IT Application-ShortName: EAMP Implementation-Vendor-Id: RACON Software GmbH Module-ShortName: eampsrv Module-Version: 1.0
![Page 25: Service Development and Architecture Management for an …ecsa2014.cs.univie.ac.at/industryday/ECSA2014IndustryDay... · 2014. 8. 27. · Service Development and Architecture Management](https://reader036.vdocuments.net/reader036/viewer/2022071210/6021824eb233ed15de0d9da0/html5/thumbnails/25.jpg)
Seite 25
Architecture Extraction & Visualization
§ Up-to-date documentation
§ Architectural information in implementation
§ Incremental architecture extraction
§ Simulated component composition
§ Architectural views
![Page 26: Service Development and Architecture Management for an …ecsa2014.cs.univie.ac.at/industryday/ECSA2014IndustryDay... · 2014. 8. 27. · Service Development and Architecture Management](https://reader036.vdocuments.net/reader036/viewer/2022071210/6021824eb233ed15de0d9da0/html5/thumbnails/26.jpg)
Seite 26
Architecture Extraction & Visualization
§ Up-to-date documentation
§ Architectural information in implementation
§ Incremental architecture extraction
§ Simulated component composition
§ Architectural views
![Page 27: Service Development and Architecture Management for an …ecsa2014.cs.univie.ac.at/industryday/ECSA2014IndustryDay... · 2014. 8. 27. · Service Development and Architecture Management](https://reader036.vdocuments.net/reader036/viewer/2022071210/6021824eb233ed15de0d9da0/html5/thumbnails/27.jpg)
Seite 27
Architecture Extraction & Visualization
§ Up-to-date documentation
§ Architectural information in implementation
§ Incremental architecture extraction
§ Simulated component composition
§ Architectural views
![Page 28: Service Development and Architecture Management for an …ecsa2014.cs.univie.ac.at/industryday/ECSA2014IndustryDay... · 2014. 8. 27. · Service Development and Architecture Management](https://reader036.vdocuments.net/reader036/viewer/2022071210/6021824eb233ed15de0d9da0/html5/thumbnails/28.jpg)
Seite 28
Architecture Extraction & Visualization
§ Up-to-date documentation
§ Architectural information in implementation
§ Incremental architecture extraction
§ Simulated component composition
§ Architectural views
![Page 29: Service Development and Architecture Management for an …ecsa2014.cs.univie.ac.at/industryday/ECSA2014IndustryDay... · 2014. 8. 27. · Service Development and Architecture Management](https://reader036.vdocuments.net/reader036/viewer/2022071210/6021824eb233ed15de0d9da0/html5/thumbnails/29.jpg)
Seite 29
Architecture Analysis and Review
§ Automatic Analysis – Completeness – Consistency – Compatibility with
Reference Architecture § Manual Analysis
– Quality Gate Reviews
![Page 30: Service Development and Architecture Management for an …ecsa2014.cs.univie.ac.at/industryday/ECSA2014IndustryDay... · 2014. 8. 27. · Service Development and Architecture Management](https://reader036.vdocuments.net/reader036/viewer/2022071210/6021824eb233ed15de0d9da0/html5/thumbnails/30.jpg)
Seite 30
Architecture Analysis and Review
§ Automatic Analysis – Completeness – Consistency – Compatibility with Reference
Architecture § Manual Analysis
– Quality Gate Reviews
![Page 31: Service Development and Architecture Management for an …ecsa2014.cs.univie.ac.at/industryday/ECSA2014IndustryDay... · 2014. 8. 27. · Service Development and Architecture Management](https://reader036.vdocuments.net/reader036/viewer/2022071210/6021824eb233ed15de0d9da0/html5/thumbnails/31.jpg)
Seite 31
Demo
![Page 32: Service Development and Architecture Management for an …ecsa2014.cs.univie.ac.at/industryday/ECSA2014IndustryDay... · 2014. 8. 27. · Service Development and Architecture Management](https://reader036.vdocuments.net/reader036/viewer/2022071210/6021824eb233ed15de0d9da0/html5/thumbnails/32.jpg)
Seite 32
Lessons Learned
§ Model-Driven Development (MDD) + facilitates service development + No boilerplate code, focus on business logic + supports migration to new technology stacks
§ Model-Based Architecture Management . models need to reflect implementation + supports both automatic and manual architecture analysis + supports governance activities (e.g., repository sync) - requires metadata-enhanced implementations (declarative metadata)
![Page 33: Service Development and Architecture Management for an …ecsa2014.cs.univie.ac.at/industryday/ECSA2014IndustryDay... · 2014. 8. 27. · Service Development and Architecture Management](https://reader036.vdocuments.net/reader036/viewer/2022071210/6021824eb233ed15de0d9da0/html5/thumbnails/33.jpg)
Seite 33
Current and Future Work
§ Service Development – Investigation of RESTful services – Synchronization with Service Registry/Repository – Add runtime information to service registry
§ Architecture Management – Better validation of manual review support, – Provide global system views (through integration of client and backend
systems) – Fine tuning (e.g., extraction of publish/subscribe relationships)
![Page 34: Service Development and Architecture Management for an …ecsa2014.cs.univie.ac.at/industryday/ECSA2014IndustryDay... · 2014. 8. 27. · Service Development and Architecture Management](https://reader036.vdocuments.net/reader036/viewer/2022071210/6021824eb233ed15de0d9da0/html5/thumbnails/34.jpg)
Seite 34
Research Challenges
§ Architecture and Testing – Facilitate architecture information to identify components and systems that
have to be retested based on change impact analysis § Architecture and Agility
– Investigate the transition from a rather plan-driven development process to more agile methodologies (developer driven)
– How to establish agile methodology within the required regulatory requirements and existing organizational structures in the financial domain
§ Architecture as a Service – Provide architectural information and services to different stakeholders
(ongoing work) § Architecture Knowledge Sharing
– Develop means to provide architectural information to exactly the organizational units and architects that might by affected by a change.
![Page 35: Service Development and Architecture Management for an …ecsa2014.cs.univie.ac.at/industryday/ECSA2014IndustryDay... · 2014. 8. 27. · Service Development and Architecture Management](https://reader036.vdocuments.net/reader036/viewer/2022071210/6021824eb233ed15de0d9da0/html5/thumbnails/35.jpg)
Seite 35
Thank you!
Questions?