SlideShare a Scribd company logo
1 of 68
Download to read offline
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
[object Object],[object Object],[object Object],Twitter:  jhaynie Blog:   blog.jeffhaynie.us
How the web has gone beyond the browser and we’re headed back to Client/Server
Compared even to the development of the phone or TV, the Web developed very quickly.  Sir Tim Berners-Lee Inventor, World Wide Web
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
Search is king
Web content has been controlled by web servers Java has become the de-facto Enterprise platform (.NET is pretty compelling too)
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
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
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
Server-side programming has become too complex (and it doesn’t have to be)
Great for the tech book publishers We have one, too!
J2EE hearts XML
Applications are distinctly different than services Different use cases Different technologies Different skill sets
The Browser has been our modern dumb terminal
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
Web 2.0 Remix the web with services
We’ve started thinking about platforms that provide services
Services are separate from applications
Web 2.0 (accidently) introduced separation of concerns Services were designed to be separated Mashups allowed consumption and production Clients independently developed from backend
We call this Web 2.0 Facebook Flickr Google Maps Twitter
Social Communites Sharing RSS  Blogging Microformats Social bookmarking Tagging
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
We’re going back in time
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
It’s the application stupid. Services are important. The “platform” Services should be lightweight Applications control services
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
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
We’re going into new territory
Phone is no longer a “phone”
The Web is in our back pocket
The Web is in our living room
The Web is in your PC bios
Web is coming (in) to a desktop near you
We have no choice anymore about applications and services
The web has become the ultimate application platform Flexibility of distribution Available of technologies and collaboration Global marketplace and workplace
SOUI attributes Separation of application from services Rapid prototyping of application without backend No throwaway code Ability to iterate with different constituents
SOUI is about the application User experience through usability
 
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
SOUI enables Interactive Use Cases User-driven development through use cases Technology enabled Agile Because functional requirements suck
If I had asked my customers what they wanted, they would have told me ‘a faster horse‘.  Henry Ford
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
Where are SOUI principles applied? Lots of Web 2.0 applications Adobe Flex and Flash Microsoft Silverlight
SOUI architecture Client is the application and controls state, logic Services are stateless Services provide well-known API
Appcelerator is a SOUI architecture SDK provides building client-applications Services tier cleanly separated 7 major programming languages, major frameworks
Appcelerator Java support Java support out of the box Rapid service prototyping with Jetty Clean, simple development Java 5 annotation, POJO driven
Appcelerator for building client Declarative AJAX, Web Expression Language Integrated services Message Oriented
Appcelerator cleanly separates
Appcelerator Web SDK Web Expression Language - DSL Message Broker Unified UI Widgets on [event] then [action]
Appcelerator Services Intentionally thin
Application Web Server HTTP Application makes request for files Application Web Server HTTP Web server returns static files
Application Page Application “compiles” page Elements Widgets Scripts Message Broker Services Services Services
AJAX Asynchronous Javascript
Appcelerator client example
Appcelerator Services are lightweight Simple annotation style POJO development Works well with other frameworks like Spring Makes no assumptions about backend
Appcelerator Services example
Appcelerator Java EE Deployable to any Java EE app server, OSGI Integration with Jetty for development POJO auto mapping for services
Web 3.0
Reuse Remix Refactor
Applications are moving beyond the browser Rich desktop applications are going mainstream Same development model with SOUI Same tools, services, skills
Appcelerator on the desktop, mobile
Rich Desktop applications Support for Win32, OSX and Linux Web technologies to build rich desktop apps Javascript API for desktop, file, network, menus, custom windows, etc.
Appcelerator is cross platform, cross browser Mac OSX, Win32, Linux Modern browsers: IE6/7, FF, Safari, Chrome, Opera Mobile browsers: iPhone, Android, Skyfire *
Appcelerator is open source Apache Public License Active Developer Community Hosted on GitHub http://community.appcelerator.org
Early access Available today on Manning website In print in Spring
Download Appcelerator today Let’s us know if you’d like to get involved IRC #appcelerator on freenode Twitter @appcelerator http://getappcelerator.com
Flickr Photo Shoutouts ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]

More Related Content

What's hot

JVx - Application framework - 2013
JVx - Application framework - 2013JVx - Application framework - 2013
JVx - Application framework - 2013SIB Visions GmbH
 
Case study: integrating azure with google app engine
Case study: integrating azure with google app engine Case study: integrating azure with google app engine
Case study: integrating azure with google app engine Miguel Scotter
 
Web development presentation
Web development presentationWeb development presentation
Web development presentationVaishnavi8950
 
Web Development Presentation
Web Development PresentationWeb Development Presentation
Web Development PresentationTurnToTech
 
Modern JavaScript Frameworks: Angular, React & Vue.js
Modern JavaScript Frameworks: Angular, React & Vue.jsModern JavaScript Frameworks: Angular, React & Vue.js
Modern JavaScript Frameworks: Angular, React & Vue.jsJonas Bandi
 
Mobile applications development - why should you start learning it right now?
Mobile applications development - why should you start learning it right now?Mobile applications development - why should you start learning it right now?
Mobile applications development - why should you start learning it right now?Natalija Rodionova
 
JQuery Mobile vs Appcelerator Titanium vs Sencha Touch
JQuery Mobile vs Appcelerator Titanium vs Sencha TouchJQuery Mobile vs Appcelerator Titanium vs Sencha Touch
JQuery Mobile vs Appcelerator Titanium vs Sencha TouchSteve Drucker
 
Joomla as a mobile App backend - ideas, examples and experiences
Joomla as a mobile App backend - ideas, examples and experiencesJoomla as a mobile App backend - ideas, examples and experiences
Joomla as a mobile App backend - ideas, examples and experiencesAndy_Gaskell
 
