Download as doc, pdf, or txt
Download as doc, pdf, or txt
You are on page 1of 103

INTRODUCTION

Developing Global Communication for National Engineering Corporation. 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. o implementing the same concept on the Net is nothing but Global Communication

Why to develop Global Communication : Now a day!s time is becoming


more and more precious."##$ industries are computeri%ed 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. o most of the companies now days made on line sales and purchases. o distributors, customers and companies can continue their business dealings using this on&line sales and purchases. 'y this they can save their valuable time. (ere the company is the manufacturer of Transformers and Stabilizers .)or their growth of business they want to develop this sort of Global Communication. Through this they will be able to ma*e conferences with their clients +distributors, or with their customers with timely updates of the company business. o they can improve their products with respect to the customers view. This will help them to become a number one position in the current mar*et. The another advantage is that the company is having branches throughout the country. o this will help them to communicate business affairs of

"

. exe I

the company and live meetings and conferences between their employees and directors. They can conduct board of directors meeting -t will give .n&line solutions from the superiors to the employees. /i*ely there are so many advantages by developing this Global Communication for a company li*e NEC. Features: Grouping0 Grouping of selected users upport of multi conference 'y selecting the single user from the list, Talk can be achieved 'y selecting all the users in the list, Chat can be achieved

ABOUT T ! ORGA"NI#ATION
N2T-.N2/ ENG-NEE3-NG C.34.32T-.N +NEC, is a 4remier organi%ation in -ndia and it was established in 5une "678 to play a promotional role in the development of Transformers and tabili%ers. -t provides re9uirements to the corporate sector. The last decade had witnessed NEC emerge as an agent of change that has 9uietly changed the wor* culture and the process of decision. The organi%ation of NEC is located at (:DE32'2D, 5EED-;ET/2. To meet the ob<ectives, NEC!s infrastructure was e=panded and another is located at ;>;'2-. NEC has come a long way since its earlier days. NEC has now been in operation for over 1? years and has become an integral part of a large number of Corporate ector .rgani%ations. NEC has emerged as an agent of change in the lives of the people. -nformation handling has been made more effective and meaningful through the usage of computer systems because of presentation in different formats such as graphs and charts of the company!s annual production and sales which can immediately trigger the imagination and thin*ing of decision ma*ers. Today NEC is playing a vital role in the lives of the people by facilitating them with their re9uirements. The services provided by NEC include the development of T32N ).3;E3 and T2'-/-@EE3 . NEC covers a full ranges of low tension +up to 88#A, B# to 8# (%, current transformers both for
?

metering and protection. Current Transformers are manufactured generally confirming to the -ndian tandards. The type class accuracy and burden of these transformers depends on the purpose for which they are used. NEC 2C Aoltage tabili%er provides cost&effective solutions to problems of fluctuations by ensuring constant output voltage. The field of application is very wide for 2C tabili%er. Ceeping in view of the wide range of our country which spans from Cashmir to Canya*umari NEC puts its best effort to provide good 9uality supply. The principal role played by NEC, besides changing the wor* culture and ma*ing the administration more effective and efficient at all levels, is in the nature of demolishing barriers and in ma*ing the wor*ing of the organi%ation more transparent to the public, as well as in ma*ing the information more readily available from one Department to another. The availability of information, accurately and on a timely basis, re9uired by the officials concerned, has given a new dimension to the management. NEC is proud that it has made all this possible. With this support today it is proud to declare that it is going to launch its site on the -NTE3NET. 2 ma<or resource of NEC is its highly s*illed pool of manpower . The main ob<ective of NEC is ".To design and develop Transformers and tabili%ers. 1. To generate, s*illed manpower within departments. With the facility of having its site on the -NTE3NET the organi%ation is going to e=pand than what is today. -t can have orders being placed. Today it has an easy access to all this than what it was earlier.

$R!"!NT "%"T!&
Conferences will ta*e part a vital role for any of the national wide company. 2 company li*e National Engineering Corporation it ta*es part an important role. 'ecause the company is having branches through out -ndia, 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. o it will be very ris*y to travel for the persons, and it is ris*y wor* for the company also to provide all the felicities to persons. Now a day wherever you see so many stri*es are going. -n that case to participate in any important conference or to conduct any conference will be very tedious. 2ll this may lead to loss of company and time ta*ing matters. o here the company is decided to develop their conferences on the net itself.

$RO$O"!D "%"T!&
The proposed system is to maintain the conferences, live meetings, general body meetings on the net. This system is to develop in a clientEserver environment. -t aims to do the following.

Grouping0 Grouping of selected users upport of multi conference

'y selecting the single user from the list, Talk can be achieved 'y selecting all the users in the list, Chat can be achieved Need 'o( compute(i)ation: Time plays an important role in today!s world. 2ny information is useful if it is available on the right time. Fuic* and correct information at he right time needs computeri%ation. ;any scientists! engineers have to spend their valuable time to attend a conference, which is going on a long distance place. )or them even one second costs millions and millions of dollars. o this pro<ect 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. o implementing the same concept on the Net is nothing but Global Communication. This pro<ect is used to0 Conduct conferences with their employees. o 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. o 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. -t will give .n&line solutions from the superiors to the employees.

$*AT+OR&,$AC-AG!" "!*!CT!D
WINDOW" NT:
Windows NT is an operating system developed by ;icrosoft. Two versions of NT are available0 a server version and a wor*station version. 'oth share the same architecture, but the server version is optimi%ed for running server operations, while the wor*station version is intended for client machines. Windows NT wor*station is focussed on providing a des*top operating system for solving comple= business needs, offering performance for systems such as dual&processor wor*station or multiprocessor 3- C servers. Windows NT is a ?1&bit operating system. -t offers much greater data transfer speed than a "8 bit operating system, both with in the processor and to peripherals, and it allows a much larger memory space to be addressed, boosting performance even more. The larger memory space means that ?1&bit operating systems have the band width to offer other processing advantages, such as the ability to run different applications in separate memory spaces, perform multitas*ing and so on. NT wor*station re9uires a powerful system. 2 minimum configuration of a DG8 4C with "8 ;bytes of 32; and 1## ;bytes of hard dis* is recommended by the ;icrosoft.

Windows NT wor*station uses pre&emptive multitas*ing, which allows users to run tas*s simultaneously, without losing system performance. 4re&emptive multitas*ing assigns processing resources e9ually between all the applications that are running, slowing down all of them e9ually. ;ultitas*ing, which is provided by, NT is vital for ta*ing advantage of multiprocessing. -t allows different parts of a program to be handled independently by the operating systems Windows NT provides crash protection by running applications in separate address spaces. NT protects system resources by giving each application a mirror of the system resources within its own spaces. -f the application crashes only the mirrored resources, is affected, while the real system resources, continues to function. NT meets the security certification re9uirements for users level security on access to a standalone wor*station. )iles, folders and application can be made invisible to specific users. -t also provides secure user profiles to control access to the des*top applications and system configuration files. 2 transacted file offers increased data protection. NT wor*station comes with the most common networ*ing protocols, including Netware, TC4E-4, -4HE 4HE /-4 and 444. -t also scalable and runs on a variety of platforms. 2s more powerful mainstream machines are developed, technologies created for NT wor*station will migrate to Windows 6B. The advantage is this compatibility brings to customers an users are that applications can be shared across the two operating systems, that training needs are reduced as ease of use is increased and the that the larger volume of application leads to lower software and support cost.

