Service Oriented Architecture Open Library Environment project regional workshop January 14 2009 - Ottawa Presented by Ste...
What is SOA? <ul><li>Service-oriented architecture  ( SOA ) is a software architecture and methodology where functionality...
SOA Advantages <ul><li>Flexibility </li></ul><ul><li>Reduced development and maintenance costs </li></ul><ul><li>Interoper...
<ul><li>http://www.flickr.com/photos/rightoutloud/2421043521/ </li></ul>
Loose Coupling <ul><li>Loose-coupling  - Services should maintain a relationship that minimizes external dependencies  </l...
<ul><li>http://flickr.com/photos/82705724@N00/119490271/ </li></ul>
<ul><li>http://flickr.com/photos/fdecomite/453104909 </li></ul>
<ul><li>http://www.flickr.com/photos/festivefrog/2511300928/ </li></ul>
SOA Key Principles <ul><li>Reusability  – Services are designed with the intention of promoting reuse (otherwise – don’t m...
What SOA is not <ul><li>Web services   </li></ul><ul><ul><li>SOA is an architectural methodology </li></ul></ul><ul><ul><l...
SOA Tips <ul><li>Use Noun/Verb syntax when describing services. </li></ul><ul><ul><li>“ Pay Vendor”, “Find Document”, “Aut...
 
 
SOA Tips <ul><li>Be mindful not to copy bad legacy design. </li></ul><ul><ul><li>Just making a bad system into a set of se...
“ Integrated” Library
SOA as Legos™ Store Metadata Produce Reports Acquire Material Manage Serials Identify Patrons Catalogue Materials Discover...
Store Metadata Produce Reports Acquire Material Manage Serials Identify Patrons Catalogue Materials Discover Documents Man...
Store Metadata Produce Reports Acquire Material Manage Serials Identify Patrons Catalogue Materials Discover Documents Man...
Sing
 
 
 
 
Links and References <ul><li>My Blog:  http://ea.typepad.com/ </li></ul><ul><li>Anthony, Stephen K. &quot;Implementing Ser...
 
Upcoming SlideShare
Loading in …5
×

Open Library Environment - Service Oriented Architecture Intro - Jan 14 15 2009.V0.3

2,065 views
1,978 views

Published on

A talk I gave on Jan 14, 2009 at Library and Archives Canada for the Open Library Environment project Canadian regional workshop. It's a novice and quick introduction to SOA, our practices at CISTI, tips/hints and a few examples just to get our feet wet.

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

No Downloads
Views
Total views
2,065
On SlideShare
0
From Embeds
0
Number of Embeds
40
Actions
Shares
0
Downloads
103
Comments
0
Likes
1
Embeds 0
No embeds

No notes for slide
  • I’m Stephen Anthony Technology Architect, with CISTI – The Canada Institute for Scientific and Technical Information – at the National Research Council here in Ottawa. I’ve been with NRC for 10 years, and an architect with CISTI for the past 5 years. I specialize in enterprise architecture and service oriented architecture.
  • Open Library Environment - Service Oriented Architecture Intro - Jan 14 15 2009.V0.3

    1. 1. Service Oriented Architecture Open Library Environment project regional workshop January 14 2009 - Ottawa Presented by Stephen Anthony
    2. 2. What is SOA? <ul><li>Service-oriented architecture ( SOA ) is a software architecture and methodology where functionality is grouped around business processes and are packaged as interoperable services. </li></ul><ul><li>Software architecture defines components to use and how those components interact with each other. </li></ul><ul><li>A Business process is the set of activities and related rules that are used to produce a product or service for a client. It includes all the tasks, data, people, process management activities required. </li></ul>
    3. 3. SOA Advantages <ul><li>Flexibility </li></ul><ul><li>Reduced development and maintenance costs </li></ul><ul><li>Interoperability </li></ul><ul><li>Business-alignment </li></ul>
    4. 4. <ul><li>http://www.flickr.com/photos/rightoutloud/2421043521/ </li></ul>
    5. 5. Loose Coupling <ul><li>Loose-coupling - Services should maintain a relationship that minimizes external dependencies </li></ul><ul><li>Helps to ensure the reusability and composability of services – but also promotes good design practices – by only focusing on what the service needs (inputs) and what the services provides (output) </li></ul><ul><li>Each service should do only one thing – and should do that one thing well. </li></ul><ul><li>Black box: a mechanism with a known function and an unknown method. </li></ul>
    6. 6. <ul><li>http://flickr.com/photos/82705724@N00/119490271/ </li></ul>
    7. 7. <ul><li>http://flickr.com/photos/fdecomite/453104909 </li></ul>
    8. 8. <ul><li>http://www.flickr.com/photos/festivefrog/2511300928/ </li></ul>
    9. 9. SOA Key Principles <ul><li>Reusability – Services are designed with the intention of promoting reuse (otherwise – don’t make it a service!) </li></ul><ul><li>Loose-coupling - Services maintain a relationship that minimizes external dependencies – they should be black boxes – the internal workings and data are hidden from view. </li></ul><ul><li>Composability - Collections of services can be coordinated and assembled to form composite services </li></ul><ul><li>Statelessness – Services should not depend on the state of other components, systems or services. </li></ul><ul><li>Abstraction – There can be many levels of services. Don’t make services do too little. </li></ul><ul><li>Autonomy - Can the service stand on it’s own? </li></ul>
    10. 10. What SOA is not <ul><li>Web services </li></ul><ul><ul><li>SOA is an architectural methodology </li></ul></ul><ul><ul><li>Web services are a set of technologies. </li></ul></ul><ul><li>Automatically interoperable </li></ul><ul><ul><li>but improves the prospect of interoperability </li></ul></ul><ul><ul><li>particularly if the best practices and standards are followed </li></ul></ul><ul><li>A holy grail </li></ul><ul><ul><li>SOA in itself will not resolve all issues and produce a fully interoperable, sustainable, maintainable, reusable system. </li></ul></ul><ul><ul><li>but it helps. </li></ul></ul>
    11. 11. SOA Tips <ul><li>Use Noun/Verb syntax when describing services. </li></ul><ul><ul><li>“ Pay Vendor”, “Find Document”, “Authorize Client” </li></ul></ul><ul><ul><li>Do something to something. </li></ul></ul><ul><li>Loose coupling/Black Box. </li></ul><ul><ul><li>Black box: a mechanism with a known function and an unknown method. . </li></ul></ul><ul><ul><li>That means no giant “everything” databases </li></ul></ul><ul><ul><li>Everything done through the service – even database calls – hence “service oriented”. </li></ul></ul>
    12. 14. SOA Tips <ul><li>Be mindful not to copy bad legacy design. </li></ul><ul><ul><li>Just making a bad system into a set of services will not improve things... And it’s very likely to make things worse. </li></ul></ul><ul><li>Use abstraction </li></ul><ul><ul><li>Thinking about lower-level or higher-level services is often helpful when stuck. </li></ul></ul><ul><li>Don’t get too detailed too early. </li></ul><ul><ul><li>Start at the highest level of abstraction and work down. </li></ul></ul><ul><li>Use as little documentation as possible </li></ul><ul><ul><li>A few circles, boxes and lines with arrows can do wonders. </li></ul></ul><ul><ul><li>Saves time when you have to rework it all – and you will. </li></ul></ul>
    13. 15. “ Integrated” Library
    14. 16. SOA as Legos™ Store Metadata Produce Reports Acquire Material Manage Serials Identify Patrons Catalogue Materials Discover Documents Manage Circulation Staff Module
    15. 17. Store Metadata Produce Reports Acquire Material Manage Serials Identify Patrons Catalogue Materials Discover Documents Manage Circulation Staff Module
    16. 18. Store Metadata Produce Reports Acquire Material Manage Serials Identify Patrons Catalogue Materials Discover Documents Manage Circulation Staff Module
    17. 19. Sing
    18. 24. Links and References <ul><li>My Blog: http://ea.typepad.com/ </li></ul><ul><li>Anthony, Stephen K. &quot;Implementing Service Oriented Architecture at the Canada Institute for Scientific and Technical Information.&quot; The Serials Librarian, 55(01-02), pp. 235 - 253. DOI: 10.1080/03615260801970907 </li></ul><ul><li>Science Library Pad: http://scilib.typepad.com </li></ul><ul><li>IT Architecture Toolkit by Jane Carbone </li></ul><ul><li>Service Oriented Architecture For Dummies by Judith Hurwitz , et al. </li></ul><ul><li>Wikipedia has a decent SOA overview listing lots of good principles in more detail. </li></ul>

    ×