Web Application Development Process presented by @Cygnismedia
Web Application Development Process presented by @CygnismediaWeb Application Development Process presented by @Cygnismedia
Web Application Development Process presented by @CygnismediaClark Davidson
 
Moving to Microsoft Visual Basic .NET
Moving to Microsoft Visual Basic .NETMoving to Microsoft Visual Basic .NET
Moving to Microsoft Visual Basic .NETV Sanchez
 
Introduction to web development
Introduction to web developmentIntroduction to web development
Introduction to web developmentMohammed Safwat
 
Xamarin COE by Mukteswar Patnaik
Xamarin COE by Mukteswar PatnaikXamarin COE by Mukteswar Patnaik
Xamarin COE by Mukteswar PatnaikMukteswar Patnaik
 
Mobile Development with PhoneGap
Mobile Development with PhoneGapMobile Development with PhoneGap
Mobile Development with PhoneGapJoshua Johnson
 
The web - What it has, what it lacks and where it must go - Istanbul
The web - What it has, what it lacks and where it must go - IstanbulThe web - What it has, what it lacks and where it must go - Istanbul
The web - What it has, what it lacks and where it must go - IstanbulRobert Nyman
 
Modern Web App Architectures
Modern Web App ArchitecturesModern Web App Architectures
Modern Web App ArchitecturesRaphael Stary
 

What's hot (19)

JVx - Application framework - 2013
JVx - Application framework - 2013JVx - Application framework - 2013
JVx - Application framework - 2013
 
Case study: integrating azure with google app engine
Case study: integrating azure with google app engine Case study: integrating azure with google app engine
Case study: integrating azure with google app engine
 
Web development presentation
Web development presentationWeb development presentation
Web development presentation
 
Web Development Presentation
Web Development PresentationWeb Development Presentation
Web Development Presentation
 
Ionic
IonicIonic
Ionic
 
Modern JavaScript Frameworks: Angular, React & Vue.js
Modern JavaScript Frameworks: Angular, React & Vue.jsModern JavaScript Frameworks: Angular, React & Vue.js
Modern JavaScript Frameworks: Angular, React & Vue.js
 
Mobile applications development - why should you start learning it right now?
Mobile applications development - why should you start learning it right now?Mobile applications development - why should you start learning it right now?
Mobile applications development - why should you start learning it right now?
 
JQuery Mobile vs Appcelerator Titanium vs Sencha Touch
JQuery Mobile vs Appcelerator Titanium vs Sencha TouchJQuery Mobile vs Appcelerator Titanium vs Sencha Touch
JQuery Mobile vs Appcelerator Titanium vs Sencha Touch
 
Joomla as a mobile App backend - ideas, examples and experiences
Joomla as a mobile App backend - ideas, examples and experiencesJoomla as a mobile App backend - ideas, examples and experiences
Joomla as a mobile App backend - ideas, examples and experiences
 
Web Application Development Process presented by @Cygnismedia
Web Application Development Process presented by @CygnismediaWeb Application Development Process presented by @Cygnismedia
Web Application Development Process presented by @Cygnismedia
 
Javascript frameworks
Javascript frameworksJavascript frameworks
Javascript frameworks
 
Moving to Microsoft Visual Basic .NET
Moving to Microsoft Visual Basic .NETMoving to Microsoft Visual Basic .NET
Moving to Microsoft Visual Basic .NET
 
Introduction to web development
Introduction to web developmentIntroduction to web development
Introduction to web development
 
Xamarin COE by Mukteswar Patnaik
Xamarin COE by Mukteswar PatnaikXamarin COE by Mukteswar Patnaik
Xamarin COE by Mukteswar Patnaik
 
Android - Anroid Pproject
Android - Anroid PprojectAndroid - Anroid Pproject
Android - Anroid Pproject
 
Hybrid mobile apps
Hybrid mobile appsHybrid mobile apps
Hybrid mobile apps
 
Mobile Development with PhoneGap
Mobile Development with PhoneGapMobile Development with PhoneGap
Mobile Development with PhoneGap
 
The web - What it has, what it lacks and where it must go - Istanbul
The web - What it has, what it lacks and where it must go - IstanbulThe web - What it has, what it lacks and where it must go - Istanbul
The web - What it has, what it lacks and where it must go - Istanbul
 
Modern Web App Architectures
Modern Web App ArchitecturesModern Web App Architectures
Modern Web App Architectures
 

Viewers also liked

Revista34
Revista34Revista34
Revista34fedamon
 
Aspek Gramatikal Abreviasi
Aspek Gramatikal AbreviasiAspek Gramatikal Abreviasi
Aspek Gramatikal AbreviasiNovira Andiani
 
Presentación power point
Presentación power pointPresentación power point
Presentación power pointmaria jose
 
Sheila Barger Portfolio
Sheila Barger PortfolioSheila Barger Portfolio
Sheila Barger Portfolioshebarger
 
Talentoynegocio Nº 6 (Talento, Management, Recursos Humanos)
Talentoynegocio Nº 6 (Talento, Management, Recursos Humanos)Talentoynegocio Nº 6 (Talento, Management, Recursos Humanos)
Talentoynegocio Nº 6 (Talento, Management, Recursos Humanos)talentoynegocio
 
Cómo medir la influencia de las redes sociales en tu estrategia de marketing ...
Cómo medir la influencia de las redes sociales en tu estrategia de marketing ...Cómo medir la influencia de las redes sociales en tu estrategia de marketing ...
Cómo medir la influencia de las redes sociales en tu estrategia de marketing ...Acceso
 
LTT3 Nick Setchell invite
LTT3 Nick Setchell inviteLTT3 Nick Setchell invite
LTT3 Nick Setchell inviteAndrew Wood
 
