78
© 2012 innoQ Deutschland GmbH Enterprise IT vs. WWW Stefan Tilkov | @stilkov | JUG Ostfalen | AutoUni 31.03.2012 iSA QB Thursday, May 31, 12

iSAQB - innoq.com...May 31, 2012  · © 2012 innoQ Deutschland GmbH Enterprise IT vs. WWW Stefan Tilkov | @stilkov | JUG Ostfalen | AutoUni 31.03.2012 iSAQB Thursday, May 31, 12

  • Upload
    others

  • View
    2

  • Download
    0

Embed Size (px)

Citation preview

Page 1: iSAQB - innoq.com...May 31, 2012  · © 2012 innoQ Deutschland GmbH Enterprise IT vs. WWW Stefan Tilkov | @stilkov | JUG Ostfalen | AutoUni 31.03.2012 iSAQB Thursday, May 31, 12

© 2012 innoQ Deutschland GmbH

Enterprise IT vs. WWWStefan Tilkov | @stilkov | JUG Ostfalen | AutoUni 31.03.2012

iSAQB

Thursday, May 31, 12

Page 2: iSAQB - innoq.com...May 31, 2012  · © 2012 innoQ Deutschland GmbH Enterprise IT vs. WWW Stefan Tilkov | @stilkov | JUG Ostfalen | AutoUni 31.03.2012 iSAQB Thursday, May 31, 12

© 2012 innoQ Deutschland GmbH

@stilkov

2. iSAQB Architecture Days/

ObjektSPEKTRUM Information Days

„So!warearchitektur im Team. So!warearchitektur im Wandel“

20.-22.11.2012Call for Papers: [email protected]

iSAQB

Thursday, May 31, 12

Page 3: iSAQB - innoq.com...May 31, 2012  · © 2012 innoQ Deutschland GmbH Enterprise IT vs. WWW Stefan Tilkov | @stilkov | JUG Ostfalen | AutoUni 31.03.2012 iSAQB Thursday, May 31, 12

© 2012 innoQ Deutschland GmbH

@stilkov

http://www.innoq.comBeratungsunternehmen mit Schwerpunkt auf Softwarearchitektur & effizienter Entwicklung

Gründungsmitglied iSAQB e.V.

~60 Mitarbeiter (Q1 2012)

Beratung, Schulung, Entwicklung

Java/Java EE, Ruby on Rails u.a

Standorte in Düsseldorf, Frankfurt, München, Zürich

Thursday, May 31, 12

Page 4: iSAQB - innoq.com...May 31, 2012  · © 2012 innoQ Deutschland GmbH Enterprise IT vs. WWW Stefan Tilkov | @stilkov | JUG Ostfalen | AutoUni 31.03.2012 iSAQB Thursday, May 31, 12

© 2012 innoQ Deutschland GmbH

@stilkov

(Prelude)

Thursday, May 31, 12

Page 5: iSAQB - innoq.com...May 31, 2012  · © 2012 innoQ Deutschland GmbH Enterprise IT vs. WWW Stefan Tilkov | @stilkov | JUG Ostfalen | AutoUni 31.03.2012 iSAQB Thursday, May 31, 12

© 2012 innoQ Deutschland GmbH

@stilkov

REST

Thursday, May 31, 12

Page 6: iSAQB - innoq.com...May 31, 2012  · © 2012 innoQ Deutschland GmbH Enterprise IT vs. WWW Stefan Tilkov | @stilkov | JUG Ostfalen | AutoUni 31.03.2012 iSAQB Thursday, May 31, 12

© 2012 innoQ Deutschland GmbH

@stilkov

RESTful HTTP

Thursday, May 31, 12

Page 7: iSAQB - innoq.com...May 31, 2012  · © 2012 innoQ Deutschland GmbH Enterprise IT vs. WWW Stefan Tilkov | @stilkov | JUG Ostfalen | AutoUni 31.03.2012 iSAQB Thursday, May 31, 12

© 2012 innoQ Deutschland GmbH

@stilkov

URIs Identi"es Resources

http://example.com/orders?year=2008

http://example.com/customers/1234

http://example.com/orders/2007/10/776654

http://example.com/products/4554

http://example.com/processes/sal-increase-234

Thursday, May 31, 12

Page 8: iSAQB - innoq.com...May 31, 2012  · © 2012 innoQ Deutschland GmbH Enterprise IT vs. WWW Stefan Tilkov | @stilkov | JUG Ostfalen | AutoUni 31.03.2012 iSAQB Thursday, May 31, 12

© 2012 innoQ Deutschland GmbH

@stilkov

Resources are Linked

Thursday, May 31, 12

