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
Comp2513Comp2513
Web/Application ServersWeb/Application Servers
Daniel L. Silver, Ph.D.Daniel L. Silver, Ph.D.
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
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
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
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?
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
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
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
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
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
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
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
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
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
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
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)
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
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
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
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)
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
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
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
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
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
THE ENDTHE END
[email protected]@acadiau.ca
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
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
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
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)