A SOA visualisation for the Business



Similar documents
INTEGRATING ESB / BPM / SOA / AJAX TECHNOLOGIES

How service-oriented architecture (SOA) impacts your IT infrastructure

Enterprise Application Designs In Relation to ERP and SOA

SOA REFERENCE ARCHITECTURE: WEB TIER

Introduction to Service Oriented Architectures (SOA)

Service Oriented Architecture Based Integration. Mike Rosen CTO, AZORA Technologies, Inc.

Tomáš Müller IT Architekt 21/04/2010 ČVUT FEL: SOA & Enterprise Service Bus IBM Corporation

Oracle Service Bus. Situation. Oracle Service Bus Primer. Product History and Evolution. Positioning. Usage Scenario

TECHNOLOGY TRANSFER PRESENTS MAX. From EAI to SOA ACHIEVING BUSINESS AGILITY THROUGH INTEGRATION

Getting Started with Service- Oriented Architecture (SOA) Terminology

Service Oriented Architecture (SOA) Architecture, Governance, Standards and Technologies

Unlocking the Power of SOA with Business Process Modeling

What You Need to Know About Transitioning to SOA

JOURNAL OF OBJECT TECHNOLOGY

Next-Generation ESB. Kevin Conner SOA Platform Architect, Red Hat Keith Babo JBoss ESB Project Lead, Red Hat. June 23rd, 2010

VALLIAMMAI ENGNIEERING COLLEGE SRM Nagar, Kattankulathur

Enterprise Service Bus Defined. Wikipedia says (07/19/06)

The ESB and Microsoft BI

Introduction to Service-Oriented Architecture for Business Analysts

JOURNAL OF OBJECT TECHNOLOGY

Combining Service-Oriented Architecture and Event-Driven Architecture using an Enterprise Service Bus

Service Oriented Architecture (SOA) Architecture, Governance, Standards and Technologies

SOA Myth or Reality??

Enterprise Application Integration (EAI) Architectures, Technologies, and Best Practices

Improve business agility with WebSphere Message Broker

Approach to Service Management

A standards-based approach to application integration

SERVICE ORIENTED ARCHITECTURE

2 (18) - SOFTWARE ARCHITECTURE Service Oriented Architecture - Sven Arne Andreasson - Computer Science and Engineering.

EAI OVERVIEW OF ENTERPRISE APPLICATION INTEGRATION CONCEPTS AND ARCHITECTURES. Enterprise Application Integration. Peter R. Egli INDIGOO.

Achieving business agility and cost optimization by reducing IT complexity. The value of adding ESB enrichment to your existing messaging solution

For <Project> Version 1.0

CS 389 Software Engineering. Lecture 2 Chapter 2 Software Processes. Adapted from: Chap 1. Sommerville 9 th ed. Chap 1. Pressman 6 th ed.

Table of Contents. 1 Executive Summary SOA Overview Technology Processes and Governance... 8

Presentation Outline. Key Business Imperatives Service Oriented Architecture Defined Oracle SOA Platform SOA Maturity/Adoption Model Demo Q&A

AquaLogic ESB Design and Integration (3 Days)

Ebase Xi Agile Service Oriented Architecture

SOA and Cloud in practice - An Example Case Study

The webmethods ESB. The Foundation of your SOA. Jean-Michel Ghyoot, Principal Solution Architect, March 28, 2013

EnergySync and AquaSys. Technology and Architecture

Challenges and Opportunities for formal specifications in Service Oriented Architectures

BEA BPM an integrated solution for business processes modelling. Frederik Frederiksen Principal PreSales Consultant BEA Systems

Project Management System Services

Guideline. Enterprise Architecture Guide. 1. Purpose. 2. Scope. 3. Related documents. 4. Enterprise Architecture Guide

A Unified Messaging-Based Architectural Pattern for Building Scalable Enterprise Service Bus

Myths About Service-Oriented Architecture Demystifying SOA. producers can coexist, and still have no dependence on each other.

Setting Up an AS4 System

Service Oriented Architecture (SOA) An Introduction

Architecting enterprise BPM systems for optimal agility

