Cdns Content Outsourcing

You might also like

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

CDNs Content Outsourcing Via Generalized Communities

ABSTRACT

DISTRIBUTING information to Web users in an efficient and cost-effective manner is a challenging problem The une!pected Web-related phenomena such as the flashcro"devents occurring "hen numerous users access a Web server content simultaneousl# $ontent distribution net"or%s &$DNs' have been proposed to meet such challenges b# providing a scalable and cost-effective mechanism for accelerating the deliver# of the Web content $DN providers can provide client-tailored content( improve performance( and result in significant economical gains )arlier content outsourcing approaches ma# often prove ineffective since the# drive prefetching decisions b# assuming %no"ledge of content popularit# statistics( "hich are not al"a#s available and are e!tremel# volatile This "or% addresses this issue( b# proposing a novel self-adaptive techni*ue under a $DN frame"or% on "hich outsourced content is identified "ith no a priori %no"ledge of re*uest statistics This is emplo#ed b# using a structure-based approach identif#ing coherent clusters of +correlated, Web server content ob-ects( the socalled Web page communities These communities are the core outsourcing unit( and in this pro-ect( detailed simulation e!perimentation has sho"n that the proposed techni*ue is robust and effective in reducing user-perceived latenc# as compared "ith competing approaches( t"o communities-based approaches( Web caching( and non-$DN

T.B/) 01 $0NT)NTS

S.NO

TITLE .BSTR.$T

AGE NO

2 3

INTR0DU$TI0N S4ST)5 STUD4 3 2 1).S.BI/IT4 STUD4 3 3 )6ISTING S4ST)5 3 7 8R080S)D S4ST)5

S4ST)5 S8)$I1I$.TI0N 7 2 S01TW.R) R)9UIR)5)NTS 7 3 :.RDW.R) R)9UIR)5)NTS

; >

/.NGU.G) S8)$I1I$.TI0N 4.1 <.=. T)$:N0/0G4 S4ST)5 D)SIGN > 2 D.T. 1/0W DI.GR.5S > 3 U5/ DI.GR.5S

? @ A B 2C

S4ST)5 T)STING .ND 5.INT)N.N$) ST)5 I58/)5)NT.TI0N @ 2 S$08) 10R 1UTUR) D)=)/085)NT $0N$/USI0N BIB/I0GR.8:4 .88)NDI6 2C 2 S$R))N S:0T 2C 3 S.58/) $0DING

SCO E O! T"E RO#ECT $

To strengthen the credibilit# of the results obtained "ith the s#nthetic data( "e evaluated the competing methods "ith real Internet content The real Web site "e used is the cs princeton edu This Web site consists of 23A(AC> nodes and >A>(C>> edges .s far as the re*uestsD stream generation is concerned( "e used the same generator that "e used for the s#nthetic data Then( "e +fed, these re*uests into $DNsim in e!actl# the same "a# "e did for s#nthetic data

% INTROD&CTION
DISTRIBUTING information to Web users in an efficient and costeffective manner is a challenging problem( especiall#( under the increasing re*uirements emerging from a variet# of modern applications( e g ( voice-over-I8 and streaming media )ager audiences embracing the +digital lifest#le, are re*uesting greater and greater volumes of content on a dail# basis 1or instance( the Internet video site 4ouTube hits more than 2CC million videos per da# 2 )stimations of 4ouTubeDs band"idth go from 3> TBEda# to 3CC TBEda# .t the same time( more and more applications &such as e-commerce and e-learning' are rel#ing on the Web but "ith high sensitivit# to dela#s . dela# even of a fe" milliseconds in a Web server content ma# be intolerable .t first( solutions such as Web caching and replication "ere considered as the %e# to satisf# such gro"ing demands and e!pectations :o"ever( such solutions &e g ( Web caching' have become obsolete due to their inabilit# to %eep up "ith the gro"ing demands and the une!pected Web-related phenomena such as the flashcro"d events F2@G occurring "hen numerous users access a Web server content simultaneousl# &no" often occurring on the Web due to its globaliHation and "ide adoption' $ontent distribution net"or%s &$DNs' have been proposed to meet such challenges b# providing a scalable and cost-effective mechanism for accelerating the deliver# of the Web content F@G( F3@G . $DN3 is an overla# net"or% across Internet &1ig 2'( "hich consists of a set of surrogate servers

' S(STE) ST&D(

'.% !EASIBLIT( ST&D($ The feasibilit# of the pro-ect is anal#Hed in this phase and business proposal is put forth "ith a ver# general plan for the pro-ect and some cost estimates During s#stem anal#sis the feasibilit# stud# of the proposed s#stem is to be carried out This is to ensure that the proposed s#stem is not a burden to the compan# 1or feasibilit# anal#sis( some understanding of the ma-or re*uirements for the s#stem is essential

Three %e# considerations involved in the feasibilit# anal#sis are )$0N05I$./ 1).SIBI/IT4 T)$:NI$./ 1).SIBI/IT4 S0$I./ 1).SIBI/IT4

ECONO)ICAL !EASIBILIT($

This stud# is carried out to chec% the economic impact that the s#stem "ill have on the organiHation The amount of fund that the compan# can pour into the research and development of the s#stem is limited The e!penditures must be -ustified Thus the developed s#stem as "ell "ithin the budget and this "as achieved because most of the technologies used are freel# available 0nl# the customiHed products had to be purchased

TEC"NICAL !EASIBILIT($

This stud# is carried out to chec% the technical feasibilit#( that is( the technical re*uirements of the s#stem .n# s#stem developed must not have a high demand on the available technical resources This "ill lead to high demands on the available technical esources This "ill lead to high demands being placed on the client The developed s#stem must have a modest re*uirement( as onl# minimal or null changes are re*uired for implementing this s#stem

SOCIAL !EASIBILIT($

The aspect of stud# is to chec% the level of acceptance of the s#stem b# the user This includes the process of training the user to use the s#stem efficientl# The user must not feel threatened b# the s#stem( instead must accept it as a necessit# The level of acceptance b# the users solel# depends on the methods that are emplo#ed to educate the user about the s#stem and to ma%e him familiar "ith it :is level of confidence must be raised so that he is also able to ma%e some constructive criticism( "hich is "elcomed( as he is the final user of the s#stem '.' E*ISTING S(STE)$ Earlier content outsourcing approaches may often prove

ineffective. Since they drive prefetching decisions by assuming knowledge of content popularity statistics, which are not always available and are extremely volatile. We select from all the pairs of outsourced object-surrogate server produces the largest network latency. Existing System Disadvantage:

he previous process is iterated until all the surrogate servers become full.

Web caching and replication solutions have become obsolete due to their inability to keep up with the growing demands.

'.+ RO OSED S(STE)$ We are proposing a novel self-adaptive techni!ue under a "#$ framework on which outsourced content is identified with no a priori knowledge of re!uest statistics. % structure-based approach identifying coherent clusters of &correlated' Web server content objects. "ontent distribution networks have been proposed is an overlay network across (nternet. Which consists distributed around the world routers, and network elements. Proposed System Advantages: he distributed servers are the key elements in a "#$, acting as proxy caches that serve directly cached content to clients. )nce a client re!uests for content an origin server his re!uest is directed to the appropriate "#$*s surrogate server. (t provides a scalable and cost-effective mechanism for accelerating the delivery of the Web content. his results in an improvement to both the response time and the system throughput.

+. S(STE) S ECI!ICATION

+.% SO!T,ARE RE-&IRE)ENTS$ +ront end , -%.% /-0EE ool )s , -+rame1uilder , windows 2p.

1ackend , 34S56 +.' "ARD,ARE RE-&IRE)ENTS$ 7ard disk , 89:1 3onitor =%3 ?rocessor , ;<* inches , 0<> 31 =%3 , ?entium 8/0.8 :7@

