GHAZIABAD

A PROJECT REPORT ON
Submitted in partial fulfillment of Award of the Degree of “MASTER IN COMPUTER APPLICATION” Session - (2003-06)

(A Govt. of India Enterprise)

UNDER THE SUPERVISION OF: MR. D.C.GUPTA SR. ENGINEER IT DEPARTMENT “NTPC LTD.” – GHAZIABAD (DADRI) CONTACT NO.-09818679322

SUBMITTED BY: AMIT KUMAR GUPTA MCA-6TH SEMESTER ROLL NO.-0303014005 ENROLMENT NO.-030301406160

ACKNOWLEDGEMENT

I am grateful to “NATIONAL THERMAL POWER CORPORATION LTD.” a govt. of India Ltd. for permitting me to undertake six months of Industrial Training in their prestigious Industry. This project would not have been possible without the invaluable guidance of my Project Manager Mr. D.C.GUPTA Sr. Engineer IT Department in “NTPC LTD.” Dadri. Their enthusiasm, valuable suggestions & encouragement enabled me to handle a project of this enormity with confidence. I am indebted to the team members for their timely advice and valuable help throughout my training and project at “NTPC LTD.”. I have learned a lot during the course of the project and definitely looking forward to continue the excellent rapport we shared. I acknowledge my thanks and express my deep gratitude to H.O.D. Mr. S. L. KAPOOR Project Guide, Inderprastha Engg. College, Ghaziabad (U.P), for their valuable guidance and consummate support. I also express my intimate thanks to my friends and corporate person which provide enough help for developed our project. Finally, I am thankful to those people who are directly and indirectly related with this project.

Chapter Scheme:-

1. Acknowledgement 2. Certificate of Originality 3. Project Title 4. Brief about the organization 5. Introduction to the Problem 6. Introduction to the Project 7. Objective 8. Analysis . Project Category . My Role . System Requirement . Feasibility Study 9. Design . Front End Design . Data Flow Diagram . Database Design 10.Testing 11. Future Enhancement 12. Bibliography

ABOUT ORGANIZATION
“National Thermal Power Corporation” is a government Ltd. “NTPC” provides the software development for the project trainee. There are different-different technologies which are provides for the software developer. In “NTPC” there are many live projects handled by the trainee which are currently on the working. “National Thermal Power Corporation” is a leading company in providing quality solutions in the IT Industry which provides its own software for our Industry uses. It is proud to have a satisfied tender and employees can check own records via web. The Industry enables trainees to use the potential of technology through experienced IT professional. We have a staff strength of Five senior developers with BE and MCA and having experience in development of at least six years. The “National Thermal Power Corporation” Dadri is a pure web based .All the department of industry like that – HR, F & A, IOM, and GAS operation, Information Technology etc. are fully connected through the network. So, the communication between departments within the intranet is well designed.

SYSTEM REQUIREMENT:-

SOFTWARE REQUIREMENT


• • Tomcat 4.1 Jdk 1.5 •

Enternet Explorer

MS SQL Server 2000 HARDWARE REQUIREMENT

SERVER When Web Application server and Database server are on the same machine Processor-P3 RAM Disk Network Speed : 1.4 Ghz or more : 64 MB or more : 20 GB (Including Backups) : 100 Mbps (If on LAN)

CLIENT Processor RAM Disk Network speed Operating System used : 1.4 Ghz or more : 64 MB or more : 20 GB (Including Backups) : 100 Mbps (If on LAN) : Windows 2000 Professional.

FRONT END USED
• Hyper Text Markup Language (HTML).

MIDDLE WARE
• Java Server Pages (JSP).

BACKEND USED
• MS SQL Server-2000.

INTRODUCTION TO THE PROBLEM
The presented web based project here is made in view overcoming the problems faced by employees and venders of the intranet of the “NATIONAL THERMAL POWER CORPORATION LTD”- Dadri. Previously the project was based on the traditional. After some time it was application based. Where the Finance manager or authorized person of the “NTPC- LTD.” can enter the record of the employees and vender within the intranet of “NTPC- LTD”. There were the overhead of the finance department that the finance manager keeps records of all the employees and vender of the intranet of the “NTPC- LTD”. If the finance managers want to see record of the intranet members then he/she opens the entire database and checks it. So there were lots of the problems, there was no any security data may be misuse. So, there was the problem in the finance department in “NTPC- LTD” that the finance manager can retrieve the record of the employees and vendor of the “NTPC- LTD” but the employees and vender can’t be see their own records send by the finance manager. There were so many difficulties in the project, I understood it with the guidance of Mr. D.C.GUPTA and I take the challenging assignment for developing the project through web. So, we thought about the project and analyze and then we make it web based live project using the new era technology.

INTRODUCTION TO PROJECT
Our project Finance Diary System is totally web based. This project used for all employees and venders of the “NATIONAL THERMAL POWER CORPORATION LTD”. Which contain different departments with various employees having different designations, salary profiles etc. Beside these it is very useful for the Industry having number of departments connected with the finance department via web. These networks need a special kind of security feature. I introduce the project in brief here, our project finance Diary System is like that if the finance manager is authorized then he/she can go the next page. Otherwise, he/she can enter the next pages. The form shows that he/she is unauthorized users. If person is authorized users then can enter next page name dispatch form. Dispatch form having some records column which are always exist. After this form the next form is section in means all records are enter in this form. After section in form the next form is section out form means all records are send by the finance manager via web on the server. Then all of the employees and venders can see this record by enter their own diary serial number in employee form or venders for vendor form. The employees and venders can also send message why they not get amount or for less amount. Then finance manager can send whole report.

