extension mechanism for integrating new technology elements into viewpoint based enterprise...

40
Extension Mechanism for Integra3ng New Technology Elements into Viewpoint based Enterprise Architecture Framework Akira Tanaka, view5 LLC

Upload: akira-tanaka

Post on 19-Jan-2015

168 views

Category:

Technology


0 download

DESCRIPTION

It's about integrating mobile, cloud, and social networking into RM-ODP (experimental).

TRANSCRIPT

Page 1: Extension Mechanism for Integrating New Technology Elements into Viewpoint based Enterprise Architecture Framework

Extension  Mechanism  for  Integra3ng  New  Technology  Elements  into  

Viewpoint  based  Enterprise  Architecture  Framework

     

Akira  Tanaka,  view5  LLC  

Page 2: Extension Mechanism for Integrating New Technology Elements into Viewpoint based Enterprise Architecture Framework

Agenda •  Background  (context  and  issues)  

–  Modeling  SoJware  –  Enterprise  Architecture  –  New  technologies  

•  Flexible  Enterprise  Architecture  against  new  technologies  –  Proposed  Mechanism:  Meta-­‐modeling  and  Profiling  with  Package  

Merge  –  Use  Cases  

•  Discussion  •  Conclusion  

Page 3: Extension Mechanism for Integrating New Technology Elements into Viewpoint based Enterprise Architecture Framework

Background  (1  of  3) •  Architecture  for  SoJware  Systems  

–  Iden3fies  components,  their  behavior,  and  rela3onships  among  them  for  specific  domain  •  Examples:  MVC,  Client/Server,  Three  Tier,  SOA  …  

•  Enterprise  Architecture  –  Architecture  for  Enterprise  Compu3ng  Systems  

•  Combina3on  of  business  and  IT  architectures  for  business  execu3ons  •  Examples:  Zachman,  TOGAF,  FEA,  DoDAF,  MODAF,  and  RM-­‐ODP  

–  A  way  of  organizing  system  specifica3ons  from  mul3ple  viewpoints  or  perspec3ves,  some3mes  used  to  contrast  as-­‐is  and  to-­‐be  specifica3ons  and  develop  to-­‐be  system  from  as-­‐is  system  

–  Issues:  •  Enterprise  Compu3ng  Systems  (instances)  evolve  over  3me  to  become  more  

and  more  complex  and  difficult  to  understand.  •  A  gap  between  architecture  and  its  implementa3on  widens  unless  there  is  an  

effort  for  synchroniza3on  in  place.  

Page 4: Extension Mechanism for Integrating New Technology Elements into Viewpoint based Enterprise Architecture Framework

Background  (2  of  3) •  New  Technologies  

–  May  arrive  at  any  moment  •  Hard  to  predict  what  comes  and  when  it  comes  

–  May  have  impact  upon  enterprise  •  Organiza3on  structure,  informa3on  structure,  human  behavior,  and  IT  

pla_orms  •  System  management  and  Security  aspects  

–  Examples    •  Mobile  Compu3ng  (Smart  Phone  and  Tablet)  •  Social  Networking  •  Cloud  Compu3ng  •  NoSQL  •  E-­‐Books  •  Big  Data  •  E-­‐health  (new  external  domain)  …  etc.  

Page 5: Extension Mechanism for Integrating New Technology Elements into Viewpoint based Enterprise Architecture Framework

Background  (3  of  3) •  SoJware  Modeling  

–  Raising  the  level  of  abstrac3ons  by  suppressing  unnecessary  details  •  Programming  Languages:    

–  Machine  language  -­‐>  Assembler,  C,  C++,  LISP,  COBOL,  Pascal,  Smalltalk,  Java,  JavaScript,  Ruby,  …  

•  Libraries,  Components,  Frameworks,  …  •  SoJware  Modeling  

–  Modeling  “SoJware”  •  Formal  Specifica3ons  (preciseness)  and  Valida3ons  •  Model  Driven  SoJware  Development/Engineering  

–  MOF,  UML(Class,  Ac3vity,  etc.),  BPMN,  …  –  Model  Transforma3ons  and  Code  Genera3on  

–  Issues  •  Choosing  appropriate  or  suitable  level  of  abstrac3on  •  Synchroniza3on  between  model  and  code  

Page 6: Extension Mechanism for Integrating New Technology Elements into Viewpoint based Enterprise Architecture Framework

Problem  Statements  and  Proposed  Approach

