ibm rational software presentation best practices

47
® © 2008 IBM Corporation IBM Software Group EGL Simplify Innovation EGL International Conference Zurich Oct 20-21 2008 Enterprise Modernization The EGL puzzle at Costaisa” Jesús Villagrasa – Assistant CIO Carlos Cercos – Main J2EE Architect www.costaisa.com

Upload: timothy212

Post on 29-May-2015

715 views

Category:

Documents


2 download

TRANSCRIPT

Page 1: IBM Rational software Presentation best practices

®

© 2008 IBM Corporation

IBM Software Group EGL Simplify Innovation

EGL International ConferenceZurich Oct 20-21 2008

Enterprise Modernization“The EGL puzzle at Costaisa”

Jesús Villagrasa – Assistant CIOCarlos Cercos – Main J2EE Architectwww.costaisa.com

Page 2: IBM Rational software Presentation best practices

2

IBM Software Group | EGL Simplify InnovationIBM Software Group EGL Simplify Innovation

Agenda

Costaisa Overview

A long journey to modernization Prior attempts.

AMC (Arquitectura Marco de Costaisa) Description

Building Blocks

The role of EGL in detail / Demo

Roadmap

Summary

Page 3: IBM Rational software Presentation best practices

3

IBM Software Group | EGL Simplify InnovationIBM Software Group EGL Simplify Innovation

Agenda

Costaisa Overview

A long journey to modernization Prior attempts.

AMC (Arquitectura Marco de Costaisa) Description

Building Blocks

The role of EGL in detail / Demo

Roadmap

Summary

Page 4: IBM Rational software Presentation best practices

4

IBM Software Group | EGL Simplify InnovationIBM Software Group EGL Simplify Innovation

Costaisa Overview

From 1968 an IT consulting firm…. Developing software Integral outsourcing From IBM 360 to zSeries Specialized in the IBM Mainframe Area (VM, VSE, z-LINUX, etc.) Specialized in the Insurance and healthcare business domain. Main outsourcer for a national Healthcare organization in Spain (5000 users, 200 facilities:

hospital, primary care, etc.) Around 230 FT employees.

Page 5: IBM Rational software Presentation best practices

5

IBM Software Group | EGL Simplify InnovationIBM Software Group EGL Simplify Innovation

Costaisa Overview - Technology

Look at IBM’s history + other mainframe providers Persistence

VSAM (5%)

DL/I (15%)

DB2 (VSE & UDB) (20%)

DOMINO (5%)

ADABAS C from Software AG (50%)

Other (ms-sql..) 5%

Page 6: IBM Rational software Presentation best practices

6

IBM Software Group | EGL Simplify InnovationIBM Software Group EGL Simplify Innovation

Costaisa Overview

Language / Development IDE Assembler 370 COBOL (PACBASE, CICS, BATCH) Natural , predict case (from software AG) Visual Basic 6, .Net, ms-VFoxpro Domino / Notes J2EE (EJB 2, jsp)

Environment Z-Mainframe (VSE, VM) Z-linux Wintel (w2k, vmware, citrix)

Page 7: IBM Rational software Presentation best practices

7

IBM Software Group | EGL Simplify InnovationIBM Software Group EGL Simplify Innovation

Costaisa Overview - Samples

Page 8: IBM Rational software Presentation best practices

8

IBM Software Group | EGL Simplify InnovationIBM Software Group EGL Simplify Innovation

Prior Attempts in App. Modernization

Conversion projects Natural to Java

Fail

Case tools (for j2ee) Versata (pseudo case tool)

Poor customization Proprietary solution No evolution

J2EE 1 project in production

Very expensive No trained people Complexity

Page 9: IBM Rational software Presentation best practices

9

IBM Software Group | EGL Simplify InnovationIBM Software Group EGL Simplify Innovation

AMC Arquitectura Marco de Costaisa“toward the Software Factory” Software Factory / Product Lines

AMC: Building blocks

AMCGen: Development Process Based on controlled IBM tooling (AMCDev)

Generated artifacts based on AMCBase architecture

AMCBase: EGL Business Components

AMCLib: Infrastructure Services and Components

Page 10: IBM Rational software Presentation best practices

10

IBM Software Group | EGL Simplify InnovationIBM Software Group EGL Simplify Innovation