Page 9: iSAQB - innoq.com...May 31, 2012  · © 2012 innoQ Deutschland GmbH Enterprise IT vs. WWW Stefan Tilkov | @stilkov | JUG Ostfalen | AutoUni 31.03.2012 iSAQB Thursday, May 31, 12

© 2012 innoQ Deutschland GmbH

@stilkov

Representations in di#erent Formats

XML

HTMLXHTML

JSONYAML

Plain Text

PDF

Binary

Thursday, May 31, 12

Page 10: iSAQB - innoq.com...May 31, 2012  · © 2012 innoQ Deutschland GmbH Enterprise IT vs. WWW Stefan Tilkov | @stilkov | JUG Ostfalen | AutoUni 31.03.2012 iSAQB Thursday, May 31, 12

© 2012 innoQ Deutschland GmbH

@stilkov

Customer

Order

Delivery Product

CustomerList

ProductCatalog

Rating

«interface»Resource

Thursday, May 31, 12

Page 11: iSAQB - innoq.com...May 31, 2012  · © 2012 innoQ Deutschland GmbH Enterprise IT vs. WWW Stefan Tilkov | @stilkov | JUG Ostfalen | AutoUni 31.03.2012 iSAQB Thursday, May 31, 12

© 2012 innoQ Deutschland GmbH

@stilkov

GETPUT

POSTDELETE

«interface»Resource

Thursday, May 31, 12

Page 12: iSAQB - innoq.com...May 31, 2012  · © 2012 innoQ Deutschland GmbH Enterprise IT vs. WWW Stefan Tilkov | @stilkov | JUG Ostfalen | AutoUni 31.03.2012 iSAQB Thursday, May 31, 12

© 2012 innoQ Deutschland GmbH

@stilkov

http://www.flickr.com/photos/stygiangloom/230412544/

Tunneling

Thursday, May 31, 12

Page 13: iSAQB - innoq.com...May 31, 2012  · © 2012 innoQ Deutschland GmbH Enterprise IT vs. WWW Stefan Tilkov | @stilkov | JUG Ostfalen | AutoUni 31.03.2012 iSAQB Thursday, May 31, 12

© 2012 innoQ Deutschland GmbH

@stilkov

(a.k.a. The SOAP Way)

Thursday, May 31, 12

Page 14: iSAQB - innoq.com...May 31, 2012  · © 2012 innoQ Deutschland GmbH Enterprise IT vs. WWW Stefan Tilkov | @stilkov | JUG Ostfalen | AutoUni 31.03.2012 iSAQB Thursday, May 31, 12

© 2012 innoQ Deutschland GmbH

@stilkov

POST http://example.com/CustomerMgmt<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"> <soap:Body> <deleteCustomer xmlns="http://example.com/ns1"> <customerId>13</customerId> </ns:deleteCustomer> </soap:Body></soap:Envelope>

Method ID Endpoint

Thursday, May 31, 12

Page 15: iSAQB - innoq.com...May 31, 2012  · © 2012 innoQ Deutschland GmbH Enterprise IT vs. WWW Stefan Tilkov | @stilkov | JUG Ostfalen | AutoUni 31.03.2012 iSAQB Thursday, May 31, 12

© 2012 innoQ Deutschland GmbH

@stilkov

Thursday, May 31, 12

Page 16: iSAQB - innoq.com...May 31, 2012  · © 2012 innoQ Deutschland GmbH Enterprise IT vs. WWW Stefan Tilkov | @stilkov | JUG Ostfalen | AutoUni 31.03.2012 iSAQB Thursday, May 31, 12

© 2012 innoQ Deutschland GmbH

@stilkov

Thursday, May 31, 12

Page 17: iSAQB - innoq.com...May 31, 2012  · © 2012 innoQ Deutschland GmbH Enterprise IT vs. WWW Stefan Tilkov | @stilkov | JUG Ostfalen | AutoUni 31.03.2012 iSAQB Thursday, May 31, 12

© 2012 innoQ Deutschland GmbH

@stilkov

Thursday, May 31, 12

Page 18: iSAQB - innoq.com...May 31, 2012  · © 2012 innoQ Deutschland GmbH Enterprise IT vs. WWW Stefan Tilkov | @stilkov | JUG Ostfalen | AutoUni 31.03.2012 iSAQB Thursday, May 31, 12

© 2012 innoQ Deutschland GmbH

@stilkov

“Thank you for nothing.”

Enterprise Web

"Here are the missing parts of the Web!”

Thursday, May 31, 12

Page 19: iSAQB - innoq.com...May 31, 2012  · © 2012 innoQ Deutschland GmbH Enterprise IT vs. WWW Stefan Tilkov | @stilkov | JUG Ostfalen | AutoUni 31.03.2012 iSAQB Thursday, May 31, 12

