Top Banner
Service-driven content delivery: Do more for your patrons through Web services Marshall Breeding Director for Innovative Technology and Research Vanderbilt University http://staffweb.library.vanderbilt.edu/breeding
39

Service-driven content delivery: Do more for your patrons through Web services Marshall Breeding Director for Innovative Technology and Research Vanderbilt.

Dec 19, 2015

Download

Documents

Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Service-driven content delivery: Do more for your patrons through Web services Marshall Breeding Director for Innovative Technology and Research Vanderbilt.

Service-driven content delivery:

Do more for your patrons through Web services

Marshall BreedingDirector for Innovative Technology and ResearchVanderbilt Universityhttp://staffweb.library.vanderbilt.edu/breeding

Page 2: Service-driven content delivery: Do more for your patrons through Web services Marshall Breeding Director for Innovative Technology and Research Vanderbilt.

Service Oriented Architecture

Increasingly becoming the preferred architecture and framework for Web programming and enterprise systemsA key supporting technology for Web 2.0Infrastructure for behind-the-scenes communication among applications.Data exchange, conversions, lookups, etc.Appropriate for portal integration, e-commerce, distributed applications.

Page 3: Service-driven content delivery: Do more for your patrons through Web services Marshall Breeding Director for Innovative Technology and Research Vanderbilt.

SOA Architecture diagram

http://www.w3.org/TR/2002/WD-ws-arch-20021114/

Page 4: Service-driven content delivery: Do more for your patrons through Web services Marshall Breeding Director for Innovative Technology and Research Vanderbilt.

Web services communication Path

Page 5: Service-driven content delivery: Do more for your patrons through Web services Marshall Breeding Director for Innovative Technology and Research Vanderbilt.

An XML oriented Architecture

All the components of SOA are expressed in XMLDefinition of a serviceDirectories of servicesMessages involved in the operation of the service

Page 6: Service-driven content delivery: Do more for your patrons through Web services Marshall Breeding Director for Innovative Technology and Research Vanderbilt.

Roles

Service provider Technically more challenging

Service Requestor Simple to implement

Page 7: Service-driven content delivery: Do more for your patrons through Web services Marshall Breeding Director for Innovative Technology and Research Vanderbilt.

Adoption of Web services

Widespread use in many industriesMainstream programming approachBasis for Microsoft .NET technologiesSOAP support available for all common Web programming environments Perl: SOAP::Lite

SOA Architecture Components

Page 8: Service-driven content delivery: Do more for your patrons through Web services Marshall Breeding Director for Innovative Technology and Research Vanderbilt.

WDSL: Web Service Description Language

The definition, expressed in XML, of how the Web service operates and the data structures involved

Page 9: Service-driven content delivery: Do more for your patrons through Web services Marshall Breeding Director for Innovative Technology and Research Vanderbilt.

SOAP: Simple Object Access Protocol

A transport and encapsulation protocolThe “envelope” that carries the messages involved in an XML Web serviceSimilar to RPC (Remote procedure calls)

Page 10: Service-driven content delivery: Do more for your patrons through Web services Marshall Breeding Director for Innovative Technology and Research Vanderbilt.

Benefits of Web services

Easy way to add e-commerce capabilities to Web siteLeverage services offered by other providers for the benefit of your users.

Page 11: Service-driven content delivery: Do more for your patrons through Web services Marshall Breeding Director for Innovative Technology and Research Vanderbilt.

Web Service implementation methods

REST Representational State Transfer Easier, more common approach

SOAP Used in more complex environments Requires more set-up and

infrastructure

Page 12: Service-driven content delivery: Do more for your patrons through Web services Marshall Breeding Director for Innovative Technology and Research Vanderbilt.

Relevant APIs / Web Services

Amazon Web ServiceGoogle SearchGoogle Book Search Viewability APIOCLC APIsLocal ILS APIsFacebook

Page 13: Service-driven content delivery: Do more for your patrons through Web services Marshall Breeding Director for Innovative Technology and Research Vanderbilt.

Rest-like Example: Google search

http://www.google.com/search?q=marshall+breeding&hl=en&safe=off

Page 14: Service-driven content delivery: Do more for your patrons through Web services Marshall Breeding Director for Innovative Technology and Research Vanderbilt.

RSS as an example of REST

http://www.librarytechnology.org/rss

Page 15: Service-driven content delivery: Do more for your patrons through Web services Marshall Breeding Director for Innovative Technology and Research Vanderbilt.

REST Example: SRU