Legacy IT House vs Web2.0

Legacy IT House

UML, XML,Relational DB, EGL, SOA, J2EE, Portal, HTTP, HTML, Javascript, CSS, Web2.0,…

Every project is similar

Everyone knows its place

Where is the ball?

Am I reinventing the wheel?

Who is who?

Page 11: IBM Rational software Presentation best practices

11

IBM Software Group | EGL Simplify InnovationIBM Software Group EGL Simplify Innovation

The Paradigm Shift

For several decades, the software industry has created software systems to support the needs of its customers, but... Despite all that experience, however, quality and productivity are not improving quickly.

We realize about the same level of productivity today as we did 10 years agoStandish group

Confront a group of developers or project managers, and ask them if they think they are successful in building software today. They almost always tend to laugh a little

Few teams regularly reuse solutions created in the past

We can see that we have a predictable problem on every new project

Page 12: IBM Rational software Presentation best practices

12

IBM Software Group | EGL Simplify InnovationIBM Software Group EGL Simplify Innovation

Software Factory /Product Line

Production mechanism and process: the means for composing and configuring products from the software asset inputs. Product decisions are used during production to determine which software asset inputs to use and how to configure the variation points within those assets.

Software asset inputs: a collection of software assets – such as requirements, source code components, test cases, architecture, and documentation – that can be configured and composed in different ways to create all of the products in a product line

Decision model and product decisions: The decision model describes optional and variable features for the products in the product line. Each product in the product line is uniquely defined by its product decisions - choices for each of the optional and variable features in the decision model.

Software product outputs: the collection of all products that can be produced for the product line. The scope of the product line is determined by the set of software product outputs that can be produced from the software assets and decision model.

Page 13: IBM Rational software Presentation best practices

13

IBM Software Group | EGL Simplify InnovationIBM Software Group EGL Simplify Innovation

AMC: COSTAISA’s Framework ArchitectureA

MC

For

ge

AM

CG

en

AM

CD

ev

AMCLib

AMCBase

AMCOp

AMCInfra

AM

CG

ui

Pre

sent

atio

n

Bus

ines

s

Per

sist

ence

Inte

grat

ion

Related to the access to the framework: documentation,

guidelines, change management, components,

etc.

Related to IDE (Rational Business Developer) + all

supporting tooling: configuration, continuous

integration, etc.

Related to the MDA development:

Uml profile, plug-in, ant extension, template customization, etc.

Related to resources for visual design: stylesheets, layouts, etc.

Related to components and utility libraries with specific function: reporting,

xml processing, etc.

Related to AMC kernel: architectural framework based in

EGLRelated to the control

and monitoring of production AMC’s based application

Related to the deployment of AMC

applications

Page 14: IBM Rational software Presentation best practices

14

IBM Software Group | EGL Simplify InnovationIBM Software Group EGL Simplify Innovation

Software Factory, What makes the difference

Software Factory Unified Methodology

Unified Architecture

Unified Development Process

Unified Development Environment

Unified Infrastructure Facilities

Unified Execution Environment

Unified SOA Governance

Unified Operations

AMC AMCForge & AMCGui

AMCBase

AMCGen

AMCDev

AMCLib

AMCInfra

AMCInfra

AMCOp

Page 15: IBM Rational software Presentation best practices

15

IBM Software Group | EGL Simplify InnovationIBM Software Group EGL Simplify Innovation

AMCGen

Development process

MDA based

RBD Extension plugin

Generates JSF Webapp & SOA Service

Based on AMCBase architecture

3 scenarios New SOA application (Direct engineering)

DB Modernization (DB Inverse engineering)

SOA Modernization (SOAP Inverse engineering)

Page 16: IBM Rational software Presentation best practices

16

IBM Software Group | EGL Simplify InnovationIBM Software Group EGL Simplify Innovation

AMCGen: Development process

RSMWBM

RDA RBD RFTRPT

AnalystAnalyst Data Arch.Data Arch. DeveloperDeveloper TesterTester

2

3

1 Uml Profile

MDA Plugin

SF Process

2

1 Prod. Line Def.

Team1 Product A

2 Product B

3 Product B

Page 17: IBM Rational software Presentation best practices

®

© 2008 IBM Corporation

IBM Software Group EGL Simplify Innovation

