IBM Rational software Presentation best practices

advertisement
®
IBM Software Group
EGL Simplify Innovation
Enterprise Modernization
“The EGL puzzle at Costaisa”
Jesús Villagrasa – Assistant CIO
Carlos Cercos – Main J2EE Architect
www.costaisa.com
EGL International Conference
Zurich Oct 20-21 2008
© 2008 IBM Corporation
EGLSimplify
SimplifyInnovation
Innovation
IBM
IBMSoftware
SoftwareGroup
Group | EGL
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
2
EGLSimplify
SimplifyInnovation
Innovation
IBM
IBMSoftware
SoftwareGroup
Group | EGL
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
EGLSimplify
SimplifyInnovation
Innovation
IBM
IBMSoftware
SoftwareGroup
Group | EGL
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.
4
EGLSimplify
SimplifyInnovation
Innovation
IBM
IBMSoftware
SoftwareGroup
Group | EGL
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%
5
EGLSimplify
SimplifyInnovation
Innovation
IBM
IBMSoftware
SoftwareGroup
Group | EGL
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)
6
EGLSimplify
SimplifyInnovation
Innovation
IBM
IBMSoftware
SoftwareGroup
Group | EGL
Costaisa Overview - Samples
7
EGLSimplify
SimplifyInnovation
Innovation
IBM
IBMSoftware
SoftwareGroup
Group | EGL
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
8
EGLSimplify
SimplifyInnovation
Innovation
IBM
IBMSoftware
SoftwareGroup
Group | EGL
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
9
EGLSimplify
SimplifyInnovation
Innovation
IBM
IBMSoftware
SoftwareGroup
Group | EGL
Legacy IT House vs Web2.0
 Legacy IT House
 UML, XML,Relational DB, EGL, SOA,
J2EE, Portal, HTTP, HTML, Javascript,
CSS, Web2.0,…
Where is the ball?
Every project is similar
Am I reinventing the
wheel?
Everyone knows its place
Who is who?
10
EGLSimplify
SimplifyInnovation
Innovation
IBM
IBMSoftware
SoftwareGroup
Group | EGL
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
11
EGLSimplify
SimplifyInnovation
Innovation
IBM
IBMSoftware
SoftwareGroup
Group | EGL
Software Factory /Product Line
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
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.
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.
12
Related to
components and utility
libraries with specific
function: reporting,
xml processing, etc.
EGLSimplify
SimplifyInnovation
Innovation
IBM
IBMSoftware
SoftwareGroup
Group | EGL
Related to the access to the
Related to
framework:
documentation,
AMC:
COSTAISA’s
Framework
Architecture
resources
for
guidelines, change
visual design:
management, components,
stylesheets,
AMCLib
etc.
layouts, etc.
Related to the MDA
development:
Uml profile, plug-in, ant
extension, template
customization, etc.
Related to IDE (Rational
Business Developer) + all
supporting tooling:
configuration, continuous
integration, etc.
Persistence
Related to AMC
kernel: architectural
framework based in
EGL
Integration
Related to the control
and monitoring of
production AMC’s
based application
Business
Presentation
AMCGui
AMCDev
AMCGen
AMCForge
AMCBase
AMCOp
AMCInfra
Related to the
deployment of AMC
applications
13
EGLSimplify
SimplifyInnovation
Innovation
IBM
IBMSoftware
SoftwareGroup
Group | EGL
Software Factory, What makes the difference
 Software Factory
 AMC
 Unified Methodology
 AMCForge & AMCGui
 Unified Architecture
 AMCBase
 Unified Development Process
 AMCGen
 Unified Development Environment
 AMCDev
 Unified Infrastructure Facilities
 AMCLib
 Unified Execution Environment
 AMCInfra
 Unified SOA Governance
 AMCInfra
 Unified Operations
 AMCOp
14
EGLSimplify
SimplifyInnovation
Innovation
IBM
IBMSoftware
SoftwareGroup
Group | EGL
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)
15
EGLSimplify
SimplifyInnovation
Innovation
IBM
IBMSoftware
SoftwareGroup
Group | EGL
AMCGen: Development process
Analyst
RSM
WBM
Data Arch.
RDA
Developer
Tester
RBD
RFT
RPT
1 Prod. Line Def.
1 Uml Profile
2 Team
1 Product A
2 MDA Plugin
2 Product B
3 SF Process
3 Product B
16
®
IBM Software Group
EGL Simplify Innovation
DEMO
EGL International Conference
Zurich Oct 20-21 2008
© 2008 IBM Corporation
EGLSimplify
SimplifyInnovation
Innovation
IBM
IBMSoftware
SoftwareGroup
Group | EGL
AMCGen: Development process
 DEMO
 New SOA Application (Direct engineering strategy)
 UML Business Entities Diagram Analysis
 DA Glossary (AnalysisDesignDB word)
 ER Logical Domain
 DDL Physical Domain
 UML Design classes diagrams SOA & JSF
 JET templates
 JSF  SOA
 Code based on AMCBase architecture