. LANG&AGE S ECI!ICATION

..% #AVA TEC"NOLOG( Initiall# the language "as called as +oa%, but it "as renamed as +<ava, in 2BB> The primar# motivation of this language "as the need for a platform-independent &i e ( architecture neutral' language that could be used to create soft"are to be embedded in various consumer electronic devices <ava is a programmerDs language <ava is cohesive and consistent )!cept for those constraints imposed b# the Internet environment( <ava gives the programmer( full control 1inall#( <ava is to Internet programming "here $ "as to s#stem programming

Im/ortance o0 #a1a to t2e Internet <ava has had a profound effect on the Internet This is becauseI <ava e!pands the Universe of ob-ects that can move about freel# in $#berspace In a net"or%( t"o categories of ob-ects are transmitted bet"een the Server and the 8ersonal computer The# areJ 8assive information and D#namic active programs The D#namic( Self-e!ecuting programs cause serious problems in the areas of Securit# and probabilit# But( <ava addresses those concerns and b# doing so( has opened the door to an e!citing ne" form of program called the .pplet

<ava can be used to create t"o t#pes of programs .pplications and .pplets J .n application is a program that runs on our $omputer under the operating s#stem of that computer It is more or less li%e one creating using $ or $KK <avaDs abilit# to create .pplets ma%es it important .n .pplet is an application designed to be transmitted over the Internet and e!ecuted b# a <ava Lcompatible "eb bro"ser .n applet is actuall# a tin# <ava program( d#namicall# do"nloaded across the

