Enterprise Web based Software Architecture & Design

Similar documents
Enterprise Software Architecture & Design

An Introduction to Software Architecture By David Garlan & Mary Shaw 94

An Introduction to Software Architecture By David Garlan & Mary Shaw 94

Architectural Blueprint

An Introduction to Software Architecture. David Garlan & Mary Shaw 94

Notes. Submit homework on Blackboard The first homework deadline is the end of Sunday, Feb 11 th. Final slides have 'Spring 2018' in chapter title

Software Architecture

KINGS COLLEGE OF ENGINEERING 1

Module 3 Web Component

DEPARTMENT OF COMPUTER SCIENCE AND ENGINEERING

13. Databases on the Web

Enterprise Java Unit 1- Chapter 3 Prof. Sujata Rizal Introduction to Servlets

AIM. 10 September

Distributed Multitiered Application

Web Engineering. Introduction. Husni

Overview of Web Application Development

Enterprise Java Beans

Introduction. Enterprise Java Instructor: Please introduce yourself Name Experience in Java Enterprise Edition Goals you hope to achieve

Enterprise Java Unit 1-Chapter 2 Prof. Sujata Rizal Java EE 6 Architecture, Server and Containers

ASP.NET MVC Training

Recommendations for Web Development and Deployment Using Team Developer

Oracle Developer Day

Java EE Application Assembly & Deployment Packaging Applications, Java EE modules. Model View Controller (MVC)2 Architecture & Packaging EJB Module

Chapter 1 GETTING STARTED. SYS-ED/ Computer Education Techniques, Inc.

Chapter 10 Web-based Information Systems

Oracle ADF: The technology behind project fusion. Lynn Munsinger Principal Product Manager Application Development Tools Oracle Corporation

C25: Creating Web Services using the Spring Framework

Developing a Mobile Web-based Application with Oracle9i Lite Web-to-Go

Software Elements of Electronic Business Sites

20486: Developing ASP.NET MVC 4 Web Applications

Chapter 2 Distributed Information Systems Architecture

J2EE Technologies. Industrial Training

COURSE DETAILS: CORE AND ADVANCE JAVA Core Java

SE 2 [CS 446, CS 646, ECE 452, SE 464] Software Design & Architecture Spring 2011 MIDTERM

Hackveda Appsec Labs Java Programming Course and Internship Program Description:

IBM Rational Application Developer for WebSphere Software, Version 7.0

Chapter 2 FEATURES AND FACILITIES. SYS-ED/ Computer Education Techniques, Inc.

WebSphere 4.0 General Introduction

Developing ASP.NET MVC 4 Web Applications

STARCOUNTER. Technical Overview

Course 20486B: Developing ASP.NET MVC 4 Web Applications

Full Stack Java Developer Course

Architectural Styles I

20486-Developing ASP.NET MVC 4 Web Applications

Enterprise Java and Rational Rose - Part II

Course Content for Java J2EE

Our trainings can be delivered as an Onsite Classroom Training or as an Instructor-Led Live Online Training(ILT).

XVIII. Software Architectures

Developing ASP.Net MVC 4 Web Application

Building Multi-Channel Applications using Frameworks. Jörg Jungjohann, Systor AG

XIX. Software Architectures

Java J Course Outline

(9A05803) WEB SERVICES (ELECTIVE - III)

COURSE 20486B: DEVELOPING ASP.NET MVC 4 WEB APPLICATIONS

Testing Web Applications. Slides copyright 1996, 2001, 2005, 2009 by Roger S. Pressman. For non-profit educational use only

20486: Developing ASP.NET MVC 4 Web Applications (5 Days)

S1 Informatic Engineering

2005, Cornell University

Computational Web Portals. Tomasz Haupt Mississippi State University

Web Application Architectures

Developing ASP.NET MVC 4 Web Applications

Corso di Progettazione di Applicazioni Web e Mobile

Appendix A - Glossary(of OO software term s)

XVIII. Software Architectures

Oracle 10g: Build J2EE Applications

Introduction to JSP and Servlets Training 5-days

TECNIA INSTITUTE OF ADVANCED STUDIES

Distributed Systems Principles and Paradigms

X100 ARCHITECTURE REFERENCES:

JAVA COURSES. Empowering Innovation. DN InfoTech Pvt. Ltd. H-151, Sector 63, Noida, UP

describe the functions of Windows Communication Foundation describe the features of the Windows Workflow Foundation solution

BEAWebLogic. Portal. Overview

Introduction to Web Application Development Using JEE, Frameworks, Web Services and AJAX

Client/Server-Architecture

i2b2 Software Architecture Project Management (PM) Cell Document Version: i2b2 Software Version:

Distributed Object-Based Systems The WWW Architecture Web Services Handout 11 Part(a) EECS 591 Farnam Jahanian University of Michigan.

Front End Programming

Developing ASP.NET MVC 4 Web Applications