A Quick Introduction to SOA

ACADEMIC RESEARCH INTEGRATION SYSTEM

Semarchy Convergence for Data Integration The Data Integration Platform for Evolutionary MDM

Enterprise Integration Architectures for the Financial Services and Insurance Industries

Application. 1.1 About This Tutorial Tutorial Requirements Provided Files

Service Oriented Architecture 1 COMPILED BY BJ

Achieving Semantic Interoperability By UsingComplex Event Processing Technology

ebay : How is it a hit

SOA + BPM = Agile Integrated Tax Systems. Hemant Sharma CTO, State and Local Government

Oracle SOA Suite: The Evaluation from 10g to 11g

Technical Track Session Service-Oriented Architecture

MDM and Data Warehousing Complement Each Other

Emerging Technologies Shaping the Future of Data Warehouses & Business Intelligence

Modernizing enterprise application development with integrated change, build and release management.

ORACLE SOA SUITE. Product Overview

SOA Governance & Security How BPM Can Help Philip Larson, Director of Product Management, Appian Corporation

Oracle Service Bus vs. Oracle Enterprise Service Bus vs. BPEL wann soll welche Komponente eingesetzt werden?

PIE. Internal Structure

Business Intelligence and Service Oriented Architectures. An Oracle White Paper May 2007

Service-Oriented Architecture and its Implications for Software Life Cycle Activities

Methods and tools for data and software integration Enterprise Service Bus

10 Years of Hype Cycles - Do We Forget Knowledge?

Lesson 18 Web Services and. Service Oriented Architectures

So You Want an SOA: Best Practices for Migrating to SOA in the Enterprise. Eric Newcomer, CTO

Business Rule Management. Effective IT Modernization

Web Integration Technologies

Integrated Development of Distributed Real-Time Applications with Asynchronous Communication

An Oracle White Paper June Integration Technologies for Primavera Solutions

Research on the Model of Enterprise Application Integration with Web Services

PROCESS AUTOMATION FOR DISTRIBUTION OPERATIONS MANAGEMENT. Stipe Fustar. KEMA Consulting, USA

Di 6.1a. Warum naive SOA scheitert Ein Erfahrungsbericht. Adam Bien. January 26-30, 2009, Munich, Germany ICM - International Congress Centre Munich

Designing an Enterprise Application Framework for Service-Oriented Architecture 1

Answers to Top BRMS Questions

IBM WebSphere E i r c c V e V r e b r ee e k

The Role of SOA in Enterprise Data Integration

Sentinet for BizTalk Server SENTINET

Technology Change Management

Service-Oriented Computing: Service Foundations

Extend the value of your core business systems.

Service Governance and Virtualization For SOA

Impact of Business Problem Characteristics on the Architecture and Specification of Integration Framework

Realizing business flexibility through integrated SOA policy management.

COMP5426 Parallel and Distributed Computing. Distributed Systems: Client/Server and Clusters

SCA-based Enterprise Service Bus WebSphere ESB

An Oracle White Paper October Maximize the Benefits of Oracle SOA Suite 11g with Oracle Service Bus

Enterprise Application Integration (EAI) Architectures, Technologies, and Best Practices

SERVICE-ORIENTED MODELING FRAMEWORK (SOMF ) SERVICE-ORIENTED SOFTWARE ARCHITECTURE MODEL LANGUAGE SPECIFICATIONS

Ultimus Adaptive BPM Suite V8

TOPdesk Professional. Service Management Simplified

BPM, EDA and SOA: How the Combination of these Technologies Facilitates Change. Dr. Neil Thomson, Head of Group Development, Microgen plc

XIII. Service Oriented Computing. Laurea Triennale in Informatica Corso di Ingegneria del Software I A.A. 2006/2007 Andrea Polini

Transcription:

J.M. de Baat 09-10-2008