net"or%( -ust li%e an image But the difference is( it is an intelligent program( not -ust a media file It can react to the user input and d#namicall# change !eatures o0 #a1a Securit3 )ver# time #ou that #ou do"nload a +normal, program( #ou are ris%ing a viral infection 8rior to <ava( most users did not do"nload e!ecutable programs fre*uentl#( and those "ho did scan them for viruses prior to e!ecution 5ost users still "orried about the possibilit# of infecting their s#stems "ith a virus In addition( another t#pe of malicious program e!ists that must be guarded against This t#pe of program can gather private information( such as credit card numbers( ban% account balances( and pass"ords <ava ans"ers both these concerns b# providing a +fire"all, bet"een a net"or% application and #our computer When #ou use a <ava-compatible Web bro"ser( #ou can safel# do"nload <ava applets "ithout fear of virus infection or malicious intent orta4ilit3 1or programs to be d#namicall# do"nloaded to all the various t#pes of platforms connected to the Internet( some means of generating portable e!ecutable code is needed .s #ou "ill see( the same mechanism that helps ensure securit# also helps create portabilit# Indeed( <avaDs solution to these t"o problems is both elegant and efficient T2e B3te code The %e# that allo"s the <ava to solve the securit# and portabilit# problems is that the output of <ava compiler is B#te code B#te code is a highl# optimiHed set of instructions designed to be e!ecuted b# the <ava run-time s#stem( "hich is called the <ava =irtual 5achine &<=5' That is( in its standard form( the <=5 is an interpreter for b#te code Translating a <ava program into b#te code helps ma%es it much easier to run a program in a "ide variet# of environments The reason is( once the run-time pac%age e!ists for a given s#stem( an# <ava program can run on it .lthough <ava "as designed for interpretation( there is technicall# nothing about <ava that prevents on-the-fl# compilation of b#te code into native code Sun has -ust completed

its <ust In Time &<IT' compiler for b#te code When the <IT compiler is a part of <=5( it compiles b#te code into e!ecutable code in real time( on a piece-b#-piece( demand basis It is not possible to compile an entire <ava program into e!ecutable code all at once( because <ava performs various run-time chec%s that can be done onl# at run time The <IT compiles code( as it is needed( during e!ecution #a1a Virtual )ac2ine 5#V)6 Be#ond the language( there is the <ava virtual machine The <ava virtual machine is an important element of the <ava technolog# The virtual machine can be embedded "ithin a "eb bro"ser or an operating s#stem 0nce a piece of <ava code is loaded onto a machine( it is verified .s part of the loading process( a class loader is invo%ed and does b#te code verification ma%es sure that the code thatDs has been generated b# the compiler "ill not corrupt the machine that itDs loaded on B#te code verification ta%es place at the end of the compilation process to ma%e sure that is all accurate and correct So b#te code verification is integral to the compiling and e!ecuting of <ava code

O1erall Descri/tion$

Java Source

Java byte code


.Class

Java.3

#a1a

icture s2o7ing t2e de1elo/ment /rocess o0 #AVA rogram <ava programming uses to produce b#te codes and e!ecutes them The first bo! indicates that the <ava source code is located in a <ava file that is processed "ith a <ava compiler called -avac The <ava compiler produces a file called a class file( "hich contains the b#te code The $lass file is then loaded across the net"or% or loaded locall# on #our machine into the e!ecution environment is the <ava virtual machine( "hich interprets and e!ecutes the b#te code #a1a Arc2itecture <ava architecture provides a portable( robust( high performing environment for development <ava provides portabilit# b# compiling the b#te codes for the <ava =irtual 5achine( "hich is then interpreted on each platform b# the run-time environment <ava is a d#namic s#stem( able to load code "hen needed from a machine in the same room or across the planet Com/ilation o0 code When #ou compile the code( the <ava compiler creates machine code &called b#te code' for a h#pothetical machine called <ava =irtual 5achine &<=5' The <=5 is supposed to e!ecute the b#te code The <=5 is created for overcoming the issue of portabilit# The code is "ritten and compiled for one machine and interpreted on all machines This machine is called <ava =irtual 5achine

Com/iling and inter/reting #a1a Source Code During run-time the <ava interpreter tric%s the b#te code file into thin%ing that it is running on a <ava =irtual 5achine In realit# this could be a Intel 8entium Windo"s B> or SunS.R$ station running Solaris or .pple 5acintosh running s#stem and all could receive code from an# computer through Internet and run the .pplets Simple <ava "as designed to be eas# for the 8rofessional programmer to learn and to use effectivel# If #ou are an e!perienced $KK programmer( learning <ava "ill be even easier Because <ava inherits the $E$KK s#nta! and man# of the ob-ect oriented features of $KK 5ost of the confusing concepts from $KK are either left out of <ava or implemented in a cleaner( more approachable manner In <ava there are a small number of clearl# defined "a#s to accomplish a given tas%

O48ect9Oriented <ava "as not designed to be source-code compatible "ith an# other language This allo"ed the <ava team the freedom to design "ith a blan% slate 0ne outcome of this "as a clean usable( pragmatic approach to ob-ects The ob-ect model in <ava is simple and

eas# to e!tend( "hile simple t#pes( such as integers( are %ept as high-performance nonob-ects Ro4ust The multi-platform environment of the Web places e!traordinar# demands on a program( because the program must e!ecute reliabl# in a variet# of s#stems The abilit# to create robust programs "as given a high priorit# in the design of <ava <ava is strictl# t#ped languageI it chec%s #our code at compile time and run time <ava virtuall# eliminates the problems of memor# management and de-allocation( "hich is completel# automatic In a "ell-"ritten <ava program( all run time errors can Land should Lbe managed b# #our program TEC"NOLOG( IN!RASTR&CT&RE$ $0R) <.=.: <ava can be used to create t"o t#pes of programsJ application and applet .n application is a program that runs on #our computer( under the operating s#stem of that computer That is( an application created b# -ava is more or less li%e one created using $ or $KK When used to create application( -ava is not much different from an# other computer language Rather( it is -avaDs abilit# to create applets that ma%es it important .n applet is an application designed to be transmitted over the internet and e!ecuted b# a -ava-compatible Web Bro"ser .n applet is actuall# a tin# -ava program( d#namicall# do"nloaded across the net"or%( -ust li%e an image( sound file( or video clip The important difference is that an applet is an intelligent program( not -ust an animation or media file In other "ords( an applet is a program that can react to user input and d#namicall# change-not -ust run the same animation or sound over and over <ava having a ma-or roll in internet and the intranet application The reason for this is *uite simpleJ <ava e!pends the universe pf ob-ects that can move about freel# in c#berspace In a net"or%( t"o ver# broad categories ob ob-ects are transmitted bet"een the server and #our personal computerJ passive information and d#namic( active programs

SEC&RIT( .s #ou are li%el# a"are( ever# time that #ou do"nload a +normal, program ( #ou are ris%ing viral infection 8rior to -ava( most users did not do"nload e!ecutable programs fre*uentl#( and those "ho did scanned them for viruses prior to e!ecution )ven so( most users still "orried about the possibilit# of infecting their s#stem "ith a virus When #ou use a -ava-compatible "eb bro"ser( #ou can safel# do"nload -ava applets "ithout fear of viral infection or malicious intent <ava achieves this protection b# confining a -ava program to the -ava e!ecution environment and not allo"ing it access to other parts of computer ORTABILIT($ 5an# t#pes of computers and operating s#stems are in use throughout the "orld-and man# are connected to the internet 1or program to be d#namicall# do"nloaded to all the various t#pe of platforms connected to the Internet( some means of generating portable e!ecutable code is needed B(TECODE$ The %e# that allo"s -ava to solve both the securit# and the portabilit# problems -ust described is that output of a -ava compiler is not e!ecutable code Rather( it is B4T)$0D) B#te code is a highl# optimiHed set of instruction designed to be e!ecuted b# the -ava run-time s#stem( "hich is called the <ava =irtual 5achine &<=5' That is( in its standard form( the <=5 is an interpreted code SI) LE$ <ava "as designed to be eas# for the professional programmer to learn and use effectivel# .ssuming that #ou have some programming e!perience( #ou "ill not find

-ava hard to master If "e %no" the basic concept of ob-ect-oriented programming( learning -ava "ill be even easier

OB#ECT9ORIENTED$ 0b-ect-0riented programming is the core of -ava In fact( all -ava programs are ob-ect-oriented-this isnDt an option the "a# that it is in $KK( for e!ample 008 is so integral to -ava that #ou must understand its basic principles before #ou can "rite even simple -ava programs ABSTRACTION$ The essential element of ob-ect-oriented programming is abstraction :umans manage comple!it# through abstraction 1or e!ample( people do not thin% of a car as a set of ten of individual parts The# thin% of it as a "ell-defined ob-ect "ith its o"n uni*ue behavior So this ignore the details of ho" the engine( transmission( and bra%ing s#stems "or% T"E T"REE9OO RINCI LE$

A6 ENCA S&LATION$ )ncapsulation is the mechanism that binds together code and the data it manipulates( and %eeps both safe from outside interference and misuse 0ne "a# to thin% about encapsulation is as a protective "rapper that prevents the code and data from begin arbitraril# accessed b# other code defined outside of the "rapper .ccess to he code and data inside the "rappers is tightl# controlled through a "ell-defined interface To relate this to the real "orld( consider the automatic transmission on an automobile It

encapsulates hundreds of bits of information about our engine( such as ho" much #ou are accelerating( the pitch of the surface #ou are on( and the position of the shift lever B6 IN"ERITANCE$ Inheritance is the process b# "hich one ob-ect ac*uires the properties of another ob-ect This is important because it supports the concept of hierarchical classification .s mentioned earlier( most %no"ledge is made manageable b# hierarchical classification Inheritance interacts "ith encapsulation as "ell If a given class encapsulates some attributes( then subclass "ill have the same attributes plus an# that it adds as part of its specialiHation <ava supports t"o t#pe of inheritance The# are( %6 SINGLE IN"ERITANCE$ The derived class is inherited from one super class '6 )&LTILEVEL IN"ERITANCE$ This contains the hierarchical of classes OL()OR "IS)$ 8ol#morphism &from the Gree%( meaning +man# forms,' is a feature that allo"s one interface to be used for a general class of actions 5ore generall#( the concept of pol#morphism is often e!pressed b# the phrase +one interface( multiple methods, This means that is possible to design a generic interface to a group or related activities This helps reduce comple!it# b# allo"ing the same interface to be used to specif# a general class of action It is the compilerDs -ob to select the specific action as it applies to each situation

S,ING$ The S"ing tool%it includes a rich set of components for building GUIs and adding interactivit# to <ava applications S"ing includes all the components #ou "ould e!pect from a modern tool%itJ table controls( list controls( tree controls( buttons( and labels S"ing is far from a simple component tool%it( ho"ever It includes rich undo support( a highl# customiHable te!t pac%age( integrated internationaliHation and accessibilit# support To trul# leverage the cross-platform capabilities of the <ava platform( S"ing supports numerous loo% and feels( including the abilit# to create #our o"n loo% and feel The abilit# to create a custom loo% and feel is made easier "ith S#nth( a loo% and feel specificall# designed to be customiHed S"ing "ouldnMt be a component tool%it "ithout the basic user interface primitives such as drag and drop( event handling( customiHable painting( and "indo" management S"ing is part of the <ava 1oundation $lasses &<1$' The <1$ also include other features important to a GUI program( such as the abilit# to add rich graphics functionalit# and the abilit# to create a program that can "or% in different languages and b# users "ith different input devices The S"ing tool%it includes a rich arra# of componentsJ from basic components( such as buttons and chec% bo!es( to rich and comple! components( such as tables and te!t )ven deceptivel# simple components( such as te!t fields( offer sophisticated functionalit#( such as formatted te!t input or pass"ord field behavior There are file bro"sers and dialogs to suit most needs( and if not( customiHation is possible If none of S"ingMs provided components are e!actl# "hat #ou need( #ou can leverage the basic S"ing component functionalit# to create #our o"n

S"ing components facilitate efficient graphical user interface &GUI' development These components are a collection of light "eight visual components S"ing components contain a replacement for the heav#"eight .WT components as "ell as comple! userinterface components such as trees and tables S"ing is a set of classes that provides

more po"erful and fle!ible components than are possible "ith the .WT In addition to that the familiar components such as buttons( chec% bo! and labels s"ings supplies several e!citing additions including tabbed panes( scroll panes( trees and tables )ven familiar components such as buttons have more capabilities in s"ing 1or e!ample a button ma# have both an image and te!t string associated "ith it .lso the image can be changed as the state of button changes Unli%e .WT components s"ing components are not implemented b# platform specific code instead the# are return entirel# in <.=. and( therefore( are platform-independent The term light"eight is used to describe such elements The number of classes and interfaces in the s"ing pac%ages is substantial The S"ing architecture is sho"n in the figure given blo"J

.pplication $ode

<1$ S"ing .WT

<ava 3D Drag N Drop .ccessibilit#

T"E S,ING CO) ONENT CLASSES$

$lass .bstract Button Button Group ImageIcon <.pplet <Button <$hec%Bo! <$omboB0! </abel <RadioButton <Scroll8ane <Tabbed8ane <Table <Te!t1ield <Tree

Description .bstract super class for S"ing Buttons )ncapsulates a mutuall# e!clusive set of Buttons )ncapsulates an Icon The S"ing version of .pplet The S"ing 8ush Button $lass The S"ing $hec%Bo! class )ncapsulates a combobo! The s"ing version of a /abel The S"ing version of a RadioButton )ncapsulates a scrollabel "indo" )ncapsulates a Tabbed "indo" )ncapsulates a Table-based control The s"ing version of a te!t-field )ncapsulates a Tree-based control

ADVANTAGES O! S,INGS$ Wide variet# of $omponents 8luggable /oo% and 1eel

5=$ .rchitecture Oe#stro%e :andling .ction 0b-ects Nested containers $ustomiHed Dialogs $ompound Borders Standard Dialog $lasses Structured Table and Tree $omponents 8o"erful Te!t 5anipulation Generic Undo $apabilities .ccessibilit# Support #DBC Dri1er T3/es The <DB$ drivers that "e are a"are of at this time fit into one of four categoriesJ <DB$-0DB$ bridge plus 0DB$ driver Native-.8I partl#-<ava driver <DB$-Net pure <ava driver Native-protocol pure <ava driver

#DBC9ODBC Bridge If possible( use a 8ure <ava <DB$ driver instead of the Bridge and an 0DB$ driver This completel# eliminates the client configuration re*uired b# 0DB$ It also eliminates the potential that the <ava =5 could be corrupted b# an error in the native code brought in b# the Bridge &that is( the Bridge native librar#( the 0DB$ driver manager librar#( the 0DB$ driver librar#( and the database client librar#'

,2at Is t2e #DBC9 ODBC Bridge: The <DB$-0DB$ Bridge is a <DB$ driver( "hich implements <DB$ operations b# translating them into 0DB$ operations To 0DB$ it appears as a normal application program The Bridge implements <DB$ for an# database for "hich an 0DB$ driver is available The Bridge is implemented as the Sun -dbc odbc <ava pac%age and contains a native librar# used to access 0DB$ The Bridge is a -oint development of Innersole and <ava Soft #DBC connecti1it3 The <DB$ provides database-independent connectivit# bet"een the <3)) platform and a "ide range of tabular data sources <DB$ technolog# allo"s an .pplication $omponent 8rovider toJ 8erform connection and authentication to a database server 5anager transactions 5ove S9/ statements to a database engine for preprocessing and e!ecution )!ecute stored procedures Inspect and modif# the results from Select statements

Data4ase$ . database management s#stem &DB5S' is computer soft"are designed for the purpose of managing databases( a large set of structured data( and run operations on the data re*uested b# numerous users T#pical e!amples of DB5Ss include 0racle( DB3( 5icrosoft .ccess( 5icrosoft S9/ Server( 1irebird( 8ostgreS9/( 5#S9/( S9/ite( 1ile5a%er and S#base .daptive Server )nterprise DB5Ss are t#picall# used b# Database administrators in the creation of Database s#stems T#pical e!amples of DB5S use include accounting( human resources and customer support s#stems 0riginall# found onl# in large companies "ith the computer hard"are needed to support large data sets( DB5Ss have more recentl# emerged as a fairl# standard part of an# compan# bac% office

Descri/tion . DB5S is a comple! set of soft"are programs that controls the organiHation( storage( management( and retrieval of data in a database . DB5S includesJ . modeling language to define the schema of each database hosted in the DB5S( according to the DB5S data model The four most common t#pes of organiHations are the hierarchical( net"or%( relational and ob-ect models Inverted lists and other methods are also used . given database management s#stem ma# provide one or more of the four models The optimal structure depends on the natural organiHation of the applicationMs data( and on the applicationMs re*uirements &"hich include transaction rate &speed'( reliabilit#( maintainabilit#( scalabilit#( and cost' The dominant model in use toda# is the ad hoc one embedded in S9/( despite the ob-ections of purists "ho believe this model is a corruption of the relational model( since it violates several of its fundamental principles for the sa%e of practicalit# and performance 5an# DB5Ss also support the 0pen Database $onnectivit# .8I that supports a standard "a# for programmers to access the DB5S Data structures &fields( records( files and ob-ects' optimiHed to deal "ith ver# large amounts of data stored on a permanent data storage device &"hich implies relativel# slo" access compared to volatile main memor#'

. database *uer# language and report "riter to allo" users to interactivel# interrogate the database( anal#He its data and update it according to the users privileges on data It also controls the securit# of the database Data securit# prevents unauthoriHed users from vie"ing or updating the database Using pass"ords( users are allo"ed access to the entire database or

subsets of it called subschemas 1or e!ample( an emplo#ee database can contain all the data about an individual emplo#ee( but one group of users ma# be authoriHed to vie" onl# pa#roll data( "hile others are allo"ed access to onl# "or% histor# and medical data If the DB5S provides a "a# to interactivel# enter and update the database( as "ell as interrogate it( this capabilit# allo"s for managing personal databases :o"ever( it ma# not leave an audit trail of actions or provide the %inds of controls necessar# in a multi-user organiHation These controls are onl# available "hen a set of application programs are customiHed for each data entr# and updating function

. transaction mechanism( that ideall# "ould guarantee the .$ID properties( in order to ensure data integrit#( despite concurrent user accesses &concurrenc# control'( and faults &fault tolerance'

It also maintains the integrit# of the data in the database The DB5S can maintain the integrit# of the database b# not allo"ing more than one user to update the same record at the same time The DB5S can help prevent duplicate records via uni*ue inde! constraintsI for e!ample( no t"o customers "ith the same customer numbers &%e# fields' can be entered into the database See .$ID properties for more information &Redundanc# avoidance'

The DB5S accepts re*uests for data from the application program and instructs the operating s#stem to transfer the appropriate data When a DB5S is used( information s#stems can be changed much more easil# as the organiHationMs information re*uirements change Ne" categories of data can be added to the database "ithout disruption to the e!isting s#stem

0rganiHations ma# use one %ind of DB5S for dail# transaction processing and then move the detail onto another computer that uses another DB5S better suited for random in*uiries and anal#sis 0verall s#stems design decisions are performed b# data administrators and s#stems anal#sts Detailed database design is performed b# database administrators Database servers are speciall# designed computers that hold the actual databases and run onl# the DB5S and related soft"are Database servers are usuall# multiprocessor computers( "ith R.ID dis% arra#s used for stable storage $onnected to one or more servers via a high-speed channel( hard"are database accelerators are also used in large volume transaction processing environments DB5Ss are found at the heart of most database applications Sometimes DB5Ss are built around a private multitas%ing %ernel "ith built-in net"or%ing support although no"ada#s these functions are left to the operating s#stem SERVLETS Introduction The <ava "eb server is <avaSoftMs o"n "eb Server The <ava "eb server is -ust a part of a larger frame"or%( intended to provide #ou not -ust "ith a "eb server( but also "ith tools To build customiHed net"or% servers for an# Internet or Intranet clientEserver s#stem Servlets are to a "eb server( ho" applets are to the bro"ser A4out Ser1lets Servlets provide a <ava-based solution used to address the problems currentl# associated "ith doing server-side programming( including ine!tensible scripting solutions( platformspecific .8Is( and incomplete interfaces Servlets are ob-ects that conform to a specific interface that can be plugged into a <avabased server Servlets are to the server-side "hat applets are to the client-side - ob-ect b#te codes that can be d#namicall# loaded off the net The# differ from applets in that the# are faceless ob-ects &"ithout graphics or a GUI component' The# serve as platform

independent( d#namicall# loadable( pluggable helper b#te code ob-ects on the server side that can be used to d#namicall# e!tend server-side functionalit# 1or e!ample( an :TT8 Servlets can be used to generate d#namic :T5/ content When #ou use Servlets to do d#namic content #ou get the follo"ing advantagesJ The#Dre faster and cleaner than $GI scripts The# use a standard .8I &the Servlets .8I' The# provide all the advantages of <ava &run on a variet# of servers "ithout needing to be re"ritten'

Attracti1eness o0 Ser1lets There are man# features of Servlets that ma%e them eas# and attractive to use These includeJ )asil# configured using the GUI-based .dmin tool $an be loaded and invo%ed from a local dis% or remotel# across the net"or% $an be lin%ed together( or chained( so that one Servlets can call another Servlets( or several Servlets in se*uence $an be called d#namicall# from "ithin :T5/ pages( using server-side include tags .re secure - even "hen do"nloading across the net"or%( the Servlets securit# model and Servlets sandbo! protect #our s#stem from unfriendl# behavior Ad1antages o0 t2e Ser1let A I 0ne of the great advantages of the Servlet .8I is protocol independence It assumes nothing aboutJ The protocol being used to transmit on the net :o" it is loaded The server environment it "ill be running in

These *ualities are important( because it allo"s the Servlet .8I to be embedded in man# different %inds of servers There are other advantages to the Servlet .8I as "ell These includeJ ItDs e!tensible - #ou can inherit all #our functionalit# from the base classes made available to #ou ItDs simple( small( and eas# to use

!eatures o0 Ser1lets$ Servlets are persistent Servlet are loaded onl# b# the "eb server and can maintain services bet"een re*uests Servlets are fast Since Servlets onl# need to be loaded once( the# offer much better performance over their $GI counterparts Servlets are platform independent Servlets are e!tensible <ava is a robust( ob-ect-oriented programming language( "hich easil# can be e!tended to suit #our needs Servlets are secure

Servlets can be used "ith a variet# of clients

Loading Ser1lets$ Servlets can be loaded from three places 1rom a director# that is on the $/.SS8.T: The $/.SS8.T: of includes service rootEclassesE "hich is "here the s#stem classes reside 1rom the PS)R=I$)QR00T EServletsE director# This is RnotR in the serverDs class the <avaWebServer

path . class loader is used to create Servlets from this director# Ne" Servlets can be added - e!isting Servlets can be recompiled and the server "ill notice these changes 1rom a remote location( for this a code base li%e httpJ EE nine eng E classes E foo E is re*uired in addition to the Servlets class name Refer to the admin GUI docs on Servlet section to see ho" to set this up Loading Remote Ser1lets Remote Servlets can be loaded b#J 2 3 7 $onfiguring the .dmin Tool to setup automatic loading of remote Servlets Setting up server side include tags in shtml files Defining a filter chain configuration

In1o;ing Ser1lets . Servlet invo%er is a Servlet that invo%es the SserviceS method on a named Servlet If the Servlet is not loaded in the server( then the invo%er first loads the Servlet &either from local dis% or from the net"or%' and the then invo%es the SserviceS method .lso li%e applets( local Servlets in the server can be identified b# -ust the class name In other "ords( if a Servlet name is not absolute( it is treated as local . client can invo%e Servlets in the follo"ing "a#s$ The client can as% for a document that is served b# the Servlet The client &bro"ser' can invo%e the Servlet directl# using a UR/( once it has been mapped using the Servlet .liases section of the admin GUI The Servlet can be invo%ed through server side include tags

The Servlet can be invo%ed b# placing it in the ServletsE director# The Servlet can be invo%ed b# using it in a filter chain

#a1a Ser1er ages 5#S 6 <ava server 8ages is a simple( #et po"erful technolog# for creating and maintaining d#namic-content "eb pages Based on the <ava programming language( <ava Server 8ages offers proven portabilit#( open standards( and a mature re-usable component model The <ava Server 8ages architecture enables the separation of content generation from content presentation This separation not eases maintenance headachesI it also allo"s "eb team members to focus on their areas of e!pertise No"( "eb page designer can concentrate on la#out( and "eb application designers on programming( "ith minimal concern about impacting each otherDs "or%

!eatures o0 #S orta4ilit3$ <ava Server 8ages files can be run on an# "eb server or "eb-enabled application server that provides support for them Dubbed the <S8 engine( this support involves recognition( translation( and management of the <ava Server 8age lifec#cle and its interaction components Com/onents It "as mentioned earlier that the <ava Server 8ages architecture can include reusable <ava components The architecture also allo"s for the embedding of a scripting language directl# into the <ava Server 8ages file The components current supported include <ava Beans( and Servlets

rocessing . <ava Server 8ages file is essentiall# an :T5/ document "ith <S8 scripting or tags The <ava Server 8ages file has a <S8 e!tension to the server as a <ava Server 8ages file Before the page is served( the <ava Server 8ages s#nta! is parsed and processed into a Servlet on the server side The Servlet that is generated outputs real content in straight :T5/ for responding to the client Access )odels$ . <ava Server 8ages file ma# be accessed in at least t"o different "a#s . clientDs re*uest comes directl# into a <ava Server 8age In this scenario( suppose the page accesses reusable <ava Bean components that perform particular "ell-defined computations li%e accessing a database The result of the Beans computations( called result sets is stored "ithin the Bean as properties The page uses such Beans to generate d#namic content and present it bac% to the client In both of the above cases( the page could also contain an# valid <ava code <ava Server 8ages architecture encourages separation of content from presentation

Steps in the e!ecution of a <S8 .pplication

The client sends a re*uest to the "eb server for a <S8 file b# giving the name of the <S8 file "ithin the form tag of a :T5/ page

This re*uest is transferred to the <avaWebServer this re*uest to the <S8 engine

.t the server side

<avaWebServer receives the re*uest and if it is a re*uest for a -sp file server gives 7 <S8 engine is program "hich can under stands the tags of the -sp and then it converts those tags into a Servlet program and it is stored at the server side This Servlet is loaded in the memor# and then it is e!ecuted and the result is given bac% to the <avaWebServer and then it is transferred bac% to the result is given bac% to the <avaWebServer and then it is transferred bac% to the client Ecli/se IDE )clipse is an open-source soft"are frame"or% "ritten primaril# in <ava In its default form it is an Integrated Development )nvironment &ID)' for <ava developers( consisting of the <ava Development Tools &<DT' and the )clipse $ompiler for <ava &)$<' Users can e!tend its capabilities b# installing plug-ins "ritten for the )clipse soft"are frame"or%( such as development tool%its for other programming languages( and can "rite and contribute their o"n plug-in modules /anguage pac%s are available for over a doHen languages Arc2itecture The basis for )clipse is the Rich $lient 8latform &R$8' The follo"ing components constitute the rich client platformJ 0SGi - a standard bundling frame"or% $ore platform - boot )clipse( run plug-ins the Standard Widget Tool%it &SWT' - a portable "idget tool%it <1ace - vie"er classes to bring model vie" controller programming to SWT(

file buffers( te!t handling( te!t editors the )clipse Wor%bench - vie"s( editors( perspectives( "iHards

)clipseMs "idgets are implemented b# a "idget tool%it for <ava called SWT( unli%e most <ava applications( "hich use the <ava standard .bstract Windo" Tool%it &.WT' or S"ing )clipseMs user interface also leverages an intermediate GUI la#er called <1ace( "hich simplifies the construction of applications based on SWT )clipse emplo#s plug-ins in order to provide all of its functionalit# on top of &and including' the rich client platform( in contrast to some other applications "here functionalit# is t#picall# hard coded This plug-in mechanism is a light"eight soft"are componentr# frame"or% In addition to allo"ing )clipse to be e!tended using other programming languages such as $ and 8#thon( the plug-in frame"or% allo"s )clipse to "or% "ith t#pesetting languages li%e /aTe6( net"or%ing applications such as telnet( and database management s#stems The plug-in architecture supports "riting an# desired e!tension to the environment( such as for configuration management <ava and $=S support is provided in the )clipse SDO The %e# to the seamless integration of tools "ith )clipse is the plugin With the e!ception of a small run-time %ernel( ever#thing in )clipse is a plug-in This means that a plug-in #ou develop integrates "ith )clipse in e!actl# the same "a# as other plug-insI in this respect( all features are created e*ual The )clipse SDO includes the )clipse <ava Development Tools( offering an ID) "ith a built-in incremental <ava compiler and a full model of the <ava source files This allo"s for advanced refactoring techni*ues and code anal#sis The ID) also ma%es use of a "or%space( in this case a set of metadata over a flat filespace allo"ing e!ternal file modifications as long as the corresponding "or%space SresourceS is refreshed after"ards The =isual )ditor pro-ect allo"s interfaces to be created interactivel#( hence allo"ing )clipse to be used as a R.D tool The follo"ing is a list of notable pro-ects and plugins for the )clipse ID)

These pro-ects are maintained b# the )clipse communit# and hosted b# the )clipse 1oundation %. Core /ro8ects Rich $lient 8latform &8latform' is the core frame"or% that all other )clipse pro-ects are built on <ava Development Tools &<DT' provides support for core <ava S) This includes a standalone fast incremental compiler Tools /ro8ects $E$KK Development Tools &$DT' adds support for $E$KK s#nta! highlighting( code formatting( debugger integration and pro-ect structures Unli%e the <DT pro-ect( the $DT pro-ect does not add a compiler and relies on an e!ternal tool chain Graphical )diting 1rame"or% &G)1' allo"s developers to build standalone graphical tools )!ample use include circuit diagram design tools( activit# diagram editors and W4SIW4G document editors ,e4 /ro8ects <3)) Standard Tools &<ST' e!tends the core <DT to include support for <ava )) pro-ects This includes )<Bs( <S8s and Servlets 8:8 Development Tools &8DT' Web Standard Tools &WST' adds standards compliant "eb development tools These tools include editors for 65/( :T5/ and $SS Ot2er /ro8ects Test and 8erformance Tools 8latform &T8T8' "hich provides a platform that allo"s soft"are developers to build test and performance tools( such as debuggers( profilers and benchmar%ing applications

Business Intelligence and Reporting Tools 8ro-ect &BIRT'( an )clipse-based open source reporting s#stem for "eb applications( especiall# those based on <ava

> S(STE) DESIGN

Design is multi-step process that focuses on data structure soft"are architecture( procedural details( &algorithms etc ' and interface bet"een modules The design process also translates the re*uirements into the presentation of soft"are that can be accessed for *ualit# before coding begins $omputer soft"are design changes continuousl# as ne" methodsI better anal#sis and broader understanding evolved Soft"are Design is at relativel# earl# stage in its revolution Therefore( Soft"are Design methodolog# lac%s the depth( fle!ibilit# and *uantitative nature that are normall# associated "ith more classical engineering disciplines :o"ever techni*ues for soft"are designs do e!ist( criteria for design *ualities are available and design notation can be applied

)OD&LES$ 2 3 7 ; > ? /ogin 5odule $ontent Selection 5odule Web $ommunities 5odule $iB$ Implementation 5odule $ontent Distribution Net"or% 5odule Web Server $ontent Generation 5odule

)OD&LES DISCRI TION$ Login )odule$ This module is used for user registration( authoriHation and authentication 5eans this module is used to chec% "hether the entered user is authoriHed user or not

Content Selection )odule$ In this module( "e stud# the problemJ Which content should be outsourced b# the origin server to $DNDs surrogate servers so as to reduce the load on the origin server and the traffic on the Internet( and ultimatel# improve response time to users as "ell as reduce the data redundanc# to the surrogate serversT ,e4 Communities )odule$ The outsourced content is replicated to $DNDs surrogate servers in the form of Web page communities .s it has been described in Section 3( several approaches have been proposed in the literature F23G( F27G( F3CG in order to identif# Web page communities CiBC Im/lementation )odule$ $iB$ is a heuristic $DNDs outsourcing polic# "hich identifies generaliHed Web page communities from a Web server content $iB$ is a h#brid approach( since the identified communities are based on both local and global graphDs properties The Web server content is represented b# a Web site graph G U V= I)W( "here its nodes are the Web pages and the edges depict the h#perlin%s Content Distri4ution Net7or; )odule$ To evaluate the performance of the proposed algorithm( We used our complete simulation environment( called $DNsim( "hich simulates a main $DN infrastructure and is implemented in the $ programming language ,e4 Ser1er Content Generation )odule$ In order to generate the s#nthetic Web site graphs( "e developed a tool( the so-called the 1WGen B The 1WGen tool produces s#nthetic but realistic Web graphs since it encapsulates man# of the patterns found in real-"orld graphs( including po"er-la" and log-normal degree distributions( small diameter( and communities +effects ,

> % DATA!LO, DIAGRA)$

LOGIN

,EB CO))&NITIES

CONTENT DISTRIB&TION NET,OR<

NET,OR< ANAL(SIS

=.' &)L DIAGRA)S$

&ni0ied )odeling Language:

The Unified 5odeling /anguage allo"s the soft"are engineer to e!press an anal#sis model using the modeling notation that is governed b# a set of s#ntactic semantic and pragmatic rules . U5/ s#stem is represented using five different vie"s that describe the s#stem from distinctl# different perspective )ach vie" is defined b# a set of diagram( "hich is as follo"s User 5odel =ie" i This vie" represents the s#stem from the users perspective ii The anal#sis representation describes a usage scenario from the end-users perspective Structural model vie" i In this model the data and functionalit# are arrived from inside the s#stem ii This model vie" models the static structures Behavioral 5odel =ie" It represents the d#namic of behavioral as parts of the s#stem( depicting the interactions of collection bet"een various structural elements described in the user model and structural model vie" Implementation 5odel =ie" In this the structural and behavioral as parts of the s#stem are represented as the# are to be built

)nvironmental 5odel =ie" In this the structural and behavioral aspects of the environment in "hich the s#stem is to be implemented are represented

U5/ is specificall# constructed through t"o different domains the# areJ U5/ .nal#sis modeling( this focuses on the user model and structural model vie"s of the s#stem U5/ design modeling( "hich focuses on the behavioral modeling( implementation modeling and environmental model vie"s Use case Diagrams represent the functionalit# of the s#stem from a userDs point of vie" Use cases are used during re*uirements elicitation and anal#sis to represent the functionalit# of the s#stem Use cases focus on the behavior of the s#stem from e!ternal point of vie" .ctors are e!ternal entities that interact "ith the s#stem )!amples of actors include users li%e administrator( ban% customer Xetc ( or another s#stem li%e central database

Usecasediagram:

Login

WebCommunities

CDN

User

Network Analysis

Activity Diagram:

Start

LOGIN

WEB COMMUNITIES

CDN

NETWO ! ANAL"SIS

Stop

> S(STE) TESTING AND )AINTENANCE

Testing Soft"are Testing is the process used to help identif# the correctness( completeness( securit#( and *ualit# of developed computer soft"are Testing is a process of technical investigation( performed on behalf of sta%eholders( that is intended to reveal *ualit#related information about the product "ith respect to the conte!t in "hich it is intended to operate This includes( but is not limited to( the process of e!ecuting a program or application "ith the intent of finding errors 9ualit# is not an absoluteI it is value to some person With that in mind( testing can never completel# establish the correctness of arbitrar# computer soft"areI testing furnishes a criticism or comparison that compares the state and behavior of the product against a specification .n important point is that soft"are testing should be distinguished from the separate discipline of Soft"are 9ualit# .ssurance &S9.'( "hich encompasses all business process areas( not -ust testing There are man# approaches to soft"are testing( but effective testing of comple! products is essentiall# a process of investigation( not merel# a matter of creating and follo"ing routine procedure 0ne definition of testing is Sthe process of *uestioning a product in

order to evaluate itS( "here the S*uestionsS are operations the tester attempts to e!ecute "ith the product( and the product ans"ers "ith its behavior in reaction to the probing of the testerFcitation neededG .lthough most of the intellectual processes of testing are nearl# identical to that of revie" or inspection( the "ord testing is connoted to mean the d#namic anal#sis of the productYputting the product through its paces Some of the common *ualit# attributes include capabilit#( reliabilit#( efficienc#( portabilit#( maintainabilit#( compatibilit# and usabilit# . good test is sometimes described as one "hich reveals an errorI ho"ever( more recent thin%ing suggests that a good test is one "hich reveals information of interest to someone "ho matters "ithin the pro-ect communit#

Introduction
In general( soft"are engineers distinguish soft"are faults from soft"are failures In case of a failure( the soft"are does not do "hat the user e!pects . fault is a programming error that ma# or ma# not actuall# manifest as a failure . fault can also be described as an error in the correctness of the semantic of a computer program . fault "ill become a failure if the e!act computation conditions are met( one of them being that the fault# portion of computer soft"are e!ecutes on the $8U . fault can also turn into a failure "hen the soft"are is ported to a different hard"are platform or a different compiler( or "hen the soft"are gets e!tended Soft"are testing is the technical investigation of the product under test to provide sta%eholders "ith *ualit# related information Soft"are testing ma# be vie"ed as a sub-field of Soft"are 9ualit# .ssurance but t#picall# e!ists independentl# &and there ma# be no S9. areas in some companies' In S9.( soft"are process specialists and auditors ta%e a broader vie" on soft"are and its development The# e!amine and change the soft"are engineering process itself to reduce the amount of faults that end up in the code or deliver faster Regardless of the methods used or level of formalit# involved the desired result of testing is a level of confidence in the soft"are so that the organiHation is confident that the

soft"are has an acceptable defect rate What constitutes an acceptable defect rate depends on the nature of the soft"are .n arcade video game designed to simulate fl#ing an airplane "ould presumabl# have a much higher tolerance for defects than soft"are used to control an actual airliner . problem "ith soft"are testing is that the number of defects in a soft"are product can be ver# large( and the number of configurations of the product larger still Bugs that occur infre*uentl# are difficult to find in testing . rule of thumb is that a s#stem that is e!pected to function "ithout faults for a certain length of time must have alread# been tested for at least that length of time This has severe conse*uences for pro-ects to "rite long-lived reliable soft"are . common practice of soft"are testing is that it is performed b# an independent group of testers after the functionalit# is developed but before it is shipped to the customer This practice often results in the testing phase being used as pro-ect buffer to compensate for pro-ect dela#s .nother practice is to start soft"are testing at the same moment the pro-ect starts and it is a continuous process until the pro-ect finishes .nother common practice is for test suites to be developed during technical support escalation procedures Such tests are then maintained in regression testing suites to ensure that future updates to the soft"are donMt repeat an# of the %no"n mista%es It is commonl# believed that the earlier a defect is found the cheaper it is to fi! it Time Detected Re*uirements 2 -

Time Introduced Re*uirements .rchitecture $onstruction

.rchitecture 7 2 -

$onstruction >-2C 2C 2

S#stem Test 2C 2> 2C

8ost-Release 2C-2CC 3>-2CC 2C-3>

In counterpoint( some emerging soft"are disciplines such as e!treme programming and the agile soft"are development movement( adhere to a Stest-driven soft"are developmentS model In this process unit tests are "ritten first( b# the programmers &often "ith pair programming in the e!treme programming methodolog#' 0f course these tests fail initiall#I as the# are e!pected to Then as code is "ritten it passes incrementall# larger portions of the test suites The test suites are continuousl# updated as

ne" failure conditions and corner cases are discovered( and the# are integrated "ith an# regression tests that are developed Unit tests are maintained along "ith the rest of the soft"are source code and generall# integrated into the build process &"ith inherentl# interactive tests being relegated to a partiall# manual build acceptance process' The soft"are( tools( samples of data input and output( and configurations are all referred to collectivel# as a test harness

History
The separation of debugging from testing "as initiall# introduced b# Glenford < 5#ers in his 2B@A boo% the S.rt of Soft"are TestingS .lthough his attention "as on brea%age testing it illustrated the desire of the soft"are engineering communit# to separate fundamental development activities( such as debugging( from that of verification Drs Dave Gelperin and William $ :etHel classified in 2BAA the phases and goals in soft"are testing as follo"sJ until 2B>? it "as the debugging oriented period( "here testing "as often associated to debuggingJ there "as no clear difference bet"een testing and debugging 1rom 2B>@-2B@A there "as the demonstration oriented period "here debugging and testing "as distinguished no" - in this period it "as sho"n( that soft"are satisfies the re*uirements The time bet"een 2B@B-2BA3 is announced as the destruction oriented period( "here the goal "as to find errors 2BA7-2BA@ is classified as the evaluation oriented periodJ intention here is that during the soft"are lifec#cle a product evaluation is provided and measuring *ualit# 1rom 2BAA on it "as seen as prevention oriented period "here tests "ere to demonstrate that soft"are satisfies its specification( to detect faults and to prevent faults Dr Gelperin chaired the I))) A3B-2BAA &Test Documentation Standard' "ith Dr :etHel "riting the boo% SThe $omplete Guide of Soft"are TestingS Both "or%s "ere pivotal in to toda#Ms testing culture and remain a consistent source of reference Dr Gelperin and <err# ) Durant also "ent on to develop :igh Impact Inspection Technolog# that builds upon traditional Inspections but utiliHes a test driven additive

White-box and black-box testing


To meet Wi%ipediaMs *ualit# standards( this section ma# re*uire cleanup 8lease discuss this issue on the tal% page( andEor replace this tag "ith a more specific message White bo! and blac% bo! testing are terms used to describe the point of vie" a test engineer ta%es "hen designing test cases Blac% bo! being an e!ternal vie" of the test ob-ect and "hite bo! being an internal vie" Soft"are testing is partl# intuitive( but largel# s#stematic Good testing involves much more than -ust running the program a fe" times to see "hether it "or%s Thorough anal#sis of the program under test( bac%ed b# a broad %no"ledge of testing techni*ues and tools are prere*uisites to s#stematic testing Soft"are Testing is the process of e!ecuting soft"are in a controlled mannerI in order to ans"er the *uestion +Does this soft"are behave as specifiedT, Soft"are testing is used in association "ith =erification and =alidation =erification is the chec%ing of or testing of items( including soft"are( for conformance and consistenc# "ith an associated specification Soft"are testing is -ust one %ind of verification( "hich also uses techni*ues as revie"s( inspections( "al%-through =alidation is the process of chec%ing "hat has been specified is "hat the user actuall# "anted

=alidationJ .re "e doing the right -obT =erificationJ .re "e doing the -ob rightT

In order to achieve consistenc# in the Testing st#le( it is imperative to have and follo" a set of testing principles This enhances the efficienc# of testing "ithin S9. team members and thus contributes to increased productivit# The purpose of this document is to provide overvie" of the testing( plus the techni*ues .t SD)I( 7 levels of soft"are testing is done at various SD/$ phases

Unit TestingJ in "hich each unit &basic component' of the soft"are is tested to verif# that the detailed design for the unit has been correctl# implemented

Integration testingJ in "hich progressivel# larger groups of tested soft"are components corresponding to elements of the architectural design are integrated and tested until the soft"are "or%s as a "hole

S#stem testingJ in "hich the soft"are is integrated to the overall product and tested to sho" that all re*uirements are met

. further level of testing is also done( in accordance "ith re*uirementsJ

.cceptance testingJ upon "hich the acceptance of the complete soft"are is based The clients often do this Regression testingJ is used to refer the repetition of the earlier successful tests to ensure that changes made in the soft"are have not introduced ne" bugsEside effects

In recent #ears the term gre# bo! testing has come into common usage The t#pical gre# bo! tester is permitted to set up or manipulate the testing environment( li%e seeding a database( and can vie" the state of the product after his actions( li%e performing a S9/ *uer# on the database to be certain of the values of columns It is used almost e!clusivel# of client-server testers or others "ho use a database as a repositor# of information( but can also appl# to a tester "ho has to manipulate 65/ files &DTD or an actual 65/ file' or configuration files directl# It can also be used of testers "ho %no" the internal "or%ings or algorithm of the soft"are under test and can "rite tests specificall# for the anticipated results 1or e!ample( testing a data "arehouse implementation involves loading the target database "ith information( and verif#ing the correctness of data population and loading of data into the correct tables

Test levels

Unit testing tests the minimal soft"are component and sub-component or modules b# the programmers Integration testing e!poses defects in the interfaces and interaction bet"een integrated components &modules' 1unctional testing tests the product according to programmable "or%

S#stem testing tests an integrated s#stem to verif#Evalidate that it meets its re*uirements .cceptance testing testing can be conducted b# the client It allo"s the end-user or customer or client to decide "hether or not to accept the product .cceptance testing ma# be performed after the testing and before the implementation phase See also Development stage
o

.lpha testing is simulated or actual operational testing b# potential usersEcustomers or an independent test team at the developersM site .lpha testing is often emplo#ed for off-the-shelf soft"are as a form of internal acceptance testing( before the soft"are goes to beta testing Beta testing comes after alpha testing =ersions of the soft"are( %no"n as beta versions( are released to a limited audience outside of the compan# The soft"are is released to groups of people so that further testing can ensure the product has fe" faults or bugs Sometimes( beta versions are made available to the open public to increase the feedbac% field to a ma!imal number of future users

It should be noted that although both .lpha and Beta are referred to as testing it is in fact use emersion The rigors that are applied are often uns#stematic and man# of the basic tenets of testing process are not used The .lpha and Beta period provides insight into environmental and utiliHation conditions that can impact the soft"are .fter modif#ing soft"are( either for a change in functionalit# or to fi! defects( a regression test re-runs previousl# passing tests on the modified soft"are to ensure that the modifications havenMt unintentionall# caused a regression of previous functionalit# Regression testing can be performed at an# or all of the above test levels These regression tests are often automated

Test cases, suites, scripts and scenarios


. test case is a soft"are testing document( "hich consists of event( action( input( output( e!pected result and actual result $linicall# defined &I))) A3B-2BBA' a test case is an

input and an e!pected result This can be as pragmatic as Mfor condition ! #our derived result is #M( "hereas other test cases described in more detail the input scenario and "hat results might be e!pected It can occasionall# be a series of steps &but often steps are contained in a separate test procedure that can be e!ercised against multiple test cases( as a matter of econom#' but "ith one e!pected result or e!pected outcome The optional fields are a test case ID( test step or order of e!ecution number( related re*uirement&s'( depth( test categor#( author( and chec% bo!es for "hether the test is automatable and has been automated /arger test cases ma# also contain prere*uisite states or steps( and descriptions . test case should also contain a place for the actual result These steps can be stored in a "ord processor document( spreadsheet( database or other common repositor# In a database s#stem( #ou ma# also be able to see past test results and "ho generated the results and the s#stem configuration used to generate those results These past results "ould usuall# be stored in a separate table The term test script is the combination of a test case( test procedure and test data Initiall# the term "as derived from the b#product of "or% created b# automated regression test tools Toda#( test scripts can be manual( automated or a combination of both The most common term for a collection of test cases is a test suite The test suite often also contains more detailed instructions or goals for each collection of test cases It definitel# contains a section "here the tester identifies the s#stem configuration used during testing . group of test cases ma# also contain prere*uisite states or steps( and descriptions of the follo"ing tests $ollections of test cases are sometimes incorrectl# termed a test plan The# might correctl# be called a test specification If se*uence is specified( it can be called a test script( scenario or procedure

A sample testing cycle


.lthough testing varies bet"een organiHations( there is a c#cle to testingJ

Re*uirements .nal#sisJ Testing should begin in the re*uirements phase of the soft"are development life c#cle During the design phase( testers "or% "ith developers in determining "hat aspects of a design are testable and under "hat parameter those tests "or%

3 7 ; >

Test 8lanningJ Test Strateg#( Test 8lan&s'( Test Bed creation Test DevelopmentJ Test 8rocedures( Test Scenarios( Test $ases( Test Scripts to use in testing soft"are Test )!ecutionJ Testers e!ecute the soft"are based on the plans and tests and report an# errors found to the development team Test ReportingJ 0nce testing is completed( testers generate metrics and ma%e final reports on their test effort and "hether or not the soft"are tested is read# for release

Retesting the Defects

Not all errors or defects reported must be fi!ed b# a soft"are development team Some ma# be caused b# errors in configuring the test soft"are to match the development or production environment Some defects can be handled b# a "or%around in the production environment 0thers might be deferred to future releases of the soft"are( or the deficienc# might be accepted b# the business user There are #et other defects that ma# be re-ected b# the development team &of course( "ith due reason' if the# deem it inappropriate to be called a defect

? S(STE) I) LE)ENTATION
Implementation is the most crucial stage in achieving a successful s#stem and giving the userDs confidence that the ne" s#stem is "or%able and effective Implementation of a modified application to replace an e!isting one This t#pe of conversation is relativel# eas# to handle( provide there are no ma-or changes in the s#stem )ach program is tested individuall# at the time of development using the data and has verified that this program lin%ed together in the "a# specified in the programs specification( the computer s#stem and its environment is tested to the satisfaction of the user The s#stem that has been developed is accepted and proved to be satisfactor# for the user .nd so the s#stem is going to be implemented ver# soon . simple operating procedure is included so that the user can understand the different functions clearl# and *uic%l# Initiall# as a first step the e!ecutable form of the application is to be created and loaded in the common server machine "hich is accessible to all the user and the server is to be connected to a net"or% The final stage is to document the entire s#stem "hich provides components and the operating procedures of the s#stem

?.% SCO E !OR !&T&RE DEVELO )ENT$ To strengthen the credibilit# of the results obtained "ith the s#nthetic data( "e evaluated the competing methods "ith real Internet content The real Web site "e used is the cs princeton edu This Web site consists of 23A(AC> nodes and >A>(C>> edges .s far as the re*uestsD stream generation is concerned( "e used the same

generator that "e used for the s#nthetic data Then( "e +fed, these re*uests into $DNsim in e!actl# the same "a# "e did for s#nthetic data

@ CONCL&SION
In this paper( "e dealt "ith the content selection problem Y "hich content should be outsourced in $DNDs surrogate servers Differentl# from all other relevant approaches( "e refrained from using an# re*uest statistics in determining the outsourced content( since "e cannot al"a#s gather them *uite fast to address +flash cro"ds ,

A BIBLIOGRA "(

$ore <avaZ 3 =olume I L 1undamentals @th )dition 8earson )ducation L Sun 5icros#stems $ore <avaZ 3 =olume II L .dvanced 8earson )ducation L Sun 5icros#stems :ead 1irst Servlets N <S8 0DReill# L S8D <.=. 3J The $omplete Reference S8D )ffective <ava L 8rogramming /anguage Guide 8earson )ducation L Sun 5icros#stems <ava Net"or%ing Best 8ractices 0DReill# L S8D 8ure <1$ S"ing 0DReill# L S8D

$a# S :ortsman Gar# $ornell $a# S :ortsman Gar# $ornell )ric 1reeman )lisabeth 1reeman :ert Schildt( :erbert Schildt <oshua Bloch George Reese Sath#ara- 8antham Sam Griffith

You might also like