Distribution and Publication With Atom Web Services

Similar documents
Introduction to AtomPub Web Services Ben Ramsey International PHP Conference 11 Oct 2010

Two Traditions of Metadata Development

Your Auth is open! Oversharing with OpenAuth & SAML

UNIT-II : VIRTUALIZATION & COMMON STANDARDS IN CLOUD COMPUTING

XML Processing & Web Services. Husni Husni.trunojoyo.ac.id

Rob Weir, IBM 1 ODF and Web Mashups

Driving Interoperability with CMIS

Designing RESTful Web Applications. Ben Ramsey

Porting Social Media Contributions with SIOC

The new SAP PI REST adapter Unveiled v1.0. SAPience TECH commission, Nov Dimitri Sannen SAP Solution Architect

XML Parsers. Asst. Prof. Dr. Kanda Runapongsa Saikaew Dept. of Computer Engineering Khon Kaen University

Database Driven Web 2.0 for the Enterprise

Develop Mobile Front Ends Using Mobile Application Framework A - 2

Where you will find the RSS feed on the Jo Daviess County website

DCMI Abstract Model - DRAFT Update

MAPR DATA GOVERNANCE WITHOUT COMPROMISE

Science-as-a-Service

Using metadata for interoperability. CS 431 February 28, 2007 Carl Lagoze Cornell University

SciX Open, self organising repository for scientific information exchange. D15: Value Added Publications IST

Request for Comments: NewBay Software October 2007

Java Development and Grid Computing with the Globus Toolkit Version 3

Trellis Magento 2 Salsify Connector

Extended Identity for Social Networks

Leveraging metadata standards in ArcGIS to support Interoperability. Aleta Vienneau and Marten Hogeweg

Managing Learning Objects in Large Scale Courseware Authoring Studio 1

WS-* Standards. Szolgáltatásorientált rendszerintegráció Service-Oriented System Integration. Dr. Balázs Simon BME, IIT

Warm Up to Identity Protocol Soup

Integrating VMware Workspace ONE with Okta. VMware Workspace ONE

PKI-An Operational Perspective. NANOG 38 ARIN XVIII October 10, 2006

