30
Comp2513 Comp2513 Web/Application Web/Application Servers Servers Daniel L. Silver, Ph.D. Daniel L. Silver, Ph.D.

Comp2513 Web/Application Servers

  • Upload
    bruno

  • View
    37

  • Download
    1

Embed Size (px)

DESCRIPTION

Comp2513 Web/Application Servers. Daniel L. Silver, Ph.D. Objectives. To cover basic material on HTTP and Java Application Servers To introduce J2EE - a more powerful middleware To discuss the leading application servers on the market. Outline. The Apache HTTP server - PowerPoint PPT Presentation

Citation preview

Page 1: Comp2513 Web/Application Servers

Comp2513Comp2513

Web/Application ServersWeb/Application Servers

Daniel L. Silver, Ph.D.Daniel L. Silver, Ph.D.

Page 2: Comp2513 Web/Application Servers

2002 Daniel L. Silver 2

ObjectivesObjectives To cover basic material on HTTP and Java To cover basic material on HTTP and Java

Application ServersApplication Servers To introduce J2EE - a more powerful To introduce J2EE - a more powerful

middlewaremiddleware To discuss the leading application servers To discuss the leading application servers

on the marketon the market

Page 3: Comp2513 Web/Application Servers

2002 Daniel L. Silver 3

OutlineOutline The Apache HTTP serverThe Apache HTTP server Java application serversJava application servers The need for more powerful middlewareThe need for more powerful middleware J2EEJ2EE A comparision of the leading application A comparision of the leading application

servers on the marketservers on the market

Page 4: Comp2513 Web/Application Servers

2002 Daniel L. Silver 4

Evolution on the WebEvolution on the Web

Publishing

Time or Maturity

Functionality Interactivity

Transactions

Processes

Static web pages

Dynamic web pages

Web-enabled applicatons

HTTP Servers

CGI Servers

App.Servers

Page 5: Comp2513 Web/Application Servers

2002 Daniel L. Silver 5

The Apache HTTP ServerThe Apache HTTP Server

What is unique about the development of Apache? What is unique about the development of Apache? See See www.apache.orgwww.apache.org– What other software system shares this characteristic?What other software system shares this characteristic?

First created in 1995 by Rob McCool, NCSAFirst created in 1995 by Rob McCool, NCSA Survey saysSurvey says: 63% of the HTTP server market: 63% of the HTTP server market Available for Unix, Linux, Windows (NT, 98)Available for Unix, Linux, Windows (NT, 98) Homework: Where did it get its name?Homework: Where did it get its name?

Page 6: Comp2513 Web/Application Servers

2002 Daniel L. Silver 6

The Apache HTTP ServerThe Apache HTTP Server

Architecture:Architecture:– Modular in natureModular in nature– Promotes slim and simple configurationsPromotes slim and simple configurations– Modules can be compiled and loaded as needed such asModules can be compiled and loaded as needed such as

» Core - core apache features – required!Core - core apache features – required!» mod_access, mod_auth - administration of host and user group mod_access, mod_auth - administration of host and user group

access access » mod_action, mod_cgi - Action on requested CGI script filesmod_action, mod_cgi - Action on requested CGI script files» mod_asis - “as is” delivery of certain file types (e.g. *.txt)mod_asis - “as is” delivery of certain file types (e.g. *.txt)» mod-alias - Access to directories not in the apache rootmod-alias - Access to directories not in the apache root» mod_usretrack -User tracking via cookiesmod_usretrack -User tracking via cookies

Page 7: Comp2513 Web/Application Servers

2002 Daniel L. Silver 7

Apache HTML ProcessingApache HTML Processing

Internet

Browser

Client

ApacheHTTP Server

http/https

../store15/index.html

http://eagle.acadiau.ca/store15/index.html

HTTPadmin

Page 8: Comp2513 Web/Application Servers

2002 Daniel L. Silver 8

Apache CGI ProcessingApache CGI Processing

Internet

Browser

Client

ApacheHTTP Server

http/https

../store15/cgi-bin/Hello.cgi

mod.CGI

UnixOp. sys.

http://eagle.acadiau.ca/store15/cgi-bin/Hello.cgi

HTTPadmin

Page 9: Comp2513 Web/Application Servers

2002 Daniel L. Silver 9

Java Application ServersJava Application Servers Application servers were created originally to field Application servers were created originally to field

