Download ppt - elag2004.no

Survey
yes no Was this document useful for you?
   Thank you for your participation!

* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project

Document related concepts

Database wikipedia , lookup

Clusterpoint wikipedia , lookup

Relational model wikipedia , lookup

Functional Database Model wikipedia , lookup

Database model wikipedia , lookup

Object-relational impedance mismatch wikipedia , lookup

Transcript
ELAG 2004 in Trondheim
BIBSYS System Architecture
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
Jan Erik Kofoed 9.6.2004
2
ELAG 2004 Trondheim
Why care about system
architecture?
• Architecture describes:
–
–
–
–
requirements
plans
rules
methods
• Architecture assure:
– a correct result
– an enduring result
– reasonable maintenance costs
Jan Erik Kofoed 9.6.2004
3
ELAG 2004 Trondheim
A word from the directors of
BIBSYS:
You shall be
catedral builders,
not stone
cutters!
Jan Erik Kofoed 9.6.2004
4
ELAG 2004 Trondheim
Retrospective
• 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
5
ELAG 2004 Trondheim
Holtålen stave church
Trøndelag Folk Museum, Trondheim
Jan Erik Kofoed 9.6.2004
6
ELAG 2004 Trondheim
Borgund stave church
Sogn og Fjordane, Lærdal
Jan Erik Kofoed 9.6.2004
7
ELAG 2004 Trondheim
From a simple framework ...
Jan Erik Kofoed 9.6.2004
8
ELAG 2004 Trondheim
... to complex structure
Jan Erik Kofoed 9.6.2004
9
ELAG 2004 Trondheim
The 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
10
ELAG 2004 Trondheim
Basic 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
11
ELAG 2004 Trondheim
Single tier model
FORTRAN
COBOL
Natural
VT100/
Xterm/
NetTerm
SCREENS
DATA
LOGIC
DBMS
BUSINESS
LOGIC
Jan Erik Kofoed 9.6.2004
HELP
TEXT
12
ELAG 2004 Trondheim
Client Server Model
User
Interface
Business
Logic
Server
Client
Presentation
Logic
Jan Erik Kofoed 9.6.2004
Data
base
Data
Logic
13
ELAG 2004 Trondheim
Three tier model
Jan Erik Kofoed 9.6.2004
14
ELAG 2004 Trondheim
BIBSYS three tier model from 2001
Jan Erik Kofoed 9.6.2004
15
ELAG 2004 Trondheim
Multi tiered model
User
interaction
Client tier
Jan Erik Kofoed 9.6.2004
Presentation
logic
Business
logic
Logic tiers
Data
managing
logic
Data
store
(DBMS)
Data tiers
16
ELAG 2004 Trondheim
Tiers with components
using Java Technologies
Pure
HTML
Servlets
Hierarchical
database
JavaBeans
Java
Server
Pages
HTML &
JavaScript
User
interaction
Java
Applets
JavaBeans
XML
database
Presentation
logic
Business
logic
Data
managing
logic
Data
store
(DBMS)
MVC /
Struts
RDBMS
Appl. via
Java Webstart
Client tier
Jan Erik Kofoed 9.6.2004
Java
Server
Faces
Enterprise
Java
Beans
Enterprise
Java
Beans
Object
database
Logic tiers
Data tiers
17
ELAG 2004 Trondheim
J2EE – 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
18
ELAG 2004 Trondheim
Framework
• 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
19
ELAG 2004 Trondheim
MVC 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
Jan Erik Kofoed 9.6.2004
20
ELAG 2004 Trondheim
Access 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
21
ELAG 2004 Trondheim
FEIDE
Federated 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
Jan Erik Kofoed 9.6.2004
22
ELAG 2004 Trondheim
Shibboleth
• 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 fortytwo thousand Ephraimites
fell dead.
Judges 12,6.
Jan Erik Kofoed 9.6.2004
23
ELAG 2004 Trondheim
Identificators
• Identifcators are:
– unique
– permanent
– unambiguous
• For printed documents:
– ISBN, ISSN
• For digital documents:
– SICI, BICI
– DOI
– URN
Jan Erik Kofoed 9.6.2004
24
ELAG 2004 Trondheim
URN – Uniform Resource Name
•
•
•
•
•
•
•
•
Global scope
Global uniqueness
Persistence
Scalability
Legacy support
Extensibility
Independence
Resolution
Jan Erik Kofoed 9.6.2004
25
ELAG 2004 Trondheim
URN 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
26
ELAG 2004 Trondheim
Data 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
27
ELAG 2004 Trondheim
Multilingual 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
28
ELAG 2004 Trondheim
Tiers with components
from different frameworks
Access
control
Single
Sign On
User
interaction
Multilingual
support
Presentation
logic
Profile
management
Mobile
device
support
Jan Erik Kofoed 9.6.2004
Applying
cataloguing
rules
Metadata
converter
Business
logic
Data
managing
logic
XML
database
Screen
builder
Print
handling
Client tier
Hierarchical
database
Coordinating
access to
other
systems
Data
store
(DBMS)
RDBMS
Identificator
management
Object
database
Logic tiers
Data tiers
29
ELAG 2004 Trondheim
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
30
ELAG 2004 Trondheim
Thank you for your attention
Jan Erik Kofoed 9.6.2004
31
ELAG 2004 Trondheim