Evolving systems and the link to service orientation

393 views
333 views

Published on

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

  • Be the first to like this

No Downloads
Views
Total views
393
On SlideShare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
1
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide
  • \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

    1. 1. 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/
    2. 2. $ whoami• Angelo
van
der
Sijpt• Commi?er
with
Apache
ACE• SoAware
engineer
at
Luminis
 Technologies• angelo.vandersijpt@luminis.eu

• Buzzwords:
Java,
OSGi,
Agile
    3. 3. 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/
    4. 4. !"#$%&()##*()&)$ + ,,, + ,,, !"#$$%&!$()*"+,*! !"##$!"%"& !"#$%&()%*+",-."$ + ,,, + ,,, !"#$%&()("#&*&+)!,-
    5. 5. !"#$%&()("#&*&+)!,- !"#$%&$()"* !"#$%&%( )*+",-."/
    6. 6. !"#$%&%( )*+",-."/ !"#$%&($)$%*+,!"#$%#$ !"#$%&()#* )#+,-,. /#0-., !"#$%&(
    7. 7. !"#$%&()##*()&)$ + ,,, + ,,, -(.""&/-"012(342- ()##*()&)$ 52#-"6%&"012(342- + ,,, + ,,, 52#-"6%&&2%#6*675%8. 9"%&-2&2(3"6 !"#$%&%( )*+",-."/ !"#$%&($)$%*+, !"#$%#$ !"#$%&()#* )#+,-,. /#0-., !"#$%&(
    8. 8. !"#$%&()##*()&)$ + ,,, + ,,, -(.""&/-"012(342- ()##*()&)$ 52#-"6%&"012(342- + ,,, + ,,, 52#-"6%&&2%#6*675%8. 9"%&-2&2(3"6 !"#$%&%( )*+",-."/ !"#$%&($)$%*+, !"#$%#$ !"#$%&()#* )#+,-,. /#0-., !"#$%&(
    9. 9. !"#$%&()##*()&)$ + ,,, + ,,, -(.""&/-"012(342- ()##*()&)$ 52#-"6%&"012(342- + ,,, + ,,, 52#-"6%&&2%#6*675%8. 9"%&-2&2(3"6 !"#$%&%( )*+",-."/ !"#$%&($)$%*+, !"#$%#$ !"#$%&()#* )#+,-,. /#0-., !"#$%&(
    10. 10. !"#$%&()##*()&)$ + ,,, + ,,, -(.""&/-"012(342- ()##*()&)$ 52#-"6%&"012(342- + ,,, + ,,, 52#-"6%&&2%#6*675%8. 9"%&-2&2(3"6 !"#$%&%( )*+",-."/ !"#$%&($)$%*+, !"#$%#$ !"#$%&()#* )#+,-,. /#0-., !"#$%&(
    11. 11. http://www.flickr.com/photos/jeffsmallwood/233853485
    12. 12. http://www.flickr.com/photos/jeffsmallwood/233853485
    13. 13. !"&( #$% )*! http://www.flickr.com/photos/jeffsmallwood/233853485
    14. 14. !" &( #$% )*! !"#$%&"()*+ http://www.flickr.com/photos/jeffsmallwood/233853485
    15. 15. !"# !" &( #$% )*! !"#$%&"()*+ http://www.flickr.com/photos/jeffsmallwood/233853485
    16. 16. !"# !" #$ %& ( )" !" &( #$% )*! !"#$%&"()*+ http://www.flickr.com/photos/jeffsmallwood/233853485
    17. 17. !"# )* !" ( #$ %& %& ( #$ )"!" !" &( #$% )*! !"#$%& "()*+ http://www.flickr.com/photos/jeffsmallwood/233853485
    18. 18. !"#• “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
    19. 19. 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/
    20. 20. • Pluggable• Evolvable Driven by code: we want code usage to be leading, supporting changes in• Driven
by
code underlying data
    21. 21. 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");
    22. 22. !"#$!%&() 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%
    23. 23. 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() + ")");
    24. 24. 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
    25. 25. http://www.flickr.com/photos/camknows/4712191684
    26. 26. “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
    27. 27. “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
    28. 28. “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
    29. 29. “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
    30. 30. “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
    31. 31. 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
    32. 32. Services aren’t big The dependency treehttp://www.flickr.com/photos/artolog/313055444/
    33. 33. Services aren’t big The dependency treehttp://www.flickr.com/photos/artolog/313055444/
    34. 34. 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.
    35. 35. 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.
    36. 36. 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.
    37. 37. 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.
    38. 38. 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.
    39. 39. !"#$%& 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.
    40. 40. !"#$%&" !"#$%& 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.
    41. 41. 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
    42. 42. 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
    43. 43. SOA
and
data
    44. 44. • Code
centric• Data
never
dies,
but
code
can
go• Plugging
axioms
and
entailments
    45. 45. • Allows
(de‐)installa4on
of
components• Respects
the
service
dependency
tree• Tradeoffs • Transform
data,
or
pay
with
code
complexity
    46. 46. 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
    47. 47. 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
    48. 48. Evolving
systems
and
 the
link
to
service
 orienta4onAngelo
van
der
Sijptangelo.vandersijpt@luminis.eu http://www.flickr.com/photos/98469445@N00/327471676/

    ×