introduction to enterprise technologies presented by kushan athukorala n.
Download
Skip this Video
Loading SlideShow in 5 Seconds..
Introduction to Enterprise Technologies Presented by Kushan Athukorala PowerPoint Presentation
Download Presentation
Introduction to Enterprise Technologies Presented by Kushan Athukorala

Loading in 2 Seconds...

play fullscreen
1 / 40

Introduction to Enterprise Technologies Presented by Kushan Athukorala - PowerPoint PPT Presentation


  • 161 Views
  • Uploaded on

Introduction to Enterprise Technologies Presented by Kushan Athukorala. Agenda. Overview Enterprise Applications Application Architecture Evolution of Layered Architecture Enterprise Application Design Issues / Solutions JavaEE Solution Framework / Platform

loader
I am the owner, or an agent authorized to act on behalf of the owner, of the copyrighted work described.
capcha
Download Presentation

PowerPoint Slideshow about 'Introduction to Enterprise Technologies Presented by Kushan Athukorala' - kare


An Image/Link below is provided (as is) to download presentation

Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.


- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -
Presentation Transcript
introduction to enterprise technologies presented by kushan athukorala
Introduction to Enterprise Technologies

Presented by KushanAthukorala

agenda
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
what is an enterprise
What is an Enterprise?
  • In the computer industry, the term is often used to describe any large business organization that utilizes computers
what is an enterprise application
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
examples
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
how to build an enterprise application
How to Build an Enterprise Application
  • Using an Application Architecture specially designed for Enterprise Application Design
application architecture
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 Middlewaresystems
    • 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
evolution of layered architecture
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
mainframe legacy systems
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
single tier architecture
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
two tier architectures

1. Client requests for a Particular HTML file

Client

(browser)

3. The file is displayed

server

2. The server locates the files and sends it to the browser

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 server architectures cont
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
client server architecture with thin client
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
client server architecture with thick client
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
three tier architectures
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
n tier architecture
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
enterprise application design issues
Enterprise Application Design Issues
  • 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
solutions
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 Serversor Middleware Servers
      • Examples
        • JBoss
        • Websphere
        • OracleAS
        • BorlandAS
        • IIS/MTS
javaee java enterprise edition
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
enterprise javabeans technology
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.
java servlet technology
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.
javaserver pages technology
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
home work
Home Work
  • Study the JSP Tutorial
    • http://www.jsptut.com/
  • Study the Part I and Part II sections of Java EE 5 Tutorial
    • http://java.sun.com/javaee/5/docs/tutorial/doc/index.html
apache web server presented by kushan athukorala
Apache Web Server

Presented by KushanAthukorala

agenda1
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
apache software foundation
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 http://www.netcraft.com

apache projects
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

downloading and installation demo
Downloading and Installation - Demo
  • Downloading
    • http://apache.org
    • http://httpd.apache.org
  • Installation
    • Windows
    • Linux
running and testing demo
Running and Testing - Demo
  • Running
    • Apache as a Service
    • Apache as a Console Application
  • Testing the Installation
apache tomcat presented by kushan athukorala
Apache Tomcat

Presented by KushanAthukorala

agenda2
Agenda
  • Overview
  • Downloading and Installation – Demo
    • Windows
    • Linux
  • Running and Testing – Demo
  • Hosting your own Dynamic Web Pages – Demo
  • Basic Tomcat Configurations – Demo
overview
Overview
  • Apache Tomcat 5.5 Servlet/JSP Container
    • Apache Tomcat is an open source software implementation of the Java Servlet and JavaServer Pages technologies.
downloading and installation demo1
Downloading and Installation - Demo
  • Downloading
    • http://apache.org
    • http://tomcat.apache.org
  • Installation
    • Windows
    • Linux
running and testing demo1
Running and Testing - Demo
  • Running
    • Apache as a Service
    • Apache as a Console Application
  • Testing the Installation
basic tomcat configurations demo
Basic Tomcat Configurations – Demo
  • Configuration file
    • $CATALINA_HOME/conf/server.xml
basic tomcat configurations demo cont
Basic Tomcat Configurations – Demo cont.
  • Component-Based Configuration Model
basic tomcat configurations demo cont1
Basic Tomcat Configurations – Demo cont.
  • The <Server> Element
    • Configure the listening port for Shutdown Command
  • The <Service> Element
    • Grouping of <Connector> elements associated with an Catalina <Engine> element
  • The <Connector> 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 <Engine> Element
    • This is the container or Servlet processor
  • The <Host> Element