SlideShare une entreprise Scribd logo
1  sur  32
Télécharger pour lire hors ligne
SATURN 2013 
Next Gen Web Architecture for the Cloud Era 
Darryl Nelson 
Chief Scientist, Raytheon 
Saturn 2013 
28 Apr - 3 May 
Copyright©(2013) Raytheon 
UNCLASSIFIED
SATURN 2013 
Darryl Nelson 
Copyright©(2013) Raytheon Company 
Agenda 
•Existing Web Application Architecture 
•SOFEA 
•Lessons learned
SATURN 2013 
Darryl Nelson 
Copyright©(2013) Raytheon Company 
Audience 
Anyone interested in web technology 
who has a basic understanding of 
web applications and 
Service Oriented Architectures (SOA)
SATURN 2013 
Darryl Nelson 
Copyright©(2013) Raytheon Company 
Data Sources 
Big Data /Enterprise Infrastructure 
Visualization, Dashboards, Reports 
Focus
SATURN 2013 
Darryl Nelson 
Copyright©(2012) Raytheon Company 
Static HTML Pages 
CGI 
Servlets 
Web Templating Engines 
AJAX 
SOFEA 
Arc of Web App Architecture History * 
* NOT to scale! 
MVC Frameworks 
Early 90’s 
today
SATURN 2013 
Darryl Nelson 
Copyright©(2012) Raytheon Company 
Web Templating Engines 
•Embedded code within static HTML elements 
•Mix of static and dynamic HTML 
•"Model 1" Architecture 
•Examples 
–Java Server Pages (JSP) 
–PHP 
–Active Server Pages (ASP)
SATURN 2013 
Darryl Nelson 
Copyright©(2012) Raytheon Company 
Web Templating Engines cont. 
<html> 
Hello, 
<b>{$db.name.102}</b> 
<html> 
Web Template Engine 
Web Browser 
Hello, Bob 
Web Template 
Code 
Markup 
01 Ted 02 Susan . . . 101 Joe 102 Bob 
Data Store
SATURN 2013 
Darryl Nelson 
Copyright©(2010) Raytheon Company 
MVC Frameworks 
•Model View Controller pattern 
•Server side framework 
•“Model 2” Architecture 
•Examples 
–ASP.NET MVC Framework (.Net) 
–Struts, Spring MVC (Java) 
–Ruby on Rails (Ruby) 
–Django (Python) 
–Grails (Groovy) 
Data Store 
controller 
model 
Web Browser 
view 
server
SATURN 2013 
Darryl Nelson 
Copyright©(2010) Raytheon Company 
AJAX 
•Asynchronous JavaScript And XML 
•Dynamic content changes without reloading the entire page 
–interactive and dynamic web apps approaching rich client capability 
•HTML/CSS + DOM + XmlHttpRequest Object + JavaScript + JSON/XML 
Img: http://courses.ischool.berkeley.edu/i153/s11/webapps-advanced
SATURN 2013 
Darryl Nelson 
Copyright©(2010) Raytheon Company 
3 Processes of Web Applications 
1.Application Download Mobile code (JavaScript, HTML, Applets, Flash) download to the client (web browser) 
2.Presentation Flow Dynamic visual rendering of the UI (screen changes, new screens, etc) in response to user input and data state changes 
3.Data Interchange The exchange of data between two software components or tiers (search, updates, retrieval, etc)
SATURN 2013 
Darryl Nelson 
Copyright©(2010) Raytheon Company 
Process Allocation for Web Templating Engines Frameworks 
Network 
Presentation Logic (web server) 
Business Logic 
Persistence 
Browser 
Application 
Data Interchange 
Data Interchange 
Application Download, Presentation Flow 
Service Interface
SATURN 2013 
Darryl Nelson 
Copyright©(2010) Raytheon Company 
Characteristics of Web Templating Engines and MVC Frameworks 
•Tight coupling between presentation flow and data interchange (both in the web server) 
–Triggering a Presentation Flow in a web application always initiates a Data Interchange operation 
–Every Data Interchange operation results in a Presentation Flow operation 
•Presentation flow and data interchange are orthogonal concerns that should be decoupled 
–Separate concerns
SATURN 2013 
Darryl Nelson 
Copyright©(2010) Raytheon Company 
web templating engines + MVC frameworks + a sprinkling of Ajax 
Today
SATURN 2013 
SOA & Cloud 
14 
Web Apps 
Mobile Devices 
Machine-to-Machine 
SaaS 
PaaS 
IaaS 
Data Schema 
Policies 
Cloud Stack 
SOA Stack 
INTERFACE Endpoints 
SERVICE BATTERY 
GOVERNANCE 
External Cloud
SATURN 2013 
Darryl Nelson 
Copyright©(2010) Raytheon Company 
SOFEA 
An architectural style 
for web applications in 
SOA (& Cloud) environments
SATURN 2013 
Darryl Nelson 
Copyright©(2010) Raytheon Company 
•Service Oriented Front End Architecture 
–Synonymous with “Single Page” Web Applications 
•Life above the Service Tier How to Build Application Frontends in a ServiceOriented World 
–Ganesh Prasad, Rajat Taneja, Vikrant Todankar 
•Architectural Style 
–Not an implementation 
•Prasad, et al propose that the SOA revolution has left behind application front ends/UI’s 
SOFEA
SATURN 2013 
SOFEA is now… 
Feasible because 
1)Maturity of the SOA paradigm in theory and practice 
2)Advancements in browser-based client technologies, especially JavaScript browser engines and AJAX toolkits 
Necessary because 
1)SOA is the defacto delivery mechanism for cloud-based services (Cloud and SOA are complementary technologies) 
2)Diversity of client platforms 
Growing dominance of Mobile clients 
Darryl Nelson 
Copyright©(2013) Raytheon Company
SATURN 2013 
Darryl Nelson 
Copyright©(2013) Raytheon Company 
Legacy Enterprise Web Architecture 
Business Logic 
and 
Persistence 
Web Browser 
Web Page Construction Logic 
CLIENT 
SERVER 
Typical Enterprise Web Application Architecture
SATURN 2013 
Darryl Nelson 
Copyright©(2013) Raytheon Company 
SOFEA 
CLIENT 
SERVER 
Business Logic and Persistence 
Web Browser 
Web Page Construction Logic 
Web Browser 
SERVICES 
Business Logic and Persistence
SATURN 2013 
Darryl Nelson 
Copyright©(2013) Raytheon Company 
Process Allocation for SOFEA 
Network 
Business Logic 
Persistence 
Browser 
Presentation 
Logic 
Application 
Data Interchange 
Presentation 
Flow 
Service Interface 
Application Download 
Service
SATURN 2013 
Darryl Nelson 
Copyright©(2013) Raytheon Company 
3 Web Processes and SOFEA 
Web Browser 
Business Logic 
and 
Persistence 
Presentation Flow 
Data Interchange 
Download Server 
Application 
Download 
Service 
Interface 
SERVICES
SATURN 2013 
Darryl Nelson 
Copyright©(2013) Raytheon Company 
SOFEA Principles 
1.Application Download, Data Interchange, and Presentation Flow must be decoupled 
‒No part of the client should be evoked, generated or templated from the server-side. 
2.Presentation Flow is a client-side concern only 
3.All communication with the application server should be using services (REST, SOAP, etc) 
4.The MVC design pattern belongs in the client, not the server
SATURN 2013 
Darryl Nelson 
Copyright©(2013) Raytheon Company 
SOFEA Lifecycle 
One Time 
Download 
Presentation 
Code 
(HTML, JavaScript) 
Data Only 
Web Browser 
Download 
Server 
1. 
Web Browser 
SERVICES 
2. 
Business Logic 
and 
Persistence
SATURN 2013 
Darryl Nelson 
Copyright©(2013) Raytheon Company 
MVC in the Web Browser 
Web Server 
MVC Pattern 
Web Browser 
MODEL 
CONTROLLER 
VIEW
SATURN 2013 
Benefits of SOFEA 
•Scalability 
–Server has less work to do; no more presentation generation, just provide a services 
•Higher ROI for each LOC 
–Expanded opportunity space due to the inherent reusable nature of SOA 
•Better user response 
–Low latency == happy end users 
–After the app download, no presentation is transported over the wire, only business data 
•Natural fit into SOA and Cloud environments 
•Organized programming model 
–Client developers concentrate on the UI 
–Server-side developers concentrate on Services 
•Offline applications 
–When the network crashes, decoupled client can dynamically switch out their model objects 
•Interoperability 
–Easier integration with lower overhead from multiple platforms 
–Clients don’t care if services are Java, C#, Python, Cobol or a heterogeneous mix 
Darryl Nelson 
Copyright©(2013) Raytheon Company
SATURN 2013 
SOFEA Client Implementation Archetype 
Darryl Nelson 
Copyright©(2013) Raytheon Company 
Single HTML Page 
JSON 
HTTP SPDY Websockets 
Web Server 
REST 
Framework 
(JAX-RS) 
HTML-5 
DOM 
MVC 
Web Workers 
JavaScript
SATURN 2013 
Darryl Nelson 
Copyright©(2010) Raytheon Company 
Lessons Learned 
•The web client is a “Priority 1” architecture tier, not an after thought 
–Object-Oriented Analysis and Design principles 
–Design Patterns 
–Continuous integration, performance testing, etc 
–Critical to expend significant engineering time and energy on the client architecture 
•Use a mature client-side frameworks 
–Dojo, JQuery, AngularJS, etc 
•The RESTful model is natural fit for SOFEA systems 
•Architects & developers should “bake-in” asynchronicity between the server and client layers 
•Leverage newer technologies where appropriate 
–HTML-5 Web Workers & Websockets 
–Google’s SPDY 
•Start cross-browser compatibility testing early in the development cycle 
–Fight the “add IE support later” temptation 
•SOFEA excellent choice for our customer’s bandwidth starved environments 
–Very low latency for those customer’s with average-good network pipes
SATURN 2013 
•Life Above the Service Tier by Ganesh Prasad, Rajat Taneja and Vikrant Todankar 
–http://wisdomofganesh.blogspot.com/2011/10/life-above-service-tier-change-of-links.html 
•JavaScript Frameworks 
–Dojo: http://dojotoolkit.org/ 
–JQuery: http://jquery.com/ 
–AngularJS: http://angularjs.org/ 
–KnockoutJS: http://knockoutjs.com/ 
•JavaScript Design Patterns Book 
–http://addyosmani.com/resources/essentialjsdesignpatterns/book/ 
•SOA & Cloud 
–http://www.infoq.com/articles/ieee-software-engineeering-services-cloud- computing 
•Web Sockets 
–http://www.websocket.org/ 
•Google SPDY 
–http://www.chromium.org/spdy 
Darryl Nelson 
Copyright©(2010) Raytheon Company 
Resources
SATURN 2013 
Darryl Nelson 
Copyright©(2013) Raytheon Company 
Darryl Nelson Chief Scientist Raytheon Intelligence and Information Services Darryl.Nelson@Raytheon.com Darryl.Nelson.Tech@Gmail.com
SATURN 2013 
backup 
Darryl Nelson 
Copyright©(2013) Raytheon Company
SATURN 2013 
Darryl Nelson 
Copyright©(2010) Raytheon Company 
SOFEA Implementation Examples 
•Client 
–JavaScript: Dojo, JQuery, ExtJS, angularjs.org, knockoutjs.com, Twitter Bootstrap 
–Flex* 
–Silverlight* 
–Java Applets* 
•Services 
–WS-* (SOAP/WSDL) 
•Axis, Weblogic, Websphere 
–REST  
•Jersey, RESTEasy, RESTlets, Drop Wizard
SATURN 2013 
Processing Request with Push Response Design Pattern 
32 
Adapted from J. Christensen, Using REST Web-Services and Cloud Computing to Create Next Generation Mobile Applications, ACM 978-60558-768-4/09/10 
Send Request 
1 
Web App runs asynchronously from the request 
2 
Handle Request 
3 
Push Notification & Result Download 
4 
Task A 
Task B 
Web Services in the Cloud 
Web App

