100% Generacji Oracle Forms w Designer 6i
Transkrypt
100% Generacji Oracle Forms w Designer 6i
DES6I – 100% Generacja Forms w Designerze 6i 41 1 :VW S 1DU] G]LD2UDFOH'HVLJQHUZZHUVMLLSR]ZDODMQDFDáNRZLWHRSDUFLHSUDFSURMHNWRZ\FKR UHSR]\WRULXPLJHQHUDWRU\Z]DNUHVLHGRNXPHQWDFMLSURMHNWXEXGRZ\NRGXL]DU]G]DQLDZHUVMDPL dokumentów i kodu. Niniejszy dokument ma na celu praktyc]QH]DSUH]HQWRZDQLHPR*OLZRFL DeVLJQHUDZJHQHURZDQLXDSOLNDFML]XZ]JO GQLHQLHPQRZ\FKFHFKZHUVMLL JHQHUDFMLMHVWSUDNW\F]QSRWU]HEWDNLHJREXGRZDQLDDSOLNDFMLDE\]PLQLPDOL]RZDü NRV]W\SU]\V]á\FK]PLDQSRSU]H]SHáQGRNXPHQWDFM NRGXDXWRPDW\F]QHOHG]HQLH]DOH*QRFL RUD]QDU]XFDQZW\PSURFHVLHVWDQGDU\]DFM -HGQ\P]QDMZD*QLHMV]\FKJHQHUDWRUyZ2UDFOH'HVLJQHUDMHVW)RUPV*HQHUDWRU3R]ZDODRQ QDFDáNRZLWJHQHUDFMLDSOLNDFMLSRSU]H] • 0R*OLZRüSU]HFKRZ\ZDQLDNRGXX*\WNRZQLNDZUepozytorium, • 2SDUFLXJHQHUDFMLQDZáDFLZRFLDFKRELHNWyZV]DEOonach oraz bibliotekach obiektowych. • :HUVMRQRZDQLHL]DU]G]DQLH]DOH*QRFLDPLSRPL G]\VNáDGRZ\PLZHZQWU] repozytorium. 'RNXPHQWRSLVXMHGDOHMV]F]HJyáRZRSURFHVJHQHUDFMLNRQFHQWUXMFVL QDW\PZáDQLH generatorze. 2 Nowe cechy Designera 6i 5R]G]LDáWHQRPDZLDW\ONRWHFHFK\2UDFOH'HVLJQHUDLNWyUHVLVWRWQHGODJáyZQHJRWHPDWX tego dokumentu. &HOHP]PLDQ2UDFOH'HVLJQHUDZZHUVMLLE\áR • =ZL NV]HQLHPR*OLZRFLREVáXJLGX*\FKSURMHNWyZprzy pomocy repozytorium, • =ZL NV]RQHZVSDUFLHGODUR]ZRMX2UDFOH$SSOLDFWLRQ • :SURZDG]HQLHLUR]V]HU]HQLHZVSyáSUDF\2UDFOHL =PLDQ\WH]RVWDá\RVLJQL WHSRSU]H]LVWRWQH]PLDQ\ZVDP\PUHSR]\WRULXPZSURZDG]DMF ]DU]G]DQLHNRQILJXUDFMDPLRUD]]DOH*QRFLDPL=RVWDá\WDN*HUR]V]HU]RQHPR*OLZRFL generatoUyZNRGXJáyZQLHZ]DNUHVLHJHQHUDWRUD2UDFOH)RUPVRUD]JHQHUDWRUD6HUZHUD Zmiany w repozytorium 5HSR]\WRULXPMHVWLQWHJUDOQF] FL2UDFOH'HVLJQHUDVáX*\RQRGR]DU]G]DQLDVWUXNWXUDPL GDQ\FKZáDFLZ\PLdla metamodelu Designera. $E\ZSHáQLVSHáQLDüVZRMUROHUHSR]\WRULXP]RVWDáRZySRVD*RQHZQDVW SXMFHFHFK\ • $QDOL]DZSá\ZX]PLDQ • 0R*OLZRüUR]V]HU]H • Wsparcie dla plików i katalogów, • Wersjonowanie na poziomie poszczególnych obiektów, • 0R*OLZRüGHILQLRwania konfiguracji, • Obszary robocze. $QDOL]DZSá\ZX]PLDQ 'RWG'HVLJQHUUHDOL]RZDáDQDOL] ZSá\ZX]PLDQZUDPDFKVZRLFKGDQ\FKVWUXNWXUDOQ\FK 1DSU]\NáDGSR]ZDODáQDRNUHOHQLHMDNLHPRGXá\WU]HEDE G]LH]PRG\ILNRZDüZSU]\SDGNX zmiany kolumny tabeli. NiHE\áRWRZ\VWDUF]DMFHGODGDQ\FKNWyUH]Uy*Q\FKZ]JO GyZQLH PRJá\E\üRSLVDQHVWUXNWXUDOQLH1DSU]\NáDGSURFHGXU\3/64/VNáDGRZDQHZED]LHGDQ\FK Raporty, ForPDWNLNRG352&-64/LWG2EHFQLHZSURZDG]RQRIXQNFMRQDOQRüSR]ZDODMFQD przechowywanLHLXWU]\P\ZDQLHWDN*HWakich informacji. 42 Tomasz Kazimierski :UD]]QDU] G]LHPGRVWDUF]RQHVVWDQGDUGRZHDQDOL]DWRU\SR]ZDODMFHQDDQDOL] QLHNWyU\FK W\SyZQS2UDFOH)RUPV,VWQLHMHWDN*HPR*OLZRüQDWZRU]HQLHVZRLFKZáasnych analizatorów. 0R*OLZRüUR]V]HU]H 0R*OLZRüUR]V]HU]HSR]ZDODQDXPLHV]F]DQLHZUHSR]\WRULXPRELHNWyZW\SyZRNUHORQ\FK SU]H]X*\WNRZQLND7\S\WDNLHPRJE\üX*\ZDQHMDNRW\S\HOHPHQWyZ]ZL]NyZLWG'DQHWDN ]GHILQLRZDQ\FKW\SyZPRJE\üNRQWURORZDQHSU]H]PHFKDQL]P\UHSR]\WRULXP 'RVW SGRQRZ\FKW\SyZPR*OLZ\MHVW]DUyZQRSU]H]QDU] G]LD2UDFOH'HVLJQHUDMDNLSU]H] API. Wsparcie dla plików i katalogów 2SUyF]GDQ\FKVWUXNWXUDOQ\FKMDNGHILQLFM WDEHOPRGXáyZLWSUHSR]\WRULXPSR]ZDODQD przechowywanie informacji niestrukturalnych podobnie jak]Z\Ná\V\VWHPSOLNyZ ,VWQLHMHPR*OLZRüWZRU]HQLDSOLNyZLNDWDORJyZZL]DQLDLFK]U]HF]\ZLVW\PLV\VWHPDPL plików i ich wersjonowania. Wersjonowanie na poziomie poszczególnych obiektów 5HSR]\WRULXPSR]ZDODQDZHUVMRQRZDQLHQLHW\ONRFDá\FKV\VWHPyZDSOikacji ale poszczególnych obiektów. ']L NLZSURZDG]HQLXPR*OLZRFLGHILQLRZDQLDJDá ]L]PLDQPR*OLZHMHVWSURZDG]HQLHSUDF SURMHNWRZ\FKQDMHGQ\PREV]DU]HZZLHOXQLH]DOH*Q\FKFLH*NDFK1DSU]\NáDG]HVSyá]DMPXMF\ VL GRGDZDQLHPQRZ\FKFHFKL]HVSyáSRSUDZLDMFHEá G\ZZHUVMDFKMX*G]LDáDMF\FKPXV] wiG]LHüUy*QHZHUVMHW\FKVDP\FKHOHPHQWyZ 3URFHVáF]HQLDUy*Q\FKZHUVMLZFDáRüMHVWZVSLHUDQ\SU]H]DXWRPDW\F]QHQDU] G]LD porówQ\ZDQLDLáF]HQLD DES6I – 100% Generacja Forms w Designerze 6i 5HSR]\WRULXPMHVWZ\PRVD*RQHWDN*HZQDU] G]LD]DU]G]DQLDZHUVMDPLMDNQDSU]\NáDG SU]HJOGDQLHKLVWRULL]PLDQ L]GDU]HMDNLHMHSRZRGRZDá\ 43 44 Tomasz Kazimierski Obszary robocze 2EV]DU\URERF]H]RVWDá\ZSURZDG]RQHDE\XPR*OLZLüSUDF QDZHUVMRQRZDQ\P repozytoULXP:GDQHMFKZLOLSUDFXMFDRVREDPXVLZLG]LHüGRNáDGQLHRNUHORQZHUVM RELHNWX] GRNáDGaQLHRNUHORQHMFLH*NL 2EV]DU\URERF]HGHILQLXMHVL SRGDMF]HVWDZUHJXáQSÄSRND*ZV]\VWNLHQDMQRZV]HRELHNW\] JDá ]LSURGXNFMDRUD]ZHUVMDWDEHOL(03´ 2EV]DU\URERF]HPRJE\üGHILQLRZDQHSU]H]SRV]F]HJyOQ\FKX*\WNRZQLNyZDOER wspóáG]LHORQHLDGPLQLVWURZDQHSU]H]]DU]G]DMFHJRUHSR]\WRULXP 0R*OLZRüGHILQLRZDQLDNRQILJXUDFML :F]DVLH*\FLDV\VWHPXSXEOLNRZDQHV]HVWDZ\RELHNWyZUHSR]\WRULXPMDNRZ\GDQLH oprogramowania. ,VWRWQLQIRUPDFMMHVWMDNLHZHUVMH]RVWDá\XPLHV]F]RQHZWDNLPZ\GDQLX1SMDNDZHUVMD PRGXáXHG\FMLSUDFRZQików odpowiada wersji 3.14 tabeli EMP. DES6I – 100% Generacja Forms w Designerze 6i 45 =HZQ WU]Q\GRVW SGRUHSR]\WRULXP :VWRVXQNXGRZHUVMLSRSU]HGQLFKUR]V]HU]RQRLSRSUDZLRQRPHWRG\GRVW SXGRVWUXNWXU repozytorium z AP,Z3/64/2EHFQLHSODQXMHVL RSLHUDQLHRUHSR]\WRULXPWDN*HLQQ\FKQL* 2UDFOH'HVLJQHUQDU] G]L Oracle Designer 1LH]DOH*QLHRG]PLDQVDPHJRUHSR]\WRULXP]RVWDá\]PLHQLRQHNRPSRQHQW\VDPHJR'HVLJQera. Generator Serwera Java :SURZDG]RQRPR*OLZRüSU]HFKRZ\ZDQLDNRGXZ-DYLH-HJRHG\FMDRGE\ZDVL SU]\ poPRF\WHJRVDPHJRHG\WRUDNRGXNWyU\VáX*\GRHG\FML3/64/ Hurtownie danych :SURZDG]RQRZVSDUFLHGODQDVW SXMF\FKRELHNWyZZVSLHUDMF\FKWZRU]HQLHKXUWRZQL danych: 1. Materializowane perspektywy, 2. Indeksy bD]XMFHQDIXQNFMDFK 3. 8*\FLHNODX]XOL6$03/( 4. 5R]V]HU]HQLDNODX]XOL&5($7(5(%8,/',1'(;RRSFM &20387(67$7,67,&6 System Designer 5R]V]HU]RQ\RPR*OLZRüSRND]\ZDQLDQRZ\FKW\SyZZSURZDG]RQ\FKSU]H]JHQHUDWRU serwera i forms. Zmieniony edytor PL/SQL. 46 Tomasz Kazimierski Generator Forms :SURZDG]RQRQDVW SXMFHQRZHFHFK\ 1. Relatywne zatrzymania tabulatora, 2. 0R*OLZRüUR]áR*HQLDMHGQHJREORNXSRPL G]\ZLHOHREV]DUyZ 3. :VSyáU] GQHU]HF]\ZLVWHSU]\GHILQLRZDQLXGHNRUDFML 4. Generacja drzewek, 5. Generowanie bloków obok siebie, 6. Generacja do Oracle Forms 6i, 7. 0R*OLZRüX*\FLDUR]V]HU]H-DY\ 8. $XWRPDW\F]Q\SRGJOGZ\QLNXJHQHUDFMLZURGRZLVNX-DY\ 3 URGRZLVNRSURMHNWRZH 3U]HGUR]SRF] FLHPHWDSXEXGRZ\NRGXNRQLHF]QHMHVW]GHILQLRZDQLHXWZRU]HQLHLEXGRZD RGSRZLHGQLHJRURGRZLVNDSURMHNWRZHJR:VNáDGWDNLHJRURGRZLVNDZFKRG]QDVW SXMFH komponenty: 1. Biblioteka projektu, 2. Standardy tworzenia kodu i dokumentowania, 3. Parametry dla generatora, 4. :VSyOQHELEOLRWHNL]SRGVWDZRZIXQNFMRQDOQRFL 5. Szablony, 6. 6NU\SW\SXEOLNXMFHNRGGRURGRZLVNDOXEURGRZLVNGRFHORZ\FK 7. Procedury tworzenia kopii zapasowych i odtwarzania. Biblioteka projektu %LEOLRWHNDPDIXQGDPHQWDOQH]QDF]HQLHGODSRU]GNXZSURMHNFLH=DZLHUDRQD • Dokumenty, • notatki projektowe, • QRWDWNL]HVSRWND • arkusze pracy, • skrypty testowe oraz • gotowy kod programów. ']L NL]DVWRVRZDQLX2UDFOH'HVLJQHUDPR*OLZHMHVWXPLHV]F]HQLHELEOLRWHNLZUHSR]\WRULXP 3R]ZDODWRQDFHQWUDOQH]DU]G]DQLHMHM]DZDUWRFLRUD]ZHUVMRQRZDQLH Zastosowanie wersjonowania do kontroli kodu 0R*OLZRFLZHUVMRQRZDQLDUHSR]\WRULXPPRJáDWZRSRVáX*\üGRLPSOHPHQWDFML wersjonowania kodu w projekcie zarówno w zakresie wygenerowanego kodu jak i metamodelu. :SUDFDFKSURMHNWRZ\FKZHUVMRQRZDQLHMHVWX*\ZDQHSU]HGHZV]\VWNLPGRSURZDG]HQLDSUDF UyZQROHJá\FK oraz do szybkiego wycofywania modyfikacji (np. do poprzedniej stabilnej wersji). DES6I – 100% Generacja Forms w Designerze 6i 1DSRZ\*V]\PU\VXQNXZHUVMD]RVWDáDRSXEOLNRZDQDMDNRZ\GDQLHRSURJUDPRZDQLDL E\áDUR]ZLMDQDGDOHMMDNRZHUVMDUyZQRF]HQLHSRZVWDáDZHUVMDMDNRSDWFK popraZLDMFDEá G\]SURGXNFML3R]DNRF]HQLXSUDFSRZVWDáDZHUVMDMDNRZVSyOQDZHUVMD XZ]JO dQLDMFD]PLDQ\LSRUR]ZL]DQLXNRQIOLNWyZ :SU]\SDGNXZ\NU\FLDNRQIOLNWyZMHVWDXWRPDW\F]QLHXUXFKDPLDQHQDU] G]LHGR UR]ZL]ywania konfliktóZMDNQDSRQL*V]\PSU]\NáDG]LH [...] [...] 47 48 Tomasz Kazimierski :VSyáSUDFDSRPL G]\F]áRQNDPL]HVSRáXRSDUWDRUHSR]\WRULXP 5HSR]\WRULXPZVSRVyEQDWXUDOQ\ZVSLHUDX*\FLHZVSyOQHJRNRGXLGRNXPHQWDFML'RVW SGR GDQ\FKRGE\ZDVL ZRSDUFLXRLQWHUIHMV]DSHZQLDMF\PR*OLZRFLZHUVMRQRZDQLD] porównywaQLHPZHUVMLGODVWDQGDUGRZ\FKW\SyZPRGXáyZáF]HQLDJDá ]L]PLDQRUD]DQDOL]\ ]DOH*QRFLSRPL G]\RELHNWDPLLNRGHP 8*\FLHZVSyOQ\FKRELHNWyZVWUXNWXUDOQ\FKMDN5HXVDEOH0RGXOH&RPSRQHQWVF]\5HXVDEOH LOV pozwala na zmnieMV]HQLHNRV]WyZ]PLDQNRGXGODFDáHJRV\VWHPX 4 Standardy generacji Oracle Forms Elementy standardów Generacja Oracle Forms dokonywana jest w oparciu o meta-PRGHOVNáDGRZDQ\Z repozytoULXPZáDFLZRFLRELHNWyZUyZQLH*]UHSR]\WRULXPRUD]V]DEORQ generacji. Do tworzenia moduáyZX*\ZDQHVJRWRZHRELHNW\ZFKRG]FHZVNáDGELEOLRWHNRELHNWRZ\FK :VNáDGVWDQGDUGyZZFKRG]LWDN*HNRGUHDOL]XMF\SRGVWDZRZLZVSyOQDIXQNFMRQDOQRü V\VWHPX.RGPR*HE\üSU]HFKRZ\ZDQ\ZUHSR]\WRULXPV]DEORQLHLELEOLRWece obiektowej. 1DVWDQGDUGJHQHUDFMLVNáDGDVL 1. Zdefiniowanie i implementacja podstawowej funkcjoQDOQRFL 2. 6]DEORQJHQHUDFMLPRJVL Uy*QLüGODUy*Q\FKW\SyZRELHNWyZ 3. %LEOLRWHNLRELHNWRZD]DZLHUDMFHMVWDQGDUGRZHW\S\RELHNWyZRUD]ZVSyOQ\NRG 4. :VSyádzielone komponenty w repozytorium, 5. 3UHIHUHQFMHLZVSyáG]LHORQH]ELRU\SUHIHUHQFMLVNáDGowane w repozytorium. .RPSRQHQW\VWDQGDUGXPXV]E\üV]F]HJyáRZRSU]HWHVWRZDQHLVSUDZG]RQHSU]HG rozpocz FLHPZáDFLZHMJHQeracji. 8*\FLHELEOLRWHNRELHNWRZ\FKMDNRPHtoda standaryzacji 2UDFOH)RUPVRGNLONXMX*ZHUVMLZ\SRVD*RQHVZPR*OLZRüGHILQLRZDQLDLX*\ZDQLD biEOLRWHNRELHNWRZ\FK3UDNW\F]QLHGRZROQ\W\SRELHNWXX*\ZDQHJRZIRUPVPR*H]RVWDü umieszF]RQ\ZELEOLRWHFHLVWDPWGX*\ZDQ\ZZLHOXPLHMVFDFK3RQLHZD*]ZL NV]RFL RELHNWyZPRJE\ü]ZL]DQHDNFMH3/64/MHVWWRUyZQLH*PR*OLZRüZVSyáG]LHOHQLDNRGX DES6I – 100% Generacja Forms w Designerze 6i 49 8*\FLHRELHNWX]ELEOLRWHNLRELHNWRZHMZPRGXOHR]QDF]DSRZRáDQLHGR*\FLDMHJRLQVWDQFML G]LHG]LF]FHMZáDFLZRFLURG]LFD']LHG]LF]HQLHRGE\ZDVL QDHWDSLHNRPSLODFML7R]QDF]\*H SR]PLDQLHELEOLRWHNLNRQLHF]QHMHVW]EXGRZDQLHZV]\VWNLFKPRGXáyZNWyUHMHMX*\ZDM SprowaG]DVL WRXWZRU]HQLH)0;QDSRGVWDZLH)0%EH]]PLDQZVDP\P)0% *HQHUDWRUVSHFMDOQLHZVSLHUDX*\FLHELEOLRWHNSRSU]H]DXWRPDW\F]QHX*\ZDQLHRELHNWyZ] biEOLRWHNLQDSRGVWDZLHLFKQD]Z\1DSU]\NáDGWZRU]FSROHWHNVWRZH]RVWDQLHX*\W\HOHPHQW biblioteki CGSO$CHAR (o ile taki istnieje w bibliotece). 2GSRZLHGQLHQD]Z\LVWQLHMGODSRV]F]HJyOQ\FKW\SyZ&*62&+$5&*62'$7(« DODGRGDWNRZ\FKFHFKMDNZLHORUHNRUGRZRüZ\PDJDOQRüLWGLVWQLHMRGSRZLHGQLHNRFyZNL 1DSU]\NáDG&*62&+$5B05B'2]RVWDQLHX*\W\ZEORNXZLHORUHNRUGRZ\P05GODSyO znaNRZ\FKW\ONRGRZ\ZLHWODQLD'2 -HOLJHQHUDWRUQLHMHVWZVWDQLHRGV]XNDüZáDFLZHJRRELHNWXZELEOLRWHFHSRELHUDQDMEOL*V]\ ]JRGQLH]KLHUDUFKL1DSU]\NáDGMHOLQLHPR*QDRGV]XNDü&+62180%(5B0']RVWDQLHX*\W\ &*62180%(5DMHOLWHQQLHMHVW]GHILQLRZDQ\WR&*62&+$5B0'3HáQHGU]HZRMHVW opisane w systemie pomocy elektronicznej w rozdziale „Hierarchy of standard source objects”. 1LH]DOH*QLHX*\WNRZQLNPR*HWZRU]\üVZRMHRELHNW\LX*\ZDüMHMDZQLHZNRG]LH: repo]\WRULXPGODND*GHJRRELHNWXPR*QDSRGDüQD]Z RELHNWX]ELEOLRWHNLRELHNWRZHMMDNDPD ]RVWDüX*\WDGRMHJRLPSOHPHQWDFML1DGSLVXMHWRVWDQGDUGRZRSU]\MPRZDQHX*\FLD3U]\NáDGHP MHVWRELHNW67'&+$5B833(5GRREVáXJLSyOZ\PXV]DMF\FKZSUoZDG]DQLHWHNVWXGX*\PL literami. 50 Tomasz Kazimierski Szablony generacji 2GZHUVMLSRSU]HGQLFK]QDF]HQLHV]DEORQyZJHQHUDFML]PDODáR2EHFQLHZL NV]Rü funkcjoQDOQRFL]RVWDáRSU]eniesione do biblioteki obiektowej. 6]DEORQMHVWZ\NRU]\VW\ZDQ\SU]H]JHQHUDWRUNWyU\QDMHJRSRGVWDZLHEXGXMHFDá\PRGXá] instancji obiektów pobieranych z biblioteki. Hierarchie bibliotek aplikacyjnych 3RPLPRáDWZRFL]PLDQZELEOLRWHFHRELHNWRZHMQDOH*\XQLNDüXPLHV]F]DQLDWDP]áR*RQHJR NRGX3/64/SRQLHZD*QLHMHVWJRáDWZRWHVWRZDüD]PLDQ\NRGXNWyUHPRJE\üGRüF] VWH Z\PDJDMVSRUHJRQDNáDGXSUDF\QDUHJeQHUDFMLFDáHJRNRGX /HSV]\PUR]ZL]DQLHPMHVWXPLHV]F]HQLHZELEOLRWHFHRELHNWRZHMZ\ZRáDNRGX VNáDGRZanego we wspólnej bibliotece PL/SQL typu PLL. %LEOLRWHND3//PDW]DOHW *HPR*QDMáDWZRPRG\ILNRZDüLVWDQRZLSRMHG\QF]\SXQNW wprowadzania zmian. 1DMF] FLHMGREU\PSRP\VáHPMHVWXPLHV]F]HQLHSRGVWDZRZHJRZVSyOQHJRGODFDáHJR systemu kodu w jednej wspólnej bibliotece np. SYSTEM.PLL. 1DVW SQLHSRGF]DVWZRU]HQLDSRV]F]HJyOQ\FKDSOLNDFMLZFKRG]F\FKZVNáDGV\VWHPX pojaZLDMVL IUDJPHQWXNRGXNWyUHUyZQLH*QDOH*\ZVSyáG]LHOLü:V]F]HJyOQRFLPRJWRE\ü fragmenty kodu sprzeczne ze standardem systemu. Wówczas kod taki umieszczamy w bibliotece speF\ILF]QHMGODDSOLNDFMLQS$33/3//LGRáF]DP\GRPRGXáyZSRELEOLRWHFHV\VWHPRZHM -HOLMDNLNRGZELEOLRWHFHDSOLNDFMLQDGSLVXMHNRGELEOLRWHNLV\VWHPXQDVWSLRGSRwiednie SU]\VáRQL FLHZ\QLNDMFH]NROHMQRFLGRáF]HQLD 7DNLHSRGHMFLHGRXZVSyOQLHQLDNRGXZL*HVL ]ZSUowadzeniem hierarchii bibliotek PLL. :VSyOQDIXQNFMRQDOQRüZED]LHGDQ\FK 3U]HQLHVLHQLHNRGX3/64/GRED]\GDQ\FKGDMHMHV]F]HáDWZLHMV]PR*OLZRü]PLDQ\NRGX ZVSyOQHJRRUD]SR]ZDODQDLPSOHPHQWDFMHNRGXSRGVWDZRZHJRZVSyáG]LHORQHJRSU]H]ZDUVWZ serwera i klienta. 1DOH*\SDPL WDü*HQLH]DZV]HSU]HQLHVLHQLHNRGXGRED]\GDQ\FKZL*HVL ]H ]ZL NV]eQLHPZ\GDMQRFLZSUDNW\FHPR*HE\üRGZURWQLH 3U]\NáDGHPIXQNFMRQDOQRFLNWyUDGRVNRQDOHQDGDMHVL GRWHMZDUVWZ\MHVWNRPSOHNVRZ\ meFKDQL]PREVáXJLEá GyZDOERPRQLWRURZDQLDSUDF\DSOLNDFML'RJHQHURZDQHJRNRGX PHFKDQL]PWDNLPR*QDGRáF]\üSRSU]H]SUHIHUHQFMH06*6)7XVWDZLDQQDSR]LRPLHV\VWHPX aplikacji. DeVLJQHU]DZLHUDSURVW\SU]\NáDGWDNLHMREVáXJLXGRNXPHQWRZDQ\ZSRPRF\ elektronicznej pod haVáHPÄ$ERXWFXVWomizing the CG$FORM_ERRORS package”. 5 Budowa kodu %DUG]RU]DGNR]GDU]DVL DE\PRGXá\QLH]DZLHUDá\]áR*RQHMIXQNFMRQDOQRFLZ\FKRG]FHM SR]DWRFRPR*QDGRVWDüQDSRGVWDZLHPHWD–PRGHOXREVáXJDZVWDZLHDNWXDOL]DFML DES6I – 100% Generacja Forms w Designerze 6i 51 podstawoZ\FKZDOLGDFMLLWS:yZF]DVNRQLHF]QHMHVW]DLPSOHPHQWRZDQLHEUDNXMFHJRNRGXZ odpowiednim module. ,VWRWQFHFK2UDFOH'HVLJQHUDMHVWPR*OLZRü]DSLVDQLDWHJRNRGXGRUHSR]\WRULXPWDN*H ND*GDQDVW SQDJHQHUDFMDSROHJDW\ONRQDXUXFKRPLHQLXJHQHUDWRUD)DGQH]PLDQ\ wygenerowaneJRNRGXQLHVSRWU]HEQH 8*\FLHORJLNLX*\WNRZQLNDVNáDGRZDQHMZUHSR]\WRULXP /RJLNDNRGX*\WNRZQLNDVNáDGRZDQ\ZUHSR]\WRUium jest automatycznie umieszczany w SURFHVLHJHQHUDFMLZRGSRZLHGQLFKPLHMVFDFKPRGXáXZ]DOH*QRFLRG]GHILQLRZDQHMZ repozytoULXPDNFML:SU]\SDGNX2UDFOH)RUPVZL NV]RüVWDQGDUGRZ\FKZ\]ZDODF]\PDVZyM odpowiednich w repozytorium. 8*\FLHUHSR]\WRULXPEDUG]RXSUDV]F]DV\WXDFM ZSU]\SDGNXNRQLHF]QRFLSRZWyUQHJR geneURZDQLDPRGXáXQDSU]\NáDGQDVNXWHN]PLDQPRGHOXGDQ\FK /RJLNDX*\WNRZQLNDVNáDGRZDQDZUHSR]\WRULXPSRZLQQDE\üZPLDU PR*OLZRFL umieszF]DQDZHZVSyáG]LHORQ\FKELEOLRWHNDFKOXEZZDUVWZLHED]\GDQ\FKJG\*XáDWZLDWR ]DU]G]aniem takim kodem. :LHORNURWQLHX*\ZDQHNRPSRQHQW\VNáDGRZDQHZUHSR]\WRULXPLZELEOLRWHNDFK 2UDFOH'HVLJQHUGDMHPR*OLZRüXZVSyOQLHQLDNRGXMX*QDHWDSLHPHWDPRGHOX.RPSRQHQW\ PRGXáyZ0&RUD]OLVW\ZDUWRFL/29PRJ]RVWDüR]QDF]RQHMDNRRELHNW\ZVSyOQH,FK X*yFLHSROHJDQDXPLHV]F]HQLXRGSRZLHGQLHJRRGZRáDQLDZPRGXáDFK0RG\ILNDFMHZVSyOQHJR komSRQHQWXVG]LHG]LF]RQHSU]H]ZV]\VWNLHMHJRX*\FLD 0LPRWRNRPSRQHQW\QLHQDGDMVL QDMOHSLHMGRXPLHV]F]DQLDORJLNLX*\WNRZQLNDNWyUD poZLQQDE\üVNáDGRZDQDZPLHMVFXQDMáDWZLHMV]\PGODXWU]\PDQLDLV]\ENRFLPRG\ILNDFML]DWHP w bibliotekach oraz w bazie danych. 6FKHPDWSRáR*HQLDNRGXDSOLNDFMLLVWDQGDUGyZ 52 Tomasz Kazimierski Kod z OLB APP01.pll Kod klienta APP01.pll SYSTEM.pll Kod aplikacji .RGVWDQGDUGRZ\VNãDGRZDQ\ZED]LH Generowanie wydajnego kodu :\GDMQRüDSOLNDFMLZGX*HMPLHU]H]DOH*\RGURGRZLVNDJG]LHDSOLNDFMDE G]LHXUXFKDPLDQD oraz od charakteru funkcji. :URGRZLVNXNOLHQW–VHUZHULZURGRZLVNX:(%E GX*\ZDQHLQQHWHFKQLNLVWURMHQLD aplikacji. :SU]\SDGNXURGRZLVNDNOLHQWVHUZHUNOXF]RZHVQDVW SXMFHDVSHNW\ 1. 2GSRZLHGQLHXPLHV]F]HQLHNRGX3/64/RGZRáXMFeJRVL GRRELHNWyZED]RGDQ\FK 2. 8*\FLHSHUVSHNW\ZLSURFHGXUED]RGDQRZ\FKMDNR(UyGáRGDQ\FKGODEORNyZ bazodanowych 3. 1DWRPLDVWZURGRZLVNX:(%ZD*QLHMV]HVWDMVL 4. 8*\FLH-$5DOER&$%]DPLDVWSRV]F]HJyOQ\FKNODVSU]\SU]HV\áDQLXNRGX-DY\QDVWURQ X*\WNRZQLND 5. 8*\FLHSRGREQ\FKRELHNWyZ]PQLHMV]DNRQLHF]QRüSU]\VáDQLDUy*QLF 6. 0LQLPDOL]DFMDX*\FLDWHNVWyZLRELHNWyZW\SXERLOHrplate, 7. Minimalizacja liczby wyzwalaczy –]ZáDV]F]DZ\]ZDOaF]\]ZL]DQ\FK]QDZLJDFM 8. 8*\FLH-DYD%HDQVGRREVáXJLDNFMLSRVWURQLHNOLHQWD 9. 8*\FLHZLHOXPDá\FKPRGXáyZ]DPLDVWMHGQHJRGX*HJR =HZ]JO GXQDPHFKDQL]P\ZEXGRZDQHZ6HUZHU)RUPVDVáX*FHGRRSW\PDOL]DFMLX*\FLD VLHFLDSOLNDFMHZURGRZLVNX:(%PRJG]LDáDü]QDF]QLHEDUG]LHMHIHNW\ZQLHQL*WDNLHVDPH aplikacje Klient-Serwer. 6 Uruchamianie aplikacji 8UXFKDPLDQLHDSOLNDFMLZURGRZLVNX:(% :URGRZLVNX:(%QLHPR*QDX*\ZDüSHZQ\FKIXQNFMLGRVW SQ\FKZNOLHQWVHUZHUMDN wyzwalaczy czasowych lub wyzwalaF]\]ZL]DQ\FK]DNFMDPLP\V]\OXENRPSRQHQWyZ2/(: ]DPLDQ]DWRSRMDZLDMVL QRZHPR*OLZRFLMDNNRPSRQHQW\-DYD%HDQVF]\]PLHQLRQ\LQWHUIHMV X*\tkownika. DES6I – 100% Generacja Forms w Designerze 6i 53 =HZ]JO GXQDLPSOHPHQWDFM LQWHUIHMVXX*\WNRZQLNDZ-DYLHáDWZHV]PLDQ\Z\JOGX aplikacji prz\EH]MHMPRG\ILNDFML'RP\OQLH2UDFOHSURSRQXMHW]Z2UDFOH/RRNDQG)HHOW]Z 2/$)NWyU\ZSURZDG]DZ\JOGL]DFKRZDQLH]QDQH]2UDFOH(QWHUSULVH0DQDJHUF]\2UDFOH Appliaction. 3RQL*V]\U\VXQHNSU]HGVWDZLDVWDQGDUGRZ\HNUDQDSOLNacji: a tu ten sam ekran w OLAF: LVWQLHMHUyZQLH*PR*OLZRü]DU]G]DQLDVFKHPDWDPLNROorów: 54 Tomasz Kazimierski =PLDQWDNLFKPR*QDGRNRQDüSU]\SRPRF\]QDF]QLNyZ+70/ZSOLNXXUXFKDPLDMF\P apliNDFM QS lookAndFeel="oracle" darkLook="true" colorScheme="blue" =DU]G]DQLHLQQ\PLDVSHNWDPL tego interfejsu realizowane jest poprzez plik $ORAC/(B+20(IRUPVMDYDRUDFOHIRUPV5HJLVWU\5HJLVWU\GDW0R*QDWDPXVWDZLDü niestandardowe klasy Javy i czcionki. 1LH]DOH*QLHLQWHUIHMVPR*HE\üUR]V]HU]DQ\Z-DYLH0R*QDQDSU]\NáDGQDSLVDüREVáXJ SROD rHDOL]XMFHJRGRGDWNRZHVSUDZG]HQLDDOERVSHFMDOQHZ\ZLHWODQLH URGRZLVNR81,; &] VWRPLJUDFMDGRURGRZLVND:(%ZL*HVL ]SU]HQRVLQDPLDSOLNDFMLGR81,;3UREOHP\ ]WDNPLJUDFMNRQFHnWUXMVL QD 1. 5R]Uy*QLDQLXZLHONRFLOLWHUZQD]ZDFKSOLNyZ 2. 8*\FLXVWDQGDUGyZ*,)GRZ\ZLHWODQLDOLWHU 3. Znaki narodowe. 3RGF]DVNRQZHUVMLQDOH*\ 1. =DLQVWDORZDüLVNRQILJXURZDüHPXODWRUWHUPLQDOD;-Windows 2. =DLQVWDORZDüQDVHUZHU]H8QL[F]FLRQNLZVWDQGDUG]LHLVR-8859-2. 3. 8VWDZLüZUHSR]\WRULXPQD]Z\PRGXáyZLRGZRáDGRPRGXáyZQDPDáHOLWHU\ 4. 3U]HJHQHURZDüFDáDSOLNDFM ZURGRZLVNX8QL[IJHQP 5. 3U]HQLHüELQDUQLHELEOLRWHN RELHNWRZ 6. 3U]HQLHüELEOLRWHNL3//ZIRUPDFLH3/7MDNRSOLNLWHkstowe, 7. 6NRPSLORZDüSRZVWDáHELEOLRWHNL3//– ten format zawiera zarówno tekst jak i kod wykonyZDQ\1LHQDOH*\X*\ZDü3/; 8. 3U]HQRVLüSOLNL)0%MDNRSOLNLELQDUQH $SOLNDFMLUDF]HMQLHQDOH*\SUyERZDüXUXFKDPLDüZURGRZLVNX0RWLIDQLWHNVWRZ\P ponieZD*PRJSRMDZLüVL Uy*QLFHZZ\JOG]LHMDNLFKQLJG\QLHE G]LHP\RJOGDüZURGRZLVNu WEB.