Filter Management System

Note: Please Scroll Down to See the Download Link.

INTRODUCTION & OBJECTIVES

This project primarily allows J2EE deployers to modify the existing or already deployed Java Servlets or Java Server Pages (JSPs), which are called as web components. This project can modify the existing web components in such a way that they need not be disturbed, need not be re-compiled, and need not be re-deployed. So, the project serves like a plug-in, which can smoothly sit into an existing J2EE middle-tier web component, and change its functionality in various ways.

To design these kinds of plug-in components, Sun Microsystems has introduced a new Application Programming Interface (API) in its servlets 2.3 version. This API is commonly referred to as ‘Filter’ing API.

The following is the new API introduced by the Sun Microsystems in its servlets 2.3 API.

javax.servlet.Filter

javax.servlet.FilterChain

javax.servlet.FilterConfig

These three are the interfaces and two more classes have been introduced, as shown below.

javax.servlet.ServletRequestWrapper

javax.servlet.ServletResponseWrapper

My entire project revolves around this new API.

The following is a sample list of things that a Filter kind of component does.

1) Authentication Filters

2) Logging and Auditing Filters

3) Image conversion Filters

4) Data compression Filters

5) Encryption Filters

6) Tokenizing Filters

7) Filters that trigger resource access events

8) XSL/T filters

9) Mime-type chain Filter

The list is by no means exhaustive. This is just to have an idea of what filters can do.

SYSTEM ANALYSIS

Existing System

Until the advent of the new API from the Sun Microsystems, there was no way that we can change the functionality of an existing J2EE web component, without really disturbing it. So, I can perfectly claim that this is the first attempt at such an aspect using the Sun’s new API.

The only way to modify the functionality of an existing servlet, before servlets version 2.3, is only modifying the original servlet, which requires the entire process of deploying the servlets on the web container to be repeated.

Proposed System

As I have claimed in the last section that this is the first of its kind of project, which honors the principle of ‘Software Reuse’.

PRELIMINARY INVESTIGATION

Our entire project revolves around this new API.

The following is a sample list of things that a Filter kind of component does.

  •  Authentication Filters

  •  Logging and Auditing Filters

  •  Image conversion Filters

  •  Data compression Filters

  •  Encryption Filters

  •  Tokenizing Filters

  •  Filters that trigger resource access events

  •  XSL/T filters

  •  Mime-type chain Filter

The list is by no means exhaustive. This is just to have an idea of what filters can do.

MODULE DESCRIPTION

There are four Modules in the system on a whole.

Module 1 :- Authentication module is used allow only the authorized users to work with the web site

Module 2:-In this module we have to impelment RSA algorithm in the form of java classes .which have got two methods.

Public byte [] compress (byte [])      

Public byte [] decompress (byte [])

Module 3:-In this module we have to implement java filters. One for compression another for decompression and a couple of GUI screens for configuring those filters.

Configure means given the filter name of the servlet to which it has to be attached XML file location, the domain name, the port number.

Module 4:-In this module I have to implement two java filters one for Encryption another for Decryption.

Public byte [] encryption (byte [])        

Public byte [] decryption (byte [])

In the client side we have an applet for GUI screen. So we have to arrange proper communication between this applet and the servlet.

RSA algorithm is head of my project. The main theme behind RSA is that it is difficult to make a wide guess on the result of dividing the large prime number with another large prime number. The result of such a division is chosen to the public key and another result of the same kind of chosen to be a private key by applying those two keys. The component is scrambled. This scrambled content is sent to the client. The public is sent to the client via web. But private key is sent to separate to the client personally. The scrambled content and the public key reaches the client side applet, the client needs to give the private key, so that the client is descrambled or decrypted.

SOFTWARE AND HARDWARE SPECIFICATIONS

Hardware and Software Configuration of the System:

  • Internet connection with 33.6 KBPS Modem.
  • Pentium 233 MHz. 40 GB HDD, 256 MB RAM (Server).
  • Any P. C with Windows/Unix compatibility, 128 MB RAM (Client).
  • JDK 1.4, Tomcat Web Server, running on any platform.
  • JDBC/ODBC drivers installed.
  • Enterprise Java Beans
  • Servlets 2.3
  • Functional Java enabled browser.
  • Operating System (Windows/Unix/Linux).

Click here to download Filter Management System source code