Contenu connexe

Tendances

Microservices with Java, Spring Boot and Spring Cloud
Microservices with Java, Spring Boot and Spring CloudMicroservices with Java, Spring Boot and Spring Cloud
Microservices with Java, Spring Boot and Spring CloudEberhard Wolff
 
Introduction to MERN Stack
Introduction to MERN StackIntroduction to MERN Stack
Introduction to MERN StackSurya937648
 
Programación Reactiva con Spring WebFlux
Programación Reactiva con Spring WebFluxProgramación Reactiva con Spring WebFlux
Programación Reactiva con Spring WebFluxParadigma Digital
 
Hostel management system
Hostel management systemHostel management system
Hostel management systemYOGESH SHARMA
 
Entity beans in java
Entity beans in javaEntity beans in java
Entity beans in javaAcp Jamod
 
Online banking system
Online banking systemOnline banking system
Online banking systemVivek Poddar
 
Hostel management project_report
Hostel management project_reportHostel management project_report
Hostel management project_reportkawsher11
 
Reactive programming
Reactive programmingReactive programming
Reactive programmingSUDIP GHOSH
 
Tim Gonzalez Full Stack Developer Resume 2019
Tim Gonzalez Full Stack Developer Resume 2019Tim Gonzalez Full Stack Developer Resume 2019
Tim Gonzalez Full Stack Developer Resume 2019TimGonzalez6
 
