View
236
Download
6
Tags:
Embed Size (px)
Citation preview
INLS 520 Erik Mitchell
Today
• Services & structured data– Ideas & discussion– Examples– Play time
• SOLR indexing
• Guest Lecturer – John Little, Duke University
Readings & group discussion
– What are some examples of the relationship between structured data and “web 2.0” applications/interfaces?
– What relationships exist between the application and the data in these examples?
– What parallels can we draw from Bush’s Memex machine to our own RIAs (rich internet applications)
INLS 520 Erik Mitchell
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
– A quick example
INLS 520 Erik Mitchell
APIs
• Application programming interface– 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
– A necessary component of web 2.0 architecture
INLS 520 Erik Mitchell
Key Concepts
• Necessary ideas– Interoperability, extensibility, simplicity,
independence
• Standards• SOAP (Simple object access protocol)• REST (Representational state transfer)• CRUD (create, replace, update, delete) • WSDL (Web service development language)• UDDI (Universal description, discovery and
integration)INLS 520
Erik Mitchell
Web Service Standards
• SOAP– Uses XML structure to transfer request and response data
• REST– “Resource Based”– Uses URL to transfer request data– Response in HTML/XML
• CRUD– Create, replace, update, delete– Core actions for web services
• WSDL– An XML document which defines a web service– Defines interface, communication protocol, service location– Can be thought of as a schema for a service
INLS 520 Erik Mitchell
INLS 520 Erik Mitchell
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=7a72d266363a39065033a9442770dc1c&tags=Ohio
INLS 520 Erik Mitchell
More examples
• Facebook applications– Facebook developers kit
• Yahoo Widgets– Some brief info
• Microsoft Silverlight
• The programmable web
INLS 520 Erik Mitchell
Miscellaneous Description
• Weinberger’s points– Idea of ‘democratized’ description– The Long tail – getting past primary topicality– Lumping & splitting, lists, categories, the ‘third
order”
• Two sides of community description / software– Provide a place to create/share– Provide a means to harvest / remix
INLS 520 Erik Mitchell
Remix Culture
• Remix Culture– A society which allows and encourages derivative works.
Such a culture would be, by default, permissive of efforts to improve upon, change, integrate, or otherwise remix the work of copyright holders (Wikipedia) - Lawrence Lessig
• Mashups– Consists of the combination (usually by digital means) of the
music from one song with the a cappella from another. Typically, the music and vocals belong to completely different genres. At their best, bastard pop songs strive for musical epiphanies that add up to considerably more than the sum of their parts
• An example
INLS 520 Erik Mitchell
Remixing data
• Common features– APIs enable access to data/functionality
outside of traditional interface– Open licensing agreements enable re-use
of data– Organization and encoding standards
enable interoperability
INLS 520 Erik Mitchell
The big ideas
• Democratization of development?
• “Real” user-driven software development?
• “The next big thing is going to be what someone else does with your data”
• Data interoperability/automation/use
INLS 520 Erik Mitchell
What’s interesting about this?
• Google support– IDE, Hosting, Data storage, Marketing
• Facebook– Application platform, exposure
• Amazon– Data, storage systems, commerce
applications, APIs
• RSS– Web service or Data structure
Solr?
• Stock tutorial at:– http://lucene.apache.org/solr/tutorial.html– Download solr– Follow instructions
INLS 520 Erik Mitchell
INLS 520 Erik Mitchell
Next 2 Weeks
• No Class
• Lots of outside work– How are the Taxonomies/Ontologies
coming along?– How about those final projects?– Vote!
• Nov
Service Oriented Architecture
• Definitions:
– “SOA is an architectural style whose goal is to achieve loose coupling among interacting software agents”(xml.com)
– “bridging the gap between business and IT through a set of business-aligned IT services using a set of design principles, patterns, and techniques” (ibm)
INLS 520 Erik Mitchell
Service Oriented Architecture
• What makes something SOA?
– A focus on providing a service rather than providing access to a resource
– Reusable, abstracted, formal, relevant, independent, structured, loosely coupled, documented, and discoverable(MSDN)
– Examples
INLS 520 Erik Mitchell
Comparisons
• APIs– Provide standard interfaces to distributed data;
may include service or resource perspectives• Web Services
– Include concepts of self-documentation, protocol definition, standards focus, structured data
• SOA– Focuses on decomposing business proceses into
discrete services, uses concepts of documentation, standards basis but is not necessarily comparable with APIs or Web Services
INLS 520 Erik Mitchell