Facts & Stats About the Multilingual Web
Facts & Stats About the Multilingual WebFacts & Stats About the Multilingual Web
Facts & Stats About the Multilingual Webdanrajkumar
 
Sviluppo di applicazioni web con Django
Sviluppo di applicazioni web con DjangoSviluppo di applicazioni web con Django
Sviluppo di applicazioni web con DjangoMauro Barattin
 
Portable Speakers for iPod - TAILGATER Quickstart Guide
Portable Speakers for iPod - TAILGATER Quickstart GuidePortable Speakers for iPod - TAILGATER Quickstart Guide
Portable Speakers for iPod - TAILGATER Quickstart GuideION Audio
 
Memoria descriptiva quebrada jara gallo
Memoria  descriptiva  quebrada jara galloMemoria  descriptiva  quebrada jara gallo
Memoria descriptiva quebrada jara galloHino Timoteo
 
How to manage your self-service launderettes
How to manage your self-service launderettesHow to manage your self-service launderettes
How to manage your self-service launderettesAntonella Monti
 
English III Orientation
English III OrientationEnglish III Orientation
English III Orientationmsezell
 
Presentacion pablo valencia
Presentacion pablo valenciaPresentacion pablo valencia
Presentacion pablo valenciaoscarreyesnova
 
Tsunamis y terremotos
Tsunamis y terremotosTsunamis y terremotos
Tsunamis y terremotosxXMathewXx
 

Viewers also liked (20)

Revista34
Revista34Revista34
Revista34
 
Aspek Gramatikal Abreviasi
Aspek Gramatikal AbreviasiAspek Gramatikal Abreviasi
Aspek Gramatikal Abreviasi
 
Presentación power point
Presentación power pointPresentación power point
Presentación power point
 
Sheila Barger Portfolio
Sheila Barger PortfolioSheila Barger Portfolio
Sheila Barger Portfolio
 
BonDia Lleida 09022012
BonDia Lleida 09022012BonDia Lleida 09022012
BonDia Lleida 09022012
 
Talentoynegocio Nº 6 (Talento, Management, Recursos Humanos)
Talentoynegocio Nº 6 (Talento, Management, Recursos Humanos)Talentoynegocio Nº 6 (Talento, Management, Recursos Humanos)
Talentoynegocio Nº 6 (Talento, Management, Recursos Humanos)
 
Student innovation foundation final
Student innovation foundation finalStudent innovation foundation final
Student innovation foundation final
 
Cómo medir la influencia de las redes sociales en tu estrategia de marketing ...
Cómo medir la influencia de las redes sociales en tu estrategia de marketing ...Cómo medir la influencia de las redes sociales en tu estrategia de marketing ...
Cómo medir la influencia de las redes sociales en tu estrategia de marketing ...
 
Fichas Productos Bems Bidi
Fichas Productos Bems BidiFichas Productos Bems Bidi
Fichas Productos Bems Bidi
 
LTT3 Nick Setchell invite
LTT3 Nick Setchell inviteLTT3 Nick Setchell invite
LTT3 Nick Setchell invite
 
Facts & Stats About the Multilingual Web
Facts & Stats About the Multilingual WebFacts & Stats About the Multilingual Web
Facts & Stats About the Multilingual Web
 
Sviluppo di applicazioni web con Django
Sviluppo di applicazioni web con DjangoSviluppo di applicazioni web con Django
Sviluppo di applicazioni web con Django
 
Portable Speakers for iPod - TAILGATER Quickstart Guide
Portable Speakers for iPod - TAILGATER Quickstart GuidePortable Speakers for iPod - TAILGATER Quickstart Guide
Portable Speakers for iPod - TAILGATER Quickstart Guide
 
Memoria descriptiva quebrada jara gallo
Memoria  descriptiva  quebrada jara galloMemoria  descriptiva  quebrada jara gallo
Memoria descriptiva quebrada jara gallo
 
How to manage your self-service launderettes
How to manage your self-service launderettesHow to manage your self-service launderettes
How to manage your self-service launderettes
 
English III Orientation
English III OrientationEnglish III Orientation
English III Orientation
 
Presentacion pablo valencia
Presentacion pablo valenciaPresentacion pablo valencia
Presentacion pablo valencia
 
Tsunamis y terremotos
Tsunamis y terremotosTsunamis y terremotos
Tsunamis y terremotos
 
Grotte al confine est
Grotte al confine estGrotte al confine est
Grotte al confine est
 
Celibato [I]
Celibato [I]Celibato [I]
Celibato [I]
 

Similar to SD Forum Java SIG - Service Oriented UI Architecture

OWIN (Open Web Interface for .NET)
OWIN (Open Web Interface for .NET)OWIN (Open Web Interface for .NET)
OWIN (Open Web Interface for .NET)Folio3 Software
 
Guide to web application development
Guide to web application developmentGuide to web application development
Guide to web application developmentFingent Corporation
 
Web Based Vs Cloud Based Apps Complete Comparison.pdf
Web Based Vs Cloud Based Apps Complete Comparison.pdfWeb Based Vs Cloud Based Apps Complete Comparison.pdf
Web Based Vs Cloud Based Apps Complete Comparison.pdfLaura Miller
 
Chapter 1 introduction
Chapter 1 introductionChapter 1 introduction
Chapter 1 introductionjam c
 
SharePoint 2013 App Provisioning Models
SharePoint 2013 App Provisioning ModelsSharePoint 2013 App Provisioning Models
SharePoint 2013 App Provisioning ModelsShailen Sukul
 
Fundamentals of Web Development For Non-Developers
Fundamentals of Web Development For Non-DevelopersFundamentals of Web Development For Non-Developers
Fundamentals of Web Development For Non-DevelopersLemi Orhan Ergin
 
