SlideShare uma empresa Scribd logo
1 de 68
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]

Mais conteúdo relacionado

Mais procurados

Alexander Zeng
Alexander ZengAlexander Zeng
Alexander Zeng
Alex Zeng
 
Ram Kumar - Sr. Certified Mule ESB Integration Developer
Ram Kumar - Sr. Certified Mule ESB Integration DeveloperRam Kumar - Sr. Certified Mule ESB Integration Developer
Ram Kumar - Sr. Certified Mule ESB Integration Developer
Ram Kumar
 
Ibm 1 Wps Arch
Ibm 1 Wps ArchIbm 1 Wps Arch
Ibm 1 Wps Arch
luohd
 
Introduction to web development
Introduction to web developmentIntroduction to web development
Introduction to web development
Mohammed Safwat
 

Mais procurados (20)

Spring Mvc
Spring MvcSpring Mvc
Spring Mvc
 
Top 10 Javascript Frameworks For Easy Web Development
Top 10 Javascript Frameworks For Easy Web DevelopmentTop 10 Javascript Frameworks For Easy Web Development
Top 10 Javascript Frameworks For Easy Web Development
 
Back to the Basics - 1 - Introduction to Web Development
Back to the Basics - 1 - Introduction to Web DevelopmentBack to the Basics - 1 - Introduction to Web Development
Back to the Basics - 1 - Introduction to Web Development
 
single page application
single page applicationsingle page application
single page application
 
Ruby on Rails: Building Web Applications Is Fun Again!
Ruby on Rails: Building Web Applications Is Fun Again!Ruby on Rails: Building Web Applications Is Fun Again!
Ruby on Rails: Building Web Applications Is Fun Again!
 
Alexander Zeng
Alexander ZengAlexander Zeng
Alexander Zeng
 
06 Javascript
06 Javascript06 Javascript
06 Javascript
 
Building Video Apps on Salesforce Platform
Building Video Apps on Salesforce PlatformBuilding Video Apps on Salesforce Platform
Building Video Apps on Salesforce Platform
 
Ram Kumar - Sr. Certified Mule ESB Integration Developer
Ram Kumar - Sr. Certified Mule ESB Integration DeveloperRam Kumar - Sr. Certified Mule ESB Integration Developer
Ram Kumar - Sr. Certified Mule ESB Integration Developer
 
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...
 
Java Platform and IDE Netbeans 6.7 for Developing Enterprise and Web Applicat...
Java Platform and IDE Netbeans 6.7 for Developing Enterprise and Web Applicat...Java Platform and IDE Netbeans 6.7 for Developing Enterprise and Web Applicat...
Java Platform and IDE Netbeans 6.7 for Developing Enterprise and Web Applicat...
 
Optimizing HTML5 Sites with CQ5/WEM
Optimizing HTML5 Sites with CQ5/WEMOptimizing HTML5 Sites with CQ5/WEM
Optimizing HTML5 Sites with CQ5/WEM
 
Moving to Microsoft Visual Basic .NET
Moving to Microsoft Visual Basic .NETMoving to Microsoft Visual Basic .NET
Moving to Microsoft Visual Basic .NET
 
Ibm 1 Wps Arch
Ibm 1 Wps ArchIbm 1 Wps Arch
Ibm 1 Wps Arch
 
Crx 2.2 Deep-Dive
Crx 2.2 Deep-DiveCrx 2.2 Deep-Dive
Crx 2.2 Deep-Dive
 
Web Apps atop a Content Repository
Web Apps atop a Content RepositoryWeb Apps atop a Content Repository
Web Apps atop a Content Repository
 
Krishnakumar Rajendran (1)
Krishnakumar Rajendran (1)Krishnakumar Rajendran (1)
Krishnakumar Rajendran (1)
 
Introduction to web development
Introduction to web developmentIntroduction to web development
Introduction to web development
 
Webapplication ppt prepared by krishna ballabh gupta
Webapplication ppt prepared by krishna ballabh guptaWebapplication ppt prepared by krishna ballabh gupta
Webapplication ppt prepared by krishna ballabh gupta
 
The dashboarding problem
The dashboarding problemThe dashboarding problem
The dashboarding problem
 

Destaque

2010-02-09 Reactor Pattern & Event Driven Programming
2010-02-09 Reactor Pattern & Event Driven Programming2010-02-09 Reactor Pattern & Event Driven Programming
2010-02-09 Reactor Pattern & Event Driven Programming
Lin Jen-Shin
 