18
EGLSimplify
SimplifyInnovation
Innovation
IBM
IBMSoftware
SoftwareGroup
Group | EGL
MDD UML-ER
UML Business
Entities Analysis
MDD ER-DDL
ER Design
model
DB Physical
model
•Terms Glossary + Metainformation
•Custom types dictionary
Analista Funcional
Desarrollador BD
DB
Codification
Rules
DB
MDD DDL-EGL
•JET Templates
Presentación Web
Web Service
•DB Codification Translation
EGL code
SOAP/HTTP
- DataItems
Lógica de Negocio
- Records
Desarrollador EGL
- Libraries
- Service
Registros y Persistencia
JDBC/SQL
- WebApp Admin
19
EGLSimplify
SimplifyInnovation
Innovation
IBM
IBMSoftware
SoftwareGroup
Group | EGL
MDD UML-ER
UML Business
Entities Analysis
MDD ER-DDL
ER Design
model
DB Physical
model
•Terms Glossary + Metainformation
•Custom types dictionary
Analista Funcional
Desarrollador BD
DB
Codification
Rules
DB
MDD DDL-EGL
•JET Templates
Presentación Web
Web Service
•DB Codification Translation
EGL code
SOAP/HTTP
- DataItems
Lógica de Negocio
- Records
Desarrollador EGL
- Libraries
- Service
Registros y Persistencia
JDBC/SQL
- WebApp Admin
20
EGLSimplify
SimplifyInnovation
Innovation
IBM
IBMSoftware
SoftwareGroup
Group | EGL
MDD UML-ER
UML Business
Entities Analysis
MDD ER-DDL
ER Design
model
DB Physical
model
•Terms Glossary + Metainformation
•Custom types dictionary
Analista Funcional
Desarrollador BD
DB
Codification
Rules
DB
MDD DDL-EGL
•JET Templates
Presentación Web
Web Service
•DB Codification Translation
EGL code
SOAP/HTTP
- DataItems
Lógica de Negocio
- Records
Desarrollador EGL
- Libraries
- Service
Registros y Persistencia
JDBC/SQL
- WebApp Admin
21
EGLSimplify
SimplifyInnovation
Innovation
IBM
IBMSoftware
SoftwareGroup
Group | EGL
MDD UML-ER
UML Business
Entities Analysis
MDD ER-DDL
ER Design
model
DB Physical
model
•Terms Glossary + Metainformation
•Custom types dictionary
Analista Funcional
Desarrollador BD
DB
Codification
Rules
DB
MDD DDL-EGL
•JET Templates
Presentación Web
Web Service
•DB Codification Translation
EGL code
SOAP/HTTP
- DataItems
Lógica de Negocio
- Records
Desarrollador EGL
- Libraries
- Service
Registros y Persistencia
JDBC/SQL
- WebApp Admin
22
EGLSimplify
SimplifyInnovation
Innovation
IBM
IBMSoftware
SoftwareGroup
Group | EGL
MDD UML-ER
UML Business
Entities Analysis
MDD ER-DDL
ER Design
model
DB Physical
model
•Terms Glossary + Metainformation
•Custom types dictionary
Analista Funcional
Desarrollador BD
DB
Codification
Rules
DB
MDD DDL-EGL
•JET Templates
Presentación Web
Web Service
•DB Codification Translation
EGL code
SOAP/HTTP
- DataItems
Lógica de Negocio
- Records
Desarrollador EGL
- Libraries
- Service
Registros y Persistencia
JDBC/SQL
- WebApp Admin
23
EGLSimplify
SimplifyInnovation
Innovation
IBM
IBMSoftware
SoftwareGroup
Group | EGL
MDD UML-ER
UML Business
Entities Analysis
MDD ER-DDL
ER Design
model
DB Physical
model
•Terms Glossary + Metainformation
•Custom types dictionary
Analista Funcional
Desarrollador BD
DB
Codification
Rules
DB
MDD DDL-EGL
•JET Templates
Presentación Web
Web Service
•DB Codification Translation
EGL code
SOAP/HTTP
- DataItems
Lógica de Negocio
- Records
Desarrollador EGL
- Libraries
- Service
Registros y Persistencia
JDBC/SQL
- WebApp Admin
24
EGLSimplify
SimplifyInnovation
Innovation
IBM
IBMSoftware
SoftwareGroup
Group | EGL
MDD UML-ER
UML Business
Entities Analysis
MDD ER-DDL
ER Design
model
DB Physical
model
•Terms Glossary + Metainformation
•Custom types dictionary
Analista Funcional
Desarrollador BD
DB
Codification
Rules
DB
MDD DDL-EGL
•JET Templates
Presentación Web
Web Service
•DB Codification Translation
EGL code
SOAP/HTTP
- DataItems
Lógica de Negocio
- Records
Desarrollador EGL
- Libraries
- Service
Registros y Persistencia
JDBC/SQL
- WebApp Admin
25
EGLSimplify
SimplifyInnovation
Innovation
IBM
IBMSoftware
SoftwareGroup
Group | EGL
MDD UML-ER
UML Business
Entities Analysis
MDD ER-DDL
ER Design
model
DB Physical
model
•Terms Glossary + Metainformation
•Custom types dictionary
Analista Funcional
Desarrollador BD
DB
Codification
Rules
DB
MDD DDL-EGL
•JET Templates
Presentación Web
Web Service
•DB Codification Translation
EGL code
SOAP/HTTP
- DataItems
Lógica de Negocio
- Records
Desarrollador EGL
- Libraries
- Service
Registros y Persistencia
JDBC/SQL
- WebApp Admin
26
EGLSimplify
SimplifyInnovation
Innovation
IBM
IBMSoftware
SoftwareGroup
Group | EGL
MDD UML-ER
UML Business
Entities Analysis
MDD ER-DDL
ER Design
model
DB Physical
model
•Terms Glossary + Metainformation
•Custom types dictionary
Analista Funcional
Desarrollador BD
DB
Codification
Rules
DB
MDD DDL-EGL
•JET Templates
Presentación Web
Web Service
•DB Codification Translation
EGL code
SOAP/HTTP
- DataItems
Lógica de Negocio
- Records
Desarrollador EGL
- Libraries
- Service
Registros y Persistencia
JDBC/SQL
- WebApp Admin
27
EGLSimplify
SimplifyInnovation
Innovation
IBM
IBMSoftware
SoftwareGroup
Group | EGL
MDD UML-ER
UML Business
Entities Analysis
MDD ER-DDL
ER Design
model
DB Physical
model
•Terms Glossary + Metainformation
•Custom types dictionary
Analista Funcional
Desarrollador BD
DB
Codification
Rules
DB
MDD DDL-EGL
•JET Templates
Presentación Web
Web Service
•DB Codification Translation
EGL code
SOAP/HTTP
- DataItems
Lógica de Negocio
- Records
Desarrollador EGL
- Libraries
- Service
Registros y Persistencia
JDBC/SQL
- WebApp Admin
28
EGLSimplify
SimplifyInnovation
Innovation
IBM
IBMSoftware
SoftwareGroup
Group | EGL
AMCGen: Development process
 DEMO
 Modernization (DB Reverse engineering strategy)
 DDL Physical Domain
 ER Logical Domain
 DA Glossary (AnalysisDesignDB word)
 UML Design classes diagrams SOA & JSF
 JET templates
 JSF  SOA
 Code based on AMCBase architecture
