Evolving systems and the link to service orientation

26
Evolving systems and the link to service orienta4on ...and the search for a shorter .tle Angelo van der Sijpt [email protected] http://www.flickr.com/photos/artolog/313055444/

description

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 )

Transcript of Evolving systems and the link to service orientation

Page 1: Evolving systems and the link to service orientation

Evolving  systems  and  the  link  to  service  

orienta4on

...and  the  search  for  a  shorter  .tle

Angelo  van  der  Sijpt

[email protected]://www.flickr.com/photos/artolog/313055444/

Page 2: Evolving systems and the link to service orientation

$ whoami

• Angelo  van  der  Sijpt

• Commi:er  with  Apache  ACE

• So=ware  engineer  at  Luminis  Technologies

[email protected]    

• Buzzwords:  Java,  OSGi,  Agile

Page 4: Evolving systems and the link to service orientation

Formal'curriculum• ...• ...• ...• ...

curriculumschool's'objec+ves

personal)learning)path

personal)objec-ves

Page 5: Evolving systems and the link to service orientation

personal)learning)path

Learning(objec-ves

Goal%selec)on

Page 6: Evolving systems and the link to service orientation

Learning(objec-ves

Object'selec*on

Executable*learningdesign

Content

Execu&on

Page 7: Evolving systems and the link to service orientation

Formal'curriculum• ...• ...• ...• ...

school's'objec3vescurriculum

personal'learning'path

Goal'selec3on

personal'objec3ves

Learning(objec-ves

Object'selec*on

Executable*learningdesign

Content

Execu&on

Page 8: Evolving systems and the link to service orientation

Restric(veeduc.profileEduc.&domain

ARL

Explora(ve

http://www.flickr.com/photos/jeffsmallwood/233853485

• “Where  is  this  student  compared  to  his  class?”

• “What  learning  style  do  I  have?”

• “Who  else  has  problems  with  this?”

• “What  should  I  do  now?”

Page 9: Evolving systems and the link to service orientation

The  profile  service

http://www.flickr.com/photos/crazyneighborlady/411869140/

Page 10: Evolving systems and the link to service orientation

• Pluggable

• Evolvable

• Driven  by  code

Page 11: Evolving systems and the link to service orientation

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");

Page 12: Evolving systems and the link to service orientation

PIM:Person

Educa/on

Achievement

Subject9Curriculum

LearingObjec/ve

hasEduca/on con

sistOf

SKOS:

hasTopConcept

hasAchieved

SKOS:Concept

Page 13: Evolving systems and the link to service orientation

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() + ")");

Page 14: Evolving systems and the link to service orientation

http://www.flickr.com/photos/camknows/4712191684

Service  Orienta4on

Page 15: Evolving systems and the link to service orientation

“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

Page 16: Evolving systems and the link to service orientation

• Mo.va.on

• Isola.on  &  decoupling

• (Coping  with  or  causing)  dynamic  composi.on

• Vocabulary

• Service,  component,  mandatory/op.onal  dependency

• Rules

• Services  are  self-­‐contained

• Interfaces  are  defined  beforehand

• Excluded

• Discovery

• Orchestra.on

• Communica.on  method

binding

AB

Service  Orienta4on

Page 18: Evolving systems and the link to service orientation

Service

Module

Lifecycle

Framework

Page 19: Evolving systems and the link to service orientation

• Defines  a  framework

• Bundles  (components)  are  Java  jar  files

• Contain  code,  metadata,  and  arbitrary  data

More  on  OSGi

Hallet al.

OSGi IN ACTION

M A N N I N G

M ANN I N G

Richard S. HallKarl Pauls

Stuart McCullochDavid Savage

FOREWORD BY PETER KRIENS

Creating Modular Applications in Java

Page 20: Evolving systems and the link to service orientation

SOA  and  data

Page 21: Evolving systems and the link to service orientation

• Code  centric

• Data  never  dies,  but  code  can  go

• Plugging  axioms  and  entailments

Page 22: Evolving systems and the link to service orientation
Page 23: Evolving systems and the link to service orientation

• Allows  (de-­‐)installa.on  of  components

• Respects  the  service  dependency  tree

• Tradeoffs

• Transform  data,  or  pay  with  code  complexity

Page 24: Evolving systems and the link to service orientation

Versioning

• Code:  we’re  ge[ng  there

• Major/minor/micro

• Ontologies:  version  from  the  start

• Closed  system?  Place  addi.ons  in  same  version

• Open  system?  Bump  version  on  every  change  (but  minimize  those)

© 2010 OSGi Alliance

All Rights Reserved.

Semantic Versioning Technical Whitepaper

Revision 1.0May 6, 2010

Page 25: Evolving systems and the link to service orientation

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

Page 26: Evolving systems and the link to service orientation

Evolving  systems  and  the  link  to  service  

orienta4on

Angelo  van  der  Sijpt

[email protected]

http://www.flickr.com/photos/98469445@N00/327471676/