Destaque (20)

Front end architecture
Front end architectureFront end architecture
Front end architecture
 
TDC 2014 - Arquitetura front-end com AngularJS
TDC 2014 - Arquitetura front-end com AngularJSTDC 2014 - Arquitetura front-end com AngularJS
TDC 2014 - Arquitetura front-end com AngularJS
 
Life above the service tier preso v1 0
Life above the service tier preso v1 0Life above the service tier preso v1 0
Life above the service tier preso v1 0
 
Sofea in a soa ecosystem v0 4
Sofea in a soa ecosystem v0 4Sofea in a soa ecosystem v0 4
Sofea in a soa ecosystem v0 4
 
Sofea and SOUI - Web future without web frameworks
Sofea and SOUI - Web future without web frameworksSofea and SOUI - Web future without web frameworks
Sofea and SOUI - Web future without web frameworks
 
Docker hub
Docker hubDocker hub
Docker hub
 
An introduction to predictionIO
An introduction to predictionIOAn introduction to predictionIO
An introduction to predictionIO
 
Managing computational resources with Apache Mesos
Managing computational resources with Apache MesosManaging computational resources with Apache Mesos
Managing computational resources with Apache Mesos
 
Docker cloud
Docker cloudDocker cloud
Docker cloud
 
Apache mahout - introduction
Apache mahout - introductionApache mahout - introduction
Apache mahout - introduction
 
Introduction to CFEngine
Introduction to CFEngineIntroduction to CFEngine
Introduction to CFEngine
 
Vagrant
VagrantVagrant
Vagrant
 