EGL International ConferenceZurich Oct 20-21 2008

DEMO

Page 18: IBM Rational software Presentation best practices

18

IBM Software Group | EGL Simplify InnovationIBM Software Group EGL Simplify Innovation

AMCGen: Development process

DEMO New SOA Application (Direct engineering strategy)

UML Business Entities Diagram Analysis

DA Glossary (AnalysisDesignDB word)

ER Logical Domain

DDL Physical Domain

UML Design classes diagrams SOA & JSF

JET templates

JSF SOA

Code based on AMCBase architecture

Page 19: IBM Rational software Presentation best practices

19

IBM Software Group | EGL Simplify InnovationIBM Software Group EGL Simplify Innovation

Analista Funcional

UML Business Entities Analysis

ER Design model

DB Physical model

DB

EGL code- DataItems

- Records

- Libraries

- Service

- WebApp Admin

•Custom types dictionary •Terms Glossary + Metainformation

•JET Templates

•DB Codification Translation

Desarrollador EGL

Desarrollador BD

Presentación Web

Lógica de Negocio

Registros y Persistencia

Web Service SOAP/HTTP

JDBC/SQL

DB Codification Rules

MDD UML-ER MDD ER-DDL

MDD DDL-EGL

Page 20: IBM Rational software Presentation best practices

20

IBM Software Group | EGL Simplify InnovationIBM Software Group EGL Simplify Innovation

Analista Funcional

UML Business Entities Analysis

ER Design model

DB Physical model

DB

EGL code- DataItems

- Records

- Libraries

- Service

- WebApp Admin

•Custom types dictionary •Terms Glossary + Metainformation

•JET Templates

•DB Codification Translation

Desarrollador EGL

Desarrollador BD

Presentación Web

Lógica de Negocio

Registros y Persistencia

Web Service SOAP/HTTP

JDBC/SQL

DB Codification Rules

MDD UML-ER MDD ER-DDL

MDD DDL-EGL

Page 21: IBM Rational software Presentation best practices

21

IBM Software Group | EGL Simplify InnovationIBM Software Group EGL Simplify Innovation

Analista Funcional

UML Business Entities Analysis

ER Design model

DB Physical model

DB

EGL code- DataItems

- Records

- Libraries

- Service

- WebApp Admin

•Custom types dictionary •Terms Glossary + Metainformation

•JET Templates

•DB Codification Translation

Desarrollador EGL

Desarrollador BD

Presentación Web

Lógica de Negocio

Registros y Persistencia

Web Service SOAP/HTTP

JDBC/SQL

DB Codification Rules

MDD UML-ER MDD ER-DDL

MDD DDL-EGL

Page 22: IBM Rational software Presentation best practices

22

IBM Software Group | EGL Simplify InnovationIBM Software Group EGL Simplify Innovation

Analista Funcional

UML Business Entities Analysis

ER Design model

DB Physical model

DB

EGL code- DataItems

- Records

- Libraries

- Service

- WebApp Admin

•Custom types dictionary •Terms Glossary + Metainformation

•JET Templates

•DB Codification Translation

Desarrollador EGL

Desarrollador BD

Presentación Web

Lógica de Negocio

Registros y Persistencia

Web Service SOAP/HTTP

JDBC/SQL

DB Codification Rules

MDD UML-ER MDD ER-DDL

MDD DDL-EGL

Page 23: IBM Rational software Presentation best practices

23

IBM Software Group | EGL Simplify InnovationIBM Software Group EGL Simplify Innovation

Analista Funcional

UML Business Entities Analysis

ER Design model

DB Physical model

DB

EGL code- DataItems

- Records

- Libraries

- Service

- WebApp Admin

•Custom types dictionary •Terms Glossary + Metainformation

•JET Templates

•DB Codification Translation

Desarrollador EGL

Desarrollador BD

Presentación Web

Lógica de Negocio

Registros y Persistencia

Web Service SOAP/HTTP

JDBC/SQL

DB Codification Rules

MDD UML-ER MDD ER-DDL

MDD DDL-EGL

Page 24: IBM Rational software Presentation best practices

24

IBM Software Group | EGL Simplify InnovationIBM Software Group EGL Simplify Innovation

Analista Funcional

UML Business Entities Analysis

ER Design model

DB Physical model

DB

EGL code- DataItems