Intelligent, Automatic Restarts for Unhealthy Kafka Consumers on Kubernetes w...
Intelligent, Automatic Restarts for Unhealthy Kafka Consumers on Kubernetes w...Intelligent, Automatic Restarts for Unhealthy Kafka Consumers on Kubernetes w...
Intelligent, Automatic Restarts for Unhealthy Kafka Consumers on Kubernetes w...HostedbyConfluent
 
Introduction to Apache Camel
Introduction to Apache CamelIntroduction to Apache Camel
Introduction to Apache CamelKnoldus Inc.
 
Rajeshwari K A 9+ years as Java Developer and Team lead-1
Rajeshwari K A 9+ years as Java Developer and Team lead-1Rajeshwari K A 9+ years as Java Developer and Team lead-1
Rajeshwari K A 9+ years as Java Developer and Team lead-1Rajeshwari KA
 
Spring Mvc,Java, Spring
Spring Mvc,Java, SpringSpring Mvc,Java, Spring
Spring Mvc,Java, Springifnu bima
 
The Netflix API Platform for Server-Side Scripting
The Netflix API Platform for Server-Side ScriptingThe Netflix API Platform for Server-Side Scripting
The Netflix API Platform for Server-Side ScriptingKatharina Probst
 
Library management system project
Library management system project Library management system project
Library management system project Jaya Manchanda
 

Tendances (20)

Microservices with Java, Spring Boot and Spring Cloud
Microservices with Java, Spring Boot and Spring CloudMicroservices with Java, Spring Boot and Spring Cloud
Microservices with Java, Spring Boot and Spring Cloud
 
Introduction to MERN Stack
Introduction to MERN StackIntroduction to MERN Stack
Introduction to MERN Stack
 
Programación Reactiva con Spring WebFlux
Programación Reactiva con Spring WebFluxProgramación Reactiva con Spring WebFlux
Programación Reactiva con Spring WebFlux
 
Hostel management system
Hostel management systemHostel management system
Hostel management system
 
Entity beans in java
Entity beans in javaEntity beans in java
Entity beans in java
 
Online banking system
Online banking systemOnline banking system
Online banking system
 
spring-api-rest.pdf
spring-api-rest.pdfspring-api-rest.pdf
spring-api-rest.pdf
 
Hostel management project_report
Hostel management project_reportHostel management project_report
Hostel management project_report
 
Karthik .net resume
Karthik  .net resumeKarthik  .net resume
Karthik .net resume
 
Reactive programming
Reactive programmingReactive programming
Reactive programming
 
Madhu Kopparapu Resume
Madhu Kopparapu ResumeMadhu Kopparapu Resume
Madhu Kopparapu Resume
 
MERN PPT
MERN PPTMERN PPT
MERN PPT
 
Tim Gonzalez Full Stack Developer Resume 2019
Tim Gonzalez Full Stack Developer Resume 2019Tim Gonzalez Full Stack Developer Resume 2019
Tim Gonzalez Full Stack Developer Resume 2019
 
Intelligent, Automatic Restarts for Unhealthy Kafka Consumers on Kubernetes w...
Intelligent, Automatic Restarts for Unhealthy Kafka Consumers on Kubernetes w...Intelligent, Automatic Restarts for Unhealthy Kafka Consumers on Kubernetes w...
Intelligent, Automatic Restarts for Unhealthy Kafka Consumers on Kubernetes w...
 
Nouveautés Java 9-10-11
Nouveautés Java 9-10-11Nouveautés Java 9-10-11
Nouveautés Java 9-10-11
 
Introduction to Apache Camel
Introduction to Apache CamelIntroduction to Apache Camel
Introduction to Apache Camel
 
Rajeshwari K A 9+ years as Java Developer and Team lead-1
Rajeshwari K A 9+ years as Java Developer and Team lead-1Rajeshwari K A 9+ years as Java Developer and Team lead-1
Rajeshwari K A 9+ years as Java Developer and Team lead-1
 
Spring Mvc,Java, Spring
Spring Mvc,Java, SpringSpring Mvc,Java, Spring
Spring Mvc,Java, Spring
 
The Netflix API Platform for Server-Side Scripting
The Netflix API Platform for Server-Side ScriptingThe Netflix API Platform for Server-Side Scripting
The Netflix API Platform for Server-Side Scripting
 
Library management system project
Library management system project Library management system project
Library management system project
 

En vedette

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 frameworksAndré Neubauer
 
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 AngularJSLeonardo Zanivan
 
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 4Ganesh Prasad
 
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 0Ganesh Prasad
 
How to connect AngularJS to servers
How to connect AngularJS to serversHow to connect AngularJS to servers
How to connect AngularJS to serversCarlos Morales
 
Adaptive SOA with Interactive Monitoring Techniques and HPS
Adaptive SOA with Interactive Monitoring Techniques and HPSAdaptive SOA with Interactive Monitoring Techniques and HPS
Adaptive SOA with Interactive Monitoring Techniques and HPSIOSR Journals
 
Life above the_service_tier_v1.1
Life above the_service_tier_v1.1Life above the_service_tier_v1.1
Life above the_service_tier_v1.1Ganesh Prasad
 
School Safety Module T L C India
School Safety Module   T L C  IndiaSchool Safety Module   T L C  India
School Safety Module T L C IndiaPsdmn Phil
 
A nova geração da arquitetura web para a era da nuvem
A nova geração da arquitetura web para a era da nuvemA nova geração da arquitetura web para a era da nuvem
A nova geração da arquitetura web para a era da nuvemCloves Moreira Junior
 
UC For Business - Executive Desktop
UC For Business - Executive DesktopUC For Business - Executive Desktop
UC For Business - Executive DesktopNECIndia
 
