bibsys system architecture
DESCRIPTION
BIBSYS System Architecture. ELAG 2004 in Trondheim. Jan Erik Kofoed BIBSYS Library Automation. Architecture defined:. The art and technique of designing and building, as distinguished from the skills associated with construction. Encyclopædia Britannica. Why care about system architecture?. - PowerPoint PPT PresentationTRANSCRIPT
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