CHAP2 by Amruthavalli1


									Dynamic Web Agent                                                              Literature Survey


                              LITERATURE SURVEY


2.1.1. JAVA

Initially the language was called as “oak” but it was renamed as “java” in 1995.The primary
motivation of this language was the need for a platform-independent (i.e. architecture neutral)
language that could be used to create software to be embedded in various consumer electronic
    Java is a programmer’s language.
    Java is cohesive and consistent.
    Except for those constraint imposed by the Internet environment.
    Java gives the programmer full control.
    Finally Java is to Internet Programming where c was to System Programming.

Importance of Java to the Internet

Java has had a profound effect on the Internet. This is because; java expands the Universe of
objects that can move about freely in Cyberspace. In a network, two categories of objects are
transmitted between the server and the personal computer. They are passive information and
Dynamic active programs in the areas of Security and probability. But Java addresses these
concerns and by doing so, has opened the door to an exciting new form of program called the

Applications and Applets

An application is a program that runs on our Computer under the operating system of that
computer. It is more or less like one creating using C or C++. Java’s ability to create Applets
makes it important. An Applet I san application, designed to be transmitted over the Internet and

K.E.C/IT/2010-11                                                                               7
Dynamic Web Agent                                                               Literature Survey

executed by a Java-compatible web browser. An applet is actually a tiny Java program,
dynamically downloaded across the network, just like an image. But the difference is, it is an
intelligent program, not just a media file. It can be react to the user input and dynamically

Java Architecture

Java architecture provides a portable, robust, high performing environment for development.
Java provides portability by compiling the byte codes for the Java Virtual Machine, which is then
interpreted on each platform by the run-time environment. Java is a dynamic system, able to load
code when needed from a machine in the same room or across the planet.

Compilation of code

When you compile the code, the Java compiler creates machine code (called byte code) for a
hypothetical machine called Java Virtual Machine (JVM). The JVM is supposed t executed the
byte code. The JVM is created for the overcoming the issue of probability. The code is written
and compiled for one machine and interpreted on all machines .This machine is called Java
Virtual Machine.

                                               Java Byte               interpreter
   Source                                         code
                          Macintosh                                     Java MAC
     code                                       Platform
                           compiler                                    interpreter
                                                                      Java SPARC


                      Fig 2.1: Compiling and interpreting java source code.

K.E.C/IT/2010-11                                                                               8
Dynamic Web Agent                                                                 Literature Survey

During run-time the Java interpreter tricks the byte code file into thinking that it is running on a
Java Virtual Machine. In reality this could be an Intel Pentium windows 95 or Sun SPARC
station running Solaris or Apple Macintosh running system and all could receive code from any
computer through internet and run the Applets.

The following are the features of JAVA:

   Simple:
Java was designed to be easy for the Professional programmer to learn and to use effectively. If
you are an experienced C++ Programmer learning Java will oriented features of C++ . Most of
the confusing concepts from C++ are either left out of Java or implemented in a cleaner, more
approachable manner. In Java there are a small number of clearly defined ways to accomplish a
given task.
   Object oriented:
Java was not designed to be source-code compatible with any other language. This allowed the
Java team the freedom to design with a blank state. One outcome of this was a clean usable,
pragmatic approach to objects. The object model in Java is simple and easy to extend, while
simple types, such as integers, are kept as high-performance non-objects.

   Robust:
The multi-platform environment of the web places extraordinary demands on a program, because
the program must execute reliably in a variety of systems. The ability to create robust programs
was given a high priority in the design of Java. Java is strictly typed language; it checks your
code at compile time and runtime.
Java virtually eliminates the problems of memory management and deal location, which is
completely automatic. In a well-written Java program, all run-time errors can and should be
managed by your program.


Java Server Pages or JSP for short is Sun's solution for developing dynamic web sites. JSP
provide excellent server side scripting support for creating database driven web applications. JSP
enable the developers to directly insert java code into jsp file, this makes the development
process very simple and its maintenance also becomes very easy. JSP pages are efficient, it

K.E.C/IT/2010-11                                                                                  9
Dynamic Web Agent                                                               Literature Survey

loads into the web servers’ memory on receiving the request very first time and the subsequent
calls are served within a very short period of time.

In today's environment most web sites servers dynamic pages based on user request. Database is
very convenient way to store the data of users and other things. JDBC provide excellent database
connectivity in heterogeneous database environment. Using JSP and JDBC is very easy to
develop database driven web application.

