310 likes | 456 Views
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
E N D
Comp2513Web/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 Daniel L. Silver
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 Daniel L. Silver
Evolution on the Web App. Servers Processes Functionality Web-enabled applicatons Transactions Interactivity CGI Servers Dynamic web pages Publishing HTTP Servers Static web pages Time or Maturity Daniel L. Silver
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? Daniel L. Silver
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 Daniel L. Silver
Apache HTML Processing Client http://eagle.acadiau.ca/store15/index.html Browser HTTP admin Apache HTTP Server Internet http/https ../store15/index.html Daniel L. Silver
Apache CGI Processing Client http://eagle.acadiau.ca/store15/cgi-bin/Hello.cgi Browser HTTP admin Apache HTTP Server Internet http/https mod.CGI ../store15/cgi-bin/Hello.cgi Unix Op. sys. Daniel L. Silver
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: • 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
Tomcat Java Servlet Processing http://eagle.acadiau.ca/store15/servlet/FirstServlet Client Tomcat admin Browser HTTP Server Tomcat Java App. Server Internet Java Bean FirstServlet.class Daniel L. Silver
Tomcat JSP Processing http://eagle.acadiau.ca/store15/index.jsp Client E-Comm DB Browser Tomcat Java App. Server HTTP Server Store category or product data Internet Class DB Java Bean ../store15/index.jsp Pointer to internal .class file for index.jsp Daniel L. Silver
The E-Business Architecture Partners, Suppliers SupCM PM KM ERP Employees Stakeholders Middleware A new era of Cross-Functional Integrated Applications SellCM CRM Customers, Distributors Daniel L. Silver
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 Daniel L. Silver
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 Daniel L. Silver
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 Daniel L. Silver
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) Daniel L. Silver
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 Daniel L. Silver
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 Daniel L. Silver
3-Tier Architectural of Modern Web Servers ERP Client 1 Browser HTTP TCP/IP Server A HTTP Server App. Server Database Server Internet Client 2 Browser prog2.class URL index.html prog1.cgi Server B Bank Server Daniel L. Silver
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) Daniel L. Silver
Comparison of Major Application Servers • Refer to class handout • BEA - WebLogic (7.0) • 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
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 Daniel L. Silver
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 Daniel L. Silver
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 Daniel L. Silver
Comparison of Major Application Servers • Macromedia – ColdFusion (MX) • An easy-to-use web development environment • Kawa (discontinued) • Macromedia Flash MX • Dreamweaver MX • 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
The E-Business Architecture Partners, Suppliers SupCM PM KM ERP Employees Stakeholders Middleware SellCM CRM Customers, Distributors Daniel L. Silver
Constructing the E-Business Architecture • CRM = Customer Relationship Management • Marketing, Sales, Service • ERP = Enterprise Resource Planning • Forecasting and Planning • Purchasing and Material Management • Inventory Management • Finished Porduct distribution • Accounting and Finance Daniel L. Silver
Constructing the E-Business Architecture • SupCM = Supply Chain Management • Market demand • Resource and capacity constraints • Real-time scheduling • SellCM = Selling Chain Management • Product Customization • Pricing, Contract and Commission Management • Quote and Proposal Generation • Promotions Management Daniel L. Silver
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) Daniel L. Silver