Survey
* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project
* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project
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