Professional Documents
Culture Documents
$
#
$%
! #'.(+-(,-*
"
!"
)''.")'('
http://bit.ly/hwkp-report
Dedicated to my mother
)
Declaration
# !! ! # "!! ! % #
#!!%## (%" #!!!# !"! %
((& &! &!$!&" !%#( !
" "(
!'
!"'
Knowledge is the treasure of a wise man
$
Abstract
(#'
# !
"
!
#
!
!
#
Real life isnt always going to be perfect or go our way, but the recurring acknowledgement
of what is working in our lives can help us not only to survive but surmount our
difficulties.
)
Acknowledgments
! %&
(
0
,(*
#
# #$
$
% #*
%
% #+
&
'" $#
'
!+ $&
(
%%
)
%)
*
%*
+
%+
#"
!
&"
##
&'
#$
&'
#%
&*
#&
'"
#'
'$
#(
'(
#)
$"
')
#*
'*
#+
'+
$"
($
$#
(%
$$
(&
$%
(&
$&
('
$'
('
$(
(*
$)
)"
$*
)$
$+
)&
%"
)&
%#
)&
%$
)&
%%
)(
%&
)*
%'
)*
%(
)+
%)
*"
%*
*#
%+
*#
&"%
*$
&#
*$
&$
*$
&%
*%
&&
*%
&'
*%
&(
*%
&)
*(
&*
*)
&+
*)
'"
**
'#
**
'$
*+
'%
+(
!
!
"
!
$
"
$
#
$
$
$
Chapter One
Introduction
'
# #
% !$ ,) %-(
! %
!
#!(#!
(
2(0
%!
!!"
(
!!
! ! ! " ! & ! " " !
" '" !$ !& !'!
$ !# $!"!"& !(
!"
! !$!! !"!)"!! !! '!
%!! ! !# ! # !) $
! !* ! (
• ! ! ! # ! $ ! "!)
' ! & ! $ # ! "!! !
$! & !)
• !!!
#" $!!)
•
# "!%!& )
• !! !!& ! "! " !
"-)
• "!!" &# "! )
Chapter two
# ! "! $ ! & !
"! & !(
Chapter three
Chapter four
Chapter five
Chapter Six
Chapter Seven
Chapter Eight
! ! " ! (
' ! ! !!
$ ! & !(
%"#
$&
It is the supreme art of the teacher to awaken joy in creative expression and knowledge
-!#"#
Chapter Two
Literature Review
*%$"(*#$""#$""&""$
"!&##!! !#."!",,!* !#!"",
#$# & # "("# # # ! " "( "# #&
$#"#$#",
$!#!!* #( !)#"* # & ! "#!(
$" # # $ #!$ # ! + # &
!# & "! &# '#! ! & $#" /20* &
( ! ( # #!$# $ # & ! "#!(, * & "
!)(*"!"' &$#(
#!,
%' &"$
&"%"&!
!
"
"
"
% +-.,
"
"
"%
!
$
"$
"
'
%
"$
"
"
%
"
'
" $ "
"
%
"
$
"
%
$
)
*$
(
#
"
$
$
&%+-/,
%"#
$'
%"$"& !
'!&! !!" "$!
& !1)0) !" !!&!%!"! !" !
"! )!& !!&!%!"!! #!& ! '
$ !!" .12/(
• %!"!
o %!)
o )
• *%!"! (
o ,
!!!-)
o ")
o )
o
)
• !!#! !!
o !)
o )
o & )
$ ! & !+ !! ! % !
!$!"!!)
'*
(#&
(#'#)! "$"
%##$#4998# #$ '$
#)#$ " !!"#"$$ !%$"-"$$%"#*!"$%")
"$ $ $ %$ $# ", %""$)* $ # %$ &" 9*733 !%$ #,
#)#$ '# & ! ) " ,
"$#* &"#$)
)*
%#$"" ,
%"*&"#$) %* &,
)' " "# -
$ "# $$" %" "$
) #$"%$ /
0,
#$ # ' " $ %$ # $ -4993# 162, #%"#
#% # &"$ # %# $# !%$ # ""#! (# $
####$!" " #$#$##$$%$ #,152
#)#$ ## $ $$!+..%,#(,$* $%# "" #%"#
' "$""$##%#$"$$ '%"#+
" & !# #! !!" " 021(
• HTML
• CSS 1.0
• The Backend has been implemented by using CGI scripting language.
#)%#*#$#""%#,
'#&#(!
"$"
& $" (
$ ' $
)#$ 1 ") $
#$%#2*"$$$$
"#)#$,
$
" # % ' $ #)#$ $$ '# %#"# $ $"
#$ "#,$'#"$)"#""#
$&
'"* %"$
"
#,"$# "$#$$&)#"$
#$ %$# $ ', #)#$ # & " $ %
#$"$##$$$ +00$#",#$, #%,%0,#)#$ "&##$"
%$%# $$ ( %$$) '$ %#$-%$ #" ,
%#"!%"))$$")%$*"#%"$,%$$$#
$#"$$%"#*$
"#$$#7558,$
"#)#$#
" '$'&"#$
"(,3864
$
"#)#$ "&##&"$#$$%#"##%#3854+
• #"#")%$#*%$"#*"$#,
• ) %$$)""%#"#,
•
%
• "
%
•
!!%
• " "
%
• "
%
#
%
"
"'
% "
""%
%
#&
%(+*)
""
$"
"!
%(+*)
%%
%!#
%!$!&
# ( #
" $ ' $%
$ "&
$% ! $ % $ " "' "
$"$
%""$!
! " ,
)-*&
1%+++%+++
0%+++%+++
/%+++%+++
.%+++%+++
-%+++%+++
,%+++%+++
+
!
*#'''#''' )''#''' )+)#''' )''' (#)''#'''
" % % %
$% $ ' %
$%!" % % !
!$
"!')2*
,
&! "-++/%!$$/+++
" !$'
%"#
%&
%"$"' !
#
could
%
&
# !
&
#
!
##%!
0&.
&
%"%%"#
%!!"
0&.&
!
" ! !#& % ! !
0&.&
%"%"$
0..1% )#
0&. *
%
%
#
# "
+&,/0-
# # # %
0&. ! $$! ,3-& ! % #
$
!&
%"%"%%"#
% )#
"!
0&.
&
"
#
&!0,3-&
!%(#2)0$ , 2)1)7- !
% * % # # ( # % # #
# % %&%!#!# #
.16/(
!' # ! ! 2)0
! ! ! % +!)
("4*2!'!"!$!$ !"!*!!"!
!!"" !0351)
,
!
! "" " 4*2 ""# ( !$ "" !
!#
"*
Mashup
!# "" promotes & "% ! $! " "
% * " !" ! ""# !"' " "! "
#!"'* + &
!# ! %" "
""*0351*
"" """ %!!"% !# !" ""
#" " " '# !'!"( " " !"
!)"!"" (3)1 ""!!#! !
" ' !"#)/240
"% %!"! !# ! ' !
&!"!"" )/250
( " " "! -!. % "! "" $
"# !#""! ""!""!)
% !( ! ' $ "! !#
( "#"()/260&!"!"
$)
Tagging
Semantic Search
#!# $!(," "!* # ! " # %
"!$!(($!"##"!!#'#$
#!"### $!(+#$#"#"!""#$!
"#!$#*!5+3#"*#!"#"($"
"#!"###""$"
+1542
# " $"! $### !"" ## &" $"! # #! /$"! .
""&!0 !! # # # $# #"+ 1552
"! " # '
+ ! $"!" $" $#
#" /#-" "( &% 0 &# ( $###
#+1682
Structured Information
%#$%!!!(
$"##(
#($"#)##!#$!(!#'##"+
"#$!$""
!# & "(#'".!#"* ( " !!#"+
" !#" !
($"!"#!"!#&#(!#'#$#+(
&"#""#!#$"!!#"
!" #&!/ 0!#"
'#"##!+1472
!"%!#"*!%"(!)"##%&"(!#+!
"#* % " & ! !# #" $"
#"##!(!!#"!#"##$##"!$"!"+
1472
"#"("#!#!#"#&"#$"!#$""
$### !# ! !# #"* /220
!!) #
"("#," !" -$"!") !!") #!". ( $" "
$### !# ## !%$"( " #! !#
#* ! "#) $"! # # "("# ( $" !
$#$####!$"!!#"("#
$"!*
#!""#"!)"#"!&"#"("#,"!##"#
$#"! $("(*
"! # " &$ " $"$ # (*
!% "#!
$#( #!) # " "$"# ## #" " "$ # ( #
#!+! !"* #! "" "$# ! # " "
& +"# !" # & $#( # # #
$#"" $!$#*&%!)#"#&$#
"$!#"$!!!""*
!
!#
!!"!
#*,&-!",'"# #&%) '#!$ !"''&$'&"$ '&#
8/6/ " '& &'#"- * * &(&& ' '"# #& '' " !$ #, "
) #$!"'#'&#"'+'/
" ) *#% - !", &#'*% )"% $%#)%& $%#) '% (&'#! &# ('#"&- #%
+!$ .("&($$#%'&*&%)&',(&" &&&"'%#$%#'&/4:;5
# %& (&" & %("'! $ '#%! '# ( , %- #&'0')
$$ '#"&/ (%%"' ,- # $%#)& %- #$"0&#(% %!*#% #
+/&"# +-) #$%&"( "!"'"+$%&&)*$$ '#"&
''%("#" !#%%#*&%&"
&/4:85
8
&&!$
0&$%#'## -* #*&$$ '#"&'#+""#%!'#"#)%$%#'## /48=5
9 2$%&"''#"
'' %"&%3 & &', # &#'*% %''(% '' $%#!#'& ' (&" ,$%!
&,&'!&&(&#% /4965
"!'!.0'$($)'!(#,%!)$'"5
6))!!$,(2
)+!$%'()$
') ' #)'#) %%!)$#( )) $ .$# 2 !+'!) !($ (*%%$')(
+$#;+)$''%(27=<8
$$! !($ %'$* '!. #, )$$! ) !! $' $$! $$! )2
!!$,(
+ +!$%'( )$ ,')
+ $(0 # )# $"%!' ,!! $#+') )
$()$!.$%)"/
+'%)$())'*#'$(("*!)%!'$,('(7<=82
# )( .(0 (+'! ( # *( )$ "%!"#) #! #3#2 $ ()') ,)0
$$! %'$+( 3( )) !!$,( #. )' %'). (.()" )$ *( $$!
$*#)((*').2(#=0#$#!#('+%'$+'5(*($$!6#"%!$.
(%') -)'#! #)). %'$+' )$ *)#)) %%!)$#(4*('( ,$ '
))"%)# )$ (( (*' '2 )' %'). (.()" # #. (*'). $"#
(*(>7<?8
=*').((')$#' *%#*56(3(%'$)$!))!!$,(-##*)#))$##
*)$'/)$#)),#),$%%!)$#(27=:8
>),)')$'.(('$)$$!$'(%'$)$$!&*'.#"##)#')$'.('+('*###
$+'4 27=98
!!#! #!
1*0!!
*$ ! ! #! "
1*0 )
• !! " !! !" ! ! !
!!*.14/
• "# $ !! !*
•
,-&"!!!!#&*
!' ! *.15/
•
$ & ( !" ! & !
!#& $*.4/
!! !#)
) ! & # $! !" "("#* & 4,2
#! " "#
& # "("# ## &" # $"!" 0"$ " "#$#"
#$!!"1#$"#!"#$#"(,
"("#(""
4,2# $"!&""#)$+
• "!'!01,
• ,
• #!,
• !#,
#) # "("# #" " % & # #$!"+
"#!# ! $" #!$
'5 " "# "! "
&#"$!##!!!! $#(#!,
!"!###!!!& $#"!
# # $- !! " ## " "! "# 4,3,4,
"() # $"!" $" #! ##" # " " $#
!", &!" % ! ! #!" !!",
$# " # !#$! &!") # &!"." !!"
"!%#&$#,!!%$##$#%!
!%&,"##!!!#")##!"!""(#
"$!#" $#"#$#,
5
"!#!!!!"$"!!#&##&!!"""("#
/
,
%# ' 2.1 $" # $ #% "$ &"# # $# 2.1+ "
) ( "$$%" # ) ##$. ")+ $ #)#$ ' %# %$/$"
"$$%"##'$'%#$"$-
#$)+ $ %### $" #%$# $ %### "&#
% $"# $$ " #$"* %#
" #. ) $ $$ #% "$#
"#(###'$$$".%###$"'#
$$$#$$" #$")'2.1%#".
4%#"&#"$#$'"#"&#$$##$"%$0%,#
#$2.2.3
!#
%
"
$
Privacy
!%
Security
!
#
%
!
%
Safety
!%
Interoperability
!
%
Testability
!
%
#!
!
%
!
"
"#+ 907 (#&!/")!&#)'("%)'"("# #'+ )'"#&&
(# !$ !"( ( 907 '$('0 #! # (#' ("# #' * " '& "
'(#"9090<
For SOA
For RIA
For SSO
For communications
!$ #-" &"( ("# #'/ ( '-'(! + " (# )' &"(
'("&.$&#(## '"#&&(#'( ''# #""(#"'(+"'-'(!2'
= 3"(&$&' *"'4'*(( ('** #$&'(#&('&*&1')'"''#!$#""('05::6
>
''!$ 1'$&#(## /+ #+'$$ (#"'(#,""#&!(#"#*&$&#(## 059>6
87 3$&'"((#" (( &"'&4 ' '(- # '#(+& &(()& (( $&#!#(' ( )'" -$&!
'-'(!'')'#& 05:76
88 3 *"(&$&'(#"4'*$ (#&!(( #+'** #$&'(#* #$"(&$&''#(+&'# )(#"0
5:96
&$%- , $#'%&% $! & &$ + '% 45
46 "$!&!!-
!)($,&&$) &$"$&&%$!& ! ($&%&
&! & !$$%"!
$#'%&%, & &
%%% ) % &
&$
!$%&+-
%"&$"$% & $ !$&! !'&& !) &%+%&-
& %"+ $. !) & %+%&%- '$&$, & ( $!'
!$&! !'&&5-3 &%"&%!5-3-&! %&$&!)5-3
!' !) &%+%&%- %&+,&"$!($ &$!'&!
&!& !)5-3"&!$-
& *& "&$, ) ) *" & "!& & $%% &!!!% '% &
(!" &+-
45/($"&&!&&! 0%&)&&. &$ !$&-1682
46
/!&
$!'$0% &$.! &! "$!&!!&&"$!$&!$!&"$!'$!
$ & -1672
"
#$
Let our advance worrying become advance thinking and planning
,#$%"
Chapter Three
Predevelopment
& $ " # #(#$) "$ # "!%"+ $ ' 0+/
$"#%$,$"#(#$-1/.)'$'%#$$($&
$# "$+$###"$$)'"$%"'$()'#$
$"$(+#$(#%" ##*
• $+
• &%$+
#!
$ & $ "## $ %### $") $
# $
%##$%### $"&$'# $+
"
"
'
*
+ "#$ $
"
'
(
$
"
',12-
)
/
)
0
' $
" '
'!"$!
'
"
'
"
$!
!
%'
)#& ##,
)*
) #
#$ $$
)*$'#"&
$# #+$'#"&#)*-%###"!%"$$#'
#"&#"-%$ %$$##$ ##$%###-
#$'#"&,
$" " $ %# ## $ ' #"&+ $ ' #"& # #
" $ $# "# $& ##- %" $# #+ %" #$"*
"#"%#-%$ %$$##$#
"#
$'#"&1#%###"+$&$)"+#2-
$$'#"&,
$# #+ $ "$ $$# $ ' #"& )"# "
$-'#"&)"#"$ $$-"( +
$ $$ ( $" )" # %$- $ $"
+$ $$)"##$ $#-
#$$'#"&,
$" $ #+ $ ' #"& # ) $ & $
&"$-)####+$ "$#$'#"&
$#$- $# #"+ /0 #$'" '# %# $# #$-
"&"+ $" $#$ #$"$# $#$.%$ '" # %# $ $#$ $
$"%### $#-1#$3-42
$! " !
&!$ #)
! ! ! $ #( ! $ $ # & & ! !
"!#!- #, #.*
! "! ! ! !( ! "!"! " ! !
! were!! !!-%.*
SOA management tools like SOA governance tools can accelerate the process of building SOA
project. Usually, those tools are quite expensive and it obliges large teams and enterprise
companies. If you are interested about SOA governance tools, I strongly recommend
checking the ‘HP SOA Systient’ option.
# "
$ " !#" !(!"
!" !&*
!!(!#! !
! "+
!& !
! ! $ *
"!&($!" !& !&*!!($#
% *
• &'!"! &
• !!
!!
• !!! ! "
!
• !
• "!!
!! !
! !
! ! ( $ % ! $
"! !!!!!
'#(
"#
"%
&
$
" $ % $#
!
!
%!'!$
!
"
$ %#
"!
$#
(*&#"("#*#$"!"#$"!!"#!
(!##.!#!$!"*$#$!"*#/+" $#(*
# "("# " # ( % !(# #"+
$ " #" !&,"
!(#*!
+
#%#
$ # # # "#!#"* # "("# " # !% ( ! "$#*
&" $#$#!%&"#&!"$#+"!"$#*!$
# "("# !# !)#" + " !# !
!"%($""#!)"$#"+
## # # " ##$" " !" # ( %$*
$#( ! !)#+ ( !" " $!( #+ "*
!""#(&#!$"%!"%####"$"#%
%!#$"#"&#"("#+
#%$
" # $"#! " .!! "# 1+0/* # #-" #!" %
% ## # !" "$# &$ !$ # '#( #
& ""# !""+ !% "$# $" "#!"
" &" # "("# # ( ""+ ! "#* #! $" (
"#&!#!""#!!!$!$!*#!"("#".++
!# & # "("#/* ! %# " "# &#"+ $
"$#"%$"(!"%$###(+
#&
!#$#,#!"("#! $!"$"$"##"+"#!'
##"$"$!#%#(#!#+#*#"
#!!"####!""##$%!$!#%#
"#+'##!$#"#%#!""#$""" #!+
$$ # !
It is impossible to design a system so perfect that no one needs to be good.
-, ,$
Chapter Four
% "* ) #$"%$ %### $"* %"%# # $# #%
#$%"%),# $"( #$& $ "##$%###
$",
$"$'$( $$)$$)$$&%#
'$ #" # $ " "# ( " %" $
$$ #,
This chapter explains the general idea about the Business Logic Tier. For more details
(use cases, diagrams, CRCs, etc), please refer the appendix entitled Appendix B.
$ "
#$"*$%###$"#$$"$$ #%$#$"#)#$
%$$#, %### $" ## # $ " $ $
'3,2$",
%#
)#$#$ "$$""*$$)$$"#%#$
'#"),'#"&#% "&#$%###%$#*
$" '"+ ' #"& # %### %$ $$ #%$# "$
%$#/$##)"$,
#"&"!%#$"#""#&$'#"&#)#(###
&
"
"$#,""#. $&'*'#"& "&#*
#$"$$"$$"$'$,"#$$'""%$$$"
!$ !"((#" # ( + '&*' # &$#'(#&- #""(#" #& )'"''
#!$#""('1"(#"/ &"(")'&/"#(&'#(+&/#&*""#(&
+ '&*1 " ' '("&. ")1 '&* &%)'(&' "
!$ !"( )'" "- $&#&!!" ") ')$$#&( $&'" ') ' */
1
(/ '1# #+" )'(&(#"*'"#*& $()&#()'"'' #(&0
)("((#"
&*
#)"(
&*
#&'$
'&&* &*
&* ,&*
) (#"
&* &&* #(&*
"
"#+ 817 (#&!/ '&* " ( )'"'' # (& ' #)& "(&"
-&'3(&'1 -&" $&#!#(' ( ##'2#)$ " #"$( " $&#*' &
&(()& 5:961 # #+" )'(&(#" '#+' ( "(&" "(#!- # +
'&*0
"(&
4 ;'!< '
!$ !"((#" ''
4 ''
)'"''#
4 '&*&#!$#""('
(''
4 "(('
XML Interface Layer
( ' $) ,! "(& (( &' )'/ ( $&#*' " '(&(#" "(#"
#& + '&*/ ( '&' #+ ( " )'. )"(#"' (( * "
!"("."("$#"( #(#"#(+'&*/(' #"(&(/"
"#+ 4/3
(#&!.
' " )' !" - " ( !$ !"((#" #
('#"(&('/
( ,! "(& $&#*' ( '(&( "(#" # + '&*.
#"&( "(#" ' '# &%)&/ #"&( "(#" ' '' ((
"(&$(' (
&%)'('. #"*&(' (! (# '(&#"0(-$ * &%)'('. "
$''' (! (# ( )'"'' # -&/ " ( )'"'' # &()&"' (
&') (/!$ !"((#" ''#"*&('(&') ((#,! &'$#"'"$'''
( (# ( &/ " "#+ $ (#&!. ( !$ !"((#" -& ' $ " *
''1
2/
' -& !"("' ( #$&(#"'/ ( +#&' &( - +( ( #
&$#'(#&-/($&#*'"'(&($&''(" -&#&()'"'' # -&/
('' -&&!#*'(#!$ ,(-#$&''("#$&(#"'')'
%)&' &#! ( )'"'' # -&/ )' ' ( !" !$ !"((#"
("# #-#('$&#(.
"(('*"!$ #-"(' -&/
$!#
%&
%!$ "
"&
%).*"&"
% " " !
% "& "
" "
%$"
"& % !$ -%, $
$
'+(
"%
"& # % $
"
" "&
%
One of the first mistakes I made during the development lifecycle is building a giant ER
diagram that encapsulates all the data domain layer of the application. The ER diagram
was so fragile; every time I needed to add a new web service, I had to apply some
adjustments in the ER diagram. Using Entity-centric concept, I managed to divide the ER
diagram in to small agile units.
For more real-life examples of entity-centric entities, please refer the Appendix B –
section B.4.3.
%&
# "
% $
! "# & ! % %
" (! %
!%(! ! %& ! "
" )! ! (
&#/(. #! %%
#"(! #'
-(
# '#+ ( #$!$ $&# % !#'* #% &# % &-
##$,
For more details about the Authentication service, please see the appendix B – section
B.1
$ $
$ $ "
$)!%%#%&##'(!%#+%
$&!!%%#$ % #
2,1 $!%$, % !# %$ % &$%* ( $#'$, $ # %
%$!%#+($#'$ %$#,&$+($#'*&$.
%# ( $#' % !# # !#%&# &$$$ %$, &# % ' !%
* %&$$$ %#+%
$&!$$&%*,
"
Another good example of Mashup is the Review service. For more information, please see
the collaboration diagram in the appendix B – section B.9.5.
$
%!$
!
package uk.ac.hw.server.business.service;
import uk.ac.hw.server.business.domain.SessionKey;
import uk.ac.hw.shared.dto.SearchResult;
/**
* Provides the search functionality for the platform
* @author yadtahir
* @version 1.23r
*/
public interface SearchService {
/**
* Finds the publications of the session key user
* @param key the session key of the user
* @param query the question or the semantic query
* @param offset the offset of the result
* @param pageSize the size of the pages.
* @return the search result and its metadata
*/
SearchResult findPublications(SessionKey key, String query, int offset, int
pageSize);
}
"#
"
#!
!
The use cases of the Search service can be found in the appendix B – section B.6.1 and
B.6.2
!
#
!
,&+
& !
%
/**
* Represents the publication domain
* @author yadtahir
*
*/
@Entity(name="Publication")
public class Publication implements Serializable{
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
@SearchableId
/**
* The id of the publication
*/
private String id;
@Basic(optional = false)
@Enumerated(EnumType.STRING)
@SearchableProperty
/**
* The type of the publication
*/
private PublicationType type;
!
When the user calls the Search service, the search engine will search only inside the indexing
unit data not the actual table. For instance, if the user search for publications with the ‘Global
warming’ keywords, The search engine will search in the indexing unit not in the actual
Publication.
• It allows users to search by keywords not by field names: for example, when the user
searches for ‘John’ keyword, the indexing unit will return all the publications that
have a keyword ‘John’; where ‘John’ could be an editor or an author. In fact, the
indexing unit will also return
"#!
!
!
•
!
• !! !+,"& ! & !*%($
$ ! + ,( $ $ ! ! " !
+# ! "! !! # !)% " )
,* !!
"& & !(!%"!! "&($" !! !!
!"! "!*
• !"!" % ! ! "! "
"! -+ &" ,.* !( $ " " +",
&$( ! & ! $ !# ! ! % &$ !!
! +",-$& ". " !!!!" *"
" &$!( !(!" &$
+,-".*
•
! ! & !* " ! % "! !& !
!!"!* & !# ! ! "! !
"&* !( $ ! " + $,
&$(! & !$ &!"! !!#+$,
$ ! ! !! ! ! "! !! # +
$,!!! &*
The main #! ! "!)
• & ! ! &' ! ! !$ ! % "! !
!" ! * %( $ "! !( ! & !
""%!"!!%"!*!"!&("
# $ ! ! ! &( ! !
"!$ !#& &*
• ! ! $! ! ! & "!
" "!!$! !&*
! $ $!!"""# !""$! "!"
2)3)1)1) ! !" $! " #" " # " !
#""!)
' #"( " ! ! " ! !!"$ " '% !) %$ (
#! "!!!"$"' " '#!"##""!/-0)
!"( -&.'% (#! #!"% "/-&.0)
$ $! !" ! " !#" ! " !!
# ') !"(%"#! "'!"%'% !+#"" ,+$,)
! $ "# ! " #"! "" " " " '% !
!"(""#"!""$"!"")
$ ! $ ' $"$ ! ) # !!( "
! $ #"! "! % " ' " & '% !( %
$ !" " & #") " #! !! " '% (
" ! ! $ % " % " ' "# " !" !
'% ) &( "'% +&,% '+,)
Support for Query Regular Expression language
%#' #% ##0 ##
%1#1 " ##
"!!!! #'!!!&$!
%) ! ! !!' ! ! ! !' ! "! !
!#!!. !2)3)2/) * "!"&
" ! ! 10 "! ! #) "!' ! " !*
!& & + ",14)
! ! ! !& &' ! %!
# ! %!& ! ! ) !
! %! " ! )
" "!&!'&! " !"!"!"&)
"!& ! ! ! !! !" " !' #
!" ! "! #!)"!&'!!&
.!
'!/!%!! !!
2)0)
& ! $ & " $! # "! ! ) ! " !
#$'!&! ! !" $ -"!)
! & ! ! #$' ! " " "! $!
"!)$" !!% ! (
14" ' ! !!" %#! )!'
# !(!!(--"))-#- -%)!
% &$# $ % &$ %# &%, ( % # ( #%
(#"&$%% % %
46 &%,( %$% &#% $
%% !.,%$*$%($% #%
%&$#$$$
#"&$% % , ( ( ##% % &$# % % !.
$!*%!%%
$ &% ,$ !$ � !5'471
$&$.
46
0)%$$ &#$#!% #
"&1$ $ #$ '#*%%% !!# '#.
2693
47
!5'$# !$ &#!%% !!# % . &&$%% &%(%*
!$&#%*!# '#. # # #% ,!$'$%-%%!-// . . /!/ !5'/
%
#
"
!
"
/**
* Exports and Imports Publication to/from BibTex format
* @author yadtahir
*
*/
public interface BibTexService {
/**
* Converts Publication object to BibTex format
* @param p the publication object
* @return BibTex format
*/
String publicationToBibTex(Publication p);
/**
* Converts BibTex data to Publication
* @param bibTexData the BibTex format
* @return Publication
*/
Publication bibTexToPublication(String bibTexData);
}
The use cases of the Search service can be found in the appendix B – section B.7.2
%"
#"
$&
* & !
!
!
)
"
!(
-)
" "
+
"
)
-)
" "
+
!"
)
!"
.)
""
+
!
$!"
!!")
"
)
!
!
%
!
(-,)$
!"
!
$
"
$
!
!
$
" !
"
$
!
! "
!
$
!
*.
!
$
!
!
!
"
! $
/**
* The default implementation of the Vote Service
* @author yadtahir
*
*/
@Singleton
public class VoteServiceImp implements VoteService {
//Authentication Service
private final AuthenticationService authenticationService;
//Data access layer of rank entities
private final RankFacade rankFacade;
//Transaction provider
private final Provider<EntityTransaction> transactionProvider;
//Publication Service
private final PublicationService publicationService;
//Workspace Service
private final WorkspaceService workspaceService;
//Contractor
@Inject
public VoteServiceImp(AuthenticationService authenticationService,RankFacade
rankFacade , Provider<EntityTransaction> transactionProvider,
PublicationService publicationService,
WorkspaceService workspaceService){
this.authenticationService = authenticationService;
this.workspaceService = workspaceService;
this.publicationService = publicationService;
this.transactionProvider = transactionProvider;
this.rankFacade = rankFacade;
*.
!
&'
%
!
$&-+'
"
"
$
"
$
"
$""
$ ! %
!
&(('$ "
!!#
$
"
"
$
!
% % "
! $
!'
!
$
!$"'
$!
'"!%
!"!
'
%
#"
$
!'
!!%
+.(!
(!
"&
$%
"
!
' %
! "
"
' %
+.
!
'
%
!
&(("""'!"
'(
'& % #
& $# $!
$
" " $(($
"%"! '
! !% "
"
" '
$
# !
!
!
+
$
** '#%
(#&%#("!
*'#)"%!"#))$#%(0-%'##((*,))%-(('+'2)
,($('+))$'($"-)'#!8<!()%)',-%)$#()'*#)"
5$##)$#-%)$#62 $#!. ,. )$ ($!+ )( %'$!" ( . -# ) ($*'
$$)'*#)""$*!2*(0$,#!$)($*'$)%-(0*()0
#'$"%!2$'"$'#$'")$#$*))(((*0%!(+()))%144)2!.4#; 7
($!*)$#$')(%'$!"(&*)()')$','2 +#)'($)('+(
+ # *( #( $ #)'(2 . $# ($0 , !"#) ) ,$!
('!/)$##('!/)$#%'$(((),#)('+(2
$,0)+'$)
'(%$#()"(2
#$,! 927 !)$'"2 . *(# %'#%!(0 , ,' ! )$ %'$+ !.
#)')!($!*)$#2#)5'+6#)%%!)$##((#)'#!!.$'
-)'#!!. # !$$(3$*%!# ($#2 # '( )$ $%# ()#' "((#
%'$)$$!560)$)'(.()"##)'(,))(.()"(!.2$'-"%!0)
)$' # %'$(( )$ ) ''# %'$*' '$" ) *)!$$ (!' $'
""'( # '+ ( + ("!! ( )$% ,) '*### $# )' ,)
%!)$'"2 !%( *( # ## ) ()#'/ #)' $' , ('+( ))
()'))*#'!#"%!"#))$#)#$!$.2
8<!#()*()$"("2$'"$'#$'")$#0%!(+()))%144#2, %2$'4, 4
% %# , %
$&! $!% !# %$ % &$%* % !!% - *
(%$$!%,(' %%%. &!!# %%$$-
(# % % %%*.%# &%- &#%# #, %
$&! $!% $%#$
#%%&# !$%* $%$#%#&$%*- #$%,%&%&#,
( ' !# (%$ % & ( $#' # %
&% %*, $
( * % &$ % &%%% $#' % &%%% % #"&$%, %
&% $#'% %% #% %&##%!&% -
* !# ' &$% &% # % &%%% , % $*$% $ %#+
$&#%*&%%%$*)!%&%&#-%%' &% 4-2,
%$&#%* %!!% (# %# #%**%!!% $#'#-&$,
%4-2$%$&#%*$!% % (%$*$%-
!
!
#!"
!
!
!
"#
This brings a new level of intelligence needed to manage and track loosely coupled
application services to ensure that the application as a whole can perform really
well.
Chapter Five
" & " $" " #!!! " + !
" #"! " $" " " "% " ! - ) .+ #
' & "!" !#"* ' "" ! $ " #!+ !
" !" "!"$ ""# " " !*""" !
""$'*" !& # "$"'!
""%" !+
This chapter explains the general idea about the RIA and Middle tiers. For more details
(diagrams, screenshots, etc), please refer the Appendix C and E.
!
$ * #!"* "!" !"% ""# ! #" "
!"% !#" /310+ !" % "!* " !" ! "
!"""'#!"/240+$ !!' "'"",#
"!+ "! !*"" "!$ #!"" !"$!,
# !+ ! ,#" ! '( ! #!' !
!"$" " " !!'!"+
" !!"! !" "!+ " $! "#
"+
"!
* % $ !" "
!"% #! !!+
" "!
* % !# " !
!
" ' "
&
%
( '%
# ' !
! ' $%
!
&! % % % $%'
! " $
' % ! !
)'
*-,+'
/**
* The default implementation of the MemberWidget Presenter
* @author yadtahir
*/
public class MemberWidgetPresenterImp extends
AbstractBasePresenter<MemberWidgetPresenter.Display>
implements MemberWidgetPersenter, MemberDeletedHandler, MemberUpdatedHandler{
..
//Register when the listener when the presenter startup
eventBus.addHandler(MemberUpdatedEvent.getType(), this);
..
/**
* Called when the event bus receives the MemberUpdated Event
*
*/
@Override
public void onWorkspaceHasBeenUpdated(MemberUpdatedEvent event) {
//Change the View
}
$
"
"
/**
* The default implementation of the Workspace Managing Presenter
* @author yadtahir
*/
public class WorkspaceManagingPresenterImp extends
AbstractBasePresenter<WorkspaceManagingPresenter.Display>
implements WorkspaceManagingPresenter{
... //Fire the member updated event
MemberUpdatedEvent e = new MemberUpdatedEvent(w);
eventBus.fireEvent(e);
'#"!$"$(#!!(/320+#$"!#!#"&#
# #) # $## # !&"! & &(" "+ $!#!!)
&#$"!&#"#!!#$!"#)#!&"!(#!#
!!#"#+
# " " # "% #" !+ "() & #
#"#""#+
$"""#&"##!$
%# $"+
# & !% ( #
#+
#
# & "#!( # # # !&"! " "& # &
$"#!#*
!%!) # !$#) # $""" #" !"#! #! "+
!!) &
# # !#" & #) # & #( # !"#! #+ !
"#) & # $"! "!" ! $#) #
# " &
###+#$"!"#"#"##!!&"!)
# # #" # !!" !"#! " # !! #! +
" $#()#!&"(##$"!+
!""# $# "#!#" # # !""# "$# # #+
$!!#() # !""# $# "#!" # !""# # #!$ !&"! "+ !
')&##&#"#"%#"""(!#$"!)#"
#!""#$#"""#"""(+
% $ % ' &
### ! ) & %
! '
!
! & ! #" # !%'
% ! ! "% at !( ' % !
% ! ! % ! ! ' By
providing such a centralized unit for the privacy context, we removed a lot of complexity
from the business components. In addition, a few enhancement mechanisms have been added
to this unit. The overall performance of the application improved.
The following table illustrates the privileges of each role in the Knowledge 2.0 Platform.
#
!
!
"#
#"#
!%"#
! # (
# *! -31.(
# ##
!
GetUserProfileCommand command = new GetUserProfileCommand();
command.setSessionKey(persistenceUnit.getSessionKey());
//Send the command through the action component
dispatchAsync.execute(command, new AsyncCallback<GetUserProfileCommandResult>() {
public void onFailure(Throwable caught) {
caught.printall();
}
public void onSuccess(GetUserProfileCommandResult result) {
view.getFullName().setText(result.getFullName());
view.getEmail().setText(result.getEmail());
view.getViewWidget().setVisible(true);
}
});
' # %!(
' % ! *!
# $ %! !
0(/+ 0(0(2, ! (
"!
"" "!'"#!!!"! $ "#!!!
"!)# "&'" %" ! ".1#!!!"!)
#!!!"!%"
"" $&)
*%* !" "" ! $"$$ !
"" )" $!
" ! " ! " "% " $% #" " !" #")
'
" !" #""!"! "&)+20,
View
" ! " "# $ " #!!! ") " #!#& % ! %"
" %!
"!)
Presenter
Model
"" ""!"#""#""!"!)
!"""#"!
!" " !" !") +20, ' " !" !" ! & !& "
"!")
The component diagram of the RIA tier can be found in the appendix C – section C.2.
/-"" ! "!!"" #! &"" ! "" #!" #"!&!"+21,
" # #!#$! !%& #!* # #! #" #
$"""#!"##!,##!!#"#
-"%!#"###
!!" ! $"#"* & & "# # # $""" #!,
#
!"$#"!%*##!&"!)#!"$##
-!#,
#(##!" $#"#!#!&!,"&'##
# "#* # "" ".#" # # #! '#"
!"$#" "(!$"(, #! !""" #" " #!$ "#
,#!""(!%""##!""""
#(, # # !$#* "# # # ! & !"#!,
& " !% ! # #!* # #! " # !!"
#!!##!"#,
##!"$*#
!#" & # ! ## "" """ # " !#!, '#
"#"&"'##!""+
/**
* Action handler for GetPublicationBibTexCommand.
* @author yadtahir
*/
public class GetPublicationBibTexActionHandler implements
ActionHandler<GetPublicationBibTexCommand, GetPublicationBibTexCommandResult>{
/**
* When the command is received.
*/
@Override
public GetPublicationBibTexCommandResult execute(GetPublicationBibTexCommand req,
ExecutionContext context) throws ActionException {
//Get the publication for the Business Logic tier
Publication p =
publicationService.getPublicationById(keyUtility.toSessionKey(req.getSessionKey()),
req.getPublicationId());
//Call the BibTex service and pass the publication
String bibTexData = bibTexService.publicationToBibTex(p);
//Create the command result and return it to the RIA tier
GetPublicationBibTexCommandResult result = new GetPublicationBibTexCommandResult();
result.setBibTex(bibTexData);
return result;
}
/**
* returns the command type
*/
public Class<GetPublicationBibTexCommand> getActionType() {
return GetPublicationBibTexCommand.class;
}
+, ($&
*$)#
! # ,./-(
"
! !
#(
#$
$&
)
(
# !
'
! " "!
( "
$!
#
)
$
,..-(# ""(
" $
(%
"(
"
& $
#
&" $!(
*$)$("
!"
$ !
"
!
'
($
"!
$!###")%!$"#"#"#!#"&!%$##!%
!$"#"$#!#$"!+
""#'"#"#!#"##%
$"+
"!
#& #!" ( " #"# "#!#" ## % ' # "#
4+7+2+
#"# $# &# %!# %$# # %! #
!"#!"#"#$"""#"+
# ( # ##! " ( $"
#& # #! "#" 0 ,&,
!"#!1)
#%&"##"!#%(
"(+ &%!) !! # #"# # %& "#)
!#"#!#"%$"0""#5+4+3
#5+4+61+
#! #"# &" " $" # #!
#$""""!%"+
"!
'#! #"# &" $" ( # %$# # %& "# # $"""
#""$!#!!# #!"+!!##"#
##'#!()!&!&"!"$"+
$!#!!) '#! ! '#" -
!!.32 &" " $" #
(""#! $"#"+""(#&$"#!#*
32
!!"$"$!'#"##($##!#$#"($!
#+!!!#)"%"###*//++/&##/"#!!/
"
"
"
!
"
"
!
"
($
$!#
'!&!&%
"#
( % The test for validation resulted in pass with no
errors. The following screenshots show the results of the test:
'!&!'
!
#
& ###
'%!$
#
! "
%
"&)+(!'#
%
&
*(# # '%
! $
,$,$)
'&
!&(! #!!!
!
# %
! $ #
! !%
#
% #
% ! $
$
! '
(%
,$,$*#
"
+%*)%,$
#
!%In order
to improve the performance, we eliminated the XML serialization and desrialization processes
between the services. Also, in the middle tier, the java interface of the services have been
employed instead of the XML interface. As result, the application has better performance.
,$-"*$("% !
Using the Web 2.0 techniques in the two tiers simplifies the dissemination of knowledge. For
instance, without the Asynchronous partial Update, the referee has to refresh the web page of
publication each time she wishes to add a review to a particular publication. With the partial
update, the user can search, add, and edit publications without refreshing the entire page.
The Rich User Experience and custom widgets promotes user friendliness and usability
during the double-blind refereeing process. With the Web 1.0 techniques, the double blind
refereeing process is less interactive; For instance, when the referee would like to rank a
publication, she has to use the traditional HTML listbox. Where as in Web 2.0 provides an
advanced desktop functionality to the end users, such as drag-and-drop. As seen in section
5.3.2, the end user can create highly complex query by simply dragging and dropping the
search labels to the search panel. Without the RUE technique, the system will have to
maintain a new form for creating search criteria.
%$
#!
Optimists enrich the present, enhance the future, challenge the improbable and attain the
impossible.
%
Chapter Six
Enhancement
As explained in chapter four and five, the application had been enhanced many times.
This chapter explains other enhancement strategies applied in the enhancement phase.
$"
! $ ! '(&"
$ "
$
" $
#
"
!
')%'(&
#
$$ "!
! !$ !" " ! " " ! !#&* $' !
! !!"'!! " " ! & $)
#"
'(
&$
"
! '
%
(
%'
%
+! (
!
'
%
(%'
% !
!
%( #'
% #
&
!
process( ! "'
%
!
(
'
%
!
!
!
%(
' *
% !
!
$
#
%( '
$
'
% !
&%
%'
%'
(
%
%
( #
"
'
% !
! ( $
!
%(
! ' ! !
(
$
!
! ( % !
# & !
# #
%(
Evaluate what you want - because what gets measured, gets produced.
Chapter Seven
#" ! % ! ! !" !! $ !
" & !(" & ! #"! !#" ! (
" ! #"! ! ! ! !& ! " "!
! ! " ( ! $ ! "! !
#"! (
$!" !! ! "!#"!! !!
! '
!
*
!
($'
#
)$( %
&
'#!
!
$
"
$
"
"
"#$
'##"$&"$'$+'$*#$%%"!
% %
!'
"/#'&"!%
$(+ %/("$%#%0
$#'0
" %
" %
%/&$"'$")%$
'&"!"" ! %
"" $!"!+0
$ $ % 9+ % !# ! $ $*$% & ' ( %&#$
, ('#+% (5,3!% #$&!#$$&(%#$!%%
!!% %%$%% $%"&$ %&$%#*,%&$$
% & * $%#&%+ %#% ! %$ %% %# (% %#
$*$%$,% %#&$ % !!% #,%! *$$#!%
&/$$% 5,4,7,60+($$ ()&% $$$ &%- -%
% *1882,
( % # ($ &$#$ % % % $*$% (% %# &$#$
!$$( #$, ('#+ $#$ % & $*$% ' % ## %#
&&$#$.!$$( #$,
&$ % ( 5,3 % # &% &$ 5,3 %"&$ $ !#% %$
$$#%% !# '$$%$%%'%$$ !#% %%#%
%"&$%%(#&$&,
"!" " " " + $ "( % % # "
$#""!'!"$ !#"" #"* "$
"!# !#!'',& !!!-!'" "*
& !!! ! " ' " #*
' $ " "
!#"! " #!" !* '( "' $ #" %
" !'!" ! "' #! " # ' " !'!"* #!
" "!"#"!'!"*
(%!/3"" "%""
!'!"* " /3 #"!( % $ " " #!" ,! & - "
"" !#""!'!"*
%"#!" "!" !#""!
$#")
0 6 2 /
. 5 3 1
$'"' 0 1 6 0
7 2 0 .
6 3 / /
"" . . 4 7
/ 2 7 /
#""' 1 5 3 0
!
!
!
! !
(!&!$
# $ $ #* ' $ ($ # %$ ' $ "& $
%" # #)#$, %#"# % # $%"# !%$ %#%, $"# #" '$
$$,
#$ $ " $$ $ #)#$ #% "& # $$
#%$
"$**"&,)#%$$$'%
$#)#$#% "$ %#%##$%",)&'%#"#
$ % $ %$# "$) $ $ #)#$ # !%$ %$, "&
#% "$"&%$##%#%, #$)*$)%( "$$
$ ( "$ # $ !%$ # %#% # "& " # #"
%$$,
%* " ' $ &") # %$ $ ""* "*
$ # $#, '&"* "& $" $%"# "# $ %#$) $
"%$$&),
(!&!%
%$$#$"$#*'$$#)#$##&)" $$
#" $%"#, '&"* ' # %#$$# # $ $
#,
"& # #%$ " $ #" $%"* ' #- #"
%$$ $ $ , #" %$$ '# $ %#"# $ #" ) %$
$"% " $ /0. #- $"# % '$$"* *
) *
* $, $ # '# %#" $ #" %$# & # #' $
%#$"$+
!
"
11* &# & ##$&%-* &( $%#%*%%%/2
0$
Chapter Eight
% %$ #$#- ( % & $% (
% $*$% %% ($ % &$#$ % $$% %# $%
#% $*/ %$ %$$*$%($% $%$ %6/5
$!%$ $# $% 6/6/8/ !# ! $ $*$% % $&!! #% '
( % %&#$ $& $ &0 ## !# $$ )
#%3$#$% 6/74/
# #%%&# % !# ! $ $*$% $$%$ %# %#$. %
&$$$ %#-%
%#-%%#/
% !#' !% $%- ( % &$% % * &$ %
' !% * 3)! !%# %#4/ % - ( #* $%% %
! %%#$$%%%!!#3$% 7/84/
"& $ &" "" $ $+ ' %# #&" $
$!%# #% #, "% $ $ 0#$ 7-41+ $
)"0#$7-51+# $$$#0#$7-31-#$!%# "&
$ ""$ $#")-
#$)+ ' &%$ %" "%$ #$ &"%# $"#- %$ &%$
&%$#$"#"#$$"#$#-#$#&%$+$
"$ &# "!%"$# #$ %$ $ "!%"$ )##- 4-2
&%$ #'# $ $ 4-2 # $# $ " # #)#$-
!%#$" 0#$ 8-61 &%$# $ %#$) $ #)#$- # $#
&%$+ ' $ #" '$ $ $ #)#$ 0#$ 8-6-41-
&"+ $
"#%$#$#&%$# %##'$#$"$#$'###
$ " ##%$-
*)) +')
•
! !
$
!
!$
#
!
!
$
!
• ! "! # !" ! !)
$ " !
! "! ! ! !)
( $ ! "
! ! !!$ " !"!!!$ (
! & !!" !! # !)
$!"
• !! !#! # !!!"+ ,) $ &
! ! ( "!& #! !"!
& !)
!& + ,( $ $ " ( $ &
!$!! & ! )
• ! "!& "! !! $ %! "!& # !
&!!$!!"!!! !! & !)
• ! "! ( $ $ " ! $! ! "!
!)
• ! $ ! & ! " ! ! "! ! ! #&
!+" !$$ ! ,)
$!#
• ! #& )
& ! & "! $!
! /-- //) #( ! & ! & "
! !
!!)
• ! & ! ! ! ( $ # ! !!
# )
• ! ! )
//
& !$ ! !#!#! $!.--"!
#"$
$ "
• " " ( )%
& % " $
"'
#
"
"%
•
%
"
%
%
$
1%-%+/%
# (' &'&. "#- '%(' # %(' $ ;09 * # $*&0 !'$
!& ( '%(' (( #$+! "#"#( '-'("' # )' $& #$+!
''"#($#0$+*&.('-'("#"%&$*-/
:0 #')%%$&($&(2'(&)()&#$&"($#3'%(.+'#,%!##
'($#;0;0=0$"%!"#(('()&.&)#("*'&%($"%!&#)'($
%&'()'($"('#$#*&('("($($&&'%$##
$('0
;0 )%%$&(#!!'($,(&#!'&##'40('&50'()&#
-)'#(&6@:70
<0 #(## ( ,%$&(#0 00 )'& # ,%$&( (& #$+! #($ '*&! +!!1
#$+#$&"('#!)#&$'$($&#,!0$)#)'(
%#
0$&8'
#*&'!(+$&
('6@;70
=0 #(&(#$#!#((#'$!)($#+(($!!$&($#'($#0'()&#
"%!"#(-$"#(%&$($$!+(,1&*&'%((�
>0 # ')%%$&( $& &#( %)!'# # #$(($# %&$($$!' ! #
($"0$+-'.#)"&$)'!&&'*#+&((#($#!('()&0 *
%&$('$$,"%!6@<70
?0 # (&"' $ '!(- # )'&1&#!-. %!)1#' # &$+'& ($$!&' #
*!$%0 %!)1#' # #(&( +( ( '-'(" )'# ( + '&*'0
%!)#'#+&((###-!#)0
@0 #$&%$&(#2$!!(*#(!!#3;<'%('+(( #$+!;09%!($&"0
A0 #')%%$&($&(("#('0'()&#"%!"#(-)'#(
)("($+('&*&1'&*!(0
B0 #')%%$&($&&&##.+#"#(#-##+'&*($
( )'#''
$ (&0 ' '&* "#(#' ( &!($#'% (+# (
%)!($#'0
:90 #(## !! , &$& (-%' +!! !!$+ ')%%$&( $& !! (, &$&'0 )'
###('%(&)"$(' #$+!"#"#('-'("0$"%!"#(('
;<$!!(*#(!!#'the
intelligence that is provided from the collective set of interactions and contributions
made by the system’s users. [44]
"# )'#"%#"!" "!""#"! $1!
&0+8+72+
55+ % #! ! " " # " #"!+ ! "#
"'#!"
3;84+
56+ " !$ ! "# + ! "# !! ' %
! $"!$/""! !"# "#! +
57+
$ !# " " #! !+
! ! #! "
"!'"% #!#"+
!"*715'"% &&!'!"* ! !'&,&' ''"&'&&'"
715'!$(&'"#%")%&'/%&"('"!1'(&&"!' #"%%,
'""*
&, " #"&'"! " " #"!!'&/ "(%',/ ! !'%! *' "'% &,&' &1 '
#",& &(# '!$( '" !! ' (&', " ' " #"!!'&1 ! '"!/ '
(&&%!'%!'+#%!34&#''"#%")%%"!'!"%'!(&%&1
!"* 715 '"% &" &(##"%'& )! '(%& "(2! %%!
#%"&& ! + "% '1 3"% &(&&"! " "!%' '!""& ! &#'&/
#&%%&'"!:1641
(%! ' )"# !' ,/ * '" &#' ' &,&' !'" '% "% '%&0
(&!&&
"'%/'%/!''%1!'%/*(&%!'
'""& ! '!""& '" ( ' '%1 %'"! "! &('', " ' '""& *&
)' '"% ! ' &(&& " ' #%"'1 "% !&'!/ ! ' (&!&&
" '%/ *'
#
(!!/*% ")"'"" #+',%" '&%&%)1(%'% "%/
'!"","*&(&'"%'%''!%(!%"&& ('#%"*&%&"%
)!#"!&1
( %"(&'&'!&'%'&!'!$(&*%(&"%'%1%&('"'&
'&'!&'%'& #%")'%',!#%"(')',"'#%"#"&&,&' 1"%
!&'!/ ' &"(# ##'"! # (& ! '&'! ' !'%'"! ! '
#%"% ! " ' (&!&&
" &%)&1 # '%% +'!&"! *& (&
#% %,'"'&''#%"% !!%&"(%"!&( #'"!"'.'%&1
( &'$( (# !(" ( #(*'/ (' ''&((#" ' ')''1 ' " '
)'()&'')''!"('&""///+&!$ !"((#
)'(&((!$&#*!"("$&#)(*(-"'' (-#"#+ !"!"(
'-'(!1 *" "#+ !"!"( '-'(! ()&' ') ' ,$#&("
$) (#"'(#(,#&!('+& '#')'') -!$ !"(1 "(&!'#)&(-/
'(-"$&*-+!$ "()'(#!')&(-$ (#&!)'""#) "
&&"!"'!'1
&#)$ # $#$ ('( ( $$ (#"1 - & - $$&( !"- '$( #
4131
&() & -0'!"('&""/("/"&""1#+*&/(- *
!" ( '-'(! !#& "(&( +( '# ! +'(' +#) "&' (
)' (- # ( '-'(!1 )' # $$ (#"' (# '' ( $) (#"' +'
&( - $$&( ' + 1 ( #+ (! (# !" (& $) (#"' !#& ' -
"$&#* , (-+(&'$((#'&"/!#-""$) '"1#)
" &&" +' ' (# &( ##" (# !#"(#& ( %) (- # ( #"("(
''!"(1 )' # , #&!( (# ,$#&( (& $) (#"' (# "#(&
"#+ !"!"('-'(!#&#)!"((#&(## #&+'#)"(#
,(&! - )') 1 "(&(#" (- # ( '-'(! * #$ ' $&( # ('
''&((#"/(#)+'"#+"(#+/+' -"#)&1" -( (-(# #
"(#("#+ !"!"('-'(!)'"#"'## #)"('+ '( (-
(# '& $) (#" &#'' 453 &"( '# $ (#&!' +' ' (# " , "(
(#$&#!#()'&&" "''")' (-1
)'("'((('''&((#"+'1
Appendixes
References
@7 ;)(&#(<50#&& ,)'6"..*6::1117.(7)':0#18,.#&-:DAC@:
;--6AA7B7A?@?<
A7 ),.(-5#!/,%5)8",#-.,$)5,"'))*,A??B58
(!#(,#(!."-#(.# #%()1&!'(!'(.*,)--6."#*,)$.5
/.)'.#)(#()(-.,/.#)(5@A5EFF8E?F
B7 /'#(6#((/;)(&#(<50#&& ,)'6"..*6::/'#(7-#27(.:!#8
#(:1),%-: )';--6AC7B7A?@?<
C7 #%'(A??H5?BB@5"()::,%.,;)(&#(<50#&& ,)'6
"..*6::."()',%.,7.3**7)':."()',%.,:A??H:?B:."8 8) 8
))%8!&)&8,*),.888+@8A??H7".'&;--6AC7B7A?@?<
D7 ,#&A??F5,0#8,#(.,"#../,6)(*.-5"()&)!35(-#!(5@-.
#.#)(5,-)(/.#)(5)-.(5
E7 '-)0,(),A??H5A7?,"#../,-5@-.#.#)(5>#&&355!A8B
G7
/ 57A??E5"'(.#6, .#(!
( ,-.,/./,) !(35@-.#.#)(5
#&35:7
@D7 '-)0,(),A??H5A7?,"#../,-5@-.#.#)(5>#&&355!C8D7
;C3 +"
3 *"1(,/
3 *"<::B1
1 $*($*&&" * %$)1$
,"%&#$*%((%(##()1;)* * %$1($* ""1:;=;?BA=B<
??3 &+)()!*
-&* &'$'08'&$!&91-!$$)'%2
++(255"-3*,&3'%5()',+*5"58**2>D3?3><=<9
?@3 ''$''$#!+-)-!.8'&$!&91-!$$)'%2
++(255'3''$3'%5.+''$#!+5'-)-!.3 +%$8**2>D3?3><=<9
?A3 )'+''$-)-!.8'&$!&91-!$$)'%2
++(255...3)*'+3')5 5'(!*5DB3 +%8**2>D3?3><=<9
?B3
8'&$!&91-!$$)'%2 ++(255...3"*'&3')58**2>D3?3><=<9
?D3 ''#'&&+8'&$!&91-!$$)'%2
++(255.!#!3-$'()*3''#3'%5!&/3( (5''#:'&&+8**2
>D3?3><=<9
@B3 !&'.*'%%,&!+!'&',&+!'&8'&$!&91-!$$)'%2
++(255%*&3%!)'*'+3'%5&4,*5&+)%.')#5BB??>@3*(/8**2
A3@3><=<9
62( &##/$$ "& .'!(-&#!-,,-&"'
'++(#(+2007+12+08+)$)))
)! %)%)$+,'21(7(2010-
63( $""#((&#,-&"'
'++2(++#* ,'21(7(2010-
64( ((&#,-&"'
'++("!(+"+"+2006+10+10+)
#)
).2800.
.2900.) ($,'21(7(2010-
65( $&
6((&#'3(''(,-&"'
'++"(!(+! +2 + + (
,'21(7(2010-
66( &(#)'($"+(',-&"'
'++###( % ( +!+ 36( ,'21(7(2010-
67( '&,%&#. 0$+$'(!!$"($(&,-&"'
'++###(( ++!)$))#)) ))
) ,'21(7(2010-
68( ((%144+++2*#(!,2$"4!("#(&4
(+$& #45!$+5(&(2%
,-&"'
'++###(" $(+
+ #+ .#. (
,'5(8(2010-
69( 7$""#($#')$&!(,-&"'
'++###(#3(+ +) ( ,'5(8(2010-
70( )'($"$(+&*!$%"#(($$!$-,-&"'
'++###( (+" ( ,'5(8(2010-
71(
,-&"' '++(!( +,'
14(8(2010-
72( %#$,-&"' '++!((+,'
14(8(2010-
73( &$(,-&"' '++("("( +,'
14(8(2010-
74( $$ $&'(',-&"'
'++"((++!+#/,'14(8(2010-
75( %#$)&$&)"$(+&#
*,-&"' '++")
!( +)!+!) #,'14(8(2010-
%$
$# "#&!&&" !
%%
!&&" !