Customer Profiling&Targeted Advertisement
Customer Profiling&Targeted AdvertisementCustomer Profiling&Targeted Advertisement
Customer Profiling&Targeted Advertisement2tique
 
Modern Web Cloud Architecture based on Google Technologies
Modern Web Cloud Architecture based on Google TechnologiesModern Web Cloud Architecture based on Google Technologies
Modern Web Cloud Architecture based on Google TechnologiesMichael Ludwig
 
Citrix Synergy 2014 - Syn232 Building a Cloud Architecture and Self- Service ...
Citrix Synergy 2014 - Syn232 Building a Cloud Architecture and Self- Service ...Citrix Synergy 2014 - Syn232 Building a Cloud Architecture and Self- Service ...
Citrix Synergy 2014 - Syn232 Building a Cloud Architecture and Self- Service ...Citrix
 
School safety programme in India
School safety programme in IndiaSchool safety programme in India
School safety programme in IndiaKunal Ashar
 
Cloud service architecture
Cloud service architectureCloud service architecture
Cloud service architectureJazziator
 
Overview of IBM Capabilities
Overview of IBM CapabilitiesOverview of IBM Capabilities
Overview of IBM CapabilitiesIBMGovernmentCA
 

En vedette (20)

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
 
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
 
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
 
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
 
How to connect AngularJS to servers
How to connect AngularJS to serversHow to connect AngularJS to servers
How to connect AngularJS to servers
 
Adaptive SOA with Interactive Monitoring Techniques and HPS
Adaptive SOA with Interactive Monitoring Techniques and HPSAdaptive SOA with Interactive Monitoring Techniques and HPS
Adaptive SOA with Interactive Monitoring Techniques and HPS
 
Aceleracao+conteudo+dinamico
Aceleracao+conteudo+dinamicoAceleracao+conteudo+dinamico
Aceleracao+conteudo+dinamico
 
Life above the_service_tier_v1.1
Life above the_service_tier_v1.1Life above the_service_tier_v1.1
Life above the_service_tier_v1.1
 
School Safety Module T L C India
School Safety Module   T L C  IndiaSchool Safety Module   T L C  India
School Safety Module T L C India
 
A nova geração da arquitetura web para a era da nuvem
A nova geração da arquitetura web para a era da nuvemA nova geração da arquitetura web para a era da nuvem
A nova geração da arquitetura web para a era da nuvem
 
Arquitetura de sistemas web
Arquitetura de sistemas webArquitetura de sistemas web
Arquitetura de sistemas web
 
UC For Business - Executive Desktop
UC For Business - Executive DesktopUC For Business - Executive Desktop
UC For Business - Executive Desktop
 
Customer Profiling&Targeted Advertisement
Customer Profiling&Targeted AdvertisementCustomer Profiling&Targeted Advertisement
Customer Profiling&Targeted Advertisement
 
Modern Web Cloud Architecture based on Google Technologies
Modern Web Cloud Architecture based on Google TechnologiesModern Web Cloud Architecture based on Google Technologies
Modern Web Cloud Architecture based on Google Technologies
 
Citrix Synergy 2014 - Syn232 Building a Cloud Architecture and Self- Service ...
Citrix Synergy 2014 - Syn232 Building a Cloud Architecture and Self- Service ...Citrix Synergy 2014 - Syn232 Building a Cloud Architecture and Self- Service ...
Citrix Synergy 2014 - Syn232 Building a Cloud Architecture and Self- Service ...
 
School safety programme in India
School safety programme in IndiaSchool safety programme in India
School safety programme in India
 
Cloud service architecture
Cloud service architectureCloud service architecture
Cloud service architecture
 
IBM Watson-How it works
IBM Watson-How it worksIBM Watson-How it works
IBM Watson-How it works
 
Overview of IBM Capabilities
Overview of IBM CapabilitiesOverview of IBM Capabilities
Overview of IBM Capabilities
 

Similaire à SOFEA: Service Oriented Front End Architecture, Next Gen Web Architecture for the Cloud Era

The future of web development write once, run everywhere with angular js an...
The future of web development   write once, run everywhere with angular js an...The future of web development   write once, run everywhere with angular js an...
The future of web development write once, run everywhere with angular js an...Mark Leusink
 
The future of web development write once, run everywhere with angular.js and ...
The future of web development write once, run everywhere with angular.js and ...The future of web development write once, run everywhere with angular.js and ...
The future of web development write once, run everywhere with angular.js and ...Mark Roden
 
Web Services Foundation Technologies
Web Services Foundation TechnologiesWeb Services Foundation Technologies
Web Services Foundation TechnologiesPankaj Saharan
 
Service Oriented Architecture
Service Oriented Architecture Service Oriented Architecture
Service Oriented Architecture Prabhat gangwar
 
Resume Partha Roy
Resume Partha RoyResume Partha Roy
Resume Partha RoyPartha Roy
 
BPM und SOA machen mobil - Ein Architekturüberblick
BPM und SOA machen mobil - Ein ArchitekturüberblickBPM und SOA machen mobil - Ein Architekturüberblick
BPM und SOA machen mobil - Ein ArchitekturüberblickOPITZ CONSULTING Deutschland
 
BPM and SOA are going mobile - An architectural perspective
BPM and SOA are going mobile - An architectural perspectiveBPM and SOA are going mobile - An architectural perspective
BPM and SOA are going mobile - An architectural perspectiveOPITZ CONSULTING Deutschland
 
Oracle Application Express
Oracle Application ExpressOracle Application Express
Oracle Application ExpressHBoone
 
Nitin_Krishna_Resume
Nitin_Krishna_ResumeNitin_Krishna_Resume
Nitin_Krishna_ResumeNitin Krishna
 
What Is Angular 2 | Angular 2 Tutorial For Beginners | Angular Training | Edu...
What Is Angular 2 | Angular 2 Tutorial For Beginners | Angular Training | Edu...What Is Angular 2 | Angular 2 Tutorial For Beginners | Angular Training | Edu...
What Is Angular 2 | Angular 2 Tutorial For Beginners | Angular Training | Edu...Edureka!
 
Introduction to Web Frameworks
Introduction to Web FrameworksIntroduction to Web Frameworks
Introduction to Web FrameworksSarika Jadhav
 