Web Application Development-Ultimate Guide To Web Application Architecture
Web Application Development-Ultimate Guide To Web Application ArchitectureWeb Application Development-Ultimate Guide To Web Application Architecture
Web Application Development-Ultimate Guide To Web Application ArchitectureVersatile Mobitech
 
What Are Progressive Web Application Development
What Are Progressive Web Application DevelopmentWhat Are Progressive Web Application Development
What Are Progressive Web Application DevelopmentApp Verticals
 
Web application architecture guide how it works types, components, best pract...
Web application architecture guide how it works types, components, best pract...Web application architecture guide how it works types, components, best pract...
Web application architecture guide how it works types, components, best pract...Katy Slemon
 
How DotNet, SharePoint, and Azure helps to build a Custom Web Application wi...
 How DotNet, SharePoint, and Azure helps to build a Custom Web Application wi... How DotNet, SharePoint, and Azure helps to build a Custom Web Application wi...
How DotNet, SharePoint, and Azure helps to build a Custom Web Application wi...Aimore Technologies
 
Asp.net Web Development | SEO Expert Bangladesh LTD
Asp.net Web Development | SEO Expert Bangladesh LTDAsp.net Web Development | SEO Expert Bangladesh LTD
Asp.net Web Development | SEO Expert Bangladesh LTDTasnim Jahan
 
Building CI/CD Pipelines for Serverless Applications
Building CI/CD Pipelines for Serverless ApplicationsBuilding CI/CD Pipelines for Serverless Applications
Building CI/CD Pipelines for Serverless ApplicationsDaniel Zivkovic
 
Azure App Service
Azure App ServiceAzure App Service
Azure App ServiceBizTalk360
 
Web 2.0 Tech Talk
Web 2.0 Tech TalkWeb 2.0 Tech Talk
Web 2.0 Tech Talkpooyad
 
Web2.0 Ajax and REST in WebSphere Portal
Web2.0 Ajax and REST in WebSphere PortalWeb2.0 Ajax and REST in WebSphere Portal
Web2.0 Ajax and REST in WebSphere PortalMunish Gupta
 
What is the difference between an api and web services
What is the difference between an api and web servicesWhat is the difference between an api and web services
What is the difference between an api and web servicesAparna Sharma
 

Similar to SD Forum Java SIG - Service Oriented UI Architecture (20)

Food borne human diseases
Food borne human diseasesFood borne human diseases
Food borne human diseases
 
OWIN (Open Web Interface for .NET)
OWIN (Open Web Interface for .NET)OWIN (Open Web Interface for .NET)
OWIN (Open Web Interface for .NET)
 
Guide to web application development
Guide to web application developmentGuide to web application development
Guide to web application development
 
Web Based Vs Cloud Based Apps Complete Comparison.pdf
Web Based Vs Cloud Based Apps Complete Comparison.pdfWeb Based Vs Cloud Based Apps Complete Comparison.pdf
Web Based Vs Cloud Based Apps Complete Comparison.pdf
 
Chapter 1 introduction
Chapter 1 introductionChapter 1 introduction
Chapter 1 introduction
 
SharePoint 2013 App Provisioning Models
SharePoint 2013 App Provisioning ModelsSharePoint 2013 App Provisioning Models
SharePoint 2013 App Provisioning Models
 
Pariksha ria presentation
Pariksha ria presentationPariksha ria presentation
Pariksha ria presentation
 
Fundamentals of Web Development For Non-Developers
Fundamentals of Web Development For Non-DevelopersFundamentals of Web Development For Non-Developers
Fundamentals of Web Development For Non-Developers
 
Web Application Development-Ultimate Guide To Web Application Architecture
Web Application Development-Ultimate Guide To Web Application ArchitectureWeb Application Development-Ultimate Guide To Web Application Architecture
Web Application Development-Ultimate Guide To Web Application Architecture
 
What Are Progressive Web Application Development
What Are Progressive Web Application DevelopmentWhat Are Progressive Web Application Development
What Are Progressive Web Application Development
 
Web application architecture guide how it works types, components, best pract...
Web application architecture guide how it works types, components, best pract...Web application architecture guide how it works types, components, best pract...
Web application architecture guide how it works types, components, best pract...
 
How DotNet, SharePoint, and Azure helps to build a Custom Web Application wi...
 How DotNet, SharePoint, and Azure helps to build a Custom Web Application wi... How DotNet, SharePoint, and Azure helps to build a Custom Web Application wi...
How DotNet, SharePoint, and Azure helps to build a Custom Web Application wi...
 
Asp.net Web Development | SEO Expert Bangladesh LTD
Asp.net Web Development | SEO Expert Bangladesh LTDAsp.net Web Development | SEO Expert Bangladesh LTD
Asp.net Web Development | SEO Expert Bangladesh LTD
 
Web Applications: Dominance and Drawbacks
Web Applications: Dominance and DrawbacksWeb Applications: Dominance and Drawbacks
Web Applications: Dominance and Drawbacks
 
Building CI/CD Pipelines for Serverless Applications
Building CI/CD Pipelines for Serverless ApplicationsBuilding CI/CD Pipelines for Serverless Applications
Building CI/CD Pipelines for Serverless Applications
 
Azure App Service
Azure App ServiceAzure App Service
Azure App Service
 
Web 2.0 Tech Talk
Web 2.0 Tech TalkWeb 2.0 Tech Talk
Web 2.0 Tech Talk
 
Web2.0 Ajax and REST in WebSphere Portal
Web2.0 Ajax and REST in WebSphere PortalWeb2.0 Ajax and REST in WebSphere Portal
Web2.0 Ajax and REST in WebSphere Portal
 
Web 2.0 e RIAs
Web 2.0 e RIAsWeb 2.0 e RIAs
Web 2.0 e RIAs
 
