this presentation

28
Enterprise Architecture Enterprise Architecture using the using the Zachman Zachman Framework Framework A A Model-Driven Model-Driven Approach Approach Ali Fatolahi School of Information Technology and Engineering University of Ottawa Graduate Seminar

Transcript of this presentation

Page 1: this presentation

Enterprise ArchitectureEnterprise Architectureusing the using the Zachman FrameworkZachman Framework

A A Model-DrivenModel-Driven Approach Approach

Ali Fatolahi

School of Information Technology and Engineering

University of Ottawa

Graduate Seminar

Page 2: this presentation

May 2007 http://www.site.uottawa.ca/~afato092

2

AgendaAgenda

Enterprise Architecture (EA)The Zachman Framework (ZF)Model-Driven Architecture (MDA)Problem Statement

– Related Work

Page 3: this presentation

May 2007 http://www.site.uottawa.ca/~afato092

3

Agenda Agenda (Contd.)(Contd.)

MDA vs. Zachman– Separation of Concerns– Modeling Coverage– Meta-Data Language

• Meta-Object Facility vs. Conceptual Graphs

– Meta-ModelingDiscussion & Conclusion

Page 4: this presentation

May 2007 http://www.site.uottawa.ca/~afato092

4

Enterprise Architecture (EA)Enterprise Architecture (EA)

A Set of Models and DocumentsFor the entire business & all systemsAlignment of IT with Business

– Strategy, Process, Regulations, …EA governs Systems Lifecycle

– Planning, Development, MaintenanceA collection of tools & methods

Page 5: this presentation

May 2007 http://www.site.uottawa.ca/~afato092

5

Enterprise Architecture Enterprise Architecture (Contd.)(Contd.)

Motivations– Reduce maintenance costs– Ensure systems in accordance

business– Guarantee an integrated IT environment

• consistent, accurate, correct

– Prevent redundancy– Interoperability, Flexibility, …ilities!

Page 6: this presentation

May 2007 http://www.site.uottawa.ca/~afato092

6

The Zachman Framework (ZF)The Zachman Framework (ZF)

EA is like a jungle of models– Maps are required to not get lost!

ZF is such a map for this jungleOne of the origins of EAThe most used framework for EA and

related arenasFOR MORE INFO...

EA Survey Trends 2005 Results: www.enterprise-architecture.info/Images/EA Survey/Enterprise Architecture Survey 2005 IFEAD v10.pdf

Page 7: this presentation

May 2007 http://www.site.uottawa.ca/~afato092

7

The Zachman FrameworkThe Zachman Framework

Scope(Contextual)Planner

Business(Conceptual)Owner

System(Logical)Designer

Technology(Physical)Builder

Components(Detailed)Sub-Contractor

Enterprise

Data What Function How Network where People Who Time When Motivation Why

Subject: ScopeSubject: ScopeContent: (Contextual)Content: (Contextual)Stakeholder: PlannerStakeholder: Planner

Subject: BusinessSubject: BusinessContent: (Conceptual)Content: (Conceptual)Stakeholder: OwnerStakeholder: Owner

Subject: SystemSubject: SystemContent: (Logical)Content: (Logical)Stakeholder: DesignerStakeholder: Designer

Subject: TechnologySubject: TechnologyContent: (Physical)Content: (Physical)Stakeholder: BuilderStakeholder: Builder

Subject: ComponentsSubject: ComponentsContent: (Detailed)Content: (Detailed)Stakeholder: Sub-ContractorStakeholder: Sub-Contractor

Subject: Real Working EnterpriseSubject: Real Working Enterprise

Page 8: this presentation

May 2007 http://www.site.uottawa.ca/~afato092

8

Challenges of using ZFChallenges of using ZF

Engineering and reengineering perspectives from each other

Different languages and standards coming from different sources

Works have been done on:– Applying UML to ZF– Assigning MDA-based models to ZF

Page 9: this presentation

May 2007 http://www.site.uottawa.ca/~afato092

9

Our ApproachOur Approach

MDA as a modeling source for ZF– Strong in model transformation– Well-Defined family of modeling tools,

standards and methods– Similar approaches to:

• Meta-modeling• Separation of concerns

– Popularity

Page 10: this presentation

May 2007 http://www.site.uottawa.ca/~afato092

10

Model-Driven ArchitectureModel-Driven Architecture (MDA)(MDA)

Models are assets not costMore modeling, less coding(Automatic) Model Transformation

– From requirements to code• Not so fast!

Model reusabilityDesign-time interoperability

Page 11: this presentation

May 2007 http://www.site.uottawa.ca/~afato092

11

MDA MDA (Contd.)(Contd.)

Computation-Independent Modeling(CIM)

Platform-Independent Modeling(PIM)

Platform-Specific Modeling(PSM)

Transformation RulesTransformation

Transformation

Inform the Client

Email the Client

Java.SMTP.Compose

Page 12: this presentation

May 2007 http://www.site.uottawa.ca/~afato092

12

MDA vs. ZF: Separation of ConcernsMDA vs. ZF: Separation of Concerns

FOR MORE INFO...http://www.omg.org/mda/mda_files/09-03-WP_Mapping_MDA_to_Zachman_Framework1.pdf

Page 13: this presentation

May 2007 http://www.site.uottawa.ca/~afato092

13

MDA vs. ZF: Modeling CoverageMDA vs. ZF: Modeling Coverage

FOR MORE INFO...http://www.omg.org/mda/mda_files/09-03-WP_Mapping_MDA_to_Zachman_Framework1.pdf

Page 14: this presentation