© 2012 innoQ Deutschland GmbH

@stilkov

http://rest-http.info

Thursday, May 31, 12

Page 20: iSAQB - innoq.com...May 31, 2012  · © 2012 innoQ Deutschland GmbH Enterprise IT vs. WWW Stefan Tilkov | @stilkov | JUG Ostfalen | AutoUni 31.03.2012 iSAQB Thursday, May 31, 12

© 2012 innoQ Deutschland GmbH

@stilkov

The Human Web

Thursday, May 31, 12

Page 21: iSAQB - innoq.com...May 31, 2012  · © 2012 innoQ Deutschland GmbH Enterprise IT vs. WWW Stefan Tilkov | @stilkov | JUG Ostfalen | AutoUni 31.03.2012 iSAQB Thursday, May 31, 12

© 2012 innoQ Deutschland GmbH

@stilkov

Thursday, May 31, 12

Page 22: iSAQB - innoq.com...May 31, 2012  · © 2012 innoQ Deutschland GmbH Enterprise IT vs. WWW Stefan Tilkov | @stilkov | JUG Ostfalen | AutoUni 31.03.2012 iSAQB Thursday, May 31, 12

© 2012 innoQ Deutschland GmbH

@stilkov

Resources

Pretty URLs

Bookmarks

Collaboration

Caching

Hypermedia

Thursday, May 31, 12

Page 23: iSAQB - innoq.com...May 31, 2012  · © 2012 innoQ Deutschland GmbH Enterprise IT vs. WWW Stefan Tilkov | @stilkov | JUG Ostfalen | AutoUni 31.03.2012 iSAQB Thursday, May 31, 12

© 2012 innoQ Deutschland GmbH

@stilkov

Web Sitesvs.

Web Applications

Thursday, May 31, 12

Page 24: iSAQB - innoq.com...May 31, 2012  · © 2012 innoQ Deutschland GmbH Enterprise IT vs. WWW Stefan Tilkov | @stilkov | JUG Ostfalen | AutoUni 31.03.2012 iSAQB Thursday, May 31, 12

© 2012 innoQ Deutschland GmbH

@stilkov

Using the Webvs.

Abusing the Web

Thursday, May 31, 12

Page 25: iSAQB - innoq.com...May 31, 2012  · © 2012 innoQ Deutschland GmbH Enterprise IT vs. WWW Stefan Tilkov | @stilkov | JUG Ostfalen | AutoUni 31.03.2012 iSAQB Thursday, May 31, 12

© 2012 innoQ Deutschland GmbH

@stilkov

There should be no applications

Thursday, May 31, 12

Page 26: iSAQB - innoq.com...May 31, 2012  · © 2012 innoQ Deutschland GmbH Enterprise IT vs. WWW Stefan Tilkov | @stilkov | JUG Ostfalen | AutoUni 31.03.2012 iSAQB Thursday, May 31, 12

© 2012 innoQ Deutschland GmbH

@stilkov

Customer

Order Delivery

ProductCustomerList

ProductCatalog

CustomerView

OrderEntryForm ProductMaintenanceForm

Thursday, May 31, 12

Page 27: iSAQB - innoq.com...May 31, 2012  · © 2012 innoQ Deutschland GmbH Enterprise IT vs. WWW Stefan Tilkov | @stilkov | JUG Ostfalen | AutoUni 31.03.2012 iSAQB Thursday, May 31, 12

© 2012 innoQ Deutschland GmbH

@stilkov

Customer

Order

Delivery Product

CustomerList

ProductCatalog

Rating

«interface»Resource

CustomerViewOrderEntryForm

ProductMaintenanceForm

Thursday, May 31, 12

Page 28: iSAQB - innoq.com...May 31, 2012  · © 2012 innoQ Deutschland GmbH Enterprise IT vs. WWW Stefan Tilkov | @stilkov | JUG Ostfalen | AutoUni 31.03.2012 iSAQB Thursday, May 31, 12

© 2012 innoQ Deutschland GmbH

@stilkov

Stop hiding the truth

Thursday, May 31, 12

Page 29: iSAQB - innoq.com...May 31, 2012  · © 2012 innoQ Deutschland GmbH Enterprise IT vs. WWW Stefan Tilkov | @stilkov | JUG Ostfalen | AutoUni 31.03.2012 iSAQB Thursday, May 31, 12

© 2012 innoQ Deutschland GmbH

@stilkov

Thursday, May 31, 12

Page 30: iSAQB - innoq.com...May 31, 2012  · © 2012 innoQ Deutschland GmbH Enterprise IT vs. WWW Stefan Tilkov | @stilkov | JUG Ostfalen | AutoUni 31.03.2012 iSAQB Thursday, May 31, 12

