180 likes | 362 Views
Framework & Code Generator By Dr. Chung-Yeung Pang, Seveco AG, Switzerland pang@seveco.com www.seveco.com. Automating Application Development for Legacy IT Systems with SOA & MDA. Situation in IT. Programming Languages: ~3 million COBOL programmers. ~1.6 million VB programmers.
E N D
Framework & Code Generator By Dr. Chung-Yeung Pang, Seveco AG, Switzerland pang@seveco.com www.seveco.com Automating Application Development for Legacy IT Systems with SOA & MDA
Situation in IT Programming Languages: ~3 million COBOL programmers. ~1.6 million VB programmers. ~1.1 million C/C++ programmers. 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. IBM reported the usage of zSeries mainframes grew 28% year-to-year in 2005. The COBOL Center publishes: Investment in COBOL expected to be over $1.5 Trillion. Number of transaction in COBOL > hits on the Internet.
Experience (1) 1998 Experience with CORBA IDL drove us to move from fixed record remote procedure call style messaging to document-style messaging with XML and took a step into Service Oriented Architecture (SOA). 2000 Facing problems with interoperability between old and new platforms led to the development of SOA in legacy IT environment and COBOL XML framework. 2003 First code generator for Data Object Descriptors for marshalling and unmarshalling of XML structure from / into COBOL data structure based on class diagrams.
Experience (2) • 2004 • Introduced Model Driven Architecture (MDA) techniques into business service development. • Developed a context based centralized service process controller service architecture that allows plug and play of business components. • 2005 • Leveraged SOA and MDA in multiple projects. • 2006 • Developed service and unit test automation using MDA approach. • Developed high level platform independent modelling and generation of platform dependent code such as PL1 and Java. • Developed frameworks for integrating existing applications written in different languages into SOA.
Experience (3) • Success in 8 IT projects • Treasury Products, Credit, Payments, and Securities. • Project size: 10-30 team members.
Achievement 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 modelling 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
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. • Silo or monolithic approach to solving business requirements.
Framework • XML Handling Facilities in COBOL, PL1, C++, Java • XML parser for transformation of XML messages into integrated document object model IDOM. • Marshalling and Unmarshalling Data Object structure to and from XML tree structure using meta-information from Service Data Object Descriptors (SDOD). • XPath support. • Service Mediator • Control transaction. • Handle service messages. • Set up the context container. • Resolve and instantiate service process controller. • Context Container (IDOM) • Contains service context in a document style tree structure in an Integration Document Object Model. • Provides API to insert and extract data from the service context as well as navigation of the context tree. • Service Process Controller • A finite state machine that performs the centralized process control based on Service Process Control Descriptor (SPCD) with state, event and transition.
Message Interface Modelling and Generation • Message Interface Modelling (MIM) and SDOD generation based on class diagrams
Service Process Control Descriptor Design and Generation • SPCD design and generation from state model.
Service Component Modelling and Generation • Frame and pattern based modelling and up to 100% code generation.
Test Automation (1) • Test data has XML format and structure is generated from class model. • Direct testing for business services with XML messages. • Test service components or any existing applications with test modules generation.
Test Automation (2) • Use of SOA for testing.
Test Automation (3) • Modelling test process using class and activity diagram. • Generate test scripts in VB or Java Script for test process. • Execute test scripts direct from modelling tool or from a batch file.
Benefits • Best practices. • Well documented system. • Plug & play SOA. • Simplify testing and integration. • Maximize reuse. • Increase business and IT agility. • Leveraging what already exists and add functionality as required. • Scalable development. • Resource sharing across organization using repository based (ARTISAN) modelling tool. • Reduce development & maintenance cost. • Traceable from requirements to the code.
Demo • Model Definition • Code Generation