Table of contents 1 Introduction...3 1.1 Abbreviations...3 2 Some background information... 3 2.1 The organisation and ICT infrastructure... 3 2.2 Five layer SOA architecture... 3 2.3 Additional terminology in the SOA architecture... 3 3 Implemented SOA visualisation... 3 3.1 Central repository... 3 3.2 EAI Wiki... 3 3.2.1 Chain register... 3 3.2.2 Component register... 3 3.2.3 System register... 3 3.2.4 Public Service register... 3 4 Future developments... 3 4.1 Integration with performance monitoring... 3 4.2 Migration to stable environment... 3 5 Lessons learned... 3 Date: 09-10-2008 Page 2 of 10

1 Introduction In this article, I would like to share some experiences with a visualisation for the business in a SOA environment. MediaWiki is the basis for the visualisation tool because it is a wide spread and well known environment. For this purpose, the normal static MediaWiki is enhanced with some dynamic features to support hyperlinks for the inter-relations between the entities in the SOA environment. Chapter 2 will give some background information on the environment where this project has been carried out. Chapter 3 explains the solution which is implemented in the past year whilst chapter 4 presents some ideas for future developments. Chapter 5 finally presents some lessons learned. 1.1 Abbreviations Abbreviation In full Description BE Back End A system out of the EAI scope which provides services for front end systems. Usually, it provides a coherent set of services for a specific domain. BEA Back End A component within the EAI scope with a collection of services which Adapter communicate directly with a back end system. EAI Enterprise Application Integration EAI is the strategy, a set of methods and tools for integrating all systems across an enterprise. It provides a common framework for communication and data coordination between applications. FE Front End A system out of the EAI scope which uses the EAI services, indirectly provided by back end systems. Usually, it enables end users to obtain and maintain information stored in back end systems, e.g. the organisations web site. FEA Front End A component within the EAI scope with a collection of services which Adapter communicate directly with a front end system. FS In this organisation, the Functional Specifications are laid down in a set of word Functional documents based on defined templates. In the EAI department, they are Specifications generated by the design tools used. GFA Generic Front A generic Front End adapter that offers EAI services on a generic interface end Adapter (usually SOAP) that is available for all Front Ends. According to Gartner, a Service Oriented Architecture is a logical architecture SOA Service Oriented where definitive business functions of an application are exposed for Architecture programmatic access via a well-defined formal interface, with some means of identifying and locating the function and the interface when it is needed. SOAP Simple Object SOAP is a lightweight protocol for exchange of information in a decentralized, Access Protocol distributed environment. XML Extensible Markup See "http://www.w3.org/tr/xml". Language VCS Version Control System A Version Control System enables versioning, reliability and team work. Date: 09-10-2008 Page 3 of 10

2 Some background information This chapter will give some background information on the organisation and ICT infrastructure relevant for this article. 2.1 The organisation and ICT infrastructure The organisation in which this project has been implemented is a telecom operator with a large IT department with a focus on the market and a centralised Corporate Services department. A team of about 50 people is concerned with the design of SOA services with an EAI middleware infrastructure. New development is organised in projects executed by multi-disciplinary teams. The first analysis for a project is done by a team of business analysts from different departments. They base their analysis on business requirements, the information available from previous projects and existing documentation. Mainly for this purpose and maintenance it is important that the documentation describing the existing services and components is accurate and clear. Because of the different levels of quality of the existing set of documentation, a unification project has been defined to unify the information on the set of services available. The results of this project are presented in the next chapter. 2.2 Five layer SOA architecture In our view, the SOA architecture can be viewed as a set of five layers as shown in Figure 1. This figure shows a model of the ICT environment viewed from the SOA perspective used in the EAI department. The explanation of the five layers as used in the EAI environment in this organisation is as follows: Front End The Front End (FE) layer represents the front end systems of the ICT environment. Each front end system in this scope can access one or more services in the EAI through a front end adapter. Front End Adapter The Front End Adapter (FEA) layer represents the services within the EAI scope which offer their services to the front end systems. A FEA service always invokes another service, either on the Composite layer or directly towards a Back End Adapter service. Figure 1 The five layer SOA model Date: 09-10-2008 Page 4 of 10

