Extension	
  Mechanism	
  for	
  Integra3ng	
  
New	
  Technology	
  Elements	
  into	
  
Viewpoint	
  based	
  Enterprise...
Agenda	
•  Background	
  (context	
  and	
  issues)	
  
–  Modeling	
  SoJware	
  
–  Enterprise	
  Architecture	
  
–  Ne...
Background	
  (1	
  of	
  3)	
•  Architecture	
  for	
  SoJware	
  Systems	
  
–  Iden3fies	
  components,	
  their	
  beha...
Background	
  (2	
  of	
  3)	
•  New	
  Technologies	
  
–  May	
  arrive	
  at	
  any	
  moment	
  
•  Hard	
  to	
  pred...
Background	
  (3	
  of	
  3)	
•  SoJware	
  Modeling	
  
–  Raising	
  the	
  level	
  of	
  abstrac3ons	
  by	
  suppress...
Problem	
  Statements	
  and	
  Proposed	
  
Approach	
•  For	
  “enterprise	
  compu3ng”	
  domain,	
  there	
  is	
  no	...
Choices	
  made	
  for	
  this	
  work	
•  Choice	
  of	
  Modeling	
  Language	
  
–  UML	
  is	
  the	
  most	
  widely	...
SOFTWARE	
  MODELING
