Publishing and Edi.ng Web Resources Atom Publishing Protocol. CS 431 Spring 2008 Cornell University Carl Lagoze 03/12/08

Similar documents
Intro to the Atom Publishing Protocol. Joe Gregorio Google

RSS - FEED ELEMENTS. It indicates the last time the Feed was modified in a significant way. All timestamps in Atom must conform to RFC 3339.

Intended status: Standards Track August 15, 2008 Expires: February 16, 2009

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

Open Archives Initiative Object Reuse & Exchange. Resource Map Discovery

Open Archives Initiative Object Reuse & Exchange. Resource Map Discovery

RSS to ATOM. ATOM to RSS

Architecture of the World Wide Web Web Informa4on Systems. CS/INFO 431 January 30, 2008 Carl Lagoze Spring 2008

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

Request for Comments: NewBay Software October 2007

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

REMIT. Guidance on the implementation of web feeds for Inside Information Platforms

BibSword. Implementation of SWORD client in Invenio for the automated submission of digital objects to arxiv

Internet-Draft September 1, 2005 Expires: March 5, Feed History: Enabling Incremental Syndication draft-nottingham-atompub-feed-history-04

Atom: From Blogging to Data, Web (Services) 2.0

Feature identification for topical relevance assessment in feed search engines 1

OGC GeoRSS Encoding Standard

Java Technology and REST: Implementing the Atom Publishing Protocol

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

Content Management Interoperability Services

CS 43: Computer Networks. Layering & HTTP September 7, 2018

Rob Weir, IBM 1 ODF and Web Mashups

Networking: Application Layer

How to work with HTTP requests and responses

All About Open & Sharing

World-Wide Web Protocols CS 571 Fall Kenneth L. Calvert All rights reserved

The HTTP protocol. Fulvio Corno, Dario Bonino. 08/10/09 http 1

Expires: December 9, 2005 June 07, The Atom Syndication Format draft-ietf-atompub-format-09. Status of this Memo

Search Web Services - searchretrieve Operation: Binding for OpenSearch Version 1.0

Federated Search Developer Guide

REST Web Services Objektumorientált szoftvertervezés Object-oriented software design

*:96 Overheads. Part 9: WebDAV, RSS, SOAP (Web applications), Bittorrent. HTTP Extensions for Distributed Authoring

Introduc)on to Computer Networks

httplib2 Release 0.4

Introduc.on to Databases

Developing RESTful Services Using JAX-RS

CSCI-1680 WWW Rodrigo Fonseca

CSCI-1680 WWW Rodrigo Fonseca

HTTP Console Documentation

Extended Identity for Social Networks

Department of Computer Science Institute for System Architecture, Chair for Computer Networks. Internet Subscription Services

Beyond Blogging: Feeds in Action

Distribution and Publication With Atom Web Services

REST Easy with Infrared360

Outline of Lecture 3 Protocols

C22: Browser & Web Server Communication

Network Working Group Internet-Draft October 27, 2007 Intended status: Experimental Expires: April 29, 2008

Open Geospatial Consortium, Inc.

REST over HTTP. Ambient intelligence. Fulvio Corno. Politecnico di Torino, 2015/2016

Designing Enterprise IT Systems with REST: A (Cloudy) Case Study. Stuart Charlton Chief Software Architect, Elastra

Develop Mobile Front Ends Using Mobile Application Framework A - 2

Content Syndication. Web Architecture and Information Management [./] Spring 2009 INFO (CCN 42509) Contents. Erik Wilde, UC Berkeley School of

Hypermedia Web API for enhanced Heterogeneous Missions Accessibility

Using Web Services to Integrate with Questionmark Perception

Abstract. Table of Contents. 1. License

INFO/CS 4302 Web Informa6on Systems

HTTP Authentication API

CORS Attacks. Author: Milad Khoshdel Blog: P a g e. CORS Attacks

2/13/2014. A protocol is an agreed-upon convention that defines how communication occurs between two (or more?) endpoints

Apache Wink User Guide

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

Astra Schedule User Guide - Reports

Other architectures are externally built or expanded

HTTP Security. CSC 482/582: Computer Security Slide #1

Search Operation. Using the Search Operation CHAPTER