•  For  “enterprise  compu3ng”  domain,  there  is  no  widely  accepted  way  for  developing  flexible  or  “designed/ready-­‐for-­‐change”  enterprise  systems.  –  Addi3ons  of  new  technology  elements  should  not  be  a  problem.  It  should  also  

enable  smooth  migra3on.  

•  Proposed  approach:  Use  Modeling  and  Enterprise  Architecture  –  Design  and  develop  at  higher  level  of  abstrac3on  

•  Make  best  use  of  Modeling  technologies  including  UML  and  its  extension  mechanism  

•  Make  Models  flexible  and  easy  to  integrate  •  Choose/Use  enterprise  applica3on  framework  to  achieve/keep  consistency  

Page 7: Extension Mechanism for Integrating New Technology Elements into Viewpoint based Enterprise Architecture Framework

Choices  made  for  this  work •  Choice  of  Modeling  Language  

–  UML  is  the  most  widely  used  modeling  language  and  interna3onal  standard  •  MOF:  A  subset  of  UML  Class  Diagram  is  used  as  nota3on.  •  Others:  Graphical/Textual  DSLs,  Tool  specific  nota3ons,  etc.  

•  Choice  of  Enterprise  Architecture  Framework  –  RM-­‐ODP  is,  at  this  moment,  the  only  open  one  (standard  

specifica3ons  and  UML  Profile  are  freely  available  on-­‐line)  •  Zachman  Framework:  Not  open  •  TOGAF:  Semi  open  (consor3um  backed)  •  FEA,  DoDAF,  and  MODAF:  Openly  published  but  government  owned  

•  Choice  of  example  technologies  for  discussion  –  Mobile  Compu3ng,  Cloud  Compu3ng,  and  Social  Networking

Page 8: Extension Mechanism for Integrating New Technology Elements into Viewpoint based Enterprise Architecture Framework

SOFTWARE  MODELING

Page 9: Extension Mechanism for Integrating New Technology Elements into Viewpoint based Enterprise Architecture Framework

Meta-­‐models •  Meta-­‐model  is  a  model,  [for  specific  domain,]  [consis/ng  of  

iden/fied  concepts,  rela/onships  among  them,  and  constraints  on  them,]  for  defining  models  [of  that  domain].  –  E.g.  UML  specifica3on  includes  meta-­‐model  of  UML  itself,  expressed  

using  subset  of  UML  Class  Diagram.  

•  In  our  work,  we  needed  meta-­‐models  for  RM-­‐ODP  and  for  New  Technologies  –  RM-­‐ODP’s  meta-­‐model  is  in  RM-­‐ODP  standard.  –  Searched  exis3ng  work  and  developed  simple  Meta-­‐models  for  

example  technologies.  

Page 10: Extension Mechanism for Integrating New Technology Elements into Viewpoint based Enterprise Architecture Framework

Layers  of  Models

Meta-­‐meta  model

Metamodel

Model

Instance  or  Object  Model

Instance  of

conform  to

conform  to

MOF  (CMOF,  EMOF/ecore)

e.g.  UML,  SOA,  BPMN,  …

e.g.  UML  models,  SOA  models,  BPMN  models,  …

M3

M2

M1

M0

Page 11: Extension Mechanism for Integrating New Technology Elements into Viewpoint based Enterprise Architecture Framework

Meta-­‐models  (in  general)

Enterprise  Architecture  Domain

Meta-­‐Models  for  Technologies  type  #1

Meta-­‐models  for  Enterprise  Architecture

Type  #1:  Completely  independent  of  Enterprise  Architecture  Type  #2:  With  some  overlap  with  Enterprise  Architecture  Type  #3:  Specializing  a  part  of  Enterprise  Architecture

Overlapping  meta-­‐models

Meta-­‐Models  for  Technologies  type  #2

Meta-­‐Models  for  Technologies  type  #3

UML

Page 12: Extension Mechanism for Integrating New Technology Elements into Viewpoint based Enterprise Architecture Framework

Integra3ng  Meta-­‐models •  At  the  highest  level,  package  merge  is  used  to  achieve  the  

flexible  extensions  (used  in  UML  specifica3on  to  define  UML  Meta-­‐model).

Page 13: Extension Mechanism for Integrating New Technology Elements into Viewpoint based Enterprise Architecture Framework

UML  Package  Merge (merged  package)

(receiving  package) (resul3ng  package)

NOTE:  Research  Paper  –  “Modeling  UML  2  Package  Merge  with  Alloy”

