Вы находитесь на странице: 1из 130

Customer Relationship Management(CRM) for Mobile Service Provider Operator

1. Abstract 2. Contents o Introduction Purpose Scope Overview

Software Requirement Specification Software Requirements Hardware Requirements

System Ana ysis !"istin# System $imitations in !"istin# System

Proposed System Prob em %efinition Advanta#es over !"istin# System

&easibi ity Study !conomic &easibi ity Operationa &easibi ity 'ec(nica &easibi ity

System %esi#n Arc(itecture %ia#ram Aut(entication &unctiona %escription &unctions

)aintenance &unctiona %escription &unctions

! * R %ia#rams +)$ %ia#rams Activity %ia#ram C ass %ia#ram +se*case %ia#ram Sequence %ia#ram Component %ia#ram %ep oyment %ia#ram

%ata %ictionary

Codin# , Imp ementation o 'ec(no o#ies +sed H')$ , -avaScript. /)$ -ava 'ec(no o#y %atabase 'oo 0 S1$ 2ebserver 0 App ication Server

'estin# o o )et(odo o#ies 'est Cases

Snaps(ots Reports +ser 3roups

Scope for &uture !n(ancements Pro4ect Summary 5ib io#rap(y

Abstract
'(is pro4ect is aimed to automate t(e operations of )obi e Service Providers. Customers0Company representatives o##in# in may a so access0searc( any information of mobi e re ated services. '(is ambitious service uses state*of*t(e*art tec(no o#y to attain # oba e"ce ence and eaders(ip in business. Our entry into t(is sector (as brou#(t mobi e service at an affordab e cost to t(e common man. A servin# a sin# e ob4ective. to provide better communication to mi ions across India. '(is Customer service eads to (ave a #ood response for services and it can ma6e users enro as customers wit(in mont(s of aunc( t(is service.

Introduction

Purpose
'(e system is an on ine app ication t(at can be accessed t(rou#(out t(e or#ani7ation and outside customers as we wi #ive better service to t(e customers. wit( proper o#in provided. w(ic(

Scope
'(e scope of t(e )obi e Service Provider and Operation Porta is as fo ows8 '(is system can be used as an app ication for t(e )obi e Service Providers of t(e )obi e Company to mana#e t(e product information. Customer o##in# s(ou d be ab e to up oad t(e information of t(e any required mobi e.

Overview
Overa description consists of bac6#round of t(e entire specific requirement. It a so #ives e"p anation about actor and function w(ic( is used. It #ives e"p anation about arc(itecture dia#ram and it a so #ives w(at we are assumed and dependencies. It a so support specific requirement and a so it support functiona requirement. supp ementary requirement ot(er t(an actor w(ic( is used. It a so #ives inde" and appendices. It a so #ives e"p anation about any doubt and queries.

Software Re uirement Specification

Software Re uirements
Operatin# System %esi#nin# $an#ua#es Scriptin# $an#ua#es Pro#rammin# $an#ua#e 'ec(no o#ies0&ramewor6s Hibernate > , Sprin#?. I%! %atabase Server 8 8 8 !c ipse @ep er. )yS1$ A. Apac(e 'omcat :. 8 8 8 8 8 +buntu $inu". H')$. CSS. -avaScript. A-A/. -ava 9-S!:;. -!!<9-SP=s;. Struts 2.

!ardware Re uirements
Processor Hard %is6 RA) 8 8 8 i? Core. ABB35. >35.

S"stem Anal"sis

#$isting S"stem
'(e !"istin# system is a computeri7ed system contains a t(e detai s of t(e databases. If

mobi e services providers are maintained in t(e individua

customer wants t(e information t(ey must 6eep a request to t(e admin aut(ority and #et t(e information. It=s a time de ay process. And maintainin# a t(e records in !"ce s(eets and parado". c ipper. If t(ey want any record t(ey (ave to searc( a in t(e paper. t(e records. '(e w(o e process is now manua y contro ed. '(is requires maintainin# t(e records of t(e queries comin# from t(e corporate

%imitations in #$isting S"stem


)aintainin# t(e data in e"ce s(eets and fi es is very (ard to remember t(e fi e names in w(ic( t(e required data is feed. Co easy access to t(e required queries. %ata redundancy. inconsistency. ot of (uman wor6 need to be done in order ana y7e t(e detai s present in t(e e"ce s(eets. It eads to wasta#e of time.

Proposed S"stem
'(e Proposed system is a browser w(ic( is comp ete y re ated to internet browsin#. '(e web enab ed information mana#ement system desi#ned to automate t(e entire operations of a modern tec(no o#y. )obi e Service Provider and Operationa Porta a ow mu ti*divisiona . mu ti*department system (and in# t(at inc udes various Services. Services8 Cews , +pdates Ca )ana#ement Services Astro o#y !ntertainment Sports 'rave

Advantages over #$isting S"stem


1. '(is system provides a Common +ser Interface for t(e system to o# on to t(e system. 2. Here t(e user interface is 3rap(ica +ser Interface. ?. '(is app ication is a 2eb based App ication. >. 5ein# a web based app ication it doesn=t require any c ient side insta ation. A. Any number of users can interact wit( t(e system simu taneous y.

&easibilit" Stud"
#conomic &easibilit"
!conomic feasibi ity attempts 2 wei#( t(e costs of deve opin# and imp ementin# a new system. a#ainst t(e benefits t(at wou d accrue from (avin# t(e new system in p ace. '(is feasibi ity study #ives t(e top mana#ement t(e economic 4ustification for t(e new system. A simp e economic ana ysis w(ic( #ives t(e actua comparison of costs and benefits are muc( more meanin#fu in t(is case. In addition. t(is proves to be a usefu point of reference to compare actua costs as t(e pro4ect pro#resses. '(ere cou d be various types of intan#ib e benefits on account of automation. '(ese cou d inc ude increased customer satisfaction. improvement in product qua ity better decision ma6in# time iness of information. e"peditin# activities. improved accuracy of operations. better documentation and record 6eepin#. faster retrieva of information. better emp oyee mora e.

Operational &easibilit"
Proposed pro4ect is beneficia on y if it can be turned into information systems t(at wi meet t(e or#ani7ations operatin# requirements. Simp y stated. t(is test of feasibi ity as6s if t(e system wi wor6 w(en it is deve oped and insta ed. Are t(ere ma4or barriers to Imp ementationD Here are questions t(at wi t(e operationa feasibi ity of a pro4ect8 Is t(ere sufficient support for t(e pro4ect from mana#ement from usersD If t(e current system is we i6ed and used to t(e e"tent t(at persons wi not be ab e to see reasons for c(an#e. t(ere may be resistance. Are t(e current business met(ods acceptab e to t(e userD If t(ey are not. +sers may we come a c(an#e t(at wi systems. Have t(e user been invo ved in t(e p annin# and deve opment of t(e pro4ectD brin# about a more operationa and usefu (e p test

!ar y invo vement reduces t(e c(ances of resistance to t(e system and in #enera and increases t(e i6e i(ood of successfu pro4ect. Since t(e proposed system was to (e p reduce t(e (ards(ips encountered. In t(e e"istin# manua system. t(e new system was considered to be operationa feasib e.

'echnical &easibilit"
!va uatin# t(e tec(nica feasibi ity is t(e tric6iest part of a feasibi ity study. '(is is because. .at t(is point in time. not too many detai ed desi#n of t(e system. ma6in# it difficu t to access issues i6e performance. costs on 9on account of t(e 6ind of tec(no o#y to be dep oyed; etc. A number of issues (ave to be considered w(i e doin# a tec(nica ana ysis. +nderstand t(e different tec(no o#ies invo ved in t(e proposed system before commencin# t(e pro4ect we (ave to be very c ear about w(at are t(e tec(no o#ies t(at are to be required for t(e deve opment of t(e new system. &ind out w(et(er t(e or#ani7ation current y possesses t(e required tec(no o#ies. Is t(e required tec(no o#y avai ab e wit( t(e or#ani7ationD

S"stem (esign

Architecture (iagram

Authentication
&unctional (escription
a. $o#in to t(e system t(rou#( t(e first pa#e of t(e app ication . b. C(an#e t(e password after o#in to t(e app ication. c. See (is0(er detai s and c(an#e it. d. He p from t(e system.

Maintenance
&unctional (escription
'(e &o owin# &unctiona Components are supported by t(e system8 &unctions Provided by t(e System8 Products8 Prepaid8 '(e service t(at (e ps you #ive. words to every fee in#. an e"pression to every emotion. &eatures Handset Offers Services 'ariffs Roamin# @now )ore

Postpaid8 It #ives you t(e un imited freedom to reac( out to peop e in your specia way. )ont( y P ans Services

2or d Ca in# Cards Home Ca in# Cards

# ) R (iagrams

*M% (iagrams
*+I&I#( MO(#%I+, %A+,*A,# (IA,RAMS
'(e unified mode in# an#ua#e a ows t(e software en#ineer to e"press an ana ysis mode usin# t(e mode in# notation t(at is #overned by a set of syntactic semantic and pra#matic ru es. A +)$ system is represented usin# five different views t(at describe t(e system from distinct y different perspective. !ac( view is defined by a set of dia#ram. w(ic( is as fo ows. +ser )ode Eiew i. '(is view represents t(e system from t(e users perspective. ii. '(e ana ysis representation describes a usa#e scenario from t(e end*users perspective. Structura mode view i. In t(is mode t(e data and functiona ity are arrived from inside t(e system. ii. '(is mode view mode s t(e static structures. 5e(aviora )ode Eiew It represents t(e dynamic of be(aviora as parts of t(e system. depictin# t(e interactions of co ection between various structura e ements described in t(e user mode and structura mode view. Imp ementation )ode Eiew In t(is t(e structura and be(aviora as parts of t(e system are represented as t(ey are to be bui t. !nvironmenta )ode Eiew In t(is t(e structura and be(aviora aspects of t(e environment in w(ic( t(e system is to be imp emented are represented.

+)$ is specifica y constructed t(rou#( two different domains t(ey are8 +)$ Ana ysis mode in#. t(is focuses on t(e user mode and structura mode views of t(e system. +)$ desi#n mode in#. w(ic( focuses on t(e be(aviora imp ementation mode in# and environmenta mode views. +se case %ia#rams represent t(e functiona ity of t(e system from a user=s point of view. +se cases are used durin# requirements e icitation and ana ysis to represent t(e functiona ity of t(e system. +se cases focus on t(e be(avior of t(e system from e"terna point of view. Actors are e"terna entities t(at interact wit( t(e system. !"amp es of actors inc ude users i6e administrator. ban6 customer Fetc.. or anot(er system i6e centra database. mode in#.

Class (iagram
C ass dia#rams describe t(e structure of t(e system in terms of c asses and ob4ects. '(e serv et api c ass dia#ram wi be as fo ows.

JSP: Implicit Objects

*se)case (iagram
Admin

(ealer

Customer

Se uence (iagram

Component (iagram

(eplo"ment (iagram

(ata (ictionar"
Account Profile
ColumnName Loginname "ccountNo P$oneNo Ser%iceName Ser%iceType DataType Text Text text Text Text Size !! !! !! !! !! Constraints N p# N N N

-ill
ColumnName "ccountno )ont$lyC$arges CallC$arges +alue",,Ser%ices Discount TotalC$arges *romDate ToDate DataType text text text text text text Date-time Date-time Size &' &! &' &' &' Constraints P( *( *( N N N N N

-ill Plan

ColumnName "ccountno )ont$lyc$arges ToSamemobile ToOt$ermobile ToLan,Line .ene/its

DataType Text Text Text Text Text Text

Size ' ' ' ' ' '

Constraints *( N N N N N

Card Offer
ColumnName Ser%iceType Typeo/Car, SmsO//er LocalCost St,Cost Is,Cost DataType text text text text text text Size !! !! !! !! !! !! Constraints N N N N N N

Compliant and Re uest


ColumnName "ccountno 0e/erenceNo Type Category Creation,ate 1xpecte,,ate Status DataType text Number text text text text text Size Constraints !! *( &' N !! N !! N !! N !! N !! N

%ogin Audit
ColumnName logini, login,ate login2,esc DataType text ,ate-time text Size Constraints !! P( &! N !! N

%ogin (etails
ColumnName loginname Pass3or, /irstname lastname logintype loginstatus reg,ate s4uestioni, sans3er /irstlogin passmo,i/ie,,ate DataType text text text text text text ,ate-time number text number ,ate-time Size !! !! !! !! !! !! !! !! Constraints N N N N N N N N N N N

%ogin Profile
ColumnName logini, birt$,ate 5ouseno Street city state country Pinco,e 1mail locale pro/ilemo,i/ie,,ate DataType text ,ate-time text text text text text text text text ,ate-time Size !! !! !! !! !! !! !! !! !! Constraints P( N N N N N N N N N N

Mobile +o.s
ColumnName Ser%iceName Ser%iceType Simno DataType text text text Size Constraints !! N !! N !! p#

Mobile Offers

ColumnName Ser%iceName Ser%iceType 0ec$argeCar, +ali,ity Incomming .alance SameSer%ice ToSer%ice

DataType text text text text text text text text

Size !! !! !! !! !! !! !! !!

Constraints N N p# N N N N N

Mobile 'raffic
ColumnName Ser%iceName 0ec$argeCar, LocalCost St,Cost ISDCost LocalSms STDSms InternationalSms DataType text text text text text text text text Size !! !! !! !! !! !! !! !! Constraints N p# N N N N N N

Pa"ment
ColumnName "ccountno TypeO/Pai, Dateo/Pay)ent "mountPai, DataType text text Date-time Text Size Constraints !! *( !! N N !! N

Post Paid Places


ColumnName Ser%iceName Pai,Type Storename "rea City State Country DataType text text text text text text text Size !! !! !! !! !! !! !! Constraints *( N N N N N N

Post Paid Rental Services


ColumnName Ser%iceName 0entCost *reeTal#Time *reeSms Ot$er)obiles DataType text text text text text Size Constraints !! N !! P( !! N !! N !! N

Recharge Cards
ColumnName Ser%iceName 0ec$argeCost Ser%ice*ee Tal#Time +ali,ity DataType text text text text text Size Constraints !! N !! p# !! N !! N !! N

Roaming
ColumnName Ser%iceType TypeO/0oaming IncommingCalls LocalCalls St,Calls ISDCalls S)SOut6oing S)SIncomming DataTyp e text text Number text text text text text Siz e Description ! ! ! ! ! ! ! ! ! ! ! ! ! ! Constraint s *( N N N N N N N

Services
ColumnName Ser%iceName Process& Process process8 DataTyp e text T17T text text Size !! !! !! !! Constraints *( N N N

SMS
ColumnName Ser%iceName Ser%iceType Ser%iceCar, LocalSmscost NationalSmsCost Internationalcost DataType text text text text text text Size Constraints !! *( !! N !! N !! N !! N !! N

Store %ocation
ColumnName Ser%iceName Ser%iceType City DataType text text text Size Constraints !! P( !! N !! N

"rea StoreName ",,ress Telep$oneno 9or#ing$rs

text text text text text

!! N !! N !! N !! N !! N

Coding / Implementation

'echnologies *sed
!'M%
H')$. an initia ism of Hyperte"t )ar6up $an#ua#e. is t(e predominant mar6up an#ua#e for web pa#es. It provides a means to describe t(e structure of te"t* based information in a document G by denotin# certain te"t as (eadin#s. para#rap(s. ists. and so on G and to supp ement t(at te"t wit( interactive forms. embedded ima#es. and ot(er ob4ects. H')$ is written in t(e form of abe s 96nown as ta#s;. surrounded by an# e brac6ets. H')$ can a so describe. to some de#ree. t(e appearance and semantics of a document. and can inc ude embedded scriptin# an#ua#e code w(ic( can affect t(e be(avior of web browsers and ot(er H')$ processors. H')$ is a so often used to refer to content of t(e )I)! type te"t0(tm or even more broad y as a #eneric term for H')$ w(et(er in its /)$*descended form 9suc( as /H')$ 1.B and ater; or its form descended direct y from S3)$ Hyper 'e"t )ar6up $an#ua#e Hyperte"t )ar6up $an#ua#e 9H')$;. t(e an#ua#es of t(e 2or d 2ide 2eb 9222;. a ows users to produces 2eb pa#es t(at inc ude te"t. #rap(ics and pointer to ot(er 2eb pa#es 9Hyper in6s;. H')$ is not a pro#rammin# an#ua#e but it is an app ication of ISO Standard HH:I. S3)$ 9Standard 3enera i7ed )ar6up $an#ua#e;. but specia i7ed to (yperte"t and adapted to t(e 2eb. '(e idea be(ind Hyperte"t is t(at instead of readin# te"t in ri#id inear structure. we can easi y 4ump from one point to anot(er point. 2e can navi#ate t(rou#( t(e information based on our interest and preference. A mar6up an#ua#e is simp y a series of e ements. eac( de imited wit( specia c(aracters t(at define (ow te"t or ot(er items enc osed wit(in t(e e ements s(ou d be disp ayed. Hyper in6s are under ined or emp(asi7ed wor6s t(at oad to ot(er documents or some portions of t(e same document. H')$ can be used to disp ay any type of document on t(e (ost computer. w(ic( can be #eo#rap(ica y at a different ocation. It is a versati e an#ua#e and can be used on any p atform or des6top.

H')$ provides ta#s 9specia codes; to ma6e t(e document oo6 attractive. H')$ ta#s are not case*sensitive. +sin# #rap(ics. fonts. different si7es. co or. etc.. can en(ance t(e presentation of t(e document. Anyt(in# t(at is not a ta# is part of t(e document itse f. 5asic H')$ 'a#s8 JK ** **L Specifies comments Creates (yperte"t in6s &ormats te"t as bo d &ormats te"t in ar#e font. Contains a ta#s and te"t in t(e H')$ document Creates te"t %efinition of a term Creates definition ist &ormats te"t wit( a particu ar font !nc oses a fi *out form %efines a particu ar frame in a set of frames Creates (eadin#s of different eve s9 1 O < ; Contains ta#s t(at specify information about a document JHRL...J0HRL JH')$LFJ0H')$L J)!'AL...J0)!'AL JSCRIP'LFJ0SCRIP'L J'A5$!LFJ0'A5$!L J'%LFJ0'%L J'RLFJ0'RL J'HLFJ0'HL Creates a (ori7onta ru e Contains a ot(er H')$ ta#s Provides meta*information about a document Contains c ient*side or server*side script Creates a tab e Indicates tab e data in a tab e %esi#nates a tab e row Creates a (eadin# in a tab e JALFFF.J0AL J5LFFF.J05L J5I3LFFF.J05I3L J5O%MLFJ05O%ML JC!C'!RL...J0C!C'!RL J%%LFJ0%%L J%$L...J0%$L J&OC'LFJ0&OC'L J&OR)L...J0&OR)L J&RA)!L...J0&RA)!L JHNLFJ0HNL JH!A%L...J0H!A%L

Attributes
'(e attributes of an e ement are name*va ue pairs. separated by PQP. and written wit(in t(e start abe of an e ement. after t(e e ementRs name. '(e va ue s(ou d be enc osed in sin# e or doub e quotes. a t(ou#( va ues consistin# of

certain c(aracters can be

eft unquoted in H')$ 9but not /H')$;.$eavin#

attribute va ues unquoted is considered unsafe. )ost e ements ta6e any of severa common attributes8 id. c ass. sty e and tit e. )ost a so ta6e an#ua#e*re ated attributes8 an# and dir. '(e id attribute provides a document*wide unique identifier for an e ement. '(is can be used by sty es(eets to provide presentationa properties. by browsers to focus attention on t(e specific e ement or by scripts to a ter t(e contents or presentation of an e ement. '(e c ass attribute provides a way of c assifyin# simi ar e ements for presentation purposes. &or e"amp e. an H')$ document 9or a set of documents; may use t(e desi#nation c assQPnotationP to indicate t(at a e ements wit( t(is c ass va ue are a subordinate to t(e main te"t of t(e document 9or documents;. Suc( notation c asses of e ements mi#(t be #at(ered to#et(er and presented as footnotes on a pa#e. rat(er t(an appearin# in t(e p ace w(ere t(ey appear in t(e source H')$. An aut(or may use t(e sty e non*attributa codes presentationa properties to a particu ar e ement. It is considered better practice to use an e ement=s son* id pa#e and se ect t(e e ement wit( a sty es(eet. t(ou#( sometimes t(is can be too cumbersome for a simp e ad (oc app ication of sty ed properties. '(e tit e is used to attac( subte"tua e"p anation to an e ement. In most browsers t(is tit e attribute is disp ayed as w(at is often referred to as a too tip. '(e #eneric in ine span e ement can be used to demonstrate t(ese various non*attributes. '(e precedin# disp ays as H')$ 9pointin# t(e cursor at t(e abbreviation s(ou d disp ay t(e tit e te"t in most browsers;.

Advanta#es A H')$ document is sma and (ence easy to send over t(e net. It is sma because it does not inc ude formatted information. H')$ is p atform independent. H')$ ta#s are not case*sensitive.

0avaScript
-avaScript is a script*based pro#rammin# an#ua#e t(at was deve oped by Cetscape Communication Corporation. -avaScript was ori#ina y ca ed $ive Script and renamed as -avaScript to indicate its re ations(ip wit( -ava. -avaScript supports t(e deve opment of bot( c ient and server components of 2eb*based app ications. On t(e c ient side. it can be used to write pro#rams t(at are e"ecuted by a 2eb browser wit(in t(e conte"t of a 2eb pa#e. On t(e server side. it can be used to write 2eb server pro#rams t(at can process information submitted by a 2eb browser and t(en update t(e browser=s disp ay accordin# y !ven t(ou#( -avaScript supports bot( c ient and server 2eb pro#rammin#. we prefer -avaScript at C ient side pro#rammin# since most of t(e browsers supports it. -avaScript is a most as easy to earn as H')$. and -avaScript statements can be inc uded in H')$ documents by enc osin# t(e statements between a pair of scriptin# ta#s JSCRIP'SL.. J0SCRIP'L. JSCRIP' $AC3+A3! Q S-avaScriptTL -avaScript statements J0SCRIP'L Here are a few t(in#s we can do wit( -avaScript8 Ea idate t(e contents of a form and ma6e ca cu ations. Add scro in# or c(an#in# messa#es to t(e 5rowser=s status ine. Animate ima#es or rotate ima#es t(at c(an#e w(en we move t(e mouse over t(em. %etect t(e browser in use and disp ay different content for different browsers. %etect insta ed p u#*ins and notify t(e user if a p u#*in is required. 2e can do muc( more wit( -avaScript. inc udin# creatin# entire app ication.

-avaScript Es -ava -avaScript and -ava are entire y different an#ua#es. A few of t(e most # arin# differences are8 -ava app ets are #enera y disp ayed in a bo" wit(in t(e web documentU -avaScript can affect any part of t(e 2eb document itse f. 2(i e -avaScript is best suited to simp e app ications and addin# interactive features to 2eb pa#esU -ava can be used for incredib y comp e" app ications. '(ere are many ot(er differences but t(e important t(in# to remember is t(at -avaScript and -ava are separate an#ua#es. '(ey are bot( usefu for different t(in#sU in fact t(ey can be used to#et(er to combine t(eir advanta#es. Advanta#es -avaScript can be used for Sever*side and C ient*side scriptin#. It is more f e"ib e t(an E5Script. -avaScript is t(e defau t scriptin# an#ua#es at C ient*side since a t(e browsers supports it.

1M% 2 e1tensible Mar3up %anguage


/)$ is a mar6up an#ua#e for documents containin# structured information. Structured information contains bot( content 9words. pictures. etc.; and some indication of w(at ro e t(at content p ays 9for e"amp e. content in a section (eadin# (as a different meanin# from content in a footnote. w(ic( means somet(in# different t(an content in a fi#ure caption or content in a database tab e. etc.;. A most a documents (ave some structure. A mar6up an#ua#e is a mec(anism to identify structures in a document. '(e /)$ specification defines a standard way to add mar6up to documents. '(e !"tensib e )ar6up $an#ua#e 9/)$; is a #enera *purpose mar6up

an#ua#e.It is c assified as an e"tensib e an#ua#e because it a ows its users to define t(eir own ta#s. Its primary purpose is to faci itate t(e s(arin# of structured data across different information systems. particu ar y via t(e Internet.It is used bot( to encode documents and seria i7e data. In t(e atter conte"t. it is comparab e wit( ot(er te"t*based seria i7ation an#ua#es suc( as -SOC and MA)$. It started as a simp ified subset of t(e Standard 3enera i7ed )ar6up $an#ua#e 9S3)$;. and is desi#ned to be re ative y (uman* e#ib e. 5y addin# semantic constraints. app ication an#ua#es can be imp emented in /)$. '(ese inc ude /H')$. RSS. )at()$. 3rap()$. Sca ab e Eector 3rap(ics. )usic/)$. and t(ousands of ot(ers. )oreover. /)$ is sometimes used as t(e specification an#ua#e for suc( app ication an#ua#es. 2(y /)$D In order to appreciate /)$. it is important to understand w(y it was created. /)$ was created so t(at ric( y structured documents cou d be used over t(e web. '(e on y viab e a ternatives. H')$ and S3)$. are not practica for t(is purpose.

H')$. comes bound wit( a set of semantics and does not provide arbitrary structure. S3)$ provides arbitrary structure. but is too difficu t to imp ement 4ust for a web browser. &u S3)$ systems so ve ar#e. comp e" prob ems t(at 4ustify t(eir e"pense. Eiewin# structured documents sent over t(e web rare y carries suc( 4ustification. /)$ s(a support a wide variety of app ications. /)$ s(ou d be beneficia to a

wide variety of diverse app ications8 aut(orin#. browsin#. content ana ysis. etc. A t(ou#( t(e initia focus is on servin# structured documents over t(e web. it is not meant to narrow y define /)$. /)$ s(a be compatib e wit( S3)$. )ost of t(e peop e invo ved in t(e /)$

effort come from or#ani7ations t(at (ave a ar#e. in some cases sta##erin#. amount of materia in S3)$. /)$ was desi#ned pra#matica y. to be compatib e wit( e"istin# standards w(i e so vin# t(e re ative y new prob em of sendin# ric( y structured documents over t(e web. It s(a be easy to write pro#rams t(at process /)$ documents. '(e co oquia

way of e"pressin# t(is #oa w(i e t(e spec was bein# deve oped was t(at it ou#(t to ta6e about two wee6s for a competent computer science #raduate student to bui d a pro#ram t(at can process /)$ documents. /)$ synta" As on# as on y we *formedness is required. /)$ is a #eneric framewor6 for storin# any amount of te"t or any data w(ose structure can be represented as a tree. '(e on y indispensab e syntactica requirement is t(at t(e document (as e"act y one root e ement 9a ternative y ca ed t(e document e ement;. '(is means t(at t(e te"t must be enc osed between a root openin# ta# and a correspondin# c osin# ta#. '(e fo owin# is a we *formed /)$ document8 Jboo6L'(is is a boo6.... J0boo6L

'(e root e ement can be preceded by an optiona /)$ dec aration. '(is e ement states w(at version of /)$ is in use 9norma y 1.B;U it may a so contain information about c(aracter encodin# and e"terna dependencies. JD"m versionQP1.BP encodin#QP+'&*HPDL '(e specification requires t(at processors of /)$ support t(e pan*+nicode c(aracter encodin#s +'&*H and +'&*1< 9+'&*?2 is not mandatory;. '(e use of more imited encodin#s. suc( as t(ose based on ISO0I!C HHAI. is ac6now ed#ed and is wide y used and supported. Comments can be p aced anyw(ere in t(e tree. inc udin# in t(e te"t if t(e content of t(e e ement is te"t or NPC%A'A. /)$ comments start wit( JK** and end wit( **L. 'wo das(es 9**; may not appear anyw(ere in t(e te"t of t(e comment. JK** '(is is a comment. **L In any meanin#fu app ication. additiona mar6up is used to structure t(e

contents of t(e /)$ document. '(e te"t enc osed by t(e root ta#s may contain an arbitrary number of /)$ e ements. '(e basic synta" for one e ement is8 Jname attributeQPva uePLcontentJ0nameL Here. VcontentW is some te"t w(ic( may a#ain contain /)$ e ements. So. a #eneric /)$ document contains a tree*based data structure. In t(is respect. it is simi ar to t(e $ISP pro#rammin# an#ua#eRs S*e"pressions. w(ic( describe tree structures w(erein eac( node may (ave its own property ist. Attribute va ues must a ways be quoted. usin# sin# e or doub e quotes. and eac( attribute name s(ou d appear on y once in any e ement. /)$ requires t(at e ements be proper y nested G e ements may never over ap. &or e"amp e. t(e code be ow is not we *formed /)$. because t(e em and stron# e ements over ap8

JK** 2ROC3K CO' 2!$$*&OR)!% /)$K **L JpLCorma JemLemp(asi7ed Jstron#Lstron# emp(asi7edJ0emL

stron#J0stron#LJ0pL /)$ provides specia synta" for representin# an e ement wit( empty content. Instead of writin# a start ta# fo owed immediate y by an end ta#. a document may contain an empty*e ement ta#. An empty*e ement ta# resemb es a start ta# but contains a s as( 4ust before t(e c osin# an# e brac6et.

Processin# /)$ fi es '(ree traditiona tec(niques for processin# /)$ fi es are8 +sin# a pro#rammin# an#ua#e and t(e SA/ API. +sin# a pro#rammin# an#ua#e and t(e %O) API. )ore recent and emer#in# tec(niques for processin# /)$ fi es are8 Pus( Parsin# %ata bindin# Con*e"tractive /)$ Processin# API suc( as E'%*/)$ Simp e API for /)$ 9SA/; SA/ is a e"ica . event*driven interface in w(ic( a document is read seria y and its contents are reported as Pca bac6sP to various met(ods on a (and er ob4ect of t(e userRs desi#n. SA/ is fast and efficient to imp ement. but difficu t to use for e"tractin# information at random from t(e /)$. since it tends to burden t(e app ication aut(or wit( 6eepin# trac6 of w(at part of t(e document is bein# processed. It is better suited to situations in w(ic( certain types of information are a ways (and ed t(e same way. no matter w(ere t(ey occur in t(e document.

%O) %O) is an interface*oriented App ication Pro#rammin# Interface t(at a ows for navi#ation of t(e entire document as if it were a tree of PCodeP ob4ects representin# t(e documentRs contents. A %O) document can be created by a parser. or can be #enerated manua y by users 9wit( imitations;. %ata types in

%O) Codes are abstractU imp ementations provide t(eir own pro#rammin# an#ua#e*specific bindin#s. %O) imp ementations tend to be memory intensive. as t(ey #enera y require t(e entire document to be oaded into memory and constructed as a tree of ob4ects before access is a owed.

0ava 'echnolog"
Initia y t(e an#ua#e was ca ed as Soa6T but it was renamed as S-avaT in 1IIA. '(e primary motivation of t(is an#ua#e was t(e need for a p atform* independent 9i.e.. arc(itecture neutra ; an#ua#e t(at cou d be used to create software to be embedded in various consumer e ectronic devices. -ava is a pro#rammer=s an#ua#e. -ava is co(esive and consistent. !"cept for t(ose constraints imposed by t(e Internet environment. -ava #ives t(e pro#rammer. fu contro . &ina y. -ava is to Internet pro#rammin# w(ere C was to system pro#rammin#.

Importance of -ava to t(e Internet -ava (as (ad a profound effect on t(e Internet. '(is is becauseU -ava e"pands t(e +niverse of ob4ects t(at can move about free y in Cyberspace. In a networ6. two cate#ories of ob4ects are transmitted between t(e Server and t(e Persona computer. '(ey are8 Passive information and %ynamic active pro#rams. '(e %ynamic. Se f*e"ecutin# pro#rams cause serious prob ems in t(e areas of Security and probabi ity. 5ut. -ava addresses t(ose concerns and by doin# so. (as opened t(e door to an e"citin# new form of pro#ram ca ed t(e App et.

-ava can be used to create two types of pro#rams App ications and App ets 8 An app ication is a pro#ram t(at runs on our Computer under t(e operatin# system of t(at computer. It is more or ess i6e one creatin# usin# C or CXX. -ava=s abi ity to create App ets ma6es it important. An App et is an app ication desi#ned to be transmitted over t(e Internet and e"ecuted by a -ava Ocompatib e web browser. An app et is actua y a tiny -ava pro#ram. dynamica y down oaded across t(e networ6. 4ust i6e an ima#e. 5ut t(e difference is. it is an inte i#ent pro#ram. not 4ust a media fi e. It can react to t(e user input and dynamica y c(an#e.

&eatures of -ava Security !very time you t(at you down oad a Snorma T pro#ram. you are ris6in# a vira infection. Prior to -ava. most users did not down oad e"ecutab e pro#rams frequent y. and t(ose w(o did scan t(em for viruses prior to e"ecution. )ost users sti worried about t(e possibi ity of infectin# t(eir systems wit( a virus. In addition. anot(er type of ma icious pro#ram e"ists t(at must be #uarded a#ainst. '(is type of pro#ram can #at(er private information. suc( as credit card numbers. ban6 account ba ances. and passwords. -ava answers bot( t(ese concerns by providin# a Sfirewa T between a networ6 app ication and your computer. 2(en you use a -ava*compatib e 2eb browser. you can safe y down oad -ava app ets wit(out fear of virus infection or ma icious intent. Portabi ity &or pro#rams to be dynamica y down oaded to a t(e various types of p atforms connected to t(e Internet. some means of #eneratin# portab e e"ecutab e code is needed .As you wi see. t(e same mec(anism t(at (e ps ensure security a so (e ps create portabi ity. Indeed. -ava=s so ution to t(ese two prob ems is bot( e e#ant and efficient. '(e 5yte code '(e 6ey t(at a ows t(e -ava to so ve t(e security and portabi ity prob ems is t(at t(e output of -ava compi er is 5yte code. 5yte code is a (i#( y optimi7ed set of instructions desi#ned to be e"ecuted by t(e -ava run*time system. w(ic( is ca ed t(e -ava Eirtua )ac(ine 9-E);. '(at is. in its standard form. t(e -E) is an interpreter for byte code. 'rans atin# a -ava pro#ram into byte code (e ps ma6es it muc( easier to run a pro#ram in a wide variety of environments. '(e reason is. once t(e run*time pac6a#e e"ists for a #iven system. any -ava pro#ram can run on it. A t(ou#( -ava was desi#ned for interpretation. t(ere is tec(nica y not(in# about -ava t(at prevents on*t(e*f y compi ation of byte code into native code. Sun (as 4ust comp eted its -ust In 'ime 9-I'; compi er for byte code. 2(en t(e -I'

compi er is a part of -E). it compi es byte code into e"ecutab e code in rea time. on a piece*by*piece. demand basis. It is not possib e to compi e an entire -ava pro#ram into e"ecutab e code a is needed. durin# e"ecution. -ava Eirtua )ac(ine 9-E); 5eyond t(e an#ua#e. t(ere is t(e -ava virtua mac(ine. '(e -ava virtua at once. because -ava performs various run*time c(ec6s t(at can be done on y at run time. '(e -I' compi es code. as it

mac(ine is an important e ement of t(e -ava tec(no o#y. '(e virtua mac(ine can be embedded wit(in a web browser or an operatin# system. Once a piece of -ava code is oaded onto a mac(ine. it is verified. As part of t(e oadin# process. a c ass oader is invo6ed and does byte code verification ma6es sure t(at t(e code t(at=s (as been #enerated by t(e compi er wi t(at it=s not corrupt t(e mac(ine oaded on. 5yte code verification ta6es p ace at t(e end of t(e

compi ation process to ma6e sure t(at is a accurate and correct. So byte code verification is inte#ra to t(e compi in# and e"ecutin# of -ava code. Overa %escription

Java Source

Java byte code

JavaVM

Picture s(owin# t(e deve opment process of -AEA Pro#ram -ava pro#rammin# uses to produce byte codes and e"ecutes t(em. '(e first bo" indicates t(at t(e -ava source code is ocated in a. -ava fi e t(at is processed wit( a -ava compi er ca ed 4avac. '(e -ava compi er produces a fi e ca ed a. c ass fi e. w(ic( contains t(e byte code. '(e .C ass fi e is t(en oaded across t(e networ6 or oaded oca y on your mac(ine into t(e e"ecution environment is t(e -ava virtua mac(ine. w(ic( interprets and e"ecutes t(e byte code. -ava Arc(itecture -ava arc(itecture provides a portab e. robust. (i#( performin# environment for deve opment. -ava provides portabi ity by compi in# t(e byte codes for t(e -ava

J ava

. Class

Eirtua )ac(ine. w(ic( is t(en interpreted on eac( p atform by t(e run*time environment. -ava is a dynamic system. ab e to oad code w(en needed from a mac(ine in t(e same room or across t(e p anet. Compi ation of code 2(en you compi e t(e code. t(e -ava compi er creates mac(ine code 9ca ed byte code; for a (ypot(etica mac(ine ca ed -ava Eirtua )ac(ine 9-E);. '(e -E) is supposed to e"ecute t(e byte code. '(e -E) is created for overcomin# t(e issue of portabi ity. '(e code is written and compi ed for one mac(ine and interpreted on a mac(ines. '(is mac(ine is ca ed -ava Eirtua )ac(ine.

Compi in# and interpretin# -ava Source Code %urin# run*time t(e -ava interpreter tric6s t(e byte code fi e into t(in6in# t(at it is runnin# on a -ava Eirtua )ac(ine. In rea ity t(is cou d be a Inte Pentium 2indows IA or SunSARC station runnin# So aris or App e )acintos( runnin# system and a cou d receive code from any computer t(rou#( Internet and run t(e App ets. Simp e -ava was desi#ned to be easy for t(e Professiona pro#rammer to earn and to use effective y. If you are an e"perienced CXX pro#rammer. earnin# -ava wi be even easier. 5ecause -ava in(erits t(e C0CXX synta" and many of t(e ob4ect

oriented features of CXX. )ost of t(e confusin# concepts from CXX are eit(er eft out of -ava or imp emented in a c eaner. more approac(ab e manner. In -ava t(ere are a sma tas6. number of c ear y defined ways to accomp is( a #iven

Ob4ect*Oriented -ava was not desi#ned to be source*code compatib e wit( any ot(er an#ua#e. '(is a owed t(e -ava team t(e freedom to desi#n wit( a b an6 s ate. One outcome of t(is was a c ean usab e. pra#matic approac( to ob4ects. '(e ob4ect mode in -ava is simp e and easy to e"tend. w(i e simp e types. suc( as inte#ers. are 6ept as (i#(*performance non*ob4ects. Robust '(e mu ti*p atform environment of t(e 2eb p aces e"traordinary demands on a pro#ram. because t(e pro#ram must e"ecute re iab y in a variety of systems. '(e abi ity to create robust pro#rams was #iven a (i#( priority in t(e desi#n of -ava. -ava is strict y typed an#ua#eU it c(ec6s your code at compi e time and run time. -ava virtua y e iminates t(e prob ems of memory mana#ement and de* a ocation. w(ic( is comp ete y automatic. In a we *written -ava pro#ram. a run time errors can Oand s(ou d Obe mana#ed by your pro#ram.

0ava Collections
A co ection G sometimes ca ed a container G is simp y an ob4ect t(at #roups mu tip e e ements into a sin# e unit. Co ections are used to store. retrieve. manipu ate. and communicate a##re#ate data. 'ypica y. t(ey represent data items t(at form a natura #roup. suc( as a po6er (and 9a co ection of cards;. a mai fo der 9a co ection of etters;. or a te ep(one directory 9a mappin# of names to p(one numbers;. If youRve used t(e -ava pro#rammin# an#ua#e G or 4ust about any ot(er pro#rammin# an#ua#e G youRre a ready fami iar wit( co ections. Co ection imp ementations in ear ier 9pre*1.2; versions of t(e -ava p atform inc uded Eector. Has(tab e. and array. However. t(ose ear ier versions did not contain a co ections framewor6. A co ections framewor6 is a unified arc(itecture for representin# and

manipu atin# co ections. A co ections framewor6s contain t(e fo owin#8 Interfaces8 '(ese are abstract data types t(at represent co ections. Interfaces a ow co ections to be manipu ated independent y of t(e detai s of t(eir representation. In ob4ect*oriented (ierarc(y. Imp ementations8 '(ese are t(e concrete imp ementations of t(e co ection interfaces. In essence. t(ey are reusab e data structures. A #orit(ms8 '(ese are t(e met(ods t(at perform usefu computations. suc( as searc(in# and sortin#. on ob4ects t(at imp ement co ection interfaces. '(e a #orit(ms are said to be po ymorp(ic8 t(at is. t(e same met(od can be used on many different imp ementations of t(e appropriate co ection interface. In essence. a #orit(ms are reusab e functiona ity. an#ua#es. interfaces #enera y form a

-enefits of the 0ava Collections &ramewor3


'(e -ava Co ections &ramewor6 provides t(e fo owin# benefits8 Reduces pro#rammin# effort8 5y providin# usefu data structures and

a #orit(ms. t(e Co ections &ramewor6 frees you to concentrate on t(e important parts of your pro#ram rat(er t(an on t(e ow* eve Pp umbin#P required to ma6e it wor6. 5y faci itatin# interoperabi ity amon# unre ated APIs. t(e -ava Co ections &ramewor6 frees you from writin# adapter ob4ects or conversion code to connect APIs. Increases pro#ram speed and qua ity8 '(is Co ections &ramewor6 provides (i#( performance. (i#(*qua ity imp ementations of usefu data structures and a #orit(ms. '(e various imp ementations of eac( interface are interc(an#eab e. so pro#rams can be easi y tuned by switc(in# co ection imp ementations. 5ecause youRre freed from t(e drud#ery of writin# your own data structures. youR (ave more time to devote to improvin# pro#ramsR qua ity and performance. A ows interoperabi ity amon# unre ated APIs8 '(e co ection interfaces are t(e vernacu ar by w(ic( APIs pass co ections bac6 and fort(. If my networ6 administration API furnis(es a co ection of node names and if your 3+I too 6it e"pects a co ection of co umn (eadin#s. our APIs wi even t(ou#( t(ey were written independent y. Reduces effort to a sma earn and to use new APIs8 )any APIs natura y ta6e itt e interoperate seam ess y.

co ections on input and furnis( t(em as output. In t(e past. eac( suc( API (ad sub*API devoted to manipu atin# its co ections. '(ere was consistency amon# t(ese ad (oc co ections sub*APIs. so you (ad to earn eac( one from scratc(. and it was easy to ma6e mista6es w(en usin# t(em. 2it( t(e advent of standard co ection interfaces. t(e prob em went away. Reduces effort to desi#n new APIs8 '(is is t(e f ip side of t(e previous advanta#e. %esi#ners and imp ementers donRt (ave to reinvent t(e w(ee eac( time t(ey create an API t(at re ies on co ectionsU instead. t(ey can use standard

co ection interfaces. &osters software reuse8 Cew data structures t(at conform to t(e standard co ection interfaces are by nature reusab e. '(e same #oes for new a #orit(ms t(at operate on ob4ects t(at imp ement t(ese interfaces. 'he core collection interfaces4 A Set is a specia 6ind of Co ection. a SortedSet is a specia 6ind of Set. and so fort(. Cote a so t(at t(e (ierarc(y consists of two distinct trees G a )ap is not a true Co ection.

Cote t(at a t(e core co ection interfaces are #eneric. &or e"amp e. t(is is t(e dec aration of t(e Co ection interface. pub ic interface Co ectionJ!L... '(e fo owin# ist describes t(e core co ection interfaces8 Co ection G t(e root of t(e co ection (ierarc(y. A co ection represents a #roup of ob4ects 6nown as its e ements. '(e Co ection interface is t(e east common denominator t(at a co ections imp ement and is used to pass co ections around and to manipu ate t(em w(en ma"imum #enera ity is desired. Some types of co ections a ow dup icate e ements. and ot(ers do not. Some are ordered and ot(ers are unordered. '(e -ava p atform doesnRt provide any direct imp ementations of t(is interface but provides imp ementations of more specific sub interfaces. suc( as Set and $ist. A so see '(e Co ection

Interface section. Set G a co ection t(at cannot contain dup icate e ements. '(is interface mode s t(e mat(ematica set abstraction and is used to represent sets. suc( as t(e cards comprisin# a po6er (and. t(e courses ma6in# up a studentRs sc(edu e. or t(e processes runnin# on a mac(ine. See a so '(e Set Interface section. $ist G an ordered co ection 9sometimes ca ed a sequence;. $ists can contain dup icate e ements. '(e user of a $ist #enera y (as precise contro over w(ere in t(e ist eac( e ement is inserted and can access e ements by t(eir inte#er inde" 9position;. If youRve used Eector. youRre fami iar wit( t(e #enera f avor of $ist. A so see '(e $ist Interface section. 1ueue G a co ection used to (o d mu tip e e ements prior to processin#. 5esides basic Co ection operations. a 1ueue provides additiona insertion. e"traction. and inspection operations. 1ueues typica y. but do not necessari y. order e ements in a &I&O 9first*in. first*out; manner. Amon# t(e e"ceptions are priority queues. w(ic( order e ements accordin# to a supp ied comparator or t(e e ementsR natura . orderin#D 2(atever t(e orderin# used. t(e (ead of t(e queue is t(e e ement t(at wou d be removed by a ca queue. a to remove or po . In a &I&O new e ements are inserted at t(e tai of t(e queue. Ot(er 6inds of

queues may use different p acement ru es. !very 1ueue imp ementation must specify its orderin# properties. A so see '(e 1ueue Interface section. A 1ueue is a co ection for (o din# e ements prior to processin#. 5esides basic Co ection operations. queues provide additiona insertion. remova . and inspection operations. !ac( 1ueue met(od e"ists in two forms8 91; one t(rows an e"ception if t(e operation fai s. and 92; t(e ot(er returns a specia va ue if t(e operation fai s 9eit(er nu or fa se. dependin# on t(e operation;. '(e re#u ar structure of t(e interface is i ustrated in t(e fo owin# tab e. )ap G an ob4ect t(at maps 6eys to va ues. A )ap cannot contain dup icate

6eysU eac( 6ey can map to at most one va ue. If youRve used Has(tab e. youRre a ready fami iar wit( t(e basics of )ap. A so see '(e )ap Interface section. '(e ast two core co ection interfaces are mere y sorted versions of Set and )ap8 SortedSet G a Set t(at maintains its e ements in ascendin# order. Severa additiona operations are provided to ta6e advanta#e of t(e orderin#. Sorted sets are used for natura y ordered sets. suc( as word ists and members(ip ro s. A so see '(e SortedSet Interface section. Sorted)ap G a )ap t(at maintains its mappin#s in ascendin# 6ey order. '(is is t(e )ap ana o# of SortedSet. Sorted maps are used for natura y ordered co ections of 6ey0va ue pairs. suc( as dictionaries and te ep(one directories. A so see '(e Sorted)ap Interface section. Iterators8 An Iterator is an ob4ect t(at enab es you to traverse t(rou#( a co ection and to remove e ements from t(e co ection se ective y. if desired. Mou #et an Iterator for a co ection by ca in# its iterator met(od. '(e fo owin# is t(e Iterator interface. pub ic interface IteratorJ!L Y boo ean (asCe"t9;U ! ne"t9;U void remove9;U 00optiona

'(e (asCe"t met(od returns true if t(e iteration (as more e ements. and t(e ne"t met(od returns t(e ne"t e ement in t(e iteration. '(e remove met(od removes t(e ast e ement t(at was returned by ne"t from t(e under yin# to ne"t and Co ection. '(e remove met(od may be ca ed on y once per ca t(rows an e"ception if t(is ru e is vio ated. 5u 6 operations perform an operation on an entire Co ection. Mou cou d imp ement t(ese s(ort(and operations usin# t(e basic operations. t(ou#( in most cases suc( imp ementations wou d be ess efficient. '(e fo owin# are t(e

bu 6 operations8 containsA G returns true if t(e tar#et Co ection contains a of t(e e ements in t(e specified Co ection. addA G adds a of t(e e ements in t(e specified Co ection to t(e tar#et

Co ection. removeA G removes from t(e tar#et Co ection a of its e ements t(at are a so contained in t(e specified Co ection. retainA G removes from t(e tar#et Co ection a its e ements t(at are not a so contained in t(e specified Co ection. '(at is. it retains on y t(ose e ements in t(e tar#et Co ection t(at are a so contained in t(e specified Co ection. c ear G removes a e ements from t(e Co ection. '(e addA . removeA . and retainA met(ods a return true if t(e tar#et

Co ection was modified in t(e process of e"ecutin# t(e operation.

0ava Swing
Swin# Components enab e t(e user to bui d functiona y ric( user interfaces. '(e Swin# #rap(ica user interface components were introduced wit( t(e -ava &oundation C asses 9-&C; as a down oadab e e"tension to t(e -ava 1.1 P atform t(en became a standard e"tension in t(e -ava 2 P atform. Swin# provides a more comp ete set of 3+I components t(an t(e Abstract 2indowin# 'oo 6it 9A2';. inc udin# advanced features suc( as a p u##ab e i#(twei#(t component renderin# and dra#*and*drop capabi ities. Swin# 'e"t Components and H')$ Renderin# )any app ications present te"t to t(e user for viewin# and editin#. '(is te"t may consist of p ain. unformatted c(aracters. or it may consist of ric( y sty ed c(aracters t(at use mu tip e fonts and e"tensive formattin#. Swin# provides t(ree basic types of te"t components for presentin# and editin# te"t. C ass -'e"tComponent is t(e base c ass for a Swin# te"t components. inc udin# -'e"t&ie d. -'e"tArea and -!ditorPane. -'e"t&ie d is a sin# e* ine te"t component suitab e for obtainin# simp e user input or disp ayin# information suc( as form fie d va ues. ca cu ation resu ts and so on. -password&ie d is a subc ass of -'e"t&ie d suitab e for obtainin# user passwords. '(ese components do not perform any specia te"t sty in#. Rat(er. t(ey present a te"t in a sin# e font and co or. -'e"tArea. i6e -'e"t&ie d and -Password&ie d. a so does not sty e its te"t. However. -'e"tArea does provide a ar#er visib e area and supports ar#er p ain*te"t documents. -!ditorPane provides en(anced te"t*renderin# capabi ities. -!ditorPane supports sty ed documents t(at inc ude formattin#. font and co or information. -!ditor* Pane is capab e of renderin# H')$ documents as we as Ric( 'e"t &ormat 9R'&; documents. 2e use c ass -!ditorPane to render H')$ pa#es for a simp e 2eb browser app ication. -'e"tPane is a -!ditorPane subc ass t(at renders on y sty ed documents. and not p ain te"t. -'e"tPane provides deve opers wit( fine*#rained contro over t(e sty e of eac( c(aracter and para#rap( in t(e rendered document. oo6 and fee .

Swin# 'oo bars 'oo bars are 3+I containers typica y ocated be ow an app ication=s menus. 'oo bars contain buttons and ot(er 3+I components for common y used features. suc( as cut. copy and paste. or navi#ation buttons for a 2eb browser. &i#ure 2.2 s(ows too bars in Internet !"p orer and )o7i a. C ass 4ava".swin#.-'oo 5ar enab es deve opers to add too bars to Swin# user

interfaces. -'oo 5ar a so enab es users to modify t(e appearance of t(e -'oo 5ar in a runnin# app ication. &or e"amp e. t(e user can dra# t(e -'oo 5ar from t(e top of a window and Pdoc6P t(e -'oo 5ar on t(e side or bottom of t(e window. -Sp itPane and -'abbedPane -Sp itPane and -'abbedPane are container components t(at enab e deve opers to present ar#e amounts of information in a sma screen area. -Sp itPane accomp is(es t(is by dividin# two components wit( a divider users can reposition to e"pand and contract t(e visib e areas of t(e -Sp itPane=s c(i d components 9&i#. 2.:;. -'abbedPane uses a fi efo der* sty e tab interface to arran#e many components t(rou#( w(ic( t(e user can browse. -ava Swin# provides c asses -%es6topPane and -Interna &rame for bui din# mu tip e*document interfaces. '(ese c ass names reinforce t(e idea t(at eac( document is a separate window 9-Interna &rame; inside t(e app ication=s des6top 9-%es6top*Pane;. 4ust as ot(er app ications are separate windows 9e.#.. -&rames; on t(e operatin# system=s des6top. -Interna &rames be(ave muc( i6e -&rames. +sers can ma"imi7e. iconify. resi7e. open and c ose -Interna &rames. -Interna &rames (ave tit e bars wit( buttons for iconifyin#. ma"imi7in# and c osin#. +sers a so can move -Interna *&rames wit(in t(e -%es6topPane. %ra# and drop is a common way to manipu ate data in a 3+I. )ost 3+Is emu ate rea wor d des6tops. wit( icons t(at represent t(e ob4ects on a virtua des6. %ra# and drop enab es users to move items around t(e des6top and to move and copy data amon# app ications usin# mouse #estures. A #esture is a mouse movement t(at corresponds to a dra# and*drop operation. suc( as dra##in# a fi e from one fo der and droppin# t(e fi e into anot(er fo der. 'wo

-ava APIs enab e dra#*and*drop data transfer between app ications. '(e data transfer APIGpac6a#e 4ava.awt.datatransferGenab es copyin# and movin# data wit(in a sin# e app ication or amon# mu tip e app ications. '(e dra#*and*drop API enab es -ava app ications to reco#ni7e dra#*and*drop #estures and to respond to dra#*and drop operations. A dra#*and*drop operation uses t(e data transfer API to transfer data from t(e dra# source to t(e drop tar#et. &or e"amp e. a user cou d be#in a dra# #esture in a fi emana#er app ication 9t(e dra# source; to dra# a fi e from a fo der and drop t(e fi e on a -ava app ication 9t(e drop tar#et;. '(e -ava app ication wou d use t(e dra#*and*drop API to reco#ni7e t(at a dra#*and*drop operation occurred and wou d use t(e data transfer API to retrieve t(e data transferred t(rou#( t(e dra#*and*drop operation.

S#R5%#'S
Introduction '(e -ava web server is -avaSoftRs own web Server. '(e -ava web server is 4ust a part of a ar#er framewor6. intended to provide you not 4ust wit( a web server. but a so wit( too s. 'o bui d customi7ed networ6 servers for any Internet or Intranet c ient0server system. Serv ets are to a web server. (ow app ets are to t(e browser. About Serv ets Serv ets provide a -ava*based so ution used to address t(e prob ems current y associated wit( doin# server*side pro#rammin#. inc udin# ine"tensib e scriptin# so utions. p atform*specific APIs. and incomp ete interfaces. Serv ets are ob4ects t(at conform to a specific interface t(at can be p u##ed into a -ava*based server. Serv ets are to t(e server*side w(at app ets are to t(e c ient*side * ob4ect byte codes t(at can be dynamica y oaded off t(e net. '(ey differ from app ets in t(at t(ey are face ess ob4ects 9wit(out #rap(ics or a 3+I component;. '(ey serve as p atform independent. dynamica y dynamica y e"tend server*side functiona ity. &or e"amp e. an H''P Serv ets can be used to #enerate dynamic H')$ content. 2(en you use Serv ets to do dynamic content you #et t(e fo owin# advanta#es8 '(ey=re faster and c eaner t(an C3I scripts '(ey use a standard API 9t(e Serv ets API; '(ey provide a t(e advanta#es of -ava 9run on a variety of servers wit(out needin# to be rewritten;. Attractiveness of Serv ets '(ere are many features of Serv ets t(at ma6e t(em easy and attractive to use. '(ese inc ude8 !asi y confi#ured usin# t(e 3+I*based Admin too oadab e. p u##ab e (e per byte code ob4ects on t(e server side t(at can be used to

Can be oaded and invo6ed from a oca dis6 or remote y across t(e networ6. Can be in6ed to#et(er. or c(ained. so t(at one Serv ets can ca anot(er Serv ets. or severa Serv ets in sequence. Can be ca ed dynamica y from wit(in H')$ pa#es. usin# server* side inc ude ta#s. Are secure * even w(en down oadin# across t(e networ6. t(e Serv ets security mode and Serv ets sandbo" protect your system from unfriend y be(avior.

Advanta#es of t(e Serv et API One of t(e #reat advanta#es of t(e Serv et API is protoco independence. It assumes not(in# about8 '(e protoco bein# used to transmit on t(e net How it is oaded '(e server environment it wi be runnin# in

'(ese qua ities are important. because it a ows t(e Serv et API to be embedded in many different 6inds of servers. '(ere are ot(er advanta#es to t(e Serv et API as we . '(ese inc ude8 It=s e"tensib e * you can in(erit a c asses made avai ab e to you. It=s simp e. sma . and easy to use. your functiona ity from t(e base

&eatures of Serv ets8 Serv ets are persistent. Serv et are oaded on y by t(e web server and can maintain services between requests. Serv ets are fast. Since Serv ets on y need to be oaded once. t(ey offer muc( better performance over t(eir C3I counterparts. Serv ets are p atform independent. Serv ets are e"tensib e. -ava is a robust. ob4ect*oriented pro#rammin# an#ua#e. w(ic( easi y can be e"tended to suit your needs Serv ets are secure. Serv ets can be used wit( a variety of c ients.

$oadin# Serv ets8 Serv ets can be oaded from t(ree p aces &rom a directory t(at is on t(e C$ASSPA'H. '(e C$ASSPA'H of reside. &rom t(e JS!REIC![ROO' 0Serv ets0 directory. '(is is \not\ in t(e server=s t(e

-ava2ebServer inc udes service root0c asses0 w(ic( is w(ere t(e system c asses

c ass pat(. A c ass oader is used to create Serv ets from t(is directory. Cew

Serv ets can be added * e"istin# Serv ets can be recompi ed and t(e server wi notice t(ese c(an#es. &rom a remote ocation. for t(is a code base i6e (ttp8 00 nine.en# 0 c asses 0 foo 0 is required in addition to t(e Serv ets c ass name. Refer to t(e admin 3+I docs on Serv et section to see (ow to set t(is up. $oadin# Remote Serv ets Remote Serv ets can be oaded by8 1. Confi#urin# t(e Admin 'oo to setup automatic oadin# of remote Serv ets 2. Settin# up server side inc ude ta#s in. s(tm fi es ?. %efinin# a fi ter c(ain confi#uration Invo6in# Serv ets A Serv et invo6er is a Serv et t(at invo6es t(e PserviceP met(od on a named Serv et. If t(e Serv et is not oaded in t(e server. t(en t(e invo6er first oads t(e Serv et 9eit(er from oca dis6 or from t(e networ6; and t(e t(en invo6es t(e PserviceP met(od. A so i6e app ets. oca Serv ets in t(e server can be identified by 4ust t(e c ass name. In ot(er words. if a Serv et name is not abso ute. it is treated as oca . A c ient can invo6e Serv ets in t(e fo owin# ways4 '(e c ient can as6 for a document t(at is served by t(e Serv et. '(e c ient 9browser; can invo6e t(e Serv et direct y usin# a +R$. once it (as been mapped usin# t(e Serv et A iases section of t(e admin 3+I.

'(e Serv et can be invo6ed t(rou#( server side inc ude ta#s. '(e Serv et can be invo6ed by p acin# it in t(e Serv ets0 directory. '(e Serv et can be invo6ed by usin# it in a fi ter c(ain.

0ava (atabase Connectivit"


2(at Is -%5CD -%5C is a -ava API for e"ecutin# S1$ statements. 9As a point of interest. -%5C is a trademar6ed name and is not an acronymU nevert(e ess. -%5C is often t(ou#(t of as standin# for -ava %atabase Connectivity. It consists of a set of c asses and interfaces written in t(e -ava pro#rammin# an#ua#e. -%5C provides

a standard API for too 0database deve opers and ma6es it possib e to write database app ications usin# a pure -ava API. +sin# -%5C. it is easy to send S1$ statements to virtua y any re ationa database. One can write a sin# e pro#ram usin# t(e -%5C API. and t(e pro#ram wi be ab e to send S1$ statements to t(e appropriate database. '(e combinations of -ava and -%5C ets a pro#rammer write it once and run it anyw(ere. 2(at %oes -%5C %oD Simp y put. -%5C ma6es it possib e to do t(ree t(in#s8 !stab is( a connection wit( a database Send S1$ statements Process t(e resu ts.

-%5C versus O%5C and ot(er APIs At t(is point. )icrosoftRs O%5C 9Open %atabase Connectivity; API is t(at probab y t(e most wide y used pro#rammin# interface for accessin# re ationa databases. It offers t(e abi ity to connect to a most a databases on a most a p atforms. So w(y not 4ust use O%5C from -avaD '(e answer is t(at you can use O%5C from -ava. but t(is is best done wit( t(e (e p of -%5C in t(e form of t(e -%5C* O%5C 5rid#e. w(ic( we wi cover s(ort y. '(e question now becomes P2(y do you need -%5CDP '(ere are severa answers to t(is question8 1. O%5C is not appropriate for direct use from -ava because it uses a C interface. Ca s from -ava to native C code (ave a number of drawbac6s in t(e security. imp ementation. robustness. and automatic portabi ity of app ications. 2. A itera trans ation of t(e O%5C C API into a -ava API wou d not be desirab e. &or e"amp e. -ava (as no pointers. and O%5C ma6es copious use of t(em. inc udin# t(e notorious y error*prone #eneric pointer Pvoid \P. Mou can t(in6 of -%5C as O%5C trans ated into an ob4ect*oriented interface t(at is natura for -ava pro#rammers. ?. O%5C is (ard to earn. It mi"es simp e and advanced features to#et(er. and it (as comp e" options even for simp e queries. -%5C. on t(e ot(er

(and. was desi#ned to 6eep simp e t(in#s simp e w(i e a owin# more advanced capabi ities w(ere required. >. A -ava API i6e -%5C is needed in order to enab e a Ppure -avaP so ution. 2(en O%5C is used. t(e O%5C driver mana#er and drivers must be manua y insta ed on every c ient mac(ine. 2(en t(e -%5C driver is written comp ete y in -ava. (owever. -%5C code is automatica y insta ab e. portab e. and secure on a computers to mainframes. 'wo*tier and '(ree*tier )ode s '(e -%5C API supports bot( two*tier and t(ree*tier mode s for database access. In t(e two*tier mode . a -ava app et or app ication ta 6s direct y to t(e database. '(is requires a -%5C driver t(at can communicate wit( t(e particu ar database mana#ement system bein# accessed. A userRs S1$ statements are de ivered to t(e database. and t(e resu ts of t(ose statements are sent bac6 to t(e user. '(e database may be ocated on anot(er mac(ine to w(ic( t(e user is connected via a networ6. '(is is referred to as a c ient0server confi#uration. wit( t(e userRs mac(ine as t(e c ient. and t(e mac(ine (ousin# t(e database as t(e server. '(e networ6 can be an Intranet. w(ic(. for e"amp e. connects emp oyees wit(in a corporation. or it can be t(e Internet. -ava p atforms from networ6

JAVA Application

Client machine

JDBC

DBMS-proprietary protocol

DBMS

Database server

Java applet or Html browser

Client machine ( !") H##$% &M"% or C'&BA calls

Application Server (Java) JDBC

Server machine (business DBMS-proprietary protocol (o)ic) Database server

DBMS

In t(e t(ree*tier mode . commands are sent to a Pmidd e tierP of services. w(ic( t(en send S1$ statements to t(e database. '(e database processes t(e S1$ statements and sends t(e resu ts bac6 to t(e midd e tier. w(ic( t(en sends t(em to t(e user. )IS directors find t(e t(ree*tier mode very attractive because t(e midd e tier ma6es it possib e to maintain contro over access and t(e 6inds of updates t(at can be made to corporate data. Anot(er advanta#e is t(at w(en t(ere is a midd e tier. t(e user can emp oy an easy*to*use (i#(er* eve API w(ic( is trans ated by t(e midd e tier into t(e appropriate ow* eve ca s. &ina y. in many cases t(e t(ree*tier arc(itecture can provide performance advanta#es. +nti now t(e midd e tier (as typica y been written in an#ua#es suc( as C or CX X. w(ic( offer fast performance. However. wit( t(e introduction of optimi7in# compi ers t(at trans ate -ava byte code into efficient mac(ine*specific code. it is becomin# practica to imp ement t(e midd e tier in -ava. '(is is a bi# p us. ma6in# it possib e to ta6e advanta#e of -avaRs robustness. mu tit(readin#. and security features. -%5C is important to a ow database access from a -ava midd e tier.

-%5C %river 'ypes '(e -%5C drivers t(at we are aware of at t(is time fit into one of four cate#ories8 -%5C*O%5C brid#e p us O%5C driver Cative*API part y*-ava driver -%5C*Cet pure -ava driver Cative*protoco pure -ava driver

0(-C)O(-C -ridge4 If possib e. use a Pure -ava -%5C driver instead of t(e 5rid#e and an O%5C driver. '(is comp ete y e iminates t(e c ient confi#uration required by O%5C. It a so e iminates t(e potentia t(at t(e -ava E) cou d be corrupted by an error in t(e native code brou#(t in by t(e 5rid#e 9t(at is. t(e 5rid#e native ibrary. t(e O%5C driver mana#er ibrary. t(e O%5C driver ibrary. and t(e database c ient ibrary;. 2(at Is t(e -%5C* O%5C 5rid#eD '(e -%5C*O%5C 5rid#e is a -%5C driver. w(ic( imp ements -%5C operations by trans atin# t(em into O%5C operations. 'o O%5C it appears as a norma

app ication pro#ram. '(e 5rid#e imp ements -%5C for any database for w(ic( an O%5C driver is avai ab e. '(e 5rid#e is imp emented as t(e Sun.4dbc.odbc -ava pac6a#e and contains a native ibrary used to access O%5C. '(e 5rid#e is a 4oint deve opment of Innerso e and -ava Soft. -%5C connectivity '(e -%5C provides database*independent connectivity between t(e -2!! p atform and a wide ran#e of tabu ar data sources. -%5C tec(no o#y a ows an App ication Component Provider to8 Perform connection and aut(entication to a database server )ana#er transactions )ove S1$ statements to a database en#ine for preprocessin# and e"ecution !"ecute stored procedures Inspect and modify t(e resu ts from Se ect statements

(atabase4
A database mana#ement system 9%5)S; is computer software desi#ned for t(e purpose of mana#in# databases. a ar#e set of structured data. and run operations on t(e data requested by numerous users. 'ypica e"amp es of %5)Ss inc ude Orac e. %52. )icrosoft Access. )icrosoft S1$ Server. &irebird. Post#reS1$. )yS1$. S1$ite. &i e)a6er and Sybase Adaptive Server !nterprise. %5)Ss are typica y used by %atabase administrators in t(e creation of %atabase systems. 'ypica e"amp es of %5)S use inc ude accountin#. (uman resources and customer support systems. Ori#ina y found on y in ar#e companies wit( t(e computer (ardware needed to support ar#e data sets. %5)Ss (ave more recent y emer#ed as a fair y standard part of any company bac6 office.

(escription
A %5)S is a comp e" set of software pro#rams t(at contro s t(e or#ani7ation. stora#e. mana#ement. and retrieva of data in a database. A %5)S inc udes8 A mode in# an#ua#e to define t(e sc(ema of eac( database (osted in t(e %5)S. accordin# to t(e %5)S data mode . '(e four most common types of or#ani7ations are t(e (ierarc(ica . networ6. re ationa and ob4ect mode s. Inverted ists and ot(er

met(ods are a so used. A #iven database mana#ement system may provide one or more of t(e four mode s. '(e optima structure depends on t(e natura or#ani7ation of t(e app icationRs data. and on t(e app icationRs requirements 9w(ic( inc ude transaction rate 9speed;. re iabi ity. maintainabi ity. sca abi ity. and cost;. '(e dominant mode in use today is t(e ad (oc one embedded in S1$. despite t(e ob4ections of purists w(o be ieve t(is mode is a corruption of t(e re ationa mode . since it vio ates severa of its fundamenta princip es for t(e sa6e of practica ity and performance. )any %5)Ss

a so support t(e Open %atabase Connectivity API t(at supports a standard way for pro#rammers to access t(e %5)S. %ata structures 9fie ds. records. fi es and ob4ects; optimi7ed to dea wit( very ar#e amounts of data stored on a permanent data stora#e device 9w(ic( imp ies re ative y s ow access compared to vo ati e main memory;.

A database query

an#ua#e and report writer to a ow users to

interactive y interro#ate t(e database. ana y7e its data and update it accordin# to t(e users privi e#es on data. It a so contro s t(e security of t(e database. %ata security prevents unaut(ori7ed users from viewin# or updatin# t(e database. +sin# passwords. users are a owed access to t(e entire database or subsets of it ca ed subsc(emas. &or e"amp e. an emp oyee database can contain a t(e data about an individua emp oyee. but one #roup of users may be aut(ori7ed to view on y payro data. w(i e ot(ers are a owed access to on y wor6 (istory and medica data. If t(e %5)S provides a way to interactive y enter and update t(e database. as we as interro#ate it. t(is capabi ity a ows for mana#in# persona databases. However. it may not eave an audit trai of actions or provide t(e 6inds of contro s necessary in a mu ti*user or#ani7ation. '(ese contro s are on y avai ab e w(en a set of app ication pro#rams are customi7ed for eac( data entry and updatin# function.

A transaction mec(anism. t(at idea y wou d #uarantee t(e ACI% properties. in order to ensure data inte#rity. despite concurrent user accesses 9concurrency contro ;. and fau ts 9fau t to erance;. It a so maintains t(e inte#rity of t(e data in t(e database.

'(e %5)S can maintain t(e inte#rity of t(e database by not a owin# more t(an one user to update t(e same record at t(e same time. '(e %5)S can (e p prevent dup icate records via unique inde" constraintsU for e"amp e. no two customers wit( t(e same customer numbers 96ey fie ds; can be entered into t(e database. See ACI% properties for more information 9Redundancy avoidance;.

'(e %5)S accepts requests for data from t(e app ication pro#ram and instructs t(e operatin# system to transfer t(e appropriate data. 2(en a %5)S is used. information systems can be c(an#ed muc( more easi y as t(e or#ani7ationRs information requirements c(an#e. Cew cate#ories of data can be added to t(e database wit(out disruption to t(e e"istin# system. Or#ani7ations may use one 6ind of %5)S for dai y transaction processin# and t(en move t(e detai onto anot(er computer t(at uses anot(er %5)S better suited for random inquiries and ana ysis. Overa desi#n is performed by database administrators. %atabase servers are specia y desi#ned computers t(at (o d t(e actua databases and run on y t(e %5)S and re ated software. %atabase servers are usua y mu tiprocessor computers. wit( RAI% dis6 arrays used for stab e stora#e. Connected to one or more servers via a (i#(*speed c(anne . (ardware database acce erators are a so used in ar#e vo ume transaction processin# environments. %5)Ss are found at t(e (eart of most database app ications. Sometimes %5)Ss are bui t around a private mu titas6in# 6erne wit( bui t*in networ6in# support a t(ou#( nowadays t(ese functions are eft to t(e operatin# system. systems desi#n decisions are performed by data administrators and systems ana ysts. %etai ed database

S6%
Structured 1uery $an#ua#e 9S1$; is t(e an#ua#e used to manipu ate re ationa databases. S1$ is tied very c ose y wit( t(e re ationa mode . In t(e re ationa mode . data is stored in structures ca ed re ations or tab es. S1$ statements are issued for t(e purpose of8 (ata definition4 %efinin# tab es and structures in t(e database 9%%$ used to create. a ter and drop sc(ema ob4ects suc( as tab es and inde"es;. (ata manipulation4 +sed to manipu ate t(e data wit(in t(ose sc(ema ob4ects 9%)$ Insertin#. +pdatin#. %e etin# t(e data. and 1ueryin# t(e %atabase;. A sc(ema is a co ection of database ob4ects t(at can inc ude8 tab es. views. inde"es and sequences $ist of S1$ statements t(at can be issued a#ainst an Orac e database sc(ema are8 A%'#R * C(an#e an e"istin# tab e. view or inde" definition 9%%$; A*(I' * 'rac6 t(e c(an#es made to a tab e 9%%$; COMM#+' * Add a comment to a tab e or co umn in a tab e 9%%$; COMMI' * )a6e a recent c(an#es permanent 9%)$ * transactiona ; CR#A'# * Create new database ob4ects suc( as tab es or views 9%%$; (#%#'# * %e ete rows from a database tab e 9%)$; (ROP * %rop a database ob4ect suc( as a tab e. view or inde" 9%%$; ,RA+' * A ow anot(er user to access database ob4ects suc( as tab es or views 9%%$; I+S#R' * Insert new data into a database tab e 9%)$; +o A*(I' * 'urn off t(e auditin# function 9%%$; R#5O7# * %isa ow a user access to database ob4ects suc( as tab es and views 9%%$;

RO%%-AC7 * +ndo any recent c(an#es to t(e database 9%)$ * 'ransactiona ; S#%#C' * Retrieve data from a database tab e 9%)$; 'R*+CA'# * %e ete a bac6; 9%)$; *P(A'# * C(an#e t(e va ues of some data items in a database tab e 9%)$; rows from a database tab e 9can not be ro ed

0ava Server Pages (0SP)


-ava server Pa#es is a simp e. yet powerfu tec(no o#y for creatin# and

maintainin# dynamic*content web pa#es. 5ased on t(e -ava pro#rammin# an#ua#e. -ava Server Pa#es offers proven portabi ity. open standards. and a mature re*usab e component mode .'(e -ava Server Pa#es arc(itecture enab es t(e separation of content #eneration from content presentation. '(is separation not eases maintenance (eadac(esU it a so a ows web team members to focus on t(eir areas of e"pertise. Cow. web pa#e desi#ner can concentrate on ayout. and web app ication desi#ners on pro#rammin#. wit( minima impactin# eac( ot(er=s wor6. concern about

&eatures of 0SP Portabilit"4 -ava Server Pa#es fi es can be run on any web server or web*enab ed app ication server t(at provides support for t(em. %ubbed t(e -SP en#ine.

t(is support invo ves reco#nition. trans ation. and mana#ement of t(e -ava Server Pa#e ifecyc e and its interaction components. Components It was mentioned ear ier t(at t(e -ava Server Pa#es arc(itecture can inc ude reusab e -ava components. '(e arc(itecture a so a ows for t(e embeddin# of a scriptin# an#ua#e direct y into t(e -ava Server Pa#es fi e. '(e components current supported inc ude -ava 5eans. and Serv ets. Processing A -ava Server Pa#es fi e is essentia y an H')$ document wit( -SP scriptin# or ta#s. '(e -ava Server Pa#es fi e (as a -SP e"tension to t(e server as a -ava Server Pa#es fi e. 5efore t(e pa#e is served. t(e -ava Server Pa#es synta" is parsed and processed into a Serv et on t(e server side. '(e Serv et t(at is #enerated outputs rea content in strai#(t H')$ for respondin# to t(e c ient. Access Models4 A -ava Server Pa#es fi e may be accessed in at east two different ways. A c ient=s request comes direct y into a -ava Server Pa#e. In t(is scenario. suppose t(e pa#e accesses reusab e -ava 5ean components t(at perform particu ar we *defined computations i6e accessin# a database. '(e resu t of t(e 5eans computations. ca ed resu t sets is stored wit(in t(e 5ean as properties. '(e pa#e uses suc( 5eans to #enerate dynamic content and present it bac6 to t(e c ient. In bot( of t(e above cases. t(e pa#e cou d a so contain any va id -ava code. -ava Server Pa#es arc(itecture encoura#es separation of content from presentation.

Steps in the e$ecution of a 0SP Application4 1. '(e c ient sends a request to t(e web server for a -SP fi e by #ivin# t(e name of t(e -SP fi e wit(in t(e form ta# of a H')$ pa#e. 2. '(is request is transferred to t(e -ava2ebServer. At t(e server side -ava2ebServer receives t(e request and if it is a request for a 4sp fi e server #ives t(is request to t(e -SP en#ine. ?. -SP en#ine is pro#ram w(ic( can under stands t(e ta#s of t(e 4sp and t(en it converts t(ose ta#s into a Serv et pro#ram and it is stored at t(e server side. '(is Serv et is oaded in t(e memory and t(en it is e"ecuted and t(e resu t is #iven bac6 to t(e -ava2ebServer and t(en it is transferred bac6 to t(e resu t is #iven bac6 to t(e -ava2ebServer and t(en it is transferred bac6 to t(e c ient.

#clipse I(#
!c ipse is an open*source software framewor6 written primari y in -ava. In its defau t form it is an Inte#rated %eve opment !nvironment 9I%!; for -ava deve opers. consistin# of t(e -ava %eve opment 'oo s 9-%'; and t(e !c ipse Compi er for -ava 9!C-;. +sers can e"tend its capabi ities by insta in# p u#*ins written for t(e !c ipse software framewor6. suc( as deve opment too 6its for ot(er pro#rammin# an#ua#es. and can write and contribute t(eir own p u#*in modu es. $an#ua#e pac6s are avai ab e for over a do7en an#ua#es.

Architecture
'(e basis for !c ipse is t(e Ric( C ient P atform 9RCP;. '(e fo owin# components constitute t(e ric( c ient p atform8 OS3i * a standard bund in# framewor6 Core p atform * boot !c ipse. run p u#*ins t(e Standard 2id#et 'oo 6it 9S2'; * a portab e wid#et too 6it -&ace * viewer c asses to brin# mode view contro er pro#rammin# to S2'. fi e buffers. te"t (and in#. te"t editors '(e !c ipse 2or6benc( * views. editors. perspectives. wi7ards

!c ipseRs wid#ets are imp emented by a wid#et too 6it for -ava ca ed S2'. un i6e most -ava app ications. w(ic( use t(e -ava standard Abstract 2indow 'oo 6it 9A2'; or Swin#. !c ipseRs user interface a so evera#es an intermediate 3+I ayer ca ed -&ace. w(ic( simp ifies t(e construction of app ications based on S2'. !c ipse emp oys p u#*ins in order to provide a of its functiona ity on top of 9and inc udin#; t(e ric( c ient p atform. in contrast to some ot(er app ications w(ere functiona ity is typica y (ard coded. '(is p u#*in mec(anism is a i#(twei#(t software componentry framewor6. In addition to a owin# !c ipse to be e"tended usin# ot(er pro#rammin# an#ua#es suc( as C and Pyt(on. t(e p u#*in

framewor6 a ows !c ipse to wor6 wit( typesettin#

an#ua#es

i6e $a'e/.

networ6in# app ications suc( as te net. and database mana#ement systems. '(e p u#*in arc(itecture supports writin# any desired e"tension to t(e environment. suc( as for confi#uration mana#ement. -ava and CES support is provided in t(e !c ipse S%@. '(e 6ey to t(e seam ess inte#ration of too s wit( !c ipse is t(e p u#in. 2it( t(e e"ception of a sma run*time 6erne . everyt(in# in !c ipse is a p u#*in. '(is means t(at a p u#*in you deve op inte#rates wit( !c ipse in e"act y t(e same way as ot(er p u#*insU in t(is respect. a features are created equa . '(e !c ipse S%@ inc udes t(e !c ipse -ava %eve opment 'oo s. offerin# an I%! wit( a bui t*in incrementa -ava compi er and a fu mode of t(e -ava source fi es. '(is a ows for advanced refactorin# tec(niques and code ana ysis. '(e I%! a so ma6es use of a wor6space. in t(is case a set of metadata over a f at fi espace a owin# e"terna fi e modifications as on# as t(e correspondin# wor6space PresourceP is refres(ed afterwards. '(e Eisua !ditor pro4ect a ows interfaces to be created interactive y. (ence a owin# !c ipse to be used as a RA% too .

'(e fo owin# is a ist of notab e pro4ects and p u#ins for t(e !c ipse I%!. '(ese pro4ects are maintained by t(e !c ipse community and (osted by t(e !c ipse &oundation. 1. Core pro4ects Ric( C ient P atform 9P atform; is t(e core framewor6 t(at a pro4ects are bui t on. -ava %eve opment 'oo s 9-%'; provides support for core -ava S!. '(is inc udes a standa one fast incrementa compi er. ot(er !c ipse

'oo s pro4ects C0CXX %eve opment 'oo s 9C%'; adds support for C0CXX synta" (i#( i#(tin#. code formattin#. debu##er inte#ration and pro4ect structures. +n i6e t(e -%' pro4ect. t(e C%' pro4ect does not add a compi er and re ies on an e"terna too c(ain. 3rap(ica #rap(ica !ditin# &ramewor6 93!&; a ows deve opers to bui d standa one too s. !"amp e use inc ude circuit dia#ram desi#n too s. activity

dia#ram editors and 2MSI2M3 document editors. 2eb pro4ects -2!! Standard 'oo s 9-S'; e"tends t(e core -%' to inc ude support for -ava !! pro4ects. '(is inc udes !-5s. -SPs and Serv ets. PHP %eve opment 'oo s 9P%'; 2eb Standard 'oo s 92S'; adds standards comp iant web deve opment too s. '(ese too s inc ude editors for /)$. H')$ and CSS. Modelling pro8ects !c ipse )ode in# &ramewor6 9!)&; a mode in# framewor6 and code #eneration faci ity for bui din# too s and ot(er app ications based on a structured data mode . from a mode specification described in /)I. 3rap(ica )ode in# &ramewor6 93)&; is a #enerative component and runtime infrastructure for deve opin# #rap(ica editors based on !)& and 3!&. Ot(er pro4ects 'est and Performance 'oo s P atform 9'P'P; w(ic( provides a p atform t(at a ows software deve opers to bui d test and performance too s. suc( as debu##ers. profi ers and benc(mar6in# app ications. 5usiness Inte i#ence and Reportin# 'oo s Pro4ect 95IR';. an !c ipse*based open source reportin# system for web app ications. especia y t(ose based on -ava !!.

Applications Server
An app ication server is a software en#ine t(at de ivers app ications to c ient computers or devices. typica y t(rou#( t(e Internet and usin# t(e Hyperte"t 'ransfer Protoco . App ication servers are distin#uis(ed from web servers by t(e e"tensive use of server*side dynamic content and frequent inte#ration wit( database en#ines. Common features4 App ication server products typica y bund e midd eware to enab e app ications to intercommunicate wit( dependent app ications. i6e web servers. database mana#ement systems. and c(art pro#rams. Some app ication servers a so provide an API. ma6in# t(em operatin# system independent. Porta s are a common app ication server mec(anism by w(ic( a sin# e point of entry is provided to mu tip e devices. 0ava application servers

0ava ## Servers4 &o owin# t(e success of t(e -ava p atform. t(e term app ication server sometimes refers to a -ava P atform**!nterprise !dition 9-2!!; or -ava !! A app ication server. Amon# t(e better 6nown -ava !nterprise !dition app ication

servers are 2eb$o#ic Server 95!A;. -5oss 9Red Hat;. 2ebSp(ere 9I5);. -Run 9Adobe;. Apac(e 3eronimo 9Apac(e &oundation. based on I5) 2ebSp(ere;. Orac e OC>- 9Orac e Corporation;. Sun -ava System App ication Server 9Sun )icrosystems; and 3 assfis( App ication Server 9based on Sun -ava System App ication Server;. -OnAS app ication server was t(e first open source app ication server to (ave ac(ieved officia comp iance wit( t(e -ava !nterprise Specification. 5!A de ivered t(e first -ava !! A certified app ication server fo owed by Sun )icrosystemsR reference imp ementation 3 ass&is(. '(e 2eb modu es are serv ets and -avaServer Pa#es. and business o#ic is bui t into !nterprise -ava5eans 9!-5*? and ater;. '(e Hibernate pro4ect offers an !-5*? container imp ementation for t(e -5oss App ication server. 'omcat from Apac(e and -OnAS from Ob4ect2eb are typica of containers into w(ic( t(ese modu es can be put. A -ava Server Pa#e 9-SP; is a serv et from -ava t(at e"ecutes in a 2eb container Gt(e -ava equiva ent of C3I scripts. -SPs are a way to create H')$ pa#es by embeddin# references to t(e server o#ic wit(in t(e pa#e. H')$ coders and -ava pro#rammers can wor6 side by side by referencin# eac( ot(erRs code from wit(in t(eir own. -ava5eans are t(e independent c ass components of t(e -ava arc(itecture from Sun )icrosystems. '(e app ication servers mentioned above main y serve 2eb app ications. Some app ication servers tar#et networ6s ot(er t(an t(e 2eb8 Session Initiation Protoco servers. for instance. tar#et te ep(ony networ6s.

0-OSS -5oss App ication Server 9or -5oss AS; is a free software 0 open source -ava !!* based app ication server. 5ecause it is -ava*based. -5oss AS is cross*p atform. usab e on any operatin# system t(at -ava supports. !nvironment -5oss AS >.B is a -2!! 1.> app ication server. wit( embedded 'omcat A.A. Any -E) between 1.> and 1.A is supported. -5oss can run on numerous operatin# systems inc udin# 2indows. )ac OS /. many POSI/ p atforms. and ot(ers. as on# as a suitab e -E) is present. -5oss AS >.2 is a so a -2!! 1.> app ication server. but !-5 ? is dep oyed by defau t. It requires -%@ A. 'omcat < is bund ed wit( it. Ce"t -5oss AS A wi be -ava !! A app ication server. Product features8 C usterin# &ai over 9inc udin# sessions; $oad ba ancin# %istributed cac(in# 9usin# -5oss Cac(e. a standa one product; %istributed dep oyment 9farmin#; !nterprise -ava5eans version ?

'esting

Software 'estin# is t(e process used to (e p identify t(e correctness. comp eteness. security. and qua ity of deve oped computer software. 'estin# is a process of tec(nica investi#ation. performed on be(a f of sta6e(o ders. t(at is intended to revea qua ity*re ated information about t(e product wit( respect to t(e conte"t in w(ic( it is intended to operate. '(is inc udes. but is not imited to. t(e process of e"ecutin# a pro#ram or app ication wit( t(e intent of findin# errors. 1ua ity is not an abso uteU it is va ue to some person. 2it( t(at in mind. testin# can never comp ete y estab is( t(e correctness of arbitrary computer softwareU testin# furnis(es a criticism or comparison t(at compares t(e state and be(aviour of t(e product a#ainst a specification. An important point is t(at software testin# s(ou d be distin#uis(ed from t(e separate discip ine of Software 1ua ity Assurance 9S1A;. w(ic( encompasses a 4ust testin#. '(ere are many approac(es to software testin#. but effective testin# of comp e" products is essentia y a process of investi#ation. not mere y a matter of creatin# and fo owin# routine procedure. One definition of testin# is Pt(e process of questionin# a product in order to eva uate itP. w(ere t(e PquestionsP are operations t(e tester attempts to e"ecute wit( t(e product. and t(e product answers wit( its be(avior in reaction to t(e probin# of t(e tester]citation needed^. A t(ou#( most of t(e inte ectua processes of testin# are near y identica to t(at of review or inspection. t(e word testin# is connoted to mean t(e dynamic ana ysis of t(e productGputtin# t(e product t(rou#( its paces. Some of t(e common qua ity attributes inc ude capabi ity. re iabi ity. efficiency. portabi ity. maintainabi ity. compatibi ity and usabi ity. A #ood test is sometimes described as one w(ic( revea s an errorU (owever. more recent t(in6in# su##ests t(at a #ood test is one w(ic( revea s information of interest to someone w(o matters wit(in t(e pro4ect community. business process areas. not

Introduction
In #enera . software en#ineers distin#uis( software fau ts from software fai ures. In case of a fai ure. t(e software does not do w(at t(e user e"pects. A fau t is a pro#rammin# error t(at may or may not actua y manifest as a fai ure. A fau t

can a so be described as an error in t(e correctness of t(e semantic of a computer pro#ram. A fau t wi become a fai ure if t(e e"act computation conditions are met. one of t(em bein# t(at t(e fau ty portion of computer software e"ecutes on t(e CP+. A fau t can a so turn into a fai ure w(en t(e software is ported to a different (ardware p atform or a different compi er. or w(en t(e software #ets e"tended. Software testin# is t(e tec(nica investi#ation of t(e product under test to provide sta6e(o ders wit( qua ity re ated information. Software testin# may be viewed as a sub*fie d of Software 1ua ity Assurance but typica y e"ists independent y 9and t(ere may be no S1A areas in some companies;. In S1A. software process specia ists and auditors ta6e a broader view on software and its deve opment. '(ey e"amine and c(an#e t(e software en#ineerin# process itse f to reduce t(e amount of fau ts t(at end up in t(e code or de iver faster. Re#ard ess of t(e met(ods used or eve of forma ity invo ved t(e desired resu t of testin# is a eve of confidence in t(e software so t(at t(e or#ani7ation is confident t(at t(e software (as an acceptab e defect rate. 2(at constitutes an acceptab e defect rate depends on t(e nature of t(e software. An arcade video #ame desi#ned to simu ate f yin# an airp ane wou d presumab y (ave a muc( (i#(er to erance for defects t(an software used to contro an actua air iner. A prob em wit( software testin# is t(at t(e number of defects in a software product can be very ar#e. and t(e number of confi#urations of t(e product ar#er sti . 5u#s t(at occur infrequent y are difficu t to find in testin#. A ru e of t(umb is t(at a system t(at is e"pected to function wit(out fau ts for a certain en#t( of time must (ave a ready been tested for at east t(at en#t( of time. '(is (as severe consequences for pro4ects to write on#* ived re iab e software. A common practice of software testin# is t(at it is performed by an independent #roup of testers after t(e functiona ity is deve oped but before it is s(ipped to t(e customer. '(is practice often resu ts in t(e testin# p(ase bein# used as pro4ect buffer to compensate for pro4ect de ays. Anot(er practice is to start software testin# at t(e same moment t(e pro4ect starts and it is a continuous process unti t(e pro4ect finis(es.

Anot(er common practice is for test suites to be deve oped durin# tec(nica support esca ation procedures. Suc( tests are t(en maintained in re#ression testin# suites to ensure t(at future updates to t(e software donRt repeat any of t(e 6nown mista6es. It is common y be ieved t(at t(e ear ier a defect is found t(e c(eaper it is to fi" it. 'ime %etected 'ime Introduced Requirements 1 Arc(itecture * Construction * In Requirements Arc(itecture ? 1 * some emer#in# Construction A*1B 1B 1 software discip ines System Post* 'est 1B 1A 1B suc( Re ease 1B*1BB 2A*1BB 1B*2A as e"treme

counterpoint.

pro#rammin# and t(e a#i e software deve opment movement. ad(ere to a Ptest* driven software deve opmentP mode . In t(is process unit tests are written first. by t(e pro#rammers 9often wit( pair pro#rammin# in t(e e"treme pro#rammin# met(odo o#y;. Of course t(ese tests fai initia yU as t(ey are e"pected to. '(en as code is written it passes incrementa y ar#er portions of t(e test suites. '(e test suites are continuous y updated as new fai ure conditions and corner cases are discovered. and t(ey are inte#rated wit( any re#ression tests t(at are deve oped. +nit tests are maintained a on# wit( t(e rest of t(e software source code and #enera y inte#rated into t(e bui d process 9wit( in(erent y interactive tests bein# re e#ated to a partia y manua bui d acceptance process;. '(e software. too s. samp es of data input and output. and confi#urations are a referred to co ective y as a test (arness.

History
'(e separation of debu##in# from testin# was initia y introduced by 3 enford -. )yers in (is 1I:H boo6 t(e PArt of Software 'estin#P. A t(ou#( (is attention was

on brea6a#e testin# it i ustrated t(e desire of t(e software en#ineerin# community to separate fundamenta deve opment activities. suc( as debu##in#. from t(at of verification. %rs. %ave 3e perin and 2i iam C. Het7e c assified in 1IHH t(e p(ases and #oa s in software testin# as fo ows8 unti 1IA< it was t(e debu##in# oriented period. w(ere testin# was often associated to debu##in#8 t(ere was no c ear difference between testin# and debu##in#. &rom 1IA:*1I:H t(ere was t(e demonstration oriented period w(ere debu##in# and testin# was distin#uis(ed now * in t(is period it was s(own. t(at software satisfies t(e requirements. '(e time between 1I:I*1IH2 is announced as t(e destruction oriented period. w(ere t(e #oa was to find errors. 1IH?*1IH: is c assified as t(e eva uation oriented period8 intention (ere is t(at durin# t(e software ifecyc e a product eva uation is provided and measurin# qua ity. &rom 1IHH on it was seen as prevention oriented period w(ere tests were to demonstrate t(at software satisfies its specification. to detect fau ts and to prevent fau ts. %r. 3e perin c(aired t(e I!!! H2I*1IHH 9'est %ocumentation Standard; wit( %r. Het7e writin# t(e boo6 P'(e Comp ete 3uide of Software 'estin#P. 5ot( wor6s were pivota in to todayRs testin# cu ture and remain a consistent source of reference. %r. 3e perin and -erry !. %urant a so went on to deve op Hi#( Impact Inspection 'ec(no o#y t(at bui ds upon traditiona Inspections but uti i7es a test driven additive. White-box and black-box testing 'o meet 2i6ipediaRs qua ity standards. t(is section may require c eanup. P ease discuss t(is issue on t(e ta 6 pa#e. and0or rep ace t(is ta# wit( a more specific messa#e. 2(ite bo" and b ac6 bo" testin# are terms used to describe t(e point of view a test en#ineer ta6es w(en desi#nin# test cases. 5 ac6 bo" bein# an e"terna view of t(e test ob4ect and w(ite bo" bein# an interna view. Software testin# is part y intuitive. but ar#e y systematic. 3ood testin# invo ves muc( more t(an 4ust runnin# t(e pro#ram a few times to see w(et(er it wor6s. '(orou#( ana ysis of t(e pro#ram under test. bac6ed by a broad 6now ed#e of testin# tec(niques and too s are prerequisites to systematic testin#. Software 'estin# is t(e process of e"ecutin# software in a contro ed mannerU in order to answer t(e

question S%oes t(is software be(ave as specifiedDT Software testin# is used in association wit( Eerification and Ea idation. Eerification is t(e c(ec6in# of or testin# of items. inc udin# software. for conformance and consistency wit( an associated specification. Software testin# is 4ust one 6ind of verification. w(ic( a so uses tec(niques as reviews. inspections. wa 6*t(rou#(. Ea idation is t(e process of c(ec6in# w(at (as been specified is w(at t(e user actua y wanted.

Ea idation8 Are we doin# t(e ri#(t 4obD Eerification8 Are we doin# t(e 4ob ri#(tD

In order to ac(ieve consistency in t(e 'estin# sty e. it is imperative to (ave and fo ow a set of testin# princip es. '(is en(ances t(e efficiency of testin# wit(in S1A team members and t(us contributes to increased productivity. '(e purpose of t(is document is to provide overview of t(e testin#. p us t(e tec(niques. At S%!I. ? eve s of software testin# is done at various S%$C p(ases

+nit 'estin#8 in w(ic( eac( unit 9basic component; of t(e software is tested to verify t(at t(e detai ed desi#n for t(e unit (as been correct y imp emented Inte#ration testin#8 in w(ic( pro#ressive y ar#er #roups of tested

software components correspondin# to e ements of t(e arc(itectura desi#n are inte#rated and tested unti t(e software wor6s as a w(o e.

System testin#8 in w(ic( t(e software is inte#rated to t(e overa product and tested to s(ow t(at a requirements are met

A furt(er eve of testin# is a so done. in accordance wit( requirements8

Acceptance testin#8 upon w(ic( t(e acceptance of t(e comp ete software is based. '(e c ients often do t(is. Re#ression testin#8 is used to refer t(e repetition of t(e ear ier successfu tests to ensure t(at c(an#es made in t(e software (ave not introduced new bu#s0side effects.

In recent years t(e term #rey bo" testin# (as come into common usa#e. '(e typica #rey bo" tester is permitted to set up or manipu ate t(e testin#

environment. i6e seedin# a database. and can view t(e state of t(e product after (is actions. i6e performin# a S1$ query on t(e database to be certain of t(e va ues of co umns. It is used a most e"c usive y of c ient*server testers or ot(ers w(o use a database as a repository of information. but can a so app y to a tester w(o (as to manipu ate /)$ fi es 9%'% or an actua /)$ fi e; or confi#uration fi es direct y. It can a so be used of testers w(o 6now t(e interna wor6in#s or a #orit(m of t(e software under test and can write tests specifica y for t(e anticipated resu ts. &or e"amp e. testin# a data ware(ouse imp ementation invo ves tab es. oadin# t(e tar#et database wit( information. and

verifyin# t(e correctness of data popu ation and oadin# of data into t(e correct

Test levels

+nit testin# tests t(e minima software component and sub*component or modu es by t(e pro#rammers. Inte#ration testin# e"poses defects in t(e interfaces and interaction between inte#rated components 9modu es;. &unctiona testin# tests t(e product accordin# to pro#rammab e wor6. System testin# tests an inte#rated system to verify0va idate t(at it meets its requirements. Acceptance testin# testin# can be conducted by t(e c ient. It a ows t(e end*user or customer or c ient to decide w(et(er or not to accept t(e product. Acceptance testin# may be performed after t(e testin# and before t(e imp ementation p(ase. See a so %eve opment sta#e
o

A p(a testin# is simu ated or actua operationa testin# by potentia users0customers or an independent test team at t(e deve opersR site. A p(a testin# is often emp oyed for off*t(e*s(e f software as a form of interna acceptance testin#. before t(e software #oes to beta testin#. 5eta testin# comes after a p(a testin#. Eersions of t(e software. 6nown as beta versions. are re eased to a imited audience outside of t(e company. '(e software is re eased to #roups of peop e so t(at furt(er testin# can ensure t(e product (as few fau ts or bu#s. Sometimes. beta versions are made avai ab e to t(e open pub ic to increase t(e feedbac6 fie d to a ma"ima number of future users.

It s(ou d be noted t(at a t(ou#( bot( A p(a and 5eta are referred to as testin# it is in fact use emersion. '(e ri#ors t(at are app ied are often unsystematic and many of t(e basic tenets of testin# process are not used. '(e A p(a and 5eta period provides insi#(t into environmenta and uti i7ation conditions t(at can impact t(e software. After modifyin# software. eit(er for a c(an#e in functiona ity or to fi" defects. a re#ression test re*runs previous y passin# tests on t(e modified software to ensure t(at t(e modifications (avenRt unintentiona y caused a re#ression of

previous functiona ity. Re#ression testin# can be performed at any or a of t(e above test eve s. '(ese re#ression tests are often automated. Test cases, suites, scripts and scenarios A test case is a software testin# document. w(ic( consists of event. action. input. output. e"pected resu t and actua resu t. C inica y defined 9I!!! H2I* 1IIH; a test case is an input and an e"pected resu t. '(is can be as pra#matic as Rfor condition " your derived resu t is yR. w(ereas ot(er test cases described in more detai t(e input scenario and w(at resu ts mi#(t be e"pected. It can occasiona y be a series of steps 9but often steps are contained in a separate test procedure t(at can be e"ercised a#ainst mu tip e test cases. as a matter of economy; but wit( one e"pected resu t or e"pected outcome. '(e optiona fie ds are a test case I%. test step or order of e"ecution number. re ated requirement9s;. dept(. test cate#ory. aut(or. and c(ec6 bo"es for w(et(er t(e test is automatab e and (as been automated. $ar#er test cases may a so contain prerequisite states or steps. and descriptions. A test case s(ou d a so contain a p ace for t(e actua resu t. '(ese steps can be stored in a word processor document. spreads(eet. database or ot(er common repository. In a database system. you may a so be ab e to see past test resu ts and w(o #enerated t(e resu ts and t(e system confi#uration used to #enerate t(ose resu ts. '(ese past resu ts wou d usua y be stored in a separate tab e. '(e term test script is t(e combination of a test case. test procedure and test data. Initia y t(e term was derived from t(e byproduct of wor6 created by automated re#ression test too s. 'oday. test scripts can be manua . automated or a combination of bot(. '(e most common term for a co ection of test cases is a test suite. '(e test suite often a so contains more detai ed instructions or #oa s for eac( co ection of test cases. It definite y contains a section w(ere t(e tester identifies t(e system confi#uration used durin# testin#. A #roup of test cases may a so contain prerequisite states or steps. and descriptions of t(e fo owin# tests.

Co ections of test cases are sometimes incorrect y termed a test p an. '(ey mi#(t correct y be ca ed a test specification. If sequence is specified. it can be ca ed a test script. scenario or procedure. A sample testing cycle A t(ou#( testin# varies between or#ani7ations. t(ere is a cyc e to testin#8 1. Requirements Ana ysis8 'estin# s(ou d be#in in t(e requirements p(ase of t(e software deve opment ife cyc e. %urin# t(e desi#n p(ase. testers wor6 wit( deve opers in determinin# w(at aspects of a desi#n are testab e and under w(at parameter t(ose tests wor6. 2. 'est P annin#8 'est Strate#y. 'est P an9s;. 'est 5ed creation. ?. 'est %eve opment8 'est Procedures. 'est Scenarios. 'est Cases. 'est Scripts to use in testin# software. >. 'est !"ecution8 'esters e"ecute t(e software based on t(e p ans and tests and report any errors found to t(e deve opment team. A. 'est Reportin#8 Once testin# is comp eted. testers #enerate metrics and ma6e fina reports on t(eir test effort and w(et(er or not t(e software tested is ready for re ease. <. Retestin# t(e %efects Cot a errors or defects reported must be fi"ed by a software deve opment team. Some may be caused by errors in confi#urin# t(e test software to matc( t(e deve opment or production environment. Some defects can be (and ed by a wor6around in t(e production environment. Ot(ers mi#(t be deferred to future re eases of t(e software. or t(e deficiency mi#(t be accepted by t(e business user. '(ere are yet ot(er defects t(at may be re4ected by t(e deve opment team 9of course. wit( due reason; if t(ey deem it inappropriate to be ca ed a defect

Snapshots

%imitations of the s"stem4


On y t(e permanent emp oyees can access t(e system. System wor6s in a p atforms and its compatib e environments. Advanced tec(niques are not used to c(ec6 t(e aut(ori7ation.

&uture #nhancements4
It is not possib e to deve op a system t(at ma6es a t(e requirements of t(e user. +ser requirements 6eep c(an#in# as t(e system is bein# used. Some of t(e future en(ancements t(at can be done to t(is system are8 As t(e tec(no o#y emer#es. it is possib e to up#rade t(e system and can be adaptab e to desired environment. 5ecause it is based on ob4ect*oriented desi#n. any furt(er c(an#es can be easi y adaptab e. 5ased on t(e future security issues. security can be improved usin# emer#in# tec(no o#ies. Attendance modu e can be added sub admin modu e can be added

Pro8ect Summar"
'(e Mobile Service Provider Operations Portal is a web*based app ication for primari y providin# trainin# to t(e emp oyees w(o provide customi7ed so utions to meet or#ani7ationa needs.

'(is app ication software (as been computed successfu y and was a so tested successfu y by ta6in# Stest casesT. It is user friend y. and (as required options. w(ic( can be uti i7ed by t(e user to perform t(e desired operations. '(e software is deve oped usin# -ava as front end and Orac e as bac6 end in 2indows environment. '(e #oa s t(at are ac(ieved by t(e software are8 Instant access. Improved productivity. Optimum uti i7ation of resources. !fficient mana#ement of records. Simp ification of t(e operations. $ess processin# time and #ettin# required information. +ser friend y. Portab e and f e"ib e for furt(er en(ancement.

-ibliograph"

Core -ava_ 2 Eo ume I O &undamenta s :t( !dition Pearson !ducation O Sun )icrosystems Core -ava_ 2 Eo ume II O Advanced Pearson !ducation O Sun )icrosystems Head &irst Serv ets , -SP O=Rei y O SP% '(e 5oo6 of -avaScript 2nd !dition SP% !ffective -ava O Pro#rammin# $an#ua#e 3uide Pearson !ducation O Sun )icrosystems -ava %atabase 5est Practices O=Rei y O SP% -5oss O A %eve opers Coteboo6 O=Rei y O SP%

Cay S. Hortsman 3ary Corne

Cay S. Hortsman 3ary Corne !ric &reeman ! isabet( &reeman t(au -os(ua 5 oc( 3eor#e Reese Corman Ric(ards Sam 3riffit(

Вам также может понравиться