Evolving systems and the link to service orientation

3,262 views

Published on

A talk I gave at the Semantic Technology & Business Conference in London, 26 September 2011 ( http://semtechbizuk2011.semanticweb.com/sessionPop.cfm?confid=63&proposalid=4198 )

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

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

No notes for slide

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  Sijptangelo.vandersijpt@luminis.eu http://www.flickr.com/photos/artolog/313055444/
  2. 2. $ whoami• Angelo  van  der  Sijpt• Commi:er  with  Apache  ACE• So=ware  engineer  at  Luminis   Technologies• angelo.vandersijpt@luminis.eu    • Buzzwords:  Java,  OSGi,  Agile
  3. 3. ARL http://www.flickr.com/photos/shonk/57302289/
  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?” http://www.flickr.com/photos/jeffsmallwood/233853485
  9. 9. The  profile  service http://www.flickr.com/photos/crazyneighborlady/411869140/
  10. 10. • Pluggable• Evolvable• Driven  by  code
  11. 11. Query q = new Query() .select(person()) .where(person().firstName(literal("Roy")));RowSet<Row> rowSet = q.select(model);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 http://www.flickr.com/photos/camknows/4712191684
  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.” http://www.flickr.com/photos/camknows/4712191684
  16. 16. Service  Orienta4on• Mo.va.on • 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. http://www.flickr.com/photos/artolog/313055444/
  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  Sijptangelo.vandersijpt@luminis.eu http://www.flickr.com/photos/98469445@N00/327471676/

×