Web Cloud Architecture



Similar documents
How To Build A Web App

Credits: Some of the slides are based on material adapted from

Web Applications Come of Age

BEST WEB PROGRAMMING LANGUAGES TO LEARN ON YOUR OWN TIME

Web 2.0 Technology Overview. Lecture 8 GSL Peru 2014

Web Frameworks. web development done right. Course of Web Technologies A.A. 2010/2011 Valerio Maggio, PhD Student Prof.

Web Development Frameworks

Google Web Toolkit (GWT) Architectural Impact on Enterprise Web Application

ASP.NET: THE NEW PARADIGM FOR WEB APPLICATION DEVELOPMENT

Solution Showcase Session. Enterprise 2.0 Computing Services

Pentesting Web Frameworks (preview of next year's SEC642 update)

White Paper On. Single Page Application. Presented by: Yatin Patel

A review and analysis of technologies for developing web applications

FIVE SIGNS YOU NEED HTML5 WEBSOCKETS

Preface. Motivation for this Book

Introduction to Cloud Computing. Lecture 02 History of Enterprise Computing Kaya Oğuz

Web Programming Languages Overview

Web Pages. Static Web Pages SHTML

GUI and Web Programming

An introduction to creating Web 2.0 applications in Rational Application Developer Version 8.0

What Is the Java TM 2 Platform, Enterprise Edition?

AJAX. Gregorio López López Juan Francisco López Panea

Cloud Computing and Government Services August 2013 Serdar Yümlü SAMPAŞ Information & Communication Systems

Web application development landscape: technologies and models

Server-Side Scripting and Web Development. By Susan L. Miertschin

This course provides students with the knowledge and skills to develop ASP.NET MVC 4 web applications.

Service Oriented Architecture (SOA) Architecture, Governance, Standards and Technologies

From Desktop to Browser Platform: Office Application Suite with Ajax

Developing ASP.NET MVC 4 Web Applications MOC 20486

Service Oriented Architecture (SOA) Architecture, Governance, Standards and Technologies

How To Write An Ria Application

Position Paper: Toward a Mobile Rich Web Application Mobile AJAX and Mobile Web 2.0

ORACLE APPLICATION EXPRESS 5.0

Emerging technologies - AJAX, VXML SOA in the travel industry

Developing ASP.NET MVC 4 Web Applications

Portals, Portlets & Liferay Platform

For Course Details, visit:

Migration and Developer Productivity Solutions Cloud, Mobile and Web Development Workshop

An Architecture for Web-based DSS

Trollhättan, Sweden

Syllabus INFO-GB Design and Development of Web and Mobile Applications (Especially for Start Ups)

<Insert Picture Here> GlassFish v3 - A Taste of a Next Generation Application Server

Whitepapers at Amikelive.com

SOA CERTIFIED JAVA DEVELOPER (7 Days)

IBM Digital Experience. Using Modern Web Development Tools and Technology with IBM Digital Experience

CHAPTER 8 CLOUD COMPUTING

Enhancing your Web Experiences with ASP.NET Ajax and IIS 7

Syllabus INFO-UB Design and Development of Web and Mobile Applications (Especially for Start Ups)

Integration the Web 2.0 way. Florian Daniel April 28, 2009

Software Development Interactief Centrum voor gerichte Training en Studie Edisonweg 14c, 1821 BN Alkmaar T:

IBM Rational Web Developer for WebSphere Software Version 6.0

The Oracle Fusion Development Platform

2311A: Advanced Web Application Development using Microsoft ASP.NET Course 2311A Three days Instructor-led

CHAPTER 1 INTRODUCTION

WEB SERVICES FOR MOBILE COMPUTING

Developing ASP.NET MVC 4 Web Applications Course 20486A; 5 Days, Instructor-led

Mobilize Your ERP with ADF Mobile

Performance Testing Web 2.0. Stuart Moncrieff (Load Testing Guru) /

Framework as a master tool in modern web development

Combining Service-Oriented Architecture and Event-Driven Architecture using an Enterprise Service Bus

How To Develop A Web Service In A Microsoft J2Ee (Java) 2.5 (Oracle) 2-Year Old (Orcient) 2Dj (Oracles) 2E (Orca) 2Gj (J

Release 1. ICAPRG604A Create cloud computing services

INTRODUCTION TO CLOUD COMPUTING CEN483 PARALLEL AND DISTRIBUTED SYSTEMS

Networks and Services

maximizing IT productivity

JEE Web Applications Jeff Zhuk

2 (18) - SOFTWARE ARCHITECTURE Service Oriented Architecture - Sven Arne Andreasson - Computer Science and Engineering.

A Comparison of Open Source Application Development Frameworks for the Enterprise

Using Cloud Services for Building Next Generation Mobile Apps

Internet Engineering: Web Application Architecture. Ali Kamandi Sharif University of Technology Fall 2007

Curl Building RIA Beyond AJAX

Business & Computing Examinations (BCE) LONDON (UK)

MENDIX FOR MOBILE APP DEVELOPMENT WHITE PAPER

HYBRID. Course Packet

Why AJAX? Keywords - Web applications, Java Script, Web INTRODUCTION. Why Not AJAX? 111 P a g e

Visual WebGui for ASP.NET Ajax (and other Ajax) Web Developers Learn what makes Visual WebGui not just another Ajax framework

Electronic Commerce Engineering

<Insert Picture Here> Oracle Mobile Enterprise Application Platform Overview

Web Development. Owen Sacco. ICS2205/ICS2230 Web Intelligence

ebay : How is it a hit

The Learn-Verified Full Stack Web Development Program

ASP &.NET. Microsoft's Solution for Dynamic Web Development. Mohammad Ali Choudhry Milad Armeen Husain Zeerapurwala Campbell Ma Seul Kee Yoon

Automating Rich Internet Application Development for Enterprise Web 2.0 and SOA

AUTOMATED CONFERENCE CD-ROM BUILDER AN OPEN SOURCE APPROACH Stefan Karastanev

MOBILE APPLICATIONS AND CLOUD COMPUTING. Roberto Beraldi

Service Oriented Architectures

Mobile development with Apache OFBiz. Ean Schuessler, Brainfood

Guiding SOA Evolution through Governance From SOA 101 to Virtualization to Cloud Computing

Certified Cloud Computing Professional VS-1067

Article. One for All Apps in HTML5

Distance Examination using Ajax to Reduce Web Server Load and Student s Data Transfer

Technical Track Session Service-Oriented Architecture

Transcription:

Web Cloud Architecture Introduction to Software Architecture Jay Urbain, Ph.D. urbain@msoe.edu Credits: Ganesh Prasad, Rajat Taneja, Vikrant Todankar, How to Build Application Front-ends in a Service-Oriented World Darrly Nelson, Next Gen Web Architecture for the Cloud Era, 2013. Fowler, Martin. Patterns of Enterprise Architecture. Addison-Wesley Professional, 2003. Fowler, Catalog of Enterprise Architecture Patterns. Updated 2013. 1/2015. http://martinfowler.com/eaacatalog/ 1

Topics Existing Web Application Architecture Next generation Web Application Architectures - SOFEA Lessons learned Advanced tech 2

History of Web Application Architecture 3

Early Web Technology HTML or HyperText Markup Language Standard markup language used to create Web pages. CGI Common Gateway Interfaces Scripts, commonly Perl, using common interface between the Web server and programs that generate the Web content. Servlet Java programming for extending capabilities of server. Well defined API through run-time environment. Typically used for dynamic web content generation. 4

Web Templating Engine 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) 5

Web Templating Engine 6

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) 7

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 8

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.) 9