Meta-­‐models	
•  Meta-­‐model	
  is	
  a	
  model,	
  [for	
  specific	
  domain,]	
  [consis/ng	
  of	
  
iden/fied	
  con...
Layers	
  of	
  Models	
Meta-­‐meta	
  model	
Metamodel	
Model	
Instance	
  or	
  Object	
  Model	
Instance	
  of	
conform...
Meta-­‐models	
  (in	
  general)	
Enterprise	
  Architecture	
  Domain	
Meta-­‐Models	
  for	
  
Technologies	
  type	
  #...
Integra3ng	
  Meta-­‐models	
•  At	
  the	
  highest	
  level,	
  package	
  merge	
  is	
  used	
  to	
  achieve	
  the	
...
UML	
  Package	
  Merge	
(merged	
  package)	
(receiving	
  package)	
 (resul3ng	
  package)	
NOTE:	
  Research	
  Paper	
...
UML	
  Profile	
•  Standard	
  Extension	
  mechanism	
  for	
  UML	
  
–  Many	
  UML	
  Profile	
  standards	
  exist	
  t...
UML	
  Profile	
  Standard	
  examples	
Source	
  OMG	
  :	
  hop://www.omg.org/spec/
UML	
  and	
  UML	
  Profiles	
  (in	
  general)	
Enterprise	
  Architecture	
  Domain	
UML	
  Profiles	
  for	
  
Technolog...
Integra3ng	
  UML	
  Profiles	
•  Since	
  UML	
  Profile	
  is	
  represented	
  as	
  a	
  package	
  with	
  stereotype	
...
ENTERPRISE	
  ARCHITECTURE	
DoDAF	
RM-­‐ODP
Reference	
  Model	
  for	
  Open	
  Distributed	
  
Processing	
•  RM-­‐ODP	
  defines	
  founda3onal	
  concepts,	
  view...
RM-­‐ODP	
  Meta-­‐Model	
NOTE:	
  Par3al	
  diagram	
  from	
  standard’s	
  working	
  model
RM-­‐ODP	
  Profile	
NOTE:	
  Par3al	
  profile	
  data
EXAMPLE	
  NEW	
  TECHNOLOGIES	
Social	
  Networking	
  
NoSQL	
  
Mobile	
  Compu3ng	
  Meta-­‐Model	
Class	
Node	
«stereotype»	
  
Place	
Device	
 Execu3onEnvironment	
Associa3on	
«stereo...
NIST’s	
  Cloud	
  Taxonomy	
  	
hop://collaborate.nist.gov/twiki-­‐cloud-­‐compu3ng/pub/CloudCompu3ng/ReferenceArchitectu...
Mobile	
  &	
  Cloud	
  extensions	
i.e.	
  all	
  other	
  concepts	
  are	
  s3ll	
  available	
  for	
  mobile	
  and	
...
Social	
  Network	
  Meta-­‐Model	
Simplified	
  version	
  of	
  Facebook	
  meta-­‐model	
  
published	
  on	
  the	
  we...
Social	
  Network	
  extension	
means	
  e.g.	
Par3al	
  
enterprise	
  
language
UML	
  Profile	
  Integra3on	
•  Mobile	
  and	
  Cloud	
  
– By	
  modifying	
  exis3ng	
  UML	
  Profile	
  for	
  RM-­‐OD...
UML	
  Profile	
  Integra3on	
•  Social	
  Networking	
  
– By	
  modifying	
  exis3ng	
  UML	
  Profile	
  for	
  RM-­‐ODP	...
Sample	
  Diagram	
  Fragment	
  
Enterprise	
  Viewpoint
Sample	
  Diagram	
  Fragment	
  
Informa3on	
  Viewpoint	
«merge»	
Cloud-­‐aware	
  and	
  social-­‐aware	
  object	
  ty...
Sample	
  Diagram	
  Fragment	
  
Computa3onal	
  Viewpoint	
Mobile-­‐aware	
  objects	
  
and	
  cloud-­‐aware	
  object	...
Sample	
  Diagram	
  Fragment	
  
Engineering	
  Viewpoint	
Cloud-­‐aware	
  channel	
  can	
  be	
  introduced	
  to	
  
...
Sample	
  Diagram	
  Fragment	
  
Technology	
  Viewpoint	
Mobile	
  Object/
Phone	
  can	
  be	
  added	
  
to	
  exis3ng...
Sample	
  Diagram	
  Fragment	
  
Correspondence	
•  Correspondence	
  is	
  to	
  ensure	
  the	
  rela3onship	
  of	
  t...
Summary	
  of	
  our	
  proposed	
  Extension	
  
Mechanism	
•  Basic	
  steps	
  
–  Choose	
  the	
  main	
  domain	
  a...
Discussion	
  (1	
  of	
  3)	
•  What’s	
  the	
  point	
  of	
  having	
  flexible	
  EA?	
  
–  Enterprise	
  systems	
  ...
Discussion	
  (2	
  of	
  3)	
•  Next	
  step?	
  
–  UML	
  models	
  are	
  not	
  just	
  drawings.	
  They	
  should	
...
Discussion	
  (3	
  of	
  3)	
•  Interoperability	
  among	
  Enterprise	
  Architecture	
  Frameworks	
  
–  The	
  expla...
Conclusion	
•  The	
  three	
  example	
  use	
  cases	
  have	
  shown	
  that	
  proposed	
  
mechanism	
  is	
  applica...
Upcoming SlideShare
Loading in …5
×

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

1,011 views

Published on

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

Published in: Technology, Education
0 Comments
2 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
1,011
On SlideShare
0
From Embeds
0
Number of Embeds
2
Actions
Shares
0
Downloads
16
Comments
0
Likes
2
Embeds 0
No embeds

No notes for slide

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

  1. 1. Extension  Mechanism  for  Integra3ng   New  Technology  Elements  into   Viewpoint  based  Enterprise  Architecture   Framework       Akira  Tanaka,  view5  LLC  
  2. 2. 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  
  3. 3. 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.  
  4. 4. 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.  
  5. 5. 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  
  6. 6. 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  
  7. 7. 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
  8. 8. SOFTWARE  MODELING
  9. 9. 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.  
  10. 10. 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
  11. 11. 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
  12. 12. 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).
  13. 13. UML  Package  Merge (merged  package) (receiving  package) (resul3ng  package) NOTE:  Research  Paper  –  “Modeling  UML  2  Package  Merge  with  Alloy”
  14. 14. 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  
  15. 15. UML  Profile  Standard  examples Source  OMG  :  hop://www.omg.org/spec/
  16. 16. 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
  17. 17. Integra3ng  UML  Profiles •  Since  UML  Profile  is  represented  as  a  package  with  stereotype   «profile»,  package  merge  can  also  be  applied  (in  theory).
  18. 18. ENTERPRISE  ARCHITECTURE DoDAF RM-­‐ODP
  19. 19. Reference  Model  for  Open  Distributed   Processing •  RM-­‐ODP  defines  founda3onal  concepts,  viewpoint   languages,  correspondences  etc.
  20. 20. RM-­‐ODP  Meta-­‐Model NOTE:  Par3al  diagram  from  standard’s  working  model
  21. 21. RM-­‐ODP  Profile NOTE:  Par3al  profile  data
  22. 22. EXAMPLE  NEW  TECHNOLOGIES Social  Networking   NoSQL  
  23. 23. 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
  24. 24. 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
  25. 25. Mobile  &  Cloud  extensions i.e.  all  other  concepts  are  s3ll  available  for  mobile  and  cloud  system  specifica3ons. Par3al   enterprise   language means  e.g.
  26. 26. 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
  27. 27. Social  Network  extension means  e.g. Par3al   enterprise   language
  28. 28. UML  Profile  Integra3on •  Mobile  and  Cloud   – By  modifying  exis3ng  UML  Profile  for  RM-­‐ODP
  29. 29. 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.
  30. 30. Sample  Diagram  Fragment   Enterprise  Viewpoint
  31. 31. Sample  Diagram  Fragment   Informa3on  Viewpoint «merge» Cloud-­‐aware  and  social-­‐aware  object  types  can  be  added  to  exis3ng  informa3on  model.
  32. 32. Sample  Diagram  Fragment   Computa3onal  Viewpoint Mobile-­‐aware  objects   and  cloud-­‐aware  object   can  be  added  to  exis3ng   model  (needs  re-­‐wiring   etc.)
  33. 33. Sample  Diagram  Fragment   Engineering  Viewpoint Cloud-­‐aware  channel  can  be  introduced  to   exis3ng  engineering  model.
  34. 34. Sample  Diagram  Fragment   Technology  Viewpoint Mobile  Object/ Phone  can  be  added   to  exis3ng  model
  35. 35. 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).
  36. 36. 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).  
  37. 37. 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  
  38. 38. 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.    
  39. 39. 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.  
  40. 40. 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.  

×