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 2002 Daniel L. Silver 2 Outline The Apache HTTP server Java application servers The need for more powerful middleware J2EE A comparision of the leading application servers on the market 2002 Daniel L. Silver 3 Evolution on the Web Processes Functionality Transactions App. Servers Web-enabled applicatons Interactivity CGI Servers Dynamic web pages Publishing HTTP Servers Static web pages Time or Maturity 2002 Daniel L. Silver 4 The Apache HTTP Server What is unique about the development of Apache? See www.apache.org – What other software system shares this characteristic? First created in 1995 by Rob McCool, NCSA Survey says: 63% of the HTTP server market Available for Unix, Linux, Windows (NT, 98) Homework: Where did it get its name? 2002 Daniel L. Silver 5 The Apache HTTP Server Architecture: – Modular in nature – Promotes slim and simple configurations – Modules can be compiled and loaded as needed such as » Core - core apache features – required! » mod_access, mod_auth - administration of host and user group access » mod_action, mod_cgi - Action on requested CGI script files » mod_asis - “as is” delivery of certain file types (e.g. *.txt) » mod-alias - Access to directories not in the apache root » mod_usretrack -User tracking via cookies 2002 Daniel L. Silver 6 Apache HTML Processing Client http://eagle.acadiau.ca/store15/index.html HTTP admin Browser Internet Apache HTTP Server http/https ../store15/index.html 2002 Daniel L. Silver 7 Apache CGI Processing Client http://eagle.acadiau.ca/store15/cgi-bin/Hello.cgi HTTP admin Browser Internet http/https Apache HTTP Server mod.CGI ../store15/cgi-bin/Hello.cgi 2002 Daniel L. Silver Unix Op. sys. 8 Java Application Servers Application servers were created originally to field multiple simultaneous CGI requests, the divide and conquer approach Java servlets were introduced by Sun as a method of providing the benefits of server-side processing while taking advantage of many great Java characteristics: – – – – – 2002 Developers new the langauge Simple to understand There were lost of objects and methods already written Code was portable to many different servers (JVM) Faster than CGIs Daniel L. Silver 9 Tomcat Java Servlet Processing http://eagle.acadiau.ca/store15/servlet/FirstServlet Client Tomcat admin Browser Internet HTTP Server Tomcat Java App. Server Java Bean FirstServlet.class 2002 Daniel L. Silver 10 Tomcat JSP Processing Client http://eagle.acadiau.ca/store15/index.jsp E-Comm DB Browser Internet Tomcat Java App. Server HTTP Server Class DB ../store15/index.jsp 2002 Store category or product data Java Bean Pointer to internal .class file for index.jsp Daniel L. Silver 11 The E-Business Architecture Partners, Suppliers PM SupCM Employees KM ERP Stakeholders Middleware A new era of Cross-Functional Integrated Applications SellCM CRM Customers, Distributors 2002 Daniel L. Silver 12 Constructing the E-Business Architecture A New Era of Cross-Functional Integrated Applications – – – – – CRM = Customer Relationship Management ERP = Enterprise Resource Planning SupCM = Supply Chain Management SellCM = Selling Chain Management PM = Procurement (Operational Resource) Management – KM = Knowledge Management (DW/Analytics) – Middleware = Integration Applications 2002 Daniel L. Silver 13 The Need for More Powerful Middleware More efficient use of server resources Flexibility - ever changing products, technology, business process Multi-channel interfaces has forced separation of: – Customer (web) interface aspect – Enterprise (application) interface aspects End-to-end transaction integrity required Security – a primary concern Integration – ability to integrate with other and often older computer systems 2002 Daniel L. Silver 14 Java has Risen to the Challenge Why Java? – – – – Object-oriented Platform independent Network aware Multi-threaded (easy to develop applications that do two or more things at a time) – Relatively fast learning curve – Faster development times 2002 Daniel L. Silver 15 J2EE In 1999, Sun Microsystems announced a comprehesive Java based middleware architecture and technolgy called Java 2 Enterprise Edition or J2EE: – Full server side Java standard development platform – Solid backend for many wireless applications – Solid infrastructure with many commonly used components (Java Beans … think objects) 2002 Daniel L. Silver 16 J2EE J2EE provides: – EJB – Enterprse Java Beans, handle critical tasks of E-commerce such as transactions and DB access – JSPs – Java Server Pages, brings flexibility to user interfaces – Java Servlets provide link between user interface and backend enterprise applications – JDBC – Java Database Connectivity, standard interface for access to relational DB 2002 Daniel L. Silver 17 Common Characteristics of Application Servers Connectivity to various applications and DBs on various operating environments and hardware Provides an integrated IDE for all aspects Support for reusable distributed components (CORBA, COM, EJB) Performance management (load balancing, caching, monitoring) Robust and reliable software – redundancy, backup/recovery User-friendly administrative, diagnostic tools Strong security framework 2002 Daniel L. Silver 18 3-Tier Architectural of Modern Web Servers ERP Client 1 Browser Client 2 HTTP TCP/IP Server A Internet HTTP Server Browser Server B 2002 App. Server Database Server URL index.html prog2.class prog1.cgi Bank Server Daniel L. Silver 19 The Major Application Server Providers BEA – WebLogic (7.0) - 24% of market IBM – WebSphere (4.0) – 33% Oracle – Oracle(Ias (1.0) – 12% SUN – Sun ONE (was iPlanet) – 8% Macromedia – ColdFusion (MX) 2002 Daniel L. Silver 20 Comparison of Major Application Servers Refer to class handout BEA - WebLogic (7.0) – – – – – – – 2002 The most widely used server on the market Very scalable Bridges cap between SUN Java J2EE and MS COM Robust features, great security framework Support for wireless mobile clients (J2ME) Maintenance and support is managable Number 1 with many commercial users Daniel L. Silver 21 Comparison of Major Application Servers IBM – WebSphere (4.0) – Java technology based – full J2EE support – Sophisticated integration capabilities to COM and CORBA systems – Scales well – Fits well with DB2 and other IBM E-Business products – Support for wireless mobile clients (J2ME) – Requires greater care and feeding – Excellent for large companies 2002 Daniel L. Silver 22 Comparison of Major Application Servers Oracle – Oracle(Ias (1.0) – Claim to be the worlds leading wireless mobile application server – J2EE and XML programming model that radically simplifies development, installation and management – Well situated for wireless web apps – Good choice for medium to large companies 2002 Daniel L. Silver 23 Comparison of Major Application Servers SUN – Sun ONE (was iPlanet) – – – – Excellent scaling and robustness Automatic failover capabilities Integrate XML parser to facilitate B2B apps Version 6.5 promises new developer tools and resources – SUN has been the Java leader on the Web – Always worth considering 2002 Daniel L. Silver 24 Comparison of Major Application Servers Macromedia – ColdFusion (MX) – An easy-to-use web development environment » Kawa (discontinued) » Macromedia Flash MX » Dreamweaver MX – – – – 2002 Uses its own powerful server-side scripting language Has moved to the Java architecture Also will support .NET and J2EE Great for small to medium sized companies Daniel L. Silver 25 THE END danny.silver@acadiau.ca The E-Business Architecture Partners, Suppliers PM SupCM Employees KM ERP Stakeholders Middleware SellCM CRM Customers, Distributors 2002 Daniel L. Silver 27 Constructing the E-Business Architecture CRM = Customer Relationship Management – Marketing, Sales, Service ERP = Enterprise Resource Planning – – – – – 2002 Forecasting and Planning Purchasing and Material Management Inventory Management Finished Porduct distribution Accounting and Finance Daniel L. Silver 28 Constructing the E-Business Architecture SupCM = Supply Chain Management – Market demand – Resource and capacity constraints – Real-time scheduling SellCM = Selling Chain Management – – – – 2002 Product Customization Pricing, Contract and Commission Management Quote and Proposal Generation Promotions Management Daniel L. Silver 29 Constructing the E-Business Architecture PM = Procurement Management – Office Supplies, Business Travel, Entertainment, Service contracting, IT h/w, s/w and networking KM = Knowledge Management (DW/Analytics) – Data Warehousing – Business Analytics (data mining) – Executive Info Systems, Decision Support Systems Middleware = Integration Applications – e.g. SAP (ERP) to SAS (KM) 2002 Daniel L. Silver 30