Service-Oriented Architecture Methods to Develop Networked Library Services SOA Symposium December...

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

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