multiple simultaneous CGI requests, the divide multiple simultaneous CGI requests, the divide and conquer approachand conquer approach

Java servlets were introduced by Sun as a method Java servlets were introduced by Sun as a method of providing the benefits of server-side processing of providing the benefits of server-side processing while taking advantage of many great Java while taking advantage of many great Java characteristics:characteristics:– Developers new the langaugeDevelopers new the langauge– Simple to understandSimple to understand– There were lost of objects and methods already writtenThere were lost of objects and methods already written– Code was portable to many different servers (JVM)Code was portable to many different servers (JVM)– Faster than CGIsFaster than CGIs

Page 10: Comp2513 Web/Application Servers

2002 Daniel L. Silver 10

Tomcat JTomcat Java Servlet Processingava Servlet Processing

Internet

Browser

Client

HTTP Server

FirstServlet.class

http://eagle.acadiau.ca/store15/servlet/FirstServlet

TomcatJava App.

Server

Tomcat admin

Java Bean

Page 11: Comp2513 Web/Application Servers

2002 Daniel L. Silver 11

Tomcat JSP ProcessingTomcat JSP Processing

Internet

Browser

Client

HTTP Server

Java Bean

http://eagle.acadiau.ca/store15/index.jsp

Class DB

Tomcat Java App.

Server

Pointer to internal .class filefor index.jsp

E-Comm DB

Store categoryor product data

../store15/index.jsp

Page 12: Comp2513 Web/Application Servers

2002 Daniel L. Silver 12

The E-Business ArchitectureThe E-Business Architecture

SupCM

SellCM

Partners, Suppliers

Customers, Distributors

CRM

ERP

PM

KM

Middleware

Employees Stakeholders

A new era of A new era of Cross-Functional Cross-Functional Integrated Integrated ApplicationsApplications

Page 13: Comp2513 Web/Application Servers

2002 Daniel L. Silver 13

Constructing the E-Business Constructing the E-Business ArchitectureArchitecture

A New Era of Cross-Functional Integrated A New Era of Cross-Functional Integrated ApplicationsApplications– CRM = Customer Relationship ManagementCRM = Customer Relationship Management– ERP = Enterprise Resource PlanningERP = Enterprise Resource Planning– SupCM = Supply Chain ManagementSupCM = Supply Chain Management– SellCM = Selling Chain ManagementSellCM = Selling Chain Management– PM = Procurement (Operational Resource) PM = Procurement (Operational Resource)

ManagementManagement– KM = Knowledge Management (DW/Analytics)KM = Knowledge Management (DW/Analytics)– Middleware = Integration ApplicationsMiddleware = Integration Applications

Page 14: Comp2513 Web/Application Servers

2002 Daniel L. Silver 14

The Need for More Powerful The Need for More Powerful MiddlewareMiddleware

More efficient use of server resourcesMore efficient use of server resources Flexibility - ever changing products, technology, Flexibility - ever changing products, technology,

business processbusiness process Multi-channel interfaces has forced separation of:Multi-channel interfaces has forced separation of:

– Customer (web) interface aspectCustomer (web) interface aspect– Enterprise (application) interface aspectsEnterprise (application) interface aspects

End-to-end transaction integrity requiredEnd-to-end transaction integrity required Security – a primary concernSecurity – a primary concern Integration – ability to integrate with other and Integration – ability to integrate with other and

often older computer systemsoften older computer systems

Page 15: Comp2513 Web/Application Servers

2002 Daniel L. Silver 15

Java has Risen to the ChallengeJava has Risen to the Challenge

Why Java?Why Java?– Object-orientedObject-oriented– Platform independentPlatform independent– Network awareNetwork aware– Multi-threaded (easy to develop applications Multi-threaded (easy to develop applications

that do two or more things at a time)that do two or more things at a time)– Relatively fast learning curveRelatively fast learning curve– Faster development timesFaster development times

Page 16: Comp2513 Web/Application Servers

2002 Daniel L. Silver 16

J2EEJ2EE

In 1999, Sun Microsystems announced a In 1999, Sun Microsystems announced a comprehesive Java based middleware comprehesive Java based middleware architecture and technolgy called Java 2 architecture and technolgy called Java 2 Enterprise Edition or J2EE:Enterprise Edition or J2EE:– Full server side Java standard development Full server side Java standard development