B1 roadmap to cloud platform with oracle web logic server-oracle coherence ...
B1   roadmap to cloud platform with oracle web logic server-oracle coherence ...B1   roadmap to cloud platform with oracle web logic server-oracle coherence ...
B1 roadmap to cloud platform with oracle web logic server-oracle coherence ...Dr. Wilfred Lin (Ph.D.)
 
4163A - What is Web 2.0.ppt
4163A - What is Web 2.0.ppt4163A - What is Web 2.0.ppt
4163A - What is Web 2.0.pptMatthew Perrins
 
Oracle ADF Architecture TV - Design - Task Flow Overview
Oracle ADF Architecture TV - Design - Task Flow OverviewOracle ADF Architecture TV - Design - Task Flow Overview
Oracle ADF Architecture TV - Design - Task Flow OverviewChris Muir
 

Similaire à SOFEA: Service Oriented Front End Architecture, Next Gen Web Architecture for the Cloud Era (20)

AMIS OOW Review 2012 - Deel 7 - Lucas Jellema
AMIS OOW Review 2012 - Deel 7 - Lucas JellemaAMIS OOW Review 2012 - Deel 7 - Lucas Jellema
AMIS OOW Review 2012 - Deel 7 - Lucas Jellema
 
The future of web development write once, run everywhere with angular js an...
The future of web development   write once, run everywhere with angular js an...The future of web development   write once, run everywhere with angular js an...
The future of web development write once, run everywhere with angular js an...
 
The future of web development write once, run everywhere with angular.js and ...
The future of web development write once, run everywhere with angular.js and ...The future of web development write once, run everywhere with angular.js and ...
The future of web development write once, run everywhere with angular.js and ...
 
Web Services Foundation Technologies
Web Services Foundation TechnologiesWeb Services Foundation Technologies
Web Services Foundation Technologies
 
W8/WP8 App Dev for SAP, Part 2: Microsoft OData Application Development
W8/WP8 App Dev for SAP, Part 2: Microsoft OData Application DevelopmentW8/WP8 App Dev for SAP, Part 2: Microsoft OData Application Development
W8/WP8 App Dev for SAP, Part 2: Microsoft OData Application Development
 
Service Oriented Architecture
Service Oriented Architecture Service Oriented Architecture
Service Oriented Architecture
 
Resume Partha Roy
Resume Partha RoyResume Partha Roy
Resume Partha Roy
 
Sofea
SofeaSofea
Sofea
 
Ahmad_Resume_Ar
Ahmad_Resume_ArAhmad_Resume_Ar
Ahmad_Resume_Ar
 
BPM und SOA machen mobil - Ein Architekturüberblick
BPM und SOA machen mobil - Ein ArchitekturüberblickBPM und SOA machen mobil - Ein Architekturüberblick
BPM und SOA machen mobil - Ein Architekturüberblick
 
BPM and SOA are going mobile - An architectural perspective
BPM and SOA are going mobile - An architectural perspectiveBPM and SOA are going mobile - An architectural perspective
BPM and SOA are going mobile - An architectural perspective
 
Oracle Application Express
Oracle Application ExpressOracle Application Express
Oracle Application Express
 
Nitin_Krishna_Resume
Nitin_Krishna_ResumeNitin_Krishna_Resume
Nitin_Krishna_Resume
 
What Is Angular 2 | Angular 2 Tutorial For Beginners | Angular Training | Edu...
What Is Angular 2 | Angular 2 Tutorial For Beginners | Angular Training | Edu...What Is Angular 2 | Angular 2 Tutorial For Beginners | Angular Training | Edu...
What Is Angular 2 | Angular 2 Tutorial For Beginners | Angular Training | Edu...
 
Introduction to Web Frameworks
Introduction to Web FrameworksIntroduction to Web Frameworks
Introduction to Web Frameworks
 
Madhava_Sr_JAVA_J2EE
Madhava_Sr_JAVA_J2EEMadhava_Sr_JAVA_J2EE
Madhava_Sr_JAVA_J2EE
 
B1 roadmap to cloud platform with oracle web logic server-oracle coherence ...
B1   roadmap to cloud platform with oracle web logic server-oracle coherence ...B1   roadmap to cloud platform with oracle web logic server-oracle coherence ...
B1 roadmap to cloud platform with oracle web logic server-oracle coherence ...
 
Arun Kumar(7.8Yrs).DOC
Arun Kumar(7.8Yrs).DOCArun Kumar(7.8Yrs).DOC
Arun Kumar(7.8Yrs).DOC
 
4163A - What is Web 2.0.ppt
4163A - What is Web 2.0.ppt4163A - What is Web 2.0.ppt
4163A - What is Web 2.0.ppt
 
Oracle ADF Architecture TV - Design - Task Flow Overview
Oracle ADF Architecture TV - Design - Task Flow OverviewOracle ADF Architecture TV - Design - Task Flow Overview
Oracle ADF Architecture TV - Design - Task Flow Overview
 

Plus de Kunal Ashar

The 2014 Decision Makers Guide to Java Web Frameworks
The 2014 Decision Makers Guide to Java Web FrameworksThe 2014 Decision Makers Guide to Java Web Frameworks
The 2014 Decision Makers Guide to Java Web FrameworksKunal Ashar
 
Relationship between environmental issues and human behaviour in low-income ...
Relationship between environmental issues and human  behaviour in low-income ...Relationship between environmental issues and human  behaviour in low-income ...
Relationship between environmental issues and human behaviour in low-income ...Kunal Ashar
 
Startup business plan template 2
Startup business plan template 2Startup business plan template 2
Startup business plan template 2Kunal Ashar
 
Startup business plan template 1
Startup business plan template 1Startup business plan template 1
Startup business plan template 1Kunal Ashar
 
Patterns: Implementing an SOA using an enterprise service bus (ESB)
Patterns: Implementing an SOA using an enterprise service bus (ESB)Patterns: Implementing an SOA using an enterprise service bus (ESB)
Patterns: Implementing an SOA using an enterprise service bus (ESB)Kunal Ashar
 
Dcpcr guidelines for the prevention of child abuse in india
Dcpcr guidelines for the prevention of child abuse in indiaDcpcr guidelines for the prevention of child abuse in india
Dcpcr guidelines for the prevention of child abuse in indiaKunal Ashar
 
Startup business plan template 2
Startup business plan template 2Startup business plan template 2
Startup business plan template 2Kunal Ashar
 
Startup business plan template 1
Startup business plan template 1Startup business plan template 1
Startup business plan template 1Kunal Ashar
 
