• No results found

Web Application Servers

N/A
N/A
Protected

Academic year: 2021

Share "Web Application Servers"

Copied!
15
0
0

Loading.... (view fulltext now)

Full text

(1)

Web Application Servers

Quan Lin

HUT, Telecommunications Software and Multimedia Laboratory

[email protected]

Abstract

This paper is the assignment for the course "Tik-111.590, Research Seminar on Digital Media Pervasive Computing ". The content of this paper is an overview of the technology of web application server. The history and development, current status, products and companies developing the products are introduced. Several technologies and their advantages and shortcoming are discussed. The future development is mentioned as well.

1 INTRODUCTION (CRITICLE QUESTIONS AND BRIEF ANLYSIS)

As the Internet and World Wide Web in particular, becomes a universal business and communications medium, organizations are using it to run a line of business applications. Today even the most conservative applications run many functions over the Web. As a result, a host of relatively new Web technologies are now mainstreaming, while older technologies are becoming Web enabled. Presented here are the latest technologies and standards used to develop applications for use over the Internet and/or the Web.

2 WHY WEB APPLICATION SERVERS?

The web browser has become the interface of choice for many companies, organizations and individuals to access information, databases and applications. They are migrating existing mainframe and client/server applications to this interface, and developing brand-new Intranet, Extranet and e-commerce applications with a Web interface.

2.1 History and development

In the early days of the Web, these were basically file servers that managed a large site and distributed static HTML-formatted content to browser clients over HTTP. Shortly thereafter, developers began to use Perl and other scripting languages to program Common Gateway Interface (CGI) scripts, which allowed servers to call up applications and data as needed. In response to CGI's problems with maintaining persistence and state information, other technologies were introduced, including JavaBeans, EJBs, Java servlets and server pages (JSPs), and Microsoft Active Server Pages (ASP).

(2)

Web and application server functionality began to converge into super-servers These products offer data and application integration, security, content management, transaction processing, search engines, user tracking, and administration alongside HTML generation and serving. With the growth of information portals and electronic business technologies, server load has increased, and a new era of specialization may begin again

Web server

A Web server is a program that, using the client/server model and the World Wide Web's Hypertext Transfer Protocol (HTTP), serves the files that form Web pages to Web users (whose computers contain HTTP clients that forward their requests). Every computer on the Internet that contains a Web site must have a Web server program. Two leading Web servers are Apache, the most widely-installed Web server, and Microsoft's Internet Information Server (IIS). Other Web servers include Novell's Web Server for users of its NetWare operating system and IBM's family of Lotus Domino servers, primarily for IBM's OS/390 and AS/400 customers.

Web servers often come as part of a larger package of Internet- and intranet-related programs for serving e-mail, downloading requests for File Transfer Protocol (FTP) files, and building and publishing Web pages.

Application server

An application server is a server program in a computer in a distributed network that provides the business logic for an application program. The application server is frequently viewed as part of a three-tier application, consisting of a graphical user interface (GUI) server, an application (business logic) server, and a database and transaction server. More descriptively, it can be viewed as dividing an application into:

A first-tier, front-end, Web browser-based graphical user interface, usually at a personal computer or workstation .

A middle-tier business logic application or set of applications, possibly on a local area network or intranet server .

A third-tier, back-end, database and transaction server, sometimes on a mainframe or large server .

Older, legacy application databases and transaction management applications are part of the back end or third tier. The application server is the middleman between browser-based front-ends and back-end databases and legacy systems.

In many usages, the application server combines or works with a Web (Hypertext Transfer Protocol) server and is called a Web application server. The Web browser supports an easy-to-create HTML-based front-end for the user. The Web server provides several different ways to forward a request to an application server and to forward back a modified or new Web page to the user. These approaches include the Common Gateway Interface (CGI), FastCGI, Microsoft's Active Server Page, and the Java Server Page. In some cases, the Web application servers also support request "brokering" interfaces such as CORBA Internet Inter-ORB Protocol (IIOP).

Web application server

(3)

database, Enterprise Resource Planning Systems, or other external data repositories to get access to the requested content.

Web application servers are an extremely useful extension of the basic web server concept. Instead of presenting fairly simple static pages or the results of database queries, a complex application can be made available for access across the network. Web Application Servers provide scalability and reliability, distribute components and transactions, and execute business processes. Many also communicate with back-end databases and legacy applications to provide caching and information integration. Web Application Servers create the foundation for building or expending your business in the Web.

2.2 Current status

From late 1997, a new class of enterprise application development tools was developed. These new tools feature advanced new technologies for creating and formatting content, distributing application elements, providing security, integrating legacy and mission-critical applications, and performing electronic commerce.

In March 1998, Sun Microsystems announced the Enterprise Java Beans 1.0 specification. Many of the companies developing products in the domains of database, transaction monitors, and CORBA, announced to implement the specification.

3 WHAT IS WEB APPLICATION SERVERS?

3.1 Multiple-Tier Application

With the rise of the Internet as a viable platform for business-oriented applications, the two-tier client/server architecture has been replaced with a multiple-tier architecture in which a middle tier acts as the interface between the client and server tiers. In this model, the business logic of the application is separated from the data management and presentation portions and is allowed to execute separately.

There are many benefits of this approach. By moving the business logic to a separate system, the developer can greatly simplify the deployment of the client portion of the application. This approach also allows the use of newer types of presentation devices such as Web browsers, palmtop computers, and other handheld devices.

(4)

Figure 1 In a three-tier model, the middle tier provides business services and system-level services to clients.

The middle-tier server plays a vital role in a three-tier application. It handles requests from clients, shielding them from the complexity involved in dealing with back-end office systems and databases. The middle-tier server might support a variety of clients, such as Web browsers, Java applications, and handheld devices. The clients handle the user interface. They do not query databases, execute business rules, or connect to legacy applications. They let the middle-tier servers do those jobs for them transparently.

Middle-tier servers provide business services to clients. For example, in an online shopping application, a middle-tier server might provide a variety of services such as catalog lookup, order entry, and credit verification.

Middle-tier servers also provide system-level services such as remote access to clients and back- end office systems, session and transaction management, security enforcement, and resource pooling (see Figure 1).

3.2 Stateless vs. Stateful System

Another key concept to understand in relation to Web application servers is the difference between stateless and stateful systems.

In a stateless system, each operation is self-contained and the sequence of operations is not critical. For example, Web servers and browsers are stateless. When a browser user clicks on a URL (such as http://www.hut.fi), the Web server receives the request and returns the HTML page that was asked for. Another user who enters http://www.hut.fi and clicks on the Technical Support link will get exactly the same result. This stateless structure provides for open access, ubiquity, and scalability as the Web server processes a continuous barrage of requests from hundreds or possibly thousands of clients.

In a stateful system, each operation is performed in the context of previous and subsequent operations. For example, the following sequence of operations will work: inserting an ATM card, entering your PIN, selecting an amount to withdraw, and completing the withdrawal. If you try to perform these operations in any other order, the transaction will fail. Back-end servers and database managers are stateful. Their stateful nature provides for robustness, security, and control over the complete transaction.

(5)

3.3 The Role of the Web Application Server

Web application servers fill the gap between stateless clients and stateful back-end servers. They provide the software framework and development tools necessary to connect HTTP requests from Web browsers to back-end applications and databases.

A Web application server, in conjunction with a Web server, provides the Web-based application deployment infrastructure that sends application input/output to Java clients. The main objective is to create interactive, multiple-tier applications.

3.4 The Open Application Server Model

To meet the needs of next-generation application servers, the industry has defined a new application server model called the Open Application Server or OAS (see Figure 2).

Figure 2 The Open Application Server model defines the components necessary for a next-generation application server environment

3.5 How do Web Application Servers Function?

As explained earlier, Web application servers provide a software framework to perform communications between the stateless HTTP browser and the stateful back-end application.

Before we look at an example of how Web application servers work, it is helpful to review the typical program communication methods used by Web application servers:

CGI (Common Gateway Interface). This is a stateless interface between Web servers

and client browsers. The Web browser/server must pass the state of the transaction each time it is called. For an example, take a look at the browser's URL when using CGI. CGI is most commonly used for scripts, but it can be used for binary calls as well. While CGI has been used extensively, it is slow, unreliable, and difficult to use for complex functions.

ASP (Active Server Pages). Originally developed by Microsoft, this technology is now

appearing on other platforms, including as Unix and NetWare. ASP allows dynamic HTML pages to be built on-the-fly by back-end programs. ASP is a popular way to connect applications to Web servers, but ASP by itself does not create stateful transactions. It is therefore not a complete solution, but must be coupled with other software to build a true Web application server.

JSP (Java Server Pages). This relatively new technology is similar to ASP, but it is

designed around the Java environment. JSP is a component technology that makes it easier to generate dynamic HTML Web pages using Java. With JSP, you insert specialized tags in an HTML page to embed a dynamic process such as a scripting process or a JavaBeans

(6)

process. JSP alone is not enough for a complete solution. It requires additional software to be a true Web application server.

Applets. Applets are downloadable Java executables that provide the ability to dynamically

extend the user's Web browser to create an end-to-end stateful connection. Although applets are widely used, they have been losing favor because of their bandwidth requirements, and because they are prone to virus and Trojan Horse issues.

Servlets. Servlets are executable programs that are launched by a Web server instead of

on a client browser. They allow a Web server to directly launch a back-end program in a Web application server. They are also used to coordinate the requests involved in generating dynamic Web pages. The advantages of servlets include easier sharing of code and applets between server and client applications, easy maintenance of state information on server systems, and convenient interface to server databases with database access routines on server. They also simplify access to other applications on the server and to the Java class library, including native libraries, through the Java servlet API.

ActiveX. These are Microsoft's binary controls based on COM, the object tracking system

that is the basis for most Microsoft software. COM is almost always used in Microsoft-based Web application servers. ActiveX controls are sometimes downloaded to the browser to create an end-to-end state for the transaction. Besides being proprietary (ActiveX controls don't work well with Netscape browsers or servers), they are prone to virus and Trojan Horse issues. In addition, the downloaded executables are fragile and difficult to manage.

CORBA (Common Object Request Broker Architecture). CORBA is a standards-based

method of connecting objects together in an object-based system. When a developer needs to deploy an object-based application in a production network, another class of technology is needed to keep track of those components. That technology is called an ORB or Object Request Broker. The job of the ORB is to act as the repository for the components that make up an application.

EJB (Enterprise Java Beans). EJB is an extension of the JavaBeans system to include

database connectivity and transaction controls. EJBs are reusable components that can be accessed by client programs. EJB provides a framework for developing and executing distributed applications that require system-level services such as transaction management, security, client connectivity, and database access. EJB technology provides these services, allowing you to focus on the business logic in your applications, not the system-level plumbing.

RMI (Remote Method Invocation) is a Java API through which one Java component can

communicate with another. IIOP (Internet Inter-ORB Protocol) is the TCP/IP-based transport protocol specified for CORBA communications. Together, these two technologies enable different components to request and receive services in a Java environment. Web application servers use RMI and IIOP for communication between components in a distributed application.

XML (Extensible Markup Language) and XSL (Extensible Stylesheet Language) are

platform- and application-independent languages through which Web application servers can share information with applications. XML uses predefined data types and tags to describe the structure and internal semantics of a Web document. An XML parser interprets the XML tags and present the data in a way that is meaningful to the requesting application. XSL uses tags to describe how the data in HTML pages should be presented to users. It requires an XSL processor to interpret the tags to produce the finished Web page. Both XML and XSL can interact with servlets to pass data between components.

(7)

3.6 How does a Web Application Server works?

The flow is divided into four basic steps.

1. The client sends a request to the Web server via HTTP. The request could be a database query, for example. The Web server identifies the request as addressing a Java servlet and uses its configuration data to pass the request on to the servlet runtime engine code. The appropriate servlet is invoked via HTTP.

2. The servlet understands which method or call it needs to make to obtain the information to satisfy the client request. The servlet calls function routines written as JavaBeans. In more transactional operations such as database queries, the servlet would call on an Enterprise JavaBean to conduct the query.

3. Using the business logic written into the EJB, a connection is made to the back-end database. Because we are using an EJB, the database transaction is persistent and stored in a local relational database to provide dynamic direct mapping to the remote database system.

4. When the query results are sent back to the Web application server, the Java servlet regains control and manages the generation of the response page which needs to be served back to the client that made the original request. To do that, an appropriate Java Server Page can be selected to help generate the dynamic content. The computed Web page containing the results of the query is then served back to the Web client via the HTTP server.

4 WEB APPLICATION SERVERS TECHNOLOGIES

There are several technologies are used to develop applications for Web servers: Static HTML Requests, Commom Gateway Interface(CGI), Enterprise Java Beans(EJBs), Servlets. I have mentioned the general idea of HTML, CGI, etc. In this part, Java Servlets, Enterprise Java Beans, is going to be discussed as the current technical solution in detail JavaBeans and Enterprise JavaBeans(EJB)

Enterprise JavaBeans (EJB) specification defines the EJB classes and the component. The specification shows a methodology for the separation of business logic and the technology of handling persistency, transaction, and other middleware-related service. EJB is developed to simplify the process of accessing enterprise data via the Web without having to code all of the middleware.

JavaBeans and Enterprise JavaBeans (EJB) can be included as part of existing

applications or combined together to form component-based applications. Most Java environments let users create new beans, import beans from other sources, and insert them into both applications and development tools.

While the generic "JavaBean" refers to a graphical client-side object, beans providing server-side capabilities are differentiated as EJBs. These beans handle back-office services like transactions, security, application integration, and data querying, and are "non-visual." EJBs can be either transient (session beans) or persistent (entity beans). Under EJB 1.0, only session beans were mandatory; EJB 1.1 now mandates both types.

(8)

related information will be stored in stateless session bean. Stateful session beans keep the client related information.

Entity beans are used for handling persistent data. The fields of entity beans are mapped to a data source.

Advantages

The key features of the EJB technology are:

? EJB is the server-side component architecture for the J2EE platform. EJB components are server-side components written entirely in the Java. User can concentrate on the business part.

? EJB components contain business logic only - no System-level programming

? System-level services such as transactions, security, Life-cycle, threading, persistence, are automatically managed for the EJB component by the EJB server

? EJB architecture is inherently transactional, distributed, portable, multi-tier, scalable and secure

? Components are declaratively customized. (Can customize: transactional behavior, security features, life-cycle, state management, persistence, etc.)

? EJB components are fully portable across any EJB server and any OS

How does it works?

The EJB specification defines a container model, a definition for each of the services that this container provides to an EJB, and the management capabilities of the container.

(9)

container, which can contain one or more EJB classes. These classes are identified by their home interface, which allows clients to creat, find and remove instances of an EJB. The home interface can be given a name for identification by using the deployment descriptor during the EJB development time or later on by using deployment tools.

EJBs must only be accessed via a proxy provided by the EJB container to be handled properly by the server. The container then can control the persistence, security, caching, and connection management. The EJB home and EJB Object interfaces, respectively the instances of these interfaces, facilitate these tasks. The server performs management tasks under the cover by mapping calls to these interfaces, which then call the EJB itself that controls the transactions and the database access.

Instance of the EJBHome interface allow clients to find EJBs. Session beans as well as entity beans have methods in the EJB Home interface which are able to creat an instance of an EJB Object in a EJB container. For each EJB class one EJBHome interface instance exist in an EJB Container.

Instance of the EJBObject interface control the access to the methods provided by an EJB component. The EJBObject class has the role of a proxy which handles the communication between the EJB and the client.

4.1 Java Serve let and JSP

Servlets are pieces of Java source code that add functionality to a web server in a manner similar to the way applets add functionality to a browser. Servlets are designed to support a request/response computing model that is commonly used in web servers. In a request/response model, a client sends a request message to a server and the server responds by sending back a reply message.

There are different possibilities for a Web browser to access servlets: - Servlet interface Method

- Java Server Pages(JSPs)

Servlets can be defined as server side Java classes which are platform and

protocol-independent and run in a Java enabled Web server to provide dynamic HTML content to clients. Servlets are just like applets, except that they provide server-side rather than client-side functionality. Unlike scripts and scripting languages--which reload and execute each time they are called--servlets load once and remain available for future invocations. Servlets can also be chained together, with each successive servlet processing output from its predecessors and the final result used to generate dynamic Web page content.

The basic process flow in Servlet takes the following steps: 1. The requests are sent by the client to server.

2. The server sends the request information to the servlet. 3. The servlet generates the response, which is passed to server. 4. The server sends the response back to the client.

The server has to initialize, start, and destroy the service methods and servlet instances. When servlets are requested for the first time, they can be loaded dynamically. Another possiblility is to configure the Web server in a way that defined servlets are loaded during initialization time of the Web server.

There are different possibilities for a Web browser to access servlets:

1. POST or GET method. Via HTML forms, user data is sent to the servlet.

(10)

this case the SERVLET tag in the HTML page is replaced by the output of the servlet’s service.

3. Hypertext links. A link invokes the service or doGet method of the servlet.

Figure 3 Servlet Requests

METHOD DESCRIPTION

init When a servlet is load for the first time, this method is called.

service This method is called each time a client makes a request and a response has to be generated. A ServletResponse and a ServletRequest object is passed to this method.

destroy This method has to be implemented to perform cleanup tasks. It is called whenever the Web server unloads the servlet.

getServletConfig In order to return the ServletContext or initialization parameters this method is needed.

getServletInfo This optional method returns defined information about the servlet.

doPost When a servlet method is called, it determines whether the call is a POST or a GET request. If it is a POST request, the doPost method is called.

doGet If it is a GET request, the doGet method is called.

(11)

? javax.servlet.http: This package contains classes and interface for the support of HTTP servlets.

? Javax.servlet: This package contains servlet classes and interface for protocols supporting the request/respons paradigm like SMTP and FTP.

The communication between the Web server and the servlet takes place via the servlet interface, which defines the methods described in the following table.

Java Server Pages (JSP)

Java Servlet Pages(JSPs) are a way to easily create servlets for programmers who are familiar with HTML. JSPs extend servlet technology to allow the creation of dynamic, platform independent Web pages that work with a variety of clients. JSPs are compiled at runtime into servlets, which then handle the application processing details. When JSP is involved for the first time, it is compiled to a servlet by the JSP compiler. After this action the JSP is treated like a servlet for the rest of its life cycle. The JSP is automatically recompiled whenever the Web Application Server detects changes. JSP separates page layout from the content, so that non-technical users can change page content without worrying about altering the underlying programming logic. Under JSP, Java works like a scripting language, but without most scripting languages' limited functionality.

(12)

5 WEB APPLICATION SERVERS MARKET

In this part, we will have an overview of world wild leader of Web application technology and general introduction of Apache, IBM WebSphere, Oracle Application Server.

5.1 Word wild leader

There are many companies and organizations implemented the Web server and Web Applications. Microsoft, Apache, BEA System Weblogic, IBM WebSphere, Oracle Application Server, iPlanet, etc.

5.2 Products Apache

Apache is a freely available Web server that is distributed under an "open source" license. The Apache httpd server

? is a powerful, flexible, HTTP/1.1 compliant web server

? implements the latest protocols, including HTTP/1.1 (RFC2616)

? is highly configurable and extensible with third-party modules

? can be customised by writing 'modules' using the Apache module API

? provides full source code and comes with an unrestrictive license

? runs on Windows NT/9x, Netware 5.x, OS/2, and most versions of Unix, as well as several other operating systems

? is actively being developed

? encourages user feedback through new ideas, bug reports and patches

Version 2.0 runs on most UNIX-based operating systems (such as Linux, Solaris, Digital UNIX, and AIX), on other UNIX/POSIX-derived systems (such as Rhapsody, BeOS, and BS2000/OSD), on AmigaOS, and on Windows 2000. According to the Netcraft (www.netcraft.com) Web server survey in February, 2001, 60% of all Web sites on the Internet are using Apache (62% including Apache derivatives), making Apache more widely used than all other Web servers combined.

WebSphere Application Server

IBM WebSphere comprises a set of products with the goal to help developers developing Web applications. IBM Products including WebSphere Application Server, WebSphere Studio, WebSphere Performance Pack, WebSphere Site analysis tool. WebSphere is Internet infrastructure software - known as middleware. It enables companies to develop, deploy and integrate next-generation business applications, such as those for business-to-business e-commerce, and supports business applications from simple Web publishing through enterprise-scale transaction processing.

The WebSphere Application Server provides tools to facilitate the management and deployment of Web applications. The components of the Java-based applications are usually Java servlets, Enterprise Java Beans or Java Server Pages. These applications can be installed

(13)

A prerequisite for the WebSphere Application Server is the installation of an HTTP Server which is responsible for the communication with the browsers. Those of the HTTP requests calling server-side applications are redirected to processed by WebSphere.

WebSphere Everyplace Suite (WES)

The IBM WebSphere Everyplace Suite (WES) is a comprehensive, integrated software platform for extending the reach of e-business applications, enterprise data, and Internet content into the realm of pervasive computing. WES is an extremely scalable IBM web application server. WES integrates a set of IBM products into one consistent product specially designed for a pervasive environment.

Oracle9iAS Wireless – formerly Oracle Portal-to-Go

Oracle Portal-to-Go provides wireless services to mobile devices. It ships as part of the Oracle iAS (internet Application Server) Wireless Edition product.

Portal-to-Go dynamically translates existing Web content into XML, and then parses out that XML content into the format required by the mobile device; such as WML for WAP compliant devices, or "tiny" HTML for Palm devices. Additional output mark-up language capabilities include HDML, TTML, Pager-text and VoxML (for IVR systems).

Oracle9iAS Wireless is a leading mobile middleware product that lets you rapidly extend

access to any existing application to any mobile device including Web-enabled phones, personal digital assistants, pagers and even ordinary telephones through voice recognition. It converts any Internet content to XML and transforms the XML to any markup language supported by any device (HTML, WML, HDML, VoiceXML, VoxML, SMS, etc.). Oracle9iAS Wireless' open architecture and use of XML technology ensures support of current and emerging standards and provides for location based services, messaging, m-commerce, and extensive personalization for users and devices.

Oracle9iAS Wireless contains :

? Content Adapters - Transforms any content to independent XML

? Content Transformers - Transforms XML to device-specific markup language

? Service Designer - Specifies how web services are designed and managed

? Personalized Portal - Allows users to personalize services they access

? Request Manager - Recognizes user’s device and services request

iPlanet

IPlanet Application /Server 6.0

iPlanet Application Server 6.0, is a standards-based application server that serves as the foundation of iPlanet's e-business platform, which includes e-commerce and portal

components. The application server is a solid and complete solution, and is well-suited for medium to large organizations seeking a J2EE-compliant product that offers a variety of prebuilt applications.

IPlanet Application Server offers many capabilities to enhance performance, and it excels at thread and database connection pooling. The product supports multiprocessing and several

(14)

load-balancing schemes. For reliability, it offers solid session management and fault-tolerance capabilities. Built-in integration with IBM's TXSeries for transaction processing and MQSeries for message queuing enable fail-safe data manipulation and updates. The product's monitoring and logging services make observing and measuring system operation easy.

IPlanet Application Server supports multiple development environments. The product includes iPlanet Application Builder, a Java-based development environment, to facilitate the creation of data-driven applications. IPlanet also includes Forte for Java Community Edition, another Java-based IDE. Finally, the product can seamlessly integrate with other development environments, such as WebGain, through proprietary product APIs.

The application server can package and deploy applications across complex, multitier,

multienvironment infrastructures. And it offers a native management console, though it does not provide adequate analysis of server and application performance and usage. In addition, iPlanet Application Server integrates with third-party management tools through SNMP.

BEA system

The BEA family of market-leading application servers includes BEA WebLogic Server™ , BEA WebLogic Enterprise™, BEA WebLogic Express™ and BEA Tuxedo™ . The award-winning BEA WebLogic Server, based on an implementation of the Java 2 Enterprise Edition (J2EE) specification, powers many of today's most sophisticated e-business applications. By leveraging Java 2 Enterprise Edition (J2EE) standards, robust CORBA distributed object technology, and connectivity to platforms from mainframes to wireless devices, applications, and data, BEA WebLogic Enterprise enables you to launch e-business systems quickly. BEA WebLogic Express™ delivers a scalable platform for serving dynamic content and data to web and wireless applications.

6 PROBLEMS

Although JavaBeans are theoretically platform-independent, in reality this has been difficult to achieve. Beans may require a particular version of Java, JVM, or compiler, and they may also omit event models, classes, or other expected features. JavaBean containers created in one environment may not work with another. Worst of all, some beans do not perform correctly unless they are natively compiled, thus destroying platform independence altogether.

7 NEAR FUTURE

As far as IBM is concerned, future plans for WebSphere include adding real-time auto-translation, so Web site text written in English will be automatically translated on-the-fly into German, Japanese, or whatever language the Web site visitor understands. WebSphere will also soon support Wireless Markup Language (WML) to make e-business transactions accessible via next-generation cell phones, PDAs, and other wireless devices.

We can see the next step in the evolution of server technology id Smart Server that can interactive with Web site visitors in a conversational manner and apply reasoning to help solve problems. The future process of interactive service is that an expert will be in charge when the visitor meets problems. Many people will prefer to interact with a Smart Site rather than a telephone support person. The site is likely to be more helpful and certain to be available than

(15)

8 CONCLUSION

After all, Web Application Servers solve the problems in first-generation Web applications by adding functionality, performance, scalability, flexibility and robustness. The usage of this technology can dramatically reduce Web application development time. Web Application Servers have become interesting options for building powerful, flexible, and more complex three-tier applications. As long as the development of EJBs, more and more applications will be developed to realize one and another people’s dreams.

9 REFERENCE

Hansmann, Uwe, 2001, Pervasive computing handbook. Berlin Springer, 409 p.

" Apache Server Frequently Asked Questions." Apache HTTP Server Version 1.3. The

Apache Software Foundation, © 1999-2001,

< http://httpd.apache.org/docs/misc/FAQ.html#what>.

" BEA application servers overview" BEA e-business platform. BEA Systems Inc, © 1999-2001,

< http://www.bea.com/products/index.shtml>.

" Oracle9iAS Wireless." . Oracle Network Technology, Oracle Corporation, © 2001,

< http://technet.oracle.com/products/iaswe/content.html >.

MageLang Institute. " Fundamentals of Java Servlets." Java developer connection. Sun

Microsystems, Inc, © 1995-2001,

<http://developer.java.sun.com/developer/onlineTraining/Servlets/Fundamentals/index.html >.

" EJBTM Technology Backgrounder" Enterprise JavaBean technology. Sun

Microsystems,Inc. ©1995-2001, <http://java.sun.com/products/ejb/background.html>. " JavaServer PagesTM." The source for Java technology. Sun Microsystems, Inc, © 1995-2001, < http://java.sun.com/products/jsp/>.

MageLang Institute. " Fundamentals of Java Servlets." Java developer connection. Sun

Microsystems, Inc, © 1995-2001,

<http://developer.java.sun.com/developer/onlineTraining/Servlets/Fundamentals/index.html >.

" WebSphere for Newcomers." IBM WebSphere Application Server . IBM Corporation , © 1994-2001,

References

Related documents

Return to the creek and hike through a terra firma forest for about 30 minutes until we arrive at the second parrot clay lick where, if the weather conditions permit, we will be

major would be supported by a smaller cluster of required courses (possibly one 

Students who earned their first baccalaureate degree from another licensed institution of higher education must complete at least thirty (30) credit hours at Abu Dhabi University

Behavioural biology, feeding habits and ecology of three species of maize stemborers: Eldana saccharina (Lepidoptera: Pyralidae), Sesamia calamistis and Busseola fusca

The background investigation consists of an investigation conducted by the Criminal Investigations Division of the Bethlehem Police Department. Applicants will be questioned

Keywords: primary education, compulsory schooling, school settings, inclusive education, migration, linguistic diversity, curriculum, school structure, digital technology, virtual

Unfortunately, since failPicture() is a public method in CameraLauncher , which is already binded to WebView, the method is accessible to the JavaScript code within We- bView, from

Nowadays, natural products are preferred because of their bio‐ degradability in the environment [23] (Figure 1). As an alternative to the conventional meth‐ ods, different