Presentation is loading. Please wait.

Presentation is loading. Please wait.

Web Application Components

Similar presentations


Presentation on theme: "Web Application Components"— Presentation transcript:

1 Web Application Components
Programming Lab : II MS (IT)

2 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

3 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

4 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

5 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.

6 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

7 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

8 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

9 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

10 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.

11 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

12 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

13 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.

14 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

15 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.

16 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

17 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.

18 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

19 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

20 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

21 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

22 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.

23 Business Tier

24 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

25 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.

26 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.

27 Assignment GUI Checklist with standards for your web pages and apply on the web pages developed Configurations of Tomcat Server


Download ppt "Web Application Components"

Similar presentations


Ads by Google