Evolving systems and the link to service orientation
Upcoming SlideShare
Loading in...5
×
 

Evolving systems and the link to service orientation

on

  • 288 views

 

Statistics

Views

Total Views
288
Views on SlideShare
288
Embed Views
0

Actions

Likes
0
Downloads
0
Comments
0

0 Embeds 0

No embeds

Accessibility

Upload Details

Uploaded via as Apple Keynote

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • This is the definition we will stick with. You may have noticed that I left out anything that has to do with using services from others; this is because (a) it is hard enough to use your own services well, and (b) I don’t believe this is inherent to the style. It’s a benefit.\n\nLet’s first look at a number of manifestations.\n
  • This is the definition we will stick with. You may have noticed that I left out anything that has to do with using services from others; this is because (a) it is hard enough to use your own services well, and (b) I don’t believe this is inherent to the style. It’s a benefit.\n\nLet’s first look at a number of manifestations.\n
  • This is the definition we will stick with. You may have noticed that I left out anything that has to do with using services from others; this is because (a) it is hard enough to use your own services well, and (b) I don’t believe this is inherent to the style. It’s a benefit.\n\nLet’s first look at a number of manifestations.\n
  • This is the definition we will stick with. You may have noticed that I left out anything that has to do with using services from others; this is because (a) it is hard enough to use your own services well, and (b) I don’t believe this is inherent to the style. It’s a benefit.\n\nLet’s first look at a number of manifestations.\n
  • This is the definition we will stick with. You may have noticed that I left out anything that has to do with using services from others; this is because (a) it is hard enough to use your own services well, and (b) I don’t believe this is inherent to the style. It’s a benefit.\n\nLet’s first look at a number of manifestations.\n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n

Evolving systems and the link to service orientation Evolving systems and the link to service orientation Presentation Transcript

  • Evolving
systems
and
 the
link
to
service
 orienta4on What will I show? - A case of using semantic data - theory behind service orientation - And how to marry those Also, note that there will be some theory, some technology, some code ...and
the
search
for
a
shorter
4tleAngelo
van
der
Sijptangelo.vandersijpt@luminis.eu http://www.flickr.com/photos/artolog/313055444/
  • $ whoami• Angelo
van
der
Sijpt• Commi?er
with
Apache
ACE• SoAware
engineer
at
Luminis
 Technologies• angelo.vandersijpt@luminis.eu

