310 likes | 479 Views
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?.
E N D
BIBSYS System Architecture ELAG 2004 in Trondheim Jan Erik KofoedBIBSYS Library Automation
Architecture defined: The art and technique of designing and building, as distinguished from the skills associated with construction. Encyclopædia Britannica 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 ELAG 2004 Trondheim
A word from the directors of BIBSYS: You shall be catedral builders,not stone cutters! 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 ELAG 2004 Trondheim
Holtålen stave churchTrøndelag Folk Museum, Trondheim ELAG 2004 Trondheim
Borgund stave churchSogn og Fjordane, Lærdal ELAG 2004 Trondheim
From a simple framework ... ELAG 2004 Trondheim
... to complex structure 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? 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 ELAG 2004 Trondheim
Single tier model FORTRANCOBOLNatural SCREENS VT100/Xterm/NetTerm DATA LOGIC DBMS BUSINESSLOGIC HELPTEXT ELAG 2004 Trondheim
UserInterface PresentationLogic Client Server Model Client Server BusinessLogic Data base DataLogic ELAG 2004 Trondheim
Three tier model ELAG 2004 Trondheim
BIBSYS three tier model from 2001 ELAG 2004 Trondheim
Multi tiered model Userinteraction Presentationlogic Businesslogic Datamanaginglogic Data store(DBMS) Client tier Logic tiers Data tiers ELAG 2004 Trondheim
PureHTML Servlets Hierarchicaldatabase EnterpriseJavaBeans EnterpriseJavaBeans HTML &JavaScript JavaServerPages XMLdatabase MVC /Struts RDBMS JavaBeans JavaBeans JavaApplets Objectdatabase Appl. viaJava Web-start Tiers with componentsusing Java Technologies Userinteraction Presentationlogic Businesslogic Datamanaginglogic Data store(DBMS) JavaServerFaces Client tier Logic tiers Data tiers 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 ELAG 2004 Trondheim
Framework • Methods • Task descriptions • Algorithms • Tools • Building blocks • Technologies • Software, library routines • Rules • What is allowed and what is disallowed 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 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 ELAG 2004 Trondheim
FEIDEFederated 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 ELAG 2004 Trondheim
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. Shibboleth ELAG 2004 Trondheim
Identificators • Identifcators are: • unique • permanent • unambiguous • For printed documents: • ISBN, ISSN • For digital documents: • SICI, BICI • DOI • URN ELAG 2004 Trondheim
URN – Uniform Resource Name • Global scope • Global uniqueness • Persistence • Scalability • Legacy support • Extensibility • Independence • Resolution 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 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 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 ELAG 2004 Trondheim
Hierarchicaldatabase Multilingualsupport SingleSign On XMLdatabase RDBMS Identificatormanagement Metadataconverter Profilemanagement Objectdatabase Tiers with componentsfrom different frameworks Userinteraction Presentationlogic Businesslogic Datamanaginglogic Data store(DBMS) Accesscontrol Applyingcataloguingrules Screenbuilder Printhandling Coordinatingaccess toother systems Mobiledevicesupport Client tier Logic tiers Data tiers 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 ELAG 2004 Trondheim
Thank you for your attention ELAG 2004 Trondheim