What is the difference between an api and web services
What is the difference between an api and web servicesWhat is the difference between an api and web services
What is the difference between an api and web services
 

More from Jeff Haynie

How to build great teams
How to build great teamsHow to build great teams
How to build great teamsJeff Haynie
 
#Startup lessons
#Startup lessons#Startup lessons
#Startup lessonsJeff Haynie
 
Ti AppCamp 2 : Atlanta
Ti AppCamp 2 : AtlantaTi AppCamp 2 : Atlanta
Ti AppCamp 2 : AtlantaJeff Haynie
 
TiConf Australia 2013
TiConf Australia 2013TiConf Australia 2013
TiConf Australia 2013Jeff Haynie
 
Titanium Conf Baltimore Keynote 2013
Titanium Conf Baltimore Keynote 2013Titanium Conf Baltimore Keynote 2013
Titanium Conf Baltimore Keynote 2013Jeff Haynie
 
TiConf.eu -- Titanium Developer Conference in Europe, 2013
TiConf.eu -- Titanium Developer Conference in Europe, 2013TiConf.eu -- Titanium Developer Conference in Europe, 2013
TiConf.eu -- Titanium Developer Conference in Europe, 2013Jeff Haynie
 
TiTokyo conference in Tokyo, Japan for Appcelerator community (日本)
TiTokyo conference in Tokyo, Japan for Appcelerator community (日本)TiTokyo conference in Tokyo, Japan for Appcelerator community (日本)
TiTokyo conference in Tokyo, Japan for Appcelerator community (日本)Jeff Haynie
 
TiTokyo conference in Tokyo, Japan for Appcelerator community
TiTokyo conference in Tokyo, Japan for Appcelerator communityTiTokyo conference in Tokyo, Japan for Appcelerator community
TiTokyo conference in Tokyo, Japan for Appcelerator communityJeff Haynie
 
Mobile Monday Hamburg, Germany
Mobile Monday Hamburg, GermanyMobile Monday Hamburg, Germany
Mobile Monday Hamburg, GermanyJeff Haynie
 
Mobile Developer Conference 2012 Hamburg, Germany Keynote
Mobile Developer Conference 2012 Hamburg, Germany KeynoteMobile Developer Conference 2012 Hamburg, Germany Keynote
Mobile Developer Conference 2012 Hamburg, Germany KeynoteJeff Haynie
 
SoCon 12 : Where are you in your mobile maturity?
SoCon 12 : Where are you in your mobile maturity?SoCon 12 : Where are you in your mobile maturity?
SoCon 12 : Where are you in your mobile maturity?Jeff Haynie
 
Appcelerator iPhone/iPad Dev Con 2010 San Diego, CA
Appcelerator iPhone/iPad Dev Con 2010 San Diego, CAAppcelerator iPhone/iPad Dev Con 2010 San Diego, CA
Appcelerator iPhone/iPad Dev Con 2010 San Diego, CAJeff Haynie
 
CommNexus San Diego Presentation
CommNexus San Diego PresentationCommNexus San Diego Presentation
CommNexus San Diego PresentationJeff Haynie
 
Appcelerator Overview
Appcelerator OverviewAppcelerator Overview
Appcelerator OverviewJeff Haynie
 
DFW Wordpress February Meetup - Appcelerator Titanium
DFW Wordpress February Meetup  - Appcelerator TitaniumDFW Wordpress February Meetup  - Appcelerator Titanium
DFW Wordpress February Meetup - Appcelerator TitaniumJeff Haynie
 
Building a sustainable, cross-platform mobile application strategy - SoCon 20...
Building a sustainable, cross-platform mobile application strategy - SoCon 20...Building a sustainable, cross-platform mobile application strategy - SoCon 20...
Building a sustainable, cross-platform mobile application strategy - SoCon 20...Jeff Haynie
 
What's great in Appcelerator Titanium 0.8
What's great in Appcelerator Titanium 0.8What's great in Appcelerator Titanium 0.8
What's great in Appcelerator Titanium 0.8Jeff Haynie
 
The Mobile Opportunity
The Mobile OpportunityThe Mobile Opportunity
The Mobile OpportunityJeff Haynie
 
Mobile 2.0 Event: Mobile for the rest of us using Appcelerator Titanium
Mobile 2.0 Event: Mobile for the rest of us using Appcelerator TitaniumMobile 2.0 Event: Mobile for the rest of us using Appcelerator Titanium
Mobile 2.0 Event: Mobile for the rest of us using Appcelerator TitaniumJeff Haynie
 

More from Jeff Haynie (20)

How to build great teams
How to build great teamsHow to build great teams
How to build great teams
 
#Startup lessons
#Startup lessons#Startup lessons
#Startup lessons
 
TiConf NYC 2014
TiConf NYC 2014TiConf NYC 2014
TiConf NYC 2014
 
Ti AppCamp 2 : Atlanta
Ti AppCamp 2 : AtlantaTi AppCamp 2 : Atlanta
Ti AppCamp 2 : Atlanta
 
TiConf Australia 2013
TiConf Australia 2013TiConf Australia 2013
TiConf Australia 2013
 
Titanium Conf Baltimore Keynote 2013
Titanium Conf Baltimore Keynote 2013Titanium Conf Baltimore Keynote 2013
Titanium Conf Baltimore Keynote 2013
 
TiConf.eu -- Titanium Developer Conference in Europe, 2013
TiConf.eu -- Titanium Developer Conference in Europe, 2013TiConf.eu -- Titanium Developer Conference in Europe, 2013
TiConf.eu -- Titanium Developer Conference in Europe, 2013
 