Page 14: Extension Mechanism for Integrating New Technology Elements into Viewpoint based Enterprise Architecture Framework

UML  Profile •  Standard  Extension  mechanism  for  UML  

–  Many  UML  Profile  standards  exist  today  •  Workflow  for  developing  and  using  UML  Profile  

–  Define  Meta-­‐model  for  target  domain  –  Define  mapping  of  meta-­‐model  elements  onto  UML  by  extending  

meta-­‐classes  and  by  defining  stereotypes,  tag-­‐defini3ons,  and  constraints  

–  Implement  UML  Profile  (stereotypes  and  others)  within  your  UML  tool  –  Create  UML  models  and  apply  defined  UML  Profile  

•  UML  Profile  for  –  RM-­‐ODP:  exists  as  a  standard  –  New  Technologies:  can  be  developed  based  on  their  meta-­‐models  

Page 15: Extension Mechanism for Integrating New Technology Elements into Viewpoint based Enterprise Architecture Framework

UML  Profile  Standard  examples

Source  OMG  :  hop://www.omg.org/spec/

Page 16: Extension Mechanism for Integrating New Technology Elements into Viewpoint based Enterprise Architecture Framework

UML  and  UML  Profiles  (in  general)

Enterprise  Architecture  Domain

UML  Profiles  for  Technologies  type  #1

UML  Profiles  for  Enterprise  Architecture

Type  #1:  Completely  independent  of  Enterprise  Architecture  Type  #2:  With  some  overlap  with  Enterprise  Architecture  Type  #3:  Specializing  a  part  of  Enterprise  Architecture

Overlapping  UML  Profiles

UML  Profiles  for  Technologies  type  #2

UML  Profiles  for  Technologies  type  #3

Page 17: Extension Mechanism for Integrating New Technology Elements into Viewpoint based Enterprise Architecture Framework

Integra3ng  UML  Profiles •  Since  UML  Profile  is  represented  as  a  package  with  stereotype  

«profile»,  package  merge  can  also  be  applied  (in  theory).

Page 18: Extension Mechanism for Integrating New Technology Elements into Viewpoint based Enterprise Architecture Framework

ENTERPRISE  ARCHITECTURE

DoDAF

RM-­‐ODP

Page 19: Extension Mechanism for Integrating New Technology Elements into Viewpoint based Enterprise Architecture Framework

Reference  Model  for  Open  Distributed  Processing

•  RM-­‐ODP  defines  founda3onal  concepts,  viewpoint  languages,  correspondences  etc.

Page 20: Extension Mechanism for Integrating New Technology Elements into Viewpoint based Enterprise Architecture Framework

RM-­‐ODP  Meta-­‐Model

NOTE:  Par3al  diagram  from  standard’s  working  model

Page 21: Extension Mechanism for Integrating New Technology Elements into Viewpoint based Enterprise Architecture Framework

RM-­‐ODP  Profile

NOTE:  Par3al  profile  data

Page 22: Extension Mechanism for Integrating New Technology Elements into Viewpoint based Enterprise Architecture Framework

EXAMPLE  NEW  TECHNOLOGIES

Social  Netw

orking  

NoSQL  

Page 23: Extension Mechanism for Integrating New Technology Elements into Viewpoint based Enterprise Architecture Framework

Mobile  Compu3ng  Meta-­‐Model

Class

Node «stereotype»  Place

Device Execu3onEnvironment

Associa3on

«stereotype»  NodeLoca3on

Dependency

Deployment

DeploymentTarget

«stereotype»  AllowedDeployment

«stereotype»  CurrentDeployment

1 +loca3on

+loca3on

Node «stereotype»  Place

+loca3on +nestedNode

+nestedNode

+nestedNode

 A  UML  Profile  to  Model  Mobile  Systems    V.  Grassi,  R.  Mirandola,  A.  Sabeoa  «UML»  2004  –  The  Unified  Modeling  Language

Source:

UML  Meta-­‐model  element

Introduced  element

Page 24: Extension Mechanism for Integrating New Technology Elements into Viewpoint based Enterprise Architecture Framework

NIST’s  Cloud  Taxonomy  

hop://collaborate.nist.gov/twiki-­‐cloud-­‐compu3ng/pub/CloudCompu3ng/ReferenceArchitectureTaxonomy/RA_Cloud_Taxonomy_Version_1.pdf

Source  (also  a  part  of  NIST  Cloud  Compu3ng  Reference  Architecture):