© 2012 innoQ Deutschland GmbH

@stilkov

URIsHTTPHTMLCSS

Javascript

SyndicationWeb Servers

Caching ProxiesLoad Balancers

CDNs

Thursday, May 31, 12

Page 31: iSAQB - innoq.com...May 31, 2012  · © 2012 innoQ Deutschland GmbH Enterprise IT vs. WWW Stefan Tilkov | @stilkov | JUG Ostfalen | AutoUni 31.03.2012 iSAQB Thursday, May 31, 12

© 2012 innoQ Deutschland GmbH

@stilkov

Thursday, May 31, 12

Page 32: iSAQB - innoq.com...May 31, 2012  · © 2012 innoQ Deutschland GmbH Enterprise IT vs. WWW Stefan Tilkov | @stilkov | JUG Ostfalen | AutoUni 31.03.2012 iSAQB Thursday, May 31, 12

© 2012 innoQ Deutschland GmbH

@stilkov

10 million requests/day3.6 million pageviews/day430,000 registered users2.3 million projects19 million forum posts13 million private messages8 million photos (Flickr)70,000 active users/day900 new sign ups/day50,000 new forum posts/day

4 Months1 DeveloperOn weekends & evenings

Thursday, May 31, 12

Page 33: iSAQB - innoq.com...May 31, 2012  · © 2012 innoQ Deutschland GmbH Enterprise IT vs. WWW Stefan Tilkov | @stilkov | JUG Ostfalen | AutoUni 31.03.2012 iSAQB Thursday, May 31, 12

© 2012 innoQ Deutschland GmbH

@stilkov

Ruby on RailsMySQLGentoo LinuxCapistranoNginxXenHAproxyMuninTokyo Cabinet

MemcachedTyrantNagiosHopToadNewRelicSyslog-ngS3CloudfrontSphinx

Thursday, May 31, 12

Page 34: iSAQB - innoq.com...May 31, 2012  · © 2012 innoQ Deutschland GmbH Enterprise IT vs. WWW Stefan Tilkov | @stilkov | JUG Ostfalen | AutoUni 31.03.2012 iSAQB Thursday, May 31, 12

“© 2012 innoQ Deutschland GmbH

@stilkov

What I’m writing here is the single most important take-away from my Sun years, and it fits in a sentence: The community of developers whose work you see on the Web, who probably don’t know what ADO or UML or JPA even stand for, deploy better systems at less cost in less time at lower risk than we see in the Enterprise.

Tim Brayhttp://www.tbray.org/ongoing/When/201x/2010/01/02/Doing-It-Wrong

Thursday, May 31, 12

Page 35: iSAQB - innoq.com...May 31, 2012  · © 2012 innoQ Deutschland GmbH Enterprise IT vs. WWW Stefan Tilkov | @stilkov | JUG Ostfalen | AutoUni 31.03.2012 iSAQB Thursday, May 31, 12

© 2012 innoQ Deutschland GmbH

@stilkov

Thursday, May 31, 12

Page 36: iSAQB - innoq.com...May 31, 2012  · © 2012 innoQ Deutschland GmbH Enterprise IT vs. WWW Stefan Tilkov | @stilkov | JUG Ostfalen | AutoUni 31.03.2012 iSAQB Thursday, May 31, 12

© 2012 innoQ Deutschland GmbH

@stilkov

“My Internet is bigger than your enterprise.”

Paraphrasing Dare Obasanjo,see http://tinyurl.com/dare-enterprise

Thursday, May 31, 12

Page 37: iSAQB - innoq.com...May 31, 2012  · © 2012 innoQ Deutschland GmbH Enterprise IT vs. WWW Stefan Tilkov | @stilkov | JUG Ostfalen | AutoUni 31.03.2012 iSAQB Thursday, May 31, 12

© 2012 innoQ Deutschland GmbH

@stilkov

Scale vs. Complexity

Thursday, May 31, 12

Page 38: iSAQB - innoq.com...May 31, 2012  · © 2012 innoQ Deutschland GmbH Enterprise IT vs. WWW Stefan Tilkov | @stilkov | JUG Ostfalen | AutoUni 31.03.2012 iSAQB Thursday, May 31, 12

© 2012 innoQ Deutschland GmbH

@stilkov

Inherent Complexityvs.

Incidental Complexity

Thursday, May 31, 12

Page 39: iSAQB - innoq.com...May 31, 2012  · © 2012 innoQ Deutschland GmbH Enterprise IT vs. WWW Stefan Tilkov | @stilkov | JUG Ostfalen | AutoUni 31.03.2012 iSAQB Thursday, May 31, 12

© 2012 innoQ Deutschland GmbH

@stilkov

XML Stock Quotes

JAXB Java Beans

Session Beans

