1 21.10.2008 RESTful Publish Subscribe Xiang Su

Slides:



Advertisements
Similar presentations
Pierre-Johan CHARTRE Java EE - JAX-RS - Pierre-Johan CHARTRE
Advertisements

Connecting Social Content Services using FOAF, RDF and REST Leigh Dodds, Engineering Manager, Ingenta Amsterdam, May 2005.
REST - Representational State Transfer
REST Introduction 吴海生 博克软件(杭州)有限公司.
Building and using REST information services Rion Dooley.
REST (Representational State Transfer)
Web Service Testing RESTful Web Services Snejina Lazarova Dimo Mitev
OASIS OData Technical Committee. AGENDA Introduction OASIS OData Technical Committee OData Overview Work of the Technical Committee Q&A.
What are Web Services? How to use them?
Building RESTful Interfaces
Update on the SWORD Protocol & Future Directions.
With jQuery and AJAX Doncho Minkov Telerik Corporation Technical Trainer.
Web 2.0 The Read/Write Web. History Tim Berners-Lee: World Wide Web 1989 Dream of sharing information back and forth Mosaic Web browser in 1993 Writing.
Depositing e-material to The National Library of Sweden.
1 Introduction to XML. XML eXtensible implies that users define tag content Markup implies it is a coded document Language implies it is a metalanguage.
Grid Computing, B. Wilkinson, 20043a.1 WEB SERVICES Introduction.
By: Wordpress.org Present by: Bora Hong Introduction to Blogging.
Web 2.0: Concepts and Applications 3 Syndicating Content.
Feeds Computer Applications to Medicine NSF REU at University of Virginia July 27, 2006 Paul Lee.
Blogs & feeds Jim des Rivieres Oct. 16, Grappling with question of how to present Jazz/OSLC data resources “Pure” data resources are presentation-
Service-Oriented Programming
Christopher M. Pascucci Basic Structural Concepts of.NET Browser – Server Interaction.
Web 2.0: Concepts and Applications 3 Syndicating Content.
XP New Perspectives on XML Tutorial 4 1 XML Schema Tutorial – Carey ISBN Working with Namespaces and Schemas.
Example XML Applications/Languages. Objectives To Review uses of XML To investigate some Language applications of XML XHTML RSS WML Web Services.
Web Architecture & Services (2) Representational State Transfer (REST)
REST.  REST is an acronym standing for Representational State Transfer  A software architecture style for building scalable web services  Typically,
Google Data APIs Google Data APIs : Integrando suas aplicações Java com os serviços Google.
Chapter 27 The World Wide Web and XML. Copyright © 2004 Pearson Addison-Wesley. All rights reserved.27-2 Topics in this Chapter The Web and the Internet.
WebDAV Issues Munich IETF August 11, Property URL encoding At present, spec. allows encoding of the name of a property so it can be appended to.
Open Data Protocol * Han Wang 11/30/2012 *
Web 2.0 Pragith Prakash Vikram Singh By The Era of.
Creating Feeds for News, Events, and More Vinit Varghese Implementation Manager.
REST - Introduction Based on material from InfoQ.com (Stefan Tilkov) And slides from MindTouch.com (Steve Bjorg) 1.
Chapter 27 The World Wide Web and XML. Copyright © 2004 Pearson Addison-Wesley. All rights reserved.27-2 Topics in this Chapter The Web and the Internet.
Tutorial 13 Validating Documents with Schemas
Google Data Protocol Guy Mark Lifshitz. Motivation Google’s Mission: – Organize the world’s information – Make information universally accessible – Provide.
Alternative Architecture for Information in Digital Libraries Onno W. Purbo
World Wide Web “WWW”, "Web" or "W3". World Wide Web “WWW”, "Web" or "W3"
NHIN DIRECT REST IMPLEMENTATION Prepared by: The NHIN Direct REST Team June 8, 2010.
1 Emerging Technology Using RSS RSS and syndication By Steve Sloan RSS and syndication By Steve Sloan.
Meeting Etiquette Please announce your name each time prior to making comments or suggestions during the call Remember: If you are not speaking keep your.
LIBRARIES MEET THE GRID: Librarians in Cyberspace Virginia Allen Beth Avery.
Advanced Web Technologies Lecture #4 By: Faraz Ahmed.
Representational State Transfer (REST). What is REST? Network Architectural style Overview: –Resources are defined and addressed –Transmits domain-specific.
1 © Xchanging 2010 no part of this document may be circulated, quoted or reproduced without prior written approval of Xchanging. MOSS Training – UI customization.
Blogging. Website and blog A website, also written as web site,or simply site, is a set of related web pages typically served from a single web domain.
Web Services An Introduction Copyright © Curt Hill.
Web Technologies Lecture 10 Web services. From W3C – A software system designed to support interoperable machine-to-machine interaction over a network.
World Wide Web cancho. World Wide Web System of hypertext documents accessed via Internet.
1 RSS: What does it mean for the classroom teacher? Martha Bogart & Ruth Block Cooperating School Districts 1460 Craig Rd. St. Louis, MO 63146
Working with XML. Markup Languages Text-based languages based on SGML Text-based languages based on SGML SGML = Standard Generalized Markup Language SGML.
Subscribing to the RSS Feed 10/28/2013. What is an RSS Feed? What is RSS? –RSS stands for "Really Simple Syndication". It is a way to easily distribute.
1 RSS: What does it mean for the classroom teacher? Stephen Rahn
RSS Syndication CS 431 – Carl Lagoze – Cornell University.
Janakiram MSV Developer Evangelist Microsoft Corporation.
ECHO Technical Interchange Meeting 2013 Timothy Goff 1 Raytheon EED Program | ECHO Technical Interchange 2013.
© 2010 IBM Corporation RESTFul Service Modelling in Rational Software Architect April, 2011.
Using Retrofit framework in implementation of Android REST client David Ante Macan*, Zlatko Stapić, Milan Pavlović* University of Zagreb Faculty of Organization.
REST API Design. Application API API = Application Programming Interface APIs expose functionality of an application or service that exists independently.
SWORD Simple Web-service Offering Repository Deposit By Aparna R. Belhe Archana Galipalli.
Intro to REST Joe Gregorio Google. REST is an Architectural Style.
REST- Representational State Transfer Enn Õunapuu
“Real Simple Syndication” (RSS)
Chapter 6: Community Features.
WEB API.
User Information Architecture: Blogs, Wikis, and RSS
Introduction to World Wide Web
.NET Framework V3.5+ & RESTful web services
Presented By S.Yamuna AP/CSE
Presentation transcript:

