Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.
Evolving  systems  and      the  link  to  service         orienta4on             ...and  the  search  for  a  shorter  .t...
$ whoami• Angelo  van  der  Sijpt• Commi:er  with  Apache  ACE• So=ware  engineer  at  Luminis    Technologies• angelo.van...
Formalcurriculum • ... • ...                                schoolsobjec+ves  curriculum                        personal)o...
personal)learning)path    Goal%selec)on         Learning(         objec-ves
Learning(              objec-ves          Objectselec*onContent             Executable*             learning             d...
Formalcurriculum • ... • ...                                 schoolsobjec3ves  curriculum                         personal...
ARL• “Where  is  this  student  compared  to  his  class?”         ve                                                  Re ...
The  profile  service   
• Pluggable• Evolvable• Driven  by  code
Query q = new Query()    .select(person())    .where(person().firstName(literal("Roy")));RowSet<Row> rowSet =
PIM:Person                                                      Subject9                                                  ...
new Query().select(curriculum().label(), learningDimension(),learningDimension().label(), achievement(),learningdimension(...
Service  Orienta4on     
“A  Service  Oriented  Architecture  is  comprised  of  independently  defined  components,  providing  services  through  ...
Service  Orienta4on• • Isola.on  &  decoupling • (Coping  with  or  causing)            B         A   dynamic  co...
Service            Module            LifecycleFramework
More  on  OSGi   • Defines  a  framework   • Bundles  (components)  are  Java  jar  files                   • Contain  code,...
SOA  and  data
• Code  centric• Data  never  dies,  but  code  can  go• Plugging  axioms  and  entailments
• Allows  (de-­‐)installa.on  of  components• Respects  the  service  dependency  tree• Tradeoffs  • Transform  data,  or  ...
Versioning                                              Semantic Versioning• Code:  we’re  ge[ng  there                   ...
In  short• Code  and  data  can  learn  from  each  other• Evolve  code  and  data  together  • Package  them  together• C...
Evolving  systems  and     the  link  to  service        orienta4onAngelo  van  der   ...
Evolving systems and the link to service orientation
Upcoming SlideShare
Loading in …5

Evolving systems and the link to service orientation


Published on

A talk I gave at the Semantic Technology & Business Conference in London, 26 September 2011 ( )

Published in: Technology, Education
  • Be the first to comment

Evolving systems and the link to service orientation

  1. 1. Evolving  systems  and   the  link  to  service   orienta4on ...and  the  search  for  a  shorter  .tleAngelo  van  der
  2. 2. $ whoami• Angelo  van  der  Sijpt• Commi:er  with  Apache  ACE• So=ware  engineer  at  Luminis   Technologies•    • Buzzwords:  Java,  OSGi,  Agile
  3. 3. ARL
  4. 4. Formalcurriculum • ... • ... schoolsobjec+ves curriculum personal)objec-ves • ... • ... personal)learning)path
  5. 5. personal)learning)path Goal%selec)on Learning( objec-ves
  6. 6. Learning( objec-ves Objectselec*onContent Executable* learning design Execu&on
  7. 7. Formalcurriculum • ... • ... schoolsobjec3ves curriculum personalobjec3ves • ... • ... personallearningpath Goalselec3on Learning( objec-ves Objectselec*on Content Executable* learning design Execu&on
  8. 8. ARL• “Where  is  this  student  compared  to  his  class?” ve Re a( st ric or pl• “What  learning  style  do  I  have?” (v Ex ed e uc pro . file• “Who  else  has  problems  with  this?” Educ.& domain• “What  should  I  do  now?”
  9. 9. The  profile  service
  10. 10. • Pluggable• Evolvable• Driven  by  code
  11. 11. Query q = new Query() .select(person()) .where(person().firstName(literal("Roy")));RowSet<Row> rowSet =;Person roy = rowSet.iterator().next().get(person());roy.lastName();roy.lastName("Trenneman");
  12. 12. PIM:Person Subject9 Curriculum hasTopConcept SKOS: hasEduca/on Achievement ha f sA O ch SKOS:Concept sist iev con edEduca/on Learing Objec/ve
  13. 13. new Query().select(curriculum().label(), learningDimension(),learningDimension().label(), achievement(),learningdimension("sublearningdimension")) .where( curriculum() .hasTopConcept(learningDimension()) .label()), learningdimension("sublearningdimension") .broader(learningDimension()) learningDimension() .label(), p.has(education()), optional( education() .consistsOf(achievement()), achievement() .hasAchieved(learningdimension("sublearningdimension"))), filter("bound(" + achievement() + ")");
  14. 14. Service  Orienta4on
  15. 15. “A  Service  Oriented  Architecture  is  comprised  of  independently  defined  components,  providing  services  through  agreed-­‐upon  interfaces.  Components  can  in  turn  have  dependencies  on  other  services.”
  16. 16. Service  Orienta4on• • Isola.on  &  decoupling • (Coping  with  or  causing)   B A dynamic  composi.on binding• Vocabulary • Service,  component,   mandatory/op.onal   dependency • Excluded• Rules • Discovery • Services  are  self-­‐contained • Orchestra.on • Interfaces  are  defined   • Communica.on   beforehand method
  17. 17.
  18. 18. Service Module LifecycleFramework
  19. 19. More  on  OSGi • Defines  a  framework • Bundles  (components)  are  Java  jar  files • Contain  code,  metadata,  and  arbitrary  data Hall et al. C rea tin g M odu lar A ppl ica tio ns in J ava OSGi IN ACTION Richard S. Hall Karl Pauls Stuart McCulloch David Savage FOREWORD BY PETER KRIENSMANNING MANNING
  20. 20. SOA  and  data
  21. 21. • Code  centric• Data  never  dies,  but  code  can  go• Plugging  axioms  and  entailments
  22. 22. • Allows  (de-­‐)installa.on  of  components• Respects  the  service  dependency  tree• Tradeoffs • Transform  data,  or  pay  with  code  complexity
  23. 23. Versioning Semantic Versioning• Code:  we’re  ge[ng  there Technical Whitepaper Revision 1.0 May 6, 2010 • Major/minor/micro• Ontologies:  version  from  the   start • Closed  system?  Place  addi.ons  in   © 2010 OSGi Alliance All Rights Reserved. same  version • Open  system?  Bump  version  on   every  change  (but  minimize  those)
  24. 24. In  short• Code  and  data  can  learn  from  each  other• Evolve  code  and  data  together • Package  them  together• Consider  your  versioning  scheme • Do,  or  don’t,  worry  about  interchangeability
  25. 25. Evolving  systems  and   the  link  to  service   orienta4onAngelo  van  der