Process Allocation for Web Templating Engine Framework 10

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 (web page update) in a web application 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 11

Web templating engines + MVC frameworks + a sprinkling of Ajax Current State 12

SOA (Service Oriented Architecture) and Cloud Computing SaaS software as a service PaaS platform as a service IaaS infrastructure as a service 13

SOA Service-oriented architecture (SOA) Architectural design pattern based on distinct pieces of software providing application functionality as services to other applications via a protocol. Known as service-orientation. 14

SOA Design Concept SOA is based on the concept of a service. Each SOA service is designed to perform one or more activities by implementing one or more service operations. As a result, each service is built as a discrete piece of code. Makes it possible to reuse the code in different ways throughout the application by changing only the way an individual service interoperates with other services - versus - making code changes to the service itself. 15

SOA Terms Service Endpoints An endpoint is the entry point for such a SOA implementation. Service Battery Collection of collaborating services Governance Control over resources to be leveraged for Service Oriented Computing to deliver value to the business. SOA solutions require a number of IT support processes as well as organizational processes that will also involve the business leaders. SOA needs a solid foundation that is based on standards and includes policies, contracts, and service level agreements. 16

Cloud Computing Based on utility and consumption of computing resources. Deploy groups of remote servers and software networked that allow data storage and online access to computer services or resources. Relies on sharing of resources to achieve coherence and economies of scale, similar to a utility (like the electricity grid) over a network. At the foundation of cloud computing is the broader concept of converged infrastructure and shared services. Clouds can be classified as public, private or hybrid. 17

Service Oriented Front End Architecture (SOFEA) Service Oriented Front End Architecture Synonymous with Single Page Web Applications Life above the Service Tier How to Build Application Front-ends in a Service-Oriented 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 18

SOFEA Feasible, necessary Feasible: 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: 1. SOA is the defacto delivery mechanism for cloud-based services (Cloud and SOA are complementary technologies) 2. Diversity of client platforms 3. Growing dominance of Mobile clients 19

Legacy Enterprise Architecture 20

SOFEA 21

SOFEA Process Allocation 22

Web Processes for SOFEA 23

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 24

SOFEA Lifecycle 25

MVC in the Web Browser 26

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 27

Benefits of SOFEA 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 28

SOFEA Client Implementation Archetype 29

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 pipes 30

Lessons Learned 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 bandwidth starved environments Very low latency for those customer s with average-good network 31

Advanced Tech WebSockets Advanced technology that makes it possible to open an interactive communication session between the user's browser and a server. With this API, you can send messages to a server and receive event-driven responses without having to poll the server for a reply. SPDY (pronounced "SPeeDY ) Networking protocol whose goal is to speed up the web. SPDY augments HTTP with several speed-related features that can dramatically reduce page load time. https://developers.google.com/speed/spdy/ 32