introduction to enterprise technologies. 2 agenda overview enterprise applications application...

58
Introduction to Enterprise Technologies

Upload: shanon-stevens

Post on 13-Jan-2016

215 views

Category:

Documents


1 download

TRANSCRIPT

Page 1: Introduction to Enterprise Technologies. 2 Agenda Overview Enterprise Applications Application Architecture Evolution of Layered Architecture Enterprise

Introduction to Enterprise Technologies

Page 2: Introduction to Enterprise Technologies. 2 Agenda Overview Enterprise Applications Application Architecture Evolution of Layered Architecture Enterprise

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

Page 3: Introduction to Enterprise Technologies. 2 Agenda Overview Enterprise Applications Application Architecture Evolution of Layered Architecture Enterprise

3

What is an Enterprise?

• In the computer industry, the term is often used to describe any large business organization that utilizes computers

Page 4: Introduction to Enterprise Technologies. 2 Agenda Overview Enterprise Applications Application Architecture Evolution of Layered Architecture Enterprise

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

Page 5: Introduction to Enterprise Technologies. 2 Agenda Overview Enterprise Applications Application Architecture Evolution of Layered Architecture Enterprise

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

Page 6: Introduction to Enterprise Technologies. 2 Agenda Overview Enterprise Applications Application Architecture Evolution of Layered Architecture Enterprise

6

How to Build an Enterprise Application

• Using an Application Architecture specially designed for Enterprise Application Design

Page 7: Introduction to Enterprise Technologies. 2 Agenda Overview Enterprise Applications Application Architecture Evolution of Layered Architecture Enterprise

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

Page 8: Introduction to Enterprise Technologies. 2 Agenda Overview Enterprise Applications Application Architecture Evolution of Layered Architecture Enterprise

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

Page 9: Introduction to Enterprise Technologies. 2 Agenda Overview Enterprise Applications Application Architecture Evolution of Layered Architecture Enterprise

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

Page 10: Introduction to Enterprise Technologies. 2 Agenda Overview Enterprise Applications Application Architecture Evolution of Layered Architecture Enterprise

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

Page 11: Introduction to Enterprise Technologies. 2 Agenda Overview Enterprise Applications Application Architecture Evolution of Layered Architecture Enterprise

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)

server

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

Page 12: Introduction to Enterprise Technologies. 2 Agenda Overview Enterprise Applications Application Architecture Evolution of Layered Architecture Enterprise

12

Two Tier Architectures

• 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

Page 13: Introduction to Enterprise Technologies. 2 Agenda Overview Enterprise Applications Application Architecture Evolution of Layered Architecture Enterprise

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

Page 14: Introduction to Enterprise Technologies. 2 Agenda Overview Enterprise Applications Application Architecture Evolution of Layered Architecture Enterprise

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

Page 15: Introduction to Enterprise Technologies. 2 Agenda Overview Enterprise Applications Application Architecture Evolution of Layered Architecture Enterprise

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

Page 16: Introduction to Enterprise Technologies. 2 Agenda Overview Enterprise Applications Application Architecture Evolution of Layered Architecture Enterprise

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

Page 17: Introduction to Enterprise Technologies. 2 Agenda Overview Enterprise Applications Application Architecture Evolution of Layered Architecture Enterprise

17

• 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

Page 18: Introduction to Enterprise Technologies. 2 Agenda Overview Enterprise Applications Application Architecture Evolution of Layered Architecture Enterprise

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

Page 19: Introduction to Enterprise Technologies. 2 Agenda Overview Enterprise Applications Application Architecture Evolution of Layered Architecture Enterprise

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

Page 20: Introduction to Enterprise Technologies. 2 Agenda Overview Enterprise Applications Application Architecture Evolution of Layered Architecture Enterprise

20

Enterprise JavaBeans Technology