Transfer Objects

Web Framework

Portlets

Portal Server

Thursday, May 31, 12

Page 40: iSAQB - innoq.com...May 31, 2012  · © 2012 innoQ Deutschland GmbH Enterprise IT vs. WWW Stefan Tilkov | @stilkov | JUG Ostfalen | AutoUni 31.03.2012 iSAQB Thursday, May 31, 12

© 2012 innoQ Deutschland GmbH

@stilkov

Thursday, May 31, 12

Page 41: iSAQB - innoq.com...May 31, 2012  · © 2012 innoQ Deutschland GmbH Enterprise IT vs. WWW Stefan Tilkov | @stilkov | JUG Ostfalen | AutoUni 31.03.2012 iSAQB Thursday, May 31, 12

© 2012 innoQ Deutschland GmbH

@stilkov

What’s in an app?

Thursday, May 31, 12

Page 42: iSAQB - innoq.com...May 31, 2012  · © 2012 innoQ Deutschland GmbH Enterprise IT vs. WWW Stefan Tilkov | @stilkov | JUG Ostfalen | AutoUni 31.03.2012 iSAQB Thursday, May 31, 12

© 2012 innoQ Deutschland GmbH

@stilkov

Browser

Server AClient A

Server BClient B

Thursday, May 31, 12

Page 43: iSAQB - innoq.com...May 31, 2012  · © 2012 innoQ Deutschland GmbH Enterprise IT vs. WWW Stefan Tilkov | @stilkov | JUG Ostfalen | AutoUni 31.03.2012 iSAQB Thursday, May 31, 12

© 2012 innoQ Deutschland GmbH

@stilkov

Browser

Server A

Server B

Client Portal

Thursday, May 31, 12

Page 44: iSAQB - innoq.com...May 31, 2012  · © 2012 innoQ Deutschland GmbH Enterprise IT vs. WWW Stefan Tilkov | @stilkov | JUG Ostfalen | AutoUni 31.03.2012 iSAQB Thursday, May 31, 12

© 2012 innoQ Deutschland GmbH

@stilkov

Thursday, May 31, 12

Page 45: iSAQB - innoq.com...May 31, 2012  · © 2012 innoQ Deutschland GmbH Enterprise IT vs. WWW Stefan Tilkov | @stilkov | JUG Ostfalen | AutoUni 31.03.2012 iSAQB Thursday, May 31, 12

© 2012 innoQ Deutschland GmbH

@stilkov

Browser

Server A

Server B

Resource 1

Resource 2

Resource n

Representation 1

Representation 2

Representation n

......

Thursday, May 31, 12

Page 46: iSAQB - innoq.com...May 31, 2012  · © 2012 innoQ Deutschland GmbH Enterprise IT vs. WWW Stefan Tilkov | @stilkov | JUG Ostfalen | AutoUni 31.03.2012 iSAQB Thursday, May 31, 12

© 2012 innoQ Deutschland GmbH

@stilkov

Browser

HTML Page

Backend 1

UI 1

FrontendServer

UI 2

Server-side integration

Backend 2

Examples:ESI-CachesSSIPortal Server

Thursday, May 31, 12

Page 47: iSAQB - innoq.com...May 31, 2012  · © 2012 innoQ Deutschland GmbH Enterprise IT vs. WWW Stefan Tilkov | @stilkov | JUG Ostfalen | AutoUni 31.03.2012 iSAQB Thursday, May 31, 12

© 2012 innoQ Deutschland GmbH

@stilkov

Browser

HTML Page

Backend 1

UI 1

UI 2

Client-side integration

Backend 2

Examples:AJAXProprietary Frameworks

Thursday, May 31, 12

Page 48: iSAQB - innoq.com...May 31, 2012  · © 2012 innoQ Deutschland GmbH Enterprise IT vs. WWW Stefan Tilkov | @stilkov | JUG Ostfalen | AutoUni 31.03.2012 iSAQB Thursday, May 31, 12

© 2012 innoQ Deutschland GmbH

@stilkov

Multiple tabs

Multiple windows

Menus

Bookmarks

Personalization

UI Integration

Thursday, May 31, 12

Page 49: iSAQB - innoq.com...May 31, 2012  · © 2012 innoQ Deutschland GmbH Enterprise IT vs. WWW Stefan Tilkov | @stilkov | JUG Ostfalen | AutoUni 31.03.2012 iSAQB Thursday, May 31, 12

© 2012 innoQ Deutschland GmbH

@stilkov

My browser is my portal

Thursday, May 31, 12

Page 50: iSAQB - innoq.com...May 31, 2012  · © 2012 innoQ Deutschland GmbH Enterprise IT vs. WWW Stefan Tilkov | @stilkov | JUG Ostfalen | AutoUni 31.03.2012 iSAQB Thursday, May 31, 12