platformplatform– Solid backend for many wireless applicationsSolid backend for many wireless applications– Solid infrastructure with many commonly used Solid infrastructure with many commonly used

components (Java Beans … think objects)components (Java Beans … think objects)

Page 17: Comp2513 Web/Application Servers

2002 Daniel L. Silver 17

J2EEJ2EE J2EE provides:J2EE provides:

– EJB – Enterprse Java Beans, handle critical EJB – Enterprse Java Beans, handle critical tasks of E-commerce such as transactions and tasks of E-commerce such as transactions and DB accessDB access

– JSPs – Java Server Pages, brings flexibility to JSPs – Java Server Pages, brings flexibility to user interfacesuser interfaces

– Java Servlets provide link between user Java Servlets provide link between user interface and backend enterprise applicationsinterface and backend enterprise applications

– JDBC – Java Database Connectivity, standard JDBC – Java Database Connectivity, standard interface for access to relational DBinterface for access to relational DB

Page 18: Comp2513 Web/Application Servers

2002 Daniel L. Silver 18

Common Characteristics of Common Characteristics of Application ServersApplication Servers

Connectivity to various applications and DBs on Connectivity to various applications and DBs on various operating environments and hardwarevarious operating environments and hardware

Provides an integrated IDE for all aspectsProvides an integrated IDE for all aspects Support for reusable distributed components Support for reusable distributed components

(CORBA, COM, EJB)(CORBA, COM, EJB) Performance management (load balancing, Performance management (load balancing,

caching, monitoring)caching, monitoring) Robust and reliable software – redundancy, Robust and reliable software – redundancy,

backup/recoverybackup/recovery User-friendly administrative, diagnostic toolsUser-friendly administrative, diagnostic tools Strong security frameworkStrong security framework

Page 19: Comp2513 Web/Application Servers

2002 Daniel L. Silver 19

3-Tier Architectural of Modern 3-Tier Architectural of Modern Web ServersWeb Servers

Internet

Browser

DatabaseServer

Client 1

Server A

Server BBank

Server

URL

HTTPTCP/IP

Browser

Client 2 HTTPServer

App.Server

index.htmlprog1.cgi

ERP

prog2.class

Page 20: Comp2513 Web/Application Servers

2002 Daniel L. Silver 20

The Major Application The Major Application Server ProvidersServer Providers