Composite The Composite layer represents the services within the EAI scope which combine the functionality of other services. A Composite service always invokes another service, either again on the Composite layer or directly towards a Back End Adapter service. Back End Adapter The Back End Adapter layer represents the services within the EAI scope which represent the services offered by the back end systems. A FEA service always invokes another service, either on the Composite layer or directly towards a Back End Adapter service. Back End The Back End layer represents the back end systems of the ICT environment. Each back end system in this scope can be accessed by one or more services in the EAI through a back end adapter. 2.3 Additional terminology in the SOA architecture In the SOA architecture used in this organisation, there are some more terms which need to be explained to understand the solution presented in the next chapter. Service A Service is a functional entity with an interface and internal implementation. The interface defines the request message to invoke the service and the response message which contains the result from the invocation. The internal implementation defines how the response is constructed from the request message. Figure 2 shows a simple example of a back end adapter service with a Start and End node and an Figure 2 invocation of another service "BE Sample". Every step in the service design can generate an error which is described separately. Composite Service A Composite Service is a service without a direct communication to an external system. It combines the functionality of several other services into a single service. An example of a Composite Service is shown in Figure 3 which asynchronously invokes a back end adapter service (BEA Sample). Chain A Chain is a combination of systems and services which together provide a consistent set of functionality. Usually, such a chain is the result of Figure 3 Example of a back end adapter service design Example of a composite service design Date: 09-10-2008 Page 5 of 10

a (successful) project. An example of a chain is Number Portability which is a combination of all services related to the functionality of porting a mobile number from one operator to another operator. Component A Component is a combination of related services which can be deployed together. An example is the set of back end adapter services which all communicate with the same single back end system. Figure 4 shows an example of a number of services and their relations with other services, components and systems. This set can be seen as a "Sample" chain. The "GFA" services are part of the Generic Front end Adapter component. The composite "PS" services are combined in the "PS Sample" component. The "BEA" services are combined in the "BEA" back end adapter component for the Figure 4 "BE Sample" back end system. Please note that the service "PS Sample" invokes two "BEA" services. Example of a chain of services Date: 09-10-2008 Page 6 of 10

3 Implemented SOA visualisation The Five Layer SOA Model presented in the previous chapter (Figure 1) is very useful as a reference for developing services in a consistent and incremental way. In this article, I concentrate on the visualisation of the information. The design process uses a central repository to store the relevant information. This central repository is the basis for a number of presentations. Both the central repository and the EAI Wiki as visualisation tool are explained in the next sections. 3.1 Central repository Figure 5 shows the environment of the Central Repository. The information in this repository is maintained by the EAI Design team. They add new services and update the designs of existing services. The Unification project is started to convert 'old' style designs into the format of the Central Repository. The information itself is stored in a Version Control System (VCS) to enable versioning, reliability and team work. A dedicated exporter tool is developed to generate Functional Specifications (FS) in word documents and the business view in an EAI Wiki which is explained in the next section. Figure 5 The Central Repository 3.2 EAI Wiki A Wiki is a web based graphical user interface commonly known from the WikiPedia web site. There are however also a number of organisations who use a Wiki as a basis for sharing knowledge within the organisation. Together with the open (source) environment and ease of use, we decided to use a MediaWiki to present the SOA information. The main feature of the EAI Wiki is that most information is (hyper) linked to other information and can be reached by clicking on the hyperlink. In an overview of related services (see Figure 4 for an example), each entity is clickable and leads to the page with more information on that entity. The functional specifications and other relevant documents are stored on the Wiki server and can be accessed via an hyperlink. Date: 09-10-2008 Page 7 of 10