World Child mortality report 2012
World Child mortality report 2012World Child mortality report 2012
World Child mortality report 2012Kunal Ashar
 
School safety guide booklet
School safety guide bookletSchool safety guide booklet
School safety guide bookletKunal Ashar
 
Unicef child friendly schools manual
Unicef child friendly schools manualUnicef child friendly schools manual
Unicef child friendly schools manualKunal Ashar
 
Children in india 2012 a statistical appraisal
Children in india 2012   a statistical appraisalChildren in india 2012   a statistical appraisal
Children in india 2012 a statistical appraisalKunal Ashar
 
Child safety on roads – a cause for concern
Child safety on roads – a cause for concernChild safety on roads – a cause for concern
Child safety on roads – a cause for concernKunal Ashar
 
Road safety awareness and practices among school children of chandigarh
Road safety awareness and practices among school children of chandigarhRoad safety awareness and practices among school children of chandigarh
Road safety awareness and practices among school children of chandigarhKunal Ashar
 
Child centered community based disaster risk reduction
Child centered community based disaster risk reductionChild centered community based disaster risk reduction
Child centered community based disaster risk reductionKunal Ashar
 
School safety india handbook
School safety india handbookSchool safety india handbook
School safety india handbookKunal Ashar
 
Criminal, Financial and other details of MLAs of the Uttar Pradesh Assembly E...
Criminal, Financial and other details of MLAs of the Uttar Pradesh Assembly E...Criminal, Financial and other details of MLAs of the Uttar Pradesh Assembly E...
Criminal, Financial and other details of MLAs of the Uttar Pradesh Assembly E...Kunal Ashar
 
Report on crimes against women (MLAs and MPs)
Report on crimes against women (MLAs and MPs)Report on crimes against women (MLAs and MPs)
Report on crimes against women (MLAs and MPs)Kunal Ashar
 
10 ways to improve your company's communication by Magic logix
10 ways to improve your company's communication by Magic logix10 ways to improve your company's communication by Magic logix
10 ways to improve your company's communication by Magic logixKunal Ashar
 
AUTOMOTIVE INDUSTRY STANDARD Requirements for School Buses in India
AUTOMOTIVE INDUSTRY STANDARD Requirements for School Buses in IndiaAUTOMOTIVE INDUSTRY STANDARD Requirements for School Buses in India
AUTOMOTIVE INDUSTRY STANDARD Requirements for School Buses in IndiaKunal Ashar
 

Plus de Kunal Ashar (20)

The 2014 Decision Makers Guide to Java Web Frameworks
The 2014 Decision Makers Guide to Java Web FrameworksThe 2014 Decision Makers Guide to Java Web Frameworks
The 2014 Decision Makers Guide to Java Web Frameworks
 
Relationship between environmental issues and human behaviour in low-income ...
Relationship between environmental issues and human  behaviour in low-income ...Relationship between environmental issues and human  behaviour in low-income ...
Relationship between environmental issues and human behaviour in low-income ...
 
Startup business plan template 2
Startup business plan template 2Startup business plan template 2
Startup business plan template 2
 
Startup business plan template 1
Startup business plan template 1Startup business plan template 1
Startup business plan template 1
 
Patterns: Implementing an SOA using an enterprise service bus (ESB)
Patterns: Implementing an SOA using an enterprise service bus (ESB)Patterns: Implementing an SOA using an enterprise service bus (ESB)
Patterns: Implementing an SOA using an enterprise service bus (ESB)
 
Dcpcr guidelines for the prevention of child abuse in india
Dcpcr guidelines for the prevention of child abuse in indiaDcpcr guidelines for the prevention of child abuse in india
Dcpcr guidelines for the prevention of child abuse in india
 
Startup business plan template 2
Startup business plan template 2Startup business plan template 2
Startup business plan template 2
 
Startup business plan template 1
Startup business plan template 1Startup business plan template 1
Startup business plan template 1
 
World Child mortality report 2012
World Child mortality report 2012World Child mortality report 2012
World Child mortality report 2012
 
School safety guide booklet
School safety guide bookletSchool safety guide booklet
School safety guide booklet
 
Unicef child friendly schools manual
Unicef child friendly schools manualUnicef child friendly schools manual
Unicef child friendly schools manual
 
Children in india 2012 a statistical appraisal
Children in india 2012   a statistical appraisalChildren in india 2012   a statistical appraisal
Children in india 2012 a statistical appraisal
 
Child safety on roads – a cause for concern
Child safety on roads – a cause for concernChild safety on roads – a cause for concern
Child safety on roads – a cause for concern
 
Road safety awareness and practices among school children of chandigarh
Road safety awareness and practices among school children of chandigarhRoad safety awareness and practices among school children of chandigarh
Road safety awareness and practices among school children of chandigarh
 
Child centered community based disaster risk reduction
Child centered community based disaster risk reductionChild centered community based disaster risk reduction
Child centered community based disaster risk reduction
 
School safety india handbook
School safety india handbookSchool safety india handbook
School safety india handbook
 
Criminal, Financial and other details of MLAs of the Uttar Pradesh Assembly E...
Criminal, Financial and other details of MLAs of the Uttar Pradesh Assembly E...Criminal, Financial and other details of MLAs of the Uttar Pradesh Assembly E...
Criminal, Financial and other details of MLAs of the Uttar Pradesh Assembly E...
 
Report on crimes against women (MLAs and MPs)
Report on crimes against women (MLAs and MPs)Report on crimes against women (MLAs and MPs)
Report on crimes against women (MLAs and MPs)
 
10 ways to improve your company's communication by Magic logix
10 ways to improve your company's communication by Magic logix10 ways to improve your company's communication by Magic logix
10 ways to improve your company's communication by Magic logix
 
AUTOMOTIVE INDUSTRY STANDARD Requirements for School Buses in India
AUTOMOTIVE INDUSTRY STANDARD Requirements for School Buses in IndiaAUTOMOTIVE INDUSTRY STANDARD Requirements for School Buses in India
AUTOMOTIVE INDUSTRY STANDARD Requirements for School Buses in India
 

Dernier

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 AutomationSafe Software
 
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.pptxHampshireHUG
 
GenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdfGenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdflior mazor
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slidevu2urc
 
Advantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your BusinessAdvantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your BusinessPixlogix Infotech
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘RTylerCroy
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfsudhanshuwaghmare1
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...apidays
 
