Service-driven content delivery: Do more for your patrons through Web services Marshall Breeding...
-
date post
19-Dec-2015 -
Category
Documents
-
view
217 -
download
2
Transcript of Service-driven content delivery: Do more for your patrons through Web services Marshall Breeding...
![Page 1: Service-driven content delivery: Do more for your patrons through Web services Marshall Breeding Director for Innovative Technology and Research Vanderbilt.](https://reader030.fdocuments.us/reader030/viewer/2022032800/56649d2b5503460f94a00bed/html5/thumbnails/1.jpg)
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.](https://reader030.fdocuments.us/reader030/viewer/2022032800/56649d2b5503460f94a00bed/html5/thumbnails/2.jpg)
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.](https://reader030.fdocuments.us/reader030/viewer/2022032800/56649d2b5503460f94a00bed/html5/thumbnails/3.jpg)
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.](https://reader030.fdocuments.us/reader030/viewer/2022032800/56649d2b5503460f94a00bed/html5/thumbnails/4.jpg)
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.](https://reader030.fdocuments.us/reader030/viewer/2022032800/56649d2b5503460f94a00bed/html5/thumbnails/5.jpg)
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.](https://reader030.fdocuments.us/reader030/viewer/2022032800/56649d2b5503460f94a00bed/html5/thumbnails/6.jpg)
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.](https://reader030.fdocuments.us/reader030/viewer/2022032800/56649d2b5503460f94a00bed/html5/thumbnails/7.jpg)
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.](https://reader030.fdocuments.us/reader030/viewer/2022032800/56649d2b5503460f94a00bed/html5/thumbnails/8.jpg)
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.](https://reader030.fdocuments.us/reader030/viewer/2022032800/56649d2b5503460f94a00bed/html5/thumbnails/9.jpg)
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.](https://reader030.fdocuments.us/reader030/viewer/2022032800/56649d2b5503460f94a00bed/html5/thumbnails/10.jpg)
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.](https://reader030.fdocuments.us/reader030/viewer/2022032800/56649d2b5503460f94a00bed/html5/thumbnails/11.jpg)
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.](https://reader030.fdocuments.us/reader030/viewer/2022032800/56649d2b5503460f94a00bed/html5/thumbnails/12.jpg)
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.](https://reader030.fdocuments.us/reader030/viewer/2022032800/56649d2b5503460f94a00bed/html5/thumbnails/13.jpg)
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.](https://reader030.fdocuments.us/reader030/viewer/2022032800/56649d2b5503460f94a00bed/html5/thumbnails/14.jpg)
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.](https://reader030.fdocuments.us/reader030/viewer/2022032800/56649d2b5503460f94a00bed/html5/thumbnails/15.jpg)
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.](https://reader030.fdocuments.us/reader030/viewer/2022032800/56649d2b5503460f94a00bed/html5/thumbnails/16.jpg)
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.](https://reader030.fdocuments.us/reader030/viewer/2022032800/56649d2b5503460f94a00bed/html5/thumbnails/17.jpg)
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.](https://reader030.fdocuments.us/reader030/viewer/2022032800/56649d2b5503460f94a00bed/html5/thumbnails/18.jpg)
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.](https://reader030.fdocuments.us/reader030/viewer/2022032800/56649d2b5503460f94a00bed/html5/thumbnails/19.jpg)
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.](https://reader030.fdocuments.us/reader030/viewer/2022032800/56649d2b5503460f94a00bed/html5/thumbnails/20.jpg)
![Page 21: Service-driven content delivery: Do more for your patrons through Web services Marshall Breeding Director for Innovative Technology and Research Vanderbilt.](https://reader030.fdocuments.us/reader030/viewer/2022032800/56649d2b5503460f94a00bed/html5/thumbnails/21.jpg)
![Page 22: Service-driven content delivery: Do more for your patrons through Web services Marshall Breeding Director for Innovative Technology and Research Vanderbilt.](https://reader030.fdocuments.us/reader030/viewer/2022032800/56649d2b5503460f94a00bed/html5/thumbnails/22.jpg)
![Page 23: Service-driven content delivery: Do more for your patrons through Web services Marshall Breeding Director for Innovative Technology and Research Vanderbilt.](https://reader030.fdocuments.us/reader030/viewer/2022032800/56649d2b5503460f94a00bed/html5/thumbnails/23.jpg)
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.](https://reader030.fdocuments.us/reader030/viewer/2022032800/56649d2b5503460f94a00bed/html5/thumbnails/24.jpg)
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&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.](https://reader030.fdocuments.us/reader030/viewer/2022032800/56649d2b5503460f94a00bed/html5/thumbnails/25.jpg)
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.](https://reader030.fdocuments.us/reader030/viewer/2022032800/56649d2b5503460f94a00bed/html5/thumbnails/26.jpg)
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.](https://reader030.fdocuments.us/reader030/viewer/2022032800/56649d2b5503460f94a00bed/html5/thumbnails/27.jpg)
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.](https://reader030.fdocuments.us/reader030/viewer/2022032800/56649d2b5503460f94a00bed/html5/thumbnails/28.jpg)
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.](https://reader030.fdocuments.us/reader030/viewer/2022032800/56649d2b5503460f94a00bed/html5/thumbnails/29.jpg)
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.](https://reader030.fdocuments.us/reader030/viewer/2022032800/56649d2b5503460f94a00bed/html5/thumbnails/30.jpg)
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.](https://reader030.fdocuments.us/reader030/viewer/2022032800/56649d2b5503460f94a00bed/html5/thumbnails/31.jpg)
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.](https://reader030.fdocuments.us/reader030/viewer/2022032800/56649d2b5503460f94a00bed/html5/thumbnails/32.jpg)
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.](https://reader030.fdocuments.us/reader030/viewer/2022032800/56649d2b5503460f94a00bed/html5/thumbnails/33.jpg)
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.](https://reader030.fdocuments.us/reader030/viewer/2022032800/56649d2b5503460f94a00bed/html5/thumbnails/34.jpg)
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.](https://reader030.fdocuments.us/reader030/viewer/2022032800/56649d2b5503460f94a00bed/html5/thumbnails/35.jpg)
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.](https://reader030.fdocuments.us/reader030/viewer/2022032800/56649d2b5503460f94a00bed/html5/thumbnails/36.jpg)
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.](https://reader030.fdocuments.us/reader030/viewer/2022032800/56649d2b5503460f94a00bed/html5/thumbnails/37.jpg)
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.](https://reader030.fdocuments.us/reader030/viewer/2022032800/56649d2b5503460f94a00bed/html5/thumbnails/38.jpg)
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.](https://reader030.fdocuments.us/reader030/viewer/2022032800/56649d2b5503460f94a00bed/html5/thumbnails/39.jpg)
Comments Questions and Discussion