15
An SoA for a massively scalable next-gen ILS - principles and practice. Paul Harvey <[email protected]> OCLC Web-Scale Library Management Services ELAG 2011

Web-Scale Library Management Services (Paul Harvey)

Embed Size (px)

DESCRIPTION

Chcete vědět víc? Mnoho dalších prezentací, videí z konferencí, fotografií i jiných dokumentů je k dispozici v institucionálním repozitáři NTK: http://repozitar.techlib.cz Would you like to know more? Find presentations, reports, conference videos, photos and much more in our institutional repository at: http://repozitar.techlib.cz/?ln=en

Citation preview

Page 1: Web-Scale Library Management Services (Paul Harvey)

An SoA for a massively scalable next-gen ILS - principles and practice.

Paul Harvey <[email protected]>

OCLC

Web-Scale Library Management ServicesWeb-Scale Library Management ServicesELAG 2011

Page 2: Web-Scale Library Management Services (Paul Harvey)

Web-Scale Library Management ServicesWeb-Scale Library Management Services

Þ What is the WMS?

Þ Key Architectural Goals

Þ SoA Service Groups

Þ Standard Service Group Architecture

Þ Circulation Service Group

Þ Modular Staff Interface

Þ Service Directory

Þ Scaling, Responsiveness and Fault Tolerance

Þ The Complete Picture

Page 3: Web-Scale Library Management Services (Paul Harvey)

What is the WMS? What is the WMS?

Þ A Globally Available, Centrally/Cloud Deployed, Web Based, Next-Gen Integrated Library System

Þ Operates at Web Scale

Þ Functionality

Þ Circulation, Acquisitions, Cataloguing, License Management, User Management/IDM, OPAC

Þ Physical and Electronic Materials

ÞThe Cooperative Open Platform

Infrastructure

WCL

DublinCirculation

Workflow

LMAN

Dublin

IDM

SM

Configuration

Dublin

Acquisitions

Vendor Info

Page 4: Web-Scale Library Management Services (Paul Harvey)

Key Architectural ImperativesKey Architectural Imperatives

Þ Responsive

Þ Massively scalable

Þ Highly fault tolerant

Þ Flexible

Þ Extensible and Integratable

Þ Hosted - SaaS and PaaS

Þ Builds on existing OCLC data and software

Page 5: Web-Scale Library Management Services (Paul Harvey)

How we are Achieving our Goals?How we are Achieving our Goals?

Þ Service Orientated (SoA)

Þ “Shared nothing” architecture

Þ Replication and failover

Þ Intra and Inter data centre

Þ Stateless services

Þ Partition by domain and data

Þ Avoid distributed transactions

Þ Optimistic locking

Þ Network savvy APIs

Þ Versioned services/APIs

Þ Judicious Caching

Þ Embrace open standards

Þ Layered

Þ Multi-tenanted

Þ Discoverable services

Þ Organisationally and technically

Þ Service abstraction models business function

Page 6: Web-Scale Library Management Services (Paul Harvey)

How we are Achieving Our Goals?How we are Achieving Our Goals?

Þ Loosely coupled/independent services

Þ Cohesive and composable services

Þ Common infrastructure services

Þ Common technological platform

Þ Standard meta-protocol

Þ Common architecture framework and archetypes

Þ Only one tool/service for one job

Þ Data redundancy

Þ Allow (temporary) data inconsistency

Þ Asynchrony

Þ Temporal De-coupling

Þ Failure De-coupling

Page 7: Web-Scale Library Management Services (Paul Harvey)

SoA Service Groups - Dividing by FunctionSoA Service Groups - Dividing by Function

Dom

ain

Acquisitions Circulation

Vendor Information

License Manageme

ntUser DataKBWC

ConnexionResource Discovery

Business Intelligence

WCLModular

Staff Interface

Inte

gra

tion

UI Cookbook

Notification

Infr

astr

uctu

re

AuthN AuthZRegistry

ProxyCollection Service

Asynchronous Updating B2B

Service Directory

WorkflowHardware

Integration

Managed Storage

Auditing Fiji XServe

Service Directory

Modular Staff

Interface

Circulation17 Service

Group Types

69 Service Types

18 Data Models

Page 8: Web-Scale Library Management Services (Paul Harvey)

Layering and Standard Service Group ArchitectureLayering and Standard Service Group Architecture

Web UIOpen Platform

Proxy

Business Layer

Database

DAO

Þ Public facing serviceÞ Authentication

(sometimes)Þ De facto and De jure

protocolsÞ AtomPub/JSON/XMLÞ May aggregate other

services

Þ Provides user interfaces

Þ Authentication

Þ The core business logic!Þ Well defined APIÞ Non-invasive fast binary

protocolÞ Where authorization is

enforced

Þ Abstracts away the database

Þ Presents CRUD type operations

Þ No business logicÞ Enforces integrity

constraintsÞ Database agnostic

Þ Needs in itself to be reliable