A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?Igalia
 
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 textsMaria Levchenko
 
presentation ICT roal in 21st century education
presentation ICT roal in 21st century educationpresentation ICT roal in 21st century education
presentation ICT roal in 21st century educationjfdjdjcjdnsjd
 
Tech Trends Report 2024 Future Today Institute.pdf
Tech Trends Report 2024 Future Today Institute.pdfTech Trends Report 2024 Future Today Institute.pdf
Tech Trends Report 2024 Future Today Institute.pdfhans926745
 
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsJoaquim Jorge
 
Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024The Digital Insurer
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...Martijn de Jong
 
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 RobisonAnna Loughnan Colquhoun
 
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 FresherRemote DBA Services
 
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, AdobeApidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobeapidays
 
Developing An App To Navigate The Roads of Brazil
Developing An App To Navigate The Roads of BrazilDeveloping An App To Navigate The Roads of Brazil
Developing An App To Navigate The Roads of BrazilV3cube
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdfhans926745
 

Dernier (20)

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
 
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
 
GenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdfGenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdf
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slide
 
Advantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your BusinessAdvantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your Business
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdf
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
 
A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?
 
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
 
presentation ICT roal in 21st century education
presentation ICT roal in 21st century educationpresentation ICT roal in 21st century education
presentation ICT roal in 21st century education
 
Tech Trends Report 2024 Future Today Institute.pdf
Tech Trends Report 2024 Future Today Institute.pdfTech Trends Report 2024 Future Today Institute.pdf
Tech Trends Report 2024 Future Today Institute.pdf
 
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and Myths
 
Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...
 
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
 
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
 
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, AdobeApidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
 
Developing An App To Navigate The Roads of Brazil
Developing An App To Navigate The Roads of BrazilDeveloping An App To Navigate The Roads of Brazil
Developing An App To Navigate The Roads of Brazil
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf
 

