sd forum java sig - service oriented ui architecture

66
Service Oriented UI Architecture in the world of web, desktop and mobile applications How the web has gone beyond the browser and we’re headed back to Client/Server Jeff Haynie

Upload: jeff-haynie

Post on 10-May-2015

5.841 views

Category:

Technology


2 download

DESCRIPTION

Presentation given by Jeff Haynie at the SD Forum Java SIG in Palo Alto, CA on 12/02/2008. Service Oriented UI Architecture in the world of web, desktop and mobile applications. How the web has gone beyond the browser and we’re headed back to Client/Server.

TRANSCRIPT

Page 1: SD Forum Java SIG - Service Oriented UI Architecture

Service Oriented UI Architecture in the world of web, desktop and mobile applications

How the web has gone beyond the browser and we’re headed back to Client/Server Jeff Haynie

Page 2: SD Forum Java SIG - Service Oriented UI Architecture

JEFF HAYNIE

CEO, AppceleratorOpen Source Developer

Twitter: jhaynieBlog: blog.jeffhaynie.us

Page 3: SD Forum Java SIG - Service Oriented UI Architecture

How the web has gone beyond the browser and we’re headed back to Client/Server

Page 4: SD Forum Java SIG - Service Oriented UI Architecture

Compared even to the development of the phone or TV, the Web developed very quickly.

Sir Tim Berners-LeeInventor, World Wide Web

Page 5: SD Forum Java SIG - Service Oriented UI Architecture

The web was built for information retrieval

URLs are for identification

Search engines are for location of content

Web sites help us produce & consume content

Page 6: SD Forum Java SIG - Service Oriented UI Architecture

Search is king

Page 7: SD Forum Java SIG - Service Oriented UI Architecture

Web content has been controlled by web servers

Java has become the de-facto Enterprise platform

(.NET is pretty compelling too)

Page 8: SD Forum Java SIG - Service Oriented UI Architecture

We have turned our web servers into application platforms

We want more interactivity with our users

Content is dynamic

Our apps use MVC on the server side

Page 9: SD Forum Java SIG - Service Oriented UI Architecture

Our infrastructure is optimized for applications to be controlled by the server

We call this “server-assisted” MVC

Each page request is dynamically generated

Sessions are maintained on the server

Client is response for display and input

Page 10: SD Forum Java SIG - Service Oriented UI Architecture

We couple our application and service logic

We try not to do it, but it still happens

Levels of indirection to make it less painful

Mix metaphors and cross concerns

Page 11: SD Forum Java SIG - Service Oriented UI Architecture

Server-side programming has become too complex

(and it doesn’t have to be)

Page 12: SD Forum Java SIG - Service Oriented UI Architecture

Great for the tech book publishers

We have one, too!

Page 13: SD Forum Java SIG - Service Oriented UI Architecture

J2EE hearts XML

Page 14: SD Forum Java SIG - Service Oriented UI Architecture

Applications are distinctly different than services

Different use cases

Different technologies

Different skill sets

Page 15: SD Forum Java SIG - Service Oriented UI Architecture

The Browser has been our modern dumb terminal

Page 16: SD Forum Java SIG - Service Oriented UI Architecture

Applications today are coupled at the server tier

Still same development effort

Web services in enterprise suffer the same fate

Rapid iteration difficult, if not impossible

Page 17: SD Forum Java SIG - Service Oriented UI Architecture

Web 2.0

Remix the web with services

Page 18: SD Forum Java SIG - Service Oriented UI Architecture

We’ve started thinking about platforms that provide services

Page 19: SD Forum Java SIG - Service Oriented UI Architecture

Services are separate from applications

Page 20: SD Forum Java SIG - Service Oriented UI Architecture

Web 2.0 (accidently) introduced separation of concerns

Services were designed to be separated

Mashups allowed consumption and production

Clients independently developed from backend

Page 21: SD Forum Java SIG - Service Oriented UI Architecture

We call this Web 2.0

Facebook

