Introduction to Enterprise Technologies Presented by Kushan Athukorala.

Slides:



Advertisements
Similar presentations
Welcome to Middleware Joseph Amrithraj
Advertisements

Apache Struts Technology
CSIS0402 System Architecture K.P. Chow University of Hong Kong.
Technical Architectures
Object-Oriented Enterprise Application Development Tomcat 3.2 Configuration Last Updated: 03/30/2001.
Sapana Mehta (CS-6V81) Overview Of J2EE & JBoss Sapana Mehta.
Web Servers How do our requests for resources on the Internet get handled? Can they be located anywhere? Global?
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.
Time Scalability Single User Unlimited Users 100s of Users Several Users PC based Single user Late 1980sNow PC based, file-level locking Single user or.
12 Chapter 12 Client/Server Systems Hachim Haddouti.
Component Based Systems Analysis Introduction. Why Components? t Development alternatives: –In-house software –Standard packages –Components 60% of the.
J2EE Java 2 Enterprise Edition. Relevant Topics in The Java Tutorial Topic Web Page JDBC orial/jdbc
Java Server Team 8. Overview What is a Java Server? History Architecture Advantages Disadvantages Current Technologies Conclusion.
Application Architectures Vijayan Sugumaran Department of DIS Oakland University.
1 Java Server Pages Can web pages be created specially for each user? What part does Java play?
12-1 © Prentice Hall, 2004 Chapter 12: Design Elements Object-Oriented Systems Analysis and Design Joey F. George, Dinesh Batra, Joseph S. Valacich, Jeffrey.
DATABASE MANAGEMENT SYSTEMS 2 ANGELITO I. CUNANAN JR.
Web Applications Basics. Introduction to Web Web features Clent/Server HTTP HyperText Markup Language URL addresses Web server - a computer program that.
Apache Jakarta Tomcat Suh, Junho. Road Map Tomcat Overview Tomcat Overview History History What is Tomcat? What is Tomcat? Servlet Container.
Understanding and Managing WebSphere V5
Web Application Architecture: multi-tier (2-tier, 3-tier) & mvc
Talend 5.4 Architecture Adam Pemble Talend Professional Services.
Java Pet Store Application. Outline Introduction Introduction Information Layer Information Layer Application Layer Application Layer Infrastructure Layer.
N-Tier Architecture.
UNIT-V The MVC architecture and Struts Framework.
INTRODUCTION TO WEB DATABASE PROGRAMMING
Apache Tomcat Web Server SNU OOPSLA Lab. October 2005.
M. Taimoor Khan * Java Server Pages (JSP) is a server-side programming technology that enables the creation of dynamic,
EJB Overview Celsina Bignoli Distributed Business Applications Server DB Client DB Server DB.
Distributed Multitiered Applications The J2EE platform uses a multitiered distributed application model. Application logic is divided into components 1.
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.
From Client Server to WEB Rizwan Akhtar Tangible Technologies
Introduction to Internet Programming (Web Based Application)
Introduction to J2EE Architecture Portions by Kunal Mehta.
|Tecnologie Web L-A Anno Accademico Laboratorio di Tecnologie Web Introduzione ad Eclipse e Tomcat
第十四章 J2EE 入门 Introduction What is J2EE ?
® IBM Software Group © 2007 IBM Corporation J2EE Web Component Introduction
Csi315csi315 Client/Server Models. Client/Server Environment LAN or WAN Server Data Berson, Fig 1.4, p.8 clients network.
Unit – I CLIENT / SERVER ARCHITECTURE. Unit Structure  Evolution of Client/Server Architecture  Client/Server Model  Characteristics of Client/Server.
MACIASZEK, L.A. (2001): Requirements Analysis and System Design. Developing Information Systems with UML, Addison Wesley Chapter 6 - Tutorial Guided Tutorial.
Webcommerce Computer Networks Webcommerce by Linnea Reppa Douglas Martindale Lev Shalevich.
Source: Peter Eeles, Kelli Houston, and Wojtek Kozaczynsky, Building J2EE Applicationa with the Rational Unified Process, Addison Wesley, 2003 Prepared.
Introduction to Enterprise Technologies. 2 Agenda Overview Enterprise Applications Application Architecture Evolution of Layered Architecture Enterprise.
Database Architectures Database System Architectures Considerations – Data storage: Where do the data and DBMS reside? – Processing: Where.
1 Java EE Programming Enterprise JavaBeans. 2 Topics J2EE Overview Enterprise JavaBeans Overview Enterprise Entity Beans Case Study How to build them.
Apache Jakarta Project. What is Jakarta’s mission Jakarta is a Project of the Apache Software Foundation, charged with the creation and maintenance of.
© FPT SOFTWARE – TRAINING MATERIAL – Internal use 04e-BM/NS/HDCV/FSOFT v2/3 JSP Application Models.
1 Copyright © 2004, Oracle. All rights reserved. Oracle Application Development Framework.
NJIT 1 Apache Tomcat (Version 6.0) THETOPPERSWAY.COM.
Creating competitive advantage Copyright © 2003 Enterprise Java Beans Presenter: Wickramanayake HMKSK Version:0.1 Last Updated:
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.
Introduction to Oracle Forms Developer and Oracle Forms Services
N-Tier Architecture.
Introduction to Oracle Forms Developer and Oracle Forms Services
Introduction to Advanced Java Programming
Introduction to Oracle Forms Developer and Oracle Forms Services
MVC and other n-tier Architectures
Introduction to J2EE Architecture
Unit 6-Chapter 2 Struts.
#01 Client/Server Computing
Design and Maintenance of Web Applications in J2EE
Apache Tomcat Web Server
Lecture 1: Multi-tier Architecture Overview
An Introduction to Software Architecture
Web Servers (IIS and Apache)
Web Application Development Using PHP
#01 Client/Server Computing
Presentation transcript:

Introduction to Enterprise Technologies Presented by Kushan Athukorala

2 Agenda Overview Enterprise Applications Application Architecture Evolution of Layered Architecture Enterprise Application Design Issues / Solutions JavaEE Solution Framework / Platform Enterprise JavaBeans Technology Java Servlet Technology JavaSerever Pages Technology

3 What is an Enterprise? In the computer industry, the term is often used to describe any large business organization that utilizes computers

4 What is an Enterprise Application? It is a big business application developed using software Features Complex Robust High Performance Scalable Distributed Component based Mission critical Data centric User friendly They must meet stringent requirements such as Security, Administration, Maintenance, etc. In short, An Enterprise Application is an large highly complex business application developed using software

5 Examples Online Shopping Online Payment Processing Interactive Product Catalogue Automated Billing Systems Content Management CRM – Customer Relationship Management ERP - Enterprise Resource Planning Business Intelligence HR Management Manufacturing

6 How to Build an Enterprise Application Using an Application Architecture specially designed for Enterprise Application Design

7 Application Architecture Application Architecture is the Structure of the System It comprises of following Components (building blocks) Externally visible properties of those components Relationships among them Layered Architecture is mostly used It defines the interaction between application packages, databases, and Middleware systems Middleware is a general term for any programming that serves to "glue together" or mediate between two separate and often already existing programs The application architecture is specified on the basis of business requirements

8 Evolution of Layered Architecture Mainframe/Legacy Systems Single Tier Architecture File Sharing Systems Two Tier Architectures Client Server Architectures Thin Client Thick Client Three Tier Architectures N Tier Architectures

9 Mainframe/Legacy Systems In mainframe systems all intelligence is within the central host computer Users interact with the host through a terminal The terminal captures keystrokes and sends that information to the host The display data of the terminal is also sent by the host In a mainframe environment users can interact with the host computer using terminal

10 Single Tier Architecture File Sharing Systems A File server has the interface, business logic and database highly coupled Any changes made to one unit requires changes being made to all units, resulting in a lot of code rewrite Early PC networks were based on file sharing systems Client machines are usually diskless and boot from the server

11 Two Tier Architectures Client Server Architectures Client/Server describes the relationship between two computer programs where one program the client makes request from another program the sever which fulfils the request. Client –Sending requests –Waits until reply arrives Server –Waits for requests –On request serves them and send a reply The first step towards client server architecture was introduction of database servers which replaces the file server. Client (browser) serve r 1. Client requests for a Particular HTML file 2. The server locates the files and sends it to the browser 3. The file is displayed

12 Client Server Architectures cont. Refers to client/server architectures in which the user interface runs on the client and the database is stored on the server. The actual application logic can run on either the client or the server. There are two organizations Thin Client Thick Client

13 Client Server Architecture with Thin Client Client implements only the user interactions part Server implements business logic and data management Advantages Small code base for client Easy to develop, update and upgrade Complex logic is centralized, thus reusable Disadvantages Changes may be difficult to incorporate The network and security related logic needs to be handled

14 Client Server Architecture with Thick Client Client implements both the presentation layer and the business logic Server implements data management Advantages Load is balanced to some extent Client processing can be tailored to different users Disadvantages Larger code base on the client Complex business logic cannot be reused

15 Three Tier Architectures The user interface, functional process logic ("business rules"), data storage and data access are developed and maintained as independent modules, most often on separate platforms. Advantages: Application components are loosely coupled, therefore easily modifiable Complex business logic can be reused reliving clients from having to code the applications logic (the "fat client" approach). Disadvantages: System complexity - extremely complex to program and debug Security issues