- Records

- Libraries

- Service

- WebApp Admin

•Custom types dictionary •Terms Glossary + Metainformation

•JET Templates

•DB Codification Translation

Desarrollador EGL

Desarrollador BD

Presentación Web

Lógica de Negocio

Registros y Persistencia

Web Service SOAP/HTTP

JDBC/SQL

DB Codification Rules

MDD UML-ER MDD ER-DDL

MDD DDL-EGL

Page 25: IBM Rational software Presentation best practices

25

IBM Software Group | EGL Simplify InnovationIBM Software Group EGL Simplify Innovation

Analista Funcional

UML Business Entities Analysis

ER Design model

DB Physical model

DB

EGL code- DataItems

- Records

- Libraries

- Service

- WebApp Admin

•Custom types dictionary •Terms Glossary + Metainformation

•JET Templates

•DB Codification Translation

Desarrollador EGL

Desarrollador BD

Presentación Web

Lógica de Negocio

Registros y Persistencia

Web Service SOAP/HTTP

JDBC/SQL

DB Codification Rules

MDD UML-ER MDD ER-DDL

MDD DDL-EGL

Page 26: IBM Rational software Presentation best practices

26

IBM Software Group | EGL Simplify InnovationIBM Software Group EGL Simplify Innovation

Analista Funcional

UML Business Entities Analysis

ER Design model

DB Physical model

DB

EGL code- DataItems

- Records

- Libraries

- Service

- WebApp Admin

•Custom types dictionary •Terms Glossary + Metainformation

•JET Templates

•DB Codification Translation

Desarrollador EGL

Desarrollador BD

Presentación Web

Lógica de Negocio

Registros y Persistencia

Web Service SOAP/HTTP

JDBC/SQL

DB Codification Rules

MDD UML-ER MDD ER-DDL

MDD DDL-EGL

Page 27: IBM Rational software Presentation best practices

27

IBM Software Group | EGL Simplify InnovationIBM Software Group EGL Simplify Innovation

Analista Funcional

UML Business Entities Analysis

ER Design model

DB Physical model

DB

EGL code- DataItems

- Records

- Libraries

- Service

- WebApp Admin

•Custom types dictionary •Terms Glossary + Metainformation

•JET Templates

•DB Codification Translation

Desarrollador EGL

Desarrollador BD

Presentación Web

Lógica de Negocio

Registros y Persistencia

Web Service SOAP/HTTP

JDBC/SQL

DB Codification Rules

MDD UML-ER MDD ER-DDL

MDD DDL-EGL

Page 28: IBM Rational software Presentation best practices

28

IBM Software Group | EGL Simplify InnovationIBM Software Group EGL Simplify Innovation

Analista Funcional

UML Business Entities Analysis

ER Design model

DB Physical model

DB

EGL code- DataItems

- Records

- Libraries

- Service

- WebApp Admin

•Custom types dictionary •Terms Glossary + Metainformation

•JET Templates

•DB Codification Translation

Desarrollador EGL

Desarrollador BD

Presentación Web

Lógica de Negocio

Registros y Persistencia

Web Service SOAP/HTTP

JDBC/SQL

DB Codification Rules

MDD UML-ER MDD ER-DDL

MDD DDL-EGL

Page 29: IBM Rational software Presentation best practices

29

IBM Software Group | EGL Simplify InnovationIBM Software Group EGL Simplify Innovation

AMCGen: Development process

DEMO Modernization (DB Reverse engineering strategy)

DDL Physical Domain

ER Logical Domain

DA Glossary (AnalysisDesignDB word)

UML Design classes diagrams SOA & JSF

JET templates

JSF SOA

Code based on AMCBase architecture

Page 30: IBM Rational software Presentation best practices

30

IBM Software Group | EGL Simplify InnovationIBM Software Group EGL Simplify Innovation

AMCBase

EGL as business development language J2EE environment WAS6.1/zLinux Business Components & SOA based via Service Separation of Concerns via Service Lib

Service (technical&infrastructure code) Lib (functional code) MDA generated Context propagated via parameter

Composite Records via UML Design MDA EGL embed Composite Generic finder Composite CRUD

Page 31: IBM Rational software Presentation best practices

31

IBM Software Group | EGL Simplify InnovationIBM Software Group EGL Simplify Innovation

