SlideShare a Scribd company logo
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

More Related Content

What's hot (20)

PDF
DevSecOps: What Why and How : Blackhat 2019
NotSoSecure Global Services
 
PDF
Secure Code Review 101
Narudom Roongsiriwong, CISSP
 
PDF
Oscp preparation
Manich Koomsusi
 
PPTX
Introduction To DevOps | Devops Tutorial For Beginners | DevOps Training For ...
Simplilearn
 
PPTX
AppSec & DevSecOps Metrics: Key Performance Indicators (KPIs) to Measure Success
Robert Grupe, CSSLP CISSP PE PMP
 
PDF
MITRE ATT&CKcon 2.0: Prioritizing Data Sources for Minimum Viable Detection; ...
MITRE - ATT&CKcon
 
PPT
Application Security
Reggie Niccolo Santos
 
PPTX
Azure Pipelines
Mithun Shanbhag
 
PDF
IBM QRadar Security Intelligence Overview
Camilo Fandiño Gómez
 
PPTX
Thick client pentesting_the-hackers_meetup_version1.0pptx
Anurag Srivastava
 
PDF
DevSecOps: The DoD Software Factory
scoopnewsgroup
 
PDF
Présentation ELK/SIEM et démo Wazuh
Aurélie Henriot
 
PDF
What is shodan
Koen Van Impe
 
PDF
The Art of VoIP Hacking - Defcon 23 Workshop
Fatih Ozavci
 
PPTX
Metasploit
Lalith Sai
 
PPT
BIG IP F5 GTM Presentation
PCCW GLOBAL
 
PPTX
API Security in a Microservice Architecture
Matt McLarty
 
PDF
Flutter
Dave Chao
 
PDF
DevOps vs Agile | DevOps Tutorial For Beginners | DevOps Training | Edureka
Edureka!
 
PDF
Serverless
Young Yang
 
DevSecOps: What Why and How : Blackhat 2019
NotSoSecure Global Services
 
Secure Code Review 101
Narudom Roongsiriwong, CISSP
 
Oscp preparation
Manich Koomsusi
 
Introduction To DevOps | Devops Tutorial For Beginners | DevOps Training For ...
Simplilearn
 
AppSec & DevSecOps Metrics: Key Performance Indicators (KPIs) to Measure Success
Robert Grupe, CSSLP CISSP PE PMP
 
MITRE ATT&CKcon 2.0: Prioritizing Data Sources for Minimum Viable Detection; ...
MITRE - ATT&CKcon
 
Application Security
Reggie Niccolo Santos
 
Azure Pipelines
Mithun Shanbhag
 
IBM QRadar Security Intelligence Overview
Camilo Fandiño Gómez
 
Thick client pentesting_the-hackers_meetup_version1.0pptx
Anurag Srivastava
 
DevSecOps: The DoD Software Factory
scoopnewsgroup
 
Présentation ELK/SIEM et démo Wazuh
Aurélie Henriot
 
What is shodan
Koen Van Impe
 
The Art of VoIP Hacking - Defcon 23 Workshop
Fatih Ozavci
 
Metasploit
Lalith Sai
 
BIG IP F5 GTM Presentation
PCCW GLOBAL
 
API Security in a Microservice Architecture
Matt McLarty
 
Flutter
Dave Chao
 
DevOps vs Agile | DevOps Tutorial For Beginners | DevOps Training | Edureka
Edureka!
 
Serverless
Young Yang
 

Viewers also liked (20)

PDF
Sofea and SOUI - Web future without web frameworks
André Neubauer
 
PDF
Front end architecture
Rafael Salerno de Oliveira
 
PDF
TDC 2014 - Arquitetura front-end com AngularJS
Leonardo Zanivan
 
PDF
Sofea in a soa ecosystem v0 4
Ganesh Prasad
 
PDF
Life above the service tier preso v1 0
Ganesh Prasad
 
PDF
How to connect AngularJS to servers
Carlos Morales
 
PDF
Adaptive SOA with Interactive Monitoring Techniques and HPS
IOSR Journals
 
PDF
Aceleracao+conteudo+dinamico
Amazon Web Services LATAM
 
PDF
Life above the_service_tier_v1.1
Ganesh Prasad
 
PDF
School Safety Module T L C India
Psdmn Phil
 
PPTX
A nova geração da arquitetura web para a era da nuvem
Cloves Moreira Junior
 
PPT
Arquitetura de sistemas web
Opakus - Soluções Inteligentes
 
PDF
UC For Business - Executive Desktop
NECIndia
 
PDF
Customer Profiling&Targeted Advertisement
2tique
 
PDF
Modern Web Cloud Architecture based on Google Technologies
Michael Ludwig
 
PDF
Citrix Synergy 2014 - Syn232 Building a Cloud Architecture and Self- Service ...
Citrix
 
PDF
School safety programme in India
Kunal Ashar
 
