1 / 47

The EGL Puzzle at Costaisa

Learn about Costaisa's long journey to modernization and their use of the AMC framework and EGL to achieve it. Explore the building blocks and the role of EGL in detail through a demo, and discover their roadmap for the future.

jeniferd
Download Presentation

The EGL Puzzle at Costaisa

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Enterprise Modernization“The EGL puzzle at Costaisa”Jesús Villagrasa – Assistant CIOCarlos Cercos – Main J2EE Architectwww.costaisa.com

  2. 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. 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. 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. 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. 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. Costaisa Overview - Samples

  8. 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. 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. Legacy IT House vs Web2.0 • UML, XML,Relational DB, EGL, SOA, J2EE, Portal, HTTP, HTML, Javascript, CSS, Web2.0,… • Legacy IT House Where is the ball? Am I reinventing the wheel? Who is who? Every project is similar Everyone knows its place

  11. 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. 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 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. 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 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. AMCLib AMCBase Related to components and utility libraries with specific function: reporting, xml processing, etc. Related to the access to the framework: documentation, guidelines, change management, components, etc. Related to resources for visual design: stylesheets, layouts, etc. AMC: COSTAISA’s Framework Architecture AMCForge AMCGen AMCDev AMCGui AMCOp Presentation Business Persistence Integration Related to AMC kernel: architectural framework based in EGL AMCInfra Related to the control and monitoring of production AMC’s based application 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. Related to the deployment of AMC applications

  14. 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 Software Factory, What makes the difference

  15. 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. 1 Uml Profile 2 MDA Plugin 3 SF Process AMCGen: Development process Tester Data Arch. Developer Analyst RSM WBM RDA RBD RFT RPT 1 Prod. Line Def. 2 Team 1 Product A 2 Product B 3 Product B

  17. DEMO

  18. 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

  19. MDD UML-ER MDD ER-DDL • DB Codification Translation UML Business Entities Analysis ER Design model DB Physical model • Terms Glossary + Metainformation • Custom types dictionary DB DB Codification Rules MDD DDL-EGL • JET Templates EGL code • DataItems • Records • Libraries • Service • WebApp Admin Web Service SOAP/HTTP JDBC/SQL

  20. MDD UML-ER MDD ER-DDL • DB Codification Translation UML Business Entities Analysis ER Design model DB Physical model • Terms Glossary + Metainformation • Custom types dictionary DB DB Codification Rules MDD DDL-EGL • JET Templates EGL code • DataItems • Records • Libraries • Service • WebApp Admin Web Service SOAP/HTTP JDBC/SQL

  21. MDD UML-ER MDD ER-DDL • DB Codification Translation UML Business Entities Analysis ER Design model DB Physical model • Terms Glossary + Metainformation • Custom types dictionary DB DB Codification Rules MDD DDL-EGL • JET Templates EGL code • DataItems • Records • Libraries • Service • WebApp Admin Web Service SOAP/HTTP JDBC/SQL

  22. MDD UML-ER MDD ER-DDL • DB Codification Translation UML Business Entities Analysis ER Design model DB Physical model • Terms Glossary + Metainformation • Custom types dictionary DB DB Codification Rules MDD DDL-EGL • JET Templates EGL code • DataItems • Records • Libraries • Service • WebApp Admin Web Service SOAP/HTTP JDBC/SQL

  23. MDD UML-ER MDD ER-DDL • DB Codification Translation UML Business Entities Analysis ER Design model DB Physical model • Terms Glossary + Metainformation • Custom types dictionary DB DB Codification Rules MDD DDL-EGL • JET Templates EGL code • DataItems • Records • Libraries • Service • WebApp Admin Web Service SOAP/HTTP JDBC/SQL

  24. MDD UML-ER MDD ER-DDL • DB Codification Translation UML Business Entities Analysis ER Design model DB Physical model • Terms Glossary + Metainformation • Custom types dictionary DB DB Codification Rules MDD DDL-EGL • JET Templates EGL code • DataItems • Records • Libraries • Service • WebApp Admin Web Service SOAP/HTTP JDBC/SQL

  25. MDD UML-ER MDD ER-DDL • DB Codification Translation UML Business Entities Analysis ER Design model DB Physical model • Terms Glossary + Metainformation • Custom types dictionary DB DB Codification Rules MDD DDL-EGL • JET Templates EGL code • DataItems • Records • Libraries • Service • WebApp Admin Web Service SOAP/HTTP JDBC/SQL

  26. MDD UML-ER MDD ER-DDL • DB Codification Translation UML Business Entities Analysis ER Design model DB Physical model • Terms Glossary + Metainformation • Custom types dictionary DB DB Codification Rules MDD DDL-EGL • JET Templates EGL code • DataItems • Records • Libraries • Service • WebApp Admin Web Service SOAP/HTTP JDBC/SQL

  27. MDD UML-ER MDD ER-DDL • DB Codification Translation UML Business Entities Analysis ER Design model DB Physical model • Terms Glossary + Metainformation • Custom types dictionary DB DB Codification Rules MDD DDL-EGL • JET Templates EGL code • DataItems • Records • Libraries • Service • WebApp Admin Web Service SOAP/HTTP JDBC/SQL

  28. MDD UML-ER MDD ER-DDL • DB Codification Translation UML Business Entities Analysis ER Design model DB Physical model • Terms Glossary + Metainformation • Custom types dictionary DB DB Codification Rules MDD DDL-EGL • JET Templates EGL code • DataItems • Records • Libraries • Service • WebApp Admin Web Service SOAP/HTTP JDBC/SQL

  29. 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

  30. 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. AMCBase • Tiers • Separation of concerns

  32. Technical Layer Business Layer AMCBase

  33. AMC Base • BC Business, Technical layer

  34. AMC Base • BC Business, Functional layer

  35. AMC Base • BC Persistence, Functional layer

  36. AMC Base • BC Persistence, Technical layer, Composite Record

  37. 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-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

  38. AMCLib • COSTAISA’s technical facilities provided via EGL Library

  39. Servicios Transversales Common Services Communication Services (Brokering, Routing, …) AMCLib: Generic Healthcare IT architecture Information infrastructure Services Datos y Servicios de Sistemas Auxiliares Servicios de História Clínica DataWarehouse Servicio de Registros Epidemiología Informes Financieros / Sector Público Información Clínica Básica Medicación Imagen Médica Laboratorio Indicadores Salud / Gestión Clientes Proveedores Reglas de Negocio Indices EHR Estructuras de Mensajes Reglas de Normalización Ubicaciones Terminología Facility Components Facility Services CHIAL Servicio Publico de Salud Sistema Farmacia PACS / RIS Sistema Laboratorio HIS ADT Estación Clínica (visor EHR) Servicio Publico de Salud Farmaceutico Radiologo Tec. Laboratorio Clínico / Proveedor Salud Clinico Clínico / Proveedor Points of Service

  40. Servicios Transversales Common Services Communication Services (Brokering, Routing, …) AMCLib: Common Reusable Components & Services Information Infrastructure Services Datos y Servicios de Sistemas Auxiliares Servicios de História Clínica DataWarehouse Servicio de Registros Epidemiología Informes Financieros / Sector Público Información Clínica Básica Medicación Imagen Médica Laboratorio Indicadores Salud / Gestión Clientes Proveedores Reglas de Negocio Indices EHR Estructuras de Mensajes Reglas de Normalización Ubicaciones Terminología Validation Components PubSub Components EGL Facility Components Scheduler Service Terminology Service Security Service Audit Service LOPD,HIPAA,.. Configuration Services AMCLib Servicio Publico de Salud Sistema Farmacia PACS / RIS Sistema Laboratorio HIS ADT Estación Clínica (visor EHR) Servicio Publico de Salud Farmaceutico Radiologo Tec. Laboratorio Clínico / Proveedor Salud Clinico Clínico / Proveedor Points of Service

  41. AMCLib: EGL Façade • EGL generated Documentation for AMCLib using a customized tool EGLDOC • EGLDoc\index.html

  42. 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. 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. 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. 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. 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. 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

More Related