Flickr

Google Maps

Twitter

Page 22: SD Forum Java SIG - Service Oriented UI Architecture

SocialCommunitesSharingRSS

Blogging

Microformats

Social bookmarking

Tagging

Page 23: SD Forum Java SIG - Service Oriented UI Architecture

Web 2.0 is the divorce of services from applications.

The Applications are back in control

Applications can be built with no backend of their own

Page 24: SD Forum Java SIG - Service Oriented UI Architecture

We’re going back in time

Page 25: SD Forum Java SIG - Service Oriented UI Architecture

We call this Service Oriented UI

Services are distinctly separated from the UI

No assumptions need to be made about the UI

UI can consume different, varied services

Page 26: SD Forum Java SIG - Service Oriented UI Architecture

It’s the application stupid.

Services are important. The “platform”

Services should be lightweight

Applications control services

Page 27: SD Forum Java SIG - Service Oriented UI Architecture

We used to call this Client / Server.

The web is a client server architecture

We lost our way along the way

Things became tightly coupled

Page 28: SD Forum Java SIG - Service Oriented UI Architecture

The web is becoming more than a website

The “web” can describe any number of ways of consuming and producing bits, on any number of devices, at multiple locations

Page 29: SD Forum Java SIG - Service Oriented UI Architecture

We’re going into new territory

Page 30: SD Forum Java SIG - Service Oriented UI Architecture

Phone is no longer a “phone”

Page 31: SD Forum Java SIG - Service Oriented UI Architecture

The Web is in our back pocket

Page 32: SD Forum Java SIG - Service Oriented UI Architecture

The Web is in our living room

Page 33: SD Forum Java SIG - Service Oriented UI Architecture

The Web is in your PC bios

Page 34: SD Forum Java SIG - Service Oriented UI Architecture

Web is coming (in) to a desktop near you

Page 35: SD Forum Java SIG - Service Oriented UI Architecture

We have no choice anymore about applications and services

Page 36: SD Forum Java SIG - Service Oriented UI Architecture

The web has become the ultimate application platform

Flexibility of distribution

Available of technologies and collaboration

Global marketplace and workplace

Page 37: SD Forum Java SIG - Service Oriented UI Architecture

SOUI attributes

Separation of application from services

Rapid prototyping of application without backend

No throwaway code

Ability to iterate with different constituents

Page 38: SD Forum Java SIG - Service Oriented UI Architecture

SOUI is about the applicationUser experience through usability

Page 39: SD Forum Java SIG - Service Oriented UI Architecture
Page 40: SD Forum Java SIG - Service Oriented UI Architecture

Current model of development is tightly coupled

Each phase has impact on both sides

Server dominates UI

Dev cycle is elongated because of server-side

Page 41: SD Forum Java SIG - Service Oriented UI Architecture

SOUI enables Interactive Use Cases

User-driven development through use cases

Technology enabled Agile

Because functional requirements suck

Page 42: SD Forum Java SIG - Service Oriented UI Architecture

If I had asked my customers what they wanted, they would have told me ‘a faster horse‘.

Henry Ford

Page 43: SD Forum Java SIG - Service Oriented UI Architecture

IUCs fulfillment of agile dev

Client application can be fully developed with little to no backend

Fast iteration of front-end application

Mock-out of backend-services

Page 44: SD Forum Java SIG - Service Oriented UI Architecture

Where are SOUI principles applied?

Lots of Web 2.0 applications

Adobe Flex and Flash

Microsoft Silverlight

Page 45: SD Forum Java SIG - Service Oriented UI Architecture

SOUI architecture

Client is the application and controls state, logic

Services are stateless

Services provide well-known API

Page 46: SD Forum Java SIG - Service Oriented UI Architecture

Appcelerator is a SOUI architecture

SDK provides building client-applications

Services tier cleanly separated

7 major programming languages, major frameworks

Page 47: SD Forum Java SIG - Service Oriented UI Architecture

Appcelerator Java support