Þ Needs to scale to the number of partitions it holds! • Standard technology

stack• Standard usage

guidelines

MSIExternal Callers

Page 9: Web-Scale Library Management Services (Paul Harvey)

Circulation Service Group as an ExampleCirculation Service Group as an Example

Circulation Business Service

MSI

Circulation Database

Circulation UI

IDM AuthZ

IDM AuthN

Registry

Registry Proxy

“WorldCat” Union

Cat

NCIP

WCL

Availability Service

Asynchronous Sync

Page 10: Web-Scale Library Management Services (Paul Harvey)

Modular Staff InterfaceModular Staff Interface

Panel Manager

Accordion Manager

Card Manager

• Sovereign Application

• Configuration driven

• All client apps are equal

• Handles “SSO”

• Loose coupling

• Via Events

• Managers

• Open to new applications

• Highly scalable

• Very thin proxy

• Client side weaving

• Common look and feel

• The UI Cookbook

Acquisitions Context

Menu

...

Acquisitions UI

VIC UI

...

Top Menu

Circulation UICirculation

Context Menu

Top Menu

Circulation Context

Menu

Circulation UI

Page 11: Web-Scale Library Management Services (Paul Harvey)

The Service DirectoryThe Service Directory

Service Directory

Point of Service

Rendezvous

Service

Version

Institution

Url

Circulation

1.2

Sheffield City

https://.../

Service

Version

Institution

Url

Accounts

1.0

Bibsys

https://.../

Service

Version

Institution

Url

Acquisitions

1.1

Sheffield City

https://..

./

Service

Version

Institution

Url

Acquisitions

1.1

Sheffield City

https://..

./

Service

Version

Institution

Url

Circulation

1.1

OHIO State

https://.../

Service

Version

Institution

Url

Acquisitions

1.1

Sheffield City

https://.../

Service

Version

Institution

Url

Acquisitions

1.1

Sheffield City

https://..

./

Service

Version

Institution

Url

Acquisitions

1.1

Sheffield City

https://..

./

Service

Version

Institution

Url

Acquisitions

1.1

Sheffield City

https://..

./

Service

Version

Institution

Url

Acquisitions

1.1

Sheffield City

https://..

./

Service

Version

Institution

Url

Acquisitions UI

1.1

Sheffield City

https://.../

Service

Version

Institution

Url

Acquisitions

1.1

Sheffield City

https://..

./

Page 12: Web-Scale Library Management Services (Paul Harvey)

The Service DirectoryThe Service Directory

Service Directory

Service

Version

Institution

Url

Acquisitions

1.1

Sheffield City

https://.../

Service

Version

Institution

Url

Acquisitions

1.1

Sheffield City

https://.../

Service

Version

Institution

Url

Acquisitions

1.1

Sheffield City

https://.../

Service

Version

Institution

Url

Acquisitions

1.1

Sheffield City

https://.../

Service

Version

Institution

Url

Acquisitions

1.1

Sheffield City

https://.../

Service

Version

Institution

Url

Acquisitions

1.1

Sheffield City

https://.../

Service

Version

Institution

Url

Acquisitions

1.1

Sheffield City

https://.../

Service

Version

Institution

Url

Acquisitions

UI

1.1

Sheffield City

https://.../

Service = “Acquisitions” && Version = “1.2” && Institution = “Sheffield City”

?

Page 13: Web-Scale Library Management Services (Paul Harvey)

Scaling, Responsiveness and Fault ToleranceScaling, Responsiveness and Fault Tolerance

WMS Server

I

I

II

I

I

I

I

I

I

I

I

I

I

I

I

I

I

I

I

I

I

I

I

I

I

I

I

I

I

I

I

I

I

I

I

I

I

I

I

I

I

I

I

I

I

I

I

I

I

?$I

I

I

I

I

I

I

I

I

I

WMS Server

I

I

I

I

I

I

I

I

I

I

I

I

I

I

I

I

I

I

I

I

I

I

II

I

I

I

I

II

I

I

I

I

II

I

I

I

I

II

I

I

I

I

II

I

I

I

I

II

I

I

I

I

II

Partitions/Fault Tolerance

Vert

ical

Horizontal

Page 14: Web-Scale Library Management Services (Paul Harvey)

The Complete PictureThe Complete Picture

DM

ZIn

tern

al N

etw

ork

UI

Platform

Business

Load-balance, fail-over

Layers

Circulation Acquisitions LicenseManagement

I1, I2, I3

I1, I2, I3

I1, I2, I3

I1, I2, I3

I1, I2, I3

I1, I2, I3

Domains

Database

“Data” Partition Serving I1, I2 and I3

\

I1, I2, I3 I1, I2, I3 I1, I2, I3

Load-balance, fail-over and routing

Load-balance, fail-over

Page 15: Web-Scale Library Management Services (Paul Harvey)

Web-Scale Library Management ServicesWeb-Scale Library Management Services

?www.oclc.org/info/elag11