Important  aspects  from  cloud  consumer’s  point  of  view

Page 25: Extension Mechanism for Integrating New Technology Elements into Viewpoint based Enterprise Architecture Framework

Mobile  &  Cloud  extensions

i.e.  all  other  concepts  are  s3ll  available  for  mobile  and  cloud  system  specifica3ons.

Par3al  enterprise  language

means  e.g.

Page 26: Extension Mechanism for Integrating New Technology Elements into Viewpoint based Enterprise Architecture Framework

Social  Network  Meta-­‐Model Simplified  version  of  Facebook  meta-­‐model  published  on  the  web  (hop://commons.wikimedia.org/wiki/File:Metamodel_of_Facebook.jpg)

Source:  “Represen3ng  Social  Structures  in  UML,”  by  H.  Van  Dyke  Parunak  and  James  J.  Odell

Page 27: Extension Mechanism for Integrating New Technology Elements into Viewpoint based Enterprise Architecture Framework

Social  Network  extension

means  e.g.

Par3al  enterprise  language

Page 28: Extension Mechanism for Integrating New Technology Elements into Viewpoint based Enterprise Architecture Framework

UML  Profile  Integra3on

•  Mobile  and  Cloud  – By  modifying  exis3ng  UML  Profile  for  RM-­‐ODP

Page 29: Extension Mechanism for Integrating New Technology Elements into Viewpoint based Enterprise Architecture Framework

UML  Profile  Integra3on

•  Social  Networking  – By  modifying  exis3ng  UML  Profile  for  RM-­‐ODP  

   Rela3vely  small  number  of  modifica3ons  is  due  to  the  fact  that  RM-­‐ODP,  one  of  Enterprise  Architecture  Framework,  has  already  captured  some  core  concepts  even  applicable  for  new  technologies.

Page 30: Extension Mechanism for Integrating New Technology Elements into Viewpoint based Enterprise Architecture Framework

Sample  Diagram  Fragment  Enterprise  Viewpoint

Page 31: Extension Mechanism for Integrating New Technology Elements into Viewpoint based Enterprise Architecture Framework

Sample  Diagram  Fragment  Informa3on  Viewpoint

«merge»

Cloud-­‐aware  and  social-­‐aware  object  types  can  be  added  to  exis3ng  informa3on  model.

Page 32: Extension Mechanism for Integrating New Technology Elements into Viewpoint based Enterprise Architecture Framework

Sample  Diagram  Fragment  Computa3onal  Viewpoint

Mobile-­‐aware  objects  and  cloud-­‐aware  object  can  be  added  to  exis3ng  model  (needs  re-­‐wiring  etc.)

Page 33: Extension Mechanism for Integrating New Technology Elements into Viewpoint based Enterprise Architecture Framework

Sample  Diagram  Fragment  Engineering  Viewpoint

Cloud-­‐aware  channel  can  be  introduced  to  exis3ng  engineering  model.

Page 34: Extension Mechanism for Integrating New Technology Elements into Viewpoint based Enterprise Architecture Framework

Sample  Diagram  Fragment  Technology  Viewpoint

Mobile  Object/Phone  can  be  added  to  exis3ng  model

Page 35: Extension Mechanism for Integrating New Technology Elements into Viewpoint based Enterprise Architecture Framework

Sample  Diagram  Fragment  Correspondence

•  Correspondence  is  to  ensure  the  rela3onship  of  the  elements  in  two  different  views.  –  Examples  

•  Order  Processing  (Enterprise)  should  be  processed  by  PurchaseManager  on  the  cloud  (Engineering).  

•  GUI_Employee  (Engineering)  should  be  supported  by    MobilePhoneApp  (Technology).

Page 36: Extension Mechanism for Integrating New Technology Elements into Viewpoint based Enterprise Architecture Framework

Summary  of  our  proposed  Extension  Mechanism

•  Basic  steps  –  Choose  the  main  domain  and  narrow  down  by  selec3ng  usable  specifica3ons  

•  Enterprise  Architecture  -­‐>  RM-­‐ODP  (could  be  other  one)  

–  Move  to  Meta-­‐Modeling  space,  analyze  the  target  domain  to  capture  all  the  core  concepts  (e.g.  for  New  Technologies)  

–  Associate  those  concepts  to  exis3ng  RM-­‐ODP  concepts  (package  merge).  –  Move  to  UML  Profile  defini3on  space  –  Modify  exis3ng  Profile  elements  to  reflect  new  meta-­‐model  elements,  or  add  

new  elements  if  no  relevant  profile  element  existed  (package  merge).  

Page 37: Extension Mechanism for Integrating New Technology Elements into Viewpoint based Enterprise Architecture Framework

Discussion  (1  of  3) •  What’s  the  point  of  having  flexible  EA?  

–  Enterprise  systems  are  developed  to  execute  day-­‐to-­‐day  opera3ons,  and  therefore  should  be  very  stable.    Is  proposed  mechanism  good  enough  to  make  this  “ready-­‐for-­‐change”?  •  Three  use  cases  have  shown  it  is  applicable.  •  More  complex  cases  should  be  studied  in  future,  especially  around  conflict  

resolu3ons.  

–  To  plan  and  execute  at  higher  level  of  abstrac3on  on  top  of  stable  founda3on  or  EA  is  logical  and  beneficial  to  stakeholders.  •  Especially  true  for  complex  systems  like  enterprise  systems  

–  Further  work  •  Conflict  resolu3ons  at  meta-­‐model  level  and  at  profile  level  

Page 38: Extension Mechanism for Integrating New Technology Elements into Viewpoint based Enterprise Architecture Framework

Discussion  (2  of  3) •  Next  step?  

–  UML  models  are  not  just  drawings.  They  should  be  used  as  input  to  Model  Driven  SoJware  Development  (MDSD).  •  Use  of  (meta-­‐)modeling  is  

–  a  good  prac3ce,  if  it  helps  increase  stability,  flexibility  and  produc3vity.  –  an  overhead,  if  output  is  not  effec3vely  used/consumed  

•  Model-­‐based  Enterprise  Architecture  

–  Processing  models  •  Structural  aspect  of  system  specifica3ons  can  be  transformed  into  code  with  

model-­‐to-­‐text  transforma3on  template  and  engine.  •  Behavioral  aspect  of  system  specifica3ons  are  not  ready  for  model  transforma3on  

into  code.  Ac3vity-­‐based  models  (e.g.  Ac3vity  and  BPMN)  do  not  standardize  ac3ons  and  their  granularity  (Further  work).  

–  Prac3cal  tools  for  UML  modeling  and  model  processing  •  Open  source  tools  such  as  eclipse  Papyrus,  EMF,  GMF,  Acceleo,  and  Xtext/Xtend  

may  have  a  place  in  the  tool  chain.    

Page 39: Extension Mechanism for Integrating New Technology Elements into Viewpoint based Enterprise Architecture Framework

Discussion  (3  of  3) •  Interoperability  among  Enterprise  Architecture  Frameworks  

–  The  explained  mechanism  is  applicable  to  other  EA  Framework,  provided  that  •  they  have  good  documenta3on  (for  understanding)  •  they  have  Meta-­‐Model  (preferably  published  one)  •  they  have  UML  Profile  (can  be  defined  based  on  above)  

–  Even  done  so,  interoperability  requires  common  language,  otherwise  more  than  necessary  transforma3ons  will  be  needed.  

–  As  of  today,  RM-­‐ODP  is  well  suited  as  common  language,  since  it  is  a  standard,  document  is  published,  and  meta-­‐model  and  UML  Profile  data  are  also  published  for  other  framework  players  to  use.  

–  Further  work  •  Discussion  with  open  source  enterprise  architecture  tools,  e.g.  Essen3al,  may  be  the  next  step  for  common  language.  

Page 40: Extension Mechanism for Integrating New Technology Elements into Viewpoint based Enterprise Architecture Framework

Conclusion •  The  three  example  use  cases  have  shown  that  proposed  

mechanism  is  applicable  to  enterprise  compu3ng  domain.  –  Meta-­‐modeling  and  UML  Profiling  is  a  good  tool  for  architectural  modeling.  –  Integra3on  should  be  done  with  Package  Merge,  which  will  help  future  

automa3on.  •  Meta-­‐models  and  UML  Profiles  can  be  selec3vely  used  like  library.  Real  tool  

support  is  expected.  

–  Output  UML  model  should  be  used  as  an  input  to  MDSD  process.  –  Behavioral  modeling  based  on  Ac3vity  or  Business  Process  is  important  and  

for  further  study.  –  Tooling  is  important  and  integra3on  of  open  source  tools  is  promising  toward  

this  direc3on.  –  This  proposed  mechanism  could  be  applied  to  other  domain  than  enterprise  

compu3ng.