Introduction. From SOA to REST: Designing and Implementing RESTful Services [./] Tutorial at WWW2009 [ (Madrid, Spain) Contents

Specifications for implementing web feeds in DLXS

ebxml Technical Architecture San Jose, CA USA Wednesday, 9 August 2000

Migrate Your Skills to Microsoft.NET Framework 2.0 and 3.0 using Visual Studio 2005 (C#)

WCI Feed Service Servlet

Java Web Service Essentials (TT7300) Day(s): 3. Course Code: GK4232. Overview

Perpetual Technology Solutions Course Outline (863)

Authentication with OAuth 2.0

Federated Search Developer Guide

SAML, OAUTH, and Session sharing in Domino 9

Apache Wink User Guide

Introduction. From SOA to REST: Designing and Implementing RESTful Services [./] Tutorial at ICWE Sebastián, Spain) Contents

Technologies for Securing the Networked Supply Chain. Alex Deacon Advanced Products and Research Group VeriSign, Inc.

Advisor/Committee Members Dr. Chris Pollett Dr. Mark Stamp Dr. Soon Tee Teoh. By Vijeth Patil

Web 2.0, AJAX and RIAs

Oracle WebCenter Suite Provides Web 2.0 Services for Enterprise Developers. An Oracle White Paper October 2006

REST-based Integration Architecture for a Financial Business Service. Phillip Ghadir, innoq

Space Details. Available Pages

Repository Software Survey, March 2009

WEB-APIs DRIVING DIGITAL INNOVATION

Eclipse Lyo Overview. Michael Fiedler, Eclipse Lyo committer IBM Corporation

The Atom Project. Tim Bray, Sun Microsystems Paul Hoffman, IMC

Specification Document Template

For those who might be worried about the down time during Lync Mobility deployment, No there is no down time required

FeedFeeds A Web Service for Feed Metadata

Hypermedia Web API for enhanced Heterogeneous Missions Accessibility

Oracle WebCenter Interaction: Roadmap for BEA AquaLogic User Interaction. Ajay Gandhi Sr. Director of Product Management Enterprise 2.

Software + Services for Data Storage, Management, Discovery, and Re-Use

Semantic Web Publishing. Dr Nicholas Gibbins 32/4037

Chris Schalk Ryan Boyd

Java Card Technology-based Corporate Card Solutions

GPS OCX BLOCK 1 NETCENTRIC INTERFACES. Walid Al-Masyabi Raytheon Company, Intelligence, Information and Services,

Masters Proposal. Meta-standardisation of Interoperability Protocols

Salesforce1 Mobile Security White Paper. Revised: April 2014

Developing Web Widget With HTML, CSS, JSON And AJAX: A Complete Guide To Web Widget By Rajesh Lal;Lakshmi C Chava READ ONLINE

Intelligence Community and Department of Defense Content Discovery & Retrieval Integrated Project Team (CDR IPT)

Hosted Microsoft Exchange Client Setup & Guide Book

Intelligence Community and Department of Defense Content Discovery & Retrieval Integrated Project Team (CDR IPT)

[MS-WSUSOD]: Windows Server Update Services Protocols Overview

Leveraging metadata standards in ArcGIS to support Interoperability. David Danko and Aleta Vienneau

Implementing a Ground Service- Oriented Architecture (SOA) March 28, 2006

Distributing LIXI Data as a Newscast"

Blog to Contents. User Guide March 11, 2008

SharePoint List Synchronizer for Excel 2007 and Documentation

Zend PHP Cloud Application Platform

Key Management Interoperability Protocol (KMIP)

Introduction to XML. Asst. Prof. Dr. Kanda Runapongsa Saikaew Dept. of Computer Engineering Khon Kaen University

RESTful Web Services. 20-Jan Gordon Dickens Chariot Solutions

XML Web Services Basics

Niraj Bhatt Technical Architect Session Code:

Apache Wink 0.1 Feature Set

Contribution of OCLC, LC and IFLA

Content. 1. Introduction. 2. IBM Social Business Toolkit - Social SDK. 3. Social Builder. 4. Sample WEF Portlet application. 5.

THE BCS PROFESSIONAL EXAMINATIONS BCS Level 5 Diploma in IT PRINCIPLES OF INTERNET TECHNOLOGIES. Specimen Answers

CONTENTdm & The Digital Collection Gateway New Looks for Discovery and Delivery

Anne J. Gilliland-Swetland in the document Introduction to Metadata, Pathways to Digital Information, setting the Stage States:

ARCHITECTURING AND SECURING IOT PLATFORMS JANKO ISIDOROVIC MAINFLUX

MAIL PLUGIN FOR IBM MASHUP CENTER

Programming Web Services in Java

F5 BIG-IP Access Policy Manager: SAML IDP

Storage Industry Resource Domain Model

IMPLEMENTING SINGLE SIGN-ON (SSO) TO KERBEROS CONSTRAINED DELEGATION AND HEADER-BASED APPS. VMware Identity Manager.

Introduction to RESTful Web Services. Presented by Steve Ives

INTEGRATING OKTA: VMWARE WORKSPACE ONE OPERATIONAL TUTORIAL VMware Workspace ONE

Introduction to XML 3/14/12. Introduction to XML

CS 120 Digital Literacy, Chapter 5: p

Understanding RESTful APIs and documenting them with Swagger. Presented by: Tanya Perelmuter Date: 06/18/2018

HTTP, circa HTTP protocol. GET /foo/bar.html HTTP/1.1. Sviluppo App Web 2015/ Intro 3/3/2016. Marco Tarini, Uninsubria 1

Draft Requirements Document for the Development of the ICE2 Specification

Cisco Virtual Application Cloud Segmentation Services REST API Guide, Release 6.0STV First Published: Last Updated:

Göttingen, Introduction to Web Services

Transcription:

Distribution and Publication With Atom Web Services

Software Architect at Schematic Atlanta PHP Leader Co-author of Zend PHP 5 Certification Study Guide Chatter on #phpc

The name Atom applies to a pair of related standards. The Atom Syndication Format is an XML language used for web feeds, while the Atom Publishing Protocol (short AtomPub or APP) is a simple HTTP-based protocol for creating and updating web resources. Wikipedia

Atom is both a format and a protocol.

The Atom format An XML-based web content and metadata syndication format Defined by RFC 4287 Developed as an open alternative to the frozen RSS 2.0 format XML namespace: http://www.w3.org/2005/atom

The Atom Publishing Protocol An application-level protocol for publishing and editing web resources using HTTP and XML Defined by RFC 5023 Also called AtomPub or APP XML namespace: http://www.w3.org/2007/app

A common format Widespread adoption means increased interoperability between disparate systems Applications now have a common language and publishing protocol, leveraging HTTP as a vehicle Supported by a diverse and widereaching community through libraries for consuming and creating Atom services

Understanding Atom Atom is a RESTful protocol Atom s focus is on resources in the system To understand Atom, you must first understand REST and the Resource- Oriented Architecture

REST strictly refers to a collection of network architecture principles which outline how resources are defined and addressed. Wikipedia

What is REST? Representational State Transfer Not an architecture or a standard for developing web services Not a particular format or pattern It is a set of design criteria

Resource-Oriented Architecture Resources Their names (addresses) Their representations The links between them

A resource can be anything that has identity. Familiar examples include an electronic document, an image, a service (e.g., today s weather report for Los Angeles ), and a collection of other resources. Not all resources are network retrievable ; e.g., human beings, corporations, and bound books in a library can also be considered resources. RFC 2396

ROA basics Each resource knows how to do three simple things: 1. Represent itself to the client 2. Transition from one state to the next 3. Destroy itself Additionally, the ROA provides a means to create a resource

ROA properties Resources are addressable Resources have no state Resources are connected Resources share the same interface

This is REST in a nutshell.

Atom is resource-oriented Think of an Atom web service as a catalog of resources that you want to expose Each resource has a unique identifier The resources are well-connected Atom sits on top of HTTP Requests have no state Share the same interface

Atom terminology Entry Feed Collection Category Document Service Document

Entry Represents an individual piece of content (post, article, page, image, video, etc.) Entries can be related to other entries or feeds. This resource represents a specific resource (i.e. http://example.org/posts/ 1234). Content type: application/atom+xml;type=entry

Feed Represents a collection of Atom entries Feeds can be related to other feeds or entries This resource represents a specific collection of resources (i.e. http:// example.org/posts) Atom Collections are Feeds Content type: application/atom+xml;type=feed

Category Categories provide metadata to describe an Atom entry. Atom itself doesn t define usage of categories. Category Documents describe the categories that are allowed in Collections. Content type: application/atomcat+xml

Service A service discovery document that describes the locations and capabilities of Collections Usually the entry point of the Atom web service Content type: application/atomsvc+xml

Atom provides Retrieval of resources Creation of new resources Modification to existing resources Removal (deletion) of resources from public view

Creating resources Client discovers the resource through which the Atom service accepts POST requests to create resources (defined by app:collection) Client sends resource in POST request: POST /archives HTTP/1.1 Client receives a 201 Created response in the event of a success

Modifying resources Client requests a representation of the resource: GET /archives/1234 HTTP/1.1 Client modifies the resource and tells the service to update it: PUT /archives/1234 HTTP/1.1 Service responds with a 200 OK status to indicate success Client uses edit relation for this logic

Removing resources Client sends a DELETE request to the sevice: DELETE /archives/1234 HTTP/1.1 Service responds with a 204 No Content status code to indicate success

Authentication Atom does not provide or recommend an auth mechanism Early favorite of the Atom community was WSSE Consider the use of OAuth Send authentication info through HTTP headers on each request requiring authenticated access

Encryption Atom does not provide for encryption Use SSL for all sensitive communication Atom Entry and Feed Documents can contain XML Digital Signatures Can be encrypted using XML Encryption

Extending Atom Atom is XML; as such, it may be extended using other vocabularies (namespaces) Use other namespaces to convey other information e.g. OpenSearch e.g. Dublin Core

Parsing Atom DOM, XMLReader, XMLWriter, SimpleXML Zend_Feed, PEAR::XML_Feed_Parser, phpatomlib Apache Abdera

Out-of-box Atom clients Fude - http://www.witha.jp/exeries/software/ Atomic (Firefox plugin) - https://addons.mozilla.org/en-us/firefox/addon/3188 APP Test Client - http://bitworking.org/projects/apptestclient/

For more information... http://tools.ietf.org/html/rfc4287 http://tools.ietf.org/html/rfc5023 http://atomenabled.org/ My blog: http://benramsey.com/