Design Strategies for a Distributed Web

Post on 09-May-2015

5.821 views 0 download

description

Presentation from Xtech in Dublin 2008 on advantages, problems and potential solutions for bringing a mashups to larger commercial web application development

Transcript of Design Strategies for a Distributed Web

Xtech Dublin 2008

Gareth Rushgrove | morethanseven.net

Design Strategies for a Distributed Web

Gareth Rushgrove, Developer, GCAP Interactive

Gareth Rushgrove | morethanseven.net

In the Beginning

Gareth Rushgrove | morethanseven.net

Web Sites to Web Applications

Gareth Rushgrove | morethanseven.net

Development Frameworks

Gareth Rushgrove | morethanseven.net

Development Frameworks

Gareth Rushgrove | morethanseven.net

Development Frameworks

Gareth Rushgrove | morethanseven.net

Consumer Web APIs

Gareth Rushgrove | morethanseven.net

Infrastructure Web APIs

Gareth Rushgrove | morethanseven.net

home about search log in sign up as a django person

Django People

Showing 100 recent signups (out of 2274) - if you're a Django developer, why not add yourselfto the site?

Discover users of the Django Web framework near you

Looking for a Django job? check out Djangogigs.com

United States 688 people Brazil 160 people

United Kingdom 160 people Germany 103 people

Poland 99 people China 94 people

Russia 74 people Canada 59 people

France 54 people Australia 53 people

Spain 48 people Italy 46 people

Netherlands 46 people Sweden 34 people

Ukraine 33 people India 29 people

Argentina 29 people Norway 23 people

Switzerland 23 people Denmark 22 people

Ireland 22 people Czech Republic 21 people

Finland 21 people Belgium 17 people

New Zealand 17 people Austria 17 people

Israel 15 people Portugal 14 people

Turkey 13 people Slovenia 13 people

Croatia 12 people Japan 10 people

Mexico 9 people Taiwan 9 people

Indonesia 9 people South Korea 8 people

Philippines 8 people Colombia 8 people

Greece 7 people Hungary 7 people

Venezuela 7 people Peru 7 people

South Africa 7 people Chile 7 people

Thailand 7 people Romania 6 people

Cuba 6 people Malaysia 6 people

Bulgaria 6 people Iceland 6 people

Bolivia 5 people Belarus 5 people

Slovakia 5 people Latvia 5 people

Uruguay 4 people Egypt 4 people

Singapore 3 people Ecuador 3 people

Lithuania 3 people Estonia 3 people

Morocco 3 people Nepal 2 people

Isle of Man 2 people Moldova 2 people

Malawi 1 person Costa Rica 1 person

Georgia 1 person Jamaica 1 person

Barbados 1 person Trinidad and Tobago 1 person

Honduras 1 person Mozambique 1 person

Saudi Arabia 1 person Kuwait 1 person

Nigeria 1 person Lebanon 1 person

Uzbekistan 1 person Luxembourg 1 person

Belize 1 person Senegal 1 person

Vietnam 1 person Syria 1 person

Fiji 1 person United Arab Emirates 1 person

Iran 1 person Macedonia 1 person

Tokelau 1 person Malta 1 person

Puerto Rico 1 person Tunisia 1 person

Map data ©2008 Europa Technologies - Terms of Use

Map Satellite Hybrid

Mashups

Gareth Rushgrove | morethanseven.net

Websites Talking To Websites

Gareth Rushgrove | morethanseven.net

“Mashups are the most interesting innovation in software development in 20 years

Douglas Crockford

Building Blocks

Gareth Rushgrove | morethanseven.net

“An aggregate web of connected data sources and services

Tom Coates

Remote Services

Gareth Rushgrove | morethanseven.net

Remote Data

Gareth Rushgrove | morethanseven.net

A Semantic Web

Gareth Rushgrove | morethanseven.net

A Semantic Web

Gareth Rushgrove | morethanseven.net

Url

Format

Output type

Json callback

Report

ufXtract - Microformats Parser (Beta 0.2.2)

ufXtract is a new microformats parser. It has been built from the ground up to take configurationobjects which allow the parsing of different microformats or POSH patterns. The component alsocontains an extendable output format option.

I am building a test suite to fine tune the components compliancy. Most of the compoundmicroformats apart hCard have some issues at the moment. If you have any comments or want topoint out issues please email - info.backnetwork.com

.

hCard

text

Submit

Example urls

http://lab.backnetwork.com/examples/1/page1.htm

Updated

29-Nov-07Added support for pages encoded with ISO-8859-1.

24-Nov-07Some internal changes which fix given-name in hcards and incorrect Url paths from page whichhave been redirected using 302

16-Nov-07I have added error handling and number of other small improvements such as the reporting feature.The major fixes are that the component will now successfully handle multiple header includes oftenused in hCalendar. The hAtom output has been addressed, but as yet not fully tested.