TiTokyo conference in Tokyo, Japan for Appcelerator community (日本)
TiTokyo conference in Tokyo, Japan for Appcelerator community (日本)TiTokyo conference in Tokyo, Japan for Appcelerator community (日本)
TiTokyo conference in Tokyo, Japan for Appcelerator community (日本)
 
TiTokyo conference in Tokyo, Japan for Appcelerator community
TiTokyo conference in Tokyo, Japan for Appcelerator communityTiTokyo conference in Tokyo, Japan for Appcelerator community
TiTokyo conference in Tokyo, Japan for Appcelerator community
 
Mobile Monday Hamburg, Germany
Mobile Monday Hamburg, GermanyMobile Monday Hamburg, Germany
Mobile Monday Hamburg, Germany
 
Mobile Developer Conference 2012 Hamburg, Germany Keynote
Mobile Developer Conference 2012 Hamburg, Germany KeynoteMobile Developer Conference 2012 Hamburg, Germany Keynote
Mobile Developer Conference 2012 Hamburg, Germany Keynote
 
SoCon 12 : Where are you in your mobile maturity?
SoCon 12 : Where are you in your mobile maturity?SoCon 12 : Where are you in your mobile maturity?
SoCon 12 : Where are you in your mobile maturity?
 
Appcelerator iPhone/iPad Dev Con 2010 San Diego, CA
Appcelerator iPhone/iPad Dev Con 2010 San Diego, CAAppcelerator iPhone/iPad Dev Con 2010 San Diego, CA
Appcelerator iPhone/iPad Dev Con 2010 San Diego, CA
 
CommNexus San Diego Presentation
CommNexus San Diego PresentationCommNexus San Diego Presentation
CommNexus San Diego Presentation
 
Appcelerator Overview
Appcelerator OverviewAppcelerator Overview
Appcelerator Overview
 
DFW Wordpress February Meetup - Appcelerator Titanium
DFW Wordpress February Meetup  - Appcelerator TitaniumDFW Wordpress February Meetup  - Appcelerator Titanium
DFW Wordpress February Meetup - Appcelerator Titanium
 
Building a sustainable, cross-platform mobile application strategy - SoCon 20...
Building a sustainable, cross-platform mobile application strategy - SoCon 20...Building a sustainable, cross-platform mobile application strategy - SoCon 20...
Building a sustainable, cross-platform mobile application strategy - SoCon 20...
 
What's great in Appcelerator Titanium 0.8
What's great in Appcelerator Titanium 0.8What's great in Appcelerator Titanium 0.8
What's great in Appcelerator Titanium 0.8
 
The Mobile Opportunity
The Mobile OpportunityThe Mobile Opportunity
The Mobile Opportunity
 
Mobile 2.0 Event: Mobile for the rest of us using Appcelerator Titanium
Mobile 2.0 Event: Mobile for the rest of us using Appcelerator TitaniumMobile 2.0 Event: Mobile for the rest of us using Appcelerator Titanium
Mobile 2.0 Event: Mobile for the rest of us using Appcelerator Titanium
 

Recently uploaded

Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptxUse of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptxLoriGlavin3
 
Generative AI - Gitex v1Generative AI - Gitex v1.pptx
Generative AI - Gitex v1Generative AI - Gitex v1.pptxGenerative AI - Gitex v1Generative AI - Gitex v1.pptx
Generative AI - Gitex v1Generative AI - Gitex v1.pptxfnnc6jmgwh
 
Digital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptxDigital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptxLoriGlavin3
 