© 2012 innoQ Deutschland GmbH

@stilkov

Browser

HTML Page 1

Links

Backend 1

Backend 2

AssetServer

HTML Page 2

CSS

<<creates>>

<<creates>>

Thursday, May 31, 12

Page 51: iSAQB - innoq.com...May 31, 2012  · © 2012 innoQ Deutschland GmbH Enterprise IT vs. WWW Stefan Tilkov | @stilkov | JUG Ostfalen | AutoUni 31.03.2012 iSAQB Thursday, May 31, 12

© 2012 innoQ Deutschland GmbH

@stilkov

Choosing a Web framework

Thursday, May 31, 12

Page 52: iSAQB - innoq.com...May 31, 2012  · © 2012 innoQ Deutschland GmbH Enterprise IT vs. WWW Stefan Tilkov | @stilkov | JUG Ostfalen | AutoUni 31.03.2012 iSAQB Thursday, May 31, 12

© 2012 innoQ Deutschland GmbH

@stilkov

How much HTTP would you like with that?

Thursday, May 31, 12

Page 53: iSAQB - innoq.com...May 31, 2012  · © 2012 innoQ Deutschland GmbH Enterprise IT vs. WWW Stefan Tilkov | @stilkov | JUG Ostfalen | AutoUni 31.03.2012 iSAQB Thursday, May 31, 12

© 2012 innoQ Deutschland GmbH

@stilkov

Server-side component-based

JSF

ASP.NET

Wicket

Tapestry

Vaadin

Thursday, May 31, 12

Page 54: iSAQB - innoq.com...May 31, 2012  · © 2012 innoQ Deutschland GmbH Enterprise IT vs. WWW Stefan Tilkov | @stilkov | JUG Ostfalen | AutoUni 31.03.2012 iSAQB Thursday, May 31, 12

© 2012 innoQ Deutschland GmbH

@stilkov

Request/Response-oriented

Struts

PlayGrails

Rails

ASP.NET MVC

PHPDjango

Spring MVC

Thursday, May 31, 12

Page 55: iSAQB - innoq.com...May 31, 2012  · © 2012 innoQ Deutschland GmbH Enterprise IT vs. WWW Stefan Tilkov | @stilkov | JUG Ostfalen | AutoUni 31.03.2012 iSAQB Thursday, May 31, 12

© 2012 innoQ Deutschland GmbH

@stilkov

Rich-client

Applets

JavaFXGWT

Silverlight

Flash/Flex

EchoZK

Meteor

Backbone.js

Thursday, May 31, 12

Page 56: iSAQB - innoq.com...May 31, 2012  · © 2012 innoQ Deutschland GmbH Enterprise IT vs. WWW Stefan Tilkov | @stilkov | JUG Ostfalen | AutoUni 31.03.2012 iSAQB Thursday, May 31, 12

© 2012 innoQ Deutschland GmbH

@stilkov

Linkable and “pretty” URIs

GET/POST di!erentiation

Support for caching

Full control over HTML

1 Resource, n Views

Request/Response Frameworks

Thursday, May 31, 12

Page 57: iSAQB - innoq.com...May 31, 2012  · © 2012 innoQ Deutschland GmbH Enterprise IT vs. WWW Stefan Tilkov | @stilkov | JUG Ostfalen | AutoUni 31.03.2012 iSAQB Thursday, May 31, 12

© 2012 innoQ Deutschland GmbH

@stilkov

Server

Client 1

Client 2State Client 1

State Client 2

Server State

R1R2

Rn

Representation

R1

R2

Turn session state …

Thursday, May 31, 12

Page 58: iSAQB - innoq.com...May 31, 2012  · © 2012 innoQ Deutschland GmbH Enterprise IT vs. WWW Stefan Tilkov | @stilkov | JUG Ostfalen | AutoUni 31.03.2012 iSAQB Thursday, May 31, 12

© 2012 innoQ Deutschland GmbH

@stilkov

Server

Client 1

C1 C1

Client 2

C2

State Client 1

State Client 2

Server State

Representation

R1 R2

RnC2

C2

C2

C1C1

R2

R1

… into client or resource state

Thursday, May 31, 12

Page 59: iSAQB - innoq.com...May 31, 2012  · © 2012 innoQ Deutschland GmbH Enterprise IT vs. WWW Stefan Tilkov | @stilkov | JUG Ostfalen | AutoUni 31.03.2012 iSAQB Thursday, May 31, 12

© 2012 innoQ Deutschland GmbH

@stilkov

Browser Server

HTML Page

Label

Label

Label

Label

Label

Label

Label

Label

Submit

Thursday, May 31, 12

