Web Application Components

Slides:



Advertisements
Similar presentations
Lecture plan Information retrieval (from week 11)
Advertisements

Technical Architectures
BICS546 Client/Server Database Application Development.
B.Sc. Multimedia ComputingMedia Technologies Database Technologies.
Lecture 2 Web application architecture. Themes Architecture : The large scale structure of a system, especially a computer system Design choice: The need.
Introduction to Web Application Architectures Web Application Architectures 18 th March 2005 Bogdan L. Vrusias
Outline IS400: Development of Business Applications on the Internet Fall 2004 Instructor: Dr. Boris Jukic Server Side Web Technologies: Part 2.
Layers & Tiers Umair Javed Lec - 41.
1 CS6320 – Why Servlets? L. Grewe 2 What is a Servlet? Servlets are Java programs that can be run dynamically from a Web Server Servlets are Java programs.
J2EE Java 2 Enterprise Edition. Relevant Topics in The Java Tutorial Topic Web Page JDBC orial/jdbc
Slide 1 of 9 Presenting 24x7 Scheduler The art of computer automation Press PageDown key or click to advance.
UNIT-V The MVC architecture and Struts Framework.
1 Web Database Processing. Web Database Applications Static Report Publishing a report is prepared from a database application and exported to HTML DB.
INTRODUCTION TO WEB DATABASE PROGRAMMING
Chapter 10 EJB Concepts of EJB Three Components in Creating an EJB Starting/Stopping J2EE Server and Deployment Tool Installation and Configuration of.
Introduction to the Enterprise Library. Sounds familiar? Writing a component to encapsulate data access Building a component that allows you to log errors.
Architecture Of ASP.NET. What is ASP?  Server-side scripting technology.  Files containing HTML and scripting code.  Access via HTTP requests.  Scripting.
Distributed Multitiered Applications The J2EE platform uses a multitiered distributed application model. Application logic is divided into components 1.
Beyond DHTML So far we have seen and used: CGI programs (using Perl ) and SSI on server side Java Script, VB Script, CSS and DOM on client side. For some.
Introduction to ASP.NET. Prehistory of ASP.NET Original Internet – text based WWW – static graphical content  HTML (client-side) Need for interactive.
Copyright © cs-tutorial.com. Introduction to Web Development In 1990 and 1991,Tim Berners-Lee created the World Wide Web at the European Laboratory for.
CIS 285 ROBINSON WINTER 2005 CIS 285 Web Application Development with Java CIS 285 Sinclair Community College Instructor: Mary Robinson.
Basics of Web Databases With the advent of Web database technology, Web pages are no longer static, but dynamic with connection to a back-end database.
Introduction to Internet Programming (Web Based Application)
Introduction to J2EE Architecture Portions by Kunal Mehta.
Fundamentals of Database Chapter 7 Database Technologies.
M1G Introduction to Database Development 6. Building Applications.
第十四章 J2EE 入门 Introduction What is J2EE ?
J2EE Structure & Definitions Catie Welsh CSE 432
® IBM Software Group © 2007 IBM Corporation J2EE Web Component Introduction
Putting it all together Dynamic Data Base Access Norman White Stern School of Business.
Webcommerce Computer Networks Webcommerce by Linnea Reppa Douglas Martindale Lev Shalevich.
1 MSCS 237 Overview of web technologies (A specific type of distributed systems)
1 Java EE Programming Enterprise JavaBeans. 2 Topics J2EE Overview Enterprise JavaBeans Overview Enterprise Entity Beans Case Study How to build them.
Introduction to Enterprise JavaBeans Topics In Systems Architecture Barry Herbold
Web Technologies Lecture 8 Server side web. Client Side vs. Server Side Web Client-side code executes on the end-user's computer, usually within a web.
© FPT SOFTWARE – TRAINING MATERIAL – Internal use 04e-BM/NS/HDCV/FSOFT v2/3 JSP Application Models.
WEB SERVER SOFTWARE FEATURE SETS
1 Copyright © 2004, Oracle. All rights reserved. Oracle Application Development Framework.
E-commerce Architecture Ayşe Başar Bener. Client Server Architecture E-commerce is based on client/ server architecture –Client processes requesting service.
1 Chapter 1 INTRODUCTION TO WEB. 2 Objectives In this chapter, you will: Become familiar with the architecture of the World Wide Web Learn about communication.
Java Server Pages Can web pages be created specially for each user?
J2EE Platform Overview (Application Architecture)
Introduction to Oracle Forms Developer and Oracle Forms Services
Web-based Software Development - An introduction
WWW and HTTP King Fahd University of Petroleum & Minerals
Netscape Application Server
N-Tier Architecture.
Chapter 2 Database System Concepts and Architecture
Web Development Web Servers.
Introduction to Oracle Forms Developer and Oracle Forms Services
Introduction to Oracle Forms Developer and Oracle Forms Services
MVC and other n-tier Architectures
CHAPTER 3 Architectures for Distributed Systems
Multitier Architecture, MySQL & PHP
Introduction to J2EE Architecture
PHP / MySQL Introduction
Enterprise Application Architecture
Design and Maintenance of Web Applications in J2EE
Distributed System Using Java 2 Enterprise Edition (J2EE)
Lecture 1: Multi-tier Architecture Overview
Introduction to Servlets
JavaServer Faces: The Fundamentals
Web Application Server 2001/3/27 Kang, Seungwoo. Web Application Server A class of middleware Speeding application development Strategic platform for.
Introduction of Week 11 Return assignment 9-1 Collect assignment 10-1
IntroductionToPHP Static vs. Dynamic websites
Component-based Applications
Chapter 9 Web Hosting and E-Business Software
UFCEUS-20-2 Web Programming
Intro to J2EE Concepts.
Presentation transcript:

Web Application Components Programming Lab : II MS (IT)

Application architecture One Tire No network involved e.g. desktop applications, self contained applets in a web browser on client Two Tire Three Tire N – Tire

Needs of the server side A complete component architecture paves the way for the following (divide-and-conquer approach) Developers to write reusable components Vendors to write component containers that provide a runtime environment and services to components Vendors to provide development, deployment, and maintenance tools, which are necessary complements to the component themselves

Multi-tier Architectures A server-side deployment is software written to support concurrent users performing operations simultaneously, securely, reliably, and efficiently. Examples include following: Banks where many ATM machines connect to a cental bank server Web sites where thousands or millions of users connect to Web servers and those Web servers need to connect with a central server for data and logic

A layered system is a well-designed system because each layer is responsible for a separate task. Here is a typical layer partitioning. Presentation layer contains components dealing with user interfaces and user interaction. For e.g. Servlets, JSP, Applets etc. Business logic layer contains components that work together to solve business problems. Data layer is used by the business logic layer to persist state permanently. Central to the data layer is one or more databases that house the stored state.

Two Tier Architecture Includes a client (java/VB) that connects directly to the database. Business logic is combined in UI layer. The two-tier architecture is most common in complex user interfaces with limited deployment. E.g. Java user interface (Swing/AWT/VB) and Batch Data Processing. Advantage: simplicity - simple to build and use. Limitation: Not scalable, because each client requires its own database session

Two-Tier Architectures Two-tier deployments combine the business logic layer with one of the other two layers. Presentation Logic Presentation Logic Pricing Component Billing Component Pricing Component Billing Component Presentation Layer Database Driver Data Layer Presentation / Business Logic Layer Data Layer Stored Procedures Database Database Pushing data access logic into the second tier in a two-tier architecture Combining presentation with business logic in a two-tier architecture

Three tier architecture With the right approach the 3-tier architecture saves development manpower – reusability E.g. Database access functions, Validation Functions reuse , Business logic is independent from UI and DB Specialist for each layer e.g. GUI, Java or PL/SQL developer and database specialist

N-Tier Architectures An N-tier architecture adds one or more tiers to the two tier model and presentation, business, data layers are separated into respective physical layers Presentation Logic Presentation Layer Pricing Component Billing Component Database Driver Business logic Layer (Application Server) Data Layer Database

N – Tier Architecture Example of a n-tier distributed application is a stock-trading system. In this environment, multiple data feeds (stock quotes, news, trading orders) arrive from different sources, multiple databases (accounts, logs, historical data) are accessed, and multiple clients run specialized applications.

Two Tire V/s N Tire Characteristics of Two-tier architecture Deployment costs are high Database driver switching costs are high Database schema switching costs are high Business logic migration costs are high Characteristics of N-tier architecture Database switching costs are low Business logic migration costs are low Resources can be efficiently pooled and reused Each tier can vary independently Maintenance costs are high

Components – Web Application GUI – HTML, CSS, DHTML,JSP,ASP,PHP,Flash Business Logic – JSP, Servlet, ASP, PHP, Java Beans DATABASE – Oracle, Sql Server, MySql DB Connection – ODBC, JDBC Web server e.g Tomcat Scripting : JavaScript, VBScript, Perl in CGI Programming