16 N Tier Architecture Refers to the architecture of an application that has at least 3 "logical" layers (or) parts that are separate. Each layer interacts with only the layer directly below, and has specific function that it is responsible for. Advantage Modular approach, allowing concentration only on specific requirements It is more maintainable Disadvantages It puts a greater load on the network Requires interaction of more devices

17 Major Issue is the Complexity in Middle Tier Maintain client transaction scope and duration Security Resource Management in terms of memory, database connectivity etc Exception handling Enterprise Application Design Issues

18 Solutions Handling the Complexity in Middle Tier Use a Solution Framework / Platform JavaEE.NET Use Shared Container that handles the system services Often called as the Application Servers or Middleware Servers Examples –JBoss –Websphere –OracleAS –BorlandAS –IIS/MTS

19 JavaEE - Java Enterprise Edition The Java EE platform uses a Distributed Multitier Application Model for Enterprise Applications JavaEE is a platform-independent, Java-centric environment from Sun for developing, building and deploying Web-based enterprise applications online

20 Enterprise JavaBeans Technology An Enterprise JavaBeans (EJB) component, or enterprise bean, is a body of code having fields and methods to implement modules of business logic. You can think of an enterprise bean as a building block that can be used alone or with other enterprise beans to execute business logic on the Java EE server.

21 Java Servlet Technology Java Servlet technology lets you define HTTP-specific servlet classes. A servlet class extends the capabilities of servers that host applications that are accessed by way of a request-response programming model. Although servlets can respond to any type of request, they are commonly used to extend the applications hosted by web servers.

22 JavaServer Pages Technology JavaServer Pages (JSP) technology lets you put snippets of servlet code directly into a text-based document. A JSP page is a text-based document that contains two types of text. Static Content Text-based format such as HTML, XML Dynamic Content JSP elements

23 Home Work Study the JSP Tutorial Study the Part I and Part II sections of Java EE 5 Tutorial

Apache Web Server Presented by Kushan Athukorala

25 Agenda Brief History Apache Software Foundation(ASF) Apache Projects Apache Downloading and Installation - Demo Windows Linux Running and Testing – Demo Hosting your own Static Web Pages – Demo Run-time Configuration Directives - Demo

26 Apache Software Foundation Brief History In 1995  NCSA (National Center for Supercomputer Applications) Web Server developed.  A group of developers patched the NCSA code base couple of times during the year  A new version released, called “A PAtCHy Web Server”. In 1999  APACHE web server was very popular since it is Free and Open Source Software(FOSS)  Same folks formed the ASF as a non-profit organization to develop FOSS projects Today Courtesy of

27 Apache Projects HTTP Server Abdera ActiveMQ Ant APR Archiva Beehive Buildr Camel Cayenne Cocoon Commons Continuum CouchDB CXF DB Directory Excalibur Felix Forrest Geronimo Gump Hadoop Harmony HttpComponents iBATIS Incubator Jackrabbit Jakarta James Labs Lenya Logging Lucene Maven Mina MyFaces ODE OFBiz OpenEJB OpenJPA Perl POI Portals Qpid Roller Santuario ServiceMix Sling SpamAssassin STDCXX Struts Synapse Tapestry TCL Tiles Tomcat Turbine Tuscany Velocity Wicket Web Services Xalan Xerces XML XMLBeans XML Graphics Attic

28 Downloading and Installation - Demo Downloading Installation Windows Linux

29 Running and Testing - Demo Running Apache as a Service Apache as a Console Application Testing the Installation

30 Hosting your own Static Web Pages - Demo

31 Run-time Configuration Directives - Demo

Apache Tomcat Presented by Kushan Athukorala

33 Agenda Overview Downloading and Installation – Demo Windows Linux Running and Testing – Demo Hosting your own Dynamic Web Pages – Demo Basic Tomcat Configurations – Demo

34 Overview Apache Tomcat 5.5 Servlet/JSP Container Apache Tomcat is an open source software implementation of the Java Servlet and JavaServer Pages technologies.

35 Downloading and Installation - Demo Downloading Installation Windows Linux

36 Running and Testing - Demo Running Apache as a Service Apache as a Console Application Testing the Installation

37 Hosting your own Dynamic Web Pages - Demo

38 Basic Tomcat Configurations – Demo Configuration file $CATALINA_HOME/conf/server.xml

39 Basic Tomcat Configurations – Demo cont. Component-Based Configuration Model

40 Basic Tomcat Configurations – Demo cont. The Element Configure the listening port for Shutdown Command The Element Grouping of elements associated with an Catalina element The Element Configure Tomcat as an Application Server Only Dynamic content can be served Configure Tomcat in Standalone Mode Both Static and Dynamic contents can be served The Element This is the container or Servlet processor The Element