KEY
Cloud service architecture
Jazziator
 
PDF
IBM Watson-How it works
Virginia Fernandez
 
PDF
Overview of IBM Capabilities
IBMGovernmentCA
 
Sofea and SOUI - Web future without web frameworks
André Neubauer
 
Front end architecture
Rafael Salerno de Oliveira
 
TDC 2014 - Arquitetura front-end com AngularJS
Leonardo Zanivan
 
Sofea in a soa ecosystem v0 4
Ganesh Prasad
 
Life above the service tier preso v1 0
Ganesh Prasad
 
How to connect AngularJS to servers
Carlos Morales
 
Adaptive SOA with Interactive Monitoring Techniques and HPS
IOSR Journals
 
Aceleracao+conteudo+dinamico
Amazon Web Services LATAM
 
Life above the_service_tier_v1.1
Ganesh Prasad
 
School Safety Module T L C India
Psdmn Phil
 
A nova geração da arquitetura web para a era da nuvem
Cloves Moreira Junior
 
Arquitetura de sistemas web
Opakus - Soluções Inteligentes
 
UC For Business - Executive Desktop
NECIndia
 
Customer Profiling&Targeted Advertisement
2tique
 
Modern Web Cloud Architecture based on Google Technologies
Michael Ludwig
 
Citrix Synergy 2014 - Syn232 Building a Cloud Architecture and Self- Service ...
Citrix
 
School safety programme in India
Kunal Ashar
 
Cloud service architecture
Jazziator
 
IBM Watson-How it works
Virginia Fernandez
 
Overview of IBM Capabilities
IBMGovernmentCA
 
Ad

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

PPT
Service Oriented UI Architecture in the world of web, desktop, & mobile appli...
Axway Appcelerator
 
PPT
SD Forum Java SIG - Service Oriented UI Architecture
Jeff Haynie
 
PPT
Cavalcare l'onda del Web 2.0 - Dion Hinchcliffe
Tommaso Sorchiotti
 
PPT
Leveraging The Web 2.0 Movement, Dion Hinchliffe
Giuliano Prati
 
PDF
JavaScript Service Worker Design Patterns for Better User Experience
reeder29
 
PDF
2010 Future Distributed Computing Architectures and SOA
Bob Marcus
 
PDF
Web-Oriented Architecture (WOA)
thetechnicalweb
 
PDF
Novelties in Java EE 7: JAX-RS 2.0 + IPT REST HATEOAS Polling Demo @ BGOUG Co...
Trayan Iliev
 
PDF
Fundamentals of Web Development For Non-Developers
Lemi Orhan Ergin
 
PDF
Ekon20 mORMot SOA Delphi Conference
Arnaud Bouchez
 
PPT
Social Media, Cloud Computing and architecture
Rick Mans
 
PPT
Social World
prasadpawaskar
 
PDF
Trends in front end engineering_handouts
AE - architects for business and ict
 
PPT
Service Oriented Architecture
Prabhat gangwar
 
PPTX
Web- and Mobile-Oriented Architectures with Oracle Fusion Middleware (OOW 2014)
Lucas Jellema
 
PDF
SOA an architecture on the Desktop
Vincent Perrin
 
PPTX
Design Considerations When Building Cross Platform Mobile Applications
SuperConnect
 
PDF
Envisioning the Future Enterprise
WSO2
 
PDF
Keynote-Service Orientation – Why is it good for your business
WSO2
 
PDF
Transforming Software Architecture for the 21st Century (September 2009)
Dion Hinchcliffe
 
Service Oriented UI Architecture in the world of web, desktop, & mobile appli...
Axway Appcelerator
 
SD Forum Java SIG - Service Oriented UI Architecture
Jeff Haynie
 
Cavalcare l'onda del Web 2.0 - Dion Hinchcliffe
Tommaso Sorchiotti
 
Leveraging The Web 2.0 Movement, Dion Hinchliffe
Giuliano Prati
 
JavaScript Service Worker Design Patterns for Better User Experience
reeder29
 
2010 Future Distributed Computing Architectures and SOA
Bob Marcus
 
Web-Oriented Architecture (WOA)
thetechnicalweb
 
Novelties in Java EE 7: JAX-RS 2.0 + IPT REST HATEOAS Polling Demo @ BGOUG Co...
Trayan Iliev
 
Fundamentals of Web Development For Non-Developers
Lemi Orhan Ergin
 
Ekon20 mORMot SOA Delphi Conference
Arnaud Bouchez
 
Social Media, Cloud Computing and architecture
Rick Mans
 
Social World
prasadpawaskar
 
Trends in front end engineering_handouts
AE - architects for business and ict
 
Service Oriented Architecture
Prabhat gangwar
 
Web- and Mobile-Oriented Architectures with Oracle Fusion Middleware (OOW 2014)
Lucas Jellema
 
