this presentation


Published on

Published in: Technology
  • 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

No notes for slide

this presentation

  1. 1. Enterprise Architecture using the Zachman Framework A Model-Driven Approach Ali Fatolahi School of Information Technology and Engineering University of Ottawa Graduate Seminar
  2. 2. Agenda <ul><li>Enterprise Architecture (EA) </li></ul><ul><li>The Zachman Framework (ZF) </li></ul><ul><li>Model-Driven Architecture (MDA) </li></ul><ul><li>Problem Statement </li></ul><ul><ul><li>Related Work </li></ul></ul>
  3. 3. Agenda (Contd.) <ul><li>MDA vs. Zachman </li></ul><ul><ul><li>Separation of Concerns </li></ul></ul><ul><ul><li>Modeling Coverage </li></ul></ul><ul><ul><li>Meta-Data Language </li></ul></ul><ul><ul><ul><li>Meta-Object Facility vs. Conceptual Graphs </li></ul></ul></ul><ul><ul><li>Meta-Modeling </li></ul></ul><ul><li>Discussion & Conclusion </li></ul>
  4. 4. Enterprise Architecture (EA) <ul><li>A Set of Models and Documents </li></ul><ul><li>For the entire business & all systems </li></ul><ul><li>Alignment of IT with Business </li></ul><ul><ul><li>Strategy, Process, Regulations, … </li></ul></ul><ul><li>EA governs Systems Lifecycle </li></ul><ul><ul><li>Planning, Development, Maintenance </li></ul></ul><ul><li>A collection of tools & methods </li></ul>
  5. 5. Enterprise Architecture (Contd.) <ul><li>Motivations </li></ul><ul><ul><li>Reduce maintenance costs </li></ul></ul><ul><ul><li>Ensure systems in accordance business </li></ul></ul><ul><ul><li>Guarantee an integrated IT environment </li></ul></ul><ul><ul><ul><li>consistent, accurate, correct </li></ul></ul></ul><ul><ul><li>Prevent redundancy </li></ul></ul><ul><ul><li>Interoperability, Flexibility, …ilities! </li></ul></ul>
  6. 6. The Zachman Framework (ZF) <ul><li>EA is like a jungle of models </li></ul><ul><ul><li>Maps are required to not get lost! </li></ul></ul><ul><li>ZF is such a map for this jungle </li></ul><ul><li>One of the origins of EA </li></ul><ul><li>The most used framework for EA and related arenas </li></ul>FOR MORE INFO... EA Survey Trends 2005 Results : Survey/Enterprise Architecture Survey 2005 IFEAD v10.pdf
  7. 7. The Zachman Framework Scope (Contextual) Planner Business (Conceptual) Owner System (Logical) Designer Technology (Physical) Builder Components (Detailed) Sub-Contractor Enterprise Data What Function How Network w here People Who Time When Motivation Why Subject: Scope Content: (Contextual) Stakeholder: Planner Subject: Business Content: (Conceptual) Stakeholder: Owner Subject: System Content: (Logical) Stakeholder: Designer Subject: Technology Content: (Physical) Stakeholder: Builder Subject: Components Content: (Detailed) Stakeholder: Sub-Contractor Subject: Real Working Enterprise
  8. 8. Challenges of using ZF <ul><li>Engineering and reengineering perspectives from each other </li></ul><ul><li>Different languages and standards coming from different sources </li></ul><ul><li>Works have been done on: </li></ul><ul><ul><li>Applying UML to ZF </li></ul></ul><ul><ul><li>Assigning MDA-based models to ZF </li></ul></ul>
  9. 9. Our Approach <ul><li>MDA as a modeling source for ZF </li></ul><ul><ul><li>Strong in model transformation </li></ul></ul><ul><ul><li>Well-Defined family of modeling tools, standards and methods </li></ul></ul><ul><ul><li>Similar approaches to: </li></ul></ul><ul><ul><ul><li>Meta-modeling </li></ul></ul></ul><ul><ul><ul><li>Separation of concerns </li></ul></ul></ul><ul><ul><li>Popularity </li></ul></ul>
  10. 10. Model-Driven Architecture (MDA) <ul><li>Models are assets not cost </li></ul><ul><li>More modeling, less coding </li></ul><ul><li>(Automatic) Model Transformation </li></ul><ul><ul><li>From requirements to code </li></ul></ul><ul><ul><ul><li>Not so fast! </li></ul></ul></ul><ul><li>Model reusability </li></ul><ul><li>Design-time interoperability </li></ul>
  11. 11. MDA (Contd.) Computation-Independent Modeling (CIM) Platform-Independent Modeling (PIM) Platform-Specific Modeling (PSM) Inform the Client Email the Client Java.SMTP.Compose Transformation Rules Transformation Transformation
  12. 12. MDA vs. ZF: Separation of Concerns FOR MORE INFO...
  13. 13. MDA vs. ZF: Modeling Coverage FOR MORE INFO...
  14. 14. Meta-Object Facility (MOF) <ul><li>Meta-Data Language of MDA </li></ul><ul><li>A means of defining new languages </li></ul><ul><li>Very simple but strong </li></ul><ul><li>Two levels of languages </li></ul><ul><ul><li>MOF-based languages: UML, CWM, … </li></ul></ul><ul><ul><li>UML Profiles </li></ul></ul><ul><li>UML Notation is usually used </li></ul>
  15. 15. Conceptual Graphs (CG) <ul><li>A Conceptual Graph is a set of </li></ul><ul><ul><li>Concepts </li></ul></ul><ul><ul><li>Relations </li></ul></ul><ul><ul><li>Example CG: A cat is on a mat. </li></ul></ul>FOR MORE INFO... http:// / Mat Cat On Concept 2 Relation Concept 1
  16. 16. Conceptual Graphs vs. MOF <ul><li>CG </li></ul><ul><ul><li>Meta-Data language of ZF </li></ul></ul><ul><ul><li>Integrity of the ZF </li></ul></ul><ul><li>Could MDA preserves the integrity? </li></ul><ul><ul><li>Yes, if MOF could define CGs </li></ul></ul><ul><li>Could an MDA be seen as ZF-based EA? </li></ul><ul><ul><li>Yes, if CGs could define MOF </li></ul></ul>
  17. 17. MOF Meta-Model for CG
  18. 18. Synthesis of a CG with MOF mat cat on a Concept Quantifier Relation Quantified Concept a cat a mat Target Concept Source Concept A cat is on a mat Conceptual Graph A cat on a mat Conceptual Relation
  19. 19. CG Meta-Model for MOF Class Classifier meta Association Attribute: {*} owns Operation: {*} T: {*} owns
  20. 20. Meta-Modeling in ZF Product Framework Enterprise Framework Enterprise Engineering Framework Repository Framework realizes instantiates uses supplies engineers produces
  21. 21. Meta-Modeling in MDA <ul><li>M3: Meta-Meta-Model </li></ul><ul><ul><li>MOF </li></ul></ul><ul><li>M2: Meta-Model </li></ul><ul><ul><li>UML, CWM, UML Profiles, … </li></ul></ul><ul><li>M1: User Model </li></ul><ul><ul><li>Instances of UML, … </li></ul></ul><ul><li>M0: Runtime Model </li></ul><ul><ul><li>Runtime Objects </li></ul></ul>
  22. 22. MDA vs. ZF Meta-Modeling Product Framework Enterprise Framework Enterprise Engineering Framework Repository Framework realizes instantiates uses supplies engineers produces M0 M1 M2 M3
  23. 23. Discussion <ul><li>There are still problems: </li></ul><ul><ul><li>Platform or Technology </li></ul></ul><ul><ul><ul><li>ZF </li></ul></ul></ul><ul><ul><ul><ul><li>Technology-Independence </li></ul></ul></ul></ul><ul><ul><ul><ul><li>Equal to Platform-Independence </li></ul></ul></ul></ul><ul><ul><ul><li>MDA </li></ul></ul></ul><ul><ul><ul><ul><li>Platform-independence </li></ul></ul></ul></ul><ul><ul><ul><ul><li>Is not equal to Technology-Independence </li></ul></ul></ul></ul><ul><ul><li>ZF is recursive but not MDA </li></ul></ul>
  24. 24. Discussion (Contd.) <ul><li>A Possible Solution: </li></ul><ul><ul><li>Consider each technological platform as a member of a single column </li></ul></ul><ul><ul><li>Isolate that column </li></ul></ul><ul><ul><li>Restrict the concept of platform </li></ul></ul><ul><ul><ul><li>A Platform-Specific Model </li></ul></ul></ul><ul><ul><li>Iterate the process for other columns </li></ul></ul>
  25. 25. Discussion (Contd.) <ul><li>In ZF: </li></ul><ul><ul><li>Technology Independent </li></ul></ul><ul><ul><ul><li>DB2 and Struts Independent </li></ul></ul></ul><ul><li>In MDA </li></ul><ul><ul><li>Depends on Platform </li></ul></ul><ul><ul><ul><li>If Platform=DB2 </li></ul></ul></ul><ul><ul><ul><ul><li>Platform-Independent </li></ul></ul></ul></ul><ul><ul><ul><ul><ul><li>DB2-Independent </li></ul></ul></ul></ul></ul><ul><ul><ul><ul><ul><li>Not Struts-Independent </li></ul></ul></ul></ul></ul>DB2 Struts Technology Independent Area Data What People Who DB2 Technology and Platform Independent Area
  26. 26. Conclusion <ul><li>MDA Provides ZF with: </li></ul><ul><ul><li>Perspective Transformation Facilities </li></ul></ul><ul><ul><li>Modeling Languages and Standards </li></ul></ul><ul><li>MDA Adapts to ZF in terms of: </li></ul><ul><ul><li>Separation of Concerns </li></ul></ul><ul><ul><li>Meta-Data Language </li></ul></ul><ul><ul><li>Meta-Modeling Scheme </li></ul></ul>
  27. 27. Further Work <ul><li>Transformation Functions </li></ul><ul><ul><li>Input: High-Level Requirements </li></ul></ul><ul><ul><ul><li>e.g. Use Case </li></ul></ul></ul><ul><ul><li>Output: Low-Level Design Models </li></ul></ul><ul><ul><ul><li>e.g. Executable State-Machine </li></ul></ul></ul><ul><ul><li>PIM to PSM Transformation </li></ul></ul><ul><ul><li>ZF Coverage </li></ul></ul><ul><ul><ul><li>Row 2 (and/or 3) to Row 3 (and/or 4) </li></ul></ul></ul>
  28. 28. Thank you … FOR MORE INFO... Read my paper in the proceedings of the upcoming IRMA 2007 Conference in Vancouver! ?