SOFEA: Service Oriented Front End Architecture, Next Gen Web Architecture for the Cloud Era

  • 1. SATURN 2013 Next Gen Web Architecture for the Cloud Era Darryl Nelson Chief Scientist, Raytheon Saturn 2013 28 Apr - 3 May Copyright©(2013) Raytheon UNCLASSIFIED
  • 2. SATURN 2013 Darryl Nelson Copyright©(2013) Raytheon Company Agenda •Existing Web Application Architecture •SOFEA •Lessons learned
  • 3. SATURN 2013 Darryl Nelson Copyright©(2013) Raytheon Company Audience Anyone interested in web technology who has a basic understanding of web applications and Service Oriented Architectures (SOA)
  • 4. SATURN 2013 Darryl Nelson Copyright©(2013) Raytheon Company Data Sources Big Data /Enterprise Infrastructure Visualization, Dashboards, Reports Focus
  • 5. SATURN 2013 Darryl Nelson Copyright©(2012) Raytheon Company Static HTML Pages CGI Servlets Web Templating Engines AJAX SOFEA Arc of Web App Architecture History * * NOT to scale! MVC Frameworks Early 90’s today
  • 6. SATURN 2013 Darryl Nelson Copyright©(2012) Raytheon Company Web Templating Engines •Embedded code within static HTML elements •Mix of static and dynamic HTML •"Model 1" Architecture •Examples –Java Server Pages (JSP) –PHP –Active Server Pages (ASP)
  • 7. SATURN 2013 Darryl Nelson Copyright©(2012) Raytheon Company Web Templating Engines cont. <html> Hello, <b>{$db.name.102}</b> <html> Web Template Engine Web Browser Hello, Bob Web Template Code Markup 01 Ted 02 Susan . . . 101 Joe 102 Bob Data Store
  • 8. SATURN 2013 Darryl Nelson Copyright©(2010) Raytheon Company MVC Frameworks •Model View Controller pattern •Server side framework •“Model 2” Architecture •Examples –ASP.NET MVC Framework (.Net) –Struts, Spring MVC (Java) –Ruby on Rails (Ruby) –Django (Python) –Grails (Groovy) Data Store controller model Web Browser view server
  • 9. SATURN 2013 Darryl Nelson Copyright©(2010) Raytheon Company AJAX •Asynchronous JavaScript And XML •Dynamic content changes without reloading the entire page –interactive and dynamic web apps approaching rich client capability •HTML/CSS + DOM + XmlHttpRequest Object + JavaScript + JSON/XML Img: http://courses.ischool.berkeley.edu/i153/s11/webapps-advanced
  • 10. SATURN 2013 Darryl Nelson Copyright©(2010) Raytheon Company 3 Processes of Web Applications 1.Application Download Mobile code (JavaScript, HTML, Applets, Flash) download to the client (web browser) 2.Presentation Flow Dynamic visual rendering of the UI (screen changes, new screens, etc) in response to user input and data state changes 3.Data Interchange The exchange of data between two software components or tiers (search, updates, retrieval, etc)
  • 11. SATURN 2013 Darryl Nelson Copyright©(2010) Raytheon Company Process Allocation for Web Templating Engines Frameworks Network Presentation Logic (web server) Business Logic Persistence Browser Application Data Interchange Data Interchange Application Download, Presentation Flow Service Interface
  • 12. SATURN 2013 Darryl Nelson Copyright©(2010) Raytheon Company Characteristics of Web Templating Engines and MVC Frameworks •Tight coupling between presentation flow and data interchange (both in the web server) –Triggering a Presentation Flow in a web application always initiates a Data Interchange operation –Every Data Interchange operation results in a Presentation Flow operation •Presentation flow and data interchange are orthogonal concerns that should be decoupled –Separate concerns
  • 13. SATURN 2013 Darryl Nelson Copyright©(2010) Raytheon Company web templating engines + MVC frameworks + a sprinkling of Ajax Today
  • 14. SATURN 2013 SOA & Cloud 14 Web Apps Mobile Devices Machine-to-Machine SaaS PaaS IaaS Data Schema Policies Cloud Stack SOA Stack INTERFACE Endpoints SERVICE BATTERY GOVERNANCE External Cloud
  • 15. SATURN 2013 Darryl Nelson Copyright©(2010) Raytheon Company SOFEA An architectural style for web applications in SOA (& Cloud) environments
  • 16. SATURN 2013 Darryl Nelson Copyright©(2010) Raytheon Company •Service Oriented Front End Architecture –Synonymous with “Single Page” Web Applications •Life above the Service Tier How to Build Application Frontends in a ServiceOriented World –Ganesh Prasad, Rajat Taneja, Vikrant Todankar •Architectural Style –Not an implementation •Prasad, et al propose that the SOA revolution has left behind application front ends/UI’s SOFEA
  • 17. SATURN 2013 SOFEA is now… Feasible because 1)Maturity of the SOA paradigm in theory and practice 2)Advancements in browser-based client technologies, especially JavaScript browser engines and AJAX toolkits Necessary because 1)SOA is the defacto delivery mechanism for cloud-based services (Cloud and SOA are complementary technologies) 2)Diversity of client platforms Growing dominance of Mobile clients Darryl Nelson Copyright©(2013) Raytheon Company
  • 18. SATURN 2013 Darryl Nelson Copyright©(2013) Raytheon Company Legacy Enterprise Web Architecture Business Logic and Persistence Web Browser Web Page Construction Logic CLIENT SERVER Typical Enterprise Web Application Architecture
  • 19. SATURN 2013 Darryl Nelson Copyright©(2013) Raytheon Company SOFEA CLIENT SERVER Business Logic and Persistence Web Browser Web Page Construction Logic Web Browser SERVICES Business Logic and Persistence
  • 20. SATURN 2013 Darryl Nelson Copyright©(2013) Raytheon Company Process Allocation for SOFEA Network Business Logic Persistence Browser Presentation Logic Application Data Interchange Presentation Flow Service Interface Application Download Service
  • 21. SATURN 2013 Darryl Nelson Copyright©(2013) Raytheon Company 3 Web Processes and SOFEA Web Browser Business Logic and Persistence Presentation Flow Data Interchange Download Server Application Download Service Interface SERVICES
  • 22. SATURN 2013 Darryl Nelson Copyright©(2013) Raytheon Company SOFEA Principles 1.Application Download, Data Interchange, and Presentation Flow must be decoupled ‒No part of the client should be evoked, generated or templated from the server-side. 2.Presentation Flow is a client-side concern only 3.All communication with the application server should be using services (REST, SOAP, etc) 4.The MVC design pattern belongs in the client, not the server
  • 23. SATURN 2013 Darryl Nelson Copyright©(2013) Raytheon Company SOFEA Lifecycle One Time Download Presentation Code (HTML, JavaScript) Data Only Web Browser Download Server 1. Web Browser SERVICES 2. Business Logic and Persistence
  • 24. SATURN 2013 Darryl Nelson Copyright©(2013) Raytheon Company MVC in the Web Browser Web Server MVC Pattern Web Browser MODEL CONTROLLER VIEW
  • 25. SATURN 2013 Benefits of SOFEA •Scalability –Server has less work to do; no more presentation generation, just provide a services •Higher ROI for each LOC –Expanded opportunity space due to the inherent reusable nature of SOA •Better user response –Low latency == happy end users –After the app download, no presentation is transported over the wire, only business data •Natural fit into SOA and Cloud environments •Organized programming model –Client developers concentrate on the UI –Server-side developers concentrate on Services •Offline applications –When the network crashes, decoupled client can dynamically switch out their model objects •Interoperability –Easier integration with lower overhead from multiple platforms –Clients don’t care if services are Java, C#, Python, Cobol or a heterogeneous mix Darryl Nelson Copyright©(2013) Raytheon Company
  • 26. SATURN 2013 SOFEA Client Implementation Archetype Darryl Nelson Copyright©(2013) Raytheon Company Single HTML Page JSON HTTP SPDY Websockets Web Server REST Framework (JAX-RS) HTML-5 DOM MVC Web Workers JavaScript
  • 27. SATURN 2013 Darryl Nelson Copyright©(2010) Raytheon Company Lessons Learned •The web client is a “Priority 1” architecture tier, not an after thought –Object-Oriented Analysis and Design principles –Design Patterns –Continuous integration, performance testing, etc –Critical to expend significant engineering time and energy on the client architecture •Use a mature client-side frameworks –Dojo, JQuery, AngularJS, etc •The RESTful model is natural fit for SOFEA systems •Architects & developers should “bake-in” asynchronicity between the server and client layers •Leverage newer technologies where appropriate –HTML-5 Web Workers & Websockets –Google’s SPDY •Start cross-browser compatibility testing early in the development cycle –Fight the “add IE support later” temptation •SOFEA excellent choice for our customer’s bandwidth starved environments –Very low latency for those customer’s with average-good network pipes
  • 28. SATURN 2013 •Life Above the Service Tier by Ganesh Prasad, Rajat Taneja and Vikrant Todankar –http://wisdomofganesh.blogspot.com/2011/10/life-above-service-tier-change-of-links.html •JavaScript Frameworks –Dojo: http://dojotoolkit.org/ –JQuery: http://jquery.com/ –AngularJS: http://angularjs.org/ –KnockoutJS: http://knockoutjs.com/ •JavaScript Design Patterns Book –http://addyosmani.com/resources/essentialjsdesignpatterns/book/ •SOA & Cloud –http://www.infoq.com/articles/ieee-software-engineeering-services-cloud- computing •Web Sockets –http://www.websocket.org/ •Google SPDY –http://www.chromium.org/spdy Darryl Nelson Copyright©(2010) Raytheon Company Resources
  • 29. SATURN 2013 Darryl Nelson Copyright©(2013) Raytheon Company Darryl Nelson Chief Scientist Raytheon Intelligence and Information Services Darryl.Nelson@Raytheon.com Darryl.Nelson.Tech@Gmail.com
  • 30. SATURN 2013 backup Darryl Nelson Copyright©(2013) Raytheon Company
  • 31. SATURN 2013 Darryl Nelson Copyright©(2010) Raytheon Company SOFEA Implementation Examples •Client –JavaScript: Dojo, JQuery, ExtJS, angularjs.org, knockoutjs.com, Twitter Bootstrap –Flex* –Silverlight* –Java Applets* •Services –WS-* (SOAP/WSDL) •Axis, Weblogic, Websphere –REST  •Jersey, RESTEasy, RESTlets, Drop Wizard
  • 32. SATURN 2013 Processing Request with Push Response Design Pattern 32 Adapted from J. Christensen, Using REST Web-Services and Cloud Computing to Create Next Generation Mobile Applications, ACM 978-60558-768-4/09/10 Send Request 1 Web App runs asynchronously from the request 2 Handle Request 3 Push Notification & Result Download 4 Task A Task B Web Services in the Cloud Web App