View
221
Download
0
Category
Tags:
Preview:
Citation preview
Service-Oriented Architecture Methods to Develop Networked Library Services
SOA Symposium
December 9, 2005
Richard Akerman
NRC CISTI
Outline
• Enterprise Architecture andthe Road to Service-Oriented Architecture (SOA)
• SOA Methodologies
• SOA Applied: Services in Canada’s scientific infostructure (Csi)
Background
• National Research Council (NRC)Canada Institute for Scientific and Technical Information (CISTI)– Canada’s national science library and publisher
• Architecture Group within CISTI Technology & Research
Service-Oriented Architecture
• many definitions
• The OASIS Service-Oriented Architecture Reference Model
“Service Oriented Architecture (SOA) is a paradigm for organizing and using distributed capabilities that may be under the control of different ownership domains.”
• I don’t know what that means either
Web Services
• This is a terrible name.
• They are not about the web
• They are not (necessarily) about services
• “Well-defined networkable functions?”
• Another way to slice them is “Vendor-Neutral Middleware”
• They have attributes that make them well-suited to SOA
Canada’s scientific infostructure
Information Management Tools and Access Tools
Collaboration
DigitalContent
Technology Infrastructure
Fundamental Challenges
• What do you want to do?
• How do you do it successfully?
Goals and Requirements
• What is the problem we’re trying to solve?
Conceptual Integrity
• Fred Brooks, author of The Mythical Man-Month, has said that the core challenge in software development is
how do you maintain the conceptual integrity of the project?
Goal
• Cool stuff!
• ... that’s sustainable
• Successfully deliver on CISTI’s Strategic Objectives by 2010– This requires identifying the right projects and completing them using the appropriate resources, including technology
Thinking about sustainability
• Value
• Maintainability– inevitable enhancements and changes
• Scalability
• Survivability– Security– Availability– Reliability
• ALL systems have a lifecycle
Thinking about efficiency
• Don’t build the same thing multiple times
• Find ways to deliver timely solutions to your requirements (i.e. don’t take so long to deliver that your requirements have changed)
• New systems should be able to build on the work that went into previous systems
• Avoid building “silos”
Enterprise Architecture
• Enterprise Architecture is a methodology for addressing these challenges
EA Concept – Infomajic Toolkit
Business Framework
IT Architecture Framework
People
Process
Buy-In
Metrics
Projects
Framework for Implementation
Analysis,Design &
Development
•Tightly link the architecture to the business
•Architecture outputs are integrated with each other and with other IT outputs – Base analysis & design on the architecture
•Develop an action plan to support implementation
•Use an approach that is disciplined (repeatable) and traceable back to the business
by permission of Jane Carbone, Infomajic
Enterprise Architects
• Are like city planners– define basic standards, structures, transportation pathways
Why do we need plans and standards?
• “If you’re going to do something, do it right the first time” (Holmes on Homes)
From EA to SOA
• “We’re on the road to Servicetopia...”
• Our EA method allowed us to identify business functions, as part of simple models.
• When we started modelling the business in this way, it got us thinking about the various services the business provides
• We decided to formally investigate...
Service-Oriented Architecture
From Business to Design
Elements of Service-Oriented Analysis and Design
© Copyright IBM Corporation 1994, 2005. All rights reserved.
... with SOA Added
Elements of Service-Oriented Analysis and Design
© Copyright IBM Corporation 1994, 2005. All rights reserved.
Software Engineering... Evolving
• As we learn more about how to build systems, and how NOT to build systems, additional roles and methodologies are emerging
• Unlike physical engineering, software engineering lacks many physical world constraints
• SOA is one of the latest methodologies to try to define and constrain software engineering – an additional set of patterns
• Each new pattern is like a new tool in a toolkit
Approaching a definition for SOA
• The term SOA is used interchangeably for three distinct concepts:
– the architectural concept,
– the style of the resulting business solutions,
– and the supporting infrastructure.
from “Service-Oriented World” Cheat Sheet, by Brenda M. Michelson
SOA Defined
• “In Service-Oriented Architecture autonomous, loosely-coupled and coarse-grained services with well-defined interfaces provide business functionality and can be discovered and accessed through a supportive infrastructure. This allows internal and external system integration as well as the flexible reuse of application logic through the composition of services…to support an end-to-end business process.”
Malte Poppensieker, SOA Weblog, addition from ZDnet SOA blog
Loosely-Coupled
• information hiding
• separation of concerns
Coarse-Grained
• true SOA services provide a lot of functionality – they address an entire business need
• e.g.“Process Mortgage Application” is a service,“Get Mortgage Application Field #7” is not
Destroy the Silos!
© 2000 Canada Science and Technology Museum
Reuse
• The Holy Grail
Composition
• This is the idea that you can begin to build an orchestration (or choreography) layer above your services, in order to assemble them in interesting ways that may change over time
Frameworks and Working Groups
• JISC Information Environment – Service-Oriented view
• e-Framework for Education and Research
• Digital Library Federation (DLF) – Service Framework for Digital Libraries
• [Library] Vendor Initiative for Enabling Web Services (VIEWS)
• Talis: Resources
• NISO MetaSearch Initiative
• EduSource Canada: Canadian Network of Learning Object Repositories
Library Projects Using SOA
• Denmark
• US National Science Digital Library
• US California Digital Library
ISBNDOI
Bibli…dk
Netres.
AUB KKBKB
Bibl…dk musikDBSamlet FAUST
Webservice:Aggregator
Webservice:Netmusik
Webservice:Journals
Webservice:Materialmatch
SOAP/XML
Webservice:Recom-mender service
Role: Customer Services
OAIJSTORE
SOAP/XML
Role: Service provider
Role: Data service
Role: Data service /customer support
PersonalisationAAISingle Sign On
/skole
Relevant information
Csi - Canada’s scientific infostructure
Csi – Goal
Develop a Canada-wide infostructure (information + infrastructure)
– that provides access to full-text digital content to Canadians regardless of their geographic location or affiliations
– is achieved through the development of collaborations and partnerships with stakeholders in the library and information community
Port
al
Con
ten
tIn
frast
ruct
ure
Csi: ArchitectureS
erv
ices
PortalApplication
Csi
Full CISTI support for Csi– An integral part of CISTI’s long term strategic plan– Community based approach to build a Canada-wide research
infostructure– Significant investment in Csi has been made by CISTI and the
NRC and this investment is continuing.
Csi Summary
SOA Methods to Develop...
• Be mindful of SOA during– Business requirements capture– Architecture– Design
• In particular, identify candidate services within your architecture– Most importantly, services that you want to expose externally –
these will be a contract for your organization
More info / contact
• Bookmarks:http://www.connotea.org/user/scilib/tag/soasym2005
• Email (slightly obfuscated):Richard dot Akerman at NRC dot ca
Questions?
Recommended