Example Xml output

Example Xml error

lab.backnetwork

Madgex Limited All rights reserved

<?xml version="1.0" encoding="utf-8" standalone="yes" ?>

<ufxtract>

<vcard>

<fn>Gareth Rushgrove>/fn>

<n>

<given-name>Gareth</given-name>

<family-name>Rushgrove</family-name>

</n>

<url>http://morethanseven.net/</url>

</vcard>

<report>

<url status="200" millisec="109">http://lab.backnetwork.com/examples/1/page1.htm</url>

<found>1</found>

</report>

</ufxtract>

<?xml version="1.0" encoding="utf-8" standalone="yes" ?>

<ufxtract>

<errors>

<error>

<msg>The remote name could not be resolved: 'htp'</msg>

<url>http://htp://localhost/BacknetworkLab/examples/1/page1.htm</url>

</error>

</errors>

</ufxtract>

New

Portable social networkprofile parser

Demo 1

ufXtract - Microformats Parser

Older and superseded

XFN/hCard pagination

XFN pagination

AboutThis site showcases someof the experimental workbeing carried out forbacknetwork. By sharingthis early work we hope insome way to add to theimportant technical andarchitectural discussionsabout portable socialnetworks.

Remote Services Using Remote Data

Gareth Rushgrove | morethanseven.net

Remote Platform

Gareth Rushgrove | morethanseven.net

Not Just The Server

Gareth Rushgrove | morethanseven.net

Adobe Air

Site Specific Browsers

Gareth Rushgrove | morethanseven.net

Browser Enhancements

Gareth Rushgrove | morethanseven.net

Advantages

Gareth Rushgrove | morethanseven.net

Speed

Gareth Rushgrove | morethanseven.net

1

Scalability

Gareth Rushgrove | morethanseven.net

2

Quality

Gareth Rushgrove | morethanseven.net

3

Cost

Gareth Rushgrove | morethanseven.net

4

Problems

Gareth Rushgrove | morethanseven.net

Stability

Gareth Rushgrove | morethanseven.net

1

Reliance

Gareth Rushgrove | morethanseven.net

2

Features

Gareth Rushgrove | morethanseven.net

3

Security

Gareth Rushgrove | morethanseven.net

4

Solutions

Gareth Rushgrove | morethanseven.net

Ecosystem

Gareth Rushgrove | morethanseven.net

1

Abstraction

Gareth Rushgrove | morethanseven.net

Open Source

Gareth Rushgrove | morethanseven.net

Service Level Agreement

Gareth Rushgrove | morethanseven.net

2

Defensive Development

Gareth Rushgrove | morethanseven.net

3

Don’t Trust APIs

Gareth Rushgrove | morethanseven.net

Caching

Gareth Rushgrove | morethanseven.net

Design for Downtime

Gareth Rushgrove | morethanseven.net

Design for Downtime

Gareth Rushgrove | morethanseven.net

Design for Downtime

Gareth Rushgrove | morethanseven.net

Design for Downtime

Gareth Rushgrove | morethanseven.net

High Reliability Systems

Gareth Rushgrove | morethanseven.net

4

Conclusions

Gareth Rushgrove | morethanseven.net

Advantages

Gareth Rushgrove | morethanseven.net

2. Scalability

3. Quality

1. Speed

4. Cost

Problems

Gareth Rushgrove | morethanseven.net

2. Reliance

3. Features

1. Stability

4. Security

Solutions

Gareth Rushgrove | morethanseven.net

2. Service Level Agreements

3. Defensive Development

1. Vibrant Ecosystem

4. High Reliability Systems

API as User Interface

Gareth Rushgrove | morethanseven.net

“The API is the product Todd Sampson

Thanks flickr

Gareth Rushgrove | morethanseven.net

flickr.com/photos/greenchameleon/413936228/

flickr.com/photos/drown/218784366/

flickr.com/photos/--stromberg--/786493111/

flickr.com/photos/dishu/196505696/

flickr.com/photos/zackhughesphotography/

flickr.com/photos/riot_/122129120/

flickr.com/photos/toptechwriter/347297711/

flickr.com/photos/eddie-lawrance/2422166463/

flickr.com/photos/timcaynes/71212509/

splintered.co.uk

flickr.com/photos/riot_/162092237/

flickr.com/photos/midgeymoo/250453177/

flickr.com/photos/benmcleod/97049880/

flickr.com/photos/rougerouge/215087724/

flickr.com/photos/bdebaca/1459722501/

flickr.com/photos/auro/

flickr.com/photos/chrisjones/31900809/

flickr.com/photos/vgm8383/2191223539/

flickr.com/photos/think_different/2140311929

flickr.com/photos/fukagawa/207296944/

Hopefully Still Time for Questions

Gareth Rushgrove | morethanseven.net