BEA – WebLogic (7.0) - 24% of marketBEA – WebLogic (7.0) - 24% of market IBM – WebSphere (4.0) – 33%IBM – WebSphere (4.0) – 33% Oracle – Oracle(Ias (1.0) – 12%Oracle – Oracle(Ias (1.0) – 12% SUN – Sun ONE (was iPlanet) – 8%SUN – Sun ONE (was iPlanet) – 8% Macromedia – ColdFusion (MX)Macromedia – ColdFusion (MX)

Page 21: Comp2513 Web/Application Servers

2002 Daniel L. Silver 21

Comparison of Major Comparison of Major Application ServersApplication Servers

Refer to class handoutRefer to class handout BEA - WebLogic (7.0)BEA - WebLogic (7.0)

– The most widely used server on the market The most widely used server on the market – Very scalableVery scalable– Bridges cap between SUN Java J2EE and MS COMBridges cap between SUN Java J2EE and MS COM– Robust features, great security frameworkRobust features, great security framework– Support for wireless mobile clients (J2ME)Support for wireless mobile clients (J2ME)– Maintenance and support is managable Maintenance and support is managable – Number 1 with many commercial usersNumber 1 with many commercial users

Page 22: Comp2513 Web/Application Servers

2002 Daniel L. Silver 22

Comparison of Major Comparison of Major Application ServersApplication Servers

IBM – WebSphere (4.0)IBM – WebSphere (4.0)– Java technology based – full J2EE supportJava technology based – full J2EE support– Sophisticated integration capabilities to COM and Sophisticated integration capabilities to COM and

CORBA systemsCORBA systems– Scales wellScales well– Fits well with DB2 and other IBM E-Business productsFits well with DB2 and other IBM E-Business products– Support for wireless mobile clients (J2ME)Support for wireless mobile clients (J2ME)– Requires greater care and feedingRequires greater care and feeding– Excellent for large companiesExcellent for large companies

Page 23: Comp2513 Web/Application Servers

2002 Daniel L. Silver 23

Comparison of Major Comparison of Major Application ServersApplication Servers

Oracle – Oracle(Ias (1.0)Oracle – Oracle(Ias (1.0)– Claim to be the worlds leading wireless mobile Claim to be the worlds leading wireless mobile

application serverapplication server– J2EE and XML programming model that J2EE and XML programming model that

radically simplifies development, installation radically simplifies development, installation and managementand management

– Well situated for wireless web appsWell situated for wireless web apps– Good choice for medium to large companiesGood choice for medium to large companies

Page 24: Comp2513 Web/Application Servers

2002 Daniel L. Silver 24

Comparison of Major Comparison of Major Application ServersApplication Servers

SUN – Sun ONE (was iPlanet)SUN – Sun ONE (was iPlanet)– Excellent scaling and robustnessExcellent scaling and robustness– Automatic failover capabilitiesAutomatic failover capabilities– Integrate XML parser to facilitate B2B appsIntegrate XML parser to facilitate B2B apps– Version 6.5 promises new developer tools and Version 6.5 promises new developer tools and

resourcesresources– SUN has been the Java leader on the WebSUN has been the Java leader on the Web– Always worth consideringAlways worth considering

Page 25: Comp2513 Web/Application Servers

2002 Daniel L. Silver 25

Comparison of Major Comparison of Major Application ServersApplication Servers

Macromedia – ColdFusion (MX)Macromedia – ColdFusion (MX)– An easy-to-use web development environmentAn easy-to-use web development environment

» Kawa (discontinued)Kawa (discontinued)» Macromedia Flash MXMacromedia Flash MX» Dreamweaver MXDreamweaver MX

– Uses its own powerful server-side scripting languageUses its own powerful server-side scripting language– Has moved to the Java architectureHas moved to the Java architecture– Also will support .NET and J2EEAlso will support .NET and J2EE– Great for small to medium sized companiesGreat for small to medium sized companies

Page 26: Comp2513 Web/Application Servers

THE ENDTHE END

[email protected]@acadiau.ca

Page 27: Comp2513 Web/Application Servers

2002 Daniel L. Silver 27

The E-Business ArchitectureThe E-Business Architecture

SupCM

SellCM

Partners, Suppliers

Customers, Distributors

CRM

ERP

PM

KM

Middleware

Employees Stakeholders

Page 28: Comp2513 Web/Application Servers

2002 Daniel L. Silver 28

Constructing the E-Business Constructing the E-Business ArchitectureArchitecture

CRM = Customer Relationship CRM = Customer Relationship ManagementManagement– Marketing, Sales, ServiceMarketing, Sales, Service

ERP = Enterprise Resource PlanningERP = Enterprise Resource Planning– Forecasting and PlanningForecasting and Planning– Purchasing and Material ManagementPurchasing and Material Management– Inventory ManagementInventory Management– Finished Porduct distributionFinished Porduct distribution– Accounting and FinanceAccounting and Finance

Page 29: Comp2513 Web/Application Servers

2002 Daniel L. Silver 29

Constructing the E-Business Constructing the E-Business ArchitectureArchitecture

SupCM = Supply Chain ManagementSupCM = Supply Chain Management– Market demandMarket demand– Resource and capacity constraintsResource and capacity constraints– Real-time schedulingReal-time scheduling

SellCM = Selling Chain ManagementSellCM = Selling Chain Management– Product CustomizationProduct Customization– Pricing, Contract and Commission ManagementPricing, Contract and Commission Management– Quote and Proposal GenerationQuote and Proposal Generation– Promotions ManagementPromotions Management

Page 30: Comp2513 Web/Application Servers

2002 Daniel L. Silver 30

Constructing the E-Business Constructing the E-Business ArchitectureArchitecture

PM = Procurement ManagementPM = Procurement Management– Office Supplies, Business Travel, Entertainment, Office Supplies, Business Travel, Entertainment,

Service contracting, IT h/w, s/w and networkingService contracting, IT h/w, s/w and networking KM = Knowledge Management (DW/Analytics)KM = Knowledge Management (DW/Analytics)

– Data WarehousingData Warehousing– Business Analytics (data mining)Business Analytics (data mining)– Executive Info Systems, Decision Support Systems Executive Info Systems, Decision Support Systems

Middleware = Integration ApplicationsMiddleware = Integration Applications– e.g. SAP (ERP) to SAS (KM)e.g. SAP (ERP) to SAS (KM)