http://law-library2.rutgers.edu/SRU/srucql.pl

?query="New+Jersey"&startRecord=1&maximumRecords=10&collection=lawlib&version=1.1&operation=searchRetrieve&recordSchema=dc

Page 16: Service-driven content delivery: Do more for your patrons through Web services Marshall Breeding Director for Innovative Technology and Research Vanderbilt.

Example: Google API

http://api.google.com/GoogleSearch.wsdlhttp://www.google.com/apis/reference.htmlPerl example for implementing the Google Web services

Page 17: Service-driven content delivery: Do more for your patrons through Web services Marshall Breeding Director for Innovative Technology and Research Vanderbilt.

Exampleprint "Top library automation sites according to Google";# if key is not provided, GoogleSearchService looks in $ENV{HOME},# or in the location of GoogleSearchService.pm for googlekey.txtmy $key = ‘your google API goes here';my $google = new GoogleSearch();my $return;

use GoogleSearch;my $search = 'Library Technology';$return = $google->doGoogleSearch(

query => $search,start => 0,maxResults => 10,restrict => 'xml',)->result();

foreach my $entry (@{$return->{'resultElements'}}) {print "";print "<a href=\" $entry->{URL}\">$entry->{title}\n";print "$entry->{snippet}\n";print "\n";

}

Page 18: Service-driven content delivery: Do more for your patrons through Web services Marshall Breeding Director for Innovative Technology and Research Vanderbilt.

Mashups

A new resource based on content or services from multiple sourcesUsually created through Web servicesMany examples

Page 19: Service-driven content delivery: Do more for your patrons through Web services Marshall Breeding Director for Innovative Technology and Research Vanderbilt.

Let’s Build a mashup using Web Services

Page 20: Service-driven content delivery: Do more for your patrons through Web services Marshall Breeding Director for Innovative Technology and Research Vanderbilt.
Page 21: Service-driven content delivery: Do more for your patrons through Web services Marshall Breeding Director for Innovative Technology and Research Vanderbilt.
Page 22: Service-driven content delivery: Do more for your patrons through Web services Marshall Breeding Director for Innovative Technology and Research Vanderbilt.
Page 23: Service-driven content delivery: Do more for your patrons through Web services Marshall Breeding Director for Innovative Technology and Research Vanderbilt.

Recipe

Ingredients Information about the library from the

local database Name, photo, street address

Latitude and Longitude from an external Web service USGS Web service

Map, positioning and display services from Google

Page 24: Service-driven content delivery: Do more for your patrons through Web services Marshall Breeding Director for Innovative Technology and Research Vanderbilt.

Step 1. Launch map

Create button to launch a new window for the mapPass Library name, address and photo location:

sub ViewMap { local ($Library,$StreetAddress,$libphoto) = @_; print "<input type=\"button\"

value=\"view street map\" onclick=\"newWindow(

\'lwc-viewmap.pl$sessionstring&amp;address=$StreetAddress&library=$Library&libphoto=$libphoto\',\'window2\')\" $buttonstyle />\n";

}

Page 25: Service-driven content delivery: Do more for your patrons through Web services Marshall Breeding Director for Innovative Technology and Research Vanderbilt.

Step 2. Turn address into Geocode data

my $d = get(http://

rpc.geocoder.us/service/rest?address=$fields{'address'}

); $d =~ /geo:long>([^< ]*).*?geo:lat>([^< ]*)/is; $lat = $2;

Page 26: Service-driven content delivery: Do more for your patrons through Web services Marshall Breeding Director for Innovative Technology and Research Vanderbilt.

Step 3. Invoke Google MAP API

Use pre-established API keyFetch the correct map specifying

size and locationPlace the marker on the mapLabel the markerCreate and populate info window

Page 27: Service-driven content delivery: Do more for your patrons through Web services Marshall Breeding Director for Innovative Technology and Research Vanderbilt.

Call the subroutine

&MapScript("$lat","$long","$fields{'libphoto'}");

Page 28: Service-driven content delivery: Do more for your patrons through Web services Marshall Breeding Director for Innovative Technology and Research Vanderbilt.