Darbs projektu grupās un procesu automatizācija

Search Operation. Using the Search Operation CHAPTER

Con$nuous Integra$on Development Environment. Kovács Gábor

RESTful API Design APIs your consumers will love

Nick Terkay CSCI 7818 Web Services 11/16/2006

Erik Wilde (UC Berkeley School of Information)

HTTP Reading: Section and COS 461: Computer Networks Spring 2013

Apache Wink 0.1 Feature Set

ETSI TS V ( ) Technical Specification

Apache Roller and blogs as a web development platform. Dave Johnson Sun Microsystems, Inc.

PeopleSoft Integration Tools II Rel 8.53

ECE697AA Lecture 2. Today s lecture

White Paper. Fabasoft Integration for CMIS. Fabasoft Folio 2016 Update Rollup 6

RESTCONF Programmable Interface

HTTP Protocol and Server-Side Basics

Coalescence of XML-Based Really Simple Syndication (RSS) Aggregator for Blogosphere

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

CS6200 Informa.on Retrieval. David Smith College of Computer and Informa.on Science Northeastern University

TACACS Support APIs. curl -k -v -u "admin:cisco123" -H Accept:application/vnd.yang.data+xml -H ContentType:application/vnd.yang.

BottomFeeder A Standards-Compliant News Aggregator

Web Standards Mastering HTML5, CSS3, and XML

Networking. INFO/CSE 100, Spring 2006 Fluency in Information Technology.

Network Working Group Internet-Draft August 2005 Expires: February 2, Atom Link No Follow draft-snell-atompub-feed-nofollow-03.

NSDL Technical Systems Transition. Overview of technical systems transition September 8, 2011

RESTful Web Services. 20-Jan Gordon Dickens Chariot Solutions

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

Network Working Group Internet-Draft January 25, 2006 Expires: July 29, Feed Rank draft-snell-atompub-feed-index-05.txt. Status of this Memo

INF5750. RESTful Web Services

Designing RESTful Web Applications. Ben Ramsey

Distributed Systems 1

CSCI 136: Fundamentals of Computer Science II Keith Vertanen Copyright 2012

02267: Software Development of Web Services

Application Protocols and HTTP

Lecture 7b: HTTP. Feb. 24, Internet and Intranet Protocols and Applications

COMP 150-IDS: Internet Scale Distributed Systems (Spring 2017) URIs and RFC 3986

Transcription:

Publishing and Edi.ng Web Resources Atom Publishing Protocol CS 431 Spring 2008 Cornell University Carl Lagoze 03/12/08

Acknowledgments Dan Diephouse netzooid.org Elizabeth Fisher Colorado Ibm.com/developerworks

Atom ANempt to ra.onalize RSS 1.x, 2.x divergence Encoding is up to date with current XML standards namespaces Schema Robust content model Dis.nguishes between metadata and content (plain text, HTML, base 64 binary) Well defined extensibility model IETF FRC 4287 hnp://www.ie\.org/rfc/rfc4287

Structure of Feed Feed ID Author Link Title Updated * Entry ID Updated Link Summary Content *

Simple Atom Feed <?xml version="1.0" encoding="utf-8"?> <feed xmlns="http://www.w3.org/2005/atom"> <title>dan s Blog</title> <link href="http://netzooid.com/blog/"/> <updated>2007-11-07t18:30:02z</updated> <author> Feed id <name>dan Diephouse</name> </author> Entry id <id>urn:uuid:60a76c80-d399-11d9-b91c-0003939e0af6</id> <entry> <title>building services with AtomPub</title> <link href="http://netzooid.com/blog/atompub_services"/> <id>urn:uuid:1225c695-cfb8-4ebb-aaaa-80da344efa6a</id> <updated>2007-11-07t18:30:02z</updated> <content> (you must have content or a summary) </content> </entry> </feed> alternate (source) id

Extending Atom with namespaces

Embedding Content in Atom

Embedding Content in Atom

Atom Publishing Protocol (APP) HTTP based protocol for publishing, dele.ng, and upda.ng resources hnp://bitworking.org/projects/atom/drabie\ atompub protocol 08.html Generic API for crea.on, access, modifica.on, dele.on of resources (calendar entries, blog entries, etc.) Google Data API Microsob Live Pla\orm