May 2007 http://www.site.uottawa.ca/~afato092

14

Meta-Object Facility (MOF)Meta-Object Facility (MOF)

Meta-Data Language of MDAA means of defining new languagesVery simple but strongTwo levels of languages

– MOF-based languages: UML, CWM, …– UML Profiles

UML Notation is usually used

Page 15: this presentation

May 2007 http://www.site.uottawa.ca/~afato092

15

FOR MORE INFO...

http://conceptualgraphs.org/

Conceptual Graphs (CG)Conceptual Graphs (CG)

A Conceptual Graph is a set of– Concepts– Relations– Example CG: A cat is on a mat.

MatCat OnConcept 2RelationConcept 1

Page 16: this presentation

May 2007 http://www.site.uottawa.ca/~afato092

16

Conceptual Graphs Conceptual Graphs vs. MOFvs. MOF

CG– Meta-Data language of ZF– Integrity of the ZF

Could MDA preserves the integrity?– Yes, if MOF could define CGs

Could an MDA be seen as ZF-based EA?– Yes, if CGs could define MOF

Page 17: this presentation

May 2007 http://www.site.uottawa.ca/~afato092

17

MOF Meta-ModelMOF Meta-Modelfor CGfor CG

QuantifierConcept

Conceptual Graph

Relation

Conceptual Relation

1..n

1

1..n

1

1

1

1

1

Quantified Concept

0..1

1

0..1

1

1

1

1

1

1..n

1

1..n

+sourceConcept

1

1..n

11

1..n+targetConcept

Page 18: this presentation

May 2007 http://www.site.uottawa.ca/~afato092

18

Synthesis of a CG with MOFSynthesis of a CG with MOF

matcat ona

Concept

Quantifier

Relation

Quantified Concept

a cat a mat

Target ConceptSource Concept

A cat is on a mat

Conceptual Graph

A cat on a mat

Conceptual Relation

Page 19: this presentation

May 2007 http://www.site.uottawa.ca/~afato092

19

CG Meta-Model for MOFCG Meta-Model for MOF

Association

Classifier

Property

Operation

Class

0..1

n

0..1

n

n

0..1

n

0..1

n+superClass

n

+class

+ownedOperation

+ownedAttribute

+class

Class

Classifier meta

Association

Attribute: {*}

owns

Operation: {*}

T: {*} owns

Page 20: this presentation

May 2007 http://www.site.uottawa.ca/~afato092

20

Meta-Modeling in ZFMeta-Modeling in ZF

ProductProduct FrameworkFramework

EnterpriseEnterprise FrameworkFramework

Enterprise EngineeringEnterprise Engineering

FrameworkFramework

RepositoryRepository FrameworkFramework

realizes

instantiates

uses

supplies

engineers

produces

Page 21: this presentation

May 2007 http://www.site.uottawa.ca/~afato092

21

Meta-Modeling in MDAMeta-Modeling in MDA

M3: Meta-Meta-Model– MOF

M2: Meta-Model– UML, CWM, UML Profiles, …

M1: User Model– Instances of UML, …

M0: Runtime Model– Runtime Objects

Page 22: this presentation

May 2007 http://www.site.uottawa.ca/~afato092

22

MDA vs. ZFMDA vs. ZFMeta-ModelingMeta-Modeling

ProductProduct FrameworkFramework

EnterpriseEnterprise FrameworkFramework

Enterprise EngineeringEnterprise Engineering

FrameworkFramework

RepositoryRepository FrameworkFramework

realizes

instantiates

uses

supplies

engineers

produces

M0

M1

M2

M3

Page 23: this presentation

May 2007 http://www.site.uottawa.ca/~afato092

23

DiscussionDiscussion

There are still problems:– Platform or Technology

• ZF– Technology-Independence– Equal to Platform-Independence

• MDA– Platform-independence– Is not equal to Technology-Independence

– ZF is recursive but not MDA

Page 24: this presentation

May 2007 http://www.site.uottawa.ca/~afato092

24

Discussion Discussion (Contd.)(Contd.)

A Possible Solution:– Consider each technological platform

as a member of a single column– Isolate that column– Restrict the concept of platform

• A Platform-Specific Model

– Iterate the process for other columns

Page 25: this presentation

May 2007 http://www.site.uottawa.ca/~afato092

25

In ZF:– Technology Independent

• DB2 and Struts Independent

In MDA– Depends on Platform

• If Platform=DB2– Platform-Independent

• DB2-Independent• Not Struts-Independent

Discussion Discussion (Contd.)(Contd.)

Data What People Who

DB2 Struts

TechnologyIndependent

Area

DB2

Technology and PlatformIndependent

Area

Page 26: this presentation

May 2007 http://www.site.uottawa.ca/~afato092

26

ConclusionConclusion

MDA Provides ZF with:– Perspective Transformation Facilities– Modeling Languages and Standards

MDA Adapts to ZF in terms of:– Separation of Concerns– Meta-Data Language– Meta-Modeling Scheme

Page 27: this presentation

May 2007 http://www.site.uottawa.ca/~afato092

27

Further WorkFurther Work

Transformation Functions– Input: High-Level Requirements

• e.g. Use Case

– Output: Low-Level Design Models • e.g. Executable State-Machine

– PIM to PSM Transformation– ZF Coverage

• Row 2 (and/or 3) to Row 3 (and/or 4)

Page 28: this presentation

May 2007 http://www.site.uottawa.ca/~afato092

28

Thank you …Thank you …

FOR MORE INFO...

Read my paper in the proceedings of the upcoming IRMA 2007 Conference in Vancouver!