)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.
© Copyright 2026 Paperzz