Servlets are powerful and sometimes they are a bit cumbersome when it comes to generating
complex HTML. Most servlets contain a little code that handles application logic and a lot more
code that handles output formatting. This can make it difficult to separate and reuse portions of
the code when a different output format is needed. For these reasons, web application developers
turn towards JSP as their preferred servlet environment.

Java is known for its characteristic of "write once, run anywhere." JSP pages are platform
independent. You can port your .jsp pages to any platform.

Evolution of Web Applications

Over the last few years, web server applications have evolved from static to dynamic
applications. This evolution became necessary due to some deficiencies in earlier web site
design. For example, to put more of business processes on the web, whether in business-to-
consumer (B2C) or business-to-business (B2B) markets, conventional web site design
technologies are not enough. The main issues, every developer faces when developing web
applications, are:

1. Scalability - a successful site will have more users and as the number of users is fastly
increasing, the web applications have to scale correspondingly.

2. Integration of data and business logic - the web is just another way to conduct business, and
so it should be able to use the same middle-tier and data-access code.

3. Manageability - web sites just keep getting bigger and we need some viable mechanism to
manage the ever-increasing content and its interaction with business systems.

4. Personalization - adding a personal touch to the web page becomes an essential factor to keep

K.E.C/IT/2010-11                                                                              10
Dynamic Web Agent                                                                Literature Survey

our customer coming back again. Knowing their preferences, allowing them to configure the
information they view, remembering their past transactions or frequent search keywords are all
important in providing feedback and interaction from what is otherwise a fairly one-sided

Apart from these general needs for a business-oriented web site, the necessity for new a
technology to create robust, dynamic and compact server-side web applications has been
realized. The main characteristics of today's dynamic web server applications are as follows:

1. Serve HTML and XML, and stream data to the web client

2. Separate presentation, logic and data

3. Interface to databases, other Java applications, CORBA, directory and mail services

4. Make use of application server middleware to provide transactional support.

5. Track client sessions

The Components of JSPs

JSP syntax is almost similar to XML syntax. The following general rules are applicable to all
JSP tags.

    Tags have both a start tag with optional attributes, an optional body, and a matching end tag
or they have an empty tag possibly with attributes.
    Attribute values in the tag always appear quoted. The special strings ' and " can be
used if quotes are a part of the attribute value itself.

Any whitespace within the body text of a document is not significant, but is preserved, which
means that any whitespace in the JSP being translated is read and preserved during translation
into a servlet.

The character \ can be used as an escape character in a tag, for instance, to use the % character,
\% can be used.

JavaServer Pages are text files that combine standard HTML and new scripting tags. JSPs look
like HTML, but they get compiled into Java servlets the first time they are invoked. The resulting

K.E.C/IT/2010-11                                                                                11
Dynamic Web Agent                                                                Literature Survey

servlet is a combination of HTML from the JSP file and embedded dynamic content specified by
the new tags. Everything in a JSP page can be divided into two categories:

1. Elements that are processed on the server

2. Template data or everything other than elements, that the engine processing the JSP engines.

Element data or that part of the JSP which is processed on the server, can be classified into the
following categories:

   Directives

JSP directives serve as messages to the JSP container from the JSP. They are used to set global
values such as class declaration, methods to be implemented, output content type, etc. They do
not produce any output to the client. All directives have scope of the entire JSP file. That is, a
directive affects the whole JSP file, and only that JSP file. Directives are characterized by the @
character within the tag. The three directives are page, include and taglib.

   Scripting elements

Scripting elements are used to include scripting code (Java code) within the JSP. They allow
declaring variables and methods include arbitrary scripting code and evaluate an expression. The
three types of scripting element are: Declaration, Scriptlets and Expressions.

A declaration is a block of Java code in a JSP that is used to define class-wide variables and
methods in the generated class file. Declarations are initialized when the JSP page is initialized
and have class scope. Anything defined in a declaration is available throughout the JSP, to other
declarations, expressions or code.

A scriptlet consists of one or more valid Java statements. A scriptlet is a block of Java code that
is executed at request-processing time. A scriptlet is enclosed between "<%" and "%>". What the
scriptlet actually does depends on the code, and it can produce output into the output stream to
the client. Multiple scriptlets are combined in the compiled class in the order in which they
appear in the JSP. Scriptlets like any other Java code block or method, can modify objects inside
them as a result of method invocations.

An expression is a shorthand notation for a scriptlet that outputs a value in the response stream
K.E.C/IT/2010-11                                                                                12
Dynamic Web Agent                                                                 Literature Survey

back to the client. When the expression is evaluated, the result is converted to a string and
displayed, An expression is enclosed within "<%=" and "%>". If any part of expression is an
object, the conversion is done using the toString() method of the object.

   Standard actions

Standard actions are specific tags that affect the runtime behavior of the JSP and affect the
response sent back to the client. The JSP specification lists some standard action types to be
provided by all containers, irrespective of the implementation. Standard actions provide page
authors with some basic functionality to exploit; the vendor is free to provide other actions to
enhance behavior.

How JSP and JSP Container function

A JSP page is executed in a JSP container or a JSP engine, which is installed in a web server or
in a application server. When a client asks for a JSP page the engine wraps up the request and
delivers it to the JSP page along with a response object. The JSP page processes the request and
modifies the response object to incorporate the communication with the client. The container or
the engine, on getting the response, wraps up the responses from the JSP page and delivers it to
the client. The underlying layer for a JSP is actually a servlet implementation. The abstractions
of the request and response are the same as the ServletRequest and ServletResponse respectively.
If the protocol used is HTTP, then the corresponding objects are HttpServletRequest and

The first time the engine intercepts a request for a JSP, it compiles this translation unit (the JSP
page and other dependent files) into a class file that implements the servlet protocol. If the
dependent files are other JSPs they are compiled into their own classes. The servlet class
generated at the end of the translation process must extend a superclass that is either

1. specified by the JSP author through the use of the extends attribute in the page directive or

2. is a JSP container specific implementation class that implements javax.servlet.jsp.JspPage
interface and provides some basic page specific behavior.

K.E.C/IT/2010-11                                                                                   13
Dynamic Web Agent                                                                 Literature Survey

Since most JSP pages use HTTP, their implementation classes must actually implement the
javax.servlet.jsp.HttpJspPage interface, which is a sub interface of javax.servlet.jsp.JspPage.

The javax.servlet.jsp.JspPage interface contains two methods:

1. public void jspInit() - This method is invoked when the JSP is initialized and the page authors
are free to provide initialization of the JSP by implementing this method in their JSPs.
2. public void jspDestroy() - This method is invoked when the JSP is about to be destroyed by
the container. Similar to above, page authors can provide their own implementation.

The javax.servlet.jsp.HttpJspPage interface contains one method:

public void _jspService(HttpServletRequest request, HttpServletResponse response) throws
ServletException, IOException

This method generated by the JSP container is invoked, every time a request comes to the JSP.
The request is processed and the JSP generates appropriate response. This response is taken by
the container and passed back to the client.

JSP Architecture

There are two basic ways of using the JSP technology. They are the client/server (page-centric)
2-tier approach and the N-tier approach (dispatcher).

1.   The Page-Centric Approach

Applications built using a client-server (2-tier) approach consist of one or more application
programs running on client machines and connecting to a server-based application to work. With
the arrival of Servlets technology, 2-tier applications could also be developed using Java
programming language. This model allows JSPs or Servlets direct access to some resource such
as database or legacy application to service a client's request. The JSP page is where the
incoming request is intercepted, processed and the response sent back to the client. JSPs differ
from Servlets in this scenario by providing clean code, separating code from the content by
placing data access in EJBs. Even though this model makes application development easier, it

K.E.C/IT/2010-11                                                                                  14
Dynamic Web Agent                                                                   Literature Survey

does not scale up well for a large number of simultaneous clients as it entails a significant
amount of request processing to be performed and each request must establish or share a
potentially scarce/expensive connection to the resource in question.

Page-view - This basic architecture involves direct request invocations to a server page with
embedded Java code, and markup tags which dynamically generate output for substitution within
the HTML. This approach has been blessed a number of benefits. It is very straightforward and is
a low-overhead approach from a development perspective. All the Java code may be embedded
within the HTML, so changes are confined to a very limited area, reducing complexity

Page-view with bean - This pattern is used when the above architecture becomes too cluttered
with business-related code and data access code. The Java code represents the business logic and
simple data storage implementation in the previous model moves from the JSP to the JavaBean

2.    The Dispatcher Approach

In this approach, a Servlet or JSP acts as a mediator or controller, delegating requests to JSP
pages and JavaBeans. There are three different architectures. They are mediator-view, mediator-
composite view and service to workers.

In an N-tier application, the server side of the architecture is broken up into multiple tiers. In this
case, the application is composed of multiple tiers, where the middle tier, the JSP, interacts with
the back end resources via another object or EJBs component. The Enterprise JavaBeans server
and the EJB provide managed access to resources, support transactions and access to underlying
security mechanisms, thus addressing the resource sharing and performance issues of the 2-tier

The first step in N-tiered application design should be identifying the correct objects and their

interaction and the second step is identifying the JSPs or Servlets. These are divided into two

K.E.C/IT/2010-11                                                                                    15
Dynamic Web Agent                                                                Literature Survey

Presentation JSPs or Servlets generate HTML or XML with their main purpose in life being
presentation of dynamic content. They contain only presentation and rendering logic.

These categories resemble to the Modal-View design pattern, where the front-end component is
the model and the presentation component the view. In this approach, JSPs are used to generate
the presentation layer and either JSPs or Servlets to perform process-intensive tasks.

Benefits of JSP

The JSP technology is blessed with a number of exciting benefits, which are chronicled as

1. The JSP technology is platform independent, in its dynamic web pages, its web servers, and its
underlying server components. That is, JSP pages perform perfectly without any hassle on any
platform, run on any web server, and web-enabled application server. The JSP pages can be
accessed from any web server.

2. The JSP technology emphasizes the use of reusable components. These components can be
combined or manipulated towards developing more purposeful components and page design.
This definitely reduces development time apart from the At development time, JSPs are very
different from Servlets, however, they are precompiled into Servlets at run time and executed by
a JSP engine which is installed on a Web-enabled application server such as BEA WebLogic and
IBM WebSphere.

2.1.3. MS-ACCESS

Microsoft Access is a computer application used to create and manage computer-based databases
on desktop computers and/or on connected computers (a network). Microsoft Access can be used
for personal information management (PIM), in a small business to organize and manage data, or
in an enterprise to communicate with servers.

Database as a File

A Microsoft Access database is primarily a Windows file. It must have a location, also called a

K.E.C/IT/2010-11                                                                                  16
Dynamic Web Agent                                                                   Literature Survey

path, which indicates how the file can be retrieved and made available. Although you can create
a database on the root directory such as the C: drive, it is usually a good idea to create your files,
including your databases, in an easily recognizable folder.

When you installed the computer (or when it was installed), the operating system might have
created a folder called Documents that provides a convenient place for you to create your files. If
various people use the same computer, there is a different Documents folder for each one. When
you log in, the computer (the operating system) locates your corresponding Documents folder
and makes it available.

As a normal computer file, a Microsoft Access database has a file extension. If you are creating a
database that follows Microsoft Access 2007 and 2010, the database must have the extension
.accdb. When you create a database, if you specify only a name (and path), Microsoft Access
would automatically add the .accdb extension. If you want to create a database that is compatible
with previous versions, use the extension .mdb but you must explicitly add that extension. An
example of a database name would be Exercise.mdb.

Microsoft Access is an application used to create computer databases. It is equipped with all the
tools you will need to start a project, to end it, and to distribute it. That's the interface side. The
creativity side will come from you. That is, you must define what type of product you want to
create, how it will be used, who (what type of user) will use it, and where it will be used.

Designing a Database

Before creating a database, you should plan and design it. For example, you should define the
type of database you want to create. You should create, in writing, a list of the objects it will
contain: employees, customers, products, transactions, etc. For each object, you should create a
list of the pieces of information the object will need for its functionality: name(s), contact
information, profession, etc. You should also justify why the object needs that piece of
information. You should also define how the value of that piece of information will be given to
the object.

K.E.C/IT/2010-11                                                                                    17
Dynamic Web Agent                                                                 Literature Survey

Creating Database

   To create a blank database, in the middle section, under Available Templates, click Blank

   To create a database using one of the samples, under Available Templates, click a category
from one of the buttons, such as Sample Templates.

Database Management

Unlike some other programming environments, Microsoft Access considers a database as a
single Windows file with a name. This file can contain various objects that actually make up a
database. Therefore, a Microsoft Access database is opened as a normal file.
After creating a database, as a computer file, it becomes part of what are known in Microsoft
Windows as the most recently used (MRU) documents. When you start Microsoft Access, or if
you close the database you are currently working on, the File category displays a list of MRUs.

Opening a Database

If you start Microsoft Access just after installing it, the File section would display a normal
menu. If you start creating or opening databases, a list of MRUs displays under Close Database.
To open a database, if you see its name under File, you can click it.

Since a Microsoft Access database is primarily a file, if you see its icon in a file utility such as
Windows Explorer, you can double-click it. This would launch Microsoft Access and open the
database. If you received a database as an email attachment, you can also open the attachment
and consequently open the database file.

Closing a Database

You can close a database without closing Microsoft Access. To do this, in the File section, click
Close Database.

Deleting a Database

If you have a database you don't need anymore, you can delete it. To delete a database in a file

K.E.C/IT/2010-11                                                                                   18
Dynamic Web Agent                                                                 Literature Survey

utility such as Windows Explorer:
       Click the icon of the database to select it and press Delete
       Right-click the icon and click Delete

A warning message would be presented to you to confirm what you want to do.

After you have deleted a database, it doesn't disappear from the MRU lists of Microsoft Access.
This means that, after a database has been deleted, you may still see it in the File section. If you
try opening such a database, you would receive an error.

If a database has been deleted and you want to remove it from the MRU lists, you can open the
Registry (Start -> Run: regedit, Enter) (be careful with the Registry; when it doubt, don't touch
it). Open the following key:
    - Software
     - Microsoft
      - Office
       - 14
        - Access
         - File MRU

Locate the deleted database and delete its key. The next time you start Microsoft Access, the
name of the deleted database would not display in the File section.

Size of a Database

A database is primarily a computer file, just like those created with other applications. As such, it
occupies space in the computer memory. In some circumstances, you should know how much
space a database is using. This can be important when you need to back it up or when it is time to
distribute it. Also, when adding and deleting objects from your database, its file can grow or
shrink without your direct intervention.

Like any other computer file, to know the size of a database, you can right-click it in Windows
Explorer or My Computer and click Properties. If you are already using the database, to check its

K.E.C/IT/2010-11                                                                                  19
Dynamic Web Agent                                                              Literature Survey

size, you can click File, position the mouse on Manage and click Database Properties. In the
Properties dialog box, click General and check the Size label.

Compacting and Repairing Database

As mentioned already, once you have created a database file, it occupies a certain amount of
memory space that can grow or shrink without your direct intervention:

When you add an object to the database, the database's file grows as needed. When you remove
an object, the memory space it was occupying is left empty. This also applies when you keep
removing objects:

The computer is supposed to recuperate the space those previous objects were using.
Unfortunately, that is not always the case. Most of the time, that space is left empty but cannot
be accessed by the computer (by other applications). This means that the memory space cannot
be made available to other applications. To recover this memory space, you can compact the
database. When this is done, the file is shrunk to occupy only the necessary amount of space and
free the unused sections:

K.E.C/IT/2010-11                                                                              20
Dynamic Web Agent                                                              Literature Survey

To compact a database, you have many options. To compact and repair the database that is
currently opened, and to compact it only once, on the Ribbon:

      Click File. In the middle section, and click Compact & Repair Database:

2.1.4. ODBC

(Pronounced as separate letters) Short for Open Data Base Connectivity, a standard database
access method developed by the SQL Access group in 1992. The goal of ODBC is to make it
possible to access any data from any application, regardless of which database management
system (DBMS) is handling the data. ODBC manages this by inserting a middle layer, called a
database driver, between an application and the DBMS. The purpose of this layer is to translate
the application's data queries into commands that the DBMS understands. For this to work, both
the application and the DBMS must be ODBC-compliant -- that is, the application must be
capable of issuing ODBC commands and the DBMS must be capable of responding to them.
Since version 2.0, the standard supports SAG SQL.

Open Database Connectivity (ODBC) is Microsoft's strategic interface for accessing data in a
heterogeneous environment of relational and non- relational database management systems.
Based on the Call Level Interface specification of the SQL Access Group, ODBC provides an
open, vendor- neutral way of accessing data stored in a variety of proprietary personal computer,
minicomputer, and mainframe databases.

ODBC alleviates the need for independent software vendors and corporate developers to learn
multiple application programming interfaces. ODBC now provides a universal data access
interface. With ODBC, application developers can allow an application to concurrently access,
view, and modify data from multiple, diverse databases.

K.E.C/IT/2010-11                                                                              21
Dynamic Web Agent                                                               Literature Survey

ODBC is a core component of Microsoft Windows Open Services Architecture. Apple has
endorsed ODBC as a key enabling technology by announcing support into System 7 in the
future. With growing industry support, ODBC is quickly emerging as an important industry
standard for data access for both Windows and Macintosh applications.

More Information

ODBC is a specification to which developers write either:

      An ODBC-enabled "front-end" or "client" desktop application, also known as an "ODBC
Client." This is the application that the computer-user sees on the computer screen.


      An ODBC Driver for a "back-end" or "server" DBMS (Database Management System).
This is the DBMS application that resides on a computer that is used to store data for access by
several users. This application is not what is loaded on the end user's computer. This server
application is usually more robust (faster, with centralized security, and backups of data, and so
forth) than the client application. The ODBC Driver resides between the ODBC Client and the
DBMS; however, it is loaded on the front-end computer.

To use ODBC, the following three components are required:

ODBC CLIENT - an ODBC-enabled front-end (also called ODBC client) - Examples: Microsoft
Access, an application created with Access, an application created with Microsoft Visual Basic,
an application created with C + Win SDK+ODBC SDK, or ODBC - enabled applications from
other vendors (such as Lotus).

ODBC DRIVER - an ODBC Driver for the ODBC Server. The ODBC Driver Catalog contains
an extensive listing of ODBC Drivers. For example, the Microsoft ODBC Driver Pack is a
collection of seven ODBC Drivers ready to be used or bundled with ODBC clients. A SQL
Server ODBC Driver is included with Access, and Informix is working on an ODBC driver for

K.E.C/IT/2010-11                                                                               22
Dynamic Web Agent                                                               Literature Survey

Any ODBC client can access any DBMS for which there is an ODBC Driver. DBMS SERVER
is a back-end or server DBMS, for example SQL Server, Oracle, AS/400, FoxPro, Microsoft
Access, or any DBMS for which an ODBC driver exists.

How do these three components interact?

The ODBC client uses a language or vocabulary of commands (which is referred to as "ODBC")
to request data from, or to send data to, the back- end or server DBMS. However, the DBMS
doesn't understand the ODBC client request until the command passes through the ODBC Driver
for that specific DBMS. This ODBC driver is software that resides on the front-end. The ODBC
driver translates the command into a format that the ODBC Server can understand. The ODBC
Server sends the answer back to the ODBC Driver, which translates the answer into a format that
the ODBC Client can understand.

What's so great about ODBC?

First, application developers don't need to modify their applications to allow them to access data
from several back-ends. As long as there is an ODBC Driver for a particular back-end, an
ODBC-enabled front-end can access it. Second, one ODBC Driver for a particular DBMS allows
any ODBC-enabled application to be an ODBC client.

Examples of ODBC in Use

   Access front-end accessing data from a Oracle back-end using the Oracle ODBC Driver,
which ships with Access 1.1.
   Visual Basic front-end accessing data from a dBASE back-end using the dBASE ODBC
Driver, which is part of the MS ODBC Database Drivers Pack.
   C application written using C+ODBC SDK+Win SDK accessing data from an AS/400 using
the AS/400 ODBC Driver available from Rochester Software.


BEA WebLogic Server 8.1—the world’s leading, industrial-strength application server
underlying the BEA WebLogic Enterprise Platform™—enables IT organizations to reduce the

K.E.C/IT/2010-11                                                                               23
Dynamic Web Agent                                                                 Literature Survey

cost and complexity of their application infrastructure, transforming IT assets into a critical
business advantage. WebLogic Server 8.1 provides an entirely new way to develop, integrate,
secure, and manage enterprise server-side Java applications by

   Speeding development—Any developer can be immediately productive building enterprise-
class applications faster than ever before.
   Leveraging existing assets—Out-of-the-box interoperability with existing infrastructure
unifies the enterprise and reduces cost.
   Providing architecture for adaptable security—Design and implement real-time, real-world
security policies at runtime with no application coding.
   Simplifying management—simplifies and automates operations, and gain visibility into
applications and infrastructure.
   Deploying with confidence—Enterprise-grade foundation delivers highly available, scalable,
and bulletproof transactions.
   Leveraging NonStop system fundamentals transparently to application code.
   Enabling massive scalability with very large (multiple terabytes and beyond) operational data
stores (ODSs), supporting up to 4,080 processors with single database image.
   Providing interoperability with WebLogic® products on other platforms, and with existing
NonStop software assets. WebLogic Server with confidence. Renowned for high-end,
missioncritical deployments, NonStop servers running WebLogic Server provide mainframe
class of service at the lowest total cost of ownership for Web, business logic, and database tiers.

Meeting increasing challenges in real time

Today, companies must overcome increasing challenges to meet customer and shareholder
expectations in real time. These challenges are not just caused by more difficult economic times;
they result from increased IT cost and complexity in delivering application value to internal and
external customers.

New or existing EJB, Web services, databases, or other resources can then be incorporated into
the BEA WebLogic Workshop Application Framework through packaged or custom controls.

K.E.C/IT/2010-11                                                                                  24
Dynamic Web Agent                                                                Literature Survey

BEA WebLogic Server 8.1 capabilities

Improve developer productivity

BEA WebLogic Server 8.1 meets rigorous compliance standards to provide that developers are
productive, code is portable, and applications can interoperate properly. Developers can be
confident that applications are future-proofed through the latest standards, such as certified Java
Platform 2, Enterprise Edition (J2EE) 1.3 compliance. By building standards-based applications,
enterprises protect technology investments and maintain maximum flexibility, choice, and

WebLogic Server seamlessly integrates with WebLogic Workshop. Without having to leave the
visual development environment, J2EE developers can build and unit test the lower-level, fine-
grain EJB and other components that are later utilized by the business application developer as
building blocks for enterprise applications. This approach provides a single platform for all
developers, with an appropriate set of tools and services for their particular skills and needs. By
leveraging its visual development environment and runtime framework, WebLogic Server
insulates developers from J2EE infrastructure complexities. Because its simplified programming
model is based on intuitive concepts such as controls, events, and properties, WebLogic Server
enables any developer to use these higher-level objects while writing less code. WebLogic
Server also provides development, packaging, and deployment tools to reduce error-prone and
tedious tasks. These productivity tools not only simplify the coding process but also provide a
unified development and deployment model across the WebLogic Enterprise Platform.

Architect for adaptable security

BEA WebLogic Server simplifies security in two ways:

• Simplifying the process of building security into applications
• Allows administrators to easily design and apply security rules at runtime without writing code.

WebLogic Server offers full-feature security services—advanced authentication, authorization,
auditing, and encryption features— to all applications and components.

K.E.C/IT/2010-11                                                                                25
Dynamic Web Agent                                                                Literature Survey

Simplify management

Through WebLogic Server’s deployment and administration features, enterprises can improve
the use of valuable administrative resources. WebLogic Server guides administrators through the
configuration and deployment process, reducing the tedium and difficulty of getting an
application up and running. For the first time, administrators can configure clusters in minutes,
as opposed to spending hours or days creating error-prone work with other application servers.
As a result, fewer administrators can do more in less time—a benefit that drives down costs and
increases the agility of an organization.

With WebLogic Server and its Web-based management console, administrators can efficiently
manage and monitor their applications— start and stop servers; select and monitor the
configuration of resources; detect and correct problems; monitor and tune systemperformance;
and deploy Web applications, EJB, Web services, or other resources. WebLogic Server provides
monitoring visibility across the Java Virtual Machine (JVM), application server, and deployed

WebLogic Server 8.1 includes a plug-in for OpenView Software. When installed on NonStop
servers, WebLogic Server clustering is enhanced by the underlying fault-tolerant massively
parallel infrastructure of NonStop servers.

Deploy with confidence

More large-scale, business-critical applications are deployed on WebLogic Server than on any
other application server. WebLogic Server is the fastest and most efficient application server on
the market, according to industry benchmarks. In addition, WebLogic Server’s highly improved;
distributed architecture allows applications to scale to thousands of concurrent users and
transactions per second. Through this scalable architecture that includes load balancing, failover,
caching, connection pooling, and other performance features, WebLogic Server improves the use
of hardware resources, while continuing to scale an application as needed. Enterprise clustering,
distributed transaction management, guaranteed message delivery, and other enterprise features
have earned WebLogic Server the reputation as the most reliable application server in the

K.E.C/IT/2010-11                                                                                26
Dynamic Web Agent                                                                Literature Survey

Features                                  Benefits
Web services
Support for SOAP,WSDL, and UDDI           Expose EJB or JMS destinations as secure, scalable
                                          Web services without additional programming, or
                                          remotely access Web services hosted on other
Built-in Web service utilities            Utilities for easy development and deployment of
                                          enterprise-class, Web services–based applications,
                                          and simple search and discovery of external and
                                          internal Web services published in UDDI registries.
Presentation services
• Built-in Web server                     A self-contained platform for serving static and
• Apache, MS IIS, Netscape integration    dynamic content to Web and wireless applications
• Servlet and JSP engine                  that leverage high-speed page caching for increased
• Advanced Web caching                    performance and scalability.
Web presentation services server clustering
• Load balancing                          Achieve Web server scalability and high
• Advanced takeover with                  availability by deploying a cluster of servers.
  state caching                           Additional in-memory replication provides high-
                                          performance takeover for enhanced availability.
Business logic services
• EJB container                           EJB servers reduce the complexity of developing
• Distributed transaction management      middleware by providing automatic support for
  with two-phase commit                   middleware services, such as transactions, security,
                                          database connectivity, and more.
Business logic services clustering
• Load balancing                          Achieve application-level scalability and high
• Advanced takeover with replicated       availability by deploying a cluster of servers.
  naming, smart stubs, and in-memory      Additional in-memory replication provides high-
  EJB state caching                       performance takeover of business logic for
                                          enhanced availability.
Information access services
• JDBC support/drivers                        Integrate with back-end systems.
• Naming and Directory Services

            Table 2.1: Technical features and benefits of BEA WebLogic Server 8.1

K.E.C/IT/2010-11                                                                               27
Dynamic Web Agent                                                           Literature Survey

Features                               Benefits
Enterprise messaging platform
• Distributed highly available JMS     Integrated messaging provides a reliable, flexible
• JavaMail                             service for the asynchronous exchange of business
                                       data and events throughout an enterprise. The
                                       enterprise messaging platform handles highly
                                       scalable message generation and processing for either
                                       point-to-point or publish/subscribe architectures.
Enterprise application management
• Web-based management console         Provide developers and administrators with Web-
• Java Management Extensions (JMX)     based, granular, extensible configuration and
• Externalized MBean API               monitoring tools, and/or integration with leading
• SNMP                                 management frameworks. Allows programmatic
                                       management of WebLogic Server deployed
Certified J2EE compliance
• EJB 2.0                                 Protect your investment by programming to the
• J2EE CA 1.0                             industry-standard J2EE platform. Certification
• JDBC 2.0                                assures enterprises and developers alike that
• JSP 1.21                                application program interfaces (APIs) and
• Servlet 2.32                            development features will work in a uniform way.
• JTA 1.01
• JMS 1.0.2
• JNDI 1.2
• Java RMI 1.0
• RMI/IIOP 1.0
• JCA 1.0
• JAAS 1.0
• JMX 1.0
• JavaMail 1.1
• JAXP 1.1
Integration with other leading Internet technologies
• HTTP 1.1                             Integrated with standard Internet and XML protocols.
• SSLv3
• LDAPv2
• X.509v3
• WSDL 1.1
• UDDI v2
• SNMP 2.0

        Table 2.2: Technical features and benefits of BEA WebLogic Server 8.1(cont.)

K.E.C/IT/2010-11                                                                          28
Dynamic Web Agent                                                                 Literature Survey


Preliminary investigation examine project feasibility, the likelihood the system will be useful to
the organization. The main objective of the feasibility study is to test the Technical, Operational
and Economical feasibility for adding new modules and debugging old running system. All
system is feasible if they are unlimited resources and infinite time. There are aspects in the
feasibility study portion of the preliminary investigation:

   Technical Feasibility
   Operational Feasibility
   Economic Feasibility


The technical issue usually raised during the feasibility stage of the investigation includes the
   Does the necessary technology exist to do what is suggested?
   Do the proposed equipments have the technical capacity to hold the data required to use the
new system?
   Will the proposed system provide adequate response to inquiries, regardless of the number or
location of users?
   Can the system be upgraded if developed?
   Are there technical guarantees of accuracy, reliability, ease of access and data security?

Earlier no system existed to cater to the needs of ‘Secure Infrastructure Implementation System’.
The current system developed is technically feasible. It is a web based user interface for audit
workflow at NIC-CSD. Thus it provides an easy access to the users. The database’s purpose is to
create, establish and maintain a workflow among various entities in order to facilitate all
concerned users in their various capacities or roles. Permission to the users would be granted
based on the roles specified. Therefore, it provides the technical guarantee of accuracy, reliability
and security. The software and hard requirements for the development of this project are not
many and are already available in-house at NIC or are available as free as open source. The work

K.E.C/IT/2010-11                                                                                  29
Dynamic Web Agent                                                                     Literature Survey

for the project is done with the current equipment and existing software technology. Necessary
bandwidth exists for providing a fast feedback to the users irrespective of the number of users
using the system.


Proposed projects are beneficial only if they can be turned out into information system. That will
meet the organization’s operating requirements. Operational feasibility aspects of the project are
to be taken as an important part of the project implementation. Some of the important issues
raised are to test the operational feasibility of a project includes the following:

   Is there sufficient support for the management from the users?
   Will the system be used and work properly if it is being developed and implemented?
   Will there be any resistance from the user that will undermine the possible application

This system is targeted to be in accordance with the above-mentioned issues. Beforehand, the
management issues and user requirements have been taken into consideration. So there is no
question of resistance from the users that can undermine the possible application benefits.

The well-planned design would ensure the optimal utilization of the computer resources and
would help in the improvement of performance status.


A system can be developed technically and that will be used if installed must still be a good
investment for the organization. In the economical feasibility, the development cost in creating
the system is evaluated against the ultimate benefit derived from the new systems. Financial
benefits must equal or exceed the costs.

The system is economically feasible. It does not require any addition hardware or software. Since
the interface for this system is developed using the existing resources and technologies available
at NIC, There is nominal expenditure and economical feasibility for certain.

K.E.C/IT/2010-11                                                                                    30

To top