AMCBase Tiers

Separation of concerns

Page 32: IBM Rational software Presentation best practices

32

IBM Software Group | EGL Simplify InnovationIBM Software Group EGL Simplify Innovation

AMCBase Technical Layer

Business Layer

Page 33: IBM Rational software Presentation best practices

33

IBM Software Group | EGL Simplify InnovationIBM Software Group EGL Simplify Innovation

AMC Base BC Business, Technical layer

Page 34: IBM Rational software Presentation best practices

34

IBM Software Group | EGL Simplify InnovationIBM Software Group EGL Simplify Innovation

AMC Base BC Business, Functional layer

Page 35: IBM Rational software Presentation best practices

35

IBM Software Group | EGL Simplify InnovationIBM Software Group EGL Simplify Innovation

AMC Base BC Persistence, Functional layer

Page 36: IBM Rational software Presentation best practices

36

IBM Software Group | EGL Simplify InnovationIBM Software Group EGL Simplify Innovation

AMC Base BC Persistence, Technical layer, Composite Record

Page 37: IBM Rational software Presentation best practices

37

IBM Software Group | EGL Simplify InnovationIBM Software Group EGL Simplify Innovation

AMC Base

Search accounts by company, year, ordered by account number. No return child entity “cuentaretenida”

FROM ACODT006 ACODT006 WHERE ( ( ACODT006.KA8CIA = '01' AND ACODT006.KA8EJE LIKE '2008%' ) ) ORDER BY ACODT006.NA8CTA DESC

Search accounts by company, account must begin with informed year, ordered by account name descending with some deduction (“cuentaretenida”) last month. FROM ACODT006 ACODT006, ACODT008 ACODT0080 WHERE

( ( ACODT006.KA8CIA = '01' AND ACODT006.KA8EJE LIKE '2008%' ) ) AND ( ( ( ( ACODT0080.FA8TS >= '2008-03-22-13.05.51.000' ) ) AND ACODT006.CA8CTA = ACODT0080.CA8CTA AND ACODT006.KA8EJE = ACODT0080.KA8EJE AND ACODT006.KA8CIA = ACODT0080.KA8CIA ) ) ORDER BY ACODT006.NA8CTA DESC

BC Persistence, Technical layer, generic query tool

Page 38: IBM Rational software Presentation best practices

38

IBM Software Group | EGL Simplify InnovationIBM Software Group EGL Simplify Innovation

AMCLib COSTAISA’s technical facilities provided via EGL Library

Page 39: IBM Rational software Presentation best practices

39

IBM Software Group | EGL Simplify InnovationIBM Software Group EGL Simplify Innovation

Information infrastructure Services

Datos y Servicios de Sistemas Auxiliares

Servicio de Registros Servicios de História Clínica DataWarehouse

Epidemiología Informes

Financieros / Sector Público

Información Clínica Básica

Medicación Imagen Médica LaboratorioIndicadores

Salud / Gestión

Points of Service

HIS ADTEstación

Clínica (visor EHR)

Clínico / Proveedor

Reglas de Negocio

Indices EHREstructuras de

MensajesReglas de

Normalización

Facility

Services

ClinicoClínico / Proveedor

Salud

Sistema Laboratorio

Tec. Laboratorio

PACS / RIS

Radiologo

Sistema Farmacia

Farmaceutico

Servicio Publico de

Salud

Servicio Publico de

Salud

Servicios Transversales

CHIALCommunication Services (Brokering, Routing, …)

Facility

Components

Common Services

Clientes

Proveedores

Ubicaciones

Terminología

AMCLib: Generic Healthcare IT architecture

Page 40: IBM Rational software Presentation best practices

40

IBM Software Group | EGL Simplify InnovationIBM Software Group EGL Simplify Innovation

Information Infrastructure Services

Datos y Servicios de Sistemas Auxiliares

Servicio de Registros Servicios de História Clínica DataWarehouse

Epidemiología Informes

Financieros / Sector Público

Información Clínica Básica

Medicación Imagen Médica LaboratorioIndicadores

Salud / Gestión

Points of Service

HIS ADTEstación

Clínica (visor EHR)

Clínico / Proveedor

Reglas de Negocio

Indices EHREstructuras de

MensajesReglas de

Normalización

Security ServiceAudit Service

