service development and architecture management for an...

35
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

Upload: others

Post on 01-Oct-2020

0 views

Category:

Documents


0 download

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Seite 35

Thank you!

Questions?