OBJECTIVE AND SCOPE OF THE STUDY
Objective of doing this project is to enhance my knowledge in the field of Distributed technology using J2EE and SQL SERVER-2000. Some of the client requirement and objectives of this project is as under:-

The main objective of study:• • • • • • It should contain all the finance related information of each department of the Industry. It should contain all the information of Industry Employees. It should contain all the finance information of venders within the intranet of the industry. It removes the overhead of the finance manager. Our project provide the security system, unauthorized users can’t access the entire database. Our aim for developed this web based project was that if the finance manager enter all amount related information for all department and employees and also for the venders of the “NTPC LTD.” intranet, then all employees and venders can see their own records any where by entering their unique Diary Serial No. If the Diary Serial No. is not for the employees and venders its own then they can’t be access their own record. Employees and venders can do query why their amount is late or less via web.

PURPOSE
The web based computerized FINANCE DIARY SYSTEM is developed to facilitate the general administration system to manage the various information of the employees and the venders within the intranet of the Industry. So, the organization can access accurate information quickly and easily as and when required, thereby improving its operational efficiency and effectiveness. There was many problems for managed the finance database record .The overhead of the finance managers were very complicated. There were thousands of database records for all employees and venders of the “NTPC LTD.” intranet. So, we developed this web based system.

WHY TOPIC IS THE CHOSEN

Today the era of 20th century in the competitive environment, where everybody wants to be on the top, Information plays very crucial role. As fast as information is accessed and processed, it can give good results. Web based computerized e-business system help to fulfill these goals. Today Web based systems reduces the overhead for the business- to-business related problems. Computerization of the official works will help in doing lot of manual work quickly. It will help in easy storage and access of all information, in short period of time.

ANALYSIS OF THE PROJECT
Project Category:Category of this project is RDBMS based 3-tier architecture Distributed Environment based project with server side component.

Project can be categorized in two ways:1. Local Area Network Projects. 2. Distributed Projects. Local Area Network projects are those projects where application has to be incorporated in the Local Area Network of the client i.e. within its premises only. In LAN case server is not remotely located and client access this application through this network, Here the question of platform independence does not arise and we use technologies like : Visual Basic, Fox pro, D2K or C,C++. Distributed projects are those projects where application is remotely situated. In these kind of projects application is remotely situated on to the remote server from where client machine access this application, WAN and an internet is a kind of distributed application where client machine connects to the remote server and application is downloaded on to client machine. Here the question of platform independence arises and we use technologies like Java Servlets, Java Server Pages (JSP), EJB, RMI etc. Weather you are working on LAN projects or Distributed projects there are two sides of it:1. Front End. 2. Back End.

Front End remains on client side. Front end is made for end user who uses our application. Basically in front end our input-output forms reside which takes the input from the client and gives output back to client. Back End remains on server side and has two components i.e. 1. Server side program. 2. Data Base. Data Base is the most important thing in this universe as data base gives identity to a thing without data base existence of a thing is impossible. While working on a project first step is to design a database.

What is data base?
Data Base is a collection of tables and table is a collection of records in a tabular form i.e. in row and columns. Data Base can divide into two parts:1. RDBMS. 2. DBMS. We will be using RDBMS (Relational Database Management System) in our project we used SQL SERVER-2000.

Why we are using SQL SERVER -2000?
Some of the merits of using SQL SERVER-2000(RDBMS) as follows:-

1. 2. 3. 4. 5.

Client Server Technology. Centralization of the database. Security. Relationship between the entities. Transaction Processor.

Hence because of these features we use the SQL SERVER-2000 in our project.

ABOUT SQL SERVER-2000 ARCHITECTURE:• Relational Database components:Although there are different ways to organize data in a database, relational databases are one of the most effective. Relational database systems are an application of mathematical set theory to the problem of effectively organizing data. In a relational database, data is collected into tables (called relations in relational theory).A table represents some class of objects that are important to an organization. •

Structured Query Language:-

To work with data in a database, you have to use a set of commands and statements (language) defined by the DBMS software. Several different languages can be used with relational databases; the most common is SQL. The American National Standards Institute (ANSI) and the International Standards Organization (ISO) define software standards, including standards for the SQL language. SQL Server 2000 supports the Entry Level of SQL-92, the SQL standard published by ANSI and ISO in 1992. The dialect of SQL supported by Microsoft SQL Server is called Transact-SQL (T-SQL). T-SQL is the primary language used by Microsoft SQL Server applications.

• DATABASE ARCHITECTURE:SQL Server 2000 data is stored in databases. The data in a database is organized into the logical components visible to users. A database is also physically implemented as two or more files on disk. When using a database, you work primarily with the logical components such as tables, views, procedures, and users. The physical implementation of files is largely transparent. Typically, only the database administrator needs to work with the physical implementation.

Each instance of SQL Server has four system databases (master, model, tempdb, and msdb) and one or more user databases. Some organizations have only one user database, containing all the data for their organization. Some organizations have different databases for each group in their organization, and sometimes a database used by a single application.

It is not necessary to run multiple copies of the SQL Server database engine to allow multiple users to access the databases on a server. An instance of the SQL Server Standard or Enterprise Edition is capable of handling thousands of users working in multiple databases at the same time. Each instance of SQL Server makes all databases in the instance available to all users that connect to the instance, subject to the defined security permissions. When connecting to an instance of SQL Server, your connection is associated with a particular database on the server. This database is called the current database. You are usually connected to a database defined as your default database by the system administrator, although you can use connection options in the database APIs to specify another database. You can switch from one database to another using either the TransactSQL USE database name statement, or an API function that changes your current database context. SQL Server 2000 allows you to detach databases from an instance of SQL Server, then reattach them to another instance, or even attach the database back to the same instance. If you have a SQL Server database file, you can tell SQL Server when you connect to attach that database file with a specific database name.

