Post on 29-May-2015
®
© 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
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
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
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.
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%
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)
7
IBM Software Group | EGL Simplify InnovationIBM Software Group EGL Simplify Innovation
Costaisa Overview - Samples
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
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
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?
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
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.
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
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
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)
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
®
© 2008 IBM Corporation
IBM Software Group EGL Simplify Innovation
EGL International ConferenceZurich Oct 20-21 2008
DEMO
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
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
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
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
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
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
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
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
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
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
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
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
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
31
IBM Software Group | EGL Simplify InnovationIBM Software Group EGL Simplify Innovation
AMCBase Tiers
Separation of concerns
32
IBM Software Group | EGL Simplify InnovationIBM Software Group EGL Simplify Innovation
AMCBase Technical Layer
Business Layer
33
IBM Software Group | EGL Simplify InnovationIBM Software Group EGL Simplify Innovation
AMC Base BC Business, Technical layer
34
IBM Software Group | EGL Simplify InnovationIBM Software Group EGL Simplify Innovation
AMC Base BC Business, Functional layer
35
IBM Software Group | EGL Simplify InnovationIBM Software Group EGL Simplify Innovation
AMC Base BC Persistence, Functional layer
36
IBM Software Group | EGL Simplify InnovationIBM Software Group EGL Simplify Innovation
AMC Base BC Persistence, Technical layer, Composite Record
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
38
IBM Software Group | EGL Simplify InnovationIBM Software Group EGL Simplify Innovation
AMCLib COSTAISA’s technical facilities provided via EGL Library
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
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
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
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
…
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
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
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.
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).
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 jvillagrasa@costaisa.com
Carlos Cercós IT Architect ccercos@costaisa.com