Forms 6i Patch 4: Forms Listener Servlet for Deployment of Forms

)RUPVL3DWFK)RUPV/LVWHQHU
6HUYOHWIRU'HSOR\PHQWRI)RUPV
RQWKH,QWHUQHW
$Q2UDFOH:KLWH3DSHU
)HEUXDU\
)RUPVL3DWFK)RUPV/LVWHQHU6HUYOHWIRU
'HSOR\PHQWRI)RUPVRQWKH,QWHUQHW
29(59,(:
&XUUHQW$UFKLWHFWXUH
6RFNHW+773DQG+7736&RQQHFWLRQ0RGHV
,VVXHVZLWKWKH&XUUHQW$UFKLWHFWXUHIRU,QWHUQHW'HSOR\PHQWRI
)RUPV
,1752'8&,1*7+()2506,/,67(1(56(59/(7
:KDWLVWKH)RUPV/LVWHQHU6HUYOHW"
:K\6KRXOG,8VHWKH)RUPV/LVWHQHU6HUYOHW"
,167$//,1*7+()2506/,67(1(56(59/(7 %$6,&&21),*85$7,21 *HWWLQJ6WDUWHG
6WHS6HWWLQJHQYLURQPHQWYDULDEOHVLQMVHUYSURSHUWLHV ([DPSOH-6HUYSURSHUWLHVILOHIRU17
([DPSOH-6HUYSURSHUWLHVILOHIRU81,; 6WHS'HWHUPLQHZKHWKHUWRUXQ-6HUYLQ$XWR6WDUWPRGH 6WHS$GGWKH1HZ$SSOHWSDUDPHWHUVHUYHU85/WRWKH
)RUPVZHEFIJILOH
&RQILJXUDWLRQXVLQJ)RUPV&*,RUWKH)RUPV/LVWHQHU6HUYOHW &RQILJXUDWLRQXVLQJVWDWLF+70/SDJHV
&21),*85$7,21127(65(*$5',1*32576 (1'86(5:(%%52:6(55(48,5(0(176
86,1*+7736:,7+7+()2506/,67(1(56(59/(7
6HUYHU5HTXLUHPHQWV
&OLHQWUHTXLUHPHQWV
8VLQJ+7736ZLWK,QWHUQHW([SORUHUDQGQDWLYH-90
8VLQJ+7736ZLWK2UDFOH-,QLWLDWRU 7528%/(6+227,1* (QVXUHWKH/LVWHQHU6HUYOHWDQGQDWLYHPHWKRGVOLEUDU\LVDYDLODEOH
7U\WRUXQWKHWHVWIRUPXVLQJWKHVHUYOHW
'HEXJWUDFLQJ 3(5)250$1&(6&$/$%,/,7<781,1*
/LPLWWKHQXPEHURI+773'SURFHVVHV 6HWWKHPD[&OLHQWGLUHFWLYHWRD+LJKYDOXH 2Q81,;OLPLWWKHQXPEHURIVRFNHWVLQ&/26(B:$,7RU
),1B:$,7VWDWH
'LVDEOH-6HUYORJJLQJ
Forms 6i Patch 4: Forms Listener Servlet for Deployment of Forms on the Internet
Page 2
'LVDEOHWKH-6HUYDXWRUHORDG 5XQWKH+773OLVWHQHUDQG-6HUYHQJLQHVRQGLIIHUHQWPDFKLQHV /2$'%$/$1&,1*-6(59
&DVH7ZR-6HUYHQJLQHVRQWKHVDPHKRVWDV$SDFKHZHEOLVWHQHU 6WHS&RQILJXUHWKH-6HUYHQJLQHV
6WHS0RGLI\WKHMVHUYFRQIILOHWRGLVWULEXWHWKHORDG
6WHS&UHDWHVWDUWDQGVWRSVFULSWV
&DVH7ZR-6HUYHQJLQHVRQDKRVWRWKHUWKDQ$SDFKHZHEOLVWHQHU
6WHS&RQILJXUHWKH-6HUYHQJLQHVRQ+RVWWKHRQHUXQQLQJ
-6HUY 6WHS0RGLI\WKH-6HUYFRQILJXUDWLRQILOHMVHUYFRQILQ+RVWWKH
RQHUXQQLQJWKHZHEOLVWHQHUWRGHILQHZKHUHWKH-6HUYHQJLQHVDUH
UXQQLQJ 6WHS2Q81,;ORDGWKH$SDFKH-6HUYFRPPXQLFDWLRQPRGXOH
6WHS6WDUWWKH-6HUYHQJLQHVLQWKH-6HUYKRVWV Forms 6i Patch 4: Forms Listener Servlet for Deployment of Forms on the Internet
Page 3
)RUPVL3DWFK)RUPV/LVWHQHU6HUYOHWIRU
'HSOR\PHQWRI)RUPVRQWKH,QWHUQHW
OVERVIEW
7KLVGRFXPHQWGHVFULEHVWKHQHZDUFKLWHFWXUHRSWLRQDYDLODEOHIRUWKH2UDFOH
)RUPV6HUYLFHVFRPSRQHQWRIWKH2UDFOHL$SSOLFDWLRQ6HUYHU,QWKLVGRFXPHQW
WKHSKUDVHV2UDFOH)RUPV6HUYHUDQG2UDFOH)RUPV6HUYLFHVDUHXVHGWR
LQGLFDWHWKHVHWRIFRPSRQHQWVUHTXLUHGWRGHSOR\)RUPVDSSOLFDWLRQVXVLQJWKH
WKUHHWLHUPRGHO
Current Architecture
$WUXQWLPH2UDFOH)RUPV6HUYLFHVFRQVLVWVRIWZRVHSDUDWHFRPSRQHQWVWKH
)RUPV/LVWHQHUDQGWKH)RUPV6HUYHU5XQWLPH(DFKFRPSRQHQWUXQVDVD
VHSDUDWHSURFHVVRQWKHVHUYHUPDFKLQH
7KH)RUPV/LVWHQHUDFFHSWVQHZUHTXHVWVIURPFOLHQWVWKDWDUHH[HFXWLQJ)RUPV
DSSOLFDWLRQV:KHQWKHSURFHVVILUVWVWDUWVWKH)RUPV/LVWHQHUFUHDWHVDQHWZRUN
HQGSRLQWRQDSRUW7KHQWKH)RUPV/LVWHQHUJRHVLQWRDZDLWVWDWHXQWLOLWUHFHLYHV
DQHWZRUNUHTXHVWIURPDFOLHQWPDFKLQH8SRQUHFHLYLQJWKHQHWZRUNUHTXHVWWKH
)RUPV/LVWHQHUSURFHVVFUHDWHVDQHZ)RUPV6HUYHUSURFHVVDQGSDVVHVWKHGHWDLOV
RIWKHQHWZRUNFRQQHFWLRQWRWKH)RUPV6HUYHU5XQWLPHSURFHVV
)RUPV6HUYHU5XQWLPHUXQV)RUPVDSSOLFDWLRQVRQWKHVHUYHUPDFKLQH)RUPV
6HUYHU5XQWLPHLVUHVSRQVLEOHIRUH[HFXWLQJWKHFRGHFRQWDLQHGLQWKHUHTXHVWHG
)RUPVDSSOLFDWLRQIRUDVSHFLILFFOLHQW7KHUHPD\EHPRUHWKDQRQH)RUPV6HUYHU
5XQWLPHSURFHVV²RQH)RUPV6HUYHU5XQWLPHSURFHVVLVFUHDWHGIRUHDFK
FRQFXUUHQWXVHU7KH)RUPV6HUYHU5XQWLPHSURFHVVDVVXPHVWKHFOLHQWFRQQHFWLRQ
IURPWKH)RUPV/LVWHQHUSURFHVVDQGPDLQWDLQVWKHFRQQHFWLRQZLWKWKHFOLHQWIRU
WKHGXUDWLRQRIWKH)RUPVDSSOLFDWLRQVHVVLRQ
7KH)RUPV6HUYHU5XQWLPHSURFHVVXVHVDSHUVLVWHQWFRQQHFWLRQWRWKHFOLHQWWR
VHQGLQIRUPDWLRQLQWKHIRUPRIVWUXFWXUHGPHVVDJHVDERXWWKHUXQQLQJ
DSSOLFDWLRQLQGLFDWLQJZKDWWKHFOLHQWQHHGVWRGLVSOD\IRUWKHHQGXVHU
7KHFOLHQWXVHVWKHVDPHSHUVLVWHQWFRQQHFWLRQWRVHQGVWUXFWXUHGPHVVDJHVEDFNWR
WKH)RUPV6HUYHU5XQWLPHSURFHVVLQGLFDWLQJDFWLRQVWKDWWKHHQGXVHUKDV
SHUIRUPHG
Forms 6i Patch 4: Forms Listener Servlet for Deployment of Forms on the Internet
Page 4
Socket, HTTP, and HTTPS Connection Modes
,QLWLDOUHOHDVHVRIWKH2UDFOH)RUPV6HUYHUSURGXFWXVHGDVLPSOHPHWKRGIRU
FRQQHFWLQJWKHFOLHQWWRWKHVHUYHU7KHFRQQHFWLRQIURPWKHFOLHQWWRWKH)RUPV
/LVWHQHUSURFHVVZDVDFFRPSOLVKHGXVLQJDGLUHFWVRFNHWFRQQHFWLRQ7KHGLUHFW
VRFNHWFRQQHFWLRQPRGHZDVVXLWDEOHIRUFRPSDQLHVSURYLGLQJWKLQFOLHQWDFFHVVWR
)RUPVDSSOLFDWLRQVZLWKLQWKHLUFRUSRUDWH/$16:$16)RUWKHGLUHFWVRFNHW
FRQQHFWLRQPRGHWKHFOLHQWKDGWREHDEOHWRVHHWKHVHUYHUPDFKLQHDQGKDGWR
KDYHSHUPLVVLRQWRHVWDEOLVKDGLUHFWQHWZRUNFRQQHFWLRQ
$OWKRXJKWKHGLUHFWVRFNHWFRQQHFWLRQPRGHLVSHUIHFWO\VXLWHGWRGHSOR\PHQWV
ZLWKLQDFRPSDQ\·V/$1:$1LWLVQRWWKHEHVWFKRLFHIRUDSSOLFDWLRQ
GHSOR\PHQWYLDXQVHFXUHGQHWZRUNSDWKVVXFKDVWKH,QWHUQHW7RVDIHJXDUG
YDOXDEOHLQIRUPDWLRQDQGLQIUDVWUXFWXUHDVVHWVDFRPSDQ\WKDWLVFRQQHFWHGWRWKH
,QWHUQHWW\SLFDOO\HPSOR\VDVWULFWSROLF\GHILQLQJWKHW\SHVRIQHWZRUNFRQQHFWLRQV
WKDWFDQEHPDGHE\FOLHQWVRQWKHXQWUXVWHG,QWHUQHWWRVHFXUHFRUSRUDWH
QHWZRUNV3HUPLWWLQJDGLUHFWVRFNHWFRQQHFWLRQIURPDFOLHQWYLDWKH,QWHUQHW
H[SRVHVWKHFRPSDQ\WRSRWHQWLDOLQYDVLRQVEHFDXVHWKHWUXHLGHQWLW\RIWKHFOLHQW
FDQEHKDUGWRGHWHUPLQH
:LWKWKHZLGHVSUHDGDGRSWLRQRI+773DVWKHGHIDFWRVWDQGDUGSURWRFROIRUGDWD
WUDQVPLVVLRQRQWKH,QWHUQHWPRVWFRPSDQLHVSHUPLW+773WUDIILFWRHQWHUDQG
OHDYHWKHLUFRUSRUDWHQHWZRUNV7KHUHIRUH2UDFOH)RUPV6HUYHULZDVH[WHQGHG
WRVXSSRUWGDWDWUDQVPLVVLRQXVLQJ+773DQG+7736LQDGGLWLRQWRWKHGLUHFW
VRFNHWFRQQHFWLRQPRGHXVHGLQHDUOLHUYHUVLRQV
8VLQJWKH+773FRQQHFWLRQPRGHZLWK2UDFOH)RUPV6HUYHUVWUXFWXUHGPHVVDJHV
VHQWWRDQGIURPWKHFOLHQWDQGVHUYHUDUHHQFDSVXODWHGLQVWDQGDUG+773
PHVVDJHV&RPSDQLHVWKDWSHUPLW,QWHUQHWDFFHVVWRWKHLUFRUSRUDWHVHUYHUV
WKURXJKWKHILUHZDOOXVLQJ+773FDQGHSOR\)RUPVDSSOLFDWLRQVLQWKHVDPH
PDQQHUDVVKRZQLQWKHIROORZLQJILJXUH
Forms 6i Patch 4: Forms Listener Servlet for Deployment of Forms on the Internet
Page 5
)LJXUH&XUUHQW)RUPV6HUYHUDUFKLWHFWXUHIRU,QWHUQHWGHSOR\PHQW
Issues with the Current Architecture for Internet Deployment of Forms
$OWKRXJKPRVW)RUPVGHSOR\PHQWVFHQDULRVEHQHILWIURPWKH+773FRQQHFWLRQ
PRGHRIWKH2UDFOH)RUPV6HUYHUWKHUHDUHVRPHNQRZQVKRUWFRPLQJVZLWKWKH
DUFKLWHFWXUH
•
%HFDXVHWKH)RUPV/LVWHQHUSURFHVVPDQDJHVWKHLQLWLDOFRQQHFWLRQVIURPWKH
FOLHQWWKHPDFKLQHRQZKLFKWKH)RUPV/LVWHQHUSURFHVVLVUXQQLQJPXVWEH
H[SRVHGDWWKHILUHZDOOOHYHO,QDGGLWLRQWKHSRUWWKDWWKH)RUPV/LVWHQHU
SURFHVVLVOLVWHQLQJWRPXVWDOVREHH[SRVHG
•
2QFHDFOLHQWFRQQHFWLRQLVKDQGHGWRD)RUPV6HUYHU5XQWLPHSURFHVVWKH
FOLHQWDQGWKH)RUPV6HUYHU5XQWLPHSURFHVVH[SHFWWKHFRQQHFWLRQWREH
SHUVLVWHQW²WKDWLVWKHQHWZRUNHQGSRLQWVPXVWEHPDLQWDLQHG,IWKHQHWZRUN
FRQQHFWLRQDWHLWKHUHQGLVGURSSHGWKHHQGXVHUH[SHULHQFHVDVLJQLILFDQW
LQWHUUXSWLRQDQGKDVWRUHVWDUWWKHDSSOLFDWLRQ
•
%HFDXVHWKHGDWDEHLQJSDVVHGXVHV+773WKH)RUPV/LVWHQHU6HUYHU
SURFHVVHVUHDOO\EHFRPH+773VHUYHUV+DQGOLQJWKHVOLJKWO\GLIIHUHQW+773
IRUPDWVVHQWE\GLIIHUHQWEURZVHUVSUR[LHVDQGILUHZDOOVUHTXLUHVFKDQJHVLQ
WKHSURFHVVHVWKHPVHOYHV
Forms 6i Patch 4: Forms Listener Servlet for Deployment of Forms on the Internet
Page 6
INTRODUCING THE FORMS 6I LISTENER SERVLET
What is the Forms Listener Servlet?
7KH)RUPV/LVWHQHU6HUYOHWLVD-DYDVHUYOHWWKDWLPSURYHVXSRQWKHIXQFWLRQDOLW\
RIWKH)RUPV/LVWHQHU
1RWH,WLVUHFRPPHQGHGWKDW\RXXVHWKH)RUPV/LVWHQHU6HUYOHWZKHQGHSOR\LQJDSSOLFDWLRQV
XVLQJ+773DQG+77367KH)RUPV/LVWHQHULVVWLOODYDLODEOHIRUGLUHFWVRFNHWFRQQHFWLRQV
DQGVWLOOVXSSRUWV+773DQG+7736FRQQHFWLRQV
7KH)RUPV/LVWHQHU6HUYOHWUXQVRQDZHEVHUYHUWKDWLVHTXLSSHGZLWKDVHUYOHW
HQJLQHVXFKDVWKH2UDFOHL$SSOLFDWLRQ6HUYHU7KHZHEVHUYHUGLUHFWV+773
UHTXHVWVIRUWKH)RUPV/LVWHQHU6HUYOHWGLUHFWO\WRWKHVHUYOHWLQVWDQFHV
7KH)RUPV/LVWHQHU6HUYOHWPDQDJHV
•
7KHFUHDWLRQRID)RUPV6HUYHU5XQWLPHSURFHVVIRUHDFKFOLHQW
•
1HWZRUNFRPPXQLFDWLRQVEHWZHHQWKHFOLHQWDQGLWVDVVRFLDWHG)RUPV6HUYHU
5XQWLPHSURFHVV
,QWKLVVFHQDULRWKHFOLHQWVHQGV+773UHTXHVWVDQGUHFHLYHV+773UHVSRQVHV
IURPWKHZHEVHUYHUSURFHVV%HFDXVHWKHZHEVHUYHUDFWVDVWKHQHWZRUNHQGSRLQW
IRUWKHFOLHQWWKHRWKHUVHUYHUPDFKLQHVDQGSRUWVDUHQRORQJHUH[SRVHGDWWKH
ILUHZDOODVVKRZQLQWKHIROORZLQJILJXUH
)LJXUH1HZDUFKLWHFWXUHXVLQJWKH)RUPV/LVWHQHU6HUYOHW
Forms 6i Patch 4: Forms Listener Servlet for Deployment of Forms on the Internet
Page 7
Why Should I Use the Forms Listener Servlet?
7KH)RUPVL/LVWHQHU6HUYOHWZDVGHVLJQHGWRDOORZDPRUHUREXVWDQGVWDQGDUG
GHSOR\PHQWRI)RUPVDSSOLFDWLRQVRQWKH,QWHUQHW
:KHQFRPSDUHGWRWKH)RUPV/LVWHQHUWKH)RUPVL/LVWHQHU6HUYOHWSURYLGHVWKH
IROORZLQJEHQHILWV
•
%URDGHUUDQJHRIILUHZDOOVDQGSUR[LHVVXSSRUWHG
%HFDXVHWKHFOLHQWEURZVHUDOZD\VFRPPXQLFDWHVZLWKWKHZHEVHUYHUWKHUHLV
QRGLUHFWFRQQHFWLRQEHWZHHQWKHFOLHQWDQGWKH)RUPV6HUYHU5XQWLPH
SURFHVVWKLVDUFKLWHFWXUHVXSSRUWVDQ\ILUHZDOORUSUR[\WKDWFDQZRUNZLWKD
VWDQGDUGVHUYOHWXVLQJVHUYOHWVHVVLRQV
•
1RSURWRFROUHVWULFWLRQ+773RU+773
$OWKRXJKWKHXVHRI+773FRPSOLDQWSUR[LHVSURYLGHVEHWWHU
SHUIRUPDQFHWKLVDUFKLWHFWXUHZRUNVZHOOZLWK+773FRPSOLDQWSUR[LHV
WRR
•
1RH[WUDSURFHVVWRPDQDJH
%HFDXVHWKLVDUFKLWHFWXUHHOLPLQDWHVWKHQHHGIRUWKH)RUPV/LVWHQHUSURFHVV
WKHDGPLQLVWUDWLYHWDVNVWRVWDUWDQGVWRSWKH)RUPV/LVWHQHUSURFHVVDUHDOVR
QRORQJHUUHTXLUHG
•
1RVSHFLILFFHUWLILFDWHWRSXUFKDVHPDQDJHIRU66/GHSOR\PHQW
,QWKHFDVHRIGHSOR\PHQWXVLQJ66/VHFXUHVRFNHWVOD\HUWKH+7736
FRQQHFWLRQRFFXUVEHWZHHQWKHFOLHQWEURZVHUDQGZHEVHUYHU7KHUHIRUH
WKHUHDUHQRVSHFLILFVHFXULW\FRQILJXUDWLRQUHTXLUHPHQWVDWWKH)RUPV6HUYHU
OHYHO
•
6WDQGDUGORDGEDODQFLQJVXSSRUW
7KLVDUFKLWHFWXUHDOORZV\RXWRXVHVWDQGDUGORDGEDODQFLQJWHFKQLTXHVVXFKDV
KDUGZDUHEDVHGORDGEDODQFLQJUHYHUVHSUR[\DQGVWDQGDUG$SDFKH-6HUYORDG
EDODQFLQJ0RUHLQIRUPDWLRQLVDYDLODEOHODWHULQWKLVGRFXPHQW
•
,QWHUQHW([SORUHUZLWKQDWLYH-90VXSSRUW
,QDGGLWLRQWRZRUNLQJZLWK2UDFOH-,QLWLDWRUWKLVDUFKLWHFWXUHVXSSRUWVWKH
XVHRI,QWHUQHW([SORUHUZLWKQDWLYH0LFURVRIW-90IRU,QWHUQHW
GHSOR\PHQWXVLQJ+773DQG+7736FRQQHFWLRQPRGHV
Forms 6i Patch 4: Forms Listener Servlet for Deployment of Forms on the Internet
Page 8
7KH)RUPVL/LVWHQHU6HUYOHWGRHVQRWVXSSRUWWKHIROORZLQJ
•
6XSSRUWIURP2UDFOH(QWHUSULVH0DQDJHU
%HFDXVHWKH)RUPV/LVWHQHULVQRORQJHUSDUWRIWKHDUFKLWHFWXUHWKH)RUPV
/LVWHQHU6HUYOHWFDQQRWEHPDQDJHGWKURXJKWKH2UDFOH(QWHUSULVH0DQDJHU
FRQVROH
•
)RUPV6HUYHUORJ
,QWKHSUHYLRXVDUFKLWHFWXUHWKH)RUPV/LVWHQHUORJJHGDOOFRQQHFWLRQVWRD
ORJILOHRQWKHVHUYHUZKHQORJJLQJZDVWXUQHGRQ7KLVORJILOHGRHVQRWH[LVW
IRUWKH)RUPV/LVWHQHU6HUYOHW
•
)RUPVVSHFLILFORDGEDODQFLQJ
7KH)RUPV/LVWHQHU6HUYOHWGRHVQRWXVH)RUPVVSHFLILFORDGEDODQFLQJ/RDG
%DODQFHU6HUYHUDQG/RDG%DODQFHU&OLHQW+RZHYHULWVXSSRUWVVWDQGDUGV
ORDGEDODQFLQJPHWKRGV
INSTALLING THE FORMS LISTENER SERVLET
7KH)RUPV/LVWHQHU6HUYOHWLVLQVWDOOHGDVSDUWRI)RUPV3DWFKVHW
•
,I\RXLQVWDOO)RUPV3DWFKVHWRQWRSRIDQH[LVWLQJYHUVLRQRIL$6\RXZLOO
QHHGWRPDQXDOO\FRQILJXUHWKH)RUPV/LVWHQHU6HUYOHW,QVWDOO)RUPVL
3DWFKVHWLQLVHUYHURU2UDFOH+RPHGHSHQGLQJRQWKHYHUVLRQRIL$6
\RXDUHXVLQJ²RU,QVWDOORQO\WKH)RUPV6HUYHUFRPSRQHQWVXVLQJ
DFXVWRPLQVWDOO'RQRWLQVWDOO)RUPV%XLOGHU
•
,I\RXLQVWDOO)RUPV3DWFKVHWDVSDUWRIL$6DQGKLJKHUWKHEDVLF
FRQILJXUDWLRQRIWKH)RUPV/LVWHQHU6HUYOHWLVDXWRPDWLF
BASIC CONFIGURATION
/RFDWLRQRIWKHFRQILJXUDWLRQILOHV
-VHUYSURSHUWLHV
2UDFOHBKRPH!DSDFKHMVHUYFRQI
-VHUYFRQI
2UDFOHBKRPH!DSDFKHMVVHUYFRQI
KWWSGFRQI
2UDFOHBKRPH!DSDFKHDSDFKHFRQI
)RUPVZHEFIJ
)RUPV2UDFOHBKRPHIRUPVVHUYHU
Getting Started
7KH)RUPV/LVWHQHU6HUYOHWFUHDWHVWKH)RUPV6HUYHU5XQWLPHSURFHVVLIZHERU
IZHEPIRUHDFKDFWLYH)RUPVVHVVLRQDQGVWRSVWKHSURFHVVZKHQWKHVHVVLRQ
HQGV7KHHQYLURQPHQWIRU)RUPV6HUYHU5XQWLPHSURFHVVHVLVLQKHULWHGIURPWKH
VHUYOHWHQJLQH-6HUY7KHUHIRUHWKHHQYLURQPHQWYDULDEOHVUHTXLUHGIRUD)RUPV
6HUYHU5XQWLPHSURFHVVIRUH[DPSOH3$7+25$&/(B+20(
)2506B3$7+DUHVHWLQWKH-6HUYHQYLURQPHQW
Forms 6i Patch 4: Forms Listener Servlet for Deployment of Forms on the Internet
Page 9
1RWH2Q17)RUPVUHDGV2UDFOHHQYLURQPHQWVHWWLQJVIURPWKHUHJLVWU\XQOHVV
WKH\DUHSUHVHQWDVHQYLURQPHQWYDULDEOHV
3UHFRQILJXUDWLRQUHTXLUHPHQWV
•
)RUPVRUDFOHBKRPH!ELQPXVWEHLQWKH3$7+VRWKDWWKH)RUPV6HUYHU
5XQWLPHH[HFXWDEOHFDQEHORFDWHG
•
6KDUHGOLEUDULHVPXVWEHORFDWDEOHQRWDEO\WKH)RUPV/LVWHQHU6HUYOHW-DYD
1DWLYH0HWKRGVRU-1,OLEUDU\
•
•
2Q173$7+PXVWLQFOXGHWKH)RUPVRUDFOHBKRPH!ELQGLUHFWRU\
•
2Q81,;/'B/,%5$5<B3$7+PXVWSRLQWWR)RUPV
RUDFOHBKRPH!OLE
)RUPV/LVWHQHU6HUYOHWFODVVHV)RUPV
2UDFOHBKRPHIRUPVMDYDIVUYMDUPXVWEHDYDLODEOHLQWKH-DYDFODVVSDWK
RIWKHVHUYOHWHQJLQH
7KHIROORZLQJFRQILJXUDWLRQVWHSVWKURXJKDUHSHUIRUPHGDXWRPDWLFDOO\LI\RX
LQVWDOO)RUPV3DWFKVHWDVSDUWRIL$6DQGKLJKHU
Step 1: Setting environment variables in jserv.properties
-6HUYHQYLURQPHQWVHWWLQJVDUHFRQILJXUHGLQWKH-VHUYSURSHUWLHVILOHXVLQJ
ZUDSSHUHQYGLUHFWLYHVRUZUDSSHUSDWKWRVHWWKH3$7+
1RWH7KHIROORZLQJH[DPSOHVDUHQRWFRPSOHWH-VHUYSURSHUWLHVILOHV2QO\OLQHV
UHOHYDQWWR2UDFOH)RUPVDUHLQFOXGHG,QWKHH[DPSOHVG?RUDFOH?LVWKH
)RUPV2UDFOH+RPHDQGG?RUDFOH?LVXLWHVLVWKH2UDFOHL$62UDFOH+RPH
Example JServ.properties file for NT
wrapper.classpath=d:\oracle\806\forms60\java\f60srv.jar
wrapper.path=d:\oracle\806\bin;d:\oracle\isuites\bin
wrapper.env=ORACLE_HOME=d:\oracle\806
wrapper.env=FORMS60_PATH=d:\oracle\806\forms60;c:\myapp
Example JServ.properties file for UNIX
wrapper.path=/private2/oracle/806/bin:/private2/oracle/isuites/bin
wrapper.env=ORACLE_HOME=/private2/oracle/806
wrapper.env=FORMS60_PATH=/private2/oracle/806/forms60:/home/myapp
wrapper.env=LD_LIBRARY_PATH=/private2/oracle/806/lib
Forms 6i Patch 4: Forms Listener Servlet for Deployment of Forms on the Internet
Page 10
Step 2: Determine whether to run JServ in Auto-Start mode
'HSHQGLQJRQWKHQXPEHURIFRQFXUUHQWXVHUVWKDW\RXH[SHFWGHFLGHZKHWKHUWR
VWDUW-6HUYDXWRPDWLFDOO\RUPDQXDOO\
•
,IWKHQXPEHURIFRQFXUUHQWXVHUVZLOOEHOHVVWKDQ\RXFDQUXQ-6HUYLQ
$XWR6WDUWPRGH
•
,IWKHQXPEHURIFRQFXUUHQWXVHUVZLOOEHPRUHWKDQRULIWKH-6HUY
SURFHVVHVZLOOUXQRQDPDFKLQHVHSDUDWHIURPWKH$SDFKHZHEOLVWHQHU\RXU
VLWHDGPLQLVWUDWRUPXVWH[SOLFLWO\VWDUWWKH-6HUYHQJLQHRUHQJLQHV6HHWKH
/RDG%DODQFLQJ-6HUYVHFWLRQRIWKLVGRFXPHQWIRUGHWDLOVRQKRZWRVHWXS
DQGVWDUW-6HUYLQPDQXDOPRGH
7RUXQ-6HUYLQ$XWR6WDUWPRGH
,QWKHMVHUYFRQIILOHZKLFKLVLQFOXGHGLQWRKWWSGFRQIRUKWWSGVFRQIFKHFNWKDW
WKHIROORZLQJSDUDPHWHULVVHWWR´RIIµ
ApJServManual off
1RWH7KH$S-6HUY0DQXDOSDUDPHWHULVVHWWR´RIIµE\GHIDXOW:KHQVHWWR´RIIµ
-6HUYUXQVLQDXWRPDWLFPRGHWKDWLVDVLQJOH-6HUYSURFHVVLVXVHGDQGLV
DXWRPDWLFDOO\VWDUWHGDQGVWRSSHGE\WKH$SDFKH:HE/LVWHQHU
Step 3: Add the New Applet parameter serverURL to the Formsweb.cfg
file
:KHQXVLQJWKH)RUPV/LVWHQHULQSUHSDWFKVHWUHOHDVHVWKH)RUPV-DYDFOLHQW
FRQQHFWVWRWKH)RUPV/LVWHQHUXVLQJWKHYDOXHVSURYLGHGLQWKHVHUYHU+RVWDQG
VHUYHU3RUWDSSOHWSDUDPHWHUV+RZHYHUZKHQXVLQJWKH)RUPV/LVWHQHU6HUYOHW
\RXQHHGWRSURYLGHDYDOXHIRUDQHZSDUDPHWHUVHUYHU85/
7KHVHUYHU85/SDUDPHWHUVSHFLILHVWKH85/WRDFFHVVWKH)RUPV/LVWHQHU6HUYOHW
<RXPXVWVSHFLI\LWDVDUHODWLYH85/²UHODWLYHWRWKHZHEVHUYHUIURPZKLFKWKH
+70/SDJHFRQWDLQLQJWKH)RUPVDSSOHWWDJZDVORDGHG
$W\SLFDOYDOXHLVVHUYOHWRUDFOHIRUPVVHUYOHW/LVWHQHU6HUYOHW
7KLVYDOXHZRUNVZLWK2UDFOHL$6DQGVWDQGDUG$SDFKH-6HUYLQVWDOODWLRQV7KH
SDUWLQEROGLVWKHFODVVQDPHIRUWKHVHUYOHW7KHSDUWEHIRUHWKHFODVVQDPHLVWKH
SDWKUHTXLUHGWRH[HFXWHDQ\VHUYOHWFODVVZKLFKGHSHQGVRQWKHVHUYOHWHQJLQH
VHWWLQJV
1RWH,IVHUYHU+RVWVHUYHU3RUWDQGVHUYHU85/DUHVSHFLILHGDQGLIVHUYHU85/LV
QRWDQHPSW\VWULQJWKHQVHUYHU85/WDNHVSUHFHGHQFHPHDQLQJWKDWWKH)RUPV
/LVWHQHU6HUYOHWLVXVHG
1RWH,IVHUYHU85/LVVSHFLILHGDQGLIVHUYHU85/LVQRWDQHPSW\VWULQJWKHQWKH
)RUPV/LVWHQHU6HUYOHWLVXVHG7KHDSSOHWSDUDPHWHUFRQQHFW0RGHLVLJQRUHG
,QVWHDGWKHFRQQHFWLRQSURWRFROLVGHWHUPLQHGE\WKHVHUYHU85/YDOXHLILWLVD
Forms 6i Patch 4: Forms Listener Servlet for Deployment of Forms on the Internet
Page 11
IXOO85/ZLWKWKHSURWRFRORUE\WKHSURWRFROXVHGWRDFFHVVWKHSDJHKWWSRU
KWWSV
Configuration using Forms CGI or the Forms Listener Servlet
7KHEDVH+70/ILOHVLQVWDOOHGE\WKH)RUPVLSDWFKUHOHDVHEDVHKWP
EDVHMLQLKWPDQGEDVHLHKWPFRQWDLQWKHQHZDSSOHWSDUDPHWHUVHUYHU85/
7KHIRUPVZHEFIJILOHVHWVVHUYHU85/WRDQHPSW\VWULQJE\GHIDXOWVRWKDWE\
GHIDXOWWKH)RUPV/LVWHQHULVXVHG,QRUGHUWRXVHWKH)RUPV/LVWHQHU6HUYOHW
\RXPXVWVHWVHUYHU85/WRDQDSSURSULDWHYDOXHDVGHVFULEHGLQWKHSUHYLRXV
VHFWLRQ7KLVFDQEHGRQHE\HGLWLQJWKHIRUPVZHEFIJILOHDQGFKDQJLQJWKH
GHIDXOWVHUYHU85/VHWWLQJRUE\DGGLQJDVHUYHU85/SDUDPHWHUVHWWLQJLQDVSHFLILF
VHFWLRQDVIROORZV
serverURL=/servlet/oracle.forms.servlet.ListenerServlet
Configuration using static HTML pages
,I\RXDUHXVLQJVWDWLF+70/SDJHVDGGWKHVHUYHU85/DSSOHWSDUDPHWHUDQG
UHPRYHWKHVHUYHU3RUWDQGVHUYHU+RVWSDUDPHWHUV,QWKHIROORZLQJH[DPSOHWKH
OLQHVLQEROGDUHQHZ
<APPLET CODEBASE="/if994/java/"
CODE="oracle.forms.engine.Main"
ARCHIVE="f60all.jar"
WIDTH="800"
HEIGHT="600">
<PARAM NAME="serverURL"
VALUE="/servlet/oracle.forms.servlet.ListenerServlet">
<PARAM NAME="serverArgs"
<PARAM NAME="splashScreen"
VALUE="myform myuser/mypass">
<PARAM NAME="lookAndFeel"
VALUE="No">
VALUE="Generic">
</APPLET>
CONFIGURATION NOTES REGARDING PORTS
,QIXWXUHSDWFKVHWUHOHDVHVWKHKDQGOLQJRISRUWVPD\FKDQJH&XUUHQWO\WKH)RUPV
/LVWHQHU6HUYOHWFRPPXQLFDWHVZLWKWKH)RUPV6HUYHU5XQWLPHSURFHVVHVXVLQJ
KDUGFRGHGSRUWQXPEHUV
%\GHIDXOWWKHSRUWVXVHGVWDUWZLWK7KHSRUWQXPEHUVXVHGDUH
XSWR DQGWKHQVWDUWDJDLQDW,IWKHUHLVDVHFRQG-6HUY
HQJLQHLWZLOOXVHXSWRDQGWKHQVWDUWDJDLQDW
Forms 6i Patch 4: Forms Listener Servlet for Deployment of Forms on the Internet
Page 12
,IRWKHUVRIWZDUHLVOLVWHQLQJRQRQHRIWKHSRUWVWKDWZHXVHDFRQIOLFWPLJKW
UHVXOWSUHYHQWLQJVRPH)RUPVVHVVLRQVIURPVWDUWLQJVXFFHVVIXOO\
,I\RXDQWLFLSDWHDFRQIOLFW\RXFDQFKDQJHWKHSRUWQXPEHUVWKDWWKH)RUPV
/LVWHQHU6HUYOHWXVHVE\VHWWLQJWKHIROORZLQJVHUYOHWLQLWLDOL]DWLRQSDUDPHWHUVLQWKH
]RQHSURSHUWLHVILOH
•
VWDUW3RUWGHIDXOW
•
PD[3RUWVGHIDXOW
%\VHWWLQJWKHVHYDOXHVSRUWQXPEHUVZLOOVWDUWDWVWDUW3RUWDQGZLOOUHF\FOHDIWHU
PD[3RUWWLPHV
)RUH[DPSOHLIVWDUW3RUW DQGPD[3RUWV WKH)RUPV/LVWHQHU6HUYOHWZLOO
XVHSRUWVDQGVRRQWKURXJKDQGWKHQJREDFNDQGUHXVH,I
WKHUHDUHWZR-6HUYHQJLQHVWKHVHFRQGHQJLQHZLOOXVHDQGVRRQ
WKURXJKDQGWKHQUHXVH
6HWPD[3RUWVWRWKHPD[LPXPQXPEHURIVLPXOWDQHRXVUHTXHVWVWKDW\RX
DQWLFLSDWHWKHZHEVHUYHUZLOOUHFHLYHWRVWDUWD)RUPVVHVVLRQ7KHGHIDXOWYDOXHRI
LVIDLUO\KLJK
7RVHWWKHVHSDUDPHWHUVDSSHQGWKHIROORZLQJOLQHLQ\RXU]RQHSURSHUWLHVILOH
servlet.oracle.forms.servlet.ListenerServlet.initArgs=startPort=8500,ma
xPorts=50
,QWKHDERYHH[DPSOHLVWKHSRUWWKDWWKH)RUPV/LVWHQHU6HUYOHWZLOOVWDUW
ZLWKDQGLVWKHPD[LPXPQXPEHURISRUWVRSHQHGEHIRUHF\FOLQJEDFNWRWKH
ILUVWSRUW
END-USER (WEB BROWSER) REQUIREMENTS
6XSSRUWHGZHEEURZVHUVDQGFRQILJXUDWLRQVDUHVLPLODUWR2UDFOH)RUPVLH[FHSW
IRUWKHIROORZLQJDGGLWLRQDOUHTXLUHPHQWV
•
-,QLWLDWRUYHUVLRQRUDERYHPXVWEHXVHG,I1HWVFDSH1DYLJDWRURU
,QWHUQHW([SORUHULVEHLQJXVHGZLWK2UDFOH-,QLWLDWRUDVWKH-90XVHUVPXVW
XSJUDGHWR-,QLWLDWRURUKLJKHU-,QLWLDWRULVVXSSOLHGZLWK)RUPV
LSDWFKVHW,I\RXDWWHPSWWRH[HFXWHD)RUPVDSSOLFDWLRQZLWKWKH)RUPV
/LVWHQHU6HUYOHWXVLQJDSUHYLRXVYHUVLRQRI-,QLWLDWRUDQHUURUPHVVDJH
H[SODLQLQJWKHSUREOHPLVGLVSOD\HG
•
:KHQXVLQJ,QWHUQHW([SORUHUZLWKWKHQDWLYH-90VHVVLRQFRRNLHV
PXVWEHHQDEOHG$OOHQGXVHUVUXQQLQJ)RUPVDSSOLFDWLRQVLQ,QWHUQHW
([SORUHURUKLJKHUZLWK0LFURVRIW·VQDWLYH-90UDWKHUWKDQ2UDFOH
-,QLWLDWRU0867FRQILJXUH,QWHUQHW([SORUHUWRDFFHSWVHVVLRQFRRNLHV
6HVVLRQFRRNLHVDUHQRWVWRUHGRQWKHXVHU·VGLVNDQGRQO\ODVWIRUWKHGXUDWLRQ
RIWKHEURZVHUVHVVLRQ
Forms 6i Patch 4: Forms Listener Servlet for Deployment of Forms on the Internet
Page 13
&KHFNWKLVVHWWLQJDVIROORZV
6HOHFWWKHRSWLRQ,QWHUQHW6HWWLQJVIURPWKH7RROVPHQX
&OLFNRQWKH6HFXULW\WDE,IWKHVHFXULW\OHYHOLVVHWWR0HGLXPWKHQ
VHVVLRQFRRNLHVDUHDOUHDG\HQDEOHG
7RGRXEOHFKHFNWKHVHWWLQJRULIWKHVHFXULW\OHYHOLVPDUNHGDV+LJKRU
&XVWRPFOLFNRQWKH&XVWRP/HYHOEXWWRQ
6FUROOGRZQWRDQGGRXEOHFOLFNWKH&RRNLHVQRGHWRH[SDQGLW
/RRNXQGHUWKHQRGHPDUNHG$OORZSHUVHVVLRQ&RRNLHVQRWVWRUHG
,ILWLVPDUNHG'LVDEOHGFKDQJHLWWR(QDEOHRU3URPSW
USING HTTPS WITH THE FORMS LISTENER SERVLET
Server Requirements
+7736UHTXLUHVWKHXVHRIGLJLWDOFHUWLILFDWHV%HFDXVHWKH)RUPV/LVWHQHU6HUYOHW
LVDFFHVVHGYLD\RXUZHEVHUYHU\RXGRQRWQHHGWRSXUFKDVHVSHFLDOFHUWLILFDWHVIRU
FRPPXQLFDWLRQVEHWZHHQWKH)RUPVFOLHQWDQGWKHVHUYHU<RXRQO\QHHGWR
SXUFKDVHDFHUWLILFDWHIRU\RXUZHEVHUYHUIURPDUHFRJQL]HG&HUWLILFDWH$XWKRULW\
Client requirements
Using HTTPS with Internet Explorer and native JVM
,I\RXUHQGXVHUVDUHUXQQLQJ,QWHUQHW([SORUHURUKLJKHUZLWKQDWLYH-90
UDWKHUWKDQ2UDFOH-,QLWLDWRUWKHQDOOWKDWLVUHTXLUHGWRDFFHVVDSDJHWKDW
FRQWDLQVWKH)RUPVDSSOHWWDJLVDQKWWSVVW\OH85/
)RUH[DPSOHLIDQDSSOLFDWLRQZDVEHLQJDFFHVVHGLQ+773PRGHDVIROORZVXVLQJ
)RUPV&*,
http://myserver/dev60cgi/ifcgi60.exe?config=myapp or
http://myserver/servlet/f60servlet?config=myapp
WKHQXVHUVZRXOGUHTXHVWWKHIROORZLQJ85/LQVWHDG
https://myserver/dev60cgi/ifcgi60.exe?config=myapp or
https://myserver/servlet/f60servlet?config=myapp
1RWH7KHZHEVHUYHUPXVWEHFRQILJXUHGZLWKDQDSSURSULDWHFHUWLILFDWHWR
VXSSRUW+7736,I\RXDUHXVLQJWKHWHVWFHUWLILFDWHVXSSOLHGZLWK2UDFOHL$6IRU
WHVWSXUSRVHV\RXZLOOEHSURPSWHGE\,QWHUQHW([SORUHURQZKHWKHURUQRWWR
DFFHSWWKHFHUWLILFDWH7KLVLVEHFDXVHWKHGHPRURRWFHUWLILFDWHDXWKRULW\LVQRWD
UHDORQHDQGZLOOQRWEHUHFRJQL]HGE\,QWHUQHW([SORUHU
1RWH$VPHQWLRQHGLQWKHFRQILJXUDWLRQVHFWLRQWKHVHUYHU85/YDOXHVHWLQWKH
IRUPVZHEFIJILOHVKRXOGXVHDUHODWLYH85/IRUH[DPSOH
serverURL=/servlet/oracle.forms.servlet.ListenerServlet
Forms 6i Patch 4: Forms Listener Servlet for Deployment of Forms on the Internet
Page 14
7KH)RUPVDSSOHWDXWRPDWLFDOO\DFFHVVHVWKH)RUPV/LVWHQHU6HUYOHWXVLQJ+7736
E\XVLQJD85/FRQVWUXFWHGIURPWKHGRFXPHQWEDVHFRPELQHGZLWKWKH
VHUYHU85/VHWWLQJIRUH[DPSOH
https://myserver/servlet/oracle.forms.servlet.ListenerServlet
Using HTTPS with Oracle JInitiator
,I\RXUHQGXVHUVDUHUXQQLQJ2UDFOH-,QLWLDWRUDVWKHZHEEURZVHU-90WKHQ\RX
QHHGWRFKHFNWKDWWKH5RRW&HUWLILFDWH$XWKRULW\RI\RXUZHEVLWH·V66/FHUWLILFDWH
LVRQHRIWKRVHGHILQHGLQWKH-,QLWLDWRUFHUWGEW[WILOH
7KHFHUWGEW[WILOHLVXVXDOO\IRXQGXQGHUF?SURJUDPILOHV?RUDFOH?MLQLWLDWRU
YHUVLRQ!?OLE?VHFXULW\RQWKHPDFKLQHZKHUH-,QLWLDWRUZDVLQVWDOOHG
1RWH,I\RXDUHXVLQJWKHWHVWFHUWLILFDWHVXSSOLHGZLWK2UDFOHL$6IRUWHVW
SXUSRVHV\RXPXVWHGLWWKH-,QLWLDWRUFHUWGEW[WILOHDQGDSSHQGWKHFRQWHQWVRI
WKHGHPRURRWFHUWLILFDWHZKLFKLVORFDWHGLQL$6
RUDFOHBKRPH$SDFKH$SDFKHFRQIVVOFUWGHPR&$FHUWW[W2WKHUZLVH\RXZLOO
JHWWKHIROORZLQJHUURUZKHQDWWHPSWLQJWRUXQD)RUPMDYD[QHWVVO66/([FHSWLRQ
66/KDQGVKDNHIDLOHG;&HUW&KDLQ,QYDOLG(UU
TROUBLESHOOTING
Ensure the Listener Servlet and native methods library is available
7KHIROORZLQJWHVWFKHFNVWKDWWKH-6HUYFODVVSDWKDQG3$7+VHWWLQJVDQG
/'B/,%5$5<B3$7+RQ81,;DUHFRUUHFW
1.
3RLQW\RXUZHEEURZVHUWRD85/OLNH
http://your_server/servlet/oracle.forms.servlet.ListenerServlet
<RXVKRXOGJHWSDJHWLWOHG)RUPVL/LVWHQHU6HUYOHW
&OLFNRQWKHOLQN7HVWQDWLYHPHWKRGFDOO-1,WRYDOLGDWH\RXU
FRQILJXUDWLRQ<RXVKRXOGQRWVHHDQ\HUURUV,I\RXGRWKH3$7+RU
/'B/,%5$5<B3$7+VHWWLQJVDUHSUREDEO\ZURQJRUWKHLIMVOGOO
OLELIMVOVRILOHLVQRWSUHVHQWLQ)RUPVRUDFOHBKRPH!ELQRU)RUPV
RUDFOHBKRPH!OLE
Try to run the test form using the servlet
3RLQW\RXUZHEEURZVHUWRD85/OLNH
http://your_server/servlet/f60servlet?config=servlet.
7KHWHVWIRUPVKRXOGFRPHXS
Forms 6i Patch 4: Forms Listener Servlet for Deployment of Forms on the Internet
Page 15
1RWH7KHIRUPVZHEFIJILOHPXVWKDYHWKHIROORZLQJVHFWLRQLQRUGHUIRUWKLVWHVW
WRZRUN
[servlet]
serverURL=/servlet/oracle.forms.servlet.ListenerServlet
Debug tracing
7UDFHPHVVDJHVDUHZULWWHQWRWKH)RUPV/LVWHQHU6HUYOHWHQJLQH
VORJILOHXVXDOO\
MVHUYORJLIGHEXJRUSHUILVDSSHQGHGWRWKHVHUYHU85/YDOXH
7RZULWHSHUIRUPDQFHPHVVDJHVWRWKHMVHUYORJILOHGRWKHIROORZLQJ
http://yourserver/servlet/f60servlet?config=servlet&serverURL=/servlet/
oracle.forms.servlet.ListenerServlet/perf
7KLVFDXVHVDSHUIRUPDQFHPHVVDJHWREHZULWWHQZKHQHYHUDUHTXHVWIURPWKH
FOLHQWLVSURFHVVHGVWDWLQJWKHWLPHWDNHQWRSURFHVVWKHUHTXHVWDQGWKHQXPEHURI
E\WHVRILQSXWDQGRXWSXW$VXPPDU\JLYLQJWKHDYHUDJHSHUIRUPDQFHIRUWKH
VHVVLRQLVZULWWHQZKHQHYHUD)RUPVVHVVLRQHQGVQRUPDOO\IRUH[DPSOHDVWKH
UHVXOWRIDQH[LWBIRUPFDOOLQWKH)RUPVDSSOLFDWLRQ
7RZULWHIXOOGHEXJPHVVDJHVWRWKHMVHUYORJILOHGRWKHIROORZLQJ
http://your_server/servlet/f60servlet?config=servlet&serverURL=/servlet
/oracle.forms.servlet.ListenerServlet/debug
PERFORMANCE/SCALABILITY TUNING
:KHQXVLQJWKH)RUPV/LVWHQHU6HUYOHWPRVWWXQLQJVWHSVDUHWKRVHWKDWZRXOGEH
DSSURSULDWHIRUDQ\KLJKWKURXJKSXWVHUYOHWDSSOLFDWLRQ
Limit the number of HTTPD processes
7RDYRLGVSDZQLQJWRRPDQ\+773'SURFHVVHVZKLFKLVPHPRU\FRQVXPLQJVHW
WKHIROORZLQJGLUHFWLYHLQWKH$SDFKHFRQILJXUDWLRQILOHKWWSGFRQI
KeepAlive Off
,I\RXPXVWXVH.HHS$OLYH2QIRUDQRWKHUDSSOLFDWLRQIRUH[DPSOHPDNHVXUH
WKDW.HHS$OLYH7LPHRXWLVVHWWRDORZQXPEHUIRUH[DPSOHVHFRQGVZKLFKLV
WKHGHIDXOW
Set the maxClient directive to a High value
,WLVEHVWWROHW$SDFKHGHWHUPLQHZKHQWRFUHDWHPRUH+773'GDHPRQV
7KHUHIRUHVHWWKHPD[&OLHQWGLUHFWLYHWRDKLJKYDOXHLQWKH$SDFKHFRQILJXUDWLRQ
ILOHKWWSGFRQI+RZHYHU\RXQHHGWRFRQVLGHUWKHPHPRU\DYDLODEOHRQWKH
V\VWHPZKHQVHWWLQJWKLVSDUDPHWHU
0D[&OLHQW PHDQVWKDW$SDFKHFDQFUHDWHXSWR+773'SURFHVVHVWR
KDQGOHFRQFXUUHQWUHTXHVWV
Forms 6i Patch 4: Forms Listener Servlet for Deployment of Forms on the Internet
Page 16
%DVHGRQRXUWHVWVDERXW+773'SURFHVVHVDUHFUHDWHGWRKDQGOH
FRQFXUUHQWXVHUV7KLVYDOXHPD\YDU\GHSHQGLQJRQWKHXVDJHRI\RXUDSSOLFDWLRQ
On UNIX, limit the number of sockets in CLOSE_WAIT or FIN_WAIT
state
2Q6RODULVDQGSRVVLEO\VRPHRWKHU81,;SODWIRUPVVHWWKHIROORZLQJNHUQHO
7&3SDUDPHWHUVWRORZYDOXHVOLNH
tcp_close_wait_interval
tcp_fin_wait_2_flush_interval
Disable JServ logging
/RJJLQJLPSDFWVSHUIRUPDQFH,WLVEHVWWRUHGXFHWKHJHQHUDWHGORJRUHYHQGLVDEOH
LWLQDSURGXFWLRQHQYLURQPHQWLISHUIRUPDQFHLVDQLVVXH7RGRWKLVVHWWKH
IROORZLQJSDUDPHWHULQWKH-6HUYFRQILJXUDWLRQILOHMVHUYFRQI
Set log=false
Disable the JServ auto-reload
%\GHIDXOWHYHU\VHUYOHWUHSRVLWRU\LVFKHFNHGDQGDOOWLPHVWDPSVDUHFRPSDUHGIRU
PRGLILFDWLRQHDFKWLPHDVHUYOHWLVH[HFXWHG7RDYRLGWKLVVHWWKHIROORZLQJ
SDUDPHWHUVLQWKH]RQHSURSHUWLHVILOH
autoreload.classes=false
autoreload.file=false
Run the HTTP listener and JServ engine(s) on different machines
%DVHGRQRXUWHVWVWKHRQO\VFDODELOLW\GLIIHUHQFHEHWZHHQWKH)RUPV/LVWHQHU
6HUYOHWDUFKLWHFWXUHDQGWKH)RUPV/LVWHQHUDUFKLWHFWXUHLVUHODWHGWRWKH+773
OLVWHQHUV
,IWKH-6HUYHQJLQHVDUHUXQQLQJRQDGLIIHUHQWPDFKLQHWKDQWKH+773OLVWHQHU
WKHWZRDUFKLWHFWXUHVKDYHWKHVDPHVFDODELOLW\
6HHWKH/RDG%DODQFLQJVHFWLRQWKDWIROORZVIRUWKHFRQILJXUDWLRQQHHGHGWRUXQ
-6HUYRQDPDFKLQHRWKHUWKDQWKH+773OLVWHQHU
LOAD BALANCING JSERV
7KHQHZ)RUPV/LVWHQHU6HUYOHWDUFKLWHFWXUHDOORZV\RXWRORDGEDODQFHWKHV\VWHP
XVLQJDQ\RIWKHVWDQGDUGORDGEDODQFLQJWHFKQLTXHVDYDLODEOH
$SDFKHSURYLGHVDEXLOWLQORDGEDODQFLQJPHFKDQLVPWKDWDOORZV\RXWRUXQ
PXOWLSOH-6HUYHQJLQHVRQGLIIHUHQWKRVWV)RUDFRPSOHWHGHVFULSWLRQRIWKLV
IHDWXUHSOHDVHUHIHUWRWKH$SDFKHGRFXPHQWDWLRQDYDLODEOHDVSDUWRI2UDFOHL$6
DWKWWSVHUYHU!SRUW!MVHUYGRFVKRZWRORDGEDODQFLQJKWPOZKHUHVHUYHU
DQGSRUWDUHWKHVHUYHUQDPHZKHUH2UDFOHL$6ZDVLQVWDOOHGDQGSRUWLVWKHSRUW
Forms 6i Patch 4: Forms Listener Servlet for Deployment of Forms on the Internet
Page 17
QXPEHURI\RXU$SDFKHZHEOLVWHQHURUGHSHQGLQJRQWKHYHUVLRQDQGWKH
RSHUDWLQJV\VWHP
,QWKLVVHFWLRQZHORRNDWWZRVFHQDULRV
•
+RZWREDODQFHLQFRPLQJUHTXHVWVEHWZHHQWZR-6HUYHQJLQHVRQWKHVDPH
KRVWDVWKH$SDFKHZHEOLVWHQHU
•
+RZWREDODQFHLQFRPLQJUHTXHVWVEHWZHHQWZR-6HUYHQJLQHVRQDGLIIHUHQW
KRVWWKDQWKH$SDFKHZHEOLVWHQHU
Case 1: Two JServ engines on the same host as Apache web listener
8VHWKLVFRQILJXUDWLRQLI\RXDUHH[SHFWLQJPRUHWKDQFRQFXUUHQWXVHUVZKLFK
LVDQDSSUR[LPDWHOLPLWIRURQH-6HUYHQJLQHZLWKRXWH[SHULHQFLQJQRWLFHDEOH
SHUIRUPDQFHGHJUDGDWLRQDQGLI\RXKDYHHQRXJKV\VWHPUHVRXUFHVWRKDQGOHWKH
+773OLVWHQHUORDGDQGWKH)RUPV6HUYHUORDG
)LJXUH0XOWLSOH-6HUYHQJLQHVRQRQHKRVW
Step 1: Configure the JServ engines
,QRUGHUWREDODQFHWKHORDGDPRQJPXOWLSOH-6HUYSURFHVVHVWKH-6HUYHQJLQHV
PXVWEHFRQILJXUHGWROLVWHQRQGLIIHUHQWSRUWVDQGWRORJWRVHSDUDWHILOHV
,I\RXKDYHDQH[LVWLQJMVHUYSURSHUWLHVILOHWKDWFRQWDLQVDOORIWKHFRUUHFW
SDUDPHWHUVWRUXQ\RXUDSSOLFDWLRQ
&RS\WKHMVHUYSURSHUWLHVILOHWRWZRVHSDUDWHILOHVIRUH[DPSOH
MVHUYSURSHUWLHVDQGMVHUYSURSHUWLHV
Forms 6i Patch 4: Forms Listener Servlet for Deployment of Forms on the Internet
Page 18
(GLWHDFKRIWKHILOHVDVIROORZV
MVHUYSURSHUWLHV
port=8001
log.file=/usr/local/jserv/logs/jserv1.log
MVHUYSURSHUWLHV
port=8002
log.file=/usr/local/jserv/logs/jserv2.log
1RWH7KHVHWWLQJVXVHGLQWKHH[DPSOHVDERYHDUHEDVHGRQDJLYHQSRUWXVDJH
VFKHPHDQGDVSHFLILFORJGLUHFWRU\ORFDWLRQ<RXPXVWVHWWKHVHSDUDPHWHUV
DFFRUGLQJWR\RXUORFDOFRQYHQWLRQVDQGRSHUDWLQJV\VWHP
Step 2: Modify the jserv.conf file to distribute the load
1.
:KHQXVLQJPXOWLSOH-6HUYHQJLQHV\RXFDQQRWDOORZ$SDFKHWRVWDUWWKH-6HUY
SURFHVVHVDXWRPDWLFDOO\,QVWHDGWKH-6HUYSURFHVVHVKDYHWREHVWDUWHG
PDQXDOO\7RGRVRVHWWKHIROORZLQJSDUDPHWHULQWKHMVHUYFRQIILOH
ApJServManual on
2.
1H[WPRGLI\WKHOLQHVWKDWGHVFULEHZKHUHWRVHQGVHUYOHWUHTXHVWV,QWKH
MVHUYFRQIILOH\RXZLOOVHHRQHRUPRUHOLQHVVWDUWLQJZLWK$S-6HUY0RXQW
)RUH[DPSOH
ApJServMount /servlet /root
7KLVOLQHVSHFLILHVWKDWLIDUHTXHVWLVPDGHWKDWVWDUWVZLWK
KWWS\RXUVHUYHUFRPVHUYOHWVWKHQWKHFODVVILOHIRUWKHUHTXHVWHGVHUYOHW
FDQEHIRXQGLQWKHUHSRVLWRULHVIRUWKHURRW]RQH
:KHQRQO\RQH-6HUYSURFHVVLVXVHGLWLVLPSOLFLWWKDWWKHSURFHVVZLOOVHUYLFH
WKH]RQH:KHQ\RXGRORDGEDODQFLQJKRZHYHU\RXPXVWGHVFULEHKRZWKH
ZRUNLVWREHVSOLWDPRQJWKHDYDLODEOHSURFHVVHVDQGKRZWKH\FDQEHIRXQG
,QWKLVH[DPSOH\RXZRXOGUHSODFHWKHOLQHDERYHZLWKWKHIROORZLQJ
ApJServMount /servlet balance://set/root
ApJServBalance set JServ1
ApJServBalance set JServ2
ApJServHost JServ1 ajpv12://127.0.0.1:8001
ApJServHost JServ2 ajpv12://127.0.0.1:8002
ApJServRoute JS1 JServ1
ApJServRoute JS2 JServ2
Forms 6i Patch 4: Forms Listener Servlet for Deployment of Forms on the Internet
Page 19
• $S-6HUY0RXQWLQGLFDWHVZKHUHWRVHQGWKHUHTXHVWVIRUDVHUYOHWVWDUWLQJ
ZLWKVHUYOHW,WVD\VWREDODQFHWKHPDPRQJWKH-6HUYSURFHVVHV
• $S-VHUY%DODQFHGHILQHVZKLFK-6HUYHQJLQHWRXVHMVHUSURSHUWLHVDQG
MVHUYSURSHUWLHVILOHVFRQWDLQWKHSDUDPHWHUVIRUWKHHQJLQHV
• $S-6HUY+RVWGHVFULEHVRQZKLFKKRVWDQGSRUWWKHVHSURFHVVHVDUH
OLVWHQLQJ,QRXUH[DPSOHWKHWZRSURFHVVHVDUHUXQQLQJRQWKHVDPHKRVW
DMSYLVWKH-6HUYFRPPXQLFDWLRQSURWRFRO
• $S-6HUY5RXWHGHILQHVKRZWKHXVHUVHVVLRQVILQGWKHLUZD\EDFNWRWKH
ULJKW-6HUYSURFHVV7KH$S-6HUY5RXWHYDOXHLV-6-6DQGVRRQ7KH
)RUPV/LVWHQHU6HUYOHWDVVXPHV-6-6DQGVRRQ7KLVLQIRUPDWLRQLV
DXWRPDWLFDOO\XVHGE\WKH-6HUYVHVVLRQPHFKDQLVPWKDWVHQGVWKHSURFHVV
URXWHLQIRUPDWLRQEDFNWRWKHXVHULQDFRRNLH
1RWH-6-6DQGVRRQDUHWKHUHTXLUHGYDOXHVIRUWKH$S-6HUY5RXWHGLUHFWLYH
7KH)RUPV/LVWHQHU6HUYOHWQHHGVWKLVLQIRUPDWLRQWREHDEOHWRURXWHHDFKUHTXHVW
WRWKHDSSURSULDWH-6HUYVHVVLRQ
Step 3: Create start and stop scripts
)LQDOO\FUHDWHWKHVWDUWDQGVWRSVFULSWVIRUWKH-6HUYHQJLQHV
7KHIROORZLQJDUHH[DPSOHVFULSWVLQD81,;HQYLURQPHQW
6WDUWVK
#!/bin/sh
-x
# Setting environment variables
FORMS60_PATH=/private11/myapp
Export FORMS60_PATH
# Setting the properties files
properties1=/private1/oracle/iAS102/Apache/Jserv/etc/jserv1.properties
properties2=/private1/oracle/iAS102/Apache/Jserv/etc/jserv2.properties
# setting the log files
log1=/private1/oracle/iAS102/Apache/Apache/logs/jserv_manual1.log
log2=/private1/oracle/iAS102/Apache/Apache/logs/jserv_manual2.log
# setting the classpaths
CLASSPATH=$CLASSPATH:/private1/oracle/iAS102/Apache/Jserv/libexec/Apach
eJServ.jar:/private1/oracle/iAS102/Apache/Jsdk/lib/jsdk.jar:/private1/o
racle/iAS102/jdbc/lib/classes111.zip:/private1/oracle/iAS102/Apache/Apa
che/htdocs/_pages:/private1/oracle/iAS102/Apache/Apache/htdocs/OnlineOr
ders_html:/private1/oracle/iAS102/Apache/Apache/htdocs/OnlineOrders_htm
Forms 6i Patch 4: Forms Listener Servlet for Deployment of Forms on the Internet
Page 20
l/OnlineOrders.jar:/private1/oracle/iAS102/Apache/BC4J/lib/connectionma
nager.zip:/private1/oracle/iAS102/jdbc/lib/classes111.zip:/private1/ora
cle/iASHome1/806/forms60/java/f60srv.jar:/private1/oracle/iASHome1/806/
forms60/java
#Setting the java Compiler
JAVA=/private1/oracle/iAS102/Apache/jdk/bin/java
nohup $JAVA -classpath $CLASSPATH org.apache.jserv.JServ $properties1
>> $log1 2>&1 &
nohup $JAVA -classpath $CLASSPATH org.apache.jserv.JServ $properties2
>> $log2 2>&1 &
6WRSVK
#!/bin/sh -x
properties1=/private1/oracle/iAS102/Apache/Jserv/etc/jserv1.properties
properties2=/private1/oracle/iAS102/Apache/Jserv/etc/jserv2.properties
log=/private1/oracle/iAS102/Apache/Apache/logs/jserv_stop.log
CLASSPATH=$CLASSPATH:/private1/oracle/iAS102/Apache/Jsdk/lib/jsdk.jar
CLASSPATH=$CLASSPATH:/private1/oracle/iAS102/Apache/Jserv/libexec/Apach
eJServ.jar:/private1/oracle/iASHome1/Apache/jdk/lib/classes.zip
JAVA=/private1/oracle/iAS102/Apache/jdk/bin/java
nohup $JAVA -classpath $CLASSPATH org.apache.jserv.JServ $properties1 s
nohup $JAVA -classpath $CLASSPATH org.apache.jserv.JServ $properties2 –
s
7KHIROORZLQJDUHH[DPSOHVFULSWVLQDQ17HQYLURQPHQW
6WDUWEDWIRU-6HUYHQJLQH
Set FORMS60_PATH=c:\myapp
set properties1=D:\Oracle\iSuites\Apache\Jserv\conf\jserv1.properties
set log=D:\Oracle\iSuites\Apache\Apache\logs\jserv_manual
set
CLASSPATH=%CLASSPATH%;D:\Oracle\iSuites\Apache\Jserv\ApacheJServ.jar;D:
\Oracle\iSuites\Apache\Jsdk\lib\jsdk.jar;D:\Oracle\iSuites\jdbc\lib\cla
sses111.zip;D:\Oracle\iSuites\Apache\Apache\htdocs\_pages;D:\Oracle\iSu
ites\Apache\Apache\htdocs\OnlineOrders_html;D:\Oracle\iSuites\Apache\Ap
ache\htdocs\OnlineOrders_html\OnlineOrders.jar;D:\Oracle\iSuites\Apache
\BC4J\lib\connectionmanager.zip;D:\Oracle\806\forms60\java\f60srv.jar;D
:\Oracle\806\forms60\java
Forms 6i Patch 4: Forms Listener Servlet for Deployment of Forms on the Internet
Page 21
set JAVA=D:\Oracle\iSuites\Apache\jdk\bin\java
%JAVA% -classpath %CLASSPATH% org.apache.jserv.JServ %properties1% >>
%log%1.log
6WRSEDWIRU-6HUYHQJLQH
set properties1=D:\Oracle\iSuites\Apache\Jserv\conf\jserv1.properties
set
CLASSPATH=%CLASSPATH%;D:\Oracle\iSuites\Apache\Jserv\ApacheJServ.jar;D:
\Oracle\iSuites\Apache\Jsdk\lib\jsdk.jar;D:\Oracle\iSuites\jdbc\lib\cla
sses111.zip;D:\Oracle\iSuites\Apache\Apache\htdocs\_pages;D:\Oracle\iSu
ites\Apache\Apache\htdocs\OnlineOrders_html;D:\Oracle\iSuites\Apache\Ap
ache\htdocs\OnlineOrders_html\OnlineOrders.jar;D:\Oracle\iSuites\Apache
\BC4J\lib\connectionmanager.zip;D:\Oracle\806\forms60\java\f60srv.jar;D
:\Oracle\806\forms60\java
set JAVA=D:\Oracle\iSuites\Apache\jdk\bin\java
%JAVA% -classpath %CLASSPATH% org.apache.jserv.JServ %properties1% -s
Case 2: Two JServ engines on a host other than Apache web listener
8VHWKLVFRQILJXUDWLRQLI\RXDUHH[SHFWLQJPRUHWKDQFRQFXUUHQWXVHUVZKLFK
LVDQDSSUR[LPDWHOLPLWIRURQH-6HUYHQJLQHZLWKRXWH[SHULHQFLQJQRWLFHDEOH
SHUIRUPDQFHGHJUDGDWLRQDQGLI\RXGRQRWKDYHHQRXJKV\VWHPUHVRXUFHVWR
KDQGOHWKH+773OLVWHQHUORDGDQGWKH)RUPV6HUYHUORDG
)LJXUH0XOWLSOH-6HUYHQJLQHVRQPXOWLSOHKRVWV
Forms 6i Patch 4: Forms Listener Servlet for Deployment of Forms on the Internet
Page 22
Step 1: Configure the JServ engines on Host 2 (the one running JServ)
$VLQFDVHPXOWLSOH-6HUYHQJLQHVRQWKHVDPHKRVWDVWKHZHEOLVWHQHU\RX
QHHGWRFUHDWHDQGFRQILJXUHWZRMVHUYSURSHUWLHVILOHVZLWKVSHFLILFSRUWVDQGORJ
ILOHV6HH&DVH6WHSIRUGHWDLOV
7KHQLQHDFKRIWKHMVHUYSURSHUWLHVILOHGHILQHWKHQDPHRUWKH,3DGGUHVVRIWKH
PDFKLQHZKHUHWKH-6HUYHQJLQHLVUXQQLQJXVLQJWKHELQGDGGUHVVSDUDPHWHU
5HSODFH
bindaddress=localhost
ZLWK
bindaddress=<name or ip address of the machine where JServ is running,
host2 in our example>
Step 2: Modify the JServ configuration file (jserv.conf) in Host1 (the one running the web
listener) to define where the JServ engines are running
1.
%HVXUHWKDWMVHUYFRQIDQGRUDFOHBDSDFKHFRQIDUHLQFOXGHGLQKWWSGFRQIRI
WKHKWWSVHUYHUKRVW0DNHVXUHWKDWWKHIROORZLQJOLQHVDUHSUHVHQW
include "/private/oracle/Apache/Jserv/etc/jserv.conf"
include "/private/oracle/Apache/Apache/conf/oracle_apache.conf"
$VLQFDVHPXOWLSOH-6HUYHQJLQHVRQWKHVDPHKRVWDVWKHZHEOLVWHQHU
FRQILJXUHWKHMVHUYFRQIILOHRQWKHKWWSVHUYHUPDFKLQH6HH&DVH6WHS
IRUGHWDLOV)RUH[DPSOH
ApJServMount /servlet balance://set/root
ApJServBalance set JServ1
ApJServBalance set JServ2
ApJServHost JServ1 ajpv12://host2:8001
ApJServHost JServ2 ajpv12://host2:8002
ApJServRoute JS1 JServ1
ApJServRoute JS2 JServ2
%HVXUHWKDWWKHKRVWQDPHVSHFLILHGIRUWKH$S-6HUY+RVWLVWKHVDPHDVWKH
RQHVSHFLILHGLQWKHELQGDGGUHVVSDUDPHWHUGHILQHGLQWKHMVHUYSURSHUWLHVILOH
Step 3 : On UNIX, load the Apache JServ communication module
2Q81,;PDNHVXUHWKDWWKH-6HUYFRPPXQLFDWLRQPRGXOHLVORDGHG&KHFNIRU
WKHIROORZLQJOLQHVLQKWWSGFRQI
LoadModule jserv_module $APACHE_HOME/Jserv/libexec/mod_jserv.so
AddModule mod_jserv.c
,IWKHVHOLQHVDUHQRWWKHUHDGGWKHP
Forms 6i Patch 4: Forms Listener Servlet for Deployment of Forms on the Internet
Page 23
Step 4 : Start the JServ engines in the JServ hosts
)ROORZWKHVWHSVLQ&DVH6WHSWRVWDUWWKHPXOWLSOH-6HUYHQJLQHVLQWKH-6HUY
KRVWV
Forms 6i Patch 4: Forms Listener Servlet for Deployment of Forms on the Internet
Page 24
Forms 6i Patch 4: Forms Listener Servlet for Deployment of Forms on the Internet
February 2001
Author: Regis Louis
Oracle Corporation
World Headquarters
500 Oracle Parkway
Redwood Shores, CA 94065
U.S.A.
Worldwide Inquiries:
Phone: +1.650.506.7000
Fax: +1.650.506.7200
www.oracle.com
Oracle Corporation provides the software
that powers the internet.
Oracle is a registered trademark of Oracle Corporation. Various
product and service names referenced herein may be trademarks
of Oracle Corporation. All other product and service names
mentioned may be trademarks of their respective owners.
Copyright © 2001 Oracle Corporation
All rights reserved.