Download Presentation

Uploaded on


  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Be the first to comment
    Be the first to like this
No Downloads


Total Views
On Slideshare
From Embeds
Number of Embeds



Embeds 0

No embeds

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

    No notes for slide
  • As a conclusion, these problems make a project hard to maintenance and costly too. After we settled our approach in the project, the project can plan and estimate the development of the change request from the business. We even have a project maintained by an analyst and few programmer. Thus, we have achieve the purpose of cost-reduction in the system maintenance.


  • 1. Montages Partner Meeting - Zurich – Nov 4-5, 2006 Modernize Legacy IT System with SOA and MDA Chung Yeung Pang [email_address]
  • 2. Relation to MAMA MAMA Service Methodology MAMA Service Methodology MAMA Service Methodology MAMA Service Methodology Model Driven Consulting Model Driven Analysis Model Driven Engineering Transition Consulting Requirements Consulting Change Consulting Fast Prototyping Modelling Architecture Quality Analysis Process Analysis Business Analysis Framework Engineering
  • 3. Situation in Software Development
    • Mainframes are still alive and survive y2k.
    • Unmanageable & undocumented code.
    • Modeling gains its importance through the use of MDA and SOA best practice.
    • Shortage of good IT expert for mainframe.
    • Most mission critical applications have been written in COBOL.
      • The dependency on the interfaces, performance, transaction scopes prohibits the change and mixing of other programming languages.
  • 4. Facts
    • IBM reported the usage of zSeries mainframes grew 28% year-to-year in 2005.
    • Forrester Research publishes findings:
      • Insurance companies stay with mainframe
      • “ A global bank shed one mainframe for another to consolidate” (September 2006, Phil Murphy in Forrester Best Practices)
    • The COBOL Center publishes:
      • Investment in COBOL is over $1.5 Trillion.
      • Number of transaction in COBOL > hits on the Internet.
  • 5. What Do We Have?
    • Over 6 years of experience in mega project with budget over 1.0 billion Euro in a Swiss bank.
    • Success stories from 6 IT projects from the Strategic Solution.
      • Treasury Products, Credit, Payments, and Securities.
      • Project size: 10-30 team members.
  • 6. What Did We Experience?
    • Turned failure projects to success.
      • From
        • Undocumented systems
        • Ad-hoc software development style
        • Low productivity
        • Error prone
        • Inflexible for code adaptation to standards
        • Low/no reusability
        • Require experienced programmers for the development
      • To
        • Documented systems with modeling
        • Architect & Analyst driven development
        • High productivity
        • Minimum error
        • Flexible code adaptation to standards
        • High reusability
        • Automation through the use of models and effectively reduce the number of experienced programmers for the development
  • 7. What Do We Offer?
    • Modernization of COBOL development.
    • Integration to modern systems via SOA framework.
    • Establishment of software factories.
  • 8. Modern? How?
    • UML Modeling
    • Code generation
    • Maximize reuse
    • Unified Process best practices
    *+---+---+---+---+---+---+----------+----------------------------* LINKAGE SECTION. *+---+---+---+---+---+---+----------+----------------------------* 01 PC-Data. COPY FWPC0000. *----------------------------------------------------------------* PROCEDURE DIVISION USING PC-Data . *+---+---+---+---+---+---+----------+----------------------------* * Mainprocessing * MAIN SECTION. PERFORM Initialization PERFORM Read-Input-File PERFORM Resolve-Process-Flow PERFORM Set-SOA-Tree MOVE Module-Name TO SOA-Module-Name CALL SOA-Module-Name USING PC-Data PERFORM Render-Output PERFORM Write-Output-File .
  • 9. Model and Generate Cobol Modules based on Class and Activity Diagrams
    • Section
    • Paragraph
    • Programming logics
      • Statement
      • Decision
      • Iteration
    • Code templates & patterns
    • Data structure definition
  • 10. Software Architecture
    • Software system is not built from a set of independent program modules.
    • It needs an architecture to lay out the fundamental organization of the system, embodied in its components, their relationships to each other and the environment, and the principles governing its design and evolution.
  • 11. Traditional Modular Architecture
    • Strong coupling of modules with no central control of business logic.
    • Difficult to test individual modules.
    • Does not allow plug and play of modules.
    • Difficult to enhance and maintain.
  • 12. Example of Enterprise IT System Topology Mainframe External Systems Web Servers Application Servers
  • 13. Component Based Service Oriented Architecture
  • 14. XML-Cobol Transformation
    • COBOL XML parser
      • Parse the incoming XML message in COBOL.
    • XML to COBOL mapping
      • Map the XML data into COBOL data structure based on meta-information (mapping schema).
    • COBOL to XML rendering
      • Render the XML data from COBOL data structure based on meta-information (mapping schema).
    • Meta-information (mapping schema) generator
      • Generate meta-information from UML class diagrams.
    • COBOL copybook generator
      • Generate the COBOL copybook from UML class diagram.
    • Support XPath for XML navigation.
    Service Mediator Security Controller Context Container Service Controller Business Component 1 Business Component 2 Business Component 3
  • 15. Service Mediator
    • Service mediator COBOL module
      • Control transaction, retrieve XML message, set up the context container, resolve and instantiate the requested service and return XML message.
      • This module must be tailored to the customer's platform and error handling mechanism.
    Service Mediator Security Controller Context Container Service Controller Business Component 1 Business Component 2 Business Component 3
  • 16. Service Controller
    • Finite state machine COBOL module
      • Centralized controlling of the process of the business service based on process description with state, event and transition.
    • Process flow
      • Generation of the process flow description of the business service from UML activity diagram.
    Service Mediator Security Controller Context Container Service Controller Business Component 1 Business Component 2 Business Component 3
  • 17. Context Container
    • Context tree COBOL structure
      • Context tree has a data structure of a tree form.
      • Each node within the tree has a node name.
      • It can contain a sub-tree, a value, or a complete COBOL record structure with an associated meta-information.
    • Context tree API COBOL modules
      • A set of COBOL modules is available to create, remove and edit tree nodes as well as complete navigation (stepwise or using xpath) in a context tree.
    Service Mediator Security Controller Context Container Service Controller Business Component 1 Business Component 2 Business Component 3
  • 18. Business Component
    • COBOL code generator
      • COBOL modules for business components can be modeled through class and activity diagrams and COBOL code are generated from these diagrams.
    • Templates and patterns
      • a set of standard templates and patterns are provided for the COBOL code generator.
      • These templates and patterns can be tailored and extended to the specific requirements of the projects.
      • Standard patterns are provided for the usages of the framework such as the API for context tree.
    Service Mediator Security Controller Context Container Service Controller Business Component 1 Business Component 2 Business Component 3
  • 19. Development Lifecycle Requirement Statement Use Case Model Sequence Diagram Logical Activity Model Process Flow Business Domain Model Data Structure Action Module Interface Definition COBOL Code COBOL Code XML/DTD/XSD Data Structure Mapping Documentation Implementation COBOL Data Structure COBOL Code Workflow Model
  • 20. Typical Business Case A customer comes to the Bank The customer inquiries a product  The client advisor calculate the product price The customer takes a look at the product specification & price The customer sign the deal to purchase the product No buy 1 2 3 4 5 time
  • 21. Interface Definition
    • Class diagram with
      • Service definition
      • Input parameters
      • Output parameters
    XML/DTD/XSD Data Structure Mapping COBOL Data Structure (Copy book)
  • 22. Data Structure
    • Standard UML class diagram with stereotype
    • Structure and composition
  • 23. Simple Process
    • All or none
    • Single commit
    Calculate Discount Get Price Validate Deal Input
  • 24. Process Over Time
    • May continue from last consistent point
    • Multi commits
    Get Customer Profile Initialize Deal Validate Deal Open Deal Calculate Discount Get Price Validate Deal Input time
  • 25. Process Flow
    • Based on Activity Diagram
    • It describes:
      • Process
      • Event/Action
    • Compositional plug and play of modules
    COBOL Code
  • 26. Business Workflow
    • Service orchestration
    • Modelling of Workflow using State Diagram
    COBOL Code
  • 27. Benefits
    • Best practices.
    • Well documented system.
    • Plug & play SOA.
    • Simplify testing and integration.
    • Maximize reuse.
    • Scalable development.
    • Reduce development & maintenance cost.
    • Traceable from requirement to the code.
  • 28. Demo
    • Model Definition
    • Code Generation
  • 29. Links