Académique Documents
Professionnel Documents
Culture Documents
Saturn 2013
28 Apr - 3 May
Copyright(2013) Raytheon
SATURN 2013
Agenda
Existing Web Application Architecture
SOFEA
Lessons learned
Darryl Nelson
SATURN 2013
Copyright(2013) Raytheon Company
Audience
Anyone interested in web technology
who has a basic understanding of
web applications and
Service Oriented Architectures (SOA)
Darryl Nelson
SATURN 2013
Copyright(2013) Raytheon Company
Focus
Data
Sources
Darryl Nelson
Big Data
/Enterprise
Infrastructure
SATURN 2013
Copyright(2013) Raytheon Company
Visualization,
Dashboards,
Reports
Servlets
MVC
Frameworks
AJAX
today
CGI
Early 90s
SOFEA
Web Templating
Engines
SATURN 2013
Copyright(2012) Raytheon Company
* NOT to scale!
Darryl Nelson
SATURN 2013
Copyright(2012) Raytheon Company
Web Template
<html>
Hello,
<b>{$db.name.102}</b>
Markup
Web Template Engine
<html>
Web Browser
Hello, Bob
01 Ted
02 Susan
.
.
.
101 Joe
102 Bob
Darryl Nelson
Data Store
SATURN 2013
Copyright(2012) Raytheon Company
MVC Frameworks
SATURN 2013
Copyright(2010) Raytheon Company
Web Browser
view
controller
model
Data Store
server
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
Darryl Nelson
SATURN 2013
Copyright(2010) Raytheon Company
Img: http://courses.ischool.berkeley.edu/i153/s11/webapps-advanced
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)
Darryl Nelson
SATURN 2013
Copyright(2010) Raytheon Company
Application Download,
Presentation Flow
Presentation
Logic
Network
Browser
(web server)
Data
Interchange
Darryl Nelson
Business
Logic
Data
Interchange
SATURN 2013
Copyright(2010) Raytheon Company
Persistence
Application
Darryl Nelson
SATURN 2013
Copyright(2010) Raytheon Company
Today
web templating engines +
MVC frameworks +
a sprinkling of Ajax
Darryl Nelson
SATURN 2013
Copyright(2010) Raytheon Company
Web Apps
SOA Stack
SaaS
GOVERNANCE
SERVICE
BATTERY
INTERFACE
Endpoints
PaaS
IaaS
Data Schema
Mobile Devices
Machine-to-Machine
External Cloud
Policies
SATURN 2013
14
SOFEA
An architectural style
for web applications in
SOA (& Cloud) environments
Darryl Nelson
SATURN 2013
Copyright(2010) Raytheon Company
SOFEA
Service Oriented Front End Architecture
Synonymous with Single Page Web Applications
Architectural Style
Not an implementation
Darryl Nelson
SATURN 2013
Copyright(2010) Raytheon Company
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
-
Darryl Nelson
Growing dominance of
Mobile clients
SATURN 2013
Copyright(2013) Raytheon Company
Legacy Enterprise
Web Architecture
CLIENT
SERVER
Web Browser
Web Page
Construction
Logic
Business Logic
and
Persistence
SATURN 2013
Copyright(2013) Raytheon Company
SOFEA
Web Browser
Web Browser
Darryl Nelson
SERVER
SERVICES
CLIENT
SATURN 2013
Copyright(2013) Raytheon Company
Business Logic
and
Persistence
Service
Interface
Application Download
Application
Network
Service
Browser
Data
Interchange
Darryl Nelson
SATURN 2013
Copyright(2013) Raytheon Company
Business
Logic
Persistence
Presentation
Logic
Download
Server
SERVICES
Presentation
Flow
Web Browser
Data Interchange
Darryl Nelson
SATURN 2013
Copyright(2013) Raytheon Company
Business Logic
and
Persistence
Service
Interface
SOFEA Principles
1.
2.
3.
4.
Darryl Nelson
SATURN 2013
Copyright(2013) Raytheon Company
SOFEA Lifecycle
One Time
Download
Presentation
Code
(HTML, JavaScript)
1.
Download
Server
Web Browser
2.
Darryl Nelson
Web Browser
SERVICES
Data Only
SATURN 2013
Copyright(2013) Raytheon Company
Business Logic
and
Persistence
MVC Pattern
VIEW
Web Server
Darryl Nelson
Web Browser
SATURN 2013
Copyright(2013) Raytheon Company
Benefits of SOFEA
Scalability
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 dont care if services are
Java, C#, Python, Cobol or a
heterogeneous mix
SATURN 2013
Copyright(2013) Raytheon Company
Web
Server
HTML-5
Single
HTML
Page
REST
MVC
Web Workers
DOM
HTTP
SPDY
Websockets
Darryl Nelson
SATURN 2013
Copyright(2013) Raytheon Company
Framework
(JAX-RS)
Lessons Learned
The web client is a Priority 1 architecture tier, not an after thought
SATURN 2013
Copyright(2010) Raytheon Company
Resources
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/
Web Sockets
http://www.websocket.org/
Google SPDY
http://www.chromium.org/spdy
Darryl Nelson
SATURN 2013
Copyright(2010) Raytheon Company
Darryl Nelson
Chief Scientist
Raytheon Intelligence and Information
Services
Darryl.Nelson@Raytheon.com
Darryl.Nelson.Tech@Gmail.com
Darryl Nelson
SATURN 2013
Copyright(2013) Raytheon Company
backup
Darryl Nelson
SATURN 2013
Copyright(2013) Raytheon Company
Services
WS-* (SOAP/WSDL)
Axis, Weblogic, Websphere
REST
Jersey, RESTEasy, RESTlets, Drop Wizard
Darryl Nelson
SATURN 2013
Copyright(2010) Raytheon Company
3 Handle Request
1 Send Request
Web App
Task A
Push Notification
4
& Result Download
SATURN 2013
Adapted from J. Christensen, Using REST Web-Services and Cloud Computing to Create Next Generation Mobile Applications, ACM 978-60558-768-4/09/10
Task B
32