Visual Studio Course Developing ASP.NET MVC 5 Web Applications

Web Presentation Patterns (controller) SWEN-343 From Fowler, Patterns of Enterprise Application Architecture

Intranet Mailing System. Abstract

Web Systems & Technologies: An Introduction

Chapter Outline. Chapter 2 Distributed Information Systems Architecture. Layers of an information system. Design strategies.

Web Applications Testing. Ario Nejad, Christopher Choi

Architectural Blueprint The 4+1 View Model of Software Architecture. Philippe Kruchten

JAVA Training Overview (For Demo Classes Call Us )

J2EE Development. Course Detail: Audience. Duration. Course Abstract. Course Objectives. Course Topics. Class Format.

CAS 703 Software Design

Scott Lowden SAP America Technical Solution Architect

Software Paradigms (Lesson 10) Selected Topics in Software Architecture

Developing ASP.NET MVC 5 Web Applications. Course Outline

EPHP a tool for learning the basics of PHP development. Nick Whitelegg School of Media Arts and Technology Southampton Solent University

3C05 - Advanced Software Engineering Thursday, April 29, 2004

Performance evaluation of J2EE

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

Developing ASP.NET MVC 5 Web Applications

CS612: IT Technology and Course Overview

Architectural Styles I

Migrating traditional Java EE applications to mobile

DISTRIBUTED SYSTEMS Principles and Paradigms Second Edition ANDREW S. TANENBAUM MAARTEN VAN STEEN. Chapter 1. Introduction

Transcription:

IMPORTANT NOTICE TO STUDENTS These slides are NOT to be used as a replacement for student notes. These slides are sometimes vague and incomplete on purpose to spark class discussions Enterprise Web based Software Architecture & Design CS 446/646 ECE452 Jun 6 th, 2011

Characteristics Servers application server web server proxy servers Platforms & Technologies heterogeneous Focus/Scope Clients heterogeneous users, business partners (B2B) scale large number of clients distributed usually well defined 2

Characteristics Data large amounts of data long-term & short term persistence distributed in nature governed by schema global company wide local application specific complex & resistant to change (why?) 3

Layered Style Architectural Style applications business utilities core Are you sure? 4

Tiered Style from layered to tiered Architectural Style physical separation each tier acts as a client of the tier to the right provides a service to the tier on the left consequences? 5

Client-Server Style Architectural Style distributed heterogeneous clients thick & thin isolated from each other centralized servers computationally powerful one server to support many clients design considerations? 6

Client-Server Style observations Architectural Style main functionality processed at the central server user interface at each client flows data flows from server to client control flows from client to server did some body say data? 7

Repository Style Architectural Style central repository multiple data-sources generally database type (why?) data is shared across clients applications data is dynamic 8

Functional Concerns Application {functional components} collection of business functionality generally divided over multiple tiers Data transactional ACID atomicity all or nothing consistency from one consistent state to another consistent state isolation interaction of other operations with the modified data durability data after a successful transaction is never lost 9

Non functional Concerns concurrency availability security performance fault-tolerance application distribution & deployment evolution re-usability Mostly Honoured 10

Non functional Concerns cost ease of use interoperability portability throughput Mostly commonly violated 11

Putting it all Together Client Tier Server Tier Data Tier 12

Putting it all Together W A W A Client Tier Server Tier Data Tier Presentation Business 13

Putting it all Together W A W A Client Tier Server Tier Data Tier Presentation Business Web Application Controllers Services Data Access Data Source 14

Web based Enterprise Apps Why web applications? what non-functional requirements are we solving? 15

Web based Enterprise Apps Why web applications? what non-functional requirements are we solving? concurrency availability security performance fault-tolerance application distribution application deployment evolution re-usability cost ease of use interoperability portability throughput 16

Web based Enterprise Apps Key Attributes thin clients web browsers computationally challenged user interface HTML, javascript, css simple & static (mostly) resides at client tier communication synchronous request response cycle HTTP over TCP/IP what about data 17

First Generation HTTP request (URL or Form posting) W W Client Tier HTTP response (HTML Document) Server Tier Data Tier Web CGI-Scripts Data Source 18

Observations simple design client-tier First Generation HTTP request (URL or Form posting) W building blocks are? business tier aggregation of scripts scripts are independent stateless Client Tier lacks organic growth (how?) W HTTP response (HTML Document) Web Server Tier CGI-Scripts Data Tier Data Source security nightmare 19

HTTP request (URL or Form posting) Second Generation W J W J Client Tier HTTP response (HTML Document) Presentation Server Tier JEE Container Data Tier Servlet Web JEE Server Services JDBC Data Source 20

Observations not so simple anymore Second Generation improves business tier only high level frameworks JEE servlets, struts, spring MVC applications server standardization design by contract provides various services (like what?) negative impact on request-response cycle (why?) user interface (why?) 21