Title: BIBSYS System Architecture
1BIBSYS System Architecture
ELAG 2004 in Trondheim
- Jan Erik KofoedBIBSYS Library Automation
2Architecture defined
The art and technique of designing and building,
as distinguished from the skills associated with
construction. Encyclopædia Britannica
3Why care about system architecture?
- Architecture describes
- requirements
- plans
- rules
- methods
- Architecture assure
- a correct result
- an enduring result
- reasonable maintenance costs
4A word from the directors of BIBSYS
You shall be catedral builders,not stone cutters!
5Retrospective
- Let us look at some really old architectureThe
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
6Holtålen stave churchTrøndelag Folk Museum,
Trondheim
7Borgund stave churchSogn og Fjordane, Lærdal
8From a simple framework ...
9... to complex structure
10The 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?
11Basic 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
12Single tier model
FORTRANCOBOLNatural
SCREENS
VT100/Xterm/NetTerm
DATA LOGIC
DBMS
BUSINESSLOGIC
HELPTEXT
13Client Server Model
Server
Client
BusinessLogic
Data base
DataLogic
14Three tier model
15BIBSYS three tier model from 2001
16Multi tiered model
Datamanaginglogic
Data store(DBMS)
Businesslogic
Presentationlogic
Userinteraction
Client tier
Logic tiers
Data tiers
17Tiers with componentsusing Java Technologies
Data store(DBMS)
Datamanaginglogic
Businesslogic
Presentationlogic
Userinteraction
JavaServerFaces
Client tier
Logic tiers
Data tiers
18J2EE 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
19Framework
- Methods
- Task descriptions
- Algorithms
- Tools
- Building blocks
- Technologies
- Software, library routines
- Rules
- What is allowed and what is disallowed
20MVC Model View - Controller
- 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
21Access 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
22FEIDEFederated Electronic Identity for Education
- 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
23Shibboleth
- 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.
24Identificators
- Identifcators are
- unique
- permanent
- unambiguous
- For printed documents
- ISBN, ISSN
- For digital documents
- SICI, BICI
- DOI
- URN
25URN Uniform Resource Name
- Global scope
- Global uniqueness
- Persistence
- Scalability
- Legacy support
- Extensibility
- Independence
- Resolution
26URN for Libraries
- General URN syntax
- URNltNIDgtltNSSgt
- NID NBN (National Bibliographic Number
- NSS prefixed with ISO-3166 country code
- E.g. URNNBNno-2420
- Resolver service important
- The National Library of Norways resolver
- http//urn.nb.no/lturngt
- e.g. http//urn.nb.no/URNNBNno-6883
27Data 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
28Multilingual 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
29Tiers with componentsfrom different frameworks
Data store(DBMS)
Datamanaginglogic
Businesslogic
Presentationlogic
Userinteraction
Accesscontrol
Applyingcataloguingrules
Screenbuilder
Printhandling
Coordinatingaccess toother systems
Mobiledevicesupport
Client tier
Logic tiers
Data tiers
30Conclusion
- 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
31Thank you for your attention