01-09-2016, 05:41 PM
ABSTRACT
The main concept of Global Communication Media is developing the
communication with all persons of the same organization on the net. We can
compare the Global Communication Media with the Telephonic
Communication. Normally in Telephone Conference, there will be more than two users connected at a time and all the users are able to here word from any one of the users. So implementing the same concept on the Net is nothing but Global Communication Media.
This project is used to:
Conduct conferences with their employees. So they can get online decisions from employees from the different branches of the company.
The another advantage is that the company is having branches throughout the country. So this will help them to communicate business affairs of the company and live meetings and conferences between their directors. They can conduct board of directors meeting.
It will give On-line solutions from the superiors to the employees.
Introduction
Communication is very much essential and the importance of it is increasing from time to time along with the evolution of human needs. Developing Global Communication for an Organization.
The main concept of Global Communication is developing the conference on the net. We can compare the Global Communication with the Telephone Conference. Normally in Telephone Conference, there will be more than two users connected at a time and all the users are able to here words from any one of the user. So implementing the same concept on the Net is nothing but Global Communication
Proposed System:
The proposed system is to maintain the conferences, live meetings, general body meetings on the net. This system is to develop in a client/server environment. It aims to do the following.
Grouping: Grouping of selected users
Support of multi conference
By selecting the single user from the list, Talk can be achieved
By selecting all the users in the list, Chat can be achieved
Admin Features:
Create Edit, and Delete Conference Rooms.
Create, Edit, and Delete Users.
Moderator Privileges.
View and Delete Message Archives.
View Statistics.
Ban Users.
Client Features:
User Registration
Private Messaging
Create Room
Moderator
Lists all Users in Conference Room
View profiles
INTRODUCTION
Communication is very much essential and the importance of it is increasing from time to time along with the evolution of human needs. Developing Global Communication for an Organization.
The main concept of Global Communication is developing the conference on the net. We can compare the Global Communication with the Telephone Conference. Normally in Telephone Conference, there will be more than two users connected at a time and all the users are able to here words from any one of the user. So implementing the same concept on the Net is nothing but Global Communication
2.1) Present System:
Conferences will take part a vital role for any of the national wide company. Because the company is having branches through out India, they need to conduct conferences between their employees and to conduct board of directors meeting among their directors, general managers.
Normally conferences will be conducted in some place owned by company or in some conference hall. The person, who has to participate in the conference, has to travel all the way to participate in the conference. So it will be very risky to travel for the persons, and it is risky work for the company also to provide all the felicities to persons. Now a day wherever you see so many strikes are going. In that case to participate in any important conference or to conduct any conference will be very tedious. All this may lead to loss of company and time taking matters. So here the company is decided to develop their conferences on the net itself.
Out of many solutions for Communication, the best one is still the physical LAN connection. It provides efficient solution with minimal overheads.
For exchange of information between systems, network has to be configured properly to allow the access to the information in one system to others. This when used in right sense, will be very much appreciable and productive. But in reality, this also helps the users to perform malicious activities, knowingly or unknowingly. This causes serious problems in the organization.
There are many commercial software products are available, which can do the all the required things to ensure smooth functioning of the organizations network. These also provide good control over the information exchange. But obviously these products come at premium price tags. Overall these software products are not economically feasible to the small and medium sector organizations.
2.2) Why to develop Global Communication:
Now a day’s time is becoming more and more precious.100% industries are computerized and there is a vast development in industries either in the public sector or in the private sector. The common transactions for any company are sales and purchases. So most of the companies now days made on line sales and purchases. So distributors, customers and companies can continue their business dealings using this on-line sales and purchases. By this they can save their valuable time.
Through this they will be able to make conferences with their clients (distributors) or with their customers with timely updates of the company business. So they can improve their products with respect to the customers view. This will help them to become a number one position in the current market.
Another advantage is that the company is having branches throughout the country. So this will help them to communicate business affairs of the company and live meetings and conferences between their employees and directors. They can conduct board of directors meeting It will give On-line solutions from the superiors to the employees.
2.3) Proposed System:
The proposed system is to maintain the conferences, live meetings, general body meetings on the net. This system is to develop in a client/server environment. It aims to do the following.
Grouping: Grouping of selected users
Support of multi conference
By selecting the single user from the list, Talk can be achieved
By selecting all the users in the list, Chat can be achieved
Admin Features:
Create Edit, and Delete Conference Rooms.
Create, Edit, and Delete Users.
Moderator Privileges.
View and Delete Message Archives.
View Statistics.
Ban Users.
Client Features:
User Registration
Private Messaging
Create Room
Moderator
Lists all Users in Conference Room
View profiles
1.4) Need for computerization:
Time plays an important role in today’s world. Any information is useful if it is available on the right time. Quick and correct information at he right time needs computerization. Many scientists’ engineers have to spend their valuable time to attend a conference, which is going on a long distance place. For them even one second costs millions and millions of dollars. So this project will help them to participate in the conferences.
The main concept of Global Communication is developing the conference on the net. We can compare the Global Communication with the Telephone Conference. Normally in Telephone Conference, there will be more than two users connected at a time and all the users are able to here words from any one of the user. So implementing the same concept on the Net is nothing but Global Communication.
This project is used to:
Conduct conferences with their employees. So they can get online decisions from employees from the different branches of the company.
Another advantage is that the company is having branches throughout the country. So this will help them to communicate business affairs of the company and live meetings and conferences between their directors. They can conduct board of directors meeting.
It will give On-line solutions from the superiors to the employees.
3.ABOUT ORGANIGATION
Quant Technologies Pvt.Ltd. is a software development and consultancy company engaged in leading-edge product making and consultancy in various platforms and areas. The company was established by a group of enthusiastic and dynamic engineering post graduates in August 2002, a five – years – old company.
Since the inspection of the company, it has been involved in to least and cutting edge technologies like, enterprise computing, distributed computing, and internet technologies, all of which being realized in the areas like Java, Dot Net, PHP. With the exponential growth of the mobile industry the company also entered into the area of mobile programming solutions on J2ME (Java to Micro Edition) platform. The company boasts of being the first of its kind to enter into mobile solutions arena. The company is planning to enter into BREW (Binary Run time Environment for Wireless) related technologies soon as a part of its tie-up with an international mobile game provider.
The company has got total employee strength of eighteen, purely technical, of which three serve as project leaders, five serve senior programmers, and the rest as junior programmers. The area of enterprise of the company’s technical staff have classified them into three core action groups.
The first group deal with low level embedded programming area involving the skill set of C, C++, UNIX internals, real time operating systems, Vx Works, and Device drivers. This group deal with the programming of real time systems and device programming like writing device for various devices that are new to the market.
The second group is Microsoft Technologies with the skill set of Visual C++, Visual Basic and Active Server Pages with distributing computing skills like COM and DCOM. These people are commonly involved into the design of dynamic website with connectivity to the corporate databases, front end solutions for various products like speech – recognition systems etc.
The third group is concentrating on Sun Technologies with an enterprise in to the areas of Java2 Standard, Enterprise and Mobile or Micro edition. This group currently is concentrating on mobile programming solutions. The company has got a credit of supplying mobile – based games to World’s best mobile companies.
All projects are feasible – given unlimited resources and infinite time! Unfortunately, the development of computer-based system or product is more likely plagued by a scarcity of resources and difficult delivery dates. It is both necessary and prudent to evaluate the feasibility of a project at the earliest possible time. Months or years of effort, thousands or millions of dollars, and untold professional embarrassment can be averted if an ill-conceived system is recognized early in the definition phase.
Feasibility and risk analysis are related in many ways. If project risk is great the feasibility of producing quality software is reduced. During product engineering, however, we concentrate our attention on four primary areas of interest:
1.Technical Feasibility
This application in going to be used in an Internet environment called www (World wide web). So, it is necessary to use a technology that is capable of providing the networking facility to the application. This application as also able to work on distributed environment. Application on developed with J2EE (Java 2 Enterprise Edition platform) Technology. One major advantage in application is platform neutral. We can deploy and used it in any operating system.
GUI is developed using HTML.to capture the information from the customer. HTML is used to display the content on the browser. It uses TCP/IP protocol. It is an interpreted language. It is very easy to develop a page/document using HTML some RAD (Rapid Application Development) tools are provided to quickly design/develop our application. So many objects such as button, text fields, and text area etc are providing to capture the information from the customer.
We can use this application in any OS. They can have their own security and transactional advantages. But are the responsible for selecting suitable and secured OS, which is suitable to our application.
The back-end Oracle 8i and front-end application are platform independent. So we can port this enterprise application in any environment. Both are having their individual configuration to get better performance and backup issues.
Economical Feasibility
In present system customer need to go to biller’s place to pay the bill. So he/she needs to spend some time to complete this protocol. It is time consuming process some times customer not able to spend that much of time. In such case needs to pay some additional payment to the biller for late payment.
If it is developed in electronic payment system, He can pay the bill from any where in the world. No need to travel to pay the bills. For doing this process electronically have to spend some time.
Operational Feasibility:
In our application front end is developed using GUI. So it is very easy to the customer to enter the necessary information. But customer has some knowledge on using web applications before going to use our application.
SOFTWARE AND HARDWARE SPECIFICATIONS
Software Details:
Server Operation System: Windows 2000 Professional.
Client Operating System: Windows 2000 Professional.
Software Used: j2sdk1.4.2_04, Internet Explorer Web server Used: Tomcat 5.0.
Languages Used: JSP, Servlets, JDBC, Java
Script, CSS and HTML
Database: Oracle 8i (8.1.5.0.0).
Hardware Details:.
Server
PENTIUM IV 2.4GHz, With Dual Processor
128MB RAM
256 KB EXTERNAL CACHE MEMORY
20 GB HARD DISK
SAMTRON COLOR MONITOR
Client
PENTIUM IV 2.4 GHz
128 MB RAM
256 KB EXTERNAL CACHE MEMORY
20 GB HARD DISK
SAMTRON COLOR MONITOR
INTERNET TERMINOLOGY
What is Internet?
The Internet is a worldwide network of computer networks. People use the Internet to send electronic mail, participate in discussion forums, search authority that controls or regulates the Internet Currently there are more than 30 million people use the Internet and the number is growing at a rate of one million new user per month.
What is Intranet?
An internal network owned and managed by a company or organization uses the same kinds of software that you would use to explore the Internet, but only for internal use. An Internet enables a company to share its resources with it employees without confidential information being made available to everyone with Internet access.
What is web Browser?
A web browser is a program run on a client workstation used to navigate the World Wide Web.
What is WWW (World Wide Web)?
WWW is a collection of resources (make up of Hypertext, graphics, sound files, etc) located on globally networked web/internet servers that can be accessed on the Internet by using HTTP, FTP, Telnet, Gopher and some other tools.
What is TCP-IP?
This is the suite of protocols that defines the Internet. Originally designed for the Unix Operating system. TCP/IP software is now available for
every major kind of computer operating system. TCP/IP stacks is required for computers want to access the Internet.
What is URL (Uniform Resource Locator)?
The standard way to give the address of any resource on the Internet that is part of the World Wide Web (WWW). A URL looks like this:
The most common way to use a URL is to enter into a WWW browser program, such as Internet Explorer.
Java and Java Script:
Although the names are almost the same Java is not the same as Java Script. These are two different techniques for Internet programming. Java is a programming language; JavaScript is a scripting language (as the name implies). The difference is that we can create real programs with Java. But often we just want to make a nice effect without having to bother about real programming. So JavaScript is meant to be easy to understand and easy to use. JavaScript authors should not have to care too much about programming.
We could say that JavaScript is rather an extension to HTML than a separate computer language. Of course this is not the ‘official’ definition but I think this makes it easier to understand the difference between Java and JavaScript, which share the same name and syntax.
Advantages of Java:
Creation of Java:
James Gosling conceived Java. Patrick Naughton, Chris Warth, Ed Frank and Mike Sheridan at Sun Micro Systems Incorporation in 1991. It took 18 months to develop the first working version. This language was
initially called “OAK” in 1992 and public announcement of Java in 1995, many more contributed to the design and evolution of the language.
Java is Portable:
One of the biggest advantages Java offers is that it is portable. An application written in Java will run on all the major platforms. Any computer with a Java based browser can run the applications or applets written in the Java programming language. A programmer no longer has to write one program to run on a Macintosh, another program to run on a Windows machine, still another to run on a Unix machine and so on. In other words, with Java, developers write their programs only once.
The virtual machine is what gives Java a cross platform capabilities. Rather than being complied into machine language, which is different for each operating systems and computer architecture, Java code is compiled into byte codes. With other languages, the program code is complied into a language that the computer can understand. The problem is that other computers with different machine instruction set cannot understand that language. Java code, on the other hand is complied into byte codes rather than a machine language. These byte codes go to the Java virtual machine, which executes them directly or translates them into the language that is understood by the machine running it.
In summary, these means that with the JDBC API extending Java, a programmer writing Java code can access all the major relational databases on any platform that supports the Java virtual machine.
Java Makes It Easy:
In addition to being portable and object oriented, Java facilitates writing correct code. Programmers spend less time writing Java code and a lot less time debugging it. In fact, developers have reported slashing development time by as much as two thirds.
Java automatically takes care of allocating and the reallocating memory, a huge potential source of errors. If an object is no longer being used (has no reference to it), then it is automatically removed from memory, or Garbage Collected by a low priority daemon thread called Garbage Collector.
Java’s no pointer support eliminates big source errors. By using object references instead of memory pointers, problems with pointer arithmetic are eliminated, and problems with inadvertently accessing the wrong memory address are greatly reduced.
Java’s strong typing cuts down on runtime errors, because Java enforces strong type checking, many errors are caught when code is complied. Dynamic binding is possible and often very useful, but static binding with strict type checking is used when possible.
Java keeps code simple by having just one way to do something instead of having several alternatives, as in some languages. Java also stays lean by not including multiple inheritance, which eliminates the errors and ambiguity that arise when you create a subclass that inherits from two or more classes. To replace capabilities, multiple inheritance provides, Java lets you add functionality to a class throw the use of interfaces
Java is Extensible:
A big plus for Java is the fact it can be extended. It was purposely written to be lean with the emphasis on doing what it does very well, instead of tying to do everything from the beginning, it was return so that extending it is very easy. The java platform includes an extensive class library so that programmers can use already existing classes, as it is, create subclasses to modify existing classes, or implement to augment the capabilities of classes.
Java is Secure:
It is important that a programmer not be able to write subversive code for applications or applets. This is especially true with the Internet being used more and more extensively for services such as electronic commerce and electronic distribution of software and multimedia content.
The way memory is allocated and laid out. In java an object’s location in memory is not determined until the runtime, as opposed to C and C++. As the result, a programmer cannot look at a class definition and figure out how it might be laid out in memory. Also since, Java has no pointers, a programmer cannot forge pointers to memory.
The Java Virtual Machine (JVM) doesn’t trust any incoming code and subjects it to what is called Byte Code Verification. The byte code verifier, part if the virtual machine, checks that
The format of incoming code is correct
Incoming code doesn’t forge pointers.
It doesn’t violate access restrictions.
It access objects as what they are
The Java byte code loader, another part of the JVM, checks whether classes loaded during program execution are local of from across a network. Imported classes cannot be substituted for built in classes, and built in classes cannot accidentally reference classes bring in over a network.
The Java Security manager allows user to restrict entrusted Java applets so that they cannot access the local network, local files and other resources.
Java Performs Well:
Java performance is better than one might expect. Java’s many advantages, such as having built in security and being interpreted as well as complied, do have a cost attached to them. However, various optimizations have been built, in, and the byte code interpreter can run very fast the cost it doesn’t to do any checking. AS a result, Java has done quite respectably in performance tests. Its performance numbers for interpreted byte codes are usually more than adequate to run interactive graphical end user applications.
For situations that require unusually high performance, byte codes can be translated on the fly generating the final machine code for the particular CPU on which the application is running at run time. Java offers good performance with the advantages of high-level languages but without the disadvantages of C and C++. In the world of design trade-off, you can think of Java as providing a very attractive middle ground.
Java is Robust:
The multi plat formed environment of the WEB places extraordinary demands on a program, because it must execute reliably in a variety of systems. Thus the ability to create robust programs was given a high priority in the design of Java. To gain reliability, Java restricts you in a few key areas to force you to find your mistakes early in program developments.
Java and 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 is simple: Java expands the universe of objects that can move about freely in cyberspace. In a network, there are two broad categories of objects transmitted between the Server and your Personal Computer: passive information and dynamic, active programs like an object that can be transmitted to your computer, which is a dynamic, self-executing program. Such a program would be an active agent ton the client computer, yet the server would initiate it. 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 addresses these concerns and doing so, has opened the door to an exiting a new form of program.
The rise of server-side Java applications is one of the latest and most exciting trends in Java programming. It was first hyped as a language for developing elaborate client-side web content in the form of applets. Now, Java is coming into its own as a language ideally suited for server-side development. Businesses in particular have been quick to recognize Java’s potential on the server-Java is inherently suited for large client/server applications. The cross platform nature of Java is extremely useful for organizations that have a heterogeneous collection of servers running various flavors of the Unix of Windows operating systems. Java’s modern, object-oriented, memory-protected design allows developers to cut development cycles and increase reliability. In addition, Java’s built-in support for networking and enterprise API provides access to legacy data, easing the transition from older client/server systems.
Java Servlets are a key component of server-side java development. A Servlets is a small, plug gable extension to a server that enhances the server’s functionality. Servlets allow developers to extend and customize and Java enabled server a web server, a mail server, an application server, or any custom server with a hitherto unknown degree of portability, flexibility and ease.
JDBC
What Is JDBCTM?
JDBCTM is a JavaTM API for executing SQL statements. (As a point of interest, JDBC is a trademarked name and is not an acronym; nevertheless, JDBC is often thought of as standing for "Java Database Connectivity".) It consists of a set of classes and interfaces written in the Java programming language. JDBC provides a standard API for tool/database developers and makes it possible to write database applications using a pure Java API.
Using JDBC, it is easy to send SQL statements to virtually any relational database. In other words, with the JDBC API, it isn't necessary to write one program to access a Sybase database, another program to access an Oracle database, another program to access an Informix database, and so on. One can write a single program using the JDBC API, and the program will be able to send SQL statements to the appropriate database. And, with an application written in the Java programming language, one also doesn't have to worry about writing different applications to run on different platforms. The combination of Java and JDBC lets a programmer write it once and run it anywhere.
Java being robust, secure, easy to use, easy to understand, and automatically downloadable on a network, is an excellent language basis for
database applications. What is needed is a way for Java applications to talk to a variety of different databases. JDBC is the mechanism for doing this.
JDBC extends what can be done in Java. For example, with Java and the JDBC API, it is possible to publish a web page containing an applet that uses information obtained from a remote database. Or an enterprise can use JDBC to connect all its employees (even if they are using a conglomeration of Windows, Macintosh, and UNIX machines) to one or more internal databases via an intranet. With more and more programmers using the Java programming language, the need for easy database access from Java is continuing to grow.
MIS managers like the combination of Java and JDBC because it makes disseminating information easy and economical. Businesses can continue to use their installed databases and access information easily even if it is stored on different database management systems. Development time for new applications is short. Installation and version control are greatly simplified. A programmer can write an application or an update once, put it on the server, and everybody has access to the latest version. And for businesses selling information services, Java and JDBC offer a better way of getting out information updates to external customers.
JDBC does the following things:
Establish a connection with a database
Send SQL statements
Process the results.
The following code fragment gives a basic example of these three steps:
Class.forName (“oracle.jdbc.driver.OracleDriver”);
Connectioncon=DriverManager.getcConnection(“jdbc:oracle:thin192.168.0.2:1521:tit”,”scott”,”tiger”);
Statement stmt=con.createStatement ();
CONNECTION
A connection object represents a connection with a database. A connection session includes the SQL statements that are executed and the results that are returned over the connection. A single application can have one or more connections with a single database, or it can have connections with many different databases.
OPENING A CONNECTION
The standard way to establish a connection with a database is to call the method DriverManager.getConnection. This method takes a string containing a URL. The Driver Manager class, referred to a the JDBC management layer, attempts to locate a driver than can connect to the database represented Driver classes, and when the method get Connection is called, it checks with each driver in the list until it finds one that can connect uses this URL to actually establish the connection.
The standard syntax for JDBC URLs is:
Jdbc: < sub protocol>: < sub name>
A JDBC URL has three parts, which are separated by colons:
jdbc-the protocol. The protocol in a JDBC URL is always jdbc.
<Sub protocol>-usually the driver or the database connectivity mechanism, which may be supported by one or more drivers. A
prominent example of a sub protocol name is “oracle”, which has been reserved for URLs that specify “thin”-style data source names.
<Sub name>- a way to identify the database. The sub names can vary, depending on the sub protocol, and it can have a sub name with any internal syntax the driver writer chooses. The point of a sub name is to give enough information to locate the database.
SENDING STATEMENT:
Once a connection is established, it is used to pass SQL statements to its underlying database. JDBC does not put any restrictions on the kinds of SQL statements that can be sent; this provides a great deal of flexibility, allowing the use of database-specific statements or even non-SQL statements. It requires, however, that the user be responsible for making sure that the underlying database can process the SQL statements being sent and suffer the consequences if it cannot.
DRIVER MANAGER:
The Driver Manager class is the management layer of JDBC, working between the user and the drivers. It keeps track of the drivers that are available and handles establishing a connection between a database and the appropriate driver. It addition, the driver manager class attends to things like driver login time limits and the printing of log and tracing messages. The only method in this class that a general programmer needs to use directly is DriverManager.getConnection. As its name implies, this method establishes a connection to a database.
copious use of them, including the notoriously error-prone generic pointer "void *". You can think of JDBC as ODBC translated into an object-oriented interface that is natural for Java programmers.
ODBC is hard to learn. It mixes simple and advanced features together, and it has complex options even for simple queries. JDBC, on the other hand, was designed to keep simple things simple while allowing more advanced capabilities where required.
A Java API like JDBC is needed in order to enable a "pure Java" solution. When ODBC is used, the ODBC driver manager and drivers must be manually installed on every client machine. When the JDBC driver is written completely in Java, however, JDBC code is automatically installable, portable, and secure on all Java platforms from network computers to mainframes.
In summary, the JDBC API is a natural Java interface to the basic SQL abstractions and concepts. It builds on ODBC rather than starting from scratch, so programmers familiar with ODBC will find it very easy to learn JDBC. JDBC retains the basic design features of ODBC; in fact, both interfaces are based on the X/Open SQL CLI (Call Level Interface). The big difference is that JDBC builds on and reinforces the style and virtues of Java, and, of course, it is easy to use. More recently, Microsoft has introduced new APIs beyond ODBC: RDO, ADO, and OLE DB. These designs move in the same direction as JDBC in many ways, that is, in being an object-oriented database interface based on classes that can be implemented on ODBC. However, we did not see compelling functionality in any of these interfaces to make them an alternative basis to ODBC, especially with the ODBC driver
market well established. Mostly they represent a thin veneer on ODBC. This is not to say that JDBC does not need to evolve from the initial release; however, we feel that most new functionality belongs in higher- level APIs such as the object/relational mappings and embedded SQL mentioned in the previous section.
TWO-TIER AND THREE-TIER MODELS
The JDBC API supports both two-tier and three-tier models for database access. In the two-tier model, a Java applet or application talks directly to the database. This requires a JDBC driver that can communicate with the particular database management system being accessed. A user's SQL statements are delivered to the database, and the results of those statements are sent back to the user. The database may be located on another machine to which the user is connected via a network. This is referred to as a client/server configuration, with the user's machine as the client, and the machine housing the database as the server. The network can be an intranet, which, for example, connects employees within a corporation, or it can be the Internet.
In the three-tier model, commands are sent to a "middle tier" of services, which then send SQL statements to the database. The database processes the SQL statements and sends the results back to the middle tier, which then sends them to the user. MIS directors find the three-tier model very attractive because the middle tier makes it possible to maintain control over access and the kinds of updates that can be made to corporate data. Another advantage is that when there is a middle tier, the user can employ an easy-to-use higher-level API which is translated by the middle tier into the
appropriate low-level calls. Finally, in many cases the three-tier architecture.
Until now the middle tier has typically been written in languages such as C or C++, which offer fast performance. However, with the introduction of optimizing compilers that translate Java bytecode into efficient machine-specific code, it is becoming practical to implement the middle tier in Java. This is a big plus, making it possible to take advantage of Java's robustness, multithreading, and security features. JDBC is important to allow database access from a Java middle tier.
JDBC DRIVER TYPES
The JDBC drivers that we are aware of at this time fit into one of four categories:
JDBC-ODBC bridge plus ODBC driver: The JavaSoft bridge product provides JDBC access via ODBC drivers. Note that ODBC binary code, and in many cases database client code, must be loaded on each client machine that uses this driver. As a result, this kind of driver is most appropriate on a corporate network where client installations are not a major problem, or for application server code written in Java in three-tier architecture.
Native-API partly-Java driver: This kind 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.
JDBC-Net pure Java driver: This driver translates JDBC calls into a DBMS- independent net protocol, which is then translated to a DBMS
protocol by a server. This net server middleware is able to connect its pure Java clients to many different databases. The specific protocol
used depends on the vendor. In general, this is the most flexible JDBC alternative. It is likely that all vendors of this solution will provide products suitable for Intranet use. In order for these products to also support Internet access, they must handle the additional requirements for security, access through firewalls, and so on, that the Web imposes. Several vendors are adding JDBC drivers to their existing database middleware products.
Native-protocol pure Java driver: This kind of driver converts JDBC calls into the network protocol used by DBMSs directly. This allows a direct call from the client machine to the DBMS server and is a practical solution for Intranet access. Since many of these protocols are proprietary, the database vendors themselves will be the primary source, and several database vendors have these in progress.
Eventually, we expect that driver categories 3 and 4 will be the preferred way to access databases from JDBC. Driver categories 1 and 2 are interim solutions where direct pure Java drivers are not yet available. There are possible variations on categories 1 and 2 (not shown in the table below) that require a connector, but these are generally less desirable solutions. Categories 3 and 4 offer all the advantages of Java, including automatic installation (for example, downloading the JDBC driver with an applet that uses it).
The following chart shows the four categories and their properties:
DRIVER CATEGORY
ALL JAVA?
NET PROTOCOL
1 – JDBC-OCBC Bridge
No
Direct
2 – Native API as basis
No
Direct
3 – JDBC-Net
Yes
Requires Connector
4 – Native protocol as basis
Yes
Direct
OBTAINING JDBC DRIVERS
At the time of this writing, there are dozens of drivers in Category 1: ODBC drivers that can be used with JavaSoft's bridge. There are currently about a dozen Category 2 drivers built on top of native APIs for DBMSs. There are a few Category 3 drivers. Currently there are at least two Category 4 drivers, but by the end of 1997, we expect that there will be Category 4 drivers for all of the major DBMSs.
To get the latest information on drivers, check the JDBC web page at http:// java.sunproducts/jdbc. The first vendors with Category 3 drivers available were SCO, Open Horizon, Visigenic, and Web Logic. JavaSoft and Intersolv, a leading database connectivity vendor, worked together to produce the JDBC-ODBC Bridge and the JDBC Driver Test Suite.
SERVLETS
In the early days of the web, a server could dynamically construct a page by creating a separate process to handle each client request. The process would open connection to one or more databases in order to obtain the necessary information. It communicated with the web server via an interface known as the Common Gateway Interface (CGI) .CGI allowed the separate process to read data from HTTP request and write data to the HTTP response. A variety of different languages were used to build CGI programs including C, C++ and Perl.
However, CGI suffered serious performance problems. Creating a separate process for each request was expensive, in terms of the processor and resources. It was also expensive to open and close database connections for each request.
Servlets offer several advantages over CGI:
Performance is significantly better.
Servlets execute within the address space of a web browser.
Creating a separate process to handle each request isn’t necessary.
ORACLE 8iSERVER
Introduction to Oracle:
Any programming environment used to create containers, to manage human data, in the conceptualization as a Data Management System. Traditionally, the block of human data being managed is called a Database. Hence, in very simple terms, these programming environments can the conceptualized as Database Management Systems, in short DBM systems.
All Databases Management Systems (that is, Oracle is DBMS) allow users to create containers for data stories and management. These
containers are called ‘cells’. The minimum information that has to be given to Oracle for a suitable container to be constructed, which can hold free from human data, is
The cell name
The cell length
The type of data that can be placed into the cell.
Another name that programming environments use for a ‘Cell’ is ‘Field’. These can the conceptualized as follows.
Basic Database Concepts:
A database is a corporate collection of data with some inherent meaning, designed, built and populated with data for a specific purpose. A database stores data that is useful to us. This data is only a part of the entire data available in the world around us.
To be able to successfully design and maintain databases we have to do the following:
Identify which part of the world’s data is of interest to us.
Identify what specific objects in that part of the world’s data are of interest to us.
Identify a relationship between the objects.
Hence the objects, their attributes and the relationship between them that are of interest to us are still owed in the database that is designed, built and populated with data for a specific purpose.
Characteristics of a Database Management System:
It represents a complex relationship between data.
Keeps a tight control of debtor redundancy.
Enforces user-defined rules to ensure integrity of table data.
Has a centralized data dictionary for the storage of information pertaining to data and its manipulation.
Ensures that data can be shared across applications.
Enforces data access authorization has automatic, intelligent backup and recovery procedures for data.
Have different interfaces via which users can manipulate data.
Relational Database Management:
A relational database management system uses only its relational capabilities to manage the information stored in its databases.
Information Representation:
All information stored in a relational database is represented only by data item values, which are stored in the tables that make up the database. Associations between data items are not logically represented in any other way, such as the use of pointers from one table to the other.
Logical accessibility:
Every data item value stored in relational database is accessible by stating the nature of the table it is stored in, the name of the column under which it is stored and the value of the primary key that defines the row in which it is stored.
Representation of null values:
The database management system has a consistent method for representing null values. For example, null values for numeric data must be distinct from zero or any other numeric and for the character data it must be different from a string of blanks or any other character value.
Catalogue facilities:
The logical description of the relation database is represented in the same manner as ordinary data. This is done so that the facilities of the relation database management system itself can be used to maintain database description.
Data Language:
The relational database management system may support many types of languages for describing data and accessing the database. However, there must be at least one language that uses ordinary character strings to support the definition of data, the definition of views, the manipulation of data, constraints on data integrity, information concerning authorization and the boundaries for recovery of units.
View Updatability:
Any view that can be defined using combination of basic tables, that are theoretically updateable, these capital of being updated by the relational database management system.
Insert Update and Delete:
Any operand that describes the results of a single retrieval operation is capable of being applied to an insert update or delete operation as well.
Physical data independence:
Changes made to physical storage representation or access methods do not require changes to be made to application programmers.
Logical Data Independence:
Changes made to tables, that do not modify any data stored in that table, do not require changes to be made to application programmers.
Integrity Constraints:
Constraints that apply to entity integrity and referential integrity are specifiable by the data language implemented by the database management system and not by the statements coded into the application program.
Database Distribution:
The data language implemented by the relation database management system supports the ability to distribute the database without requiring changes to be made to application programmers. This facility must be provided in the data language, whether or not the database management system itself supports distributed databases.
Non- Subversion:
If the relational database management system supports facilities that allow application programmers to operate on the tables a row at a time, an application programmer using this type access is prevented from by passing entity integrity or referential integrity constraints that are defined for the database.
DESIGN PRINCIPLES & EXPLANATION
To produce the design for large module can be extremely complex task. The design principles used to provide effective handling the complexity of the design process, it will not reduce the effort needed for design but can also reduce the scope of introducing errors during design.
For solving large problems, the problem is divided into small pieces, using the time – tested principle of “divide and conquer”. This system problem divides into small pieces, so that each piece can be conquered separately. This divide principle is used to reduce the cost of entire problem that means the cost solving entire problem is more than the some of the cost of solving all pieces.
Some of the essential fundamental concepts involved in the design of as applications are
Abstraction
Modularity
Verification
Abstraction is used to construct solutions to problems with out having to take account of the intricate details of the various component sub – programs. Abstraction allows system designer to make step-wise refinements by which attach stage of the design unnecessary details annunciate with representation or implementation may be hidden from the surrounding environment.
Modularity is concerned with decomposition of main module into well defined, manageable units with well defined interfaces among the units. This enhances design clarity, which in turn cases implementation, debugging, testing and documentation maintenance of the software product. Modularity viewed in this senses vital tool in the construction of large software projects.
Verification is the fundamental concept in software design. A software design is verification. It can be demonstrated that the design will result in an implementation, which satisfied customer’s requirements.
Some of the important factors of the quality that are to be considered in the design of application are:
Reliability the software should be have strictly according to the
original specification of satisfying customer’s requirements and
should function smoothly under normal and possible abnormal
conditions. This product is highly reliable, can handle any
number of records to filter.
Extensibility the design of the system must be such a way that any new addition to the information functional and behavioral domain may be done easily and should be adapted to new specifications. We provide this extensibility to this product. You can add any number of filters to your product in future.
System design is the process of developing specification for the candidate system that meets that criteria established during the phase of system analysis. Major step in the design is the preparation of input forms and design of output reports in a form acceptable to the user. These steps in turn lead to a successful implementation of the system.
Input design is the process of converting user-originated information to computer-based format. The goal of designing input data is to make data entry as easier and error free as possible. An input format should easy to understand.
Output design reflects image of the organization. The output
Involves designing forms layout, making lists, making well define reports etc. And reports are main output of the proposed system. Here outputs are data reports and graphical reports using statistical tools in crystal reports 9.0 we support and soon.
SYSTEM DESIGN
DESIGN SPECIFICATION
Design of software involves conceiving planning out and specifying the externally observable characteristics of the software product. We have data design, architectural design and user interface design in the design process. These are explained in the following section. The goals of design process it to provide a blue print for implementation, testing, and maintenance activities.
DATA DESIGN
The primary activity during data design is to select logical representations of data objects identified during requirement analysis and software analysis. A data dictionary explicitly on the elements of the data structure. A data dictionary should be established and used to define both data and program design.
DESIGN METHODOLOGY
The two basic modern design strategies employed in software design are
Top Down Design
Bottom Up Design
Top Down Design is basically a decomposition process, which focuses on the flow of control. At later stages it concern itself with the code production. The first step is to study the overall aspects of the tasks at hand and to break it into a number of independent modules. The second step is to break each one of these modules further into independent sub-modules. The process is
Repeated one to obtain modules, which are small enough to group mentally and to code in a straightforward manner. One important feature is that t each level the details of the design at the lower level are hidden. Only the necessary data and control that must be called back and forth over the interface are defined.
In a bottom-up design one first identifies and investigates parts of design that are most difficult and necessary designed decision are made the reminder of the design is tailored to fit around the design already chose for crucial part. It vaguely represents a synthesis process explained in previous section.
One storage point of the top-down method is that it postpones details of the decision until the last stage of the decision. It allows making small design changes when the design is half way through. There is danger that the specifications will be incompatible and this will not be discovered until late in the design process. By contrast the bottom-up strategy first focuses on the crucial part so that feasibility of the design is tested at early stage.
In mixing top-down and bottom-up design it often appears that we start in the middle of the problem and work our way both up and down there. In a complex problem, it is often difficult to decide how to modularize the various procedures in such cases one might consider a list of system inputs and decide what functions are necessary to process these inputs. This is called back to front design. Similarly one can start with the required outputs and work backwards evolving so called front-back design. We have applied both the top down and bottom up approach in our design approach.
DATABASE DESIGN
Databases are normally implemented by using a package called a Data Base Management System (DBMS). Each particular DBMS has somewhat unique characteristics, and so such, general techniques for the design of database are limited. One of the most useful methods of analyzing the data required by the system for the data dictionary has developed from research into relational database, particularly the work of E.F.Codd. This method of analyzing data is called “Normalization”. Unnormalized data are converted into normalized data by three stages. Each stage has a procedure to follow.
NORMALIZATION
The first stage is normalization is to reduce the data to its first normal form, by removing repeating items showing them as separate records but including in them the key fields of the original record.
The next stage of reduction to the second normal form is to check that the record, which one is first normal form, all the items in each record are entirely dependent on the key of the record. If a data item is not dependent on the key of the record, but on the other data item, then it is removed with its key to form another record. This is done until each record contains data items, which are entirely dependent on the key of their record.
The final stage of the analysis, the reduction of third normal form involves examining each record, which one is in second normal form to see whether any items are mutually dependent. If there are any item there are removed to a separate record leaving one of the items behind in the original record and using that as the key in the newly created record.
BUSINESS MODELING:
The information flow among business function is modeled in a way that answers the following questions: what information drives the business process? What information is generated? What generate it? Where does the information go? Who process it?
DATA MODELING:
The information flow defined as a process of the business modeling is refined into a set of data objects that are needed to support the business. The characteristics 9called attributes0 of each object are identified and relationships between these objects are defined.
PROCESS MODELING:
The data objects defined in the data-modeling phase are transformed to achieve the information flow necessary to implement a business function. Processing description is created for addition, modifying, deleting, or retrieving a data object.
THE LINEAR SEQUENTIAL MODEL:
The linear sequential model for software engineering some times called the “classic model” or the “water fall model,” the linear sequential suggests a systematic, sequential approach to software development that begins at eth system level and process through analysis, design, coding, testing, and maintenance.
The linear sequential model is the oldest and the most widely used paradigm for software engineering. Modeled after the conventional engineering cycle, the linear sequential model encompasses the following activities:
1) SYSTEM/INFORMATION ENGINEERING AND MODELLING:
Because software is always part of a larger system (or business), work begins by establishing requirements for all system elements and then allocating some subset of these requirements to software. This system view is essential when software must interface with other elements such as hardware, people, and databases.
System engineering and analysis encompasses requirements gathering at the system level with a small amount of top-level analysis and design. Information engineering encompasses requirements gathering at the strategic business level and at the strategic business level and at the business area level.
2) SOFTWARE REQUIREMENTS ANALYSIS:
The requirements gathering process is intensified and focused specifically on software. To understand the nature of the programs to be built, the software Engineer must under stand the information domain for the software, as well as required function, behavior, performance, and inter facing. Requirements for the both the system and the software are documented and reviewed with the customer.
3) DESIGN:
Software design is actually a multi step process that focuses on four distinct attributes of a program: data structure, software architecture, interface representations, and procedural detail. The design process translates requirements into a representation of the software that can be assessed for quality before code generation begins. Like requirements the design is documented and becomes part of the software configuration.
4) CODE GENERATION:
The design must be translated into a machine-readable form. The code generation step performs this task. If design is performed in a detailed manner, code generation can be accomplished mechanistically.
5) TESTING:
Once code has been generated, program testing process focuses on the logical internals of the software, assuring that all statements have been tested, and on the functional externals that is, conducting tests to uncover errors and ensure that defined input will produce actual results that agree with required results.
6) MAINTENANCE:
Software will undoubtedly undergo change after it is delivered to the customer. Change will occur because errors have been encountered, because the software must be adapted to accommodate changes in its external environment (e.g., a change required because of a new operating system or peripheral devices), or because the customer requires functional or performance enhancement. Software maintenance reapplies each of the preceding phases to existing
UML NOTATIONS:
UML is a notation that resulted from the unification of Object Modeling Technique, Booch and OOSE. UML has been designed for a broad range of applications. Hence, it provides constructs for a broad range of systems and activities.
OVERVIEW OF UML:
Use case diagrams:
Use cases are used during requirements elicitation and analysis to represent the functionality of the system. Use cases focus on the behavior of the system from an external point of view.
A use case describes a function provided by system that yields a visible result for an actor. An actor describes any entity that interacts with the system.
The actors are outside the boundary of the system, whereas the use cases are inside the boundary of the system.
Actors are represented with stick figures, use cases with ovals, and the boundary of the system with a box enclosing the use cases.
Class diagrams:
Class diagrams are used to describe the structure of the system. Classes are abstractions that specify the common structure and behavior of a set of objects. Objects are instances of classes that are created, modified, and destroyed during the execution of the system. Objects have state that includes the values of its attributes and its relationships with other objects.
Class diagrams describe the system in terms of objects, classes, attributes, operations and their associations.
Sequence diagrams:
Sequence diagrams are used to formalize the behavior of the system and to visualize the communication among objects. They are useful for identifying additional objects that participates in the use cases A sequence diagram represents the interactions that take place among these objects.
State chart diagrams:
Statechart diagrams describe the behavior of an individual object as a number of states and transitions between the states. A state represents a particular set of values for objects. Given a state, a transition represents a future state the object can move to and the conditions associated with the change of state.
A state chart diagram focuses on the transitions between states as a result of external events for an individual object.
Activity diagrams:
An activity diagram describes a system in terms of activities. Activities are states that represent the execution of a set of operations. The completion of these operations triggers a transition to another activity.
Activity diagrams are similar to flowchart diagrams in that they can be used to represent control flow and data flow.
UML diagrams:
Usecase diagram
SHAPE \* MERGEFORMAT
Sequence Diagram:
SHAPE \* MERGEFORMAT
Class Diagram
SHAPE \* MERGEFORMAT
StateDiagram:
DATA DICTIONARY
empdetails
Name Null? Type
----------------------------------------------------- -------- ----------------
EMPID NUMBER
KEY VARCHAR2(10)
AC_STATUS VARCHAR2(1)
DOJ VARCHAR2(10)
USERID VARCHAR2(25)
address book
Name Null? Type
----------------------------------------------------- -------- ----------------
NAME VARCHAR2(40)
USERID VARCHAR2(20)
DOB VARCHAR2(14)
EMAIL VARCHAR2(40)
PHONE VARCHAR2(16)
CITY VARCHAR2(30)
OUSERID VARCHAR2(25)
advices
Name Null? Type
----------------------------------------------------- -------- ----------------
NAME VARCHAR2(50)
PHONE VARCHAR2(14)
EMPID VARCHAR2(6)
ADDRESS VARCHAR2(40)
MESSAGE VARCHAR2(500)
clientonline
Name Null? Type
----------------------------------------------------- -------- ----------------
USERID VARCHAR2(25)
ROOMNAME VARCHAR2(20)
DATEOFLOG VARCHAR2(25)
TIMEOFLOG VARCHAR2(25)
Name Null? Type
----------------------------------------------------- -------- ----------------
USERID VARCHAR2(25)
WHOSEND VARCHAR2(25)
MESSAGE LONG
TIMING VARCHAR2(50)
READ CHAR(1)
SUBJECT VARCHAR2(25)
password
Name Null? Type
----------------------------------------------------- -------- ----------------
USERID VARCHAR2(25)
PWD VARCHAR2(20)
BAN VARCHAR2(1)
roomdetails
Name Null? Type
----------------------------------------------------- -------- ----------------
ROOMNAME VARCHAR2(25)
RIN VARCHAR2(20)
MODERATOR VARCHAR2(25)
userdetails
Name Null? Type
----------------------------------------------------- -------- ----------------
USERID VARCHAR2(25)
NAME VARCHAR2(60)
ADDRESS VARCHAR2(120)
ZIP VARCHAR2(6)
PHONE VARCHAR2(12)
EMAIL VARCHAR2(50)
SEX VARCHAR2(1)
EDUCATION VARCHAR2(30)
COUNTRY VARCHAR2(25)
CITY VARCHAR2(20)
STATE VARCHAR2(25)
DOB VARCHAR2(12)
security
Name Null? Type
----------------------------------------------------- -------- ----------------
USERID VARCHAR2(25)
QUES