Java support out of the box

Rapid service prototyping with Jetty

Clean, simple development

Java 5 annotation, POJO driven

Page 48: SD Forum Java SIG - Service Oriented UI Architecture

Appcelerator for building client

Declarative AJAX, Web Expression Language

Integrated services

Message Oriented

Page 49: SD Forum Java SIG - Service Oriented UI Architecture

Appcelerator cleanly separates

Page 50: SD Forum Java SIG - Service Oriented UI Architecture

Appcelerator Web SDK

Web Expression Language - DSL

Message Broker

Unified UI Widgets

on [event] then [action]

Page 51: SD Forum Java SIG - Service Oriented UI Architecture

Appcelerator ServicesIntentionally thin

Page 52: SD Forum Java SIG - Service Oriented UI Architecture

ApplicationApplication Web ServerWeb ServerHTTP

Application makes request for files

ApplicationApplication Web ServerWeb ServerHTTP

Web server returns static files

Page 53: SD Forum Java SIG - Service Oriented UI Architecture

Application PageApplication Page

Application “compiles” page

ElementsElements WidgetsWidgets ScriptsScripts

Message BrokerMessage Broker

ServicesServices

ServicesServices

ServicesServices

Page 54: SD Forum Java SIG - Service Oriented UI Architecture

AJAXAsynchronous Javascript

Page 55: SD Forum Java SIG - Service Oriented UI Architecture

Appcelerator client example

Page 56: SD Forum Java SIG - Service Oriented UI Architecture

Appcelerator Services are lightweight

Simple annotation style POJO development

Works well with other frameworks like Spring

Makes no assumptions about backend

Page 57: SD Forum Java SIG - Service Oriented UI Architecture

Appcelerator Services example

Page 58: SD Forum Java SIG - Service Oriented UI Architecture

Appcelerator Java EE

Deployable to any Java EE app server, OSGI

Integration with Jetty for development

POJO auto mapping for services

Page 59: SD Forum Java SIG - Service Oriented UI Architecture

Web 3.0

Page 60: SD Forum Java SIG - Service Oriented UI Architecture

ReuseRemixRefactor

Page 61: SD Forum Java SIG - Service Oriented UI Architecture

Applications are moving beyond the browser

Rich desktop applications are going mainstream

Same development model with SOUI

Same tools, services, skills

Page 62: SD Forum Java SIG - Service Oriented UI Architecture

Appcelerator is cross platform, cross browser

Mac OSX, Win32, Linux

Modern browsers: IE6/7, FF, Safari, Chrome, Opera

Mobile browsers: iPhone, Android, Skyfire *

Page 63: SD Forum Java SIG - Service Oriented UI Architecture

Appcelerator is open source

Apache Public License

Active Developer Community

Hosted on GitHub

http://community.appcelerator.org

Page 64: SD Forum Java SIG - Service Oriented UI Architecture

Early access

Available today on Manning website

In print in Spring

Page 65: SD Forum Java SIG - Service Oriented UI Architecture

Download Appcelerator today

Let’s us know if you’d like to get involved

IRC #appcelerator on freenode

Twitter @appcelerator

http://getappcelerator.com

Page 66: SD Forum Java SIG - Service Oriented UI Architecture

Flickr Photo Shoutouts• http://flickr.com/shutterhack• http://flickr.com/psd• http://flickr.com/cayusa• http://flickr.com/sigalakos• http://flickr.com/two-wrongs• http://flickr.com/chavals• http://flickr.com/stewf• http://flickr.com/actiondatsun• http://flickr.com/tyrussmalley

• http://flickr.com/clompers• http://flickr.com/trucolorsfly• http://flickr.com/markknol• http://flickr.com/dan_h• http://flickr.com/cvanfleteren• http://flickr.com/stevenerat• http://flickr.com/carrierdetect• http://flickr.com/jazzmasterson• http://flickr.com/re-ality• http://flickr.com/bluesmuse• http://flickr.com/niallkennedy