PC = Personal Cloud (or how to use your development machine with Vagrant and ...
PC = Personal Cloud (or how to use your development machine with Vagrant and ...PC = Personal Cloud (or how to use your development machine with Vagrant and ...
PC = Personal Cloud (or how to use your development machine with Vagrant and ...
 
Building Web Apps in Ratpack
Building Web Apps in RatpackBuilding Web Apps in Ratpack
Building Web Apps in Ratpack
 
Virtual box
Virtual boxVirtual box
Virtual box
 
Dejan Pekter / Nordeus – Reactor design pattern
Dejan Pekter / Nordeus – Reactor design patternDejan Pekter / Nordeus – Reactor design pattern
Dejan Pekter / Nordeus – Reactor design pattern
 
Introduction to HashiCorp Consul
Introduction to HashiCorp ConsulIntroduction to HashiCorp Consul
Introduction to HashiCorp Consul
 
Ratpack Web Framework
Ratpack Web FrameworkRatpack Web Framework
Ratpack Web Framework
 
2010-02-09 Reactor Pattern & Event Driven Programming
2010-02-09 Reactor Pattern & Event Driven Programming2010-02-09 Reactor Pattern & Event Driven Programming
2010-02-09 Reactor Pattern & Event Driven Programming
 
Discovering Docker Volume Plugins and Apps using VirtualBox
Discovering Docker Volume Plugins and Apps using VirtualBoxDiscovering Docker Volume Plugins and Apps using VirtualBox
Discovering Docker Volume Plugins and Apps using VirtualBox
 

Semelhante a Service Oriented UI Architecture in the world of web, desktop, & mobile applications

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
Tasnim Jahan
 
Web 2.0 Tech Talk
Web 2.0 Tech TalkWeb 2.0 Tech Talk
Web 2.0 Tech Talk
pooyad
 
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
Munish Gupta
 

Semelhante a Service Oriented UI Architecture in the world of web, desktop, & mobile applications (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
 
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
 
Leveraging The Web 2.0 Movement, Dion Hinchliffe
Leveraging The Web 2.0 Movement, Dion HinchliffeLeveraging The Web 2.0 Movement, Dion Hinchliffe
Leveraging The Web 2.0 Movement, Dion Hinchliffe
 

Mais de Axway Appcelerator

Codestrong 2012 keynote jonathan rende, appcelerator's vp of products
Codestrong 2012 keynote   jonathan rende, appcelerator's vp of productsCodestrong 2012 keynote   jonathan rende, appcelerator's vp of products
Codestrong 2012 keynote jonathan rende, appcelerator's vp of products
Axway Appcelerator
 
Codestrong 2012 keynote jeff haynie, appcelerator's ceo
Codestrong 2012 keynote   jeff haynie, appcelerator's ceoCodestrong 2012 keynote   jeff haynie, appcelerator's ceo
Codestrong 2012 keynote jeff haynie, appcelerator's ceo
Axway Appcelerator
 
Codestrong 2012 keynote how to build a top ten app
Codestrong 2012 keynote   how to build a top ten appCodestrong 2012 keynote   how to build a top ten app
Codestrong 2012 keynote how to build a top ten app
Axway Appcelerator
 
Codestrong 2012 breakout session at&t api platform and trends
Codestrong 2012 breakout session  at&t api platform and trendsCodestrong 2012 breakout session  at&t api platform and trends
Codestrong 2012 breakout session at&t api platform and trends
Axway Appcelerator
 
Codestrong 2012 breakout session what's new in titanium studio
Codestrong 2012 breakout session   what's new in titanium studioCodestrong 2012 breakout session   what's new in titanium studio
Codestrong 2012 breakout session what's new in titanium studio
Axway Appcelerator
 
Codestrong 2012 breakout session using appcelerator cloud services in your ...
Codestrong 2012 breakout session   using appcelerator cloud services in your ...Codestrong 2012 breakout session   using appcelerator cloud services in your ...
Codestrong 2012 breakout session using appcelerator cloud services in your ...
Axway Appcelerator
 
Codestrong 2012 breakout session the role of cloud services in your next ge...
Codestrong 2012 breakout session   the role of cloud services in your next ge...Codestrong 2012 breakout session   the role of cloud services in your next ge...
Codestrong 2012 breakout session the role of cloud services in your next ge...
Axway Appcelerator
 
Codestrong 2012 breakout session new device platform support for titanium
Codestrong 2012 breakout session   new device platform support for titaniumCodestrong 2012 breakout session   new device platform support for titanium
Codestrong 2012 breakout session new device platform support for titanium
Axway Appcelerator
 
Codestrong 2012 breakout session mobile platform and infrastructure
Codestrong 2012 breakout session   mobile platform and infrastructureCodestrong 2012 breakout session   mobile platform and infrastructure
Codestrong 2012 breakout session mobile platform and infrastructure
Axway Appcelerator
 
Codestrong 2012 breakout session making money on appcelerator's marketplace
Codestrong 2012 breakout session   making money on appcelerator's marketplaceCodestrong 2012 breakout session   making money on appcelerator's marketplace
Codestrong 2012 breakout session making money on appcelerator's marketplace
Axway Appcelerator
 
Codestrong 2012 breakout session live multi-platform testing
Codestrong 2012 breakout session   live multi-platform testingCodestrong 2012 breakout session   live multi-platform testing
Codestrong 2012 breakout session live multi-platform testing
Axway Appcelerator
 
Codestrong 2012 breakout session leveraging titanium as part of your mobile...
Codestrong 2012 breakout session   leveraging titanium as part of your mobile...Codestrong 2012 breakout session   leveraging titanium as part of your mobile...
Codestrong 2012 breakout session leveraging titanium as part of your mobile...
Axway Appcelerator
 
Codestrong 2012 breakout session i os internals and best practices
Codestrong 2012 breakout session   i os internals and best practicesCodestrong 2012 breakout session   i os internals and best practices
Codestrong 2012 breakout session i os internals and best practices
Axway Appcelerator
 

Mais de Axway Appcelerator (20)

Axway Appcelerator - Titanium SDK 6.1.0 - Status, Releases & Roadmap
Axway Appcelerator - Titanium SDK 6.1.0 - Status, Releases & RoadmapAxway Appcelerator - Titanium SDK 6.1.0 - Status, Releases & Roadmap
Axway Appcelerator - Titanium SDK 6.1.0 - Status, Releases & Roadmap
 
2014 Dublin Web Summit by Jeff Haynie
2014 Dublin Web Summit by Jeff Haynie2014 Dublin Web Summit by Jeff Haynie
2014 Dublin Web Summit by Jeff Haynie
 
Making the Mobile Mind Shift
Making the Mobile Mind ShiftMaking the Mobile Mind Shift
Making the Mobile Mind Shift
 
Stop Debating, Start Measuring
Stop Debating, Start MeasuringStop Debating, Start Measuring
Stop Debating, Start Measuring
 
Mobile & The New Experience Economy (And What it Means for IT)
Mobile & The New Experience Economy  (And What it Means for IT)Mobile & The New Experience Economy  (And What it Means for IT)
Mobile & The New Experience Economy (And What it Means for IT)
 
Apps, APIs & Analytics: What "Mobile First" Really Means
Apps, APIs & Analytics: What "Mobile First" Really MeansApps, APIs & Analytics: What "Mobile First" Really Means
Apps, APIs & Analytics: What "Mobile First" Really Means
 
Appcelerator Presentation Template
Appcelerator Presentation TemplateAppcelerator Presentation Template
Appcelerator Presentation Template
 
Codestrong 2012 keynote jonathan rende, appcelerator's vp of products
Codestrong 2012 keynote   jonathan rende, appcelerator's vp of productsCodestrong 2012 keynote   jonathan rende, appcelerator's vp of products
Codestrong 2012 keynote jonathan rende, appcelerator's vp of products
 
Codestrong 2012 keynote jeff haynie, appcelerator's ceo
Codestrong 2012 keynote   jeff haynie, appcelerator's ceoCodestrong 2012 keynote   jeff haynie, appcelerator's ceo
Codestrong 2012 keynote jeff haynie, appcelerator's ceo
 
Codestrong 2012 keynote how to build a top ten app
Codestrong 2012 keynote   how to build a top ten appCodestrong 2012 keynote   how to build a top ten app
Codestrong 2012 keynote how to build a top ten app
 
Codestrong 2012 breakout session at&t api platform and trends
Codestrong 2012 breakout session  at&t api platform and trendsCodestrong 2012 breakout session  at&t api platform and trends
Codestrong 2012 breakout session at&t api platform and trends
 
Codestrong 2012 breakout session what's new in titanium studio
Codestrong 2012 breakout session   what's new in titanium studioCodestrong 2012 breakout session   what's new in titanium studio
Codestrong 2012 breakout session what's new in titanium studio
 
Codestrong 2012 breakout session using appcelerator cloud services in your ...
Codestrong 2012 breakout session   using appcelerator cloud services in your ...Codestrong 2012 breakout session   using appcelerator cloud services in your ...
Codestrong 2012 breakout session using appcelerator cloud services in your ...
 
Codestrong 2012 breakout session the role of cloud services in your next ge...
Codestrong 2012 breakout session   the role of cloud services in your next ge...Codestrong 2012 breakout session   the role of cloud services in your next ge...
Codestrong 2012 breakout session the role of cloud services in your next ge...
 
Codestrong 2012 breakout session new device platform support for titanium
Codestrong 2012 breakout session   new device platform support for titaniumCodestrong 2012 breakout session   new device platform support for titanium
Codestrong 2012 breakout session new device platform support for titanium
 
Codestrong 2012 breakout session mobile platform and infrastructure
Codestrong 2012 breakout session   mobile platform and infrastructureCodestrong 2012 breakout session   mobile platform and infrastructure
Codestrong 2012 breakout session mobile platform and infrastructure
 
Codestrong 2012 breakout session making money on appcelerator's marketplace
Codestrong 2012 breakout session   making money on appcelerator's marketplaceCodestrong 2012 breakout session   making money on appcelerator's marketplace
Codestrong 2012 breakout session making money on appcelerator's marketplace
 
Codestrong 2012 breakout session live multi-platform testing
Codestrong 2012 breakout session   live multi-platform testingCodestrong 2012 breakout session   live multi-platform testing
Codestrong 2012 breakout session live multi-platform testing
 
Codestrong 2012 breakout session leveraging titanium as part of your mobile...
Codestrong 2012 breakout session   leveraging titanium as part of your mobile...Codestrong 2012 breakout session   leveraging titanium as part of your mobile...
Codestrong 2012 breakout session leveraging titanium as part of your mobile...
 
Codestrong 2012 breakout session i os internals and best practices
Codestrong 2012 breakout session   i os internals and best practicesCodestrong 2012 breakout session   i os internals and best practices
Codestrong 2012 breakout session i os internals and best practices
 

Último

IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI Solutions
Enterprise Knowledge
 
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and Myths
Joaquim Jorge
 

Último (20)

Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt Robison
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘
 
Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI Solutions
 
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and Myths
 
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfThe Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
 
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed texts
 
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonets
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
 
Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a Fresher
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
 
What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
 

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

  • 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.