Generic Packaging Model En.ty containing en..es (compound documents) Each en.ty has a unique URI Adding an en.ty to a package produces a new URI All opera.ons done on URIs with HTTP protocol requests

Recall HTTP GET: Used to retrieve a representa.on of a collec.on or member resource POST: Used to create a new member resource PUT: Used to update a member resource DELETE: Used to remove a member resource Headers Metadata about request and response

Simple HTTP GET Response GET /path/file.html HTTP/1.1 Host: cs.cornell.edu User Agent: Mozilla/3.0 [Blank line] HTTP/1.1 200 OK Content Type: text/html Date: Wed, 31 Jan 2007 14:58:57 GMT Content Length: 1354 <html> <head>

Representa.onal State Transfer (REST) Programming Basis of many modern web APIs Alterna.ve to complex services APIs such as SOAP Basics Built en.rely on HTTP requests Access and manipulate resources via HTTP One to one mapping from resources to URI

Atom Publishing Protocol Model Service Workspaces Collec.ons Entries Entry Resource Media Entries Media Link Entry Media Resource

APP Resource/En.ty URI Structure Resources Descrip.on / Service /blog/feed Collec.on /blog/feed/entry.atom Entry /blog/entry Alternate Representa.on

Service Introspec.on Document GET / <service xmlns="http://www.w3.org/2007/app" xmlns:atom="http://www.w3.org/2005/atom"> <workspace> <atom:title>dan s Website</atom:title> <collection href="http://netzooid.com/blog/feed"> <atom:title>dan s Blog</atom:title> </collection> <collection href="http://netzooid.com/pics"> <atom:title>dan s Pictures</atom:title> <accept>image/png</accept> <accept>image/jpeg</accept> <accept>image/gif</accept> </collection> </workspace> </service> alternate representa.on

From collec.on to resource GET /blog/feed <?xml version="1.0" encoding="utf-8"?> <feed xmlns="http://www.w3.org/2005/atom"> <title>dan s Blog</title> <link href="http://netzooid.com/blog/"/> <updated>2007-12-13t18:30:02z</updated> <author> <name>dan Diephouse</name> </author> <id>urn:uuid:60a76c80-d399-11d9-b91c-0003939e0af6</id> <entry> <title>building services with AtomPub</title> <link href="http://netzooid.com/blog/app_services"/> <link href="http://netzooid.com/blog/app_services rel="edit"/> <id>urn:uuid:1225c695-cfb8-4ebb-aaaa-80da344efa6a</id> <updated>2007-12-13t18:30:02z</updated> <content> (you must have content or a summary) </content> </entry> </feed> alternate representa.on Editable entry

Retrieve individual entry GET /blog/feed/app_services.atom <entry> <title>building services with AtomPub</title> <link href="http://netzooid.com/blog/app_services"/> <link href="http://netzooid.com/blog/feed/app_services.atom rel= edit /> <id>urn:uuid:1225c695-cfb8-4ebb-aaaa-80da344efa6a</id> <updated>2007-12-13t18:30:02z</updated> <content> </content> </entry>

Create a new entry

HTTP Response to POST

APP Post for Google Calendar

Editable Atom Entry

PUT of modified entry Prevent Overwrites

Delete an Entry

APP and Atom Media Resources Manipula.on of generic (non XML) resources via APP Photo collec.ons Podcasts Video blogging Wikis Sobware repositories Office suits Concepts Media Resource typed content Media Link atom entry (metadata) about content

APP Media Resource Data Model Resources Descrip.on /pics Collec.on /pics/pic.png Media Resource /pics/pic.atom Media Link Entry

Media Service <service xmlns="http://www.w3.org/2007/app" xmlns:atom="http://www.w3.org/2005/atom"> <workspace> <atom:title>dan s Website</atom:title> <collection href="http://netzooid.com/blog/feed"> <atom:title>dan s Blog</atom:title> </collection> <collection href="http://netzooid.com/pics"> <atom:title>dan s Pictures</atom:title> <accept>image/png</accept> <accept>image/jpeg</accept> <accept>image/gif</accept> </collection> </workspace> </service>

Pos.ng Media Hint to server for naming of resource

Response to Media POST