LOPD,HIPAA,..Configuration

Services

ClinicoClínico / Proveedor

Salud

Sistema Laboratorio

Tec. Laboratorio

PACS / RIS

Radiologo

Sistema Farmacia

Farmaceutico

Servicio Publico de

Salud

Servicio Publico de

Salud

Servicios Transversales

AMCLibCommunication Services (Brokering, Routing, …)

Scheduler Service

Validation Components

Terminology Service

PubSub Components

EGL Facility

Components

Common Services

Clientes

Proveedores

Ubicaciones

Terminología

AMCLib: Common Reusable Components & Services

Page 41: IBM Rational software Presentation best practices

41

IBM Software Group | EGL Simplify InnovationIBM Software Group EGL Simplify Innovation

AMCLib: EGL Façade EGL generated Documentation for AMCLib using a customized tool EGLDOC

EGLDoc\index.html

Page 42: IBM Rational software Presentation best practices

42

IBM Software Group | EGL Simplify InnovationIBM Software Group EGL Simplify Innovation

AMCLib Facilities:

Validation via Apache Commons Validation

Configuration via Apache Commons Configuration

Audit via SOAP, syslog, MDB (IHE ATNA)

Notification via JMS & EGL event listener

Monitoring and Managemente via JMX

Page 43: IBM Rational software Presentation best practices

43

IBM Software Group | EGL Simplify InnovationIBM Software Group EGL Simplify Innovation

AMCForge Support environment to assist application development teams

Methodology RUP + Agile Scrumm ITIL Testing

Configuration management Subversion + CQ + TRAC ticketing Clear Case + Clear Quest + UCM

Continuous Integration EGLTest via eglUnit (junit customized for egl) Continuous Integration Server via Hudson, EGLBuild EGL Components dependency via Maven

Project portal site Quickplace + TRAC wiki

Page 44: IBM Rational software Presentation best practices

44

IBM Software Group | EGL Simplify InnovationIBM Software Group EGL Simplify Innovation

AMC Roadmap 2008Q4

AMCInfra: First production deployments New SOA Application project (5 WS, 40 tables, 500 users) DB Modernization project (10 WS, 50 tables, 10 users) SOA Modernization - CICS Integration (5 WS, 600 users)

AMCBase: First SOA Modernization project (SOA to CICS online) AMCGen: RBD AMCGen plugin 1.0 AMCGen: BIRT Reports Integration AMCForge: CI Server automation completed

2009Q2 AMC: BPM Software Factory AMCBase: BPEL, ESB, Portal, BAM

2009Q4 AMCBase: Rich User Interface

Page 45: IBM Rational software Presentation best practices

45

IBM Software Group | EGL Simplify InnovationIBM Software Group EGL Simplify Innovation

Summary RBD (egl)

Productive, easier than Java J2EE

Your “legacy” people will be grateful

Don’t worry about how will be j2ee in the future (IBM will do for you)

But..You must invest in a software factory framework (or adopt one as AMC).

Invest on adapting tooling for MDA (RSM, RDA) and you will have EGL3.

Page 46: IBM Rational software Presentation best practices

46

IBM Software Group | EGL Simplify InnovationIBM Software Group EGL Simplify Innovation

COSTAISA AMC, How can we help you?

There are a variety of approaches for transitioning to, or adopting, a new software product line approach , but we recommend… Use an incremental transition strategy

Lifecycle strategy, product strategy, subsytem, people.

Create a Pilot as a catalyst for change

The pilot helps to build momentum by demonstrating to managers and engineers a practical, operational example of software product line practice and the tangible benefits it delivers.

Choose an expert to help define your best approach for getting started (and become one)

By leveraging our technology, pragmatic methods and proven expertise you can reduce your effort transition.

Combining the right tooling (IBM) and an intense, accelerated, hands-on program that brings leading-edge software product line development methods, knowledge and experience into your organization (AMC).

Page 47: IBM Rational software Presentation best practices

47

IBM Software Group | EGL Simplify InnovationIBM Software Group EGL Simplify Innovation

Questions ?

COSTAISA (IBM Partner) Pau Alcover 33 08017 Barcelona – SPAIN www.costaisa.com

Jesús Villagrasa Assistant CIO Methodology & Quality manager [email protected]

Carlos Cercós IT Architect [email protected]