User friendly Web Pages Aesthetically Pleasant -Good looking interface will usually let users feel it will work better, they will be more confident in using the application. Cultural conscious -Users will find an interface to be friendly if it displays information in their native reading direction or in their native language. Intuitive -A user friendly interface should be built upon the human visual and cognitive capabilities, and thereby lower the learning curve. Use of symbols, pictures etc. Consistent in style and wordings -Consistent interface style will repeatedly “train” users so that they know what to expect when they do something upon the interface. – Maintaining Standards Response and Error Tolerance –Optimum use of messages on error and success.

GUI Errors Data validation Incorrect field defaults Mis-handling of server process failures Mandatory fields, not mandatory Wrong fields retrieved by queries Incorrect search criteria Field order Multiple database rows returned, single row expected Currency of data on screens Window object/DB field correspondence -- Solution … GUI Checklist and Standards

How to achieve User Friendliness in a Web Application Use of local Language – Multilingual web application Use of Sound Files Use of interactive flash applications Use of video files Unicode support : The Unicode system assigns a unique number to every character in every script of the world's languages. Fonts have been redesigned so that the correct character is displayed when the system sees a particular Unicode numeric code. As long as an appropriate Unicode-compliant font is in place, a computer should be able to correctly display the text.

Localization (I10N) Localization refers to the adaptation of an application or content to meet the language, cultural and other requirements of a specific target market (a "locale"). It can entail customization related to: Numeric, date and time formats Use of currency Keyboard usage sorting Symbols, icons and colors Text and graphics containing references to objects, actions or ideas which, in a given culture Localization may even necessitate a comprehensive rethinking of logic, visual design, or presentation based on the culture of a specific region. E.g. Date Formats in French and English

Internationalization (I18N) Internationalization is the design and development of an application or content that enables easy localization for target audiences that vary in culture, region, or language Designing and developing in a way that removes constraints to localization or international deployment. e.g. This includes such things as enabling the use of Unicode Enabling code to support local, regional, language, or culturally related preferences. Incorporating predefined localization data and features derived from existing libraries or user preferences. E.g. include date and time formats, local calendars, number formats and numeral systems, sorting and presentation of lists, handling of personal names and forms of address.

What is J2EE? Java 2 Platform, Enterprise Edition (J2EE) defines the standard for developing component-based multi tier distributed enterprise applications. An enterprise-level platform for developing portable, secure, scalable, distributed, multi-tier business applications with Java. The mission of J2EE is to provide platform-independent, portable, multi user, secure, and standard enterprise-class platform for server side deployments written in Java language. J2EE is a specification (meant to address needs of many companies), it is inherently not tied to one vendor and also supports cross platform development. This encourages vendors to compete, yielding best-of-breed products. The J2EE platform uses a multitiered distributed application model for enterprise applications. Application logic is divided into components according to function

J2EE Components A J2EE component is a self-contained functional software unit that is assembled into a J2EE application with its related classes and files and that communicates with other components. Application clients and applets are components that run on the client. Java Servlet and JavaServer Pages (JSP) technology components are Web components that run on the server. Enterprise JavaBeans (EJB) components (enterprise beans) are business components that run on the server. J2EE components are written in the Java programming language and are compiled in the same way as any program in the language. The difference between J2EE components and "standard" Java classes is that J2EE components are assembled into a J2EE application, are verified to be well formed and in compliance with the J2EE specification, and are deployed to production, where they are run and managed by the J2EE server

Web Components J2EE Web components can be either servlets or JSP pages Servlets are Java programming language classes that dynamically process requests and construct responses. JSP pages are text-based documents that execute as servlets but allow a more natural approach to creating static content

Web Tier As shown in the next slide Figure the Web tier, like the client tier, might include a JavaBeans component to manage the user input and send that input to enterprise beans running in the business tier for processing

Business Components Business code, which is logic that solves or meets the needs of a particular business domain such as banking, retail, or finance, is handled by enterprise beans running in the business tier.

Business Tier

EIS Tier The enterprise information system tier handles enterprise information system software and includes enterprise infrastructure systems such as enterprise resource planning (ERP), mainframe transaction processing, database systems, and other legacy information systems. Related API’s JDBC , Web Services etc

J2EE Roles & Responsibilities J2EE Product Provider Builds Compliant products : IBM Websphere Application Server Application Component Provider Developer : Develops the application – jsp, servlet, ejb etc. Application Assembler Tech Lead : Resolve dependencies, Deliver deployable app.

J2EE Roles & Responsibilities (cont..) Deployer Configures resources : DB, Roles, Users System Administrator Runtime monitoring, Network administration, Support Tool Provider Provide helper tools for managing, deploying, developing, packaging.

Assignment GUI Checklist with standards for your web pages and apply on the web pages developed Configurations of Tomcat Server Email: purohit_nikunj@daiict.ac.in