RESTful Publish Subscribe Xiang Su

Web content syndication Explosion of self-publishing form like web blogs, online journals, Wikis, and other similar content Web content syndication has been an area of growing importance on the Internet. –Syndication technology provides an easily automated method of receiving information. –XML-RPC based protocols are widely used for editing web content –RSS uses XML-RPC.

Why RESTful? XML-RPC based protocols suffer from these limitations: –Native HTTP authentication is not used; –Passwords sent in the clear; –Poor internationalization. (The XML-RPC protocol restricts element content to ASCII); –No built-in extensibility mechanisms; –No ability to specify the title or date of an entry being edited; every request is a POST to the same URI. REpresentational State Transfer (REST) provides a possibility to implement simple, scalable, but still powerful protocols for blogging and other applications

REST Principles Resources are the key abstraction of application state and functionality, which identified by URIs Every resource is uniquely addressable using a universal syntax for use in hypermedia links. All interactions are context-free. Only use standard methods. Representation oriented

RESTful Publish/Subscribe Design of a RESTful Publish/Subscribe protocol should comply with these principles. –Use resources with URIs to identify everything: documents, document collections, and feeds. –Only use basic HTTP methods and response codes in the protocol operation. –Operations are stateless. – The protocol operations such as creating a resource or editing a resource are representation oriented.

Atom Publishing Protocol(AtomPub) AtomPub is the most popular protocol in the RESTful services ecosystems. It has a canonical HTTP-based approach for creating and editing Web resources. It is designed fundamentally around the idea of using the basic operations provided by the HTTP protocol, such as GET, PUT, and DELETE, to pass around instances of Atom Feed and Entry documents that represent things like blog entries, Wiki pages, calendar entries, and so on.

Atom Publishing Protocol(AtomPub) The AtomPub supports the creation of arbitrary web resources and provides facilities for: –Collections: Sets of resources, which can be retrieved in whole or in part. –Introspection: Discovering and describing collections. –Editing: Creating, updating and deleting resources.

Sample AtomPub publishing environment 1) By creating, editing, and deleting Atom entries, the client changes the state on a repository of entries. 2) Public-oriented resources, such as HTML pages and Atom feeds, are derived from the repository, and AtomPub interactions cause them to be updated

AtomPub Requests and Behaviors ResourceMethodRepresentationDescription MemberGETAtom Entry Retrieve Service Document enumerating the URIs of a group of collections CollectionGETAtom FeedRetrieve a list of the members in the collection. May be a subset. CollectionPOSTAtom EntryCreate a new member resource with the given Atom Entry. MemberGETAtom EntryRetrieve the Atom representation of the entry. MemberPUTAtom EntryUpdate the member resource with the Atom entry representation. MemberDELETEAtom EntryDelete the member resource.

Limitation of AtomPub Mismatch with data models that don’t follow microcontent. –The Atom data model fits very well for representing authored content or microcontent on the Web such as blog posts, lists of links, online photo albums and calendar events. –Atom entry has an an ID, a title, an updated date, one or more authors and textual content can be met and actually makes a lot of sense. –there are other kinds online data that don't really fit this model.

Limitation of AtomPub Poor support for hierarchy –The Atom data model doesn't directly support nesting or hierarchies. –If you want to represent an item that has children they must be referenced via a link instead of included inline. –When there is a direct parent/child hierarchical relationship, where the child is an addressable resource in its own right, it is cumbersome for clients to always have to make two or more calls to get all the data they need.

Web Structured, Schema’d & Searchable (Web3S) REST-style protocol. Designed by Miscosoft to overcome some limitation of AtomPub, including lack the ability to publish information beyond these types, lack support for granular update to data fields and provide poor support for hierarchies.

Web Structured, Schema’d & Searchable (Web3S) Web3S utilizes XML Infoset based data representation specification But at February 2008, Microsoft announced to switch from the Web3S to AtomPub.

Conclusion RESTful Publish/Subscribe, which employ lightweight RESTful architecture in web content syndication. Contribution: –Summarized the REST principles and studied how these principles are utilized in AtomPub. –Study the limitation of AtomPub, and give initial explanation why it can not be used as a general purpose editing protocol for the web. –Future study: Illustrate the capability of AtomPub. How to develop a general purpose editing protocol for the web?

Questions and Comments?