Invoke the subroutinesub MapScript { local($lat,$long,$photo) = @_; local $libphototext = ""; $libphototext = "+ \"<br /><img src=\\\"$imageserver//\" + libphoto + \".jpg\\\" height = \\\"100\\\">\"" if

(length($photo) > 0); print "<script type=\"text/javascript\">\n"; print " //<![CDATA[\n"; print "\n"; print " function createMarker(point, name, address, libphoto) {\n"; print " var marker = new GMarker(point);\n"; print " GEvent.addListener(marker, \"click\", function() {\n"; print " marker.openInfoWindowHtml(\"<strong>\" + name + \"</strong><br />\" + address $libphototext);\n"; print " });\n"; print " return marker;\n"; print " }\n"; print " function load() {\n"; print " if (GBrowserIsCompatible()) {\n"; print " var map = new GMap2(document.getElementById(\"map\"));\n"; print " map.setCenter(new GLatLng($lat, $long), 15);\n"; print " var point = new GLatLng($lat,$long);\n"; print " map.addOverlay(createMarker(point,\"$fields{'library'}\",\"$fields{'address'}\",\"$fields{'libphoto'}\"));\

n"; print " }\n"; print " }\n"; print "\n"; print " //]]>\n"; print " </script>\n";}

Page 29: Service-driven content delivery: Do more for your patrons through Web services Marshall Breeding Director for Innovative Technology and Research Vanderbilt.

Step 4. Stir, bake and serve

Page 30: Service-driven content delivery: Do more for your patrons through Web services Marshall Breeding Director for Innovative Technology and Research Vanderbilt.

From Web Services to SOA

Building a new library technology infrastructure through a service-oriented architecture

Page 31: Service-driven content delivery: Do more for your patrons through Web services Marshall Breeding Director for Innovative Technology and Research Vanderbilt.

Breaking down the modules

Traditional ILS Cataloging Circulation Online Catalog Acquisitions Serials control Reporting

Modern approach: SOA

Page 32: Service-driven content delivery: Do more for your patrons through Web services Marshall Breeding Director for Innovative Technology and Research Vanderbilt.

Service Oriented Architecture

http://www.sun.com/products/soa/benefits.jsp

Page 33: Service-driven content delivery: Do more for your patrons through Web services Marshall Breeding Director for Innovative Technology and Research Vanderbilt.

Legacy ILS + e-content modules

FederatedSearch

FederatedSearch

Circulation Acquisitions

Cataloging Serials

OpenURLLinking

OpenURLLinking

Electronic Resource

MgmtSystem

Electronic Resource

MgmtSystem

Staff Interfaces:

End User Interfaces:

Data Stores:

Functionalmodules:

Page 34: Service-driven content delivery: Do more for your patrons through Web services Marshall Breeding Director for Innovative Technology and Research Vanderbilt.

SOA model for business automation

Underlying data repositories Local or Global

Reusable business servicesComposite business applications

Page 35: Service-driven content delivery: Do more for your patrons through Web services Marshall Breeding Director for Innovative Technology and Research Vanderbilt.

SOA for library workflow processes

Data Stores:

ReusableBusiness Services

CompositeApplications

Granulartasks:

Page 36: Service-driven content delivery: Do more for your patrons through Web services Marshall Breeding Director for Innovative Technology and Research Vanderbilt.

Comprehensive Resource Management

Broad conceptual approach that proposes a library automation environment that spans all types of content that comprise library collections.Traditional ILS vendors: Under development but no public announcementsOpen Source projects in early phasesProjection: 2-3 years until we begin see library automation systems that follow this approach. 3-5 years for wider adoption.

Page 37: Service-driven content delivery: Do more for your patrons through Web services Marshall Breeding Director for Innovative Technology and Research Vanderbilt.

Open Library Environment (OLE) project

Andrew W. Mellon Foundation Research in Information Technology program

Duke University selected to lead projectCore Participants: Kansas University, Lehigh University, National Library of Australia, Library and Archives Canada, University of Pennsylvania, Marshall BreedingAdvisory Participants: University of Chicago, Wittier College, University of Maryland, ORBIS Cascade Alliance, Rutgers UniversityStatus: Project underway. Initial meeting, scope document, public webcast, working toward completion of system blueprint by July 2009.

http://oleproject.org

Page 38: Service-driven content delivery: Do more for your patrons through Web services Marshall Breeding Director for Innovative Technology and Research Vanderbilt.

A more in-depth version:

Library Technology Reports May / June 2006ALA TechSource“Web Services and the Service Oriented Architecture” By Marshall Breedinghttp://www.librarytechnology.org/ltg-displaytext.pl?RC=12055

Page 39: Service-driven content delivery: Do more for your patrons through Web services Marshall Breeding Director for Innovative Technology and Research Vanderbilt.

Comments Questions and Discussion