Enterprise Architecture Methodology at KPMG David vun Kannon Manager, Financial Services Consulting KPMG LLP 12/29/2018
Introduction The Problem: “I spent $500 million on IT, and all I got was this lousy source code (ERP system, etc.)!” 12/29/2018
Topics of Discussion Overview of enterprise architecture Our model-driven approach The relevance of XML 12/29/2018
Overview of Enterprise Architecture Skyscrapers are not 10,000 doghouses stacked on top of each other. 10K doghouses=10K siloed apps No global planning or direction a function of the disconnect between IT and the business it supports. 12/29/2018
Enterprise Requirements “You start coding, I’ll get the requirements.” NOT! Cannot overemphasize the importance of design and requirements gathering Exponentially less costly to fix mistakes at this stage. 12/29/2018
KPMG’s Model-Driven Approach Capture requirements Organise requirements Operationalise requirements Shadow Implementation to maintain relevance 12/29/2018
Leveraging the Requirements Documentation Code generation Administrivia 12/29/2018
The Relevance of XML UML is a visual language No consistent API Models are documents, not programs 12/29/2018
XMI – UML in XML Part of OMG MOF initiative A mechanically derived DTD Goal is supporting interchange 12/29/2018
SimpleBank A trivial model A non-trivial script Legacy up-translation 12/29/2018
What This Means Separation of modeling and code generation Choose the right tool for the job Legacy support via up-translation to XMI 12/29/2018
XMI – Not Just For Interchange Code Generation Separating Modeling and CG The relevance of XSL 12/29/2018
Code Generation Traditional target of the object model’s class diagram UI - HTML Business Logic - Data structures, function stubs, directory and file structure in C++, Java, VB, etc. Persistent Storage – SQL DDL Targeted in isolation 12/29/2018
Separating Modeling from CG Tools do one thing well Don’t expect good code generation from a great modeler More choices from unbundled tools 12/29/2018
The Relevance of XSLT Tool appropriate to the task Can quickly add new targets Can tune the O-R mapping 12/29/2018
UML2SQL.XSL Generates DDL for MS SQL Server March draft XSLT and XT 12/29/2018
Next Steps Tremendous opportunities in code generation New targets – LDAP, DSML, UIML New Sources – sequence diagrams, statecharts, Cross tier coordination The XML messaging vocabulary Round trip engineering 12/29/2018
Next Steps From static to dynamic system descriptions Decorating the model with active metadata Application instrumentation Design For Change and the invalidated assumption 12/29/2018