"Job Seeker (Online Job Portal) ": Master of Computer Application
"Job Seeker (Online Job Portal) ": Master of Computer Application
"Job Seeker (Online Job Portal) ": Master of Computer Application
June ()**
Acknowledgment
I would like to thank first of all The Almighty GOD, because has hel!ed "e the "ost b# kee!in$ is blessin$s on "e% I would also like to thank Mr. J.K Chadha &irector ' Mr. Mohd Z bair ()acult# Inchar$e*, +o"!uter &e!art"ent, Sikkim Mani!al "ni#er$ity(%C&'()*') , Ala"ba$h% )or ha,in$ the confidence in "e, for all his wisdo" and $uidance and for $i,in$ "e the o!!ortunit# to learn fro" "# own "istakes% I would also e-!ress our heart felt $ratitude to all other +a, lty member$ o+ Sikkim Mani!al "ni#er$ity (%C '()*') , for their hel! and su!!ort% .ithout the" it was not !ossible for "e to co"!lete "# !ro/ect% I would also like to thank all "# +riend$ and bat,h mate$ for their selfless hel! and for encoura$in$ and boostin$ u! "# confidence fro" ti"e to ti"e% 0ast but not the least, a ,er# s!ecial thanks to "# !arent and other +amily member$ for their ut"ost efforts to "ake "e stud# and to brin$ us u! to this sta$e where I can !roof "#self% 1ee!in$ this in "ind, once a$ain I would like to thank e,er#one for su!!ort% e is the one who
Paa,an
BONAFIDE CERTIFICATE
+ertified that this !ro/ect re!ort titled 2Job Portal -eb$ite.is the bonafide work of 2Paa,an . who carried out the !ro/ect work under "# su!er,ision%
Mr. Mohd.
)acult# Inchar$e I 3 ' +o"!uter
/0T1OD"CT/O0 &e,elo! a site as co""on !lace for the 4ob seeker and the e"!lo#"ent !ro,ider% 4ob seeker is the user, who is lookin$ for the $ood o!!ortunit# for their skills and e"!lo#"ent !ro,ider are the co"!an# or or$ani5ation, who is lookin$ for the $ood skill !erson for their re6uire"ents% In this s#ste" user can sa,e their resu"e and if re6uired can send his7her resu"e to the e-istin$ co"!an#% In contrast an# co"!an# can feed their re6uire"ent in this site for the $eneral user8s who are ,isitin$ this site% In "aintainin$ bi$ data and fre6uentl# $ettin$ data, and doin$ transaction there "ust ha,e stron$ search en$ine for searchin$ resu"e% 3his is the a!!lication for followin$ re6uire"ents 9: ;% <#ste" could track the re6uire"ent of new e"!lo#"ent for the new co"!an#% 2% <#ste" should acce!t new resu"e, could "odif# and delete resu"e% 3% <#ste" should create new co"!an#, could "odif# and delete co"!an#%
4% All user and co"!an# "ust ha,e authentication (,alid userna"e and !assword*%
5% =ust "ention about the detail of the co"!an# !rofile that de,elo!ed this site and "ention the wa# to contact% >% 3he ob/ecti,e of a /ob !ortal is two !ron$ed 9 )irst, to !ro,ide an a,enue for a !ros!ecti,e /ob seeker with the "ost rele,ant and a!!ro!riate /ob o!!ortunities% 3he "ore such o!!ortunities that the /ob !ortal $i,es, the better it would be for the /ob and the /ob the /ob !ortal the"sel,es% 7% <econd, to !ro,ide cor!orate e"!lo#ers with a lar$e nu"ber of !rofiles in its database, which ha,e $ood nu"ber of 6ualit# resu"es in ter"s of work e-!erience and skills sets as sou$ht b# the cor!orate% 3he !ri"e ob/ecti,e behind the de,elo!"ent of the online /ob !ortal 2Job Seeker3 is to !ro,ide a better solution to the /ob seekers as well as the ?"!lo#ers itself% 3he ke# !ur!ose of the !ro/ect is to:
5
3o deli,er better solution to a /ob seeker for findin$ a suitable ?"!lo#er% ?"!lo#er can re$ister the"sel,es, can u!load lo$os and edit their !rofiles% ?"!lo#ers can use !re"iu" ser,ices like !ostin$ their ad,ertise"ents, !ost latest ,acancies, and list the" a"on$ to! co"!anies list%
<#ste" can be se!arated into followin$ artifacts9: 4. "$er Detail a% @e$ister An site b% <e!arate 0o$in c% B!load resu"e d% <end resu"e (. Sear,h 5ngine (Com!any and General "$er* a% C# 4ob 3itle b% C# 0ocation c% C# skills
>
6. "$er a$ ,om!any a% Add new ,acanc# or !ost b% =odif# and delete ,acanc# or !ost, if re6uired c% View all
75AT"15S A0D 85057/TS 3his !ro/ect is ,er# eas# to o!erate and user friendl# i%e% user does not re6uire an# !re,ious kno9ledge of co"!uter to o!erate because this s#ste" will Pro,ide user with !ro!er $uideline and hel! which is a,ailable at each sta$e of workin$% 3he sco!e for de,elo!"ent of the web !ortal 2Job Seeker3 is to !ro,ide 6ualit# ser,ice to the /ob seekers in the current industries such as I3, 3eleco", =arketin$, )inance, Cankin$ ' @etail <ectors% 3he !ro/ect is ai"ed to !ro,ide efficient ser,ices to the users of the website% 3he web !ortal 2Job Seeker3 has been de,elo!ed with latest
7
technolo$# and tools are o!en source, thus !ro,idin$ hi$her fle-ibilit# to retain 6ualit# ser,ice and =aintenance and u!dation is on re$ular inter,al% 85057/TS @educed "an!ower
Denerali5ed software, increased o!erational efficienc# Increased accurac# and reliabilit# @educed o!erational ti"e @educed !a!er work Cetter DBI ?as# to "aintain ?as# to u!date
%i$t o+ Content$
Cha!ter 0ame Page 0o.
;% 2% 3% 4%
P P :)ront ?nd Ph!"#ad"in: Cack ?nd P P Architecture 3ools Bsed )or &e,elo!"ent
8 ;8 22 3E
8
5% >% 7% 8% E%
ardware and <oftware @e6uire"ent ?ntit# @elationshi! &ia$ra"s 0ist of 3ables <#ste" Anal#sis and <oftware =odel )easibilit# @e!ort
;0% <#ste" Validation ' 3estin$ ;;% +onclusion ;2% ;3% ;4% )uture ?nhance"ent 0i"itations @eferences
e-ecuted in the ser,er in addition to the usual "i-ture of te-t and 3=0 ( #!erte-t =arku! 0an$ua$e* ta$s% .hen #ou t#!e a B@0 in the Address bo- or click a link on a .eb !a$e, #ouFre askin$ a .eb ser,er on a co"!uter so"ewhere to send a file to the .eb browser (so"eti"es called a GclientG* on #our co"!uter% If that file is a nor"al 3=0 file, it looks e-actl# the sa"e when #our .eb browser recei,es it as it did before the .eb ser,er sent it% After recei,in$ the file, #our .eb browser dis!la#s its contents as a co"bination of te-t, i"a$es, and sounds% In the case of an P P !a$e, the !rocess is si"ilar, e-ce!t thereFs an e-tra !rocessin$ ste! that takes !lace /ust before the .eb ser,er sends the file% Cefore the .eb ser,er sends the P P file to the .eb browser, it runs all ser,er9side scri!ts contained in the !a$e% <o"e of these scri!ts dis!la# the current date, ti"e, and other infor"ation% Athers !rocess infor"ation the user has /ust t#!ed into a for", such as a !a$e in the .eb siteFs $uestbook 3o distin$uish the" fro" nor"al 3=0 !a$es, P P files are usuall# $i,en the G%!h!G e-tension%
-hat Can <o Do 9ith P:P; 3here are "an# thin$s #ou can do with P P% Hou can dis!la# date, ti"e, and other infor"ation in different wa#s%
;0
Hou can "ake a sur,e# for" and ask !eo!le who ,isit #our site to fill it out, send e"ails, sa,e the infor"ation to a file, etc
-hat Do P:P !age$ %ook %ike; 3he a!!earance of an P P !a$e de!ends on who or what is ,iewin$ it% 3o the .eb browser that recei,es it, an Acti,e <er,er Pa$e looks /ust like a nor"al 3=0 !a$e% If a ,isitor to #our .eb site ,iews the source code of an P P !a$e, thatFs what the# see: a nor"al 3=0 !a$e% owe,er, the file located in the ser,er looks ,er# different% In addition to te-t and 3=0 ta$s, #ou also see ser,er9side scri!ts% 3his is what the P P !a$e looks like to the .eb ser,er before it is !rocessed and sent in res!onse to a re6uest%
-hat Do P:P !age$ %ook %ike; <er,er9side scri!ts look a lot like 3=0 ta$s% owe,er, instead of startin$ and endin$ with lesser9than ( I * and $reater9than ( J * brackets, the# t#!icall# start with IK!h! or IK and will t#!icall# end with KJ% 3he IK!h! or IK are called anopening tags, and the KJ is called a closing tag% In between these ta$s are the ser,er9side scri!ts% Hou can insert ser,er9side scri!ts an#where in #our .eb !a$e99e,en inside 3=0 ta$s%
8ene+it$ o+ P:P .hene,er we think off to be$in an# website, we consider on se,eral as!ects of
;;
the site includin$ website desi$nin$, web de,elo!in$, web hostin$, its "aintenance, its fle-ibilit#, usabilit#, scalabilit# and how will it be eas# to handle and abo,e all the o,erall allocated bud$et for this site% After considerin$ on these as!ects, if we decide to de,elo! a site that looks attracti,e, s"ooth runnin$, fast downloadin$, cost effecti,e and eas# to handle, we will definitel# 5eroed on P P, one of the "ost !o!ular web de,elo!"ent scri!ts a"on$ 4a,a, A<P %Net, %4<P and P P%% P P is an o!en source ser,er side !ro$ra""in$ lan$ua$e a,ailable at free of cost that can be $et easil# fro" the "arket% Its codin$ st#le is 6uiet eas# to understandable and it is ,er# efficient on "ulti9!latfor"s like .indows, 0inu-, and BNIL etc% It is ,er# fle-ible but !owerful lan$ua$e, "ost suitable for de,elo!in$ d#na"ic web !a$es% Nowada#s de,elo!in$ d#na"ic websites are in the hu$e de"and due to its s!ecific characteristics like it auto"aticall# refreshes and does not need to "ake "uch chan$es "anuall#% In the recent de,elo!"ent, P P has $rown enou$h to fulfill the re6uire"ents of the clients, se,eral web tasks can now be easil# !erfor" usin$ P P that was not !ossible earlier% )or e-a"!le now we can de,elo! fro" s"all websites to $iant business and or$ani5ational websites, infor"ati,e foru"s, chattin$ !latfor"s, +@= solutions, e9co""erce sho!!in$ carts, co""unit# websites, e9business, sho!!in$ carts and $i$antic database dri,en sites% =oreo,er, data
handin$ has also been !rett# hand# in P P in which the !ro$ra""ers can
;2
easil# store data, seriali5e, creatin$ cookies, calculatin$ ,iewers b# cookies and sessions and e-cellent file "ana$e"ent s#ste"% In ter"s of ad,anta$e in runnin$, P P does not !ut strain on ser,ers% It uses its own inbuilt "e"or# s!ace that decreases the workload fro" the ser,ers and the !rocessin$ s!eed auto"aticall# enhances% Its scri!t is o!ti"i5ed to "ake the ser,erFs /ob easier, thus nowada#s the uses of P P is bein$ !o!ular a"on$ the !ro$ra""ers% P P has also u!!er hand in runnin$ "ulti"edia files as P P is not "uch de!endent u!on e-ternal !lu$9ins to run the !ro$ra"s% It is e-ecuted e-clusi,el# b# ser,er and therefore need nothin$ fro" the end users% P P "ust be installed on the ser,er and ser,er !arses the code at its source, e-ecutes and sends it !ro!erl# send !ro!erl# for"atted ht"l to the client co"!uter% 3he userFs browser onl# sees code it understands% And, final in ter"s of Cud$et, which is the "ost crucial !art of the software de,elo!"ent es!eciall# for the s"all business users who wants to de,elo! "one# "akin$ websites to earn thick !rofit in "ini"u" in,est"ents% 3he li"itation of bud$et is the bi$$est obstacle for s"all business!ersons% )or those, P P is the ke# solution as it is a,ailable at free of cost under P P Deneral Public 0icense and "ost of its associati,e re6uired softwareFs like =#<M0, 3e-t ?ditors and A!ache <er,er are also freel# a,ailable, so it !ro,es
;3
,er# cost effecti,e for the de,elo!ers% owe,er, in ter"s of !erfor"ance it is si"ilar efficient like other !ro$ra""in$ lan$ua$es of sa"e cate$or#%
Preparing to code Hour en,iron"ent for codin$ P P a!!lications should ideall# contain these tools: an I&? (inte$rated de,elo!"ent en,iron"ent* for writin$ and debu$$in$ P P scri!tsN a si"ulated ser,er for testin$ de!lo#"ent of the scri!tsN and a reference source listin$ the detailed !ara"eters needed for all P P functions% Hou can $et the last of those features easil# b# surfin$ to P P%net, the ho"e
;4
there% 3he docs include sa"!le code, links to rele,ant resources, and contributed co""ents fro" P P users, whose real9world e-!eriences in P P can "ake the difference between code that works and doesn8t work%
Integrated development environment It8s !ossible to code P P scri!ts in a !lain te-t editor, but #our de,elo!"ent ti"e will be "uch shorter and #our de,elo!"ent e-!erience will be "uch ha!!ier, if #ou instead t#!e #our code within an inte$rated de,elo!"ent en,iron"ent (I&?*%
A P P I&? will !oint out s#nta- errors as soon as #ou "ake the", so #ou8re not wastin$ ti"e huntin$ down such errors after #ou8,e u!loaded a scri!t to #our ser,er% An I&? will also clean (2tid#O* and for"at #our code, so all the braces and !arentheses line u! nicel#% If #ou8,e e,er tried fi-in$ un"atched !arentheses errors usin$ a !lain te-t editor, #ou know how ,ital this feature is% An I&? will also ha,e a feature e6ui,alent to =icrosoft8s Intellisense, which dis!la#s !o!9u! "enus that list the !ara"eters and descri!tion of the P P function #ou8re currentl# t#!in$% 3his feature deletes the need for
;5
constant switchin$ back and forth between #our browser and de,elo!"ent windows to consult the P P API% At least two or$ani5ations offer free I&?s for P P: NetCeans%or$ and ?cli!se%or$%
The PHP runtime environment <ince P P runs on a ser,er, $ettin$ a si"ulated ser,er for #our de,elo!"ent en,iron"ent will hel! #ou see how #our P P scri!t runs when #ou de!lo# it on the !roduction ser,er% Hou could install /ust the ser,er software on #our hard dri,e, but #our workflow will be s"oother if #ou inte$rate the installation with #our I&?% 3he hel! !a$es for the NetCeans I&? ha,e detailed instructions on installin$ an i"!le"entation of A!ache ser,er, and confi$urin$ it to work with NetCeans% Using PHP on Webserve ;% Can$ lines are not re6uired and will be i$nored if !resent% (3his infor"ation is !ro,ided for historical !ur!oses as the !re,ious web ser,er en,iron"ent re6uired ban$ lines%* 2% Hou should use %!h! as the file e-tension% 3his refers to onl# P P files e-ecuted directl# ,ia a B@0% Include files "a# use other e-tensions, such as %inc% If #ou ha,e P P files that currentl# use %!h!4 e-tensions, it is stron$l# reco""ended that #ou "o,e toward usin$ %!h! for these
;>
instead% 3% 3he scri!t "ust ha,e owner e-ecute !er"ission% )or best securit#, we stron$l# reco""end usin$ !er"issions set to ='' (onl# owner has read, write, and e-ecute !ri,ile$es*% )or e-a"!le, where Gscri!t%!h!G is the na"e of the file containin$ the scri!t, chan$e the file !er"ission as follows% chmod 700 script.php
"nder$tanding P:P Data Ty!e$ Variables can store data of different t#!es, and different t#!es of data can do different thin$s% )or e-a"!le, #ou can add ,ariables whose ,alues are nu"bers (; P 2*, but addin$ ,ariables whose ,alues are characters (a P b* doesnFt "ake "uch sense% Hou can store the followin$ si"!le t#!es of data in P P ,ariables:
/nteger> A whole nu"ber (no fractions*, such as Q43, 0, ;, 27, or 5438% 3he ran$e of inte$ers that is allowed ,aries, de!endin$ on #our o!eratin$ s#ste", but in $eneral, #ou can usuall# use an# nu"ber fro" Q2 billion u! to P2 billion% 7loating !oint n mber> A nu"ber (usuall# not a whole nu"ber* that includes deci"al !laces, such as 5%24 or ;23%45>78E% 3his is often called a real number or a float. Chara,ter $tring> A series of sin$le characters, such as hello% 3here is no !ractical li"it on the len$th of a strin$% 8oolean> A 3@B? or )A0<? ,alue%
Coolean data t#!es re!resent two !ossible states R 3@B? or )A0<?% Coolean
;7
,alues are used "ainl# to co"!are conditions for use in conditional state"ents% )or e-a"!le, P P e,aluates an e-!ression, such as ?a @ ?b, and the outco"e is either 3@B? or )A0<?% P P considers the followin$ ,alues )A0<? :
3he strin$ )A0<? (can be u!!er9 or lowercase* 3he inte$er 0 3he float 0%0 An e"!t# strin$ 3he one9character strin$ 0
An# other ,alues in a Coolean ,ariable are considered 3@B?% If #ou echo a Coolean ,ariable, the ,alue )A0<? dis!la#s as a blank strin$N the ,alue 3@B? echoes as a ;% )unctions often return a Coolean ,ariable that #ou can test to see whether the function succeeded or failed% Assigning data types =ost other lan$ua$es re6uire that #ou initiali5e the ,ariable before usin$ it, s!ecif#in$ what t#!e of data it can hold, but P P is "ore infor"al% Hou donFt need to tell P P which data t#!e is in a ,ariable% P P e,aluates the data when #ou assi$n it to the ,ariable and then stores it as the a!!ro!riate t#!e% Denerall#, this is hel!ful% P P $uesses the data t#!e !rett# accuratel#%
;8
P P also con,erts data when it needs to be con,erted% )or e-a"!le, if #ou ha,e the followin$ state"ents, P P con,erts the data t#!es with no !roble": SfirstNu"ber T ;N U P P stores it as an inte$er SsecondNu"ber T ;%;N U P P stores it as a float Ssu" T SfirstNu"ber P SsecondNu"berN 3echnicall#, the third state"ent is not !ossible because the data to be added are different t#!es% owe,er, P P con,erts the inte$er to a float so that the addition !roceeds s"oothl#% 3his ha!!ens auto"aticall# and in,isibl# and is ,er# hel!ful% Type casting An a rare occasion, P P $uesses badl# when it stores the data% Hou "i$ht need to do so"ethin$ with a ,ariable, and P P wonFt let #ou because the data is the wron$ t#!e% In such a case, #ou can s!ecif# how #ou want P P to store the
data, rather than let P P decide for itself% 3his is called type casting. 3o s!ecif# a !articular t#!e, use a state"ent like one of the followin$: Snewint T (int* S,ar;N Snewfloat T (float* S,ar;N Snewstrin$ T (strin$* S,ar;N 3he ,alue in the ,ariable on the ri$ht side of the e6ual si$n is stored in the ,ariable on the left side as the s!ecified t#!e% <o the ,alue in ?#ar4 is stored in ?ne9int as an inte$er, as s!ecified b# (int)% Ce careful when doin$ t#!e casts% <o"eti"es #ou can $et une-!ected results%
;E
)or e-a"!le, when #ou cast a float into an inte$er, it loses its deci"al !laces% 3o do this, P P rounds the float toward 0% )or e-a"!le, if ?n mber A 4.B and #ou cast it into an inte$er R ?ne9n mber A (int) ?n mber R ?ne9n mber will e6ual ;% Hou can find out the data t#!e of a ,ariable b# usin$ a state"ent like the followin$: ,arVdu"!(S"#,ariable*N )or e-a"!le, the followin$ state"ent checks the data t#!e of ?,he,k#ar: ,arVdu"!(Scheck,ar*N 3he out!ut fro" this state"ent is int((=), which tells #ou that ?,he,k#ar contains the inte$er 27%
&atabases are useful when storin$ infor"ation cate$oricall#% A co"!an# "a# ha,e a database with the followin$ tables: G?"!lo#eesG, GProductsG, G+usto"ersG and GArdersG% -hy Databa$e 1eF ired; It is actuall# sur!risin$ how useful a database can be when used with a website% 3here are a hu$e ,ariet# of thin$s #ou can do when #ou interact the two, fro" dis!la#in$ si"!le lists to runnin$ a co"!lete website fro" a database% <o"e e-a"!les of P P and =#<M0 bein$ used to$ether are: Canner @otation% An this site, where each banner is, a P P scri!t is called% 3his o!ens a database and !icks a rando" banner fro" it to show the ,isitor% It also counts the nu"ber of ti"es the banner has been ,iewed and could, with a few chan$es, track clicks too% 3o add, chan$e or edit the banners all I ha,e to do is chan$e the database and the scri!t will !ick the correct banners for all the !a$es on the site%
)oru"s% undreds of foru"s ("essa$e boards* on the internet are run usin$ P P and =#<M0% 3hese are "uch "ore efficent than other s#ste"s that create a !a$e for each "essa$e and offer a wide ,ariet# of o!tions% All the !a$es in the foru" can be u!dated b# chan$in$ one scri!t% &atabases% Ane 6uite ob,ious e-a"!le is sites which $et all there infor"ation fro" a database% )or e-a"!le <cri!t A,enue is run b# a few scri!ts, which $ain all their infor"ation fro" a lar$e
database% All the different scri!t cate$ories can be accessed in one scri!t b# /ust chan$in$ the B@0 to access a different !art of the database%
2;
.ebsites% If #ou ha,e a lar$e website and #ou want to chan$e the desi$n it can take a ,er# lon$ ti"e to u!date and u!load all the !a$es% .ith P P and =#<M0 #our whole website could be /ust one or two P P scri!ts% 3hese would access a =#<M0 database to $et the infor"ation for the !a$es% 3o u!date the websiteFs desi$n #ou would /ust ha,e to chan$e one !a$e%
-hat Do / 0eed; Hou onl# reall# need three thin$s to run P P scri!ts which access =#<M0 databases% )irstl#, #ou will, of course, need a webser,er% 3his can either be on a co"!uter of #our own or on a web host% An# web ser,er software should work with P P and =#<M0 but the best to use is A!ache, which is free% P P also needs to be installed on the ser,er% If it is not alread# installed #ou can install it (or ask #our web host to install it*% It can be downloaded fro" P P and is also free% If #ou are not sure if #ou ha,e P P installed I will show #ou a wa# to check it later% )inall#, #ou will also re6uire =#<M0% 3his is the actual database software% Hou can also use "ost other t#!es of database (<M0, Aracle etc%* but as this is a P P7=#<M0 tutorial I will deal /ust now with the
=#<M0 database (althou$h the co""ands used here will also work with <M0 databases*% As with the other software #ou need, =#<M0 is free and can be downloaded fro" the =#<M0 ho"e!a$e% If #ou are not sure if #ou ha,e =#<M0 installed, I will show #ou how to check later%
22
If #ou cannot install (or #our web host wonFt allow* P P and =#<M0 #ou can still use another web host% )reedo"2<urf are a free (banner su!!orted* web host and su!!ort P P and ha,e =#<M0 installed% ost@ocket are an e-cellent web host and can offer #ou 300=C of s!ace with P P, =#<M0 and loads of other e-tras for under S;0 a "onth%
Te$ting 7or P:P and MySE% 3here is a si"!le test for both P P and =#<M0% A!en a te-t editor and t#!e in the followin$:
23
IK !h!info(*N KJ and sa,e it as !h!info%!h! Now u!load this to #our webs!ace and $o to i t in #our browser% If #ou ha,e P P installed #ou will see a hu$e !a$e with all the details of #our P P installation on it% Ne-t, scroll down throu$h all this infor"ation% If #ou find a section about =#<M0 then #ou
will know that =#<M0 is installed% Managing Databa$e$ Althou$h all the database ad"inistrati,e o!tions can be done throu$h P P scri!ts, I stron$l# su$$est installin$ a co!# of P P=#Ad"in on #our ser,er% It is an e-cellent free set of scri!ts that will !ro,ide #ou with an ad"inistrati,e interface for #our =#<M0 database(s*% Hou can add, re"o,e, edit, backu! and ,iew #our databases usin$ this and it is es!eciall# useful when troubleshootin$ #our databases%
P:P Ar,hite,t re
24
Proto,ol layer
25
Protocol la#er i"!le"ents the e-ternal interface to <M0 <er,er% All o!erations that can be in,oked on <M0 <er,er are co""unicated to it ,ia a =icrosoft9defined for"at, called 3abular &ata <trea" (3&<*% 3&< is an a!!lication la#er !rotocol, used to transfer data between a database ser,er and a client% Initiall# desi$ned and de,elo!ed b# <#base Inc% for their <#base <M0 <er,er relational database en$ine in ;E84, and later b# =icrosoft in =icrosoft <M0 <er,er, 3&< !ackets can be encased in other !h#sical trans!ort de!endent !rotocols, includin$ 3+P7IP, Na"ed !i!es, and <hared "e"or#% +onse6uentl#, access to <M0 <er,er is a,ailable o,er these !rotocols% In addition, the <M0 <er,er API is also e-!osed o,er bando web ser,ices% Data $torage 3he "ain unit of data stora$e is a database, which is a collection of tables with t#!ed colu"ns% <M0 <er,er su!!orts different data t#!es, includin$ !ri"ar# t#!es such as Inte$er, )loat, &eci"al, +har (includin$ character strin$s*, Varchar (,ariable len$th character strin$s*, binar# (for unstructured blobs of data*, 3e-t (for te-tual data* a"on$ others% It also allows user9 defined
2>
co"!osite t#!es (B&3s* to be defined and used% <M0 <er,er also "akes ser,er statistics a,ailable as ,irtual tables and ,iews (called &#na"ic =ana$e"ent Views or &=Vs*% A database can also contain other ob/ects includin$ ,iews, stored !rocedures, inde-es and constraints, in addition to tables, alon$ with a transaction lo$% A <M0 <er,er database can contain a "a-i"u" of 23; ob/ects, and can s!an "ulti!le A<9le,el files with a "a-i"u" file si5e of 220 3C%W;7X 3he data in the database are stored in !ri"ar# data files with an e-tension %"df% <econdar# data files, identified with an %ndf e-tension, are used to store o!tional "etadata% 0o$ files are identified with the %ldf e-tension% <tora$e s!ace allocated to a database is di,ided into se6uentiall# nu"bered !a$es, each 8 1C in si5e% A !a$e is the basic unit of I7A for <M0 <er,er o!erations% A !a$e is "arked with a E>9b#te header which stores "etadata about the !a$e includin$ the !a$e nu"ber, !a$e t#!e, free s!ace on the !a$e and the I& of the ob/ect that owns it% Pa$e t#!e defines the data contained in the !a$e 9 data stored in the databaseN inde-, allocation "a! which holds infor"ation about how !a$es are allocated to tables and inde-es, chan$e "a! which holds infor"ation about the chan$es "ade to other !a$es since last backu! or lo$$in$, or contain lar$e data t#!es such as i"a$e or te-t% .hile !a$e is the basic unit of an I7A o!eration, s!ace is actuall# "ana$ed in ter"s
27
of an e-tent which consists of 8 !a$es% A database ob/ect can either s!an all 8 !a$es in an e-tent (Gunifor" e-tentG* or share an e-tent with u! to 7 "ore ob/ects (G"i-ed e-tentG*% A row in a database table cannot s!an "ore than one !a$e, so is li"ited to 8 1C in si5e% owe,er, if the data e-ceeds 8 1C
and the row contains Varchar or Varbinar# data, the data in those colu"ns are "o,ed to a new !a$e (or !ossible a se6uence of !a$es, called Allocation unit* and re!laced with a !ointer to the data% )or !h#sical stora$e of a table, its rows are di,ided into a series of !artitions (nu"bered ; to n*% 3he !artition si5e is user definedN b# default all rows are in a sin$le !artition% A table is s!lit into "ulti!le !artitions in order to s!read a database o,er a cluster% @ows in each !artition are stored in either C9tree or hea! structure% If the table has an associated inde- to allow fast retrie,al of rows, the rows are stored in9order accordin$ to their inde- ,alues, with a C9 tree !ro,idin$ the inde-% 3he data is in the leaf node of the lea,es, and other nodes storin$ the inde- ,alues for the leaf data reachable fro" the res!ecti,e nodes% If the inde- is non9clustered, the rows are not sorted accordin$ to the inde- ke#s% An inde-ed ,iew has the sa"e stora$e structure as an inde-ed table% A table without an inde- is stored in an unordered hea! structure% Coth
28
8 ++er management <M0 <er,er buffers !a$es in @A= to "ini"i5e disc I7A% An# 8 1C !a$e can be buffered in9"e"or#, and the set of all !a$es currentl# buffered is called the buffer cache% 3he a"ount of "e"or# a,ailable to <M0 <er,er decides how "an# !a$es will be cached in "e"or#% 3he buffer cache is "ana$ed b# the Cuffer =ana$er% ?ither readin$ fro" or writin$ to an# !a$e co!ies it to the buffer cache% <ubse6uent reads or writes are redirected to the in9"e"or# co!#, rather than the on9disc ,ersion% 3he !a$e is u!dated on the disc b# the Cuffer =ana$er onl# if the in9"e"or# cache has not been referenced for so"e ti"e% .hile writin$ !a$es back to disc, as#nchronous I7A is used whereb# the I7A o!eration is done in a back$round thread so that other o!erations do not ha,e to wait for the I7A o!eration to co"!lete% ?ach !a$e is written alon$ with its checksu" when it is written% .hen readin$ the !a$e back, its checksu" is co"!uted a$ain and "atched with the stored ,ersion to ensure the !a$e has not been da"a$ed or ta"!ered with in the "ean ti"e%
2E
YYYYY% %ogging and Tran$a,tion <M0 <er,er ensures that an# chan$e to the data is A+I&9co"!liant, i%e%, it uses transactions to ensure that an# o!eration either totall# co"!letes or is undone if fails, but ne,er lea,e the database in an inter"ediate state% Bsin$
transactions, a se6uence of actions can be $rou!ed to$ether, with the $uarantee that either all actions will succeed or none will% <M0 <er,er i"!le"ents transactions usin$ a write9ahead lo$% An# chan$es "ade to an# !a$e will u!date the in9"e"or# cache of the !a$e, si"ultaneousl# all the o!erations !erfor"ed will be written to a lo$, alon$ with the transaction I& which the o!eration was a !art of% ?ach lo$ entr# is identified b# an increasin$ 0o$ <e6uence Nu"ber (0<N* which ensures that no e,ent o,erwrites another% <M0 <er,er ensures that the lo$ will be written onto the disc before the actual !a$e is written back% 3his enables <M0 <er,er to ensure inte$rit# of the data, e,en if the s#ste" fails% If both the lo$ and the !a$e were written before the failure, the entire data is on !ersistent stora$e and inte$rit# is ensured% If onl# the lo$ was written (the !a$e was either not written or not written co"!letel#*, then the actions can be read fro" the lo$ and re!eated to restore inte$rit#% If the lo$ wasnFt written, then also the
30
inte$rit# is "aintained, e,en thou$h the database is in a state when the transaction as if ne,er occurred% If it was onl# !artiall# written, then the actions associated with the unfinished transaction are discarded% <ince the lo$ was onl# !artiall# written, the !a$e is $uaranteed to ha,e not been written, a$ain ensurin$ data inte$rit#% @e"o,in$ the unfinished lo$ entries effecti,el# undoes the transaction% <M0 <er,er ensures consistenc#
between the lo$ and the data e,er# ti"e an instance is restarted% Con, rren,y and lo,king <M0 <er,er allows "ulti!le clients to use the sa"e database concurrentl#% As such, it needs to control concurrent access to shared data, to ensure data inte$rit# 9 when "ulti!le clients u!date the sa"e data, or clients atte"!t to read data that is in the !rocess of bein$ chan$ed b# another client% <M0 <er,er !ro,ides two "odes of concurrenc# control: !essi"istic concurrenc# and o!ti"istic concurrenc#% .hen !essi"istic concurrenc# control is bein$ used, <M0 <er,er controls concurrent access b# usin$ locks% 0ocks can be either shared or e-clusi,e% ?-clusi,e lock $rants the user e-clusi,e access to the data 9 no other user can access the data as lon$ as the lock is held% <hared locks are used when so"e data is bein$ read 9 "ulti!le users can read fro" data locked with a shared lock, but not ac6uire an e-clusi,e lock% 3he latter
3;
would ha,e to wait for all shared locks to be released% 0ocks can be a!!lied on different le,els of $ranularit# 9 on entire tables, !a$es, or e,en on a !er9 row basis on tables% )or inde-es, it can either be on the entire inde- or on inde- lea,es% 3he le,el of $ranularit# to be used is defined on a !er9database basis b# the database ad"inistrator% .hile a fine $rained lockin$ s#ste" allows "ore users to use the table or inde- si"ultaneousl#, it re6uires "ore resources% <o it does not auto"aticall# turn into hi$her !erfor"in$ solution% <M0 <er,er also includes two "ore li$htwei$ht "utual e-clusion solutions 9 latches and
s!inlocks 9 which are less robust than locks but are less resource intensi,e% <M0 <er,er uses the" for &=Vs and other resources that are usuall# not bus#% <M0 <er,er also "onitors all worker threads that ac6uire locks to ensure that the# do not end u! in deadlocks 9 in case the# do, <M0 <er,er takes re"edial "easures, which in "an# cases is to kill one of the threads entan$led in a deadlock and rollback the transaction it started% 3o i"!le"ent lockin$, <M0 <er,er contains the 0ock =ana$er% 3he 0ock =ana$er "aintains an in9"e"or# table that "ana$es the database ob/ects and locks, if an#, on the" alon$ with other "etadata about the lock% Access to an# shared ob/ect is "ediated b# the lock "ana$er, which either $rants access to the resource or blocks it%
32
<M0 <er,er also !ro,ides the o!ti"istic concurrenc# control "echanis", which is si"ilar to the "ulti,ersion concurrenc# control used in other databases% 3he "echanis" allows a new ,ersion of a row to be created whene,er the row is u!dated, as o!!osed to o,erwritin$ the row, i%e%, a row is additionall# identified b# the I& of the transaction that created the ,ersion of the row% Coth the old as well as the new ,ersions of the row are stored and "aintained, thou$h the old ,ersions are "o,ed out of the database into a s#ste" database identified as 3e"!db% .hen a row is in the !rocess of bein$ u!dated, an# other re6uests are not blocked (unlike lockin$* but are e-ecuted on the older ,ersion of the row% If the other re6uest is an u!date state"ent, it
will result in two different ,ersions of the rows 9 both of the" will be stored b# the database, identified b# their res!ecti,e transaction I&s%
Data retrie#al 3he "ain "ode of retrie,in$ data fro" an <M0 <er,er database is 6uer#in$ for it% 3he 6uer# is e-!ressed usin$ a ,ariant of <M0 called 39<M0, a dialect =icrosoft <M0 <er,er shares with <#base <M0 <er,er due to its le$ac#% 3he 6uer# declarati,el# s!ecifies what is to be retrie,ed% It is !rocessed b# the 6uer# !rocessor, which fi$ures out the se6uence of ste!s that will be necessar# to retrie,e the re6uested data% 3he se6uence of actions necessar# to e-ecute a 6uer# is called a 6uer# !lan% 3here "i$ht be "ulti!le wa#s to
33
!rocess the sa"e 6uer#% )or e-a"!le, for a 6uer# that contains a /oin state"ent and a select state"ent, e-ecutin$ /oin on both the tables and then e-ecutin$ select on the results would $i,e the sa"e result as selectin$ fro" each table and then e-ecutin$ the /oin, but result in different e-ecution !lans% In such case, <M0 <er,er chooses the !lan that is su!!osed to #ield the results in the shortest !ossible ti"e% 3his is called 6uer# o!ti"i5ation and is !erfor"ed b# the 6uer# !rocessor itself% <M0 <er,er includes a cost9based 6uer# o!ti"i5er which tries to o!ti"i5e on the cost, in ter"s of the resources it will take to e-ecute the 6uer#% Di,en a 6uer#, the 6uer# o!ti"i5er looks at the database sche"a, the database statistics
and the s#ste" load at that ti"e% It then decides which se6uence to access the tables referred in the 6uer#, which se6uence to e-ecute the o!erations and what access "ethod to be used to access the tables% )or e-a"!le, if the table has an associated inde-, whether the inde- should be used or not 9 if the inde- is on a colu"n which is not uni6ue for "ost of the colu"ns (low Gselecti,it#G*, it "i$ht not be worthwhile to use the inde- to access the data% )inall#, it decides whether to e-ecute the 6uer# concurrentl# or not% .hile a concurrent e-ecution is "ore costl# in ter"s of total !rocessor ti"e, because the e-ecution is actuall# s!lit to different !rocessors "i$ht "ean it will
34
e-ecute faster% Ance a 6uer# !lan is $enerated for a 6uer#, it is te"!oraril# cached% )or further in,ocations of the sa"e 6uer#, the cached !lan is used% Bnused !lans are discarded after so"e ti"e% <M0 <er,er also allows stored !rocedures to be defined% <tored !rocedures are !ara"eteri5ed 39<M0 6ueries, that are stored in the ser,er itself (and not issued b# the client a!!lication as is the case with $eneral 6ueries*% <tored !rocedures can acce!t ,alues sent b# the client as in!ut !ara"eters, and send back results as out!ut !ara"eters% 3he# can also call other stored !rocedures, and can be selecti,el# !ro,ided access to% Bnlike other 6ueries, stored !rocedures ha,e an associated na"e, which is used at runti"e to resol,e into the actual 6ueries% Also because the code need not be sent fro" the client
e,er# ti"e (as it can be accessed b# na"e*, it reduces network traffic and so"ewhat i"!ro,es !erfor"ance% ?-ecution !lans for stored !rocedures are also cached as necessar#% SE% C%1 =ain article: <M0 +0@
35
=icrosoft <M0 <er,er 2005 includes a co"!onent na"ed <M0 +0@ ,ia which it inte$rates with P P )ra"ework% Bnlike "ost other a!!lications that use )ra"ework, <M0 <er,er itself hosts the P P)ra"ework runti"e, i%e%, "e"or#, threadin$ and resource "ana$e"ent re6uire"ents of
P P)ra"ework are satisfied b# <M0A< itself, rather than the underl#in$ .indows o!eratin$ s#ste"% <M0A< !ro,ides deadlock detection and resolution ser,ices for P Pcode as well% .ith <M0 +0@, stored !rocedures and tri$$ers can be written in an# "ana$ed P Plan$ua$e, includin$ +U and VC%N?3% =ana$ed code can also be used to define B&3s which can be !ersisted in the database% =ana$ed code is co"!iled to P Passe"blies and after bein$ ,erified for t#!e safet#, re$istered at the database% After that, the# can be in,oked like an# other !rocedure%W24X owe,er, onl# a subset of the
Case +lass 0ibrar# is a,ailable, when runnin$ code under <M0 +0@% =ost APIs relatin$ to user interface functionalit# are not a,ailable%
.hen writin$ code for <M0 +0@, data stored in <M0 <er,er databases can be accessed usin$ the P P=HA&=IN APIs like an# other "ana$ed a!!lication that accesses <M0 <er,er data% owe,er, doin$ that creates a new database session, different fro" the one in which the code is e-ecutin$% 3o a,oid this, <M0 <er,er !ro,ides so"e enhance"ents to the P P=HA&=IN !ro,ider that allows the connection to be redirected to the sa"e session which alread# hosts the runnin$ code% <uch connections are called conte-t
3>
connections and are set b# settin$ conte-t connection !ara"eter to true in the connection strin$% <M0 <er,er also !ro,ides se,eral other enhance"ents to the P P=HA&=IN API, includin$ classes to work with tabular data or a sin$le row of data as well as classes to work with internal "etadata about the data stored in the database% It also !ro,ides access to the L=0 features in <M0 <er,er, includin$ LMuer# su!!ort% 3hese enhance"ents are also a,ailable in 39<M0 Procedures in conse6uence of the introduction of the new L=0 Ser#i,e$ <M0 <er,er also includes an assort"ent of add9on ser,ices% .hile these are not essential for the o!eration of the database s#ste", these !ro,ide ,alue added ser,ices on to! of the core database "ana$e"ent s#ste"% 3hese ser,ices either run as a !art of so"e <M0 <er,er co"!onent or out9of9 !rocess as .indows <er,ice and !resents their own API to control and interact Ser#i,e 8roker 3he <er,ice Croker, which runs as a !art of the database en$ine, !ro,ides a reliable "essa$in$ and "essa$e 6ueuin$ !latfor" for <M0 <er,er a!!lications% Bsed inside an instance, it is used to !ro,ide an as#nchronous !ro$ra""in$ en,iron"ent% )or cross instance a!!lications, <er,ice Croker co""unicates with the"% &atat#!e (6uer#,,alue,nodes functions*%
o,er 3+P7IP and allows the different co"!onents to be s#nchroni5ed to$ether, ,ia e-chan$e of "essa$es% YYYYYYYYYYYYYYYYYY 1e!li,ation Ser#i,e$
37
<M0 <er,er @e!lication <er,ices are used b# <M0 <er,er to re!licate and s#nchroni5e database ob/ects, either in entiret# or a subset of the ob/ects !resent, across re!lication a$ents, which "i$ht be other database ser,ers across the network, or database caches on the client side% @e!lication follows a !ublisher7subscriber "odel, i%e%, the chan$es are sent out b# one database ser,er (G!ublisherG* and are recei,ed b# others (GsubscribersG*% <M0 <er,er su!!orts three different t#!es of re!lication: Tran$a,tion re!li,ation ?ach transaction "ade to the !ublisher database ("aster database* is s#nced out to subscribers, who u!date their databases with the transaction% 3ransactional re!lication s#nchroni5es databases in near real ti"e% Merge re!li,ation +han$es "ade at both the !ublisher and subscriber databases are tracked, and !eriodicall# the chan$es are s#nchroni5ed bi9directionall# between the !ublisher and the subscribers% If the sa"e data has been "odified differentl# in both the !ublisher and the subscriber databases, s#nchroni5ation will result in a conflict which has to be resol,ed 9 either "anuall# or b# usin$ !re9 defined !olicies%
Sna!$hot re!li,ation
38
<na!shot re!lication !ublished a co!# of the entire database (the then9 sna!shot of the data* and re!licates out to the subscribers% )urther chan$es to the sna!shot are not tracked% Analy$i$ Ser#i,e$ =ain article: <M0 <er,er Anal#sis <er,ices <M0 <er,er Anal#sis <er,ices adds A0AP and data "inin$ ca!abilities for <M0 <er,er databases% 3he A0AP en$ine su!!orts =A0AP, @A0AP and A0AP stora$e "odes for data% Anal#sis <er,ices su!!orts the L=0 for Anal#sis standard as the underl#in$ co""unication !rotocol% 3he cube data can be accessed usin$ =&L 6ueries% &ata "inin$ s!ecific functionalit# is e-!osed ,ia the &=L 6uer# lan$ua$e% Anal#sis <er,ices includes ,arious al$orith"s 9 &ecision trees, clusterin$ al$orith", Nai,e Ca#es al$orith", ti"e series anal#sis, se6uence clusterin$ al$orith", linear and lo$istic re$ression anal#sis, and neural networks 9 for use in data "inin$%
1e!orting Ser#i,e$ =ain article: <M0 <er,er @e!ortin$ <er,ices <M0 <er,er @e!ortin$ <er,ices is a re!ort $eneration en,iron"ent for data $athered fro" <M0 <er,er databases% It is ad"inistered ,ia a web interface% @e!ortin$ ser,ices features a web ser,ices interface to su!!ort the de,elo!"ent of custo" re!ortin$ a!!lications% @e!orts are created as @&0 files%
3E
@e!orts can be desi$ned usin$ recent ,ersions of P P with Cusiness Intelli$ence &e,elo!"ent <tudio, installed or with the included @e!ort Cuilder% Ance created, @&0 files can be rendered in a ,ariet# of for"ats includin$ ?-cel, P&), +<V, L=0, 3I)) (and other i"a$e for"ats, and 3=0 .eb Archi,e%
0oti+i,ation Ser#i,e$ =ain article: <M0 <er,er Notification <er,ices Ari$inall# introduced as a !ost9release add9on for <M0 <er,er 2000, Notification <er,ices was bundled as !art of the =icrosoft <M0 <er,er !latfor" for the first and onl# ti"e with <M0 <er,er 2005%with <6l <er,er 2005, <M0 <er,er Notification <er,ices is a "echanis" for $eneratin$ data9 dri,en notifications, which are sent to Notification <er,ices subscribers% A subscriber re$isters for a s!ecific e,ent or transaction (which is re$istered on the database ser,er as a tri$$er*N when the e,ent occurs, Notification <er,ices can use one of three "ethods to send a "essa$e to the subscriber infor"in$ about the occurrence of the e,ent% 3hese "ethods include <=3P, <AAP, or b# writin$ to a file in the file s#ste"% YYYYYYYYYYYYYYYY
/ntegration Ser#i,e$ =ain article: <M0 <er,er Inte$ration <er,ices <M0 <er,er Inte$ration <er,ices is used to inte$rate data fro" different data sources% It is used for the ?30 ca!abilities for <M0 <er,er for data warehousin$ needs% Inte$ration <er,ices includes DBI tools to build data e-traction workflows inte$ration ,arious functionalit# such as e-tractin$ data
40
fro" ,arious sources, 6uer#in$ data, transfor"in$ data includin$ a$$re$atin$, du!lication and "er$in$ data, and then loadin$ the transfor"ed data onto other sources, or sendin$ e9"ails detailin$ the status of the o!eration%
7 ll TeGt Sear,h Ser#i,e =ain article: <M0 <er,er )ull 3e-t <earch 3he <M0 <er,er )ull 3e-t <earch ser,ice architecture<M0 <er,er )ull 3e-t <earch ser,ice is a s!eciali5ed inde-in$ and 6uer#in$ ser,ice for unstructured te-t stored in <M0 <er,er databases% 3he full te-t search indecan be created on an# colu"n with character based te-t data% It allows for words to be searched for in the te-t colu"ns% .hile it can be !erfor"ed with the <M0 0I1? o!erator, usin$ <M0 <er,er )ull 3e-t <earch ser,ice can be "ore efficient% )ull 3e-t <earch ()3<* allows for ine-act "atchin$ of the source strin$, indicated b# a @ank ,alue which can ran$e fro" 0 to ;000 9 a hi$her rank "eans a "ore accurate "atch% It also allows lin$uistic "atchin$ (Ginflectional searchG*, i%e%, lin$uistic ,ariants of a word (such as a ,erb in a different tense* will also be a "atch for a $i,en word (but with a lower rank than an e-act "atch*% Pro-i"it# searches are also su!!orted, i%e%, if the words searched for do not occur in the se6uence the# are s!ecified in the 6uer# but are near each other, the# are also considered a "atch% 39<M0 e-!oses s!ecial o!erators that can be used to access the )3< ca!abilities% 3he )ull 3e-t <earch en$ine is di,ided into two !rocesses 9 the )ilter &ae"on !rocess ("sftefd%e-e* and the <earch !rocess ("sftes6l%e-e*% 3hese !rocesses interact with the <M0 <er,er% 3he <earch !rocess includes the
4;
inde-er (that creates the full te-t inde-es* and the full te-t 6uer# !rocessor% 3he inde-er
scans throu$h te-t colu"ns in the database% It can also inde- throu$h binar# colu"ns, and use i)ilters to e-tract "eanin$ful te-t fro" the binar# blob (for e-a"!le, when a =icrosoft .ord docu"ent is stored as an unstructured binar# file in a database*% 3he i)ilters are hosted b# the )ilter &ae"on !rocess% Ance the te-t is e-tracted, the )ilter &ae"on !rocess breaks it u! into a se6uence of words and hands it o,er to the inde-er% 3he inde-er filters out noise words, i%e%, words like A, And etc, which occur fre6uentl# and are not useful for search% .ith the re"ainin$ words, an in,erted inde- is created, associatin$ each word with the colu"ns the# were found in% <M0 <er,er itself includes a Datherer co"!onent that "onitors chan$es to tables and in,okes the inde-er in case of u!dates% .hen a full te-t 6uer# is recei,ed b# the <M0 <er,er 6uer# !rocessor, it is handed o,er to the )3< 6uer# !rocessor in the <earch !rocess% 3he )3< 6uer# !rocessor breaks u! the 6uer# into the constituent words, filters out the noise words, and uses an inbuilt thesaurus to find out the lin$uistic ,ariants for each word% 3he words are then 6ueried a$ainst the in,erted inde- and a rank of their accurateness is co"!uted% 3he results are returned to the client ,ia the <M0 <er,er !rocess %
YYYYYYYYYYYYYYYYYYYYYYY%%
42
Software Requirement:
)ront ?nd Cack ?nd A!eratin$ <#ste" .eb <er,er &esi$nin$ 3ools P P =#<6l .indows L!, N370inuA!ache =arco=edia &rea"wea,er
43
Hardware Requirements:
3he followin$ are the ardware @e6uire"ents for de,elo!in$ web !ortal 2Job Seeker3:
0 mber ;% 2%
De$,ri!tion Processor
1e,ommended ; $i$ahert5 (D 5* !rocessor 5;2 =b .indows LP Professional ->4 An# DBI 0inu&istribution
@A=
25> =b
3%
A!eratin$ <#ste"
4% 5% >%
800 L >00, 25> colors =icrosoft "ouse or co"!atible !ointin$ de,ice +o"bo +&7&V& @A= 0D 7 <a"sun$7 <on#
44
%ogin Detail
Confirmati on
4$t %e#el D7D>
3. 3.
Info
1.1 1.1
Record Record All All User User Details Details
1.3 1.3
Select Select the the Job Job City City
1.2 1.2
Record Record to to the the job job type type
1.4 1.4
Com!any /n+ormation
Company Information
2. 2.
Job S bmit
3.2 3.2
Submit Submit the the job job according according to to technology technology
3. 3.
Submit Submit the the Job Job
Relevant Data
3.1 3.1
Submit Submit the the job job according according to to city city
4>
Table
Table ! login " Field 1 email varchar(50) Table ! ne#u er ! Field 1 Field 2 Field 3 Field 4 Field 5 Field 6 u ername email pa repa $ue an varchar(50) varchar(50) varchar(50) varchar(50) varchar(Max) varchar(Max) Table Pro%e Field 1
E'pin(ear
Field 2 pa varchar(50)
ionalIn%o& Field 3
)alin*a+h
Field 2
E'pinmonth
Field 4
)alinThou and
Field 5
Indu
Field 6
Funcarea
Field 7
,obrole
Field 8
+e- +ill
Numeric(1 8, 0)
Varcha r(50)
Numeric (18, 0)
numeric(18, 0)
Varchar (50)
Varchar (50)
Varchar (50)
Varchar (50)
Field 2
varchar(50)
Field 3
varchar(50)
Field 4
varchar(50)
Field 5
datetime
Field 6
Field 7
Field 8
varchar(M !)
Field 3 name
varchar(50)
Field 4 phone
varchar(50)
Field 5 %a'
varchar(50)
Field 6 citvarchar(50)
Field 7 tate
varchar(50)
Field 8 t-pe
varchar(50)
email
varchar(50)
Field 2 de ign
varchar(50 )
Field 3 %rommonth
varchar(50)
Field 4 %rom-ear
numeric(18, 0)
Field 5 tomonth
varchar(50)
Field 6 to-ear
numeric(18, 0)
Field 7 ,obpro%ile
varchar(M !)
Table EducationalIn%o 47
Field 2 peceli/ation
varchar(50)
Field 3 in titute
varchar(50)
Field 4 (earo%grad
numeric(18, 0)
Field 2 headline
varchar(M !)
Field 3 %ilename
varchar(50)
Field 2 pa
varchar(50)
Field 3 name
varchar(50)
Field 4 email
varchar(50)
Field 5 date
numeric(18, 0)
Field 6 month
varchar(50)
Field 7 -ear
numeric(18, 0)
Field 8 tate
varchar(50)
Field 10 0obile
numeric(18, 0)
Field 11 areacode
numeric(18, 0)
Field 2 landline
numeric(18, 0)
Field 2 name
varchar(50)
Field 3 +ill
varchar(M !)
Field 4 ldate
datetime
Field 5 Pac+age
varchar(50)
Field 6 t-pe
varchar(50)
Field 7 e'p
varchar(50)
Field 8 reallocate
varchar(50)
Field 10 tate
varchar(50)
48
1 er 2ie#
)$&in F$rm *
4E
1egi$tration
50
5;
53
54
55
Conta,t $ >
5>
Sy$temAnaly$i$
Problem de+inition
57
3he basic ai" of !roble" definition is to obtain a clear understandin$ of needs of clients and users, what e-actl# is desired fro" the software and what are the constraints on the solution% In this !ro/ect sites which !ro,ide !latfor" for /obseekers is our client and the /obseekers and co"!anies will be the user of the software% 3he ai" of de,elo!in$ this !ro/ect is to auto "ate the functionin$ of the resu"es sub"ission and "aintainin$ the" and also !ro,ide the infor"ation of the recruit"ent b# co"!anies% 3he# wants to full# co"!uteri5e the works of recruit"ent, throu$h the# will be able to "ana$e the database of ,arious co"!anies% 3his s#ste" !ro,ides the ease to the user so that the# can easil# $et the infor"ation of ,acancies and their re6uire"ents sittin$ at a !lace and co"!anies can also recruit online and can co""unicate with users% All these factors !la# an i"!ortant role in /ob seekin$ and recruitin$%
58
3he final out!ut of the software is based u!on re6uire"ent anal#sis and s!ecification% )or s"aller !roble"s that can be co"!rehended the s!ecification acti,it# "i$ht co"e after the entire anal#sis is co"!leted% owe,er it is "ore likel# that !roble" anal#sis and s!ecification are done concurrentl#% All the infor"ation for a s!ecification co"es fro" anal#sis, here is the ,er# I"!ortant conce!t co"es that is <@<(<#ste" @e6uire"ent <!ecification*that defines each and e,er#thin$ on which client and de,elo!er relies so we can sa# that it is a deal docu"ent which defines the co"!lete s#ste" re6uire"ents that user wants and functionalit# accordin$ to the client% &e,elo!er de,elo!s software with kee!in$ in "ind the <@< !oints%
+o"!an# na"e and their re$istration id% Bser na"e and their infor"ation% &etails about ,acancies%
5E
Sear,hing Method
Accordin$ co"!an# na"e C# technolo$# C# co"!an# na"e C# co"!an# status C# user na"e first7last C# 6ualification C# date7e-!erience
-ater+all Model 3he si"!lest "odel is the waterfall "odel, which states that the !hases are or$ani5ed in linear order% In a t#!ical "odel, a !ro/ect be$ins with feasibilit# anal#sis% An successfull# de"onstratin$ the feasibilit# of a !ro/ect, the re6uire"ent anal#sis and !ro/ect !lannin$ be$ins% 3he desi$n starts after the re6uire"ent anal#sis is co"!lete, and codin$ be$ins after the desi$n is co"!lete% Ance the !ro$ra""in$ is co"!leted, the code is inte$rated and testin$ is done% An successful co"!letion of testin$ the s#ste" is installed%After the re$ular o!eration and "aintenance if the s#ste" takes !lace%
>0
0inear "odelin$ of acti,ities has so"e i"!ortant conse6uences: )irst, to clearl# identif# the end of !hase and the be$innin$ of the ne-t, so"e certification "echanis" has tobe e"!lo#ed at the end of the each !hase% 3his is usuall# done b# so"e ,erification and ,alidation%
3here are two basic assu"!tions for /ustif#in$ the linear orderin$ of !hases% ere two basic assu"!tions for /ustif#in$ the linear orderin$ of !hases in the "anner !ro!osed b# the waterfall "odel% A successful software !roduct is one that satisfies all the ob/ecti,es of the de,elo!"ent !ro/ect% 3hese ob/ecti,es include satisf#in$ the re6uire"ents and !erfor"in$ the de,elo!"ent within ti"e and cost constraints% )or "an# !ro/ects, the linear orderin$ of these !hases is clearl# the o!ti"u" wa# to or$ani5e thee acti,ities% %imitation$ o+ -ater+all Model> A lar$e !ro/ect "i$ht take a few #ears to co"!lete% It8s a docu"ent dri,en !rocess that re6uires for"al docu"ents at the end of each !hase% No backtrackin$ is !ossible% 3his "odel assu"es that the re6uire"ents of a s#ste" can be fro5en before the desi$n be$ins but for so"e s#ste"s, it is i"!ossible%
>;
Analy$i$ o+ Pro!o$ed Sy$tem> Anline /ob !ortal website is a distributed !ro/ect% Pro/ects can be cate$ori5ed in two wa#s: ;% 0ocal area network !ro/ects 2% &istributed !ro/ects 0ocal area network !ro/ects are those !ro/ects where a!!lications has to be in coo!erated in the local area network of the client i%e% with n its !re"ises onl#% In 0AN cases, ser,er is not re"otel# located and client access this a!!lication throu$h this network% )o-Pro, &21 or + and +PP% Cut distributed !ro/ects are those !ro/ects where a!!lication is re"otel# situated% In these kind of !ro/ects a!!lication is re"otel# situated on to the re"ote ser,er fro" where client "achine connects to the re"ote ser,er and a!!lication is downloaded on to client "achine% ere the 6uestion !latfor" inde!endence arises and we use technolo$ies like A<P%Net% Data Gathering> 3his !ro/ect is a Cusiness to +onsu"er and is a well9co""ercial site of !ro!ert# which ser,es Indians and others, with a ,ariet# of !ro!ert#% 8 $ine$$ Sy$tem 5lement$> ;% ObHe,ti#e> 3he s#ste" anal#st "ust be aware of e-actl# what the user re6uires roo" a s!ecific s#ste"% 3hat is "ana$e"ent $oals or ob/ecti,es "ust be full# understood%
>2
inde!endence does not arise and we use technolo$ies like: Visual Casic,
2% Con$traint$> 3he anal#st and the user "ust both reco$ni5e an# li"itations or constraints that "a# be i"!osed when the anal#st is desi$nin$ a co"!uteri5ed s#ste"% <o"e t#!es are:
3% Control$> 3he user "ust fa"iliari5e the anal#st with the wa#s in which errors are "ini"i5ed under the current s#ste"% 4% /n! t> All the data that ser,er as their basis for, desired out!ut "ust be studied where all data used for !rocessin$ ori$inates% ow often is each t#!e of in!ut $enerateK If there are code or abbre,iations used for in!ut does the anal#st ha,e co"!lete list of these% .hat ha!!ens to in!ut docu"ent after has been !rocessedK 5% Pro,e$$ing> 3he anal#st "ust then anal#5e the !rocessin$ or t#!e of the o!erations that are currentl# !erfor"ed in order to achie,e the desired results%
>3
7ea$ibility 1e!ort
&e!endin$ on the results of the initial in,esti$ation the sur,e# is e-!anded to a "ore detailed feasibilit# stud#% A feasibilit# studies test of s#ste" !ro!osal accordin$ to its workabilit#, i"!act on the or$ani5ation, abilit# to "eet user need and effecti,e use of the resources% 3here are si- distinct but inter9related t#!es of feasibilit# stud#:
3echnical feasibilit# A!erational feasibilit# ?cono"ic feasibilit# <ocial feasibilit# =ana$e"ent feasibilit# 3i"e feasibilit#
;% Te,hni,al +ea$ibility> this is concerned with s!ecif#in$ e6ui!"ent and software that will successfull# satisf# the user re6uire"ent% 3he technical need of the s#ste" "a# ,ar# considerabl#%
o o o
3he facilit# to !roduce out!uts in a $i,en ti"e% @es!onse to"e under certain condition% Abilit# to !rocess a certain ,olu"e of transaction at a !articular s!eed% )acilit# to co""unicate data to distant location%
2% O!erational +ea$ibility> It is "ainl# related to hu"an or$ani5ational and !olitical as!ects% 3he !oints to be considered are :
>4
.hat chan$e will be brou$ht with the s#ste"K .hat new skills would be re6uiredK If not, can the# be trained in due res!ect of ti"eK
3% 5,onomi, +ea$ibility> ?cono"ic anal#sis is the "ost fre6uentl# used techni6ue for e,aluatin$ the effecti,eness of a !ro!osed s#ste"% =ore co""onl# known as cost7benefit anal#sis% 3he !rocedure is to deter"ine the benefits and sa,in$s that are e-!ected fro" a !ro!osed s#ste" and co"!are the" with costs% It benefits o,erwei$h costN a decision is taken to desi$n and i"!le"ent the s#ste"% Atherwise, further /ustification or alterations are "ade to ha,e !ro!osed s#ste" a!!ro,ed% 4% So,ial +ea$ibility> <ocial feasibilit# is a deter"ination of whether a !ro!osed s#ste" will be acce!table to the !eo!le or not% 3his deter"ination t#!icall# e-a"ines the !robabilit# of the !ro/ect bein$ acce!ted b# the $rou! directl# affected b# the !ro!osed s#ste" chan$e% 5% Management +ea$ibility> it is deter"ination if weather a !ro!osed s#ste" will be acce!table to "ana$e"ent% If "ana$e"ent does not acce!t a !ro/ect or $i,es ne$li$ible su!!ort to it, the anal#st will tend to ,iew the !ro/ect as the non9feasible one% >% Time +ea$ibility> It is a deter"ination of whether a !ro!osed s#ste" can be i"!le"ented full# within a sti!ulated ti"e fra"e% If a !ro/ect takes too "uch ti"e it is likel# to be re/ected%
>5
function% In a lar$e s#ste", "an# "odules at different le,els are needed% Bnit testin$ focuses on the "odules, indecentl# of one another, to locate errors% 3he !ro$ra"s should be tested for correctness of lo$ic a!!lied and should detect errors in codin$% )or e-a"!les in the 2Anline .eb +onsultanc#O s#ste", feedin$ the s#ste" with all co"binations of data should test all the calculations% Valid and in,alid data should be created and the !ro$ra"s should be "ade to !rocess the data to catch errors% In the 2Anline .eb +onsultanc#O s#ste", the !hone no consists of di$its, so durin$ testin$ one should ensure that the !ro$ra"s do not acce!t an#thin$ other than a di$it code for the Phone No% Another e%$% for the ,alid and in,alid data check is that , in case di$it no is entered durin$ the entr# of transaction, and that nu"ber foes not e-ists in the "aster file, or if the nu"ber entered is an e-it case, then the !ro$ra"s should not allow the entr# of such cases% All dates that are entered should be ,alidated% No !ro$ra" should acce!t in,alidates% 3he checks that are needed to be incor!orated are: in the "onth of )eb the date cannot be "ore than 2E%
)or the "onths ha,in$ 30 da#s no one should not be allowed to enter 3;% All conditions !resent in the !ro$ra" should be tested% Cefore !roceedin$ one "ust "ake sure that all the !ro$ra"s are workin$ !ro!erl#%
>7
Mod le te$ting> 1e,ei#ing ,om!laint$> 3his "odule kee!s of all the co"!laints recei,ed fro" the custo"er% Ance the custo"er lo$in he7she has to select the cate$or# under which the co"!laint is $oin$ to be sub"itted% If the custo"er foes not know to which cate$or# the co"!laint belon$s then the custo"er can use the search en$ine which re6uires a ke#word !resent in the co"!laint to be sub"itted for searchin$% If an# "atch is found then the rele,ant cate$or# to which the co"!laint belon$s is dis!la#ed to the custo"er% <o the custo"er can sub"it the co"!laint under the s!ecified cate$or#% If no "atch is found for the ke#word sub"itted for the search then the custo"er is allowed to sub"it the co"!laint under the "iscellaneous co"!laints% Ance the cate$or# is selected there are two wa#s of sub"ittin$ co"!laints% ?ach cate$or# will contain !redefined co"!laints% If the custo"er co"!laint is alread# !resent as !redefined co"!laint then the custo"er can select the s!ecified co"!laint% If the custo"er co"!laint is not !resent in the
>8
!redefined co"!laints then custo"er can custo"i5e sub"it the own co"!laints% Ance the s#ste" recei,es the custo"i5ed co"!laints fro" the custo"er it auto"aticall# $enerates a co"!laint nu"ber and it dis!la#s the co"!laint nu"ber to the custo"er which is to be used b# the custo"er for future ,erification for that !articular co"!laint%
Pro,e$$ing Com!laint$> 3his "odule kee!s track of all the co"!laints that are !rocessed b# the custo"er su!!ort re!resentati,e% Ance the custo"er su!!ort re!resentati,e lo$ins, the custo"er su!!ort re!resentati,e is allowed to re,iew all the co"!laints recei,ed under the !articular cate$or# and the status is unsol,ed% Ance the custo"er su!!ort re!resentati,e ,iews the entire unsol,ed co"!laints custo"er su!!ort re!resentati,e can $et co"!laints which ha,e to be sol,ed% Ance custo"er su!!ort re!resentati,e re6uest for a co"!laint the distribution en$ine distributes the co"!laints s#nchronousl#% 3he distribution en$ine does not distribute the sa"e co"!laint for "ore than one custo"er su!!ort re!resentati,e% Ance the distribution en$ine distributes a co"!laint to custo"er su!!ort re!resentati,e the status of the co"!laint is chan$ed fro" unsol,ed to !rocessin$% 3he custo"er su!!ort re!resentati,e can !erfor" so"e functions accordin$ to the co"!laint recei,ed fro" the distribution en$ine%
>E
Ance the custo"er su!!ort re!resentati,e recei,es a ,alid co"!laint then the custo"er su!!ort re!resentati,e is bound to $i,e the solution b# ,erif#in$ ,arious custo"er records% 3he custo"er su!!ort re!resentati,e can use the search en$ine which is used to retrie,e the custo"er records based on the date% 3he co"!laints are sol,ed b# the custo"er su!!ort re!resentati,e based on the rules and strate$ies that are alread# de!lo#ed in the s#ste"%
8la,k boG te$ting> After !erfor"in$ the ,alidation testin$, the ne-t ste! is out!ut testin$ of !ro!osed s#ste", since no s#ste" could be useful if it does not !roduce the re6uire out!ut in s!ecified for"at% 3he out!uts $enerated or dis!la#ed b# the s#ste" under consideration are tested b# askin$ the user about the for"at re6uire b# the"% ence the out!ut for"at is considered in to wa#s9one is on
70
Con,l $ion
.orkin$ on the !ro/ect was $ood e-!erience% I understand the i"!ortance of !lannin$ and desi$nin$ as a !art of software de,elo!"ent% Cut its ,er# difficult to co"!lete the !ro$ra" for sin$le !erson% &e,elo!in$ the !ro/ect has hel!ed "e so"e e-!erience on real ti"e de,elo!"ent !rocedure%
7;
7"T"15 50:A0C5M50T
3he a!!lication de,elo!ed is desi$n in such awa# that an# further enhance"ent can be done with ease% 3he s#ste" has the ca!abilit# for eas# inte$ration with other s#ste"% New "odules can be added to the e-istin$ s#ste" with less effort% +urrentl#, the onl# wa# for the trainin$ de!art"ent to know about their efforts on trainin$ !ro$ra"s conducted is the feedbacks send towards the" b# the !artici!ants% 3he drawback which !ersists in this !rocedure is that the de!art"ent should blindl# belie,e on the co""ents the# ha,e recei,ed fro" the !artici!ants% an enhanced wa# to recei,e the feedback of
72
the trainin$ $i,en is to conduct an online e-a"ination based on the trainin$ !ro$ra"% 3he trainin$ de!art"ent can later e,aluate the results $et a clear cut idea on their efforts on trainin$ !ro$ra"s conducted% Pro,idin$ e-tra facilities can enhance the !lannin$ "odule% Ane of the" is the !ro,ision for co""unication with the resource "ana$ers% +urrentl# while !lannin$ the !ersonal checks for the resource a,ailabilit# in a "anual wa#% a well consistent co""unication facilit# can be !ro,ided between the s#ste" de,elo! and the resources a,ailable% 3he# will hel! a lot for the !lannin$
!ersonal to know whether the resources are free or not at the ti"e of !lannin$ itself% If the ,enue for the trainin$ !ro$ra" is not ,acant the !lannin$ !ersonal can then $o for another one which is ,acant% +urrentl# the s#ste" does not ha,e an# control on the "onitor# details the s#ste" can be facilitated to ha,e a control on "onitor# detail%
73
%/M/TAT/O0S 3he s#ste" can be used b# onl# the literate !ersons 3he s#ste" has been de,elo!ed for seekin$ the /ob and recruitin$ throu$h websites% 0ack of effecti,e "onitorin$ s#ste"% <low infor"ation e-chan$e between user and co"!an#% 0ack of decision su!!ort s#ste" for lon$ ter" and strate$ic !lannin$% Deneration of re!ort take ti"e%
74
8/8%/OG1AP:<
P P 3he +o"!lete @eference : <te,en ol5ner Ph!"#ad"in : =arc &elisle <A=< 3ech #ourself P P in 24 hours +ore P P Pro$ra""in$: 0eon Atkinson, Zee, <uraski P P and =#s6l .eb &e,elo!"ent : 0uke .ellin$, 0aura 3ho"son
75
7>