Post Office Management System A Java Project
Post Office Management System A Java Project
Speedy and efficient information processing is crucial to our socially and highly developed technology. Computer can help the intolerable burden of handling the ever increasing amount or information with government department, public services and business concerns expected to contain because of their ability to analyze information as well as to retain, update and reproduce it because of their versality to present it in a variety of forms. This may also to some extent lead to problems occurring due to information explosion.
About Project
POST OFFICE works in every walk of our life. Through the automation of this system one can easily generate the information about the customer available and also about the old records. For this efficient software the first and the foremost thing is that all the requirements should be known before hand and the developer should devote its effort for the completion of that requirement which are demanded by the customer should be fulfilled. This system can be used in various education departments and can distribute the copies of the system among the management and staff members for the required information of their customer. This very handy project for any user and includes following features: Having customer information and total amount payable. for the help of user it displays each and every detail about required topics Maintains all the old record for later reference Have provision for automatic update as per the status System must handle user enquiry
Advantages of POST OFFICE MANAGEMENT SYSTEM:1. This system will improve the performance of the company. 2. It reduces the tedious jobs like reluctant work, long procedures, automated report generation, up to date information. 3. It will improve the Post Office Management, since all the information is available whenever required. 4. It provides quick processing thus helps in transaction and updating in master records can be performed in few records. 5. It allows easy generation of all types of reports. 6. It provides accurate output. 7. It gives fast answer of queries. 8. The amount of paper is reduced. 9. Better security 10. Economical. 11. Better Control.
Introduction
What is java?
Java is a general purpose object oriented programming language . It is the first programming language that is not tied to any particular hardware or operating system .The language is based on the concept of an object. Java is highly derived from C++ . Most striking feature of the language is that it is platform neutral language. There were five primary goals in the creation of the Java language: It should use the object-oriented programming methodology. It should allow the same program to be executed on multiple operating systems. It should contain built-in support for using computer networks. It should be designed to execute code from remote sources securely. It should be easy to use and borrow the good parts of older object-oriented languages like C++.
Java tools
In order to write java application or applets ,one need more than a language . The tools that lets one to write , test , debug programs.
Java features
Compiler and Interpreted Platform independent Simple Secure Familiar Portable Object-Oriented Robust Multithreaded High performance Distributed Dynamic
Compiler and Interpreted - There is a java compiler , named javac . The java
compiler takes input source code files (these files typically have the ext.java) and converts them into compiled bytecode files.The java Interpreter known as javac can be used to execute java application .The interpreter translates bytecode directly into program actions.
Platform independent - Java programs can be easily moved from one computer to
another, anywhere and anytime.Changes and upgrades made in operating systems, processors and system resources will not force any changes in java programs.
Simple - Java is designed to be easy for programmer to learn and use efficiently.
Secure- When we use a java compatible web browser, we can safely download java
applets without fear of virus infection. Java achieves this protection by confining a java program to java execution environment and not allowing it access to other parts of the computer.
Familiar- It is modeled on C, C++ languages. Java code looks like C++. Portable- Java compiler generates bytecode instructions that can be implemented on
any machine and also the size of the primitive data types are machine independent.
Object-Oriented - Java is a true object-oriented language. All program code and data
reside within objects and classes.
Robust -It provides many safeguards to ensure reliable code. It has strict compile time
and run time checking for data types. Designed as a garbage-collected language relieving the programmers and also incorpates the concept of exception handling which captures series errors.
Distributed - It has ability to share both data and programs. Java applications can
open and access remote objects on internet which enables multiple programmers at multiple remote locations to collaborate and work together on single project.
Dynamic - Java is capable of dynamically in new class libraries , methods and objects
.It supports functions written in other languages like C,C++ called as native methods.
10
automatically deletes the unreachable object, freeing memory and preventing a memory leak. Memory leaks may still occur if a programmer's code holds a reference to an object that is no longer neededin other words, they can still occur but at higher conceptual levels. Comparing Java and C++, it is possible in C++ to implement similar functionality (for example, a memory management model for specific classes can be designed in C++ to improve speed and lower memory fragmentation considerably), with the possibly cost of extra development time and some application complexity. In Java, garbage collection is built in and virtually invisible to the developer. That is, developers may have no notion of when garbage collection will take place as it may not necessarily correlate with any actions being explicitly performed by the code they write. Depending on intended application, this can be beneficial or disadvantageous: the programmer is freed from performing low-level tasks but at the same time lose the option of writing lower level code.
Java Program
Java Compiler
Virtual Machine
Bytecode
Bytecode
Java Interpreter
Machine code
Virtual Machine
Real Machine
11
object maintains its state in one or more variables. A variable is an item of data named by an identifier. A software object implements its behavior with methods. A method is a function (subroutine) associated with an object. In the Java programming language, an object can specify one of four access levels for each of its variables and methods. A class is a blueprint that defines the variables and the methods common to all objects of a certain kind. After you've created the class, you can create any number of objects from that class. When you create an instance of a class, the system allocates enough memory for the object and all its instance variables. Each instance gets its own copy of all the instance variables defined in the class. Classes can also define class variables. A class variable contains information that is shared by all instances of the class .A class can also declare class methods. You can invoke a class method directly from the class, whereas you must invoke instance methods on a particular instance.
Inheritance - Inheritance is the process by which objects of one class acquire the
property of objects of another class. Each subclass inherits state .However, subclasses are not limited to the states and behaviors provided to them by their superclass. Subclasses can add variables and methods to the ones they inherit from the superclass. It supports the concept of hierarchical classification it also provides the use of reusability. .
Polymorphism - This means the ability to take more than one form. An operation
may exhibit different behaviour in different instances. The behaviour depends upon the types of data used in the operation. It plays an important role in allowing objects having different internal structures to share external interface.
12
VERSION HISTORY
JDK 1.0(January 23, 1996) Initial release. JDK 1.1(February 19, 1997) - Inner classes added to the language J2SE 1.2(December 8, 1998) Codename Playground. J2SE 5.0 were rebranded Java2 and the version name "J2SE" (Java 2 Platform, Standard Edition) replaced JDK to distinguish the base platform from J2EE (Java 2 Platform, Enterprise Edition) and J2ME (Java 2 Platform, Micro Edition). J2SE 1.3(May 8, 2000) Codename Kestrel. J2SE 1.4(February 6, 2002) Codename Merlin. J2SE 5.0(September 30, 2004) Codename Tiger.(Originally numbered 1.5, which is still used as the internal version number.[1]) Java SE 6 Codename Mustang. As of 2006 this is currently in development under JSR 270. A beta version was released on February 15, 2006.Beta 2 was released on June 15, 2006 and is available at http://java.sun.com/javase/downloads/ea.jsp. The final release is expected autumn 2006. Java SE 7 Codename Dolphin. This is in the early planning stages. The Dolphin Project will start up in late July, with release estimated in 2008.[3]
13
The Java Database Connectivity (JDBC) API is the industry standard for databaseindependent connectivity between the Java programming language and a wide range of databases SQL databases and other tabular data sources, such as spreadsheets or flat files. The JDBC API provides a call-level API for SQL-based database access. JDBC technology allows you to use the Java programming language to exploit "Write Once, Run Anywhere" capabilities for applications that require access to enterprise data. With a JDBC technology-enabled driver, you can connect all corporate data even in a heterogeneous environment. The JDBC API is the industry standard for database-independent connectivity between the Java programming language and a wide range of databases. The JDBC API provides a call-level API for SQL-based database access. JDBC technology allows you to use the Java programming language to exploit "Write Once, Run Anywhere" capabilities for applications that require access to enterprise data.
JDBC Architecture
The JDBC API contains two major sets of interfaces: the first is the JDBC API for application writers, and the second is the lower-level JDBC driver API for driver writers. JDBC technology drivers fit into one of four categories. Applications and applets can access databases via the JDBC API using pure Java JDBC technology-based drivers, as shown in this figure:
14
Left side, Type 4: Direct-to-Database Pure Java Driver This style of driver converts JDBC calls into the network protocol used directly by DBMSs, allowing a direct call from the client machine to the DBMS server and providing a practical solution for intranet access. Right side, Type 3: Pure Java Driver for Database Middleware This style of driver translates JDBC calls into the middleware vendor's protocol, which is then translated to a DBMS protocol by a middleware server. The middleware provides connectivity to many different databases. The graphic below illustrates JDBC connectivity using ODBC drivers and existing database client libraries.
Left side, Type 1: JDBC-ODBC Bridge plus ODBC Driver This combination provides JDBC access via ODBC drivers. ODBC binary code -- and in many cases, database client code -- must be loaded on each client machine that uses a JDBC-ODBC Bridge. Sun provides a JDBC-ODBC Bridge driver, which is appropriate for experimental use and for situations in which no other driver is available.
15
Right side, Type 2: A native API partly Java technology-enabled driver This type of driver converts JDBC calls into calls on the client API for Oracle, Sybase, Informix, DB2, or other DBMS. Note that, like the bridge driver, this style of driver requires that some binary code be loaded on each client machine. For comparison of driver types, please see the article published in Computerworld.
Industry Momentum
Leading database, middleware and tool vendors have been building support for JDBC technology into many new products. This ensures that customers can build portable Java applications while choosing from a wide range of competitive products for the solution best suited to their needs. See the Industry Support page for a list of companies that are shipping products with support for JDBC technology.
Relating JDBC to ODBC There is a very close relationship between API and JDBC architecture and (open database connectivity) ODBC counterparts. The JDBC ODBC bridge enables you to access databases using ODBC drivers from JDBC . JDBC ODBC bridge effectively
16
translate the JDBC API calls into the corresponding ODBC calls . ODBC drivers are available for almost all types of databases. JDBC can access almost all databases . Because of their common ancestry they share some important components:-
Loads database drivers and manages the connections between the application and the driver Translates API calls into operations for a specific data source A session between an application and a database A SQL statement to perform a query or update operation Information about returned data , database and driver Logical set of columns and rows of data returned by executing a statement
Connection Statement ResultSet
Driver Manager
Driver
Database Database
The JDBC architecture is based on a collection of java interfaces and classes that together enable you to connect to data sources , to create and execute SQL statements and to retrieve and modify data in a database.
The JDBC-ODBC Bridge sun.jdbc.odbc.jdbcodbcDriver-is included with JDK and it enables Java applications to access data through drivers written to the ODBC standard. The driver bridge is useful for accessing data in data sources for which no pure JDBC drivers exist. The bridge works by translating the JDBC methods into ODBC function calls.
Key Features
The JDBC API provides metadata access that enables the development of sophisticated applications that need to understand the underlying facilities and capabilities of a specific database connection.
No Installation
A pure JDBC technology-based driver does not require special installation; it is automatically downloaded as part of the applet that makes the JDBC calls.
In addition to this important advantage, DataSource objects can provide connection pooling and distributed transactions, essential for enterprise database computing. This functionality is provided transparently to the programmer.
18
19
Data Defination Language (DDL) DDL statements are used to describe the
tables and the data they contain. The subset of SQL statements used for modeling the structure (rather than the contents) of a database or cube. The DDL gives you the ability to create, modify, and remove databases and database objects. Data Manipulation Language (DML) DML statements that are used to operate on data in the database. These are statements that allow you to create or alter objects (such as tables, indexes, views, and so on) in the database. The subset of SQL statements used to retrieve and manipulate data. DML can be further divided into 2 groups: Select Statements Statements that return a set of results. Everything else Statements that dont return a set of results. Here are some of the quries defined:-
SELECT - SQL statement used to request a selection, projection, join, query, and so
on, from a SQL Server database.
Primary key Primary key constraints identify the column or set of columns whose
values uniquely identify a row in a table. No two rows in a table can have the same primary key value. You cannot enter a NULL value for any column in a primary key.
20
Insert - The Insert logical operator inserts each row from its input into the object
specified in the Argument column. To insert the data into a relation we either specify a tuple to be inserted or write a query.
Delete - The Delete logical operator deletes from an object rows that satisfy the
optional predicate in the Argument column. We can delete only whole tuples; we cannot delete values on only particular attributes.
Update - The Update logical operator updates each row from its input in the object
specified in the Argument column. It provides a way of modifying existing data in a table update statement do not return a result set, they merely modify data in the database. If a WHERE :() predicates is present, only those rows that satisfy this predicate are updated. If a SET :() predicate is present, it indicates the value to which each updated column is set. If a DEFINE :() predicate is present, this lists the values that this operator defines.
Alter - Adds or removes files, file groups, table. Modifies a table definition by
altering, adding or dropping columns and constraints, or by disabling or enabling constraints and triggers. Can also be used to modify the attributes of files and file groups, such as changing the name or size of a file.
21
APPLETS
What is an Applet?
Applets are small applications that are accessed on an internet server, transported over the internet, automatically installed and as a part of web document. It can perform arithmetic operations, display graphics, play sounds, accept user input, and create animation and interactive games.
Capabilities
Java applets can be used to build full featured graphical user interface. Applets can communicate over the internet to a host server and even communicate with other applets on a form.
Limitation
For java to be truly successful. However, the client security has to be completely assured because of this security measures place some limitations on java applets. By default, applets cannot communicate with any server other than the originating server. Applets also cannot read or write files to the local file system.
Born or initialization state: - Applet enters the initialization state when it is first
loaded. This is achieved by calling the init () method of applet class. The applet is born. If we want then we can override the initialization more than once in the applet program.
Running state - Applet enters the running state when the system calls the start ()
method of applet class. This occurs automatically after the applet is initialized. We can override the start () method to create a thread to control the applet.
Idle or stopped state - An applet becomes idle when it is stopped from running.
Stopping occurs automatically when we leave the page containing running applet. We can also do so by calling the stop () method explicitly. Stop () method can be overridden.
22
Display state - Applet moves to the display state whenever it has to perform some
output operations on the screen. This happens immediately after the applet enters into running state. The paint () method is called to accomplish this task. Almost every applet will have a paint method. We can override this method.
23
The AWT package allows you to develop window-like applications. It allows your applications to run on different windowing systems. The classes in AWT package will allow you to: Generate Colors. Draw graphics. Add GUI components like push buttons, scrollbars etc to your applications. Handle user input from mouse and keyboard. Create Containers. Classes like Layout Managers helps in automatically positioning a GUI object when we add it to the container.
24
SWING
SWING is a set of classes that provides powerful and flexible functionality. In addition with several components provided by AWT, swing supplies several exciting additions, including tabbed panes, scroll panes, trees and tables. It also changes the images as the state of any component changes. Swing is built upon the foundation of the AWT. Swing components are written entirely in Java and therefore are Platform-independent .Swing is also termed also light-weight and provide pluggable look and feel. There are 2 Swing classes that are quite important:
Jframe and Component Jframe extends the AWT class Frame. It contains
additional features that enable it to support Swing components. JComponent extends the AWT component and Container classes. It is the top level class for all Swing components and provides Swing pluggable look and feel. Here are some of the Swing component classes:
CLASS Abstract Button Button Group Image Icon JApplet JButton JCheckBox JComboBox JLabels JRadioButton JScrollPane JTabbedPane JTextField JTree
DESCRIPTION Abstract super class for Swing buttons. Encapsulates a mutually exclusive set of buttons. Encapsulates an icon. The SWING version of APPLET. The SWING push button class. The SWING check box class. Encapsulates a combo box . The SWING version of a label. The SWING version of a radio button. Encapsulates a scrollable window. Encapsulates a tabbed window. The SWING version of Text field. Encapsulates a tree based-control.
Icons Icons are encapsulated by the Image Icon class, which paints an icon from
an image.
25
JLabel Labels are the instances of the JLabel class which extends JComponent. It
can display text or icon. These are passive controls that do not support any interaction with the user.
JButton JButton class provides the functionality of a push button. JButton allows
an icon of string to be associated with the push button.
26
27
FORMS LAYOUT
28
WELCOME WINDOW
29
USER-ID
30
OPTION WINDOW
31
PARCEL FORM
32
33
34
REGISTRY FORM
35
E-CARD FORM
36
FORAIGN MAIL
37
38
LIMITATIONS
Although I have tried to do the best and try to do well all the things that are possible in a Payroll System, but still the system contains some of the limitations. The reason of these limitations is the time constraints. Time is the major problem. I have to deliver the project in a particular time period. Thats why I have to leave some topics that actually I want to cover, I am still working on this software and my next goal is to remove these limitations and develop a more efficient and elegant system. Limitations of the system: this project does not support Multi-User System. the information of expenses is not included in this project. After removing these and other minor limitations I hope this project will be very efficient and effective.
39
Conclusion
The computer program POST OFFICE MANAGEMENT SYSTEM has been designed basically for the government departments, private companies and other institutions. By entering the required data one can easily generate the information about the customer and all the old records as well as other services provided through the system. As provided in the introduction we can do many required works on it but it is not based on a particular post office management system as common idea is taken into consideration while preparing this project so to implement it to any post office it may require some modifications as per the requirements. Still surely it will be provided as a great help to any post office system and will automate his/her work completely motivating them to work more efficiently.
40
BIBLIOGRAPHY
1. J2SE Specification www.sun.com
2. JAVA2 Herbert Schildt 3. Beginning JAVA2(JDK1.5) Ivor Horton 4. Java Programming BlackBoot Holzner 5. Java developer Hand Book BPB publication 6. Programming Java Swing Shen Zokowaski 7. Java2 CMC
8. Programming with Java -E-balaguruSwamy
41