29
EGLSimplify
SimplifyInnovation
Innovation
IBM
IBMSoftware
SoftwareGroup
Group | EGL
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
30
EGLSimplify
SimplifyInnovation
Innovation
IBM
IBMSoftware
SoftwareGroup
Group | EGL
AMCBase
 Tiers
 Separation of concerns
31
EGLSimplify
SimplifyInnovation
Innovation
IBM
IBMSoftware
SoftwareGroup
Group | EGL
AMCBase
 Technical Layer
 Business Layer
32
EGLSimplify
SimplifyInnovation
Innovation
IBM
IBMSoftware
SoftwareGroup
Group | EGL
AMC Base
 BC Business, Technical layer
33
EGLSimplify
SimplifyInnovation
Innovation
IBM
IBMSoftware
SoftwareGroup
Group | EGL
AMC Base
 BC Business, Functional layer
34
EGLSimplify
SimplifyInnovation
Innovation
IBM
IBMSoftware
SoftwareGroup
Group | EGL
AMC Base
 BC Persistence, Functional layer
35
EGLSimplify
SimplifyInnovation
Innovation
IBM
IBMSoftware
SoftwareGroup
Group | EGL
AMC Base
 BC Persistence, Technical layer, Composite Record
36
EGLSimplify
SimplifyInnovation
Innovation
IBM
IBMSoftware
SoftwareGroup
Group | EGL
AMC Base
 BC Persistence, Technical layer, generic query tool

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-2213.05.51.000' ) ) AND ACODT006.CA8CTA =
ACODT0080.CA8CTA AND ACODT006.KA8EJE =
ACODT0080.KA8EJE AND ACODT006.KA8CIA =
ACODT0080.KA8CIA ) ) ORDER BY ACODT006.NA8CTA DESC
37
EGLSimplify
SimplifyInnovation
Innovation
IBM
IBMSoftware
SoftwareGroup
Group | EGL
AMCLib
 COSTAISA’s technical facilities provided via EGL Library