• An Enterprise JavaBeansTM (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.

Page 21: Introduction to Enterprise Technologies. 2 Agenda Overview Enterprise Applications Application Architecture Evolution of Layered Architecture Enterprise

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.

Page 22: Introduction to Enterprise Technologies. 2 Agenda Overview Enterprise Applications Application Architecture Evolution of Layered Architecture Enterprise

22

JavaServer Pages Technology

• JavaServer PagesTM (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

Page 23: Introduction to Enterprise Technologies. 2 Agenda Overview Enterprise Applications Application Architecture Evolution of Layered Architecture Enterprise

Apache Web Server

Page 24: Introduction to Enterprise Technologies. 2 Agenda Overview Enterprise Applications Application Architecture Evolution of Layered Architecture Enterprise

24

Agenda

• Brief History• Apache Software Foundation(ASF)• Apache Projects• Apache Downloading and Installation

• Windows• Linux

• Design Examples

Page 25: Introduction to Enterprise Technologies. 2 Agenda Overview Enterprise Applications Application Architecture Evolution of Layered Architecture Enterprise

25

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

Page 26: Introduction to Enterprise Technologies. 2 Agenda Overview Enterprise Applications Application Architecture Evolution of Layered Architecture Enterprise

26

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

Page 27: Introduction to Enterprise Technologies. 2 Agenda Overview Enterprise Applications Application Architecture Evolution of Layered Architecture Enterprise

27

Downloading and Installation - Demo

• Downloading• http://apache.org• http://httpd.apache.org

• Installation• Windows• Linux

Page 28: Introduction to Enterprise Technologies. 2 Agenda Overview Enterprise Applications Application Architecture Evolution of Layered Architecture Enterprise

28

Running and Testing - Demo

• Running• Apache as a Service• Apache as a Console Application

• Testing the Installation

Page 29: Introduction to Enterprise Technologies. 2 Agenda Overview Enterprise Applications Application Architecture Evolution of Layered Architecture Enterprise

29

Hosting your own Static Web Pages - Demo

Page 30: Introduction to Enterprise Technologies. 2 Agenda Overview Enterprise Applications Application Architecture Evolution of Layered Architecture Enterprise

30

Run-time Configuration Directives - Demo

Page 31: Introduction to Enterprise Technologies. 2 Agenda Overview Enterprise Applications Application Architecture Evolution of Layered Architecture Enterprise

Apache Tomcat

Page 32: Introduction to Enterprise Technologies. 2 Agenda Overview Enterprise Applications Application Architecture Evolution of Layered Architecture Enterprise

32

Agenda

• Overview• Practical Aspects

• Tomcat Installation• Design Examples

Page 33: Introduction to Enterprise Technologies. 2 Agenda Overview Enterprise Applications Application Architecture Evolution of Layered Architecture Enterprise

33

Overview

• Apache Tomcat 5.5 Servlet/JSP Container• Apache Tomcat is an open source software implementation of

the Java Servlet and JavaServer Pages technologies.

Page 34: Introduction to Enterprise Technologies. 2 Agenda Overview Enterprise Applications Application Architecture Evolution of Layered Architecture Enterprise

34

Downloading and Installation - Demo

• Downloading• http://apache.org• http://tomcat.apache.org

• Installation• Windows• Linux

Page 35: Introduction to Enterprise Technologies. 2 Agenda Overview Enterprise Applications Application Architecture Evolution of Layered Architecture Enterprise

35

Running and Testing - Demo

• Running• Apache as a Service• Apache as a Console Application

• Testing the Installation

Page 36: Introduction to Enterprise Technologies. 2 Agenda Overview Enterprise Applications Application Architecture Evolution of Layered Architecture Enterprise

36

Hosting your own Dynamic Web Pages - Demo

Page 37: Introduction to Enterprise Technologies. 2 Agenda Overview Enterprise Applications Application Architecture Evolution of Layered Architecture Enterprise

37

Basic Tomcat Configurations – Demo

• Configuration file• $CATALINA_HOME/conf/server.xml

Page 38: Introduction to Enterprise Technologies. 2 Agenda Overview Enterprise Applications Application Architecture Evolution of Layered Architecture Enterprise

38

Basic Tomcat Configurations – Demo cont.

• Component-Based Configuration Model

Page 39: Introduction to Enterprise Technologies. 2 Agenda Overview Enterprise Applications Application Architecture Evolution of Layered Architecture Enterprise

39

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

Page 40: Introduction to Enterprise Technologies. 2 Agenda Overview Enterprise Applications Application Architecture Evolution of Layered Architecture Enterprise

Service Oriented Architecture and Web

ServicesThe Road to Enterprise Application Integration (EAI)

Page 41: Introduction to Enterprise Technologies. 2 Agenda Overview Enterprise Applications Application Architecture Evolution of Layered Architecture Enterprise

41

Agenda

• Introduction• Service• Service oriented architecture (SOA)• Web Services• Web Service Stack• XML• SOAP• Apache SOAP Architecture• Anatomy of HelloWorld

Page 42: Introduction to Enterprise Technologies. 2 Agenda Overview Enterprise Applications Application Architecture Evolution of Layered Architecture Enterprise

42

Introduction

• Most enterprises have made extensive investments in system resources over the course of many years.

• Such enterprises have an enormous amount of data stored in legacy enterprise information systems (EIS).

• Is it practical to discard existing systems and rebuild everything from scratch?• No

• What is the cost-effective way?• Evolve and Enhance EIS

• How can this be done? • Service Oriented Architecture (SOA)

Page 43: Introduction to Enterprise Technologies. 2 Agenda Overview Enterprise Applications Application Architecture Evolution of Layered Architecture Enterprise

43

Introduction cont.

• SOA can help organizations to • Streamline business processes • Adapt to changing needs and competition• Enabling the software as a service concept

Page 44: Introduction to Enterprise Technologies. 2 Agenda Overview Enterprise Applications Application Architecture Evolution of Layered Architecture Enterprise

44

Example

• eBay• eBay is opening up its web services API for its online auction. • Through the new APIs, developers can build custom

applications that link to the eBay auction site• Sellers can submit items for sale via these applications. • This type of strategy, however, will increase the customer

base for eBay.

Page 45: Introduction to Enterprise Technologies. 2 Agenda Overview Enterprise Applications Application Architecture Evolution of Layered Architecture Enterprise

45

Service

• A service is a provider/client interaction that creates and captures value

Page 46: Introduction to Enterprise Technologies. 2 Agenda Overview Enterprise Applications Application Architecture Evolution of Layered Architecture Enterprise

46

Service Oriented Architecture (SOA)

• Service Oriented Architecture is a paradigm for organizing and utilizing distributed capabilities that may be under the control of different ownership domains. It provides a uniform means to offer, discover, interact with and use capabilities to produce desired effects consistent with measurable preconditions and expectations.

Page 47: Introduction to Enterprise Technologies. 2 Agenda Overview Enterprise Applications Application Architecture Evolution of Layered Architecture Enterprise

47

Web Services

• A Web service is a software system designed to support interoperable machine-to-machine interaction over a network.

• It has an interface described in a machine-processable format

Page 48: Introduction to Enterprise Technologies. 2 Agenda Overview Enterprise Applications Application Architecture Evolution of Layered Architecture Enterprise

48

SOA/Web Service Triangle

Page 49: Introduction to Enterprise Technologies. 2 Agenda Overview Enterprise Applications Application Architecture Evolution of Layered Architecture Enterprise

49

Web Service Stack

Page 50: Introduction to Enterprise Technologies. 2 Agenda Overview Enterprise Applications Application Architecture Evolution of Layered Architecture Enterprise

50

XML

• XML offers • Definition of self-describing data in worldwide standardized• Structured data and knowledge exchange for enterprises in

various industries• Integration of information from different sources into uniform

documents

Page 51: Introduction to Enterprise Technologies. 2 Agenda Overview Enterprise Applications Application Architecture Evolution of Layered Architecture Enterprise

51

Example

• Your Address Example

• HTML Markup - HTML tags are presentation-oriented<em>Virtusa Corp.</em><br>Colombo<br><strong>Sri Lanka</strong>

• How it displaysVirtusa Corp. Colombo Sri Lanka

Page 52: Introduction to Enterprise Technologies. 2 Agenda Overview Enterprise Applications Application Architecture Evolution of Layered Architecture Enterprise

52

Example cont.

• Your Address Example

• XML Markup - XML tags are chosen for content-structuring needs

<Address><Name>Virtusa Corp.</Name> <City>Colombo</City> <Country>Sri Lanka</Country> </Address>

• How it structured

Page 53: Introduction to Enterprise Technologies. 2 Agenda Overview Enterprise Applications Application Architecture Evolution of Layered Architecture Enterprise

53

SOAP

• SOAP is a • Lightweight protocol for exchange of information in a

decentralized, distributed environment.• SOAP is platform-independent.• XML based protocol

• It gives Interoperability to Web Services

Page 54: Introduction to Enterprise Technologies. 2 Agenda Overview Enterprise Applications Application Architecture Evolution of Layered Architecture Enterprise

54

XML Messaging Using SOAP

Page 55: Introduction to Enterprise Technologies. 2 Agenda Overview Enterprise Applications Application Architecture Evolution of Layered Architecture Enterprise

55

Apache SOAP Architecture

Page 56: Introduction to Enterprise Technologies. 2 Agenda Overview Enterprise Applications Application Architecture Evolution of Layered Architecture Enterprise

56

Anatomy of HelloWorld

• Home Work• Study AXIS web services

• http://ws.apache.org/axis

• Follow the 4 steps mentioned in below link to develop hello world web service

• http://www.cs.rpi.edu/academics/courses/spring06/netprog/example.html

Page 57: Introduction to Enterprise Technologies. 2 Agenda Overview Enterprise Applications Application Architecture Evolution of Layered Architecture Enterprise

57

Thank You

Page 58: Introduction to Enterprise Technologies. 2 Agenda Overview Enterprise Applications Application Architecture Evolution of Layered Architecture Enterprise

58

USA INDIA SRILANKA UK

www.virtusa.com

© V I r t u s a C o r p o r a t i o n

"Virtusa" is a trademark of the company and a registered trademark in the EU and In India. "Productization" is a service mark of the company and a registered service mark in the United States.

"vRule" is a service mark of the company.

For more information please contact [email protected]