In the organisation, a number of stakeholders are identified, each with different needs and focus: 1. Quality Assurance needs to know the relations between the different services to determine the effect of a request. 2. Business Analysis needs insight into the existing set of services and their status in order to determine the effort to develop a new chain. 3. Development likes to know the relations between different services to be able to determine the effect of a change in one service in relation to other services. 4. Management wants to base their decisions for e.g. budget on a correct and complete set of information. The next sections give an overview of the pages which are currently implemented in the EAI Wiki. 3.2.1 Chain register The Chain register is a page which shows a clickable list of all Chains present in the EAI Wiki. It is automatically generated from all Chain pages currently available in the EAI Wiki. The Chain page itself contains information on the chain like a description, version history, classifications and a picture with the services involved (see Figure 4 for an example). 3.2.2 Component register The Component register is an automatically generated page with a list of all components present in the EAI Wiki. The structure of a Component page is similar to the Chain page with a description, version history, classifications and a similar picture but then with the focus on all services which are part of the particular component shown. 3.2.3 System register The System register is also an automatically generated list but then of all System pages. It shows 2 lists, one for the Front End Systems and one for the Back End Systems. Again the structure of a System page is similar as the Component and Chain pages. This makes the use of the Wiki easier. 3.2.4 Public Service register One of the characteristics of a service is its visibility: Protected (only available for use by EAI services) or Public. The Public Service register shows a generated list of all services which are available for Front End Systems. With this register, the business customers can have insight into the functionality already available for possible re-use. The structure of a Service page is again similar to the other pages. Date: 09-10-2008 Page 8 of 10

4 Future developments As the previous chapter described the solution currently implemented, this chapter will elaborate on some ideas for future developments. 4.1 Integration with performance monitoring Within the organisation, another team is working on a monitoring system to show the usage of the EAI entities. They monitor the EAI bus in real-time to collect data over the services invoked. The data is stored in a local database and processed to enable a presentation of sensible information. However, they can only show information on single entities, there is no information to correlate the entities. This correlation is present however in the information stored in the EAI Wiki. So a next step would be to combine these two sets of information to enrich both environments. This way, it would not only be possible to show the load of a single service but also the load of a complete chain in relation to other chains. 4.2 Migration to stable environment As stated in the previous section, the monitoring project stores its information in a database. This is a system in a stable environment with a designed data model and presentation technology. The EAI Wiki however is using a MediaWiki with underlying database without a clear data model. This route was chosen because the technology and knowledge was available and easy to expand at that time. Currently however, it is hard to extract the information needed from the EAI Wiki database, e.g. to support the monitoring project. So a next step is to define a data model for the information stored in the EAI Wiki and create a new application to present this information. In short, the EAI Wiki environment is nice to build a prototype but for a maintainable and usable system, a different environment is desirable. Date: 09-10-2008 Page 9 of 10

5 Lessons learned The main benefits of the MediaWiki used as visualisation tool are: 1. Visibility. The EAI Wiki is an attractive presentation mechanism. Colleagues who use it, are eager to share it with others and thus spread the news. 2. Accessibility. The EAI Wiki is accessible for everyone with access to the intranet; it is web based and easy and intuitive to use. Relations between entities can be followed by hyperlinks to traverse the contents. 3. Possibility to add contents by other users. Each EAI Wiki page contains a link to a "Notes" page. As other users traverse the EAI Wiki pages, they can add remarks to that page on its related "Notes" page. An automated feedback mechanism notifies the EAI Wiki content manager when information is added. 4. Complete overviews. The Chain page shows the overview of ALL services related to the chain; and similar for the Component and System pages. When a certain service is changed, it is clear which services are affected. 5. Simple page updates. The main content of the EAI Wiki is generated from the central repository which ensures a consistent presentation. 6. Dynamic page creation. Using MediaWiki page templates, most EAI Wiki pages are generated dynamically. Each service only defines the entities it is using which implies that a relationship is only defined once. All relations are processed when a page is generated. This means that the impact of a newly defined relation is visible immediately. However, some of the drawbacks of the MediaWiki are: 7. Complex data model. The data stored in the EAI Wiki is processed from structured import files into the MediaWiki internal database structure which is relatively complex. 8. Performance. As each page is generated dynamically based on the information present at that moment, the presentation of the EAI Wiki is relatively slow. 9. Accessibility. As the EAI Wiki is accessible for everyone with access to the intranet; it is hard to prevent unwanted use and updates of crucial data. Also when a new set of data is imported from the central repository, manual updates are lost. All in all, at the moment we can conclude that the EAI Wiki is a success in the organisation. This can be deducted from the questions which arise from colleagues in other departments who have seen the EAI Wiki. The main question is "When will all information be available in the EAI Wiki?" Date: 09-10-2008 Page 10 of 10