B. WEB APPLICATION ARCHITECTURE MODELS
|
|
- Miranda Butler
- 8 years ago
- Views:
Transcription
1 B. WEB APPLICATION ARCHITECTURE MODELS 1. Web application, what, why and how? 2. N-Tier architecture 3. Historical review of architecture models 4. How does this relate to MVC? 83
2 B.1 Web application, what, why and how? 84 WHAT IS A WEB APPLICATION? [wikipedia.org] A web application is an application that is accessed over a network such as the Internet or an intranet. The term may also mean a computer software application that is hosted in a browser-controlled environment or coded in a browser-supported language and reliant on a common web browser to render the application executable [ ] Web applications can be considered as a specific variant of client-server [sitepoint.com] Web applications are stored on a server and delivered to users over the Internet. A Web application is usually a three-tier structure, comprising a User Service tier (allowing user access to the application), a Business Service tier (allowing the user to carry out complex activities) and a Data. [about.com][shklar & Rosen]A web application is any application that uses a web browser as a client.
3 B.1 Web application, what, why and how? 85 EMERGENCE OF 2 WORLDS [msdn.com] Also known as a virtual server (in sharepoint v2) and an web site / application pool, web apps allow for logical separation of sharepoint content. Each web app runs under a different process on the IIS web server. [wantii.com] A Java web-app has a fixed directory structure and can be packaged as a WAR file. Java web-apps are self-contained so that their resources, dependent libraries and configuration files are all part of the directory structure. The welldefined layout of a Java web-app allows webapps to be very portable. This portability allows web-apps to be developed and tested in one environment and easily moved to a QE or production web server.
4 B.1 Web application, what, why and how? 86 WHY DEVELOP A WEB APP? (1/2) Better client maintenance (i.e., thin client) No data stored on the client side Business logic & application data not on the client side Client is standardized (e.g., Web browser, HTTP API) Standardization of architectures No technological patchwork Better development productivity Reusability (e.g., software component, framework, design patterns)
5 B.1 Web application, what, why and how? 87 WHY DEVELOP A WEB APP? (2/2) Reach a huge amount of user Reach them every time, everywhere (cell phone, computer, etc.) Buisness-to-buisness (B2B) interaction not just buisness-to-employee in a classic information system compose your business processes and services with others Outsource
6 B.1 Web application, what, why and how? 88 WHAT IS THE COST? 100% availability Web scale (robustness and performance) Application and transaction security New use, new law and juridical aspects (e.g., license) Be ready to provide support Be ready to be dynamic and evolutive: a frozen web app is a dead web app Be fast!
7 B. WEB APPLICATION ARCHITECTURE MODELS 1. Web application, what, why and how? 2. N-Tier architecture 3. Historical review of architecture models 4. How does this relate to MVC? 89
8 B.2 N-Tier architecture 90 CLIENT/SERVER MODEL Resources are centralized on the server Server always alive Must be robust to serve many clients Data is not distributed Security is easier Integrity/coherence is easier Examples: FTP, X terminal, web servers Several small machines rather than a huge one Load balancing techniques to avoid bottlenecks
9 B.2 N-Tier architecture 91 The layer-based architecture is a specialization of the client/server model architecture All Web app could be abstracted to those 3 layers The architecture determines the different types of layers and their interactions
10 B.2 N-Tier architecture 92 CLIENT/SERVER FOR WEB APPS The separation is always localized in the application layer (i.e., presentation & business logic) UI is always on the client side Data is always on the server side Server side is made of several types of servers: Distributed object server Transaction Processing Monitor Web server (deals with HTTP) Security server (LDAP) Application server (deals with a specific technology) Challenge: deciding what s going to be on the client side and what s going to be on the server side
11 B.2 N-Tier architecture 93 N-TIER ARCHITECTURE (1/2) The 3-tier model takes the form of a multi-tier or n-tier implementation Each layer, as well interaction between layers, require a specific technology How to avoid the mess?
12 B.2 N-Tier architecture 94 N-TIER ARCHITECTURE (2/2) Any number of levels arranged above another, each serving distinct and separate tasks A good design and separation of the layers will enable you to replace/change/update any component of your architecture without changing the full stack dynamic world where things change everyday what if your company decides one day to switch from MS to Java?
13 B.2 N-Tier architecture 95 ADVANTAGES OF A LAYER-BASED ARCHITECTURE Decompose the architecture into layers to decrease the complexity of the application Components themselves can be distributed Component can be added & removed without changing the core of the application e.g., several UIs/clients for the same application (e.g., phone, tablet, browser) e.g., data persistence can be changed (e.g., from files to SQL) without changing the business logic Loose coupling
14 B.2 N-Tier architecture 96 STRONG COUPLING VS. LOOSE COUPLING Strong coupling: interdependency between the application components Loose coupling: no inter-dependency Easier development, test & maintenance Components can be replaced by other ones achieving the same task (e.g., using other technologies) Removing a component does not kill the other ones Service vision
15 B.2 N-Tier architecture 97
16 B.2 N-Tier architecture 98 HOW TO DECIDE? Type of application Web or Intranet What kind of data will be exchanged What are the resources (financial, computing, staff)? Which scale? How many users? What users? Security required? Type of services exchanged Complex and long interaction required vs. simple request-response Support and performance What s already there? Skillpool and core competencies
17 B.2 N-Tier architecture 99 EVERYTHING IS A TRADE-OFF What you win on one side is lost on the other side! For examples: Thin client are nice to maintain but requires more processing on the server side Less middleware requires more standardization Openness introduces security problems Portability sometimes means less capability Generic is faster than specificity but less specific (e.g., mobile app)
18 B.2 N-Tier architecture AXES FOR QUALITY MANAGEMENT Development Deployment Update & Support Reusability
19 B.2 N-Tier architecture 101 CLIENT: THIN OR THICK? The thinner the better for portability and maintenance
20 B.2 N-Tier architecture 102 FAT CLIENT (OR THICK CLIENT) Provides rich functionality independent of the central server For web apps: Java Applet, MS ActiveX, Adobe Flex, or something not in the browser Advantages Fewer server requirements Offline working Better multimedia performance More flexibility
21 B.2 N-Tier architecture 103 THIN CLIENT Does as little processing as possible and relies on accessing the server each time input data needs to be processed or validated Usually nothing to install on the client side For Web apps: browser, JavaScript, AJAX Very often limited to graphical user interface
22 B.2 N-Tier architecture 104 PRESENTATION LOGIC LAYER (1/2) Provides an interface for the end user into your application Works with the results of the business logic layer to handle the transformation into something usable and readable by the end user For Web apps: template approaches (e.g., ASP, PHP) Should be separated from the business logic and should not contain any direct access to data Do not simply throw some SQL in your ASP/JSP/PHP, connect to the DB, get the resultset, and loop in their ASP to output the result
23 B.2 N-Tier architecture 105 PRESENTATION LOGIC LAYER (2/2) The proxy tier is acting on behalf of the distributed logic layer (or end-user's requests) to provide access to the business logic layer required for distributed computing The proxy tier contains the distributed object method Simple Object Access Protocol (SOAP) Common Object Request Broker Architecture (CORBA) Remote Method Invocation (RMI) Distributed Component Object Model (DCOM)
24 B.2 N-Tier architecture 106 BUSINESS LOGIC LAYER Where the brains of your application resides business rules, data manipulation, algorithms This layer does NOT know anything about HTML, nor does it output it. It shouldn't have any code to access directly the database or the like Object-oriented model and languages used here Enable to encapsulate within the object the logic related to this object e.g., gettotalprice() on ShopingBasket
25 B.2 N-Tier architecture 107 DATA ACCESS LAYER Generic methods to interface with your data Object-relational mapping (ORM) e.g., creating/opening/closing DB connection, parse/load file It is a reusable interface to the database Data Access Object (DAO) Abstract interface to some type of persistence mechanism (database, files, etc.), providing some specific operations without exposing details converting data btw incompatible type systems in object-oriented programming languages. creates, "virtual object database" that can be used from within the programming language e.g. hibernate, JPA
26 B.2 N-Tier architecture 108 DATA LAYER This layer is only intended to deal with the storage and retrieval of information doesn't care about how you plan on manipulating this data Do not place business logic in here, no matter how tempting Types of storage Relational database i.e., SQL Object database Plain text or binary files XML or other semi-structured files (CSV, XLS) RDF triple store Any other means to store the data persistently Must ensure persistence & integrity
27 B.2 N-Tier architecture 109 DATA LAYER WITH STORED PROCEDURES The data tier also should include your stored procedures Subroutine available to applications accessing a relational database system stored directly in the DBMS e.g., data validation, access control mechanisms Extensive or complex processing that requires the execution of several SQL statements all applications call the stored procedures
28 B.2 N-Tier architecture WHAT ABOUT THE LINKS BETWEEN THOSE LAYERS? 110 This is usually done by the middleware No unified middleware patchwork! Framework (e.g., J2EE &.NET) to implement unified middleware Middleware tends to disappear with Service- Oriented Architectures that are loose-coupled
29 B.2 N-Tier architecture 111 TYPES OF MIDDLEWARE Data access middleware connect applications to data Remote Procedure Call (RPC) client makes calls to procedures running on remote systems (usually synchronous) Object Request Broker (i.e., RPC for remote object) enable communication between distributed objects e.g., CORBA, DCOM, RMI Transaction Processing Monitor deals with transaction Message Oriented Middleware enables communication between application (usually asynchronous) e.g., SOAP
30 B. WEB APPLICATION ARCHITECTURE MODELS 1. Web application, what, why and how? 2. N-Tier architecture 3. Historical review of architecture models 4. How does this relate to MVC? 112
31 B.3 Historical review of architecture models 113 REVIEW OF ARCHITECTURE MODEL Let s review a bit what was done in the past to help us figure out architectural choices Before the Web Thin C/S Data oriented C/S Distributed C/S Object oriented distributed C/S Web applications architecture HTML/Web C/S Mobile code C/S Service Oriented Architecture
32 B.3 Historical review of architecture models COMPARISON CHARACTERISTICS Type of data exchanged Presentation data only Raw data extracted from the data layer Remote Procedure Calls Serialized data Communication mode Stateful/connected Stateless/not connected Business logic localization Mainly on the server side Mainly on the client side
33 B.3 Historical review of architecture models 115 GENERIC C/S ARCHITECTURE
34 B.3 Historical review of architecture models 116 THIN CLIENT C/S Type of data exchanged Presentation data only Communication mode Connected Business logic localization 100% on the server side
35 DATA ORIENTED C/S B.3 Historical review of architecture models 117 Appeared with PC in the 80 s Let s use PCs potential All the data processing happen on the client side Not present anymore today Too hard to maintain bad! Type of data exchanged SQL queries + data Communication mode Connected Business logic localization Mostly on the client side
36 DISTRIBUTED C/S B.3 Historical review of architecture models 118 Beginning of the 90 s apparition of stored procedures but this is not enough to fix Data C/S architecture apparition of the application (i.e., business logic) tier with application servers and remote procedure calls Type of data exchanged [1] RPC calls (btw client et app) [2] Data (btw app and DB server) Communication mode Connected Business logic localization Mostly on the server side Specifically located in the application server
37 B.3 Historical review of architecture models 119 OBJECT ORIENTED DISTRIBUTED C/S (1/2) Appear with the explosion of object-oriented languages & models (mid 90 s) OMG proposes Common Object Request Broker Architecture (CORBA) Based on new middleware: ORB Enable remote object message passing (with IIOP or RMI) Takes the form of an object with methods enabling connection to the objects being served. After an object connects to the ORB, the methods of that object become accessible for remote invocations
38 B.3 Historical review of architecture models 120 OBJECT ORIENTED DISTRIBUTED C/S (2/2) New with CORBA: normalized architecture implemented by several editors Multiplication of server is easier The very first step toward interoperability ORB can be different on the client and server side But this is still a nightmare to set up Type of data exchanged Object messages (btw client et app) Data (btw app and DB server) Communication mode Connected Business logic localization Mostly on the server side Specifically located in the application server
39 B.3 Historical review of architecture models 121 THE WEB REQUIRE MORE! All of these architecture seen before where more or less before the Web The Web require more! More openness More standardization More security (e.g., firewall) More speed (network bandwidth used to be limited) More simplicity
40 HTML/WEB C/S B.3 Historical review of architecture models 122 Over HTTP, apparition of the web servers in the mid 90 s The web server replace the middleware Similar to the thin client C/S but on the Web and via HTTP (i.e., asynchronous) Type of data exchanged Presentation data: HTTP messages with HTML content (btw client et app) Data (btw app and DB server) Communication mode Not connected Business logic localization Mostly on the server side Specifically located in the application server
41 B.3 Historical review of architecture models 123 DATA ORIENTED MOBILE CODE C/S Similar to data oriented C/S but for the Web Code previously downloaded from the web server, then the client talk to the DB server Less maintenance of the client Type of data exchanged [1 ]Code first then [2] SQL queries + data Communication mode Connected using session Business logic localization 100% on the client side
42 DISTRIBUTED (OBJECT) MOBILE CODE C/S B.3 Historical review of architecture models 124 Similar to the distributed C/S but for the web code previously downloaded from the web server then the client talk to the app server Type of data exchanged [1] Code first then [2] RPC calls (btw client et app) [3] Data (btw app and DB server) Communication mode Connected using session Business logic localization Mostly on the server side Specifically located in the application server
43 B.3 Historical review of architecture models 125 DISTRIBUTED MOBILE CODE C/S Idem, without distributed object protocols Type of data exchanged [1] Code first then [2] RPC calls (btw client et app) [3] Data (btw app and DB server) Communication mode Not connected via HTTP Business logic localization Mostly on the server side Specifically located in the application server
44 EXAMPLES B.3 Historical review of architecture models 126 Type Description HTML/Web CS Serveur Web : Serveur Web iplanet Serveur d application : IBM WebSphere hébergeant des servlets qui accèdent à des composants EJB Source de données : transactions CICS sur OS390 Data Oriented Mobile Code C/S Distributed (Object) Mobile Code C/S Client : applet Java Protocole de communication C/S : protocole propriétaire Oracle mis en œuvre par le driver JDBC (Java Database Connectivity) de l éditeur Source de données : base de données relationnelle Oracle Client : applet Java (utilisant l ORB RMI) Protocole de communication entre client et serveur d application : Remote Method Invocation (RPC objet pour Java) Serveur d application : BEA WebLogic Application Server Protocole de communication entre serveur d application et base de données : protocole propriétaire véhiculant un dialogue SQL. Source de données : base de données relationnelle Sybase
45 B.3 Historical review of architecture models A NEW ELEMENT: THE APPLICATION SERVER 127 A software framework dedicated to the efficient execution of procedures for supporting the construction and execution of applications ( ) acts as a set of components accessible to the software developer through APIs defined by the platform itself. For web applications, these components are usually performed in the same machine where the web server is running, and their main job is to support the construction of dynamic pages. Target much more than just web pages generation, they implement services like clustering, fail-over and load-balancing, so developers can be focused just on implementing the business logic 2 main classes of application servers J2EE (or JEE): Sun/Oracle, IBM, HP, BEA, etc..net: Microsfot
46 B.3 Historical review of architecture models 128 ROLE OF THE APPLICATION SERVER Hosting environment for multi-tier application : aggregation of software components includes: server side scripting, RPC middleware, some persistence service, deployment tools
47 B.3 Historical review of architecture models 129 A BUNCH OF APIS An Application Programming Interface (API) is an interface implemented by a software program that enables it to interact with other software Every service within the application server is defined by an API e.g., J2EE APIs al/doc/overview7.html
48 B.3 Historical review of architecture models 130 SOFTWARE COMPONENTS (1/2) Piece of software that provides a public interface to describe it s methods (i.e., what the it does) properties (i.e., what characterize it) events (i.e., what events the it catches) Implementation of the component is hidden to the software that uses the component J2EE: Java Beans (and Enterprise Java Beans).NET: COM etc.
49 B.3 Historical review of architecture models 131 SOFTWARE COMPONENTS (2/2) Component will support the separation of presentation logic and business logic Application server contains several types of component e.g., J2EE: Client component (e.g., Applet) Web components (e.g., Servlet) Business components (e.g., EJB) Facilitates MVC design e.g., Struts framework
50 APPLICATION SERVER GENERIC ARCHITECTURE B.3 Historical review of architecture models 132
51 B. WEB APPLICATION ARCHITECTURE MODELS 1. Web application, what, why and how? 2. N-Tier architecture 3. Historical review of architecture models 4. How does this relate to MVC? 133
52 B.4 How does this relate to MVC? 134
53 B.4 How does this relate to MVC? 135 REMINDERS ABOUT MVC Separating content (the model) from presentation (the view) when a model changes its state, it notifies its associated views so they can be refreshed Increase application flexibility confusing the map and the territory Appropriate division of responsibility designers and programmers MVC is a architectural pattern for software engineering not originally for web app
54 B.4 How does this relate to MVC? 136 ARE N-TIER WEB APPS MVC? N-tier is an technical architecture MCV is higher level design pattern At first glance, classical MVC would be not possible for web apps the key idea of 3-tier architecture is to avoid model-view interactions, because each interaction has to go through the network web apps seen until now fit more into the MVP model
55 B.4 How does this relate to MVC? 137 MVC VS. MVP
56 B.4 How does this relate to MVC? 138 HOW TO MVC MORE YOUR WEB APPS? Introduction of the presentation business logic layer i.e., a controller between the view and the model some of it on the client side (AJAX), some of it on the server side (distributed objects) Recent approaches enrich the client with more presentation business logic (i.e., AJAX methods) are simulating model-view interactions UIs can be dynamic (i.e., refreshed) without requesting the web server UI events are caught by specific UI components embedded in the HTML page originally sent by the web server Use a good MVC-based framework (Struts, Ruby on Rails, Spring MVC, etc.)
57 B.4 How does this relate to MVC? 139 SUMMARY WHAT HAS BEEN DONE UNTIL NOW We have reviewed the main technical bricks of the web We have reviewed the possible web application architectures Next classes Let s learn more about the technologies for web apps Client side Server side (the big piece!)
58 B.4 How does this relate to MVC? 140 PRESENTATION OF NEXT CLASSES First, within the very frequent HTML/Web client/server architecture CGI, Servlet, JSP, ASP Client side with mobile code approaches Applet, Active X Then, client & server side with distributed object approaches CORBA, RMI, DCOM Then, client & server sides with Web application framework J2EE,.NET
Client/server is a network architecture that divides functions into client and server
Page 1 A. Title Client/Server Technology B. Introduction Client/server is a network architecture that divides functions into client and server subsystems, with standard communication methods to facilitate
More informationService Oriented Architectures
8 Service Oriented Architectures Gustavo Alonso Computer Science Department Swiss Federal Institute of Technology (ETHZ) alonso@inf.ethz.ch http://www.iks.inf.ethz.ch/ The context for SOA A bit of history
More informationUnderstanding Application Servers
Understanding Application Servers Author: Ajay Srivastava & Anant Bhargava TCS, Jan 03 Background Application servers, whatever their function, occupies a large chunk of computing territory between database
More informationInternet Engineering: Web Application Architecture. Ali Kamandi Sharif University of Technology kamandi@ce.sharif.edu Fall 2007
Internet Engineering: Web Application Architecture Ali Kamandi Sharif University of Technology kamandi@ce.sharif.edu Fall 2007 Centralized Architecture mainframe terminals terminals 2 Two Tier Application
More informationWhite Paper: 1) Architecture Objectives: The primary objective of this architecture is to meet the. 2) Architecture Explanation
White Paper: 1) Architecture Objectives: The primary objective of this architecture is to meet the following requirements (SLAs). Scalability and High Availability Modularity and Maintainability Extensibility
More informationWhat Is the Java TM 2 Platform, Enterprise Edition?
Page 1 de 9 What Is the Java TM 2 Platform, Enterprise Edition? This document provides an introduction to the features and benefits of the Java 2 platform, Enterprise Edition. Overview Enterprises today
More informationMiddleware Lou Somers
Middleware Lou Somers April 18, 2002 1 Contents Overview Definition, goals, requirements Four categories of middleware Transactional, message oriented, procedural, object Middleware examples XML-RPC, SOAP,
More informationHow to Build an E-Commerce Application using J2EE. Carol McDonald Code Camp Engineer
How to Build an E-Commerce Application using J2EE Carol McDonald Code Camp Engineer Code Camp Agenda J2EE & Blueprints Application Architecture and J2EE Blueprints E-Commerce Application Design Enterprise
More information3-Tier Architecture. 3-Tier Architecture. Prepared By. Channu Kambalyal. Page 1 of 19
3-Tier Architecture Prepared By Channu Kambalyal Page 1 of 19 Table of Contents 1.0 Traditional Host Systems... 3 2.0 Distributed Systems... 4 3.0 Client/Server Model... 5 4.0 Distributed Client/Server
More informationClient-Server Architecture & J2EE Platform Technologies Overview Ahmed K. Ezzat
Client-Server Architecture & J2EE Platform Technologies Overview Ahmed K. Ezzat Page 1 of 14 Roadmap Client-Server Architecture Introduction Two-tier Architecture Three-tier Architecture The MVC Architecture
More informationOracle WebLogic Foundation of Oracle Fusion Middleware. Lawrence Manickam Toyork Systems Inc www.toyork.com http://ca.linkedin.
Oracle WebLogic Foundation of Oracle Fusion Middleware Lawrence Manickam Toyork Systems Inc www.toyork.com http://ca.linkedin.com/in/lawrence143 History of WebLogic WebLogic Inc started in 1995 was a company
More informationC/S Basic Concepts. The Gartner Model. Gartner Group Model. GM: distributed presentation. GM: distributed logic. GM: remote presentation
C/S Basic Concepts The Gartner Model Contents: 2-tier Gartner Model Winsberg s Model / Balance Example 3-tier n-tier Became de facto reference model Recognizes 5 possible modes of distribution: distributed
More informationContents. Client-server and multi-tier architectures. The Java 2 Enterprise Edition (J2EE) platform
Part III: Component Architectures Natividad Martínez Madrid y Simon Pickin Departamento de Ingeniería Telemática Universidad Carlos III de Madrid {nati, spickin}@it.uc3m.es Introduction Contents Client-server
More informationWhite paper. IBM WebSphere Application Server architecture
White paper IBM WebSphere Application Server architecture WebSphere Application Server architecture This IBM WebSphere Application Server white paper was written by: Jeff Reser, WebSphere Product Manager
More informationDatabase Application Design and Development. What You Should Know by Now
Database Application Design and Development Virtually all real-world user interaction with databases is indirect it is mediated through an application A database application effectively adds additional
More informationWhat is Middleware? Software that functions as a conversion or translation layer. It is also a consolidator and integrator.
What is Middleware? Application Application Middleware Middleware Operating System Operating System Software that functions as a conversion or translation layer. It is also a consolidator and integrator.
More informationGoogle Web Toolkit (GWT) Architectural Impact on Enterprise Web Application
Google Web Toolkit (GWT) Architectural Impact on Enterprise Web Application First Generation HTTP request (URL or Form posting) W HTTP response (HTML Document) W Client Tier Server Tier Data Tier Web CGI-Scripts
More informationComponent Middleware. Sophie Chabridon. INT - INF Department - Distributed Systems team 2006
Sophie Chabridon INT - INF Department - Distributed Systems team 2006 Outline 1. Introduction................................................................... 3 2. Overview of EJB Technology.................................................
More informationCS 55.17. Developing Web Applications with Java Technologies
CS 55.17 Developing Web Applications with Java Technologies Class Introduction Instructor: David B. Pearson Email: Dpearson@SantaRosa.edu Yahoo! ID: DavidPearson Website: http://www.santarosa.edu/~dpearson/
More informationLatte Rapid Application Development. William Dunlap Product Manager Borland International wdunlap@wpo.borland.com
Latte Rapid Application Development William Dunlap Product Manager Borland International wdunlap@wpo.borland.com Business Computing Evolution C/S Application Development Collaborative App Development Web
More informationEnterprise Application Integration
Enterprise Integration By William Tse MSc Computer Science Enterprise Integration By the end of this lecturer you will learn What is Enterprise Integration (EAI)? Benefits of Enterprise Integration Barrier
More informationWeb Cloud Architecture
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
More informationCrownPeak Java Web Hosting. Version 0.20
CrownPeak Java Web Hosting Version 0.20 2014 CrownPeak Technology, Inc. All rights reserved. No part of this document may be reproduced or transmitted in any form or by any means, electronic or mechanical,
More informationHolistic Performance Analysis of J2EE Applications
Holistic Performance Analysis of J2EE Applications By Madhu Tanikella In order to identify and resolve performance problems of enterprise Java Applications and reduce the time-to-market, performance analysis
More informationTechniques for Scaling Components of Web Application
, March 12-14, 2014, Hong Kong Techniques for Scaling Components of Web Application Ademola Adenubi, Olanrewaju Lewis, Bolanle Abimbola Abstract Every organisation is exploring the enormous benefits of
More informationWeb Application Architectures
Web Engineering Web Application Architectures Copyright 2013 Ioan Toma & Srdjan Komazec 1 Where we are? # Date Title 1 5 th March Web Engineering Introduction and Overview 2 12 th March Requirements Engineering
More informationHow To Build A Web App
UNCLASSIFIED Next Gen Web Architecture for the Cloud Era Chief Scientist, Raytheon Saturn 2013 28 Apr - 3 May Copyright (2013) Raytheon Agenda Existing Web Application Architecture SOFEA Lessons learned
More informationClient-Server Applications
Client-Server Applications Prof. Sanjeev Setia Distributed Software Systems CS 707 Distributed Software Systems 1 Client Server Systems Distributed Software Systems 2 1 Client/Server Application Distributed
More informationEnterprise Application Development In Java with AJAX and ORM
Enterprise Application Development In Java with AJAX and ORM ACCU London March 2010 ACCU Conference April 2010 Paul Grenyer Head of Software Engineering p.grenyer@validus-ivc.co.uk http://paulgrenyer.blogspot.com
More information2012 LABVANTAGE Solutions, Inc. All Rights Reserved.
LABVANTAGE Architecture 2012 LABVANTAGE Solutions, Inc. All Rights Reserved. DOCUMENT PURPOSE AND SCOPE This document provides an overview of the LABVANTAGE hardware and software architecture. It is written
More informationSOFT 437. Software Performance Analysis. Ch 5:Web Applications and Other Distributed Systems
SOFT 437 Software Performance Analysis Ch 5:Web Applications and Other Distributed Systems Outline Overview of Web applications, distributed object technologies, and the important considerations for SPE
More informationElements of Advanced Java Programming
Appendix A Elements of Advanced Java Programming Objectives At the end of this appendix, you should be able to: Understand two-tier and three-tier architectures for distributed computing Understand the
More informationPortals, Portlets & Liferay Platform
Portals, Portlets & Liferay Platform Repetition: Web Applications and Model View Controller (MVC) Design Pattern Web Applications Frameworks in J2EE world Struts Spring Hibernate Data Service Java Server
More informationWeb Frameworks. web development done right. Course of Web Technologies A.A. 2010/2011 Valerio Maggio, PhD Student Prof.
Web Frameworks web development done right Course of Web Technologies A.A. 2010/2011 Valerio Maggio, PhD Student Prof.ssa Anna Corazza Outline 2 Web technologies evolution Web frameworks Design Principles
More informationSOFTWARE ARCHITECTURE FOR FIJI NATIONAL UNIVERSITY CAMPUS INFORMATION SYSTEMS
SOFTWARE ARCHITECTURE FOR FIJI NATIONAL UNIVERSITY CAMPUS INFORMATION SYSTEMS Bimal Aklesh Kumar Department of Computer Science and Information Systems Fiji National University Fiji Islands bimal.kumar@fnu.ac.fj
More informationVirtual Credit Card Processing System
The ITB Journal Volume 3 Issue 2 Article 2 2002 Virtual Credit Card Processing System Geraldine Gray Karen Church Tony Ayres Follow this and additional works at: http://arrow.dit.ie/itbj Part of the E-Commerce
More informationThe Comparison of J2EE and.net for e-business
The Comparison of J2EE and.net for e-business The Technical Report (hipic-10292003) of High-performance Information Computing Center at California State University, Los Angeles Jongwook Woo Computer Information
More informationEAI OVERVIEW OF ENTERPRISE APPLICATION INTEGRATION CONCEPTS AND ARCHITECTURES. Enterprise Application Integration. Peter R. Egli INDIGOO.
EAI OVERVIEW OF ENTERPRISE APPLICATION INTEGRATION CONCEPTS AND ARCHITECTURES Peter R. Egli INDIGOO.COM 1/16 Contents 1. EAI versus SOA versus ESB 2. EAI 3. SOA 4. ESB 5. N-tier enterprise architecture
More informationClient-server 3-tier N-tier
Web Application Design Notes Jeff Offutt http://www.cs.gmu.edu/~offutt/ SWE 642 Software Engineering for the World Wide Web N-Tier Architecture network middleware middleware Client Web Server Application
More informationNet-WMS FP6-034691. Net-WMS SPECIFIC TARGETED RESEARCH OR INNOVATION PROJECT. Networked Businesses. D.8.1 Networked architecture J2EE compliant
Net-WMS SPECIFIC TARGETED RESEARCH OR INNOVATION PROJECT Networked Businesses D.8.1 Networked architecture J2EE compliant ( Version 1 ) Due date of deliverable: June 30 th, 2007 Actual submission date:
More informationOutline SOA. Properties of SOA. Service 2/19/2016. Definitions. Comparison of component technologies. Definitions Component technologies
Szolgáltatásorientált rendszerintegráció Comparison of component technologies Simon Balázs, BME IIT Outline Definitions Component technologies RPC, RMI, CORBA, COM+,.NET, Java, OSGi, EJB, SOAP web services,
More informationChapter 4. Architecture. Table of Contents. J2EE Technology Application Servers. Application Models
Table of Contents J2EE Technology Application Servers... 1 ArchitecturalOverview...2 Server Process Interactions... 4 JDBC Support and Connection Pooling... 4 CMPSupport...5 JMSSupport...6 CORBA ORB Support...
More informationJava-technology based projects
Java-technology based projects TietoEnator Corporation Oyj Simo Vuorinen simo.vuorinen@tietoenator.com 1 TietoEnator 2000 Agenda Java: language, architecture, platform? Javan promises and problems Enterprise-APIs
More informationDetailed Table of Contents
Detailed Table of Contents Foreword Preface 1. Networking Protocols and OSI Model 1 1.1 Protocols in Computer Communications 3 1.2 The OSI Model 7 1.3 OSI Layer Functions 11 Summary 19 Key Terms and Concepts
More informationWeb Development Frameworks
COMS E6125 Web-enHanced Information Management (WHIM) Web Development Frameworks Swapneel Sheth swapneel@cs.columbia.edu @swapneel Spring 2012 1 Topic 1 History and Background of Web Application Development
More informationArchitecture Design For Web-based Application Systems. Instructor: Dr. Jerry Gao Class: CMPE296U
Architecture Design For Web-based Application Systems Instructor: Dr. Jerry Gao Class: CMPE296U Architecture Design For Web-Based Application Systems - (1994-1995) Hypertext Web Systems: Graphic Web Browsers
More informationOFFSHORE SOFTWARE DEVELOPMENT
OFFSHORE SOFTWARE DEVELOPMENT Software Labs in India Professionals in IT business & Data-processing for more than 20 years. Applications & system software development in a multitude of industries State-of-the-Art
More informationService Oriented Architecture
Service Oriented Architecture Charlie Abela Department of Artificial Intelligence charlie.abela@um.edu.mt Last Lecture Web Ontology Language Problems? CSA 3210 Service Oriented Architecture 2 Lecture Outline
More informationThin@ System Architecture V3.2. Last Update: August 2015
Thin@ System Architecture V3.2 Last Update: August 2015 Introduction http://www.thinetsolution.com Welcome to Thin@ System Architecture manual! Modern business applications are available to end users as
More informationInformation Systems Analysis and Design CSC340. 2004 John Mylopoulos. Software Architectures -- 1. Information Systems Analysis and Design CSC340
XIX. Software Architectures Software Architectures UML Packages Client- vs Peer-to-Peer Horizontal Layers and Vertical Partitions 3-Tier and 4-Tier Architectures The Model-View-Controller Architecture
More informationArchitectural Overview
Architectural Overview Version 7 Part Number 817-2167-10 March 2003 A Sun ONE Application Server 7 deployment consists of a number of application server instances, an administrative server and, optionally,
More informationJapan Communication India Skill Development Center
Japan Communication India Skill Development Center Java Application System Developer Course Detail Track 3 Java Application Software Developer: Phase1 SQL Overview 70 Querying & Updating Data (Review)
More informationCACHÉ: FLEXIBLE, HIGH-PERFORMANCE PERSISTENCE FOR JAVA APPLICATIONS
CACHÉ: FLEXIBLE, HIGH-PERFORMANCE PERSISTENCE FOR JAVA APPLICATIONS A technical white paper by: InterSystems Corporation Introduction Java is indisputably one of the workhorse technologies for application
More informationA Tool for Evaluation and Optimization of Web Application Performance
A Tool for Evaluation and Optimization of Web Application Performance Tomáš Černý 1 cernyto3@fel.cvut.cz Michael J. Donahoo 2 jeff_donahoo@baylor.edu Abstract: One of the main goals of web application
More informationDistributed Objects and Components
Distributed Objects and Components Introduction This essay will identify the differences between objects and components and what it means for a component to be distributed. It will also examine the Java
More informationSo You Want an SOA: Best Practices for Migrating to SOA in the Enterprise. Eric Newcomer, CTO
So You Want an SOA: Best Practices for Migrating to SOA in the Enterprise Eric Newcomer, CTO Overview First of all: concepts and definitions Change your thinking about your IT environment Including organization
More informationA standards-based approach to application integration
A standards-based approach to application integration An introduction to IBM s WebSphere ESB product Jim MacNair Senior Consulting IT Specialist Macnair@us.ibm.com Copyright IBM Corporation 2005. All rights
More informationIBM Rational Web Developer for WebSphere Software Version 6.0
Rapidly build, test and deploy Web, Web services and Java applications with an IDE that is easy to learn and use IBM Rational Web Developer for WebSphere Software Version 6.0 Highlights Accelerate Web,
More informationJapan Communication India Skill Development Center
Japan Communication India Skill Development Center Java Application System Developer Course Detail Track 2b Java Application Software Developer: Phase1 SQL Overview 70 Introduction Database, DB Server
More informationService-Oriented Architecture and Software Engineering
-Oriented Architecture and Software Engineering T-86.5165 Seminar on Enterprise Information Systems (2008) 1.4.2008 Characteristics of SOA The software resources in a SOA are represented as services based
More informationGlassfish, JAVA EE, Servlets, JSP, EJB
Glassfish, JAVA EE, Servlets, JSP, EJB Java platform A Java platform comprises the JVM together with supporting class libraries. Java 2 Standard Edition (J2SE) (1999) provides core libraries for data structures,
More informationChapter 6. CORBA-based Architecture. 6.1 Introduction to CORBA 6.2 CORBA-IDL 6.3 Designing CORBA Systems 6.4 Implementing CORBA Applications
Chapter 6. CORBA-based Architecture 6.1 Introduction to CORBA 6.2 CORBA-IDL 6.3 Designing CORBA Systems 6.4 Implementing CORBA Applications 1 Chapter 6. CORBA-based Architecture Part 6.1 Introduction to
More informationMEGA Web Application Architecture Overview MEGA 2009 SP4
Revised: September 2, 2010 Created: March 31, 2010 Author: Jérôme Horber CONTENTS Summary This document describes the system requirements and possible deployment architectures for MEGA Web Application.
More informationUnderstanding Client/Server Computing
Understanding Client/Server Computing By Will Fastie PC Magazine; "Enterprize Computing;" Back in the eighties when network equipment vendors first started to hawk their wares, the term client/server was
More information25 May 11.30 Code 3C3 Peeling the Layers of the 'Performance Onion John Murphy, Andrew Lee and Liam Murphy
UK CMG Presentation 25 May 11.30 Code 3C3 Peeling the Layers of the 'Performance Onion John Murphy, Andrew Lee and Liam Murphy Is Performance a Problem? Not using appropriate performance tools will cause
More informationMotivation Definitions EAI Architectures Elements Integration Technologies. Part I. EAI: Foundations, Concepts, and Architectures
Part I EAI: Foundations, Concepts, and Architectures 5 Example: Mail-order Company Mail order Company IS Invoicing Windows, standard software IS Order Processing Linux, C++, Oracle IS Accounts Receivable
More informationJReport Server Deployment Scenarios
JReport Server Deployment Scenarios Contents Introduction... 3 JReport Architecture... 4 JReport Server Integrated with a Web Application... 5 Scenario 1: Single Java EE Server with a Single Instance of
More informationOracle Identity Analytics Architecture. An Oracle White Paper July 2010
Oracle Identity Analytics Architecture An Oracle White Paper July 2010 Disclaimer The following is intended to outline our general product direction. It is intended for information purposes only, and may
More informationJAVA/J2EE DEVELOPER RESUME
1 of 5 05/01/2015 13:22 JAVA/J2EE DEVELOPER RESUME Java Developers/Architects Resumes Please note that this is a not a Job Board - We are an I.T Staffing Company and we provide candidates on a Contract
More informationON-LINE BOOKING APPLICATION NEIL TAIT
ON-LINE BOOKING APPLICATION NEIL TAIT Submitted in partial fulfilment of the requirements of Napier University for the degree of Bachelor of Engineering with Honours in Software Engineering School of Computing
More informationBeyond the SOA/BPM frontiers Towards a complete open cooperative environment
Beyond the SOA/BPM frontiers Towards a complete open cooperative environment This presentation has been used during a webinar delivered within SpagoWorld Webinar Center: http://www.spagoworld.org/xwiki/bin/view/spagoworld/webinarcenter
More informationCredits: Some of the slides are based on material adapted from www.telerik.com/documents/telerik_and_ajax.pdf
1 The Web, revisited WEB 2.0 marco.ronchetti@unitn.it Credits: Some of the slides are based on material adapted from www.telerik.com/documents/telerik_and_ajax.pdf 2 The old web: 1994 HTML pages (hyperlinks)
More informationMVC pattern in java web programming
MVC pattern in java web programming Aleksandar Kartelj, Faculty of Mathematics Belgrade DAAD workshop Ivanjica 6. -11.9.2010 Serbia September 2010 Outline 1 2 3 4 5 6 History Simple information portals
More informationCase Studies of Running the Platform. NetBeans UML Servlet JSP GlassFish EJB
September Case Studies of Running the Platform NetBeans UML Servlet JSP GlassFish EJB In this project we display in the browser the Hello World, Everyone! message created in the session bean with servlets
More informationA review and analysis of technologies for developing web applications
A review and analysis of technologies for developing web applications Asha Mandava and Solomon Antony Murray state University Murray, Kentucky Abstract In this paper we review technologies useful for design
More informationJEE Web Applications Jeff Zhuk
JEE Web Applications Jeff Zhuk From the book and beyond Integration-Ready Architecture and Design Cambridge University Press Software Engineering With XML, Java,.NET, Wireless, Speech and Knowledge Technologies
More informationChapter. Solve Performance Problems with FastSOA Patterns. The previous chapters described the FastSOA patterns at an architectural
Chapter 5 Solve Performance Problems with FastSOA Patterns The previous chapters described the FastSOA patterns at an architectural level. This chapter shows FastSOA mid-tier service and data caching architecture
More informationManaging Complexity in Mobile Application Deployment Using the OSGi Service Platform
Managing Complexity in Mobile Application Deployment Using the OSGi Service Platform Rafiul Ahad, Ph.D. Vice President, Mobile Products and Services Oracle Corporation copyright 2004 by OSGi Alliance All
More informationIntroduction to Sun ONE Application Server 7
Introduction to Sun ONE Application Server 7 The Sun ONE Application Server 7 provides a high-performance J2EE platform suitable for broad deployment of application services and web services. It offers
More information-8*6-DYD6HPLQDU 6HUYOHW$UFKLWHFWXUHV 5DLQHU+LVV$QGUHDV.DSS 6<6725$*
-8*6-DYD6HPLQDU 6HUYOHW$UFKLWHFWXUHV 5DLQHU+LVV$QGUHDV.DSS 6
More informationDatabases Lesson 04 Client Server Computing and Adaptation
Databases Lesson 04 Client Server Computing and Adaptation Oxford University Press 2007. All rights reserved. 1 Two Network Based Computing Architectures Distributed Peer-to-Peer designed each node distributed
More informationCurl Building RIA Beyond AJAX
Rich Internet Applications for the Enterprise The Web has brought about an unprecedented level of connectivity and has put more data at our fingertips than ever before, transforming how we access information
More informationJ2EE Promises and Customer Experiences
J2EE Promises and Customer Experiences Adding a Productivity Layer to J2EE Speeds J2EE Benefits By Susan E. Aldrich, Senior Vice President January 2003 Prepared for Macromedia, Inc. Patricia Seybold Group
More informationSystem types. Distributed systems
System types 1 Personal systems that are designed to run on a personal computer or workstation Distributed systems where the system software runs on a loosely integrated group of cooperating processors
More informationJBoss EntErprisE ApplicAtion platform migration guidelines www.jboss.com
JBoss Enterprise Application Platform Migration Guidelines This document is intended to provide insight into the considerations and processes required to move an enterprise application from a JavaEE-based
More informationEnterprise Integration Architectures for the Financial Services and Insurance Industries
George Kosmides Dennis Pagano Noospherics Technologies, Inc. gkosmides@noospherics.com Enterprise Integration Architectures for the Financial Services and Insurance Industries Overview Financial Services
More informationWeb Services. Copyright 2011 Srdjan Komazec
Web Services Middleware Copyright 2011 Srdjan Komazec 1 Where are we? # Title 1 Distributed Information Systems 2 Middleware 3 Web Technologies 4 Web Services 5 Basic Web Service Technologies 6 Web 2.0
More informationWEBLOGIC ADMINISTRATION
WEBLOGIC ADMINISTRATION Session 1: Introduction Oracle Weblogic Server Components Java SDK and Java Enterprise Edition Application Servers & Web Servers Documentation Session 2: Installation System Configuration
More informationWhite Paper Converting Lotus Notes Applications to the Cloud Using the CIMtrek converter Product
White Paper Converting Lotus Notes Applications to the Cloud Using the CIMtrek converter Product CIMtrek Ltd Introduction: CIMTrek has been created to help organizations modernise their legacy applications
More informationWeb and Enterprise Applications Developer Track
Ministry of Communications and Information Technology Information Technology Institute Web and Enterprise Applications Developer Track Intake 35 Historical Background As part of the ITI, the Java TM Education
More informationJBOSS ENTERPRISE APPLICATION PLATFORM MIGRATION GUIDELINES
JBOSS ENTERPRISE APPLICATION PLATFORM MIGRATION GUIDELINES This document is intended to provide insight into the considerations and processes required to move an enterprise application from a JavaEE-based
More informationEnabling the Information Age
Enabling the Information Age Web Application Server 4.0 Agenda Architecture Overview Features 2 1 (OAS) 4.0 Strategy Provide High Enterprise Quality of Service Scalable: Multithreaded, Distributed Server
More informationResearch Article. ISSN 2347-9523 (Print) *Corresponding author Lili Wang Email: lily@nepu.edu.cn
Scholars Journal of Engineering and Technology (SJET) Sch. J. Eng. Tech., 2015; 3(4B):424-428 Scholars Academic and Scientific Publisher (An International Publisher for Academic and Scientific Resources)
More informationHow to make a good Software Requirement Specification(SRS)
Information Management Software Information Management Software How to make a good Software Requirement Specification(SRS) Click to add text TGMC 2011 Phases Registration SRS Submission Project Submission
More informationDesign Approaches of Web Application with Efficient Performance in JAVA
IJCSNS International Journal of Computer Science and Network Security, VOL.11 No.7, July 2011 141 Design Approaches of Web Application with Efficient Performance in JAVA OhSoo Kwon and HyeJa Bang Dept
More informationA framework for web-based product data management using J2EE
Int J Adv Manuf Technol (2004) 24: 847 852 DOI 10.1007/s00170-003-1697-8 ORIGINAL ARTICLE M.Y. Huang Y.J. Lin Hu Xu A framework for web-based product data management using J2EE Received: 8 October 2002
More informationThe Integration Between EAI and SOA - Part I
by Jose Luiz Berg, Project Manager and Systems Architect at Enterprise Application Integration (EAI) SERVICE TECHNOLOGY MAGAZINE Issue XLIX April 2011 Introduction This article is intended to present the
More informationEJB & J2EE. Component Technology with thanks to Jim Dowling. Components. Problems with Previous Paradigms. What EJB Accomplishes
University of Dublin Trinity College EJB & J2EE Component Technology with thanks to Jim Dowling The Need for Component-Based Technologies The following distributed computing development paradigms have
More informationA Performance Comparison of Web Development Technologies to Distribute Multimedia across an Intranet
A Performance Comparison of Web Development Technologies to Distribute Multimedia across an Intranet D. Swales, D. Sewry, A. Terzoli Computer Science Department Rhodes University Grahamstown, 6140 Email:
More information