Web Services and the Service-Oriented Architecture<br />November 5, 2009<br />Jessica Ng<br />Jing Yang<br />Jill Baron<br />Ruben Balderas<br />
Basic Concepts <br />Service-Oriented Architecture<br />SOA is an organizing principle for an organization's technical infrastructure to support the needs of the organization's software users. <br />Web services are the dominant approach for implementing SOA.<br />
Web Services Are Not<br /> Web interfaces<br /> Web-based information resources<br /> Web-based “services”<br /> Software as service<br /> Application service provider<br /> Web Service Librarian<br />
Web Services<br />Definition<br />A Web service is a software system designed to support interoperable machine-to-machine interaction over a network. <br />It has an interface described in a machine-processable format (specifically WSDL). Other systems interact with the Web service in a manner prescribed by its description using SOAP messages, typically conveyed using HTTP with an XML serialization in conjunction with other Web-related standards.<br />(World Wide Web Consortium)<br />
Universal Description, Discovery and Integration (UDDI)</li></li></ul><li>Open Source Protocol Substitutes<br />Representational State Transfer (REST)<br /> - Substitute for SOAP<br />-Response as an XML Stream<br /> Easier and faster to implement<br /> Better Performance and response time<br /><ul><li>Really Simple Syndication (RSS)</li></li></ul><li>
Second-Generation Specifications<br />WS-Security<br />WS-AtomicTransaction/WS-BusinessActivity<br />WS-Coordination<br />WS-Reliable Messaging<br />WS-Attachments<br />Business Process Execution Language for Web Services (BPEL4WS)<br />
Web Services in the Library Environment<br />The VIEWS Initiative<br /><ul><li>Vendor Initiative for Enabling Web Services (VIEWS).
A consortium of vendors formed to facilitate the development of interoperable Web services related to library applications.
Goal: Provide a forum in which library-automation vendors could establish a set of Web services that can be used in library applications.
Specific implementation of Web services.</li></li></ul><li>Controversy<br />Originally not a National Information Standards Organization (NISO) sponsored group.<br />Not all vendors chose to participate<br />Much of the work intertwined with NISO’s initiatives.<br />Replaced by NISO Web Services and Practices Working Group in August 2005.<br />
Mission: <br /><ul><li>Developing best practices for designing and deploying web services
Produce and maintain a “Web Services Best Practices” document for general use in assessing new and ongoing Web-service applications
Provide and maintain “Web Services Interoperability Mechanisms</li></li></ul><li>Non-Web-Service Library Standards and Protocols<br />Z39.50<br />Search-and-retrieval protocol<br />Performs search operations and returns results in MARC cimmunications format.<br />Based on Abstract Syntax Notation (ASN.1) and Basic Encoding Rules (BER),<br />Maintained by the Library of Congress.<br />
ISO 10160/10161 and ISO ILL<br /><ul><li>Provides set of standard protocols for the interoperable exchange of ILL transactions.
Open Systems Interconnect style of communication based on ASN.1 and BER
Maintained by the Library and Archives Canada</li></ul>UN/EDIFACT and ANSI x12<br /><ul><li>Electronic Data Interchange (EDI) standards intended for the exchange of messages related to business transactions
International standard employed across many industries
Used between libraries and suppliers </li></ul>Electronic ordering<br />Making claims for items expected and received<br />Transfer of invoices<br />
MARC 21 Format<br />Most widely accepted adapted library standard<br />Formats store bibliographic records in a compact format. <br />MARCXML – Provides XML Structure for MARC 21 data.<br />Metadata Object Description Standard (MODS)<br />XML schema for MARC 21 bibliographic records<br />Metadata Authority Description Schema (MADS)<br />XML schema for selected tags of the MARC 21 authority format.<br />Encoded Archival Description (EAD)<br />Standard for creating finding aids of archival collections in XML.<br />
Dublin Core<br />Metadata format expressed in XML.<br />Provides simplified approach for describing information objects.<br />Widely used as a metadata format describing electronic resources or other application in which MARC format is not needed.<br />OpenURL<br />Provides a mechanism for linking to resources independently of their physical locations.<br />
Library Protocols based on Web Services<br />Z39.50 International: Next Generation (ZING)<br />Established to take the concepts and functionality embodied in Z39.50 forward.<br />Development of a version of Z39.50 in the framework of Web services – search-and-retrieval protocol.<br />SRU: Search/Retrieve via URL<br />SRW: Search/Retrieve Web Service<br />
SRU and SRW supports three operations:<br />SearchRetrieve<br />Scan<br />Explain<br />Implementation of SRU and SRW<br />OCLC Research<br />Index Data<br />The Cheshire Project<br />
Open Archives Initiative Protocol for Metadata Harvesting<br />Supports federated-search model<br />Harvesting metadata from multiple information repositories<br />Create centralized search services<br />Provides alternative to those based on simultaneous queries.<br />Relies on data providers and service providers. <br />Web harvesting: Provides means to harvest new and changed pages.<br />
Standardized Usage Statistics Harvesting Initiative (SUSHI)<br />Deals with issue of transferring statistics that assess an institution’s use of an electronic resource that the library subscribes to.<br />Project COUNTER<br />Initiative to develop set of standard practices regarding how publishes will produce use statistics related to library subscriptions.<br />
SOA allows the library or archive:<br />Manage materials effectively<br />Build on resources<br />Greater collaboration with other organizations and businesses<br />Provide services within campus or municipal portal environments or other non-traditional channels<br />Enhance research experience<br />
SOA allows the user:<br />Ease of access<br />Multimedia resources<br />More resources = a more global understanding of a subject<br />Opportunity to consider relationships between items<br />More fun<br />