• Buzzwords:
Java,
OSGi,
Agile
  • Adaptive Recommended Learning Tell about ARLs vision: “we cannot let students learn in this way,” in which ‘s tudents’ is interpreted broadly. The core pattern looks about the same for everyone; rambleARL about the axes of ‘institute- personal’ and ‘s chool-work’ ; the only differences are (mainly) in presentation. http://www.flickr.com/photos/shonk/57302289/
  • !"#$%&()##*()&)$ + ,,, + ,,, !"#$$%&!$()*"+,*! !"##$!"%"& !"#$%&()%*+",-."$ + ,,, + ,,, !"#$%&()("#&*&+)!,-
  • !"#$%&()("#&*&+)!,- !"#$%&$()"* !"#$%&%( )*+",-."/
  • !"#$%&%( )*+",-."/ !"#$%&($)$%*+,!"#$%#$ !"#$%&()#* )#+,-,. /#0-., !"#$%&(
  • !"#$%&()##*()&)$ + ,,, + ,,, -(.""&/-"012(342- ()##*()&)$ 52#-"6%&"012(342- + ,,, + ,,, 52#-"6%&&2%#6*675%8. 9"%&-2&2(3"6 !"#$%&%( )*+",-."/ !"#$%&($)$%*+, !"#$%#$ !"#$%&()#* )#+,-,. /#0-., !"#$%&(
  • !"#$%&()##*()&)$ + ,,, + ,,, -(.""&/-"012(342- ()##*()&)$ 52#-"6%&"012(342- + ,,, + ,,, 52#-"6%&&2%#6*675%8. 9"%&-2&2(3"6 !"#$%&%( )*+",-."/ !"#$%&($)$%*+, !"#$%#$ !"#$%&()#* )#+,-,. /#0-., !"#$%&(
  • !"#$%&()##*()&)$ + ,,, + ,,, -(.""&/-"012(342- ()##*()&)$ 52#-"6%&"012(342- + ,,, + ,,, 52#-"6%&&2%#6*675%8. 9"%&-2&2(3"6 !"#$%&%( )*+",-."/ !"#$%&($)$%*+, !"#$%#$ !"#$%&()#* )#+,-,. /#0-., !"#$%&(
  • !"#$%&()##*()&)$ + ,,, + ,,, -(.""&/-"012(342- ()##*()&)$ 52#-"6%&"012(342- + ,,, + ,,, 52#-"6%&&2%#6*675%8. 9"%&-2&2(3"6 !"#$%&%( )*+",-."/ !"#$%&($)$%*+, !"#$%#$ !"#$%&()#* )#+,-,. /#0-., !"#$%&(
  • http://www.flickr.com/photos/jeffsmallwood/233853485
  • http://www.flickr.com/photos/jeffsmallwood/233853485
  • !"&( #$% )*! http://www.flickr.com/photos/jeffsmallwood/233853485
  • !" &( #$% )*! !"#$%&"()*+ http://www.flickr.com/photos/jeffsmallwood/233853485
  • !"# !" &( #$% )*! !"#$%&"()*+ http://www.flickr.com/photos/jeffsmallwood/233853485
  • !"# !" #$ %& ( )" !" &( #$% )*! !"#$%&"()*+ http://www.flickr.com/photos/jeffsmallwood/233853485
  • !"# )* !" ( #$ %& %& ( #$ )"!" !" &( #$% )*! !"#$%& "()*+ 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?” http://www.flickr.com/photos/jeffsmallwood/233853485
  • The
profile
service Ramble a bit about profiling: building a picture of a user over time, by gathering data. We don’t know the questions we’re going to ask, and we don’t know the data we want to put in there. http://www.flickr.com/photos/crazyneighborlady/411869140/
  • • Pluggable• Evolvable Driven by code: we want code usage to be leading, supporting changes in• Driven
by
code underlying data
  • 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");
  • !"#$!%&() 6,78%-59 :,&&2-,;,4 1.A(B:()-%B5 6@>6$ 1.*+,-./() 0-12%3%4%)5 1. 0 >? -1 6@>6$:()-%B5 25 2%3 -() %+*+,-./() <%.&2)= >78%-/3%
  • 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( Point out - a more involved example education() - better readable than Sparql .consistsOf(achievement()), - note how we extend the Person class here (we have defined a ‘p’ achievement() outside of this scope) .hasAchieved(learningdimension("sublearningdimension"))), filter("bound(" + achievement() + ")");
  • Service
Orienta4on Poll: what do you think of when I say “SOA”? Explain that SOA is not REST, not web services, but an architectural style in its own. Manifestations from large to small. http://www.flickr.com/photos/camknows/4712191684
  • http://www.flickr.com/photos/camknows/4712191684
  • “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
  • “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
  • “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
  • “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
  • “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
  • Service
Orienta4on• Mo4va4on • Isola4on
&
decoupling • (Coping
with
or
causing)
 & dynamic
composi4on to ramble about: Something difference bet ween SOA and !"#$"#%• Vocabulary Ser vice Orientation • Service,
component,
 mandatory/op4onal
 dependency • Excluded• Rules • Discovery • Services
are
self‐contained • Orchestra4on • Interfaces
are
defined
 • Communica4on
 beforehand method
  • Services aren’t big The dependency treehttp://www.flickr.com/photos/artolog/313055444/
  • Services aren’t big The dependency treehttp://www.flickr.com/photos/artolog/313055444/
  • TODO think up the backstory here,how do we work in OSGi?TODO how do we work in Amdatu?Describe the notion of a ‘s ervicecomponent’.For services to work, we need todefine how they communicate.We can as well package that up.Look, we invented OSGi!; nowdescribe the layers.
  • TODO think up the backstory here,how do we work in OSGi?TODO how do we work in Amdatu?Describe the notion of a ‘s ervicecomponent’.For services to work, we need todefine how they communicate.We can as well package that up.Look, we invented OSGi!; nowdescribe the layers.
  • TODO think up the backstory here,how do we work in OSGi?TODO how do we work in Amdatu?Describe the notion of a ‘s ervicecomponent’.For services to work, we need todefine how they communicate.We can as well package that up.Look, we invented OSGi!; nowdescribe the layers.
  • TODO think up the backstory here, how do we work in OSGi? TODO how do we work in Amdatu? Describe the notion of a ‘s ervice component’.!"#$%&"( For services to work, we need to define how they communicate. We can as well package that up. Look, we invented OSGi!; now describe the layers.
  • TODO think up the backstory here, how do we work in OSGi? !"#$%&%$ TODO how do we work in Amdatu? Describe the notion of a ‘s ervice component’.!"#$%&"( For services to work, we need to define how they communicate. We can as well package that up. Look, we invented OSGi!; now describe the layers.
  • !"#$%& TODO think up the backstory here, how do we work in OSGi? !"#$%&%$ TODO how do we work in Amdatu? Describe the notion of a ‘s ervice component’.!"#$%&"( For services to work, we need to define how they communicate. We can as well package that up. Look, we invented OSGi!; now describe the layers.
  • !"#$%&" !"#$%& TODO think up the backstory here, how do we work in OSGi? !"#$%&%$ TODO how do we work in Amdatu? Describe the notion of a ‘s ervice component’.!"#$%&"( For services to work, we need to define how they communicate. We can as well package that up. Look, we invented OSGi!; now describe the layers.
  • More
on
OSGi So: we can put semantic data in here! • 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 avaOSGi IN ACTION Richard S. Hall Karl Pauls Stuart McCulloch David Savage FOREWORD BY PETER KRIENS MANNING
  • More
on
OSGi So: we can put semantic data in here! • 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 avaOSGi IN ACTION Richard S. Hall Karl Pauls Stuart McCulloch David Savage FOREWORD BY PETER KRIENS MANNING
  • SOA
and
data
  • • Code
centric• Data
never
dies,
but
code
can
go• Plugging
axioms
and
entailments
  • • Allows
(de‐)installa4on
of
components• Respects
the
service
dependency
tree• Tradeoffs • Transform
data,
or
pay
with
code
complexity
  • 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
addi4ons
in
 © 2010 OSGi Alliance All Rights Reserved. same
version • Open
system?
Bump
version
on
 Talk a bit about what every
change
(but
minimize
those) ‘backwards compatibility’ means
  • 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
  • Evolving
systems
and
 the
link
to
service
 orienta4onAngelo
van
der
Sijptangelo.vandersijpt@luminis.eu http://www.flickr.com/photos/98469445@N00/327471676/