Email Marketing Automation for Bonterra Impact Management (fka Social Solutio...
Email Marketing Automation for Bonterra Impact Management (fka Social Solutio...Email Marketing Automation for Bonterra Impact Management (fka Social Solutio...
Email Marketing Automation for Bonterra Impact Management (fka Social Solutio...Jeffrey Haguewood
 
Long journey of Ruby standard library at RubyConf AU 2024
Long journey of Ruby standard library at RubyConf AU 2024Long journey of Ruby standard library at RubyConf AU 2024
Long journey of Ruby standard library at RubyConf AU 2024Hiroshi SHIBATA
 
A Glance At The Java Performance Toolbox
A Glance At The Java Performance ToolboxA Glance At The Java Performance Toolbox
A Glance At The Java Performance ToolboxAna-Maria Mihalceanu
 
Transcript: New from BookNet Canada for 2024: BNC SalesData and LibraryData -...
Transcript: New from BookNet Canada for 2024: BNC SalesData and LibraryData -...Transcript: New from BookNet Canada for 2024: BNC SalesData and LibraryData -...
Transcript: New from BookNet Canada for 2024: BNC SalesData and LibraryData -...BookNet Canada
 
Varsha Sewlal- Cyber Attacks on Critical Critical Infrastructure
Varsha Sewlal- Cyber Attacks on Critical Critical InfrastructureVarsha Sewlal- Cyber Attacks on Critical Critical Infrastructure
Varsha Sewlal- Cyber Attacks on Critical Critical Infrastructureitnewsafrica
 
Generative Artificial Intelligence: How generative AI works.pdf
Generative Artificial Intelligence: How generative AI works.pdfGenerative Artificial Intelligence: How generative AI works.pdf
Generative Artificial Intelligence: How generative AI works.pdfIngrid Airi González
 
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptxThe Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptxLoriGlavin3
 
React Native vs Ionic - The Best Mobile App Framework
React Native vs Ionic - The Best Mobile App FrameworkReact Native vs Ionic - The Best Mobile App Framework
React Native vs Ionic - The Best Mobile App FrameworkPixlogix Infotech
 
The Future Roadmap for the Composable Data Stack - Wes McKinney - Data Counci...
The Future Roadmap for the Composable Data Stack - Wes McKinney - Data Counci...The Future Roadmap for the Composable Data Stack - Wes McKinney - Data Counci...
The Future Roadmap for the Composable Data Stack - Wes McKinney - Data Counci...Wes McKinney
 
Data governance with Unity Catalog Presentation
Data governance with Unity Catalog PresentationData governance with Unity Catalog Presentation
Data governance with Unity Catalog PresentationKnoldus Inc.
 
2024 April Patch Tuesday
2024 April Patch Tuesday2024 April Patch Tuesday
2024 April Patch TuesdayIvanti
 
QCon London: Mastering long-running processes in modern architectures
QCon London: Mastering long-running processes in modern architecturesQCon London: Mastering long-running processes in modern architectures
QCon London: Mastering long-running processes in modern architecturesBernd Ruecker
 
MuleSoft Online Meetup Group - B2B Crash Course: Release SparkNotes
MuleSoft Online Meetup Group - B2B Crash Course: Release SparkNotesMuleSoft Online Meetup Group - B2B Crash Course: Release SparkNotes
MuleSoft Online Meetup Group - B2B Crash Course: Release SparkNotesManik S Magar
 
Testing tools and AI - ideas what to try with some tool examples
Testing tools and AI - ideas what to try with some tool examplesTesting tools and AI - ideas what to try with some tool examples
Testing tools and AI - ideas what to try with some tool examplesKari Kakkonen
 
Glenn Lazarus- Why Your Observability Strategy Needs Security Observability
Glenn Lazarus- Why Your Observability Strategy Needs Security ObservabilityGlenn Lazarus- Why Your Observability Strategy Needs Security Observability
Glenn Lazarus- Why Your Observability Strategy Needs Security Observabilityitnewsafrica
 
Microsoft 365 Copilot: How to boost your productivity with AI – Part one: Ado...
Microsoft 365 Copilot: How to boost your productivity with AI – Part one: Ado...Microsoft 365 Copilot: How to boost your productivity with AI – Part one: Ado...
Microsoft 365 Copilot: How to boost your productivity with AI – Part one: Ado...Nikki Chapple
 
Bridging Between CAD & GIS: 6 Ways to Automate Your Data Integration
Bridging Between CAD & GIS:  6 Ways to Automate Your Data IntegrationBridging Between CAD & GIS:  6 Ways to Automate Your Data Integration
Bridging Between CAD & GIS: 6 Ways to Automate Your Data Integrationmarketing932765
 

Recently uploaded (20)

Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptxUse of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
 
Generative AI - Gitex v1Generative AI - Gitex v1.pptx
Generative AI - Gitex v1Generative AI - Gitex v1.pptxGenerative AI - Gitex v1Generative AI - Gitex v1.pptx
Generative AI - Gitex v1Generative AI - Gitex v1.pptx
 
Digital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptxDigital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptx
 
Email Marketing Automation for Bonterra Impact Management (fka Social Solutio...
Email Marketing Automation for Bonterra Impact Management (fka Social Solutio...Email Marketing Automation for Bonterra Impact Management (fka Social Solutio...
Email Marketing Automation for Bonterra Impact Management (fka Social Solutio...
 
Long journey of Ruby standard library at RubyConf AU 2024
Long journey of Ruby standard library at RubyConf AU 2024Long journey of Ruby standard library at RubyConf AU 2024
Long journey of Ruby standard library at RubyConf AU 2024
 
A Glance At The Java Performance Toolbox
A Glance At The Java Performance ToolboxA Glance At The Java Performance Toolbox
A Glance At The Java Performance Toolbox
 
Transcript: New from BookNet Canada for 2024: BNC SalesData and LibraryData -...
Transcript: New from BookNet Canada for 2024: BNC SalesData and LibraryData -...Transcript: New from BookNet Canada for 2024: BNC SalesData and LibraryData -...
Transcript: New from BookNet Canada for 2024: BNC SalesData and LibraryData -...
 
Varsha Sewlal- Cyber Attacks on Critical Critical Infrastructure
Varsha Sewlal- Cyber Attacks on Critical Critical InfrastructureVarsha Sewlal- Cyber Attacks on Critical Critical Infrastructure
Varsha Sewlal- Cyber Attacks on Critical Critical Infrastructure
 
Generative Artificial Intelligence: How generative AI works.pdf
Generative Artificial Intelligence: How generative AI works.pdfGenerative Artificial Intelligence: How generative AI works.pdf
Generative Artificial Intelligence: How generative AI works.pdf
 
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptxThe Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
 
React Native vs Ionic - The Best Mobile App Framework
React Native vs Ionic - The Best Mobile App FrameworkReact Native vs Ionic - The Best Mobile App Framework
React Native vs Ionic - The Best Mobile App Framework
 
The Future Roadmap for the Composable Data Stack - Wes McKinney - Data Counci...
The Future Roadmap for the Composable Data Stack - Wes McKinney - Data Counci...The Future Roadmap for the Composable Data Stack - Wes McKinney - Data Counci...
The Future Roadmap for the Composable Data Stack - Wes McKinney - Data Counci...
 
Data governance with Unity Catalog Presentation
Data governance with Unity Catalog PresentationData governance with Unity Catalog Presentation
Data governance with Unity Catalog Presentation
 
2024 April Patch Tuesday
2024 April Patch Tuesday2024 April Patch Tuesday
2024 April Patch Tuesday
 
QCon London: Mastering long-running processes in modern architectures
QCon London: Mastering long-running processes in modern architecturesQCon London: Mastering long-running processes in modern architectures
QCon London: Mastering long-running processes in modern architectures
 
MuleSoft Online Meetup Group - B2B Crash Course: Release SparkNotes
MuleSoft Online Meetup Group - B2B Crash Course: Release SparkNotesMuleSoft Online Meetup Group - B2B Crash Course: Release SparkNotes
MuleSoft Online Meetup Group - B2B Crash Course: Release SparkNotes
 
Testing tools and AI - ideas what to try with some tool examples
Testing tools and AI - ideas what to try with some tool examplesTesting tools and AI - ideas what to try with some tool examples
Testing tools and AI - ideas what to try with some tool examples
 
Glenn Lazarus- Why Your Observability Strategy Needs Security Observability
Glenn Lazarus- Why Your Observability Strategy Needs Security ObservabilityGlenn Lazarus- Why Your Observability Strategy Needs Security Observability
Glenn Lazarus- Why Your Observability Strategy Needs Security Observability
 
Microsoft 365 Copilot: How to boost your productivity with AI – Part one: Ado...
Microsoft 365 Copilot: How to boost your productivity with AI – Part one: Ado...Microsoft 365 Copilot: How to boost your productivity with AI – Part one: Ado...
Microsoft 365 Copilot: How to boost your productivity with AI – Part one: Ado...
 
Bridging Between CAD & GIS: 6 Ways to Automate Your Data Integration
Bridging Between CAD & GIS:  6 Ways to Automate Your Data IntegrationBridging Between CAD & GIS:  6 Ways to Automate Your Data Integration
Bridging Between CAD & GIS: 6 Ways to Automate Your Data Integration
 

SD Forum Java SIG - Service Oriented UI Architecture

  • 1. 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
  • 2.
  • 3. How the web has gone beyond the browser and we’re headed back to Client/Server
  • 4. Compared even to the development of the phone or TV, the Web developed very quickly. Sir Tim Berners-Lee Inventor, World Wide Web
  • 5. 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
  • 7. Web content has been controlled by web servers Java has become the de-facto Enterprise platform (.NET is pretty compelling too)
  • 8. 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
  • 9. 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
  • 10. 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
  • 11. Server-side programming has become too complex (and it doesn’t have to be)
  • 12. Great for the tech book publishers We have one, too!
  • 14. Applications are distinctly different than services Different use cases Different technologies Different skill sets
  • 15. The Browser has been our modern dumb terminal
  • 16. 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
  • 17. Web 2.0 Remix the web with services
  • 18. We’ve started thinking about platforms that provide services
  • 19. Services are separate from applications
  • 20. Web 2.0 (accidently) introduced separation of concerns Services were designed to be separated Mashups allowed consumption and production Clients independently developed from backend
  • 21. We call this Web 2.0 Facebook Flickr Google Maps Twitter
  • 22. Social Communites Sharing RSS Blogging Microformats Social bookmarking Tagging
  • 23. 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
  • 25. 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
  • 26. It’s the application stupid. Services are important. The “platform” Services should be lightweight Applications control services
  • 27. 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
  • 28. 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
  • 29. We’re going into new territory
  • 30. Phone is no longer a “phone”
  • 31. The Web is in our back pocket
  • 32. The Web is in our living room
  • 33. The Web is in your PC bios
  • 34. Web is coming (in) to a desktop near you
  • 35. We have no choice anymore about applications and services
  • 36. The web has become the ultimate application platform Flexibility of distribution Available of technologies and collaboration Global marketplace and workplace
  • 37. SOUI attributes Separation of application from services Rapid prototyping of application without backend No throwaway code Ability to iterate with different constituents
  • 38. SOUI is about the application User experience through usability
  • 39.  
  • 40. 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
  • 41. SOUI enables Interactive Use Cases User-driven development through use cases Technology enabled Agile Because functional requirements suck
  • 42. If I had asked my customers what they wanted, they would have told me ‘a faster horse‘. Henry Ford
  • 43. 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
  • 44. Where are SOUI principles applied? Lots of Web 2.0 applications Adobe Flex and Flash Microsoft Silverlight
  • 45. SOUI architecture Client is the application and controls state, logic Services are stateless Services provide well-known API
  • 46. Appcelerator is a SOUI architecture SDK provides building client-applications Services tier cleanly separated 7 major programming languages, major frameworks
  • 47. Appcelerator Java support Java support out of the box Rapid service prototyping with Jetty Clean, simple development Java 5 annotation, POJO driven
  • 48. Appcelerator for building client Declarative AJAX, Web Expression Language Integrated services Message Oriented
  • 50. Appcelerator Web SDK Web Expression Language - DSL Message Broker Unified UI Widgets on [event] then [action]
  • 52. Application Web Server HTTP Application makes request for files Application Web Server HTTP Web server returns static files
  • 53. Application Page Application “compiles” page Elements Widgets Scripts Message Broker Services Services Services
  • 56. Appcelerator Services are lightweight Simple annotation style POJO development Works well with other frameworks like Spring Makes no assumptions about backend
  • 58. Appcelerator Java EE Deployable to any Java EE app server, OSGI Integration with Jetty for development POJO auto mapping for services
  • 61. Applications are moving beyond the browser Rich desktop applications are going mainstream Same development model with SOUI Same tools, services, skills
  • 62. Appcelerator on the desktop, mobile
  • 63. Rich Desktop applications Support for Win32, OSX and Linux Web technologies to build rich desktop apps Javascript API for desktop, file, network, menus, custom windows, etc.
  • 64. Appcelerator is cross platform, cross browser Mac OSX, Win32, Linux Modern browsers: IE6/7, FF, Safari, Chrome, Opera Mobile browsers: iPhone, Android, Skyfire *
  • 65. Appcelerator is open source Apache Public License Active Developer Community Hosted on GitHub http://community.appcelerator.org
  • 66. Early access Available today on Manning website In print in Spring
  • 67. Download Appcelerator today Let’s us know if you’d like to get involved IRC #appcelerator on freenode Twitter @appcelerator http://getappcelerator.com
  • 68.