T&*:
To publish information for global distribution, one needs a universally understood language, a *ind of publishing mother tongue that all computers may potentially understand. The publishing language used by the World Wide Web is (T;/ +(yper Te=t ;ar*up /anguage,. (T;/ gives authors the means to 4ublish online documents with headings, te=t, tables, lists, photos, etc. 3etrieve online information via hyperte=t lin*s, at the clic* of a button Design forms for conducting transactions with remote services, for use in searching for information, ma*ing reservations, ordering products etc. -nclude spread & sheets, video clips, sound clips, and other applications directly in their documents. A b(ie' hi.to(y o' T&*: (T;/ was originally developed by Tim 'erners&/ee while at CE3N, and populari%ed by the ;osaic browser developed at NC 2. During the course of the "66#s it has blossomed with the e=plosive growth of the Web during this time. (T;/ has been e=tended in a number of ways. The Web depends on Web page authors and vendors sharing the same conventions for (T;/. This has motivated <oint wor* on specifications for (T;/. (T;/ 1.# +November "66B, was developed under the aegis of the -nternet Engineering Tas* )orce +-ET), to codify common practice in late "66D. (T;/
6

+"66?, and +I(T;/.?#J, +"66B, proposed much richer versions of (T;/, despite never receiving consensus in standards discussions, these drafts led to the adoption of new features. The efforts of the Wo(ld Wide Web Con.o(tium/. (T;/ wor*ing group to codify common practice in "668 resulted in (T;/ ?.1 +5anuary "667,. ;ost people agree that (T;/ documents should wor* well across 2chieving interoperability lowers costs to different browsers and platforms.

content providers since they must develop only one version of a document. -f the effort is not made, there is much greater ris* that the Web will devolve into a proprietary world of incompatible formats, ultimately reducing the Web!s commercial potential for all participants. Table.: 2uthors now have greater control over structure and layout +e.g. column groups,. The ability of designers to recommend column widths user agents to display table data incrementally +as it arrives, rather than waiting for the entire table before rendering. Compound document.: (T;/ now offers a standard mechanism for embedding generic media ob<ects and applications in (T;/ documents. The .'5ECT element +together with its more specific ancestor elements -;G and 244/ET provides a mechanism for including images, video, sound, mathematics, speciali%ed applications, and other ob<ects in a document. -t also allows authors to specify a hierarchy of alternate renderings for user agents that don!t support a specific rendering. "tyle .heet.:

"#

tyle sheets simplify (T;/ mar*up and largely relieve (T;/ of the responsibilities of presentation. They give both authors and users control over the presentation of documents& font information, alignment, colors, etc. tyle information can be specified for specific elements or groups of elements either within an (T;/ document or in separate style sheets. The mechanism for associating a style sheet with a document is independent of the style sheet language. 'efore the advent of style sheets, authors had limited control over rendering (T;/ ?.1 included a number of attributes and elements offering control over alignment, font si%e, and te=t color. 2uthors also e=ploited tables and images as a means for laying out pages. The relatively long time it ta*es for users to upgrade their browsers, means that these features will continue to be used for some time. (owever, since style sheets offer more powerful presentation mechanisms, the World Wide Web Consortium will eventually phase out many of (T;/!s presentation elements and attributes. "c(iptin0: Through scripts, authors may create Ksmart formsL that react at users fill them out. cripting allows designers to create dynamic Web pages, and to use (T;/ as a means to build networ*ed applications. The mechanism provided to associate (T;/ with scripts are independent of particular scripting languages. $(intin0: ometimes, authors will want to ma*e it easy for users to print more than <ust the current document. When documents form part of a larger wor*, the relationships between them can be described using the (T;/ /-NC element or using W?C!s 3esource Description /anguage. De.i0nin0 document. 1ith T&* 234:
""

The following general principles are observed when wor*ing with (T;/ D.# "epa(ate .t(uctu(e and p(e.entation (T;/ has its roots in G;/, which has always been a language for the specification of structural mar*up. 2s (T;/ matures more and more of its presentational elements and attributes are being replaced by other mechanisms, in particular style sheets. E=perience has shown that separating the structure of a document from its presentational aspects reduces the cost of serving a wide range of platforms, media, etc., and facilities document revisions. Acce..ibility To The Unive(.al Wide 5Web: To ma*e the Web more accessible to everyone, notably those with disabilities, authors should consider how their documents, may be rendered on a variety of platforms, speech&based browsers, 'raille readers, etc. We do not recommend that designers limit their creativity, only that they consider alternate renderings in their design. (T;/ offers a number of mechanisms to this end +e.g., the alt attribute, the access *ey attribute, etc,. )urthermore, authors should *eep in mind, that their documents may be reaching a far&off audience with different computer configurations. -n order for documents to be interpreted correctly, designers should include in their document information about the natural language and direction of the te=t, how the document is encoded, and other issues related to internationali%ation. (elp user agents with incremental rendering0 'y carefully designing their labels and ma*ing user of new table features in (T;/ D.#, designers can help users agents render documents more 9uic*ly. 2uthors can learn how to design tables for incremental rendering.

"1

6A7A "CRI$T:
5ava cript is a scripting language developed <ointly by un and

Netscape and is meant for the WWW. 2 scripting language is a simple programming language designed to enable programmers to write useful programs 9uic*ly. 2 script is a similar to a macro, which tells a program how to perform a specific procedure. 6ava"c(ipt +act.: 6ava"c(ipt I. !mbedded Into T&*:

5ava cript code is usually embedded into a (T;/ document and is e=ecuted, within them. 'y itself 5ava cript has no user interface. -t relies on, (T;/ to provide the means of interaction with the user. ;ost 5ava cript ob<ects have (T;/ tags they represent. 5ava cript e=tends the capabilities of (T;/ by providing events to (T;/ tags and provide event driven code to e=ecute it. 6ava"c(ipt I. B(o1.e( Dependent: 5ava cript depends on the Web browser to support it. -f the browser does not support it, 5ava cript code will be ignored. -nternet E=plorer ?.#

"?

. exe I

and, Netscape Navigator 1.# onwards support 5ava cript.

6ava"c(ipt I. an Inte(p(eted *an0ua0e: 5ava cript is interpreted at runtime by the browser before it is e=ecuted it. -t is not compiled into a separate program li*e a .e=e but remains part of the (T;/ file. 6ava"c(ipt I. a *oo.ely Typed *an0ua0e: 5ava cript is very fle=ible compared to 5ava. :ou need not specify, the data type of a variable while declaring it. 2lso you need not declare Aariables e=plicitly. -t is perfectly legal to declare variable as and when you re9uire them. 6ava"c(ipt I. an Ob8ect9Ba.ed *an0ua0e: 5ava cript is an ob<ect&based language. :ou can wor* with ob<ects, That encapsulates data +properties, and behavior +method,. (owever 5ava cript ob<ect model is instance&based and there is no inheritance. This is the basic difference between an ob<ect oriented and an ob<ect&based language. 6ava"c(ipt I. !vent9D(iven: (T;/ ob<ects such as buttons are enhanced to support event handlers. :ou can specify the functionality of a button. 6ava"c(ipt I. Not 6ava: 5ava applet is stored in a separate file and connected to a (T;/ file through the MappletN tag, and it is a strongly typed, ob<ect oriented compiled language. 5ava cript is loosely typed ob<ect based, interpreted language meant to create scripts. 6ava"c(ipt I. &ulti'unctional: 5ava cript can be used to

"D

Enhance (T;/ pages Develop client side applications 'uild to a certain e=tent clientEserver Web applications Create e=tensions to a Web server. 4rovide database connectivity without using CG-.

6ava"c(ipt I. !volvin0: 5ava cript evolved in December "66B. 2s the time goes buy, 5ava cript will be embedded and new features added to it. 6ava"c(ipt *an0ua0e "pan. Conte:t.: 5ava cript can be used in server side Netscape /iveWire 4ro Environment and ;icrosoft!s 2ctive H server frame wor*. -t is not <ust a client side scripting tool. W!B Application +(ame Wo(k Client ide )rame Wor* Client ide 2pplications mart 4ro upport

Data validation Creating -nteractive )orms Client ide /oo*up Tables tate ;aintenance

"B

ABOUT 6A7A
CR!ATION O+ 6A7A0 5ava was conceived by 5ames Gosling, 4atric* Naughton, Chris Warth, Ed )ran* and ;i*e heridan at >N ;icro ystems -nc Corporation in "66". -t too* "Gmonths to develop the first wor*ing version. This language was initially called O.2CO, but was renamed O52A2O in "66B. 'efore the initial implementation of .2C in "661 and the public announcement of 5ava in"66B, many more contributed to the design and evolution of the language. 6A7A O7!R7I!W: 5ava is powerful but lean on .b<ect .riented programming language. -t has generated a lot of e=citement because it ma*es it possible to program for -nternet by creating applets, programs that can be embedded in web page. The conte=t of an applet is limited only by onePs imagination. )or e=ample, an applet can be an animation with sound, an interactive game or a tic*er tape with

"8

. exe I

constantly updated stoc* prices. 2pplets can be <ust little decorations to liven up web page, or they can be serious applications li*e word processors or spreadsheet. 'ut 5ava is more than a programming language for writing applets. -t is being used more and more for writing standalone applications as well. -t is becoming so popular that many people believe it will become standard language for both general purpose and -nternet programming. There are many bu%%words associated with 5ava, but because of its spectacular growth in popularity, a new bu%% word has appeared ambiguous, -ndeed, all indications are that it will soon be everywhere. 5ava builds on the strength of CQQ. -t has ta*en the best features of CQQ and discarded the more problematic and error prone parts. To this lean core, it has added garbage collection +automatic memory management,, multithreading +the capacity for one program to do more than one thing at a time,, security capabilities. The result is that 5ava is simple, elegant, powerful and easy to use. 5ava is actually a platform consisting of three components0 ". 5ava programming language. 1. 5ava is library of classes and interfaces. ?. 5ava is a Airtual ;achine. The following sections will say more about these components0 6A7A I" $ORTAB*!: .ne of the biggest advantages 5ava offers is that it is portable. 2n application written in 5ava will run on all the ma<or platforms. 2ny computer with a 5ava based browser can run the applications or applets written in the 5ava
"7

programming language. 2 programmer no longer has to write one program to run on a ;acintosh, another program to run on a Windows machine, still another to run on a >N-H machine, and so on. -n other words, with 5ava, developers write their programs only once. The Airtual ;achine is what gives 5ava its cross platform capabilities. 3ather than being compiled into ;achine language, which is different for each operating systems and computer architecture, 5ava code is compiled into byte codes. With other languages, the program code is compiled into a language that the computer can understand. The problem is that other computers with different machine instruction set cannot understand that language. 5ava code, on the other hand is compiled into byte codes rather than a machine language. These byte codes go to the 5ava Airtual ;achine, which e=ecutes them directly or translates them into the language that is understood by the machine running it. With 5D'C 24- e=tending 5ava, a programmer writing 5ava code can access all the ma<or relational databases on any platform that supports the 5ava Airtual ;achine. 6A7A I" OB6!CT&ORI!NT!D: The 5ava programming language is ob<ect oriented, which ma*es program design focus on what you are dealing with rather than on how you are going to do something. This ma*es it more useful for programming in sophisticated pro<ects because one can brea* the things down into understandable components. 2 big benefit is that these components can then be reused. .b<ect oriented languages use the paradigm of classes. -n simplest term, a class includes both the data and the functions to operate on the data.
"G

:ou can create an instance of a class, also called an ob<ect, which will have all the data members and functionality of its class. 'ecause of this, you can thin* of a class as being li*e a template, with each ob<ect being a specific instance of a particular type of class. The class paradigm allows one to encapsulate data so that specific data values are those using the data can not see function implementation. Encapsulation ma*es it possible to ma*e the changes in code without brea*ing other programs that use that code. -f for e=ample the implementation of a function is changed, the change is invisible to the another programmer who invo*es that function, and it does not affect hisEher program, e=cept hopefully to improve it. 5ava includes inheritance, or the ability to derive new classes from e=isting classes. The derived class, also called a subclass, inherits all the data and the functions of the e=isting class, referred to as the parent class. 2 subclass can add new data members to those inherited from the parent class. 2s far as methods are concerned, the subclass can reuse the inherited methods, as it is, change them, andEor add its own new methods. 6A7A &A-!" IT !A"% TO WRIT! CORR!CT COD!: -n addition to being portable and ob<ect oriented, 5ava facilitates writing correct code. 4rogrammers spend less time writing 5ava code and a lot less time debugging it. -n fact, developers have reported slashing development time by as much as two thirds. The following is a list of some of 5avaPs features that ma*e it easier to write correct code0 GARBAG! CO**!CTION:
"6

2utomatically ta*es care of allocating and de allocating memory, a huge potential source of errors. -f an ob<ect is no longer being used +has no references to it,, then it is automatically removed from memory, or OGarbage CollectedO. 4rogrammers donPt have to *eep trac* of what has been allocated and de allocated themselves, which ma*es their <ob a lot easier, but, more importantly it stops memory lea*s. NO $OINT!R": Eliminates big source errors. 'y using ob<ect references instead of many pointers, problems with pointer arithmetic are eliminated, and problems with inadvertently accessing the wrong memory address are greatly reduced. "TRONG T%$ING: Cuts down on runtime errors. 'ecause 5ava enforces strong type chec*ing, many errors are caught when code is compiled. Dynamic binding is possible and often very useful, but static binding with strict type chec*ing is used when possible. "I&$*ICIT%: 5ava is made easier to learn and use correctly. 5ava *eeps it simple by having <ust one way to do something instead of having several alternatives, as in some languages. 5ava 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 5ava lets you add functionality to a class throw the use of interfaces.
1#

6A7A INC*UD!" A *IBRAR% O+ C*A""!" AND INT!R+AC!": The 5ava platform includes an e=tensive class library so that programmers can use already e=isting classes as it is, create subclasses to modify e=isting classes, or implement interfaces to augment the capabilities of classes. 'oth classes and interfaces contain data members +fields, and functions +methods,, but there are ma<or differences. -n a class, fields may be either variable or constant, and methods are fully implemented. -n an interface, fields must be constants, and methods are <ust prototypes with no further implementations. The prototypes give the method signature +the return type, the function name, and the number of parameters, with the type for each parameter,, but the programmer must supply implementations. To use an interface, a programmer defines a class, declares that it implements the interface, and then implements all the methods in that interface as part of the class. These methods are implemented in a way that is appropriate for the class in which the methods are being used. -nterfaces let one add functionality to a class and give a great deal of fle=ibility in doing it. -n other words interfaces provide most of the advantages of multiple inheritance without its disadvantages. 2 pac*age is a collection of related 5ava classes and interfaces. The following list, though not complete, gives e=amples of some 5ava pac*ages and what they cover.

1"

8ava3lan0 99 This pac*age is so basic that it is automatically included in any 5ava program. -t includes classes dealing with numeric, strings, ob<ects, runtime, security and threads. 6ava3io 99 Classes that manage reading data from input streams and writing data to the output streams. 6ava3util 99 ;iscellaneous utility classes, including generic data structures, bit sets, time, date, the string manipulation, random number generation, system properties, notification and enumeration of data structures. 6ava3net 99 Classes for networ* support. 6ava3a1t 99Classes that manage user interface components such as windows, dialog bo=es, buttons, chec* bo=es, lists, menus, scrollbars, and te=t fieldsR the O2WTO stands 2bstract Window Tool*it. 6ava3a1t3ima0e 99 Classes for managing image data, including color models, dropping, color filtering, setting pi=el values, and grabbing snapshots. 6ava3applet 99 The 2pplet class, which provides the ability to write applets, this pac*age also includes several interfaces that connect an applet to its document and to resources for playing audio. 6ava3.;l 99 The 5D'C 24-, classes and interfaces that access databases and send F/ statements. The first three pac*ages listed, <ava.lang, <ava.io, and <ava.util form the foundation, they are the basic classes and interfaces for general&purpose programming. 5ava Development Cit Aersion"." added some new pac*ages, with
11

5D'C is being one of them. .ther new pac*ages include such things as 3emote ;ethod -nvocation, ecurity and 5ava 'eans the new 24- for creating reusable components.

6A7A I" !<T!N"IB*!: 2 big plus for 5ava is the fact it can be e=tended. -t was purposely written to be lean with the emphasis on doing what it does very wellR instead of trying to do everything from the beginning, it was return so that e=tending it is very easy. 4rogrammers can modify e=isting classes or write their own new classes or they can write a whole new pac*age. The 5D'C 24-, the <ava.s9l pac*age, is one e=ample of a foundation upon which e=tensions are being built. .ther e=tensions are being added or wor*ed on in area such as multimedia, -nternet Commerce, conferencing, and Telephony. -n addition to e=tensions there are also main tools being developed to ma*e e=isting capabilities easier to use. )or e=ample, there is already a tool that greatly simplifies creating and laying out Graphical >ser -nterfaces such as menus, dialog bo=es and buttons. 6A7A I" "!CUR! -t is important that a programmer unable to write subversive code for applications or applets. This is especially true with the -nternet being used more and more e=tensively for services such as electronic commerce and electronic distribution of software and multimedia contents. The 5ava platform builds security in four ways.

1?

=3 The 1ay memo(y i. allocated and laid out: -n 5ava an ob<ectPs location in memory is not determined until the runtime, as opposed to C and CQQ, where the compiler ma*es memory layout decisions. 2s a result, a programmer not loo*s at a class definition and figure out how it might be laid in memory. >. The 1ay incomin0 code i. checked: The 5ava Airtual ;achine doesnPt trust any incoming code and sub<ects it to what is called 'yte Code Aerification. The byte code verifier, part of the virtual machine, chec*s that a0 The format of incoming code is correct b0 -ncoming code doesnPt forge pointers c0 -t doesnPt violate access restrictions d0 -t accesses ob<ects as what they are ?3 The 1ay cla..e. a(e loaded: The 5ava byte code loader, another part of the virtual machine, chec*s whether classes loaded during program e=ecution are local or from across a networ*. -mported classes cannot be substituted for built in classes, and built in classes cannot accidentally reference classes bring in over a networ*. 23 The 1ay acce.. i. (e.t(icted 'o( unte.ted code: The 5ava security manager allows user to restrict untested 5ava applets so that they cannot access the local networ*, local files and other resources. 6A7A $!R+OR&" W!**: 5avaPs performance is better than one might e=pect. 5avaPs many advantages, such as having built in security and being interpreted as well as compiled, do have a cost attached to them. (owever, various optimi%ations have been built in, and the byte code interpreter can run very fast the cost it doesnPt have
1D

to do any chec*ing. 2s a result, 5ava has done 9uite respectably in performance tests. -ts performance numbers for interpreted byte codes are usually more than ade9uate to run interactive graphical end user applications. )or situations that re9uire unusually high performance, byte codes can be translated on the fly, generating the final machine code for the particular C4> on which the application is running at run time. (igh level interpreted scripting languages generally offer great portability and fast prototyping but poor performance. /ow level compiled languages li*e C and CQQ offer great performance but re9uire large amounts of time for writing and debugging code because of problems with areas such as memory management, pointers and multiple inheritance. 5ava offers good performance with the advantages of high level languages but without the disadvantages of C and CQQ. -n the world of design trade&off, you can thin* of 5ava as providing a very attractive middle ground. 6A7A I" ROBU"T: The multi platform environment of the WE' places e=traordinary demands on a program, because it must e=ecute reliably in a variety of systems. Thus the ability to create robust programs was given a high priority in the design of 5ava. To gain reliability, 5ava restricts you in a few *ey areas to force you to find your mista*es early in program developments. 2t the same time, 5ava frees you from having to worry about many of the most common causes of programming errors. 'ecause 5ava is strictly typed language, it chec*s your code at compile time. (owever, it also chec*s your code at run time. -n fact, many hard to trac* down bugs that often turn up in hard to reproduce runtime situations

1B

are simply impossible to create in 5ava. Cnowing that what you have written will behave in a predictable way under diverse conditions is a *ey feature of 5ava.

To understand how 5ava is robust, consider two main reasons for program failure0 ;emory management mista*es and mishandled e=ceptional conditions +run time errors,. ;emory management can be difficult, tedious tas* in traditional programming environments. )or e=ample in CECQQ the programmer must manually allocate and free all dynamic memory. This sometimes leads to problems. )or e=ample some programmers sometimes forget to free memory that has been previously allocated. .r worse, they may free some memory that another part of their code is still using. 5ava virtually eliminates these problems by managing memory allocations and de allocations. 5ava helps in this area by providing ob<ect oriented e=ception handling. -n a well&written 5ava program a program should manage all run time errors. 6A7A "CA*!" W!**: 5ava platform is designed to scale well, from portable consumer electronic devices to powerful des*top and server machines. The Airtual ;achine ta*es a small footprint and 5ava byte code is optimi%ed to be small and compact. 2s a result, 5ava accommodates the need for low storage and for low bandwidth transmission over the -nternet. -n addition the 5ava .perating ystem offers a standalone 5ava platform that eliminates host operating system overhead while still supporting the full 5ava platform 24-. This ma*es 5ava ideal for low cost networ* computers whose sole purpose is to access the -nternet.
18

6A7A I" &U*TIT R!AD!D: ;ultithreading is simply the ability of a program to do more than one thing at a time. )or e=ample an application could be fa=ing a document at the same time it is printing another document. .r a program could process new inventory figures while it maintains a feed for current prices. ;ultithreading is particularly important in multimedia0 a multimedia program might often be running a movie, running a audio trac* and displaying te=t all at the same time. The -nternet helped catapult 5ava to the forefront of programming and 5ava in turn has had a profound effect on the -nternet. The reason is simple0 5ava e=pands the universe of ob<ects that can move about freely in cyberspace. -n a networ*, there are two broad categories of ob<ects transmitted between the erver and your 4ersonal Computer0 4assive -nformation and Dynamic, 2ctive 4rograms. )or e=ample, when you read your e&mail, you are viewing passive data. Even when you download a program, the programPs code is still only passive data until you e=ecute it. (owever, there is a second type of ob<ect that can be transmitted to your computer0 a dynamic, self&e=ecuting program. uch a program would be an active agent on the Client computer, yet the erver would initiate it. 2s desirable as dynamic, networ*ed programs are, they also present serious problems in the areas of security and portability. 4rior to 5ava cyberspace was effectively closed to half the entities that now live there. 5ava addresses these concerns and doing so, has opened the door to an e=iting a new form of program0
17

6A7A DATABA"! CONN!CTI7IT% @6DBCA

6DBC O7!R7I!W: 5D'C is a 5ava 24- for e=ecuting F/ statements. +5D'C is a

trademar*ed name and is not an acronymR nevertheless, 5D'C is often thought of as understanding for O5ava Database ConnectivityO., -t consists of a set of classes and interfaces written in the 5ava programming language. 5D'C provides a standard 24- for toolEdatabase developers and ma*es it possible to write database applications using a pure 5ava 24-. >sing 5D'C, it is easy to send F/ statements to virtually any

relational database. -n other words, with the 5D'C 24-, it is not necessary to write one program to access a ybase database, another program to access a .racle database, another program to access a -nformi= database, and so on.. .ne can write a single program using the 5D'C 24-, and the program will be able to send F/ statements to the appropriate database. 2nd with in an application written in 5ava programming language, one also doesnPt have to worry about writing different applications to run on different platforms. The combination of 5ava and 5D'C lets a programmer to write it once run it anywhere. 5ava, being robust, secure, easy to understand, and automatically downloaded on a networ*, is an e=cellent language basis for database applications.

1G

. exe I

What is needed is a way for 5ava applications to wal* to a variety of different databases. 5D'C is the mechanism for doing this. 5D'C e=tends the concepts, which can be done in 5ava. )or e=ample, with 5ava and 5D'C 24-, it is possible to publish a web page containing an applet that uses information obtained from a remote database or an enterprise can use 5D'C to connect all this employees +even if they are using conglomeration of Windows, ;acintosh, and >ni= machines, to one or more internal databases via an -nternet. With more and more programmers using the 5ava programming language, the need for easy database access from 5ava is continuing to grow. ;- managers li*e the combination of 5ava and 5D'C because it ma*es disseminating information easy and economical. 'usinesses can continue to use their installed databases and access information easily even of it is stored on different database management systems. Development time for new applications is short. -nstallation and version controls are greatly simplified. 2 programmer can write an application or an update once, put it on the server, and everybody has access to the latest version. 2nd for business selling information services, 5ava and 5D'C offer a better way of getting out information updates to e=ternal customers. W AT DO!" 6DBC DOB imply put, 5D'C ma*es it possible to do three things0 ". Establish a connection with the database 1. end F/ statements ?. 4rocess the results The following code fragment gives a basic e=ample of these three steps0

16

Connection con S Driver;aneger.getConnection +K5dbc0odbc0omegaL, KloginL, KpasswordL,R

U"ING 6DBC IN"T!AD O+ CGI: >ntil now, the only way to access a database through 5ava has been to use streams in 5ava to call and access Common Gateway -nterface +CG-, programs. Calling a CG- script from 5ava lets you call a separate program that accesses the database and returns results. >sing this approach is slow and lets more bugs creep into applications. Developing into two different development languages re9uires the *nowledge of two technologies. When we use 5D'C we need to *now only the 5ava language, whereas when we use CG- we must use 5ava and another language. 2nother reason to use 5D'C is that it is noticeably faster than CGapproach. >sing CG- usually re9uires that you call another program that must be e=ecuted by the computer. This separate program then accesses the database and processes the data, returning it to the calling program in a stream. This re9uires multiple levels of processing, which in turn increases wait time as well s enables more bugs to appear. The following figure displays how CG- program is e=ecuted.

6ava Application

Web "e(ve(

CGI "c(ipt

Databa.e

)ig. Calling a CG- script.

?#

Whereas calling a CG- script involves actually e=ecuting a new script, usually through a web server, e=ecuting a 5D'C statement against the database re9uires only some sort of server that passes the F/ commands through the database. This speeds up dramatically the time it ta*es to e=ecute F/ statements. Whereas the CG- script must actually connect to the database and process the results, the 5D'C solution lets your 5ava application have the connection to the database so that thew application can perform all of the processing. The following figure displays how a 5D'C statement is e=ecuted.

6ava Application

6DBC "e(ve(

Databa.e

)ig. E=ecuting a 5D'C statement 6DBC I" A *OW9*!7!* A$I AND A BA"! +OR IG!R9*!7!* A$I.: 5D'C is a Klow&levelL interface, which means that it is used to invo*e +or Kcall!, F/ commands directly. -t wor*s very well in this capacity and is easier to use than other database connectivity. 5D'C 24-s were also designed to be a base upon which to build higher&level interfaces and tools. 2 higher&level interface is Kuser&friendlyL, using a more understandable or more convenient 24that is translated behind the scenes into a low&level interface such as 5D'C. 2t present, two *inds of higher&level 24-s are under development on top of 5D'C0 =3 2n embedded F/ for 5ava0 2t least one vendor plans to build this. D'; implement F/, a language designed specifically for use with databases.
?"

5D'C re9uires that F/ statements be passed as strings to 5ava methods. 2n embedded F/ processor allows a programmer to instead mi= F/ statements directly with 5ava0 for e=0 a 5ava variable can be F/ statement to receive or provide F/ mi= into 5ava with 5D'C calls. >3 2 direct mapping of a relational database tables to 5ava classes0 5ava oft and others have announced plans to implement this. -n this Kob<ectErelationalL mapping, each row of the table becomes an instance of that class, and each column value corresponds to an attribute of that instance. 4rogrammers can then operate directly on 5ava ob<ectsR the re9uired F/ calls to fetch and store data are automatically generated Kbeneath the coversL. ;ore sophisticated mappings are also provided, for e=ample, where rows of multiple tables are combined into 5ava class. >3= 2s interest in 5D'C has grown, more developers have been wor*ing in 5D'C based tools to ma*e building programs easier, as well. 4rogrammers have also been writing applications that ma*e accessing a database easier for the end&user. )or e.g., an application might present a menu of database tas*s from which to choose. 2fter a tas* is selected, the application presents prompts and blan*s for filling in information needed to carry out the selected tas*. With the re9uired input typed in, the application then automatically invo*es the necessary F/ command. With the help of such an application, users can perform database tas*s even when they have little or no *nowledge of F/ synta=. 6DBC 7. ODBC AND OT !R A$I.: 2t this point, ;icrosoft!s .D'C +.pen Database Connectivity, 24- is the most widely used programming interface for accessing relational
?1

databases. -t offers the ability to connect to almost all databases on almost all platforms. o why not use .D'C form 5avaT The answer is that you can use .D'C from 5ava, but this is best done with the help of 5D'C in the form of the 5D'C&.D'C 'ridge. The 9uestion now becomes UWhy do you need 5D'C!T There are several answers to this 9uestion0 ". .D'C is not appropriate for direct use from 5ava, because it uses a C interface. Calls from 5ava to native C&code have a number of drawbac*s in the security, implementation robustness and automatic probability of applications. 1. 2 literal translation of the .D'C C 24- into a 5ava 24- would not be desirable. )or e.g., 5ava has no pointers, and .D'C ma*es copious use of them, including the notoriously error&prone generic pointer Kvoid VL. :ou can thin* of 5D'C ac .D'C translated into an ob<ect&oriented interface that is natural for 5ava programmers. ?. .D'C is hard to learn. -t mi=es simple and advanced features together, and it has comple= options even for simple 9ueries. 5D'C, on the other hand was designed to *eep simple things simple while allowing more advanced capabilities where re9uired. D. 2 5ava 24- li*e 5D'C is needed in order to enable a Kpure 5avaL solution. When .D'C is used, the .D'C driver manager and drivers must be manually installed on every client machine. When the 5D'C driver is written completely in 5ava, however, 5D'C code is automatically installable, portable, and secure on all 5ava platforms from networ* computers to mainframes.

??

-n summary, the 5D'C 24- is a natural 5ava interface to the basic F/ abstractions and concepts. -t builds on .D'C rather than starting from scratch, so programmers familiar with .D'C will find it very easy to learn 5D'C. 5D'C returns the basic design features of .D'CR in fact both interfaces are based on the +HE.pen F/ C/- +Call /evel -nterface,. The big difference is that 5D'C builds on end reinforces the style and virtues of 5ava, and, of course it is easy to use. ;ore recently, ;icrosoft has introduced new 24-s beyond .D'C0 3D., 2D., and ./E d'. These designs move in the same direction as 5D'C in many ways, that is, in being an ob<ect&oriented database interface based on classes that can be implemented on .D'C. (owever, there is no compelling functionality in any of these interfaces to ma*e them an alternative basis to .D'C, especially with .D'C driver mar*et well established. ;ostly they represent a thin veneer on .D'C. This is not to say that 5D'C does not need to evolve from the initial releaseR however, the general feeling is that most new functionality belongs in higher&level 24-s such as the ob<ectErelational mappings and embedded F/ mentioned in the previous section. TW.&T-E3 2ND T(3EE&T-E3 ;.DE/ 0
The 5D'C 24- supports both two&tier and three&tier models for database access. -n the two&tier model, 2 5ava applet or application tal*s directly to the database. This re9uires a 5D'C driver that can communicate with the particular database management system being accessed. 2 user!s F/ statements are delivered to the database, and the results of those statements are sent bac* to the user. The database may be located on another machine to which the user is connected via a networ*. This is referred to as a clientEserver configuration, with the user!s machine as the client, and the machine housing the database as the server. The networ* can be the -ntranet, which, for e=ample, connects employees within a corporation, or it can be the -nternet.

?D

$(e.entation
C

+unctionality
C

+unctionality

Data Acce..

)ig. Two&tier 2rchitecture -n the three&tier models, commands are send to a Omiddle&tierO of services, which then send F/ statements to the database. The database process the F/ statements and then send the results bac* to the middle tier, which then sends them to the user. ;- directors find the three&tier model very attractive because the middle tier ma*es it possible to maintain control over access and the *inds of updates that can be made to corporate data.

Presentation

DATA RDBMS Legacy application Remote Systems

Functionality Application Server Data Server Connectivity Server


?B

Client )ig. Three&Tier 2rchitecture

erver

>ntil now the middle tier has typically been written in languages such as C or CQQ, which offers fast performance. (owever, with the introduction of optimi%ing compilers that translate 5ava ':TEC.DE into efficient machine& specific code, it is becoming practical to implement the middle tier in 5ava. This is a big plus, ma*ing it possible to ta*e advantage of 5avaPs robustness, multithreading, and security features. 5D'C is important to allow database access from 5ava middle tier. "D* $!R+O&ANC!: tructured Fuery /anguage + F/, is the standard language for accessing relational databases. .ne area of difficulty is that most D'; use a standard form of F/ for basic functionality, they do not conform to the most recently defined standard F/ synta= or semantics for more advanced functionality. )or e=ample, not all databases support stored procedure or outer <oins, and those that do not consistent with each other. -t is hoped that the portion of F/ that is truly standard will e=pand to include more and more functionality. -n the mean time, the 5D'C 24- must support F/ as it is. .ne way the 5D'C 24- deals with this problem is to allow any 9uery string to be passed through to an underlying D'; driver. This means that application is free to use as much F/ functionality as desired, but it runs the ris* of receiving an error on some D'; . -n fact, an application 9uery need not even be F/, or it may be a speciali%ed derivative of F/ designed for specific D'; +for document or image 9ueries, for e=ample,.
?8

2 second way D'; deals with problems of F/ conformance is to provide .D'C&style clauses. The escape synta= provides a standard 5D'C synta= for the several of more common areas of F/ divergence. )or e=ample, there are escapes for date literal and for stored procedure calls. )or e=ample applications, 5D'C deals with F/ conformance in a third way. -t provides description information about the D'; by means of the Database. ;etaData interface so that applications adapt to the re9uirements and capabilities of each D'; . 'ecause the 5D'C will be used ad a base 24- for developing higher& level database access tools and 24-s, it also has to address the problem of conformance for any thing built on it. The designation O5D'C C.;4/2-NTO was created to set a standard level of 5D'C functionality on which the users can rely. -n order to use this designation, a driver must support at least, 2N - F/&1 Entry level. +2N F/&1 refers to the standard obtained by the 2merican National F/ tandards -nstitute in "661. Enter level refers to a specific list of standards by using the test suite available with the 5D'C 24-. The O5D'C C.;4/2-NTO designation indicates that a vendorPs 5D'C implementation has passed the conformance tests provided by 5ava oft. These performance tests chec* for the e=istence of all the classes and methods defined in the 5D'C 24-, and chec* as much as possible that the F/ Entry /evel functionality is available. uch tests are e=haustive, of course, and 5ava oft is not currently branding vendor implementations, but this compliance definition provides more degree of confidence in a 5D'C implementation. With wider and
?7

capabilities., Driver developers can ascertain that their drivers meet these

wider acceptance of the 5D'C 24- by database vendors, connectivity vendors, -nternet ervice Aendors, and application writers, 5D'C is 9uic*ly becoming the standard for 5ava databases. 6DBC $RODUCT": 2t present, a number of 5D'C&based products have already been developed or under development. .f course, the information in this section will 9uic*ly become dated, so one should consult the 5D'C web page >3/0http0EEwww.<avasoft.comEproductsE<dbc for the latest information. 6ava"o't +(ame 1o(k: 5ava oft provides three 5D'C product components as a part of the 5ava Development Cit +5DC,0 the 5D'C driver manager the 5D'C driver test suit, and the 5D'C&.D'C bride The 5D'C driver manager is the bac*bone of the 5D'C architecture. -t actually is 9uite small and simpleR its primary function is to connect the 5ava applications to the correct 5D'C driver and then get out of the way. The 5D'C driver test suite provides some confidence that 5D'C drivers will run your program. .nly drivers that pass the 5D'C driver suite can be designated 5D'C C.;4/2-NT.

?G

The 5D'C&.D'C bridge allows .D'C drivers to be used as 5D'C drivers. -t was implemented as a way to get 5D'C off the ground 9uic*ly, and long term will provide a way to access some of the less popular D'; if 5D'C drivers are not implemented for them. 6DBC DRI7!R T%$!": The 5D'C drivers that are available at this time fit into one of the four categories0 ". 5D'C&.D'C bridge plus .D'C driver0 The 5ava oft bridge product provides 5D'C access via .D'C drivers. Note that .D'C binary code, and in many cases database client code, must be loaded on each client machine that uses this driver. 2s a result, this *ind is most appropriate on a corporate networ* where client installations are not a ma<or problem, or for application server code written in 5ava in a three&tier architecture. 1. Native&24- partly&5ava driver0 This *ind of driver converts 5D'C calls into calls on the client 24- for .racle, ybase, -nformi=, D'1, or other D'; . Note that li*e the bridge driver, this style of driver re9uires that some binary code be loaded on each client machine. ?. 5D'C&Net pure 5ava driver0 This driver translates 5D'C call into D'; & independent net protocol, which is then translated, to a D'; protocol by a server. This net middleware is able to connect its pure 5ava clients to many different databases. The specific protocol used depends on the vendor. -n general, this is the most fle=ible 5D'C alternative. -t is li*ely that all vendors of this solution will provide products suitable for -nternet use. -n order for
?6

these products to also support -nternet access, they must handle the additional re9uirements for security, access through firewalls, and so on, that the Web imposes. everal vendors are adding 5D'C drivers to their e=isting database middleware products. D. Native&protocol pure 5ava driver0 This *ind of driver converts 5D'C calls into the networ* protocol used by the D'; directly. This allows a direct call from the client machine to the D'; server and is a practical solution for -nternet access. ince many of these protocols are proprietary, the database vendors themselves will be the primary source, and several database vendors have these in progress. B. Eventually, it is e=pected that driver categories ? and D will be the preferred way to access databases from 5D'C. Driver categories " and 1 are interim solutions where direct pure 5ava drivers are not yet available. There are possibly variations on categories " and 1 that re9uire a connector, but these are generally less desirable solutions. Categories ? and D offer all the advantages of 5ava, including automatic installation +for e=ample, downloading the 5D'C driver with an applet that uses it,. The following chart shows the four categories and their properties0 D3-AE3 C2TEG.3: ". 5D'C&.D'C bridge 1. Native 24- as basis ?. 5D'C& Net Connector D. Native protocol as basis 2// 52A2 No No :es :es NET 43.T.C./ Direct Direct 3e9uires Direct

D#

6DBC INT!R+AC!": Connection Ove(vie1: 2 connection ob<ect represents a connection with a database. Connection session includes the F/ statements that are e=ecuted and the results are returned over that connection. 2 single application can have one or more connections with a single database, or it can have connections with many different databases. Openin0 a connection: The standard way to establish a connection with a database is to call the method Driver;anager.getConnection. This method ta*es a string containing a >3/. The Driver;anager class, referred to as the 5D'C manager layer, attempts to locate a driver than it connect to the database represented by that >3/. The Driver;anager class maintains a list of registered Driver classes, and when the method getConnection is called, it chec*s with each driver in the list until it finds one that can connect to the database specified in the >3/. The driver method connects uses this >3/ to actually establish the connection. The user can by pass the 5D'C management layer and call driver methods directly. This could be useful in the rare case that two drivers can connect to a database and the user user wants to e=plicitly select a particular driver. Normally, however, it is much easier to <ust let the Driver;anager class handle opening a connection. The following code e=emplifies opening a connection to a database located at the >3/ O<dbc0 .D'C0 wombatO with the user -D of OoboyO and O"15avaO as the password0 tring >3/ S O<dbc0 .D'C0 wombatOR Connection conSDriver;anager.getConnection +url,OoboyO,O"15avaO,R

D"

D(ive(&ana0e( Ove(vie1: The Driver;anager class is the management layer of 5D'C, wor*ing between the user and the drivers. -t *eeps trac* of the drivers that are available and handles establishing a connection between a database and the appropriate driver. -n addition, the Driver;anager class attends to things li*e driver login time limits and the printing of log and tracing messages. )or simple applications, the only method in this class that a general needs to use directly is Driver;anager.getConnection. 2s its name implies, this method establishes a connection to a database. 5D'C allows the user to call the Driver;anager methods getDriver, getDrivers, and registerDriver as well as the driver method connect, but in most cases it is better to let the Driver;anager class manage the details of Establishing a Connection tatement0 "tatement Ove(vie1: 2 statement ob<ect is used to send F/ statements to a database. There are actually three *inds of statement ob<ects, all of which act as containers for e=ecuting F/ statements on a given connection0 tatement, 4repared statement, which inherits form statement, and callable statement, which inherits from prepared statement. They are speciali%ed for sending particular type of F/ statementsR a tatement ob<ect is used to e=ecute a simple F/ statement with no parametersR a 4repared tatement ob<ect is used to e=ecute a precompiled F/ statement with or without -N parameterR and a callable statement ob<ect is used to e=ecute a call to the database stored procedure. The statement interface provides basic methods for e=ecuting statements and retrieving results. The 4repared tatement interface adds methods for dealing with -N parametersR Callable tatement adds methods for dealing with .>T parameters.
D1

"!R7*!T" U"ING 6A7A W!B "!R7!R .ne can use 5ava programming statements to produce (T;/ output. The real power of 5ava, however, is the wide array of classes available for use with any 5ava program. T&*: The (T;/ Templates feature of the 5ava Web erver allows easily apply common elements +Kloo* and feelL, as well as common content to a set of (T;/ documents without actually changing the (T;/ files themselves. 2ll of these common items are contained in a single fileWcalled the template file. AD7ANTAG!": The obvious advantage of using the (T;/ Templates feature is that you can establish, and later update, the way multiple files appear all from one template file. This is especially helpful in cases where content is created before the presentation is decided or when content from multiple origins must be combined into some cohesive presentation. 3ather than go bac* and edit all those files, you simply create a template filewhich uniformly applies the desired presentation elements. 'esides the application of headers and footers to your (T;/ files, you can also define body content to appear before or after the content of the source
D?

. exe I

(T;/ documents. This can be a simple but powerful way of including information.

What the 6ava Web "e(ve( Doe.B When a browser re9uests a file from the 5ava Web erver that has been designated to have the common elements of the default. Template applied, a special 5ava servlet +Template ervlet, is called. The servlet uses the template information to process the file. The resulting file, now reflecting the specified appearance, is then passed to the browser. The file being displayed is not actually changed on dis*, only its appearance in the browser is changed. The 5ava Web erver provides a sample default Template file, which uses abbreviations defined -n the default definitions file. These sample files are in the serverXrootEpublicXhtmlEtemplate directory. +ile "peci'ication 'o( "ample: )or the sample, select the files in the Etemplate directory as the set of the files that you want the common elements specification applied. To do this, in the 2dministration Tool0 ". ?. D. elect Web ervice and clic* ;anage elect ervlet 2liases croll through the 2lias column. :ou should see E template 1. Clic* etup

2nd, under the ervlets -nvo*ed column, template.

DD

-f there is no entry for Etemplate in the 2lias column, select the last entry in the 2lias field, clic* 2dd. This will create a new entry space into which you should type Etemplate. (it tab *ey to move to the ervlet -nvo*ed column and then type template.

Well E 'o(med

T&* +ile: 'e sure that your source (T;/ files +to which the templates will be

applied, are Kwe Y formedL. This means that the (T;/ is correctly formed with an opening M(T;/N tag, a head section enclosed by M(E2DNME(E2DN tags, a body section enclosed by M'.D:NME'.D:N tags, and a closing ME(T;/N T2G. The template servlet!s parser is very strictWif you don!t have proper mar*up, you may see pages with no content. The default template file goes in the document base directory. -n general, there needs to be only one default template file per document set. (owever, li*e the default template files, more can be used in subdirectories to override attributes present in the parent default template file. To u.e the Template. 'eatu(e: ". pecify the Common Elements Create a file with named default template. This template file should he a well&formed (T;/ file containing0 opening (T;/ tag, a (E2D section, a '.D: section, and a closing (T;/ tag. -nsert one or more presentations, elements into the desired locations in the template file Y <ust as you would insert these elements into any (T;/ files.

DB

. exe I

ome of the presentation elements we might want to apply to our files include Document color scheme +for e=ample, bac*ground color, te=t color, and lin* color,. Document layout +for e=ample, a table of navigation lin*s, 2 common header at the start of each page +for e=ample, the product name,. 2 common piece of the art wor* at the start of each page +for e=ample, the company or product logo, 2 common footer at the end of each page +for e=ample, email address and fa= number, The template file should also contain the following tags 0 A: In the !AD .ectionF G.ub.et dataHI !ADIJG,.ub.tJ

This is an (T;/ e=tension that the Template ervlet recogni%es. -t is a directive to the servlet to copy the contents of the source document!s (E2D section into the (E2D section of the template file B: In the BOD% .ectionF G.ub.et dataHIBOD%IJG,.ub.tJ This is another (T;/ e=tension that the Template ervlet recogni%es. -t is a directive to the servlet to copy the source document!s '.D: into the '.D: section of the template file. 'ecause the directive only copies the contents of the source file!s '.D: section, and not the '.D: tag itself, the template!s own '.D: tag can set with the desired common attributes +bac*ground color, te=t color, etc,. 2nything outside the (E2D and '.D: sections of the source documents are ignored. -n particular, this means that frames information in the source document is not copied into the template file. This template file, default template, should be placed in the topmost directory containing (T;/ files to which you want the template applied.

D8

". ;a*e sure the 5ava Web 2dministration Tool0 a.

erver has loaded the Template

ervlets in the

elect Web ervice and clic* ;anage

b. Clic* the ervlets button c. >nder Configure, scroll down to template d. Clic* on template 2 tabbed noteboo* will be shown. The Configuration of the noteboo* tells you the full class name of the templates. These are also /oaded at button. ". -ndicates the files to which the Templates should be applied pecifying the files to which the template should be applied involves using the ervlet 2lias feature of the 5ava Web erver!s 2dministration Tool. 'rief instructions are provided below. )or more information on mapping files or directories top servlet aliases, see ervlet 2lias. To map a set of files to a servlet alias, in the 2dministration Tool0 a. elect Web ervice and clic* ;anage b. Clic* the etup button. c. Double&clic* ervlet 2liases. d. -n the 2lias column, enter the E template directory or a filename pattern +such as Vhtml, to which the alias will apply. e. -n the ervlet -nvo*ed co lumen, type template. This will map the directory to the servlet alias template. >se of (T;/ )rames0 tartup and /oaded Now entries on the page, these should both indicates :es. -f they do not, then set them to :es by pressing the :es radio

D7

The template file cannot read in a frame set from a source file because only the contents of the (E2D section and the '.D: section are copied. (owever, there is nothing to stop you from using files processed by the template servlet as content in your own frame set. ervlets0 ervlets provide a 5ava based solution used to address the problems currently associated with doing server&side programming, including ine=tensible scripting solutions, platform&specific 24-s, and incomplete interfaces. ervlets are ob<ects that conform to a specific interface that can be plugged into a 5ava&based server. ervlets are to the server&side what applets are to the client&side ob<ect ':TEC.DE that can be dynamically loaded off the net. They differ from applets in that they are faceless ob<ects +without graphics or a G>- component,. They serve as platform&independent, dynamically loadable, pluggable helper byte code ob<ects on the server side that can be used to dynamically e=tend server&side functionality. )or e=ample, an (TT4 servlet can be used to generate dynamic (T;/ content. When you use servlets to do dynamic content. Advanta0e.: They!re faster and cleaner than CG- scripts They!re use a standard 24- +the ervlet 24-, They provide all the advantages of 5ava +run on a variety of servers without needing to be rewritten, The Att(activene.. o' "e(vlet.

DG

There are many features of servlets that ma*e them easy and attractive to use. ervlets are0 ". Easily configured using the G>-&based 2dministration Tool. 1. /oaded and invo*ed from a local dis* or remotely across the networ*. ?. /in*ed together, or chained, so that one servlet can call another servlet, or several servlets in se9uence. D. Called dynamically from within (T;/ pages, using server&side include tags. B. ecure&even when downloading across the networ*, the servlet security model and servlet sandbo= protects your system from unfriendly behavior. The Advanta0e o' the "e(vlet A$I: .ne of the great advantages of the ervlets 24- is protocol dependence. -t assumes nothing about0 The protocol being used to transmission the (ow it is loaded The server environment it will be running in these 9ualities are important, because it allows the ervlet 24- to be embedded in many different *inds of servers. -t!s e=tensible Y you inherit all your functionality from the base classes made available to you. -t!s simple, small, and easy to use. "e(vlet. +eatu(e.: The 5ava Web erver provides several important servlet features. These includes0 ". /oading and -nvo*ing ervlets0 & ervlets can be loaded both locally and remotely. 1. )ilters and ervlets Chaining0 &The 5ava Web erver uses mime types to call servlets se9uentially. ?. erver& ide -ncludes0 & ervlets can be invo*ed from dynamic (T;/ documents using tags.

D6

D. 3eplacing CG- cript0 & ervlets are an effective substitute for CG- script, and provide a faster and cleaner way to generate dynamic document.

"!R7*!T"
Int(oduction to "e(vlet.: The 5ava erver product family provides servers that can be configured to run one or more services0 bodies of the code that implement an application Y level protocol, such as )T4, D(C4, .3 ;T4. ervlets are modules that run inside re9uest E response&oriented services and e=tends them in some manner. )or e=ample, an (TT4 services responds to its clients by delivering the (T;/ files they re9uest. 2 servlets can e=tend the capabilities of the (TT4 services by ta*ing the client entered in an (T;/ order & entry form and applying the business logic servlets to satisfy a re9uest, if appropriate. "e(vlet. A(chitectu(e Ove(vie1: The central abstraction in the 5 DC is the ervlets interface. 2ll servlets implement this interface, either directly or, more commonly, by e=tending a class that implements it such as (ttp ervlets. The ervlet interface provides for methods that manage the servlet and its communications with clients. writers provide some or all of these methods when developing a servlet. ervlet

B#

When a servlet accepts a call from a client it receives two ob<ects0 one is a ervlet 3e9uest and the other is a ervlet 3esponse. The ervlet 3e9uest class encapsulates the communication from the client to the server, while the servlet 3esponse class encapsulates the communication from the servlet bac* to the client. The evlet 3e9uest interface allows the servlet access the information such as the names of the parameters passed in by the client, the protocol +scheme, being used by the client, and the names of the remote host that made the re9uest and the server that received it. -t also provides the servlet the access to the input stream, ervlet -nput tream, through which the servlet gets data from clients that are using application protocols such as the (TT4 4. T and 4>T methods. ubclasses of ervlet 3e9uest allow the servlet to retrieve more protocol&specific data. )or e=ample, (ttp accessing (TT4&specific header information. The ervlet 3esponse interface gives the ervlet methods for ervlet 3e9uest contains methods of

replying to the client. -t allows the ervlet to set the content length and mime type of the reply, and provides an output stream, ervlet .utput tream, and a Writer through which a ervlet can send the reply data. ubclasses of ervlet 3esponse give the ervlet more protocol&specific capabilities. The classes and interfaces described above ma*e up a basic ervlet. (TT4 ervlets have some additional ob<ects that over ride session trac*ing capabilities. The ervlet Writer can use these 24-!s to maintain state between the ervlet and the client that persists across multiple connections during some time period. "e(vlet *i'ecycle:
B"

ervices load and run ervlets, which then accept %ero or more re9uests from clients and return data to them. They can also remove ervlets. They are the steps of a ervlets life cycle. The ne=t paragraph describes each step in more details, concentrating on concurrency issues. When a service loads a ervlet, it runs the ervlets init method. Even though most ervlets are run in multi&threaded services, there are no concurrency issues during ervlets initiali%ation. This is because the service calls the init method once, when it loads the ervlet, and will not call it again unless it is reloading the ervlet. The service can!t reload a ervlet until after it has removed the ervlet by calling the destroy method. -nitiali%ation is allowed to complete before client re9uests are handled +i.e. before the service method is called, or the ervlet is destroyed. 2fter the service loads and initiali%es the servlet, the servlet is able to handle client re9uests. -t processes them in its service method. Each client!s re9uest has its call to the service method in its own servlet thread0 the method receives the client!s re9uest, and sends the client its response. ervlets can run multiple service methods at a time. -t is important, therefore, that service method be written in a thread&save manner. )or e=ample, if a service method updates a field in the servlet ob<ect, that access should be synchroni%ed. -f, for some reason, a service should not run multiple service methods concurrently. The servlet should implement the service methods concurrently. ingleThread;odel interface. This interface guarantees that no two threads will e=ecute the servlets

B1

ervlets run until they are removed from the service, for e=ample, at the re9uest of a system administrator. When a service removes a servlet, it runs the servlet!s destroyed method. The method is run onceR the service will not run it again until after it reloads and reinitiali%es the servlet. When the destroy method runs, however, other threads might be running service re9uests. -f, in cleaning up, it is necessary to access shared resources +such as networ* connections to be closed,, that access should be synchroni%ed. During a servlet!s lifecycle, it is important to write thread&safe code for destroying the servlet and, unless the servlet implements the ingleThread;odel interface, servicing client re9uests. *i'ecycle &ethod.: ervlets that manage resources do so by overriding the lifecycle methods init and destroy. These servlets might need to be given argument at startup, in order to initiali%e correctly. Ove((idin0 the Init &ethod: During initiali%ation, the servlet should prepare the resources it manages, to ready the servlet for accepting service re9uests. -t can do this without regard for multi&threading concerns, since there is only a single thread running on behalf of the servlet during initiali%ation. 2s soon as the init method returns, the servlet can receive client re9uests. -f, for some reason, the servlet!s re9uired resources cannot be made available +for e=ample, a re9uired networ* connection cannot be established,, or some other initiali%ation error occurs that would ma*e it impossible for the servlet to handle re9uests, the init method should throw an >navailable E=ception e=ception.
B?

The init method ta*es a ervletConfig ob<ect as a parameter. The method should save this ob<ect, so that it can be returned by the get ervletConfig method. The simplest way to do this is to have the new init method call super.init. -f you don!t this, you should store the ervletConfig ob<ect yourself, and override the get ervletConfig method so that it can obtain the ob<ect from its new location. 2s you can see, this init method calls the super. init method to manage the ervletConfig ob<ect. The init method also sets a field, resultsDir, with the directory name that is provided as an initiali%ation parameter. -t no directory name is provided, the servlet throws an unavailable e=ception. -f the init method completes successfully, the servlet can then handled client!s re9uests. Ove((idin0 the De.t(oy &ethod: When a service unloads a servlet, it calls the servlets destroy method. The destroy method should undo any initiali%ation wor* and synchroni%e persistent state with the current in&memory state. This section begins with a description of how to write a simple destroy method, then describes how to structure a servlet if threads running its service method might still be running when the destroy method is called. Though it is often the case that a servlet that overrides the init method must also override the destroy method to undo that initiali%ation, this is not re9uired. )or e=ample, the phone servlet, whose init method is used as an e=ample, does not have a corresponding destroy method. 'ecause initiali%ation involves reading a file and using its contents to initiali%e a shared data structure, there is no wor* to undo when the service is finished with the servlet.

BD

O7!R7I!W O+ "!R7*!T" ervlets provide a 5ava&based solution used to address the problems currently associated with doing server&side programming, including in e=tensible scripting solutions, platform&specific 24-s, and incomplete interfaces. ervlets are ob<ects that confirm to a specific interface that can be plugged into a 5ava&based server. ervlets are to the server&side what applets are to the client&side & ob<ect 'yte Codes that can be dynamically loaded off the net. They differ from applets in that they are faceless ob<ects +without graphics or a G>- component,. They serve as platform independent, dynamically loadable, pluggable helper 'yte Code ob<ects on the server side that can be used to dynamically e=tend server&side functionality. )or e=ample, an (TT4 servlet can be used to generate dynamic (T;/ content. When you use servlets to do dynamic content you get the following advantages0 ". TheyPre faster and cleaner than CG- scripts 1. They use a standard 24- +the ervlet 24-, ?. They provide all the advantages of 5ava +run on a variety of servers without needing to be rewritten,

BB

. exe I

The Att(activene.. o' "e(vlet.: There are many features of servlets that ma*e them easy and attractive to use. These include easily configured using the G>-& based 2dmin Tool. Can be loaded and invo*ed from a local dis* or remotely across the networ*. Can be lin*ed together, or chained, so that one servlet can call another servlet or several servlets in se9uence. Can be called dynamically from within (T;/ pages, using server&side include tags. 2re secure & even when downloading across the networ*, the servlet security model and ervlet sandbo= protect your system from unfriendly behavior. The Advanta0e. o' the "e(vlet A$I: .ne of the great advantages of the ervlet 24- is protocol -ndependence. -t assumes nothing about0 The protocol being used to transmit on the net (ow it is loaded The server environment it will be running in These 9ualities are important, because it allows the ervlet 24- to be embedded in many different *inds of servers. There are other advantages to the ervlet 24- as well. These include0 itPs e=tensible & you can inherit all your functionality from the base classes made available to you. -t!s simple, small, and easy to use 6A7A "!R7*!T +!ATUR!": The 5ava erver provides several important servlet features. These include /oading and -nvo*ing ervlets0 ervlets can be loaded both locally and remote
B8

)ilters and ervlet Chaining0 The 5ava erver uses mime types to call servlets se9uentially. erver& ide -ncludes0 ervlets can be invo*ed from dynamic (T;/ documents using server&side include tags. 3eplacing CG- cripts0 ervlets are an effective substitute for CG- scripts, and provide a faster and cleaner way to generate dynamic documents.

INT!RNA* "!R7*!T": The 5ava T; Web erver T; servlet architecture is very fle=ible and the server ta*es advantage of this by dividing its wor* among several internal servlets. These are0 +I*! "!R7*!T : The )ile ervlet provides the standard document serving capabilities of 5ava Web erver. This servlet includes a caching mechanism to speed up response times for fre9uently accessed files. IN7O-!R "!R7*!T : The purpose of this servlet is to invo*e other servlets which are e=plicitly re9uested by name, that is http0EEMserver&host&nameNEservletsEMservlet name. "e(ve( "ide Include "e(vlet : ervlets can be embedded within (T;/ documents using the servlet tag. When the server detects the servlet tag, it loads the servlet if necessary, invo*es that servlet, and sends the output of the servlet to the client at the point where the servlet tag was embedded. Admin "e(vlet : The 2dmin servlet facilitates administration of the 5ava web server through a G>- front end the 2dministration Tool. CGI "e(vlet :

B7

This servlet acts as a gateway for the CG- "." interface. This servlet allows any program that utili%es the CG- "." standard to operate under 5ava Web erver.

"%"T!& CO+IGURATION
"o't1a(e Detail.
erver .peration ystem Windows NT erver Client .perating ystem Windows NT Wor* tation /anguages >sed0 5ava 1.#+ ervlets, 5dbc, .D'C, 5avaWeb erver?.#, 5ava cript, (T;/, Data'ase 0 ; 2CCE .

BG

a(d1a(e Detail.
"e(ve(
4ENT->; --- B## ;(%, With Dual 4rocessor "1G;' 32; 1B8 C' EHTE3N2/ C2C(E ;E;.3: "7 G' (23D D- C ?1 '-T ET(E3 NET AG2 C./.3 ;.N-T.3 ;-C3. .)T ;.> E "#G W-ND.W !6B CE:'.23D

Client
4ENT->; -- B## ;(% 8D ;' 32; 1B8 C' EHTE3N2/ C2C(E ;E;.3: G G' (23D D- C ?1 '-T ET(E3NET AG2 C./.3 ;.N-T.3

B6

/.G-TEC( ;.> E "#B W-ND.W !6B CE:'.23D

*OGICA* D!"IGN
/ogical design is a process through which re9uirements are translated into a representation of software. -nitially the representation depicts a holistic view of software. ubse9uent refinement leads to a design representation that is very close to source code. The conceptual structure of a database is called a schema. chema shows the *inds of data that e=ists in a database and how the *inds of data are logically related to each other. 2 schema can be regarded as a blueprint that portrays both *ind of data used in building a database and logical relationship that e=ist among various *inds of data. 2t the minimum, the schema must represent all needed data items, must correctly represent their interrelationships, and must be able to support all reports. chema is fre9uently depicted pictorially using Data )low Diagrams +D)D,.

Data +lo1 Dia0(am. Data )low Diagrams +D)D, depicts information flow and transforms that are applied as data move from input to output. The D)D is also *nown as Data )low Graph or 'ubble Chart. -t is the starting point of the design phase that functionality decomposes the re9uirement specification down to the lowest level of details. Thus, a D)D describes what data flows +logical, rather than how they are processed.Data )low Diagrams are made up of number of symbols which represent system components. Data )low modeling methods used for *inds of

8#

symbols. These symbols are used to represent four *inds of system components. 4rocesses, Data tores, E=ternal entities, and Data flows.

$(oce..e. 4rocesses show what system does. Each process has one or more data inputs and produces one or more data outputs. 4rocesses are represented by round rectangles in D)D. Data "to(e. 2 file or data stores is repository of data. 4rocesses can enter data into a store or retrieve data from data store. The line in the D)D and each store represents each data store as a uni9ue name. !:te(nal !ntitie. E=ternal entities are outside the system but they supply either input data into the system or used for the system output. They are entities on which the designer has no control. There may be an organi%ation or other bodies with which system interacts. Data +lo1. Data )lows model the passage of data on the system and represented by the lines <oining the system components. 2n arrow indicates the direction of flow and line is labeled by the name of data flow. )low of data in the system can ta*e place 'etween two processes )rom a data store to a process )rom a process to a process

8"

)rom source to a process )rom a process to a sin*.

A(chitectu(al 7ie1 o' Global Communication

Client

Client

"e(ve( on Inte(net ,Int(ane t


Client Client

81

D)D )or erver

Necdata Server
Get Employe e Details

Add persomns to confernce

Delete persons from conferen ce

8?

D)D )or Client

Client

Entry check process

Gettin conferenc e list from server

Takin !art in confere nce

end mail

3eceiv e mail

8D

DATABA"! D!"IGN
=3 Table Name: Necdata +unction Table De.c(iption Column Empname Dateandtime Emailid : : De'inition Char+1#, DateETime Te=t+B#, De.c(iption Name of the Client Time of <oining ;ail id of the Client Contains information of clients.

8B

+OR& D!"IGN
The various input forms and their processing is given below0 "0 "e(ve( *o0in "c(een: $u(po.e: The purpose of the screen is to allow the administrator to enter into the system. Detail.: The Edit bo=es are used to enter the username and password. The o* button is used to login into the system. The cancel button is used to clear the te=t bo= giving 4ermission to login again. "c(een De.i0n:

88

>3 !mployee Detail.: $u(po.e The purpose of this screen is to give details of employees formatted in the html table, to the administrator. Detail. This table contains three columns. The first column in the table gives employee names The second column of this table gives us employees <oining time in the Company. The third column of this table gives us employees mail id details. The o* button is used to go to ne=t screen. "c(een De.i0n

87

$(oce..in0 Empnames will be collected from the table necdata1 which is created in the ;s2ccess giving 5dbc connection.

"c(een 'ield. and thei( data .ou(ce,de.tination The following table gives the employee names from the table necdata.This table correlates between the screen and the database.

8G

Column Empname Dateandtime 2ddress .ccupation .rganisation Emailid >id 4wd

De'inition Char+1#, DateETime Te=t Te=t Te=t Te=t+B#, Te=t Te=t

De.c(iption Name of the Client Time of <oining 2rea of Emp Designation Company ;ail id of the Client >serid for login 4assword for login

?3 Addin0 U.e(. TO Con'e(ence: $u(po.e The purpose of this screen is to call employees to conference. Detail. The select bo= will get data from the table, which is created in ;s2ccess. The add button will add all selected employees to conference and will call the ne=t added screen. "c(een De.i0n

86

$(oce..in0 Empnames will be collected from the table necdata1 which is created in the ;s2ccess giving 5dbc connection.

"c(een 'ield. and thei( data .ou(ce,de.tination The following table gives the employee names from the table necdata1.This table correlates between the screen and the database.

"c(een 7a(iable Empname

Databa.e +ield Empname

7#

23 Con'e(ence *i.t: $u(po.e This screen will give us the final conference list. Detail.: The elect bo= will get final list of employees who are allowed for participation.

7"

K3 Client *o0in "c(een: $u(po.e: The purpose of the screen is to allow accessible clients to enter into the system . Detail.: The Edit bo=es are used to enter the username and password. The o* button is used to verify their name and password. The cancel button is used to clear the te=t bo= giving 4ermission to login again. "c(een De.i0n:

71

L3 Con'e(ence "c(een: $u(po.e: The purpose of this screen is to allow the clients to communicate with other persons in the conference. Detail.: The select bo= will give the list of online users in the conference. The te=t area will display the list of messages that the particular client has received. The Edit bo= is used to type the messages to communicate with the other persons in the conference. The send button is used to send the message that has typed in the te=t bo= to selected persons. The add button is used to get the ne=t screen to add the clients to conference. The close button is used to come out of the conference screen. "c(een De.i0n:

7?

"%"T!& T!"TING
oftware testing is a critical element of software 9uality assurance and represents the ultimate review of software specification, design and coding. The increasing visibility of software as a system element and the attendant KcostsL associated with a software failure are motivating forces for well planned, thorough testing. -t is not unusual for software. Development organi%ation to e=pend D# percent of total pro<ect effort on testing. (ence the importance of software testing and its implications with respect to software 9uality can not be overemphasi%ed. Different types of testing have been carried out for this system, and they are briefly e=plained below.

7D

Type. o' Te.tin0: Two main types of testing have been carried out to ensure that this system is a 9uality product, namely the Unit Te.tin0 and Inte0(ation Te.tin03 Unit Te.tin0: >nit Testing focuses verification effort on the smallest unit of software design module. >sing the detailed description as a guide, important control paths are tested to uncover errors within the boundary of the module. The various modules that have undergone types of input data were given to ensure the consistency of the module and to ensure that information properly flows into and out of the program unit under test. The database integrity is validated during all steps in the e=ecution.

Inte0(ation Te.tin0: -ntegration testing is a systematic techni9ue for constructing the program structure while at the same time conducting tests to uncover errors associated with interfacing. The ob<ective is to ta*e unit&tested modules and build a program structure that has been detected by design. There are two types of integration testing namely, Top9Do1n Inte0(ation and Bottom9Up Inte0(ation. )or the system a combination of both the types *nown as "and1ich Te.tin0 has been used. The Top&Down -ntegration was used during the integration of the various ;asters and the 'ottom&up -ntegration method was used during the integration of the various modules of the process generation and the report generation.

7B

The various validations done in this system are given below0 "e(ve( *o0in "c(een: The company administrator name is chec*ed whether it is valid name or not. -f he is not a valid person he can not enter into the system to call employees to conference. The password entered by the administrator will be chec*ed with the password set by the system. -f it is incorrect he can not login into the system, and also he will get a message li*e u are not authenticated to server. -f he is a valid person he will get the list of employees so that he can call re9uire persons to the conference.

Client *o0in "c(een: The client name is chec*ed, whether it e=ists in the client details table of the database. -f it is invalid he can not enter into the system to participate in the conference. The password entered by the client will be chec*ed with the respective client, if it is incorrect then he will get a message li*e you are not an authenticated client. When the client name and password is correct he can enter into the system to participate in the conference.

78

-f he is a valid person he will get the list of employees selected by system administrator. them. o that he can select re9uired person to communicate with

"%"T!& I&$*!&!NTATION
2fter proper testing and validation, the 9uestion arises whether the system can be implemented or not. -mplementation includes all those activities that ta*e place to convert from the old system to the new. The new system may be totally new, replacing an e=isting module or automated system, or it may be a ma<or modification to an e=isting system. -n either case proper implementation is essential to provide a reliable system to meet organi%ation re9uirements.
77

2ll planning has now, be completed and the transformation to a fully operational system can commence. The first <ob will be writing, debugging documenting of all computer programs and their integration into a total system. The master and transaction files are decided, and this general processing of the system are established. 4rogramming is complete when the programs confirmed to the detailed specification. When the system is ready for implementation, emphasis switches to communicate with the finance department staff. .pen discussion with the staff is important from the beginning of the pro<ect. taff can be e=pected to be concerned about the effect of the automation on their <obs and the fear of redundancy or loss of status must be allayed immediately. During the implementation phase it is important that all staff concerned be appraised of the ob<ectives of overall operation of the system. They will need shinning on how computeri%ation will change their duties and need to understand how their role relates to the system as a whole. 2n organi%ation&training program is advisable, this can include demonstrations, newsletters, seminars etc. The department should allocate a member of staff, who understands the system and the e9uipment, and should be made responsible for the smooth operation of the system. 2n administrator should coordinate the users to the system. >sers should be informed about new aspects of the system that will, affect them. The features of the system e=plained with the ade9uate documentation. New services such as security, on&line application form and bac*&ups must be advertised on the staff when the time is ripe.

7G

E=isting documents such as employee loan details should be entered into the new system. ince these files are very large, conversion of these may continue long after the system based on current files has been implemented. (ence we need to assign responsibility for each activity. The system may come into full operation via number of possible routes. Complete change over at one point time is conceptually the most tidy. 'ut this approach re9uires careful planning and coordination, particularly during the changeover. 2 phased approach, possible implementing the system of the section relating to one operation or procedure first and progressing to more novel or comple= subsystems in the fullness of time. These li*ely to be less traumatic. 2 phased approach gives the staff time to ad<ust to the new system. 'ut depends on being able to split the system, without reliance on it. Thus approach is sensible when the conse9uences of failure are disastrous, but will re9uire e=tra staff time. The fourth angle, is pilot operation permits any problems to be tac*led on a smaller scale operation. 4ilot operation generally means the implementation of the complete system, but at one location or branch only.

IN"TA**ATION AND &AINT!NANC!


The Global Communication pro<ect can be installed on the computer using the following steps0 Creatr dsn0 clic* start&N run Z give Podbcad?1.e=eP clic* 2DD button on the P.D'C Data ource 2dministratorP give Data ource name as PGC;P and select the path of the .mdb file by clic*ing select button

76

to set the classpath set classpathSC0[<a*arta&tomcat&B[dist[common[lib[servlet&api.<arR$classpath$R.R create WE'&-N) folder and place web.=ml file in web.=ml file write according to the classes present in the pro<ect e=....0& Mweb&appN MservletN Mservlet&nameNacMEservlet&nameN Mservlet&classNacMEservlet&classN MEservletN Mservlet&mappingN Mservlet&nameNacMEservlet&nameN Murl&patternNEacMEurl&patternN MEservlet&mappingN MEweb&appN SSSSSSSSSSSSSSSSSSSSSSSSSSSS <avac &d .EWE'&-N)Eclasses V.<ava <ar &cvf servlet.war WE'&-N) V.html V.class start startup.bat from C0[<a*arta&tomcat&B[dist[bin

G#

after running server........ .pen -nternetE=plorer give url 0&S http0EElocalhost0G#G"EmanagerEhtml

if it as*s for andy username and password give usernameSadmin passwordSadmin

ee -n the applications menu whether the path PEservletP is e=isting or not if it e=isists undelopy it using undeploy on the same line .....

2fter that go to deloply war file menu select the servlet.war file then clic* deploy before running the pro<ect run the server

start <ava Comm erver The a(d1a(e and "y.tem Re;ui(ement.

To run the pro<ect, certain hardware and software has to be installed on the system. The system re9uirements include
G"

;icrosoft Windows NT wor*station. G#DG8 of higher microprocessor. 2 hard dis* with a minimum of B# megabytes available space for a full installation. AG2 or higher&resolution screen supported by ;icrosoft Windows.

?1 ;' 32;. ".DD!! floppies drive. 2 mouse or other suitable pointing device. "ta(tin0 Global Communication: .nce the setup procedure has been completed, Global Communication can be started by using, the start button in the tas* bar in Windows NT wor*station. 'y selecting Netscape navigator or -nternet E=plorer version1.B on wards we can run our pro<ect. 'efore running our pro<ect we should run Tomcat erver. To run this erver we should run this in dos prompt by selecting startup from bin in the e=plore session. This erver should run till the end of our pro<ect. To chec* this erver in e=plorer we should give our path and system port number. This is the procedure to run our pro<ect successfully.

G1

CONC*U"ION
The ob<ective of this pro<ect is to conduct conferences on the -nternet or -ntranet. -nstead of conducting conferences in some places by using this pro<ect they can participate in conference in their house itself by using their 4C. 'y using this pro<ect they can Conduct conferences with their employees. o 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. o 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. -t will give .n&line solutions from the superiors to the employees. /i*ely there are so many advantages by developing this conference on the net.

G?

"CO$! +OR T ! +UTUR!


.ver a period of time the Global Communication 4ro<ect can be implemented to provide audio. -t can be implemented to provide video.

GD

BIB*IOGRA$ %
4atric* Naughton and (erbert hildt , K The complete reference 5ava 1.#. 5oseph /. weber, U >sing 5ava 1.# U , 4(- 4ublishers. Carl ;oss, U 5ava ervlets U. ervlet 4rogramming U 4D

5ason (unter with William Crawford , U5ava publications.

Tom Negrino and Dori smith, K 5ava cript )or The world Wide WebL. 3oger "666G. 5effrey 3itcher, U2dwanced Windows NT!, ;icrosoft 4ress, "66G. David 2. olomon, U-nside Windows NT!, ;icrosoft 4ress, econd Edition& "66G. 4ressman, U oftware Engineering! , ;cGraw (ill -nc., ? rd Edition,

GB

G8

G7

GG

G6

6#

6"

61

6?

6D

6B

68

67

6G

66

"##

"#"

"#1

Comm erver

"#?

You might also like