38
EGLSimplify
SimplifyInnovation
Innovation
IBM
IBMSoftware
SoftwareGroup
Group | EGL
AMCLib: Generic Healthcare IT architecture
Information infrastructure Services
Datos y Servicios de Sistemas
Auxiliares
Servicio de Registros
Clientes
Informes
Financieros /
Sector Público
Epidemiología
Servicios de História Clínica
Información
Clínica Básica
Medicación
Imagen Médica
Data
Warehouse
Laboratorio
Indicadores
Salud / Gestión
Proveedores
Ubicaciones
Reglas de
Negocio
Indices EHR
Estructuras de
Mensajes
Reglas de
Normalización
Servicios Transversales
Terminología
Facility
Components
Facility
Services
Common Services
CHIAL
Communication Services (Brokering, Routing, …)
Servicio
Publico de
Salud
Points of Service
Servicio
Publico de
Salud
Sistema
Farmacia
Farmaceutico
PACS / RIS
Radiologo
Sistema
Laboratorio
Tec.
Laboratorio
HIS
Clínico /
Proveedor
Salud
Estación
Clínica (visor
EHR)
ADT
Clinico
Clínico /
Proveedor
39
EGLSimplify
SimplifyInnovation
Innovation
IBM
IBMSoftware
SoftwareGroup
Group | EGL
AMCLib: Common Reusable Components & Services
Information Infrastructure Services
Datos y Servicios de Sistemas
Auxiliares
Servicio de Registros
Clientes
Servicios de História Clínica
Informes
Financieros /
Sector Público
Epidemiología
Información
Clínica Básica
Medicación
Imagen Médica
Data
Warehouse
Laboratorio
Indicadores
Salud / Gestión
Proveedores
Ubicaciones
Reglas de
Negocio
Indices EHR
Estructuras de
Mensajes
Servicios Transversales
Terminología
Validation
Components
PubSub
Components
EGL Facility
Components
Scheduler
Service
Terminology
Service
Security Service
Audit Service
LOPD,HIPAA,..
Configuration
Services
Common Services
AMCLib
Communication Services (Brokering, Routing, …)
Servicio
Publico de
Salud
Points of Service
Reglas de
Normalización
Servicio
Publico de
Salud
Sistema
Farmacia
Farmaceutico
PACS / RIS
Radiologo
Sistema
Laboratorio
Tec.
Laboratorio
HIS
Clínico /
Proveedor
Salud
Estación
Clínica (visor
EHR)
ADT
Clinico
Clínico /
Proveedor
40
EGLSimplify
SimplifyInnovation
Innovation
IBM
IBMSoftware
SoftwareGroup
Group | EGL
AMCLib: EGL Façade
 EGL generated Documentation for AMCLib using a customized tool EGLDOC
 EGLDoc\index.html
41
EGLSimplify
SimplifyInnovation
Innovation
IBM
IBMSoftware
SoftwareGroup
Group | EGL
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
…
42
EGLSimplify
SimplifyInnovation
Innovation
IBM
IBMSoftware
SoftwareGroup
Group | EGL
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
43
EGLSimplify
SimplifyInnovation
Innovation
IBM
IBMSoftware
SoftwareGroup
Group | EGL
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
44
EGLSimplify
SimplifyInnovation
Innovation
IBM
IBMSoftware
SoftwareGroup
Group | EGL
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.
45
EGLSimplify
SimplifyInnovation
Innovation
IBM
IBMSoftware
SoftwareGroup
Group | EGL
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).
46
EGLSimplify
SimplifyInnovation
Innovation
IBM
IBMSoftware
SoftwareGroup
Group | EGL
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
47
Download