SOA an architecture on the Desktop
Vincent Perrin
 
Design Considerations When Building Cross Platform Mobile Applications
SuperConnect
 
Envisioning the Future Enterprise
WSO2
 
Keynote-Service Orientation – Why is it good for your business
WSO2
 
Transforming Software Architecture for the 21st Century (September 2009)
Dion Hinchcliffe
 
Ad

More from Kunal Ashar (20)

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

Recently uploaded (20)

PPTX
New ThousandEyes Product Innovations: Cisco Live June 2025
ThousandEyes
 
PPTX
AI Penetration Testing Essentials: A Cybersecurity Guide for 2025
defencerabbit Team
 
PDF
Bitcoin for Millennials podcast with Bram, Power Laws of Bitcoin
Stephen Perrenod
 
PDF
Newgen Beyond Frankenstein_Build vs Buy_Digital_version.pdf
darshakparmar
 
PDF
[Newgen] NewgenONE Marvin Brochure 1.pdf
darshakparmar
 
PDF
NASA A Researcher’s Guide to International Space Station : Physical Sciences ...
Dr. PANKAJ DHUSSA
 
PDF
CIFDAQ Market Wrap for the week of 4th July 2025
CIFDAQ
 
PDF
Book industry state of the nation 2025 - Tech Forum 2025
BookNet Canada
 
PDF
What’s my job again? Slides from Mark Simos talk at 2025 Tampa BSides
Mark Simos
 
PPTX
Seamless Tech Experiences Showcasing Cross-Platform App Design.pptx
presentifyai
 
PDF
Kit-Works Team Study_20250627_한달만에만든사내서비스키링(양다윗).pdf
Wonjun Hwang
 
PDF
“NPU IP Hardware Shaped Through Software and Use-case Analysis,” a Presentati...
Edge AI and Vision Alliance
 
PDF
UiPath DevConnect 2025: Agentic Automation Community User Group Meeting
DianaGray10
 
PDF
Peak of Data & AI Encore AI-Enhanced Workflows for the Real World
Safe Software
 
PDF
Transcript: Book industry state of the nation 2025 - Tech Forum 2025
BookNet Canada
 
PDF
“Computer Vision at Sea: Automated Fish Tracking for Sustainable Fishing,” a ...
Edge AI and Vision Alliance
 
DOCX
Cryptography Quiz: test your knowledge of this important security concept.
Rajni Bhardwaj Grover
 
PPTX
COMPARISON OF RASTER ANALYSIS TOOLS OF QGIS AND ARCGIS
Sharanya Sarkar
 
PPTX
The Project Compass - GDG on Campus MSIT
dscmsitkol
 
PDF
The Rise of AI and IoT in Mobile App Tech.pdf
IMG Global Infotech
 
New ThousandEyes Product Innovations: Cisco Live June 2025
ThousandEyes
 
AI Penetration Testing Essentials: A Cybersecurity Guide for 2025
defencerabbit Team
 
Bitcoin for Millennials podcast with Bram, Power Laws of Bitcoin
Stephen Perrenod
 
Newgen Beyond Frankenstein_Build vs Buy_Digital_version.pdf
darshakparmar
 
[Newgen] NewgenONE Marvin Brochure 1.pdf
darshakparmar
 
NASA A Researcher’s Guide to International Space Station : Physical Sciences ...
Dr. PANKAJ DHUSSA
 
CIFDAQ Market Wrap for the week of 4th July 2025
CIFDAQ
 
Book industry state of the nation 2025 - Tech Forum 2025
BookNet Canada
 
What’s my job again? Slides from Mark Simos talk at 2025 Tampa BSides
Mark Simos
 
Seamless Tech Experiences Showcasing Cross-Platform App Design.pptx
presentifyai
 
Kit-Works Team Study_20250627_한달만에만든사내서비스키링(양다윗).pdf
Wonjun Hwang
 
“NPU IP Hardware Shaped Through Software and Use-case Analysis,” a Presentati...
Edge AI and Vision Alliance
 
UiPath DevConnect 2025: Agentic Automation Community User Group Meeting
DianaGray10
 
Peak of Data & AI Encore AI-Enhanced Workflows for the Real World
Safe Software
 
Transcript: Book industry state of the nation 2025 - Tech Forum 2025
BookNet Canada
 
“Computer Vision at Sea: Automated Fish Tracking for Sustainable Fishing,” a ...
Edge AI and Vision Alliance
 
Cryptography Quiz: test your knowledge of this important security concept.
Rajni Bhardwaj Grover
 
COMPARISON OF RASTER ANALYSIS TOOLS OF QGIS AND ARCGIS
Sharanya Sarkar
 
The Project Compass - GDG on Campus MSIT
dscmsitkol
 
The Rise of AI and IoT in Mobile App Tech.pdf
IMG Global Infotech
 

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 [email protected] [email protected]
  • 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