LBSC670_Class11_services_111811
Download
Report
Transcript LBSC670_Class11_services_111811
LBSC 670
Information Organization
Today
• The web and automated information
services
• Data, Ontologies and Web-services
• Protégé work time
Memex
Tim Berners-Lee
“data is the new killer app”
• Facebook developers kit
• Twitter API
– Search, REST (CRUD), Stream
• The programmable web
– Hundreds of API links
Three impacts of metadata
• Structured data use by Web-Services
• Metadata and software design
• Context-aware metadata
(1) Web-services
– “A service that is accessible by means of
messages sent using standard web protocols,
notations and naming conventions, including XML
Protocol (or until XML protocol is standardized,
SOAP).”(w3c)
– An approach to application design that uses
structured data to invoke a request and
subsequently returns structured data to the client
– Temp Convert: A quick example
(2) Software design
Model
View
Controller
http://www.tonymarston.net/php-mysql/model-view-controller.html
MVC RSS application
Model
• Dynamic
XML data
• Database
Controller
• Discovery
Service
• Data
Parsing
View
• XSL
transform
• HTML
output
(3) Context-Aware Metadata
– Application Programming Interfaces
• A set of functions that can be called from an
application program to access features of
another program (studiodog)
• A means of allowing system to system data
and service interchange
• Metadata in. . . .metadata out. . . .
Example - The Flickr API
• Flickr API
– Types of actions
– A basic RSS feed
– A Search request & response
• http://api.flickr.com/services/rest/?method=flickr.
photos.search&api_key=fb9f06d54e82609fce55
7cd3d4706a2d&tags=Terrapins
Example - API result
Flickr REST request
• A GET example:
Key = value
– ?method=flickr.photos.search
– &api_key=fb9f06d54e82609fce557cd3d4706a2d
– &tags=Terrapins
– ? . . . The start of the Querystring
– & . . . The Key=Value separator
– = . . . Assignment operator
Web-services interoperate
• “SOA is an architectural style whose
goal is to achieve loose coupling among
interacting software agents”(xml.com)
– Focus on developing information services (spellchecking) rather than applications (word processing)
– Reusable, abstracted, formal, relevant, independent,
structured, loosely coupled, documented, and
discoverable(MSDN)
Web-Services use HTTP
• Get:
– Request a resource (e.g. using a URL)
• Post:
– “Submit data to be processed” (e.g. send
an XML document)
• Put
– Update/Replace an existing resource
• Delete
– Remove a resource
*Also Head, Trace, Options, Patch, Connect
Web-Services are RESTful
• Representational State Transfer: “Style of software
architecture for distributed hypermedia” (wikipedia)
– Base URI:
» http://api.flickr.com/services/rest/
– Internet Media Type (MIME!)
» XML, JSON
– An operation mechanism
» GET, PUT, POST, DELETE
– Capable of “Stateless” interaction
Libraries Love Web-services
• SWORD:
• Simple Web-Service Offering Repository
Deposit
• Create, Replace, Update, Delete
• OAI / PHM
• Open Archives Initiative Protocol for Metadata
Harvesting
• Uses Dublin Core
• OAI / ORE
• OAI / Object Reuse and Exchange
• OAI for complex objects (METS)
SWORD
• Simple Web-Service Offering
Repository Deposit
• Create, Replace, Update, Delete
• Atom Publishing Protocol
SWORD is METADATA
Get: Describe
Post: Publish, Update
Delete: Delete
OAI / PMH
• Open Archive Initiative – Protocol for
Metadata Harvesting
• http://www.openarchives.org/pmh/
Oaister.worldcat.org
OAI/PMH sites
OAI/ORE
http://www.openarchives.org/ore/1.0/primer.html#Example
OAI/ORE is Ontological!
• Based on ATOM resource maps
• Encoded in RDF (Relational Data
Framework)
RDF shows relationships
<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:contact="http://www.w3.org/2000/10/swap/pim/contact#">
<contact:Person rdf:about="http://www.w3.org/People/EM/contact#me">
<contact:fullName>Eric Miller</contact:fullName>
<contact:mailbox rdf:resource="mailto:[email protected]"/>
<contact:personalTitle>Dr.</contact:personalTitle>
</contact:Person> </rdf:RDF>
ATOM Resource Map
• Similar to RSS
• RDF defines
relationships
between entries
• DC, DCTERMS
describe items
http://www.openarchives.org/ore/1.0/primer.html#AtomReM
RDF can be coded in HTML
• RDFa
– Half-way between HTML & RDF
– Uses defined attributes to add context to
HTML elements
• rel
• property
• typeOf
– Example
Ontological structures
• Ontological structures facilitate
automation of services
• Highly structured data and knowledge
create smarter services
• Context defines pathways to more
information
Services | Ontologies | Data
Services
Ontologies
Data
• Access
• Actionable
• Structured
framework
• Linked
• Relationships
APIs may not use ontologies
Recap: Three facets of services
• Application Programming Interfaces (flickr)
– Provide standard interfaces to distributed data; may
include service or resource perspectives
• Web Services (SWORD, OAI/PMH OAI/ORE)
– Include concepts of self-documentation, protocol
definition, standards focus, structured data
• Software Architecture (MVC, SOA, REST)
– Focuses on decomposing business processes into
discrete services, uses concepts of documentation,
standards basis but is not necessarily comparable
with APIs or Web Services
The big ideas
“The next big thing is going to be what someone else
does with your data”
Metadata is the language of the web - Data
interoperability/automation/use
Create new uses of data, empower end-users
Open licensing agreements enable re-use of data
Remaining weeks
• Tonight – Protégé work time
• Week 12 - Dr. Jeffery Loo, Update on
final projects
• Week 13 – Linked data, Ontologies
due
• Week 14 – Final class