Page 60: iSAQB - innoq.com...May 31, 2012  · © 2012 innoQ Deutschland GmbH Enterprise IT vs. WWW Stefan Tilkov | @stilkov | JUG Ostfalen | AutoUni 31.03.2012 iSAQB Thursday, May 31, 12

© 2012 innoQ Deutschland GmbH

@stilkov

Browser Server

Label

Label

Label

Next

Label

Label

Label

Next

Label

Label

Finish

SessionState

Thursday, May 31, 12

Page 61: iSAQB - innoq.com...May 31, 2012  · © 2012 innoQ Deutschland GmbH Enterprise IT vs. WWW Stefan Tilkov | @stilkov | JUG Ostfalen | AutoUni 31.03.2012 iSAQB Thursday, May 31, 12

© 2012 innoQ Deutschland GmbH

@stilkov

Browser

Server

Label

Label

Label

Next

Label

Label

Label

Next

Label

Label

Finish

HTML Page

Label

Label

Label

Label

Label

Label

Label

Label

Submit

Client State

Thursday, May 31, 12

Page 62: iSAQB - innoq.com...May 31, 2012  · © 2012 innoQ Deutschland GmbH Enterprise IT vs. WWW Stefan Tilkov | @stilkov | JUG Ostfalen | AutoUni 31.03.2012 iSAQB Thursday, May 31, 12

© 2012 innoQ Deutschland GmbH

@stilkov

ROCAhttp://roca-style.org/

Thursday, May 31, 12

Page 63: iSAQB - innoq.com...May 31, 2012  · © 2012 innoQ Deutschland GmbH Enterprise IT vs. WWW Stefan Tilkov | @stilkov | JUG Ostfalen | AutoUni 31.03.2012 iSAQB Thursday, May 31, 12

© 2012 innoQ Deutschland GmbH

@stilkov

From server to clientServer Client

Server-sideComponents

ROCASingle

Page Apps

Flash

Silverlight

Applets

Thursday, May 31, 12

Page 64: iSAQB - innoq.com...May 31, 2012  · © 2012 innoQ Deutschland GmbH Enterprise IT vs. WWW Stefan Tilkov | @stilkov | JUG Ostfalen | AutoUni 31.03.2012 iSAQB Thursday, May 31, 12

© 2012 innoQ Deutschland GmbH

@stilkov

MUSTPhoto under CC by mendhak

Thursday, May 31, 12

Page 65: iSAQB - innoq.com...May 31, 2012  · © 2012 innoQ Deutschland GmbH Enterprise IT vs. WWW Stefan Tilkov | @stilkov | JUG Ostfalen | AutoUni 31.03.2012 iSAQB Thursday, May 31, 12

© 2012 innoQ Deutschland GmbH

@stilkov

1. REST principles

2. Server-side application logic

3. No redundant logic

4. Non-browser access

5. Server sends structured HTML

6. Progressive enhancement/unobtrusive JavaScript

7. No dynamic JavaScript

Thursday, May 31, 12

Page 66: iSAQB - innoq.com...May 31, 2012  · © 2012 innoQ Deutschland GmbH Enterprise IT vs. WWW Stefan Tilkov | @stilkov | JUG Ostfalen | AutoUni 31.03.2012 iSAQB Thursday, May 31, 12

© 2012 innoQ Deutschland GmbH

@stilkov

SUGGESTED

Photo under CC by Sarah Reid

Thursday, May 31, 12

Page 67: iSAQB - innoq.com...May 31, 2012  · © 2012 innoQ Deutschland GmbH Enterprise IT vs. WWW Stefan Tilkov | @stilkov | JUG Ostfalen | AutoUni 31.03.2012 iSAQB Thursday, May 31, 12

© 2012 innoQ Deutschland GmbH

@stilkov

1. Additional representations(JSON, XML, ...)

2. Authentication via HTTP mechanisms, cookies if unavoidable

3. Use of HTML 5 history API

Thursday, May 31, 12

Page 68: iSAQB - innoq.com...May 31, 2012  · © 2012 innoQ Deutschland GmbH Enterprise IT vs. WWW Stefan Tilkov | @stilkov | JUG Ostfalen | AutoUni 31.03.2012 iSAQB Thursday, May 31, 12

© 2012 innoQ Deutschland GmbH

@stilkov

VIOLATIONS

Thursday, May 31, 12

Page 69: iSAQB - innoq.com...May 31, 2012  · © 2012 innoQ Deutschland GmbH Enterprise IT vs. WWW Stefan Tilkov | @stilkov | JUG Ostfalen | AutoUni 31.03.2012 iSAQB Thursday, May 31, 12

© 2012 innoQ Deutschland GmbH

@stilkov

1. Broken accessibility

2. Session state

3. Broken back/forward/refresh

4. No bookmarks/links

5. JS “engines” in client

6. Server-side dependency on JS-generated markup

7. Hashbangs et al.

Thursday, May 31, 12

Page 70: iSAQB - innoq.com...May 31, 2012  · © 2012 innoQ Deutschland GmbH Enterprise IT vs. WWW Stefan Tilkov | @stilkov | JUG Ostfalen | AutoUni 31.03.2012 iSAQB Thursday, May 31, 12

© 2012 innoQ Deutschland GmbH

@stilkov

Summary

Thursday, May 31, 12

Page 71: iSAQB - innoq.com...May 31, 2012  · © 2012 innoQ Deutschland GmbH Enterprise IT vs. WWW Stefan Tilkov | @stilkov | JUG Ostfalen | AutoUni 31.03.2012 iSAQB Thursday, May 31, 12

© 2012 innoQ Deutschland GmbH

@stilkov

Don’t be afraidof Web technologies

Thursday, May 31, 12

Page 72: iSAQB - innoq.com...May 31, 2012  · © 2012 innoQ Deutschland GmbH Enterprise IT vs. WWW Stefan Tilkov | @stilkov | JUG Ostfalen | AutoUni 31.03.2012 iSAQB Thursday, May 31, 12

© 2012 innoQ Deutschland GmbH

@stilkov

Embrace the Web,Don't !ght it

Thursday, May 31, 12

Page 73: iSAQB - innoq.com...May 31, 2012  · © 2012 innoQ Deutschland GmbH Enterprise IT vs. WWW Stefan Tilkov | @stilkov | JUG Ostfalen | AutoUni 31.03.2012 iSAQB Thursday, May 31, 12

© 2012 innoQ Deutschland GmbH

@stilkov

Standardize on the outside, not on the inside

Thursday, May 31, 12

Page 74: iSAQB - innoq.com...May 31, 2012  · © 2012 innoQ Deutschland GmbH Enterprise IT vs. WWW Stefan Tilkov | @stilkov | JUG Ostfalen | AutoUni 31.03.2012 iSAQB Thursday, May 31, 12

© 2012 innoQ Deutschland GmbH

@stilkov

If you can't link to it, does it exist?

If you can't build real Web apps with it, is it worth your time?

Vielen Dank!

Thursday, May 31, 12

Page 75: iSAQB - innoq.com...May 31, 2012  · © 2012 innoQ Deutschland GmbH Enterprise IT vs. WWW Stefan Tilkov | @stilkov | JUG Ostfalen | AutoUni 31.03.2012 iSAQB Thursday, May 31, 12

© 2012 innoQ Deutschland GmbH

@stilkov

Backup

Thursday, May 31, 12

Page 76: iSAQB - innoq.com...May 31, 2012  · © 2012 innoQ Deutschland GmbH Enterprise IT vs. WWW Stefan Tilkov | @stilkov | JUG Ostfalen | AutoUni 31.03.2012 iSAQB Thursday, May 31, 12

© 2012 innoQ Deutschland GmbH

Necessary Rules & GuidelinesCross-system System-internal

Responsibilities Programming languages

UI integration Development tools

Communication protocols Frameworks

Data formats Process/Workflow control

Redundant data Persistence

BI interfaces Design patterns

Logging, Monitoring Coding guidelines

(Deployment, Operations)

Thursday, May 31, 12

Page 77: iSAQB - innoq.com...May 31, 2012  · © 2012 innoQ Deutschland GmbH Enterprise IT vs. WWW Stefan Tilkov | @stilkov | JUG Ostfalen | AutoUni 31.03.2012 iSAQB Thursday, May 31, 12

© 2012 innoQ Deutschland GmbH

t

DomainArchitecture 1.0 1.1

System-internalRules 1.0 1.1 2.0 2.1

Cross-systemRules 1.0 1.1 1.2

Thursday, May 31, 12

Page 78: iSAQB - innoq.com...May 31, 2012  · © 2012 innoQ Deutschland GmbH Enterprise IT vs. WWW Stefan Tilkov | @stilkov | JUG Ostfalen | AutoUni 31.03.2012 iSAQB Thursday, May 31, 12

© 2012 innoQ Deutschland GmbH

@stilkov

Thank you!

Q&AStefan [email protected]://www.innoq.com/blog/st/@stilkovPhone: +49 170 471 2625

innoQ Deutschland GmbH

http://www.innoq.com

Krischerstr. 10040789 Monheim am RheinGermanyPhone: +49 2173 3366-0

innoQ Schweiz GmbH

[email protected]

Gewerbestr. 11CH-6330 ChamSwitzerlandPhone: +41 41 743 0116

Thursday, May 31, 12