31
BIBSYS System Architecture BIBSYS System Architecture Jan Erik Kofoed BIBSYS Library Automation ELAG 2004 in Trondheim

BIBSYS System Architecture Jan Erik Kofoed BIBSYS Library Automation ELAG 2004 in Trondheim

Embed Size (px)

Citation preview

BIBSYS System ArchitectureBIBSYS System Architecture

Jan Erik KofoedBIBSYS Library Automation

ELAG 2004 in Trondheim

Jan Erik Kofoed 9.6.2004 ELAG 2004 Trondheim2

Architecture defined:Architecture defined:

The art and technique of designing and building, as distinguished from the skills associated with construction.

Encyclopædia Britannica

Jan Erik Kofoed 9.6.2004 ELAG 2004 Trondheim3

Why care about system Why care about system architecture?architecture?

• Architecture describes:– requirements– plans– rules– methods

• Architecture assure:– a correct result– an enduring result– reasonable maintenance costs

Jan Erik Kofoed 9.6.2004 ELAG 2004 Trondheim4

A word from the directors of A word from the directors of BIBSYS:BIBSYS:

You shall be catedral builders,not stone cutters!

Jan Erik Kofoed 9.6.2004 ELAG 2004 Trondheim5

RetrospectiveRetrospective

• Let us look at some really old architecture:The stave church:– At 1100-1200 a.d. nearly thousand stave

churches in Norway, 29 have survived.– Built in wood– special architecture

• based on local skills• resistant to hostile weather: wind, rain and snow

Jan Erik Kofoed 9.6.2004 ELAG 2004 Trondheim6

Holtålen stave churchHoltålen stave churchTrøndelag Folk Museum, TrondheimTrøndelag Folk Museum, Trondheim

Jan Erik Kofoed 9.6.2004 ELAG 2004 Trondheim7

Borgund stave churchBorgund stave churchSogn og Fjordane, LærdalSogn og Fjordane, Lærdal

Jan Erik Kofoed 9.6.2004 ELAG 2004 Trondheim8

From a simple framework ...From a simple framework ...

Jan Erik Kofoed 9.6.2004 ELAG 2004 Trondheim9

... to complex structure... to complex structure

Jan Erik Kofoed 9.6.2004 ELAG 2004 Trondheim10

The challengeThe challenge

• Complex and enduring buildings can be built based on:– simple principles– repeated patterns– traditions– new ideas

• Some of the stave churches are still regulary used after 900 years.

Can we create an architecture for library systems so they last a fraction of that time?

Jan Erik Kofoed 9.6.2004 ELAG 2004 Trondheim11

Basic principlesBasic principles• Define a model• Find components to put inside the model, e.g.

– XML to ISO-2901 converter for MARC records.– MARC to Dublin Core translator.– ISBN/ISSN syntax checker.– Builder of FRBR relations from MARC records.– Access control.

• Use frameworks• Check open sources and commercial sources,

before starting own development• Follow your method for development faithfully:

– Analysis, design, implementation, testing, deployment

• Involve your customers

Jan Erik Kofoed 9.6.2004 ELAG 2004 Trondheim12

Single tier modelSingle tier model

DBMS

DATA LOGIC

SCREENS

BUSINESSLOGIC

HELPTEXT

FORTRANCOBOLNatural

VT100/Xterm/NetTerm

Jan Erik Kofoed 9.6.2004 ELAG 2004 Trondheim13

Server

Client Server ModelClient Server Model

BusinessLogic

Client

PresentationLogic

UserInterface

DataLogic

Data base

Jan Erik Kofoed 9.6.2004 ELAG 2004 Trondheim14

Three tier modelThree tier model

Jan Erik Kofoed 9.6.2004 ELAG 2004 Trondheim15

BIBSYS three tier model from 2001BIBSYS three tier model from 2001

Jan Erik Kofoed 9.6.2004 ELAG 2004 Trondheim16

Multi tiered modelMulti tiered model

Datamanaging

logic

Datastore

(DBMS)

Businesslogic

Presentationlogic

Userinteraction

Client tier Logic tiers Data tiers

Jan Erik Kofoed 9.6.2004 ELAG 2004 Trondheim17

Data store

(DBMS)

Tiers with componentsTiers with componentsusing Java Technologiesusing Java Technologies

Client tier Logic tiers Data tiers

Hierarchicaldatabase

Datamanaging

logic

Businesslogic

Presentationlogic

Userinteraction

Servlets

JavaServerPages

MVC /Struts

PureHTML

JavaApplets

JavaBeans

Appl. viaJava Web-start

EnterpriseJavaBeans

XMLdatabase

RDBMS

Objectdatabase

JavaServerFaces

HTML &JavaScript

JavaBeans

EnterpriseJavaBeans

Jan Erik Kofoed 9.6.2004 ELAG 2004 Trondheim18

J2EE – Java 2 Enterprise EditionJ2EE – Java 2 Enterprise Edition

• Java technology for distributed systems– i.e. Java for program, processes and

components that shall communicate over a network.

• Technologies with weight on: – communication– exchange of messages– handling of transactions– name services– and much more

Jan Erik Kofoed 9.6.2004 ELAG 2004 Trondheim19

FrameworkFramework

• Methods– Task descriptions– Algorithms

• Tools– Building blocks– Technologies– Software, library routines

• Rules– What is allowed and what is disallowed

Jan Erik Kofoed 9.6.2004 ELAG 2004 Trondheim20

MVC Model – View - MVC Model – View - ControllerController

• Purpose: – divide presentation logic

from business logic• Model

- business logic- data manipulation - state handling

• View– presentation

• Controller– controls flow between

View and Model• Jakarta Struts

– Implementation of MVC in Java

Jan Erik Kofoed 9.6.2004 ELAG 2004 Trondheim21

Access controlAccess control• Authentication:

– secure identification of a user• Username password• IP and domain control• PKI (Public Key Infrastructure)• Certificates• Smartcards

• Authorization:– what rights do the user have?– often based on roles

• Accounting– useful for payment systems and statistics

• Signle Sign On (SSO)– Logon once, access multiple heterogeneous systems

Jan Erik Kofoed 9.6.2004 ELAG 2004 Trondheim22

FEIDEFEIDEFederated Electronic Identity for Federated Electronic Identity for

EducationEducation

• Norwegian system for the Higher Education sector

• User information from a system of distributed user databases

• Authentication done by Authentication Servers• The authentication can be accompanied with a

controlled set of attributes• BIBSYS is committed to provide FEIDE for its

users

Jan Erik Kofoed 9.6.2004 ELAG 2004 Trondheim23

ShibbolethShibboleth

• A system for sharing access information between institutions

• May be used for single signon

• Provides open source tools

• Used between educational institutions

• Based on trust

... then they said to him, “Say ‘Shibboleth.’” If he said, “Sibboleth,” and could not pronounce the word correctly, they grabbed him and executed him right there at the fords of the Jordan. On that day forty-two thousand Ephraimites fell dead.

Judges 12,6.

Jan Erik Kofoed 9.6.2004 ELAG 2004 Trondheim24

IdentificatorsIdentificators• Identifcators are:

– unique– permanent– unambiguous

• For printed documents:– ISBN, ISSN

• For digital documents:– SICI, BICI– DOI– URN

Jan Erik Kofoed 9.6.2004 ELAG 2004 Trondheim25

URN – Uniform Resource NameURN – Uniform Resource Name

• Global scope• Global uniqueness• Persistence• Scalability• Legacy support• Extensibility• Independence• Resolution

Jan Erik Kofoed 9.6.2004 ELAG 2004 Trondheim26

URN for LibrariesURN for Libraries

• General URN syntax:– URN:<NID>:<NSS>

• NID NBN (National Bibliographic Number• NSS prefixed with ISO-3166 country code• E.g. URN:NBN:no-2420• Resolver service important• The National Library of Norway’s resolver:

– http://urn.nb.no/<urn>– e.g. http://urn.nb.no/URN:NBN:no-6883

Jan Erik Kofoed 9.6.2004 ELAG 2004 Trondheim27

Data models and formatsData models and formats• Data need to be organized (of course!)• Stored in one or more databases according to a data

model• FRBR should be considered!• Metadata for cataloguing not necessary equals

metadata for exchange• Many systems must be supported for exchange:

– MARC– Dublin Core– Presentation formats– Reference manager formats– Abstract formats

• MARC• Dublin Core

– Physical formats• ISO 2709• XML

Jan Erik Kofoed 9.6.2004 ELAG 2004 Trondheim28

Multilingual supportMultilingual support

• UNICODE character set• Use a framework

– e.g. Java Resource Boundles

• No text must be hardcoded• All text in separate repositories divided

from the program code

Jan Erik Kofoed 9.6.2004 ELAG 2004 Trondheim29

Data store

(DBMS)

Tiers with componentsTiers with componentsfrom different frameworksfrom different frameworks

Client tier Logic tiers Data tiers

Hierarchicaldatabase

Datamanaging

logic

Businesslogic

Presentationlogic

Userinteraction

Multilingualsupport

Screenbuilder

Printhandling

Accesscontrol

Metadataconverter

Profilemanagement

Coordinatingaccess toother systems

XMLdatabase

RDBMS

Objectdatabase

Mobiledevicesupport

SingleSign On

Applyingcataloguingrules

Identificatormanagement

Jan Erik Kofoed 9.6.2004 ELAG 2004 Trondheim30

Conclusion Conclusion

• Use a model with several tiers• Build the system from simple components• Components must be simple and independent

of each other• Use well defined interfaces between tiers and

components• Use open source and commercial components

when available• BIBSYS have chosen Java as technology

platform

Jan Erik Kofoed 9.6.2004 ELAG 2004 Trondheim31

Thank you for your Thank you for your attentionattention