• Replication Architecture
Replication is a set of technologies that allows you to keep copies of the same data on multiple sites, sometimes covering hundreds of sites. Replication uses a publishsubscribe model for distributing data: A Publisher is a server that is the source of data to be replicated. The Publisher defines an article for each table or other database object to be used as a replication source. One or more related articles from the same database are organized into a publication. Publications are convenient ways to group related data and objects that you want to replicate together.

A Subscriber is a server that receives the data replicated by the publisher. The Subscriber defines a subscription to a particular publication. The subscription specifies when the Subscriber receives the publication from the Publisher, and maps the articles to tables and other database objects in the Subscriber. A Distributor is a server that performs various tasks when moving articles from Publishers to Subscribers. The actual tasks performed depend on the type of replication performed. SQL Server 2000 also supports replication to and from heterogeneous data sources. OLE DB or ODBC data sources can subscribe to SQL Server publications. SQL Server can also receive data replicated from a number of data sources, including Microsoft Exchange, Microsoft Access, Oracle, and DB2

New features of Microsoft SQL Server 2000:SQL Server 2000 extends the performance, reliability, quality, and ease-of-use of Microsoft SQL Server version 7.0. Microsoft SQL Server 2000 includes several new features that make it an excellent database platform for large-scale online transactional processing (OLTP), data warehousing, and e-commerce applications. The OLAP Services feature available in SQL Server version 7.0 is now called SQL Server 2000 Analysis Services. The term OLAP Services has been replaced with the term Analysis Services. Analysis Services also includes a new data mining component. The repository component available in SQL Server version 7.0 is now called Microsoft SQL Server 2000 Meta Data Services. References to the component now use the term Meta Data Services. The term repository is used only in reference to the repository engine within Meta Data Services.

• FEATURES OF SQL SERVER 2000:SQL Server 2000 features include: •

Internet Integration.

The SQL Server 2000 database engine includes integrated XML support. It also has the scalability, availability, and security features required to operate as the data storage component of the largest Web sites. The SQL Server 2000 programming model is integrated with the Windows DNA architecture for developing Web applications, and SQL Server 2000 supports features such as English Query and the Microsoft Search Service to incorporate user-friendly queries and powerful search capabilities in Web applications. •

Scalability and Availability.

The same database engine can be used across platforms ranging from laptop computers running Microsoft Windows® 98 through large, multiprocessor servers running Microsoft Windows 2000 Data Center Edition. SQL Server 2000 Enterprise Edition supports features such as federated servers, indexed views, and large memory support that allow it to scale to the performance levels required by the largest Web sites. •

Enterprise-Level Database Features.

The SQL Server 2000 relational database engine supports the features required to support demanding data processing environments. The database engine protects data integrity while minimizing the overhead of managing thousands of users concurrently modifying the database. SQL Server 2000 distributed queries allow you to reference data from multiple sources as if it were a part of a SQL Server 2000 database, while at the same

time, the distributed transaction support protects the integrity of any updates of the distributed data. Replication allows you to also maintain multiple copies of data, while ensuring that the separate copies remain synchronized. You can replicate a set of data to multiple, mobile, disconnected users, have them work autonomously, and then merge their modifications back to the publisher. •

Ease of installation, deployment, and use.

SQL Server 2000 includes a set of administrative and development tools that improve upon the process of installing, deploying, managing, and using SQL Server across several sites. SQL Server 2000 also supports a standards-based programming model integrated with the Windows DNA, making the use of SQL Server databases and data warehouses a seamless part of building powerful and scalable systems. These features allow you to rapidly deliver SQL Server applications that customers can implement with a minimum of installation and administrative overhead.

• Data warehousing.
SQL Server 2000 includes tools for extracting and analyzing summary data for online analytical processing. SQL Server also includes tools for visually designing databases and analyzing data using English-based questions.

Overview of the SQL Server Tools
SQL Server 2000 includes many graphical and command prompt utilities that allow users, programmers, and administrators to: • • Administer and configure SQL Server. Determine the catalog information in a copy of SQL Server. • Design and test queries for retrieving data.

• Copy, import, export, and transform data. • • Provide diagnostic information.

Start and stop SQL Server.

In addition to these utilities, SQL Server contains several wizards to walk administrators and programmers through the steps needed to perform more complex administrative tasks.

Optimizing Database Performance:The goal of optimizing database performance is to minimize the response time for each query and to maximize the throughput of the entire database server by minimizing network traffic, disk I/O, and CPU time. Understanding how to design the logical and physical structure of the data, tune queries, and configure Microsoft SQL Server 2000 and the operating system can help optimizes database performance.

Connecting to SQL Server (ODBC):Initializing an ODBC application involves allocating environment and connection handles, setting attributes for the handles to tailor the behavior of the driver and server, and then connecting to SQL Server 2000. In our project Finance Diary we use JDBC-ODBC driver.

Compatibility:SQL Server 2000 software is compatible with industry standards, including most industry standards operating systems. Application developed on SQL Server 2000 can be used on virtually any system with little or no modification.

Portability:SQL Server 2000 is compatible to work under different operating system and same on all system. Application developed on SQL Server 2000 can be used on virtually any system with little or no more modification.

New and Improved Data Types:Some existing data types have been enhanced and new data types have been introduced.

Improved Select Statement:A new feature of select statement allows a sub query to be used in place of a table in a from clause.

Locking:SQL Server 2000 uses locking to ensure transactional integrity and database consistency. Locking prevents users from reading data being changed by other users, and prevents multiple users from changing the same data at the same time. If locking is not used, data within the database may become logically incorrect, and queries executed against that data may produce unexpected results. Now when we discussing Data Base there is one more thing attached to it i.e. Data Base Models. We used in our web based project 3-tier architecture.

Data Base Models:
There are three kinds of database models:1. Single tier architecture. 2. Two tier architecture. 3. N-tier architecture.

Single tier architecture:In this kind of architecture Database and Client Application remain on one machine i.e. there is no client server technology, there is no centralization of database and basically it is a stand alone system.

Two tier architecture:In Two tier architecture Database and client application is on two different machine i.e. Database on one machine and Application on another machine.

In this type of architecture there is client server technology and centralization of data base is there, but it has two drawbacks1. Security is not there. 2. Multiple Client access is not there.

Application Space Application

Driver

SQL Command

Result Set

Database

N- tier Architecture:In this kind of architecture there is a middle ware in between client and database. Middle ware checks the validity of the client i.e. weather client can access the database or not. Hence there is security in it as well as middle ware allows multiple client access. We used in our project Finance Diary 3-tier architecture.

Application Space Java Application

JDBC Driver

SQL Command Application Server (Middle - tier)

Result Set

Proprietary Protocol

Database

What is Middle Ware?
Middle ware a concept, Middle Ware provides centralization of business logic i.e. instead of putting logic on each and every client machine we put logic on a centralized server hence middle ware is nothing but a server side program where all your business logic and business methods reside. It remains on server side and it has all the logical building. Middle ware provides:1. Multiple Client access.

2. Centralized business logic in case of distributed application.

We used in our project Java Server Pages (JSP) as a middle ware technology.

ABOUT JSP:Java Server Pages (JSP), are a simple but powerful technology used to generate dynamic HTML on the server side. They are a direct extension of Java Servlets and provide a way to separate content generation from content presentation. It is a Middle Ware technology and web based technology it is the script language which is used to generate web based application. Which use browser, web server and HTTP protocol to handle the request and response. • • • It is the extension of Servlet and generate servlet class file at run time. So its have all advantage and feature of Servlet. Scripting language is a language which has interpreted not compile. Run with HTML form. The first time the file is requested, it is compiled into a servlet object and stored in memory, and the output is sent back to the requesting client. After the first request, the server checks to see whether the *. Jsp file has changed, if it has not changed, then the server invokes the previously compiled servlet object.

JSP ARCHITECTURE:The JSP page implementation class file extends HttpJspBase, which in turn implements the Servlet interface. Observe how the service method of this class, _jspService (), essentially inlines the contents of the JSP page. Although _jspService () cannot be overridden, the developer can describe initialization and destroy events by providing implementations for the jspInit () and jspDestroy () methods within their JSP pages. Once this class file is loaded within the servlet container, the _jspService () method is responsible for replying to a client's request. By default, the _jspService () method is dispatched on a separate thread by the servlet container in processing concurrent client requests, as shown below:

STEPS OF A JSP REQUEST AND RESPOSE:Web Server JSP Page 2. 1. Request Web Browser 4. Response Generated Servlet 3. Compiled Servlet

1.

Client Requests a JSP Page. The JSP Engine Compiles the JSP into a Servlet.

2.

3. The generated Servlet is compiled and loaded. 4. The compiled servlet services the request and sends a response back to the client.

SYNCHRONIZATION ISSUES:-

By default, the service method of the JSP page implementation class that services the client request is multithreaded. Thus, it is the responsibility of the JSP page author to ensure that access to shared state is effectively synchronized. There are a couple of different ways to ensure that the service methods are thread-safe. The easy approach is to include the JSP page directive: <%@ page isThreadSafe="false" %> This causes the JSP page implementation class to implement the SingleThreadModel interface, resulting in the synchronization of the service method, and having multiple instances of the servlet to be loaded in memory. The concurrent client requests are then distributed evenly amongst these instances for processing in a round-robin fashion, as shown below:

The downside of using this approach is that it is not scalable. If the wait queue grows due to a large number of concurrent requests overwhelming the processing ability of the servlet instances, then the client may suffer a significant delay in obtaining the response.

JSP IMPLICIT OBJECTS:As the servlet file is interpreted by javac compile we have to explicitly use servlet package while design our business logic. But in case of JSP, JSP page is interpreted by JSP servlet engine which generate servlet class file at run time. JSP engine implicitly take servlet package while interpreting JSP file.

To design business logic we are creation predefine object or radiate object these object are called implicit object. You have access to certain objects that are available for use in JSP document without being declared first. These objects are parsed by the JSP engine and inserted into the generated servlet as if you defined them yourself. In reality the JSP engine recognizes the implicit object names and knows that they will be declared by, or passed into, the generated servlet. • Request • Response • Session • Application • pageContext out config page exception

• • • •

request:The implicit object request represents the javax.servlet.http.HttpServlet request object that is passed into the generated jspService () method. The HttpServletRequest interface defines and objects that provides access to HTTP-protocol-specific header information sent by the client.

response:The JSP implicit object response represents the javax.servlet.http.HttpServlet Response object, which defines and objects that provides the JSP with the capability to manipulate HTTP-protocol-specific header information and return data to the client.

Session:The implicit session object holds a reference to a javax.servlet.http.HttpSession object. The Http Session object is used to store objects in between client requests. It provides an almost state-full HTTP interactivity. The session object is initialized by a call to the pageContext.getSession () method in the generated servlet.

Application:-

The application object holds a reference to the javax.servlet.ServletContext retrieved from the servlet configuration. The application object is most often used to access environment information. One of the more common pieces of information accessed by the application object is object that are stored in the ServletContext. These objects are stored there so that they will be available to the whole time the servlet engine is running. • pageContext:The pageContext object provides access to the namespaces associated with a JSP page. It provides accessors to several other JSP implicit objects. • out:The implicit out object is a very simple object that represents a reference to a JspWriter, which is derived from a java.io.writer. It is used to write into the output stream that is delivered back to the client. The most common use is to use the out.println () method, passing it HTML text that will be displayed in the client’s browser. Most of the output will be presented to the client in out.println () method. • Config:The implicit Config object represents the Servlet Config, which defines a servlet. Engine-generated -object that contains configuration information. The configuration information that this servlet will have access to is the ServletContext object. This describes the context within which the generated servlet will be running. • Page:-

The page object is just as it sounds a reference to the current instance of the JSP. It is initialized to the actual this reference by the generated servlet. • Exception:The implicit exception object only exists in a defined errorPage. It holds a reference to the uncaught exception that caused the error page to be invoked. You can find a complete description of the errorPage mechanism, including use of the implicit exception object.

JSP STANDARD ACTIONS:The JSP standard actions provide an abstraction that can be used to easily encapsulate common actions. The standards actions are defined as follows• <jsp:param> :The <jsp: param> action is used to provide tag/value pairs of information, by including them as sub attributes of the <jsp: include>, <jsp: forward>and the <jsp: plugin> actions. The syntax of the<jsp: param> as follows:<jsp: param name= ‘paramName’ value=’paramValue’ />

<jsp: include> :This action provides a mechanism for including additional static and dynamic resources in the current JSP page. The syntax for this action is as follows:<jsp: include page=’urlSpec’ flush=’true’ />

<jsp: forward>:-

The <jsp: forward> action enables the JSP engine to dispatch, at runtime, the current request to a static resource, servlet, or another JSP. The appearance of this action effectively terminates the execution of the current page. The syntax as follows: <jsp: forward page=’relativeURLspec’ />

<jsp: plugin>:The <jsp: plugin> action enables a JSP to generate HTML that contains the appropriate client-browser-dependent constructs. The attributes of this action provide configuration data for the presentation of the elements. The syntax as follows; <jsp:plugin type=’pluginType’ code=’classFile’ codebase=’relaiveURLpath’>

JSP COMMUNICATION WITH SERVLETS:The servlet and JSP communicate using the ModelView-Controller (MVC). The MVC originated from Smalltalk and was used to design user interfaces, wherein the application was made up of three classes: • A Model • A View • A Controller Model – The Model represents the data or application object. It is what is being manipulated and presented to the user. View – The View is the screen representation of the Model. It is the object that presents the current state of the Model. Controller – The Controller defines the way the user interface reacts to the user’s input. The Controller is the object that manipulates the Model.

The major benefit of using the MVC design pattern is that it separates the Views and Models. This makes it possible to create or change Views without having to change the Model. It also allows a Model to be represented by multiple Views.

A SERVER-SIDE IMPLEMENTATION OF THE MVC:-

Web Server

2. Java Bean (Model) 1 1.request Servlet (Controller)

DBMS

JSP 3.response Web Browser (View)

The real power of JSP and Servlets come into being when they are used together. A server side implementation of the MVC, where the Model is a JavaBean. The controller is a Servlets that manipulates or transmits data, and the View is a JSP that presents the results of the performed transaction. These steps are as follows1. The Web browser makes a request to the Controller servlet. 2. The servlet performs necessary manipulations to the JavaBean Model and forwards the result to the JSP View. 3. The JSP formats the Model for display and sends the HTML results back to the Web browser.

INTODUCTION TO JAVA
Java is a high level, third-generation programming language, like C, C++, Fortran, Perl and many others. It is a platform for distributed computing- a development and run-time environment that contains built-in support for the World Wide Web.

HISTORY OF JAVA:Java development began at Sun Microsystem in 1991, the same year the World Wide Web was conceived. Java creator, James Gosling did not design java for the Internet. His objective was to create a common development environment for consumer electronic devices which was easily portable from one device to another. This effort evolved into a language, named Oak and later renamed Java that retains much of the syntax and power of c++, but is simpler and more platforms independent. Ultimately, a second and more important factor was emerging that would play a crucial role in the future of Java. This second force was, of course, the World Wide Web. With the emergence of the World Wide Web, Java was propelled to the forefront of computer language design, because the Web, too, demanded portable programs.

JAVA IS IMPORTANT TO THE INTERNET:The internet helped catapult Java to the forefront of programming, and Java, in turn, has had a profound effect on the Internet. The reason for this is quite simple: Java expands the universe of objects that can move about freely in Cyberspace. In a network, two very broad categories of objects are transmitted between the server and your personal computer: passive information and dynamic, active programs. Suppose when you read your e-mail, you are viewing passive data. Even when you download a program, the program’s code is still only passive data until you execute it. A second type of object can be transmitted to your computer a dynamic, self-executing program. Such a program is an active agent on the client computer, yet is initiated by the server. As desirable as dynamic, networked programs are, they also present serious problems in the areas of security and portability. Prior to Java, cyberspace was effectively closed to half the entities that now live there.

Java Applets and Applications

Java can be used to create two types of programs: 1. Applications programs. 2. Applets programs.

An application programs that runs on your computer, under the operating system of that computer. That is, an application created by Java is more or less like one created using C or C++. When used to create applications, Java is not much different from any other computer language. An applet is an application designed to be transmitted over the internet and executed by a Java compatible Web browser. An applet is actually a tiny Java program, dynamically downloaded across the network, just like as image, sound file, or video clips. An applet is a program that can react to user input and dynamically change.

SECURITY IN JAVA:In this era the internet takes most important roles for e-business. Every time that you download a program you are risking a viral infection. Prior to Java, most users did not download executable programs frequently, and those who did scanned them for viruses prior to execution. So, most users still worried about the possibility of infecting their systems with a virus. Java provides a firewall between a networked application and your computer. When you use a Java compatible Web browser you can safely download Java applets without fear of viral infection or malicious intent. Java achieves this protection by confining a Java program to the Java execution environment and not allowing it access to other parts of the computer. The ability to download applets with confidence that no harm will be done and that no security will be breached is considered by many to be the single most important aspect of Java.

PORTABILITY:Many types of computers and operating systems are in use throughout the world and many are connected to the Internet. For programs to be dynamically

downloaded to all the various types of platforms connected to the internet some means of generating portable executable code is needed.

JAVA FEATURES:Some of the important features of Java are as follows: • • • Simplicity Orientation Platform Independence

• • • • • •

Security High Performance Multi Threading Dynamic linking Garbage Collection Inheritance

One of the most important features of Java is Platform Independence which makes it famous and suitable language for World Wide Web. Why Java is platform Independence? Java is Platform Independence because it uses JAVA VIRTUAL MACHINE (JVM).

Java Virtual Machine (JVM).
The client application or operating system must have a java byte-code interpreter to executer byte-code instructions. The interpreter is a part of a larger program called JVM. The JVM interprets the byte code into native code and is available on platforms that support Java. When the user runs a Java program, it is upto the JVM to load. Possibly verify, and then execute it. The JVM can perform this function from within a browser or any other container program or directly on top of the operating system. When a browser invokes the JVM to run a Java Program. The JVM does a number of things: 1. It validates the requested byte-codes,verifying that they pass various formatting and security checks. 2. It allocates memory for the in coming Java class files and guarantees that the security of JVM is not violated. This is known as the class loader. 3. It interprets the byte code instructions found in the class files to execute the program.

Connectivity using JDBC:
There are four kind of drivers available in Jdbc – 1. 2. 3. 4. JdbcOdbc Bridge Driver. Partly Java Driver. Pure Java Driver. Native Driver.

JdbcOdbc Driver:
This is the first type of driver. It provides JDBC access to databases through ODBC drivers. The ODBC driver must configure on the client for the bridge to work. This driver type is commonly used for prototyping or when there is no JDBC driver available for a particular Database Management System (DBMS).

Partly Java Driver:
The Partly Java Driver converts JDBC commands into DBMS specific native calls. This is much like the restriction to Type 1 Driver. The client must have some binary code loaded on its machine. These drivers do have an advantage over Type 1 drivers, because they interface directly with the database.

Pure Java Driver:
The JDBC-Pure Java driver is a three-tier solution. This type of driver translates JDBC calls into a database independent network protocol that is sent to a middleware server. This server then translates this DBMS independent protocol into a DBMS specific protocol, which is sent a particular database. The results are routed back through the middleware server and sent back to the client. This type of solution makes it possible to implement a pure Java client. It also makes it possible to swap databases without affecting the client. This is by far the most flexible JDBC solution.

Native Driver:This kind of driver converts JDBC calls into the network protocol used by DBMS directly. This allows a direct call from client machine to the DBMS server and is a practical solution for Interanet access. Note- We are using 1st Type of driver i.e. JDBC-ODBC Driver in our project.

INTRODUCTION TO THE J2EE-PLATFORM
Today, more and more developers want to write distributed transactional applications for the enterprise and leverage the speed, security, and reliability of server-side technology. If you are already working in this area, you know that in today's fast-moving and demanding world of e-commerce and information technology, enterprise applications have to be designed, built, and produced for less money, faster, and with fewer resources than ever before. To reduce costs and fast-track enterprise application design and development, the Java 2 Platform, Enterprise Edition (J2EE) technology provides a component-based approach to the design, development, assembly, and deployment of enterprise applications. The J2EE platform gives you a multitiered distributed application model, the ability to reuse components, a unified security model, and flexible transaction control. Not only can you

deliver innovative customer solutions to market faster than ever, but your platformindependent J2EE component-based solutions are not tied to the products and APIs of any one vendor.

DISTRIBUTED MULTITIRED APPLICATION:The J2EE platform uses a multitiered distributed application model. This means application logic is divided into components according to function, and the various application components that make up a J2EE application are installed on different machines depending on which tier in the multitiered J2EE environment the application component belongs. J2EE applications divided into the tiers described in below• • •

Client tier components run on the client machine Web tier components run on the J2EE server Business tier components run on the J2EE server • Enterprise information system (EIS) tier software runs

on the EIS server

J2EE multitiered applications are generally considered to be three-tiered applications because they are distributed over three different locations: client machines, J2EE server machine, and the database or legacy machines at the back-end. J2EE APPLICATION COMPONENTS:J2EE applications are made up of components. A J2EE component is a self-contained functional software unit that is assembled into a J2EE application with its related classes and files and communicates with other components. The J2EE specification defines the following J2EE components:

Application clients and applets are client components.

• •

Java Servlet and Java Server Pages (JSP) technology components are web components. Enterprise JavaBeans (EJB) components (enterprise beans) are business components.

J2EE components are written in the Java programming language and compiled in the same way as any Java programming language program. The difference when you work with the J2EE platform, is J2EE components are assembled into a J2EE application, verified that they are well-formed and in compliance with the J2EE specification, and deployed to production where they are run and managed by the J2EE server.

CLIENT COMPONENTS:A J2EE application can be web-based or non-web-based. An application client executes on the client machine for a non-web-based J2EE application, and a web browser downloads web pages and applets to the client machine for a web-based J2EE application.

• Application Clients
An application client runs on a client machine and provides a way for users to handle tasks such as J2EE system or application administration. It typically has a graphical user interface created from Project Swing or Abstract Window Toolkit (AWT) APIs, but a command-line interface is certainly possible. Application clients directly access enterprise beans running in the business tier. However, if the J2EE application client requirements warrant it, an application client can open an HTTP connection to establish communication with a Servlet running in the web tier.

• Web Browsers
The user's web browser downloads static or dynamic Hypertext Markup Language (HTML), Wireless Markup Language (WML), or Extensible Markup Language (XML) web pages from the web tier. Dynamic web pages are generated by servlets or JSP pages running in the web tier.

J2EE SERVER COMMUNICATIONS:Figure shows the various elements that can make up the client tier. The client communicates with the business tier running on the J2EE server either directly, or as in

the case of a client running in a browser, by going through JSP pages or servlets running in the web tier.

Figure: Server Communications

FEASIBILITY STUDY
A feasibility study is conducted to select the best system that meets performance requirement. This entails an identification description, an evaluation of candidate system and the selection of best system for the job. The system required performance is defined by a statement of constraints, the identification of specific system objective and a description of outputs, the key consideration in feasibility analysis are: 1. Economic Feasibility. 2. Technical Feasibility.

Economical Feasibility:The proposed system is economically feasible because the cost of involved in purchasing the hardware and the software are within approachable. The personal cost like salaries of employees hired are also nominal, because working in this system need not required a highly qualified professional. The operating environment costs are marginal. The less time also involved also helped in its economical feasibility.

SOFTWARE COST: Tomcat Server 20,000/-

J2EE Kit SQL Server-2000 MANPOWER COST: Team Cost System Cost TOTAL COST:

-

35,000/25,000/-

-

30,000/35,000/1, 45,000/-

Technical Feasibility:Hardwares used in this project are Processor P3 RAM HARD DISK DRIVE 2.0 GHZ. 64 MB 20 GB

These hardware were already available on the existing computer system. The software like SQL Server-2000, Tomcat Server 4.1, JDK, J2EE and Operating System Windows 2000 professional used were already installed on the existing computer system.

FEATURES OF THE MODULE:• Entry in Finance Department

• • • • • • • • • • • • •

Manager Login Venders Enquiry Employee Enquiry Others Department Enquiry Quotation Generation Dispatch Advice Section in Section out Employee Login Vendors Login Venders Details Product Details. Other Parameter Details

ROLE AND RESPONSIBILITIES:• Coding as per the design and specification. • Coordinate and work cohesively with the other team members. • Adherence to time frame and quality.

FORM DESCRIPTION:-

1. Login page

This is the main form of our project finance Diary. In this form there are three hyperlinks for entry points within the site1.Manager Login:Means if the administrator click in this hyperlink then administrator go for the manager login form. 2.Employee’s Login:In this form if employee of the “NTPC” clicks in the link employee login, then employee will go for the Employee form. 3. Vender’s Login:In this form if vender’s of the “NTPC” clicks in the link vender login, then it is applicable for the vender’s of the Industry. Then they can get their own records.

2. Manager login form:-

• •

In this form only administrator have authorized user with own password. If the password is wrong then user can’t be permit for the database entry. If the user is valid then, user will be entering for the dispatch form.

3. Dispatch form:-

In this form administrator enter the records, then all records are always exist in this form.whenever, administrator not send it to the sectionin form.

4. SECTION IN FORM:-

• •

In this form all the records of the related employees, venders and other department members have exists. Records are sending by the primary key of the employees, venders and other members of the department by their own Diary Serial No.

5. Section out Form:-

In this form Diary Serial No. fill by administrator and name, date for the sectionout,voucher date, voucher no, and how much amount are there in the their own account of the employees, venders and other department members.

6. Employees/venders Login form:-

In this form if employees or venders or other department member enter their own Diary Serial No. and Document Reference No. then whose person can see their records.

7.

User view form:-

• This form is valid users all of the records can be seen by employees, venders and department members. • All the records of these users are stored here. • User can see also their name, document ref. no. , and document description which is send by the administrator, and also can see sectionin date and sectionout date.

TABLE DESIGN

1.ADMINISTRATOR LOGIN:-

Field Name Manager_id Manager_name

Data Type nvarchar(5) nvarchar(20)

Validation NOT NULL NOT NULL

2.

DISPATCH TABLE:-

Field Name Diary serial no Document type Section code Doc Ref No. Department Date

Data Type nvarchar(10) nvarchar(15) nvarchar(4) nvarchar(10) nvarchar(4) nvarchar(10)

Validation Primary key NOT NULL NOT NULL NOT NULL NULL NULL

3. SECTION _IN TABLE :Field Name Diary serial no Entry Date Employee vender flag Department Assigned to Doc description Emp name Vender name Data Type nvarchar(10) nvarchar(10) nvarchar(8) nvarchar(8) nvarchar(8) ntext nvarchar(20) nvarchar(20) Validation Primary Key NOT NULL NOT NULL NULL NOT NULL NULL NULL NULL -

4. SECTION_OUT FORM:
Field Name Diary serial no Entry Date Voucher Date Voucher No. Amount Objection 1 Objection 2 Objection 3 Objection 4 Data Type nvarchar(10) nvarchar(10) nvarchar(10) nvarchar(10) nvarchar(10) nvarchar(10) nvarchar(10) nvarchar(10) nvarchar(10) Validation Primary key NOT NULL NULL NULL NULL NULL NULL NULL NULL

SYSTEM DEVELOPMENT LIFE CYCLE
System Development Life Cycle (SDLC) is the overall process of developing information systems through a multi-step process from investigation of initial requirements through analysis, design, implementation and maintenance. There are many different models and methodologies, but each generally consists of a series of defined steps or stages. These stages can be characterized and divided up in different ways, including the following: -

Project definition, feasibility study: Establishes a high-level view of the intended project and determines its goals. Systems analysis, requirements Specification: Refines project goals into defined functions and operation of the intended application. Analyzes end-user information needs. Systems design: Describes desired features and operations in detail, including screen layouts, business rules, process diagrams, and other documentation. Implementation: The real code is written here.

Integration and testing: Brings all the pieces together into a special testing environment, then checks for errors, bugs and interoperability. Acceptance, installation, deployment: The final stage of initial development, where the software is put into production and runs actual business. Maintenance: What happens during the rest of the software's life: changes, correction, additions,

and moves to a different computing platform and more. This, the least glamorous and perhaps most important step of all, goes on seemingly forever.

PROJECT TESTING

SAMPLE PROJECT TESTING PLAN STRATEGY

To validate the software we need to test the software. During the testing we will be concerned about the inputs and their expected outputs. We emphasize on the testing where we will input the data and will compare the output with the expected results. At this stage, we are not concerned about the process; we are only looking for the correct outputs.

CLASSES OF TEST
The software has many different additions and new interfaces/functions added to it. We will go through each of the new interface and other software function to describe different types of test performed on them.

INTERFACE
The interface allows user to easily fill up the forms and thus enter data correctly into the database. The interface that we will design will enable user to complete the entire form with use of single window. The tests to be carried on these interface windows are described below.

TYPES OF TESTING:UNIT TESTING

Unit testing is the process of writing tests for individual bits of a program, in isolation. Its goal is to Isolate each part of the program and show that the individual parts are correct. It provides a strict, written contract that the piece of code must satisfy as a result it affords several benefits.

BLACK BOX TESTING
We are concerned about inputs of data into the software and their expected outputs. So we will carry out black box testing where several different steps will be taken to test the software so that when we use the software with specific data all the given out puts will match our expected results. We will compare the output with our expected output list and will find out credibility of the software.

SECURITY TESTING
Security testing attempts to verify that protection mechanisms built into a system will, in fact, protect it from improper penetration. During Security testing, password cracking, unauthorized entry into the software, network security are all taken into consideration.

STRESS TESTING
Stress testing executes the system in a manner that demands resources in the maximum possible quantity, frequency, or volume. The following are some examples of the types of tests that may be conducted during stress testing: • • • • • Special tests to generate ten interrupts per second, when one or two is the average rate. Input data rates may be increased by an order of magnitude to determine how input functions will respond. Test Cases that require maximum memory or other resources. Test Cases that may cause excessive hunting for disk-resident data. Test Cases that may cause thrashing in a virtual operating system.

CONCLUSION
• • • • Our Web site works successfully and companies person really appreciate this Web site. This Web site is fully documented so that future modification can be made very easily, if some requirements get change in future. It is highly cost effective and user friendly. Moreover it leads to the first Industrial and professional experience in the software.

LIMITATION
Application uses huge data on web so it makes application slow on Internet. Hence there is scope to enhance the speed on net also.

FUTURE ENHANCEMENT

• • •

Our project module is a part of an intranet of “NTPC LTD.”, which is made for Small and Medium Scale Enterprises. It can be extended to work with Large Scale Enterprises. This module is made independently of other modules; hence it can be integrated with other Web based project without any problem. Its database is designed very properly, so with the new trends, the reports can be generated as per the requirements.

FINANCE DIARY User

A

I/P detail Login Verification

Check for existence

O – Level DFD

2.

Diary Serial No.

Docu ment Type

FINANCE MANAGER

Section Code FINANCE DIARY

Docum ent Ref. No.

Depart ment

Date

Manager Entry

3.

Diary Serial No. Enter id Employee FINANCE DIARY Enter Ref no. check Document Ref. No. check for existence

Employee checking

BIBILIOGRAPHY BOOKS:
1. The Complete Reference – Java 2 by TMH Publication. 2. Core Java Sun Microsystem Volume 1 by Gary Cornell. 3. Core Servlets and Java Server Pages Volume 1 by Marty Hall and Larry

Brown 4. SERVLET AND JSP – by NIIT Publication. 5. Pure Java Server Pages by James Goodwill published by Techmedia.

Web sites: http://www.google.com http://www.ntpc.tender.com http://webdadri

E-R DIAGRAM

Name

Date

Section in date

Diary Serial No.

Employee/vender

Has

Account

Document Description

Departm ent

Section out date

Doc Ref. No.

Sign up to vote on this title
UsefulNot useful