You are on page 1of 22

2SWLPL]LQJ 'HYHORSPHQW 3URGXFWLYLW\ 8VLQJ 80/ LQ 2UDFOHL -'HYHORSHU

$Q 2UDFOH :KLWH 3DSHU 'HFHPEHU 

2SWLPL]LQJ 'HYHORSPHQW 3URGXFWLYLW\ 8VLQJ 80/ LQ 2UDFOHL -'HYHORSHU

([HFXWLYH 2YHUYLHZ  ,QWURGXFWLRQ   2UDFOHL -'HYHORSHU   0RGHOLQJ $UFKLWHFWXUH   6RXUFH &RGH 0DQDJHPHQW  ;0/ )LOH 6WRUDJH DQG ([FKDQJH RI 0RGHOV   ;0, ([FKDQJH   %XVLQHVV &RPSRQHQWV IRU -DYD  7KH 8QLILHG 0RGHOLQJ /DQJXDJH   $ /LWWOH +LVWRU\   0RGHOLQJ DQG &RGH *HQHUDWLRQ 7HFKQRORJLHV :K\ 0RGHO"   0RGHOLQJ 7RROV  &ODVV 0RGHOHU   &RGH *HQHUDWLRQ  'HVLJQ &DSWXUH  0RGHOLQJ %XVLQHVV 2EMHFWV 8VLQJ %&-  80/ 3URILOH IRU %&-   0RGHOLQJ WKH (QWLW\ 2EMHFWV   0DSSLQJ (QWLW\ 2EMHFWV WR 3HUVLVWHQW 2EMHFWV   7UDQVIRUPLQJ D -DYD &ODVV WR DQ (QWLW\ 2EMHFW   $FWLYLW\ 0RGHOHU   (%XVLQHVV ,QWHJUDWLRQ $Q (VVHQWLDO 3DUW RI $SSOLFDWLRQV 'HYHORSPHQW   0RGHO %XVLQHVV 3URFHVVHV IRU (%XVLQHVV ,QWHJUDWLRQ  'HILQH WKH 3URFHVV ,PSOHPHQWDWLRQ  *HQHUDWH 3URFHVV ,QWHJUDWLRQ 3RLQWV  *HQHUDWH 'HFLVLRQ 3RLQWV   *HQHUDWH %XVLQHVV 3URFHVVHV IRU 0RQLWRULQJ   *HQHUDWH &RGH WR 0HVVDJHHQDEOH %&- $SSOLFDWLRQV   *HQHUDWH &RGH WR ,QWHJUDWH :HE 6HUYLFHV   &RQFOXVLRQ  7KH )XWXUH   ,Q 6XPPDU\  

Optimizing Development Productivity Using UML in Oracle9i JDeveloper Page 2

2SWLPL]LQJ 'HYHORSPHQW 3URGXFWLYLW\ 8VLQJ 80/ LQ 2UDFOHL -'HYHORSHU

EXECUTIVE OVERVIEW

7KH SDSHU GLVFXVVHV WKH YDOXH WKDW PRGHOLQJ FDQ DGG WR D GHYHORSPHQW HQYLURQPHQW VXFK DV -'HYHORSHU ,W GHVFULEHV WKH SDUWLFXODU WHFKQLTXHV RI WKH 80/ &ODVV PRGHOLQJ DQG $FWLYLW\ PRGHOLQJ WKDW DUH LQWURGXFHG LQ -'HYHORSHU DQG ZK\ WKH IHDWXUHV RI WKRVH PRGHOHUV ZLOO EH LPSRUWDQW WR GHYHORSHUV 7KH SDSHU VHHNV WR HVWDEOLVK WKH XQLTXH YDOXH RI WLJKW LQWHJUDWLRQ RI DQ ,QWHJUDWHG 'HYHORSPHQW (QYLURQPHQW ,'( ZLWK PRGHOLQJ WRROV
INTRODUCTION

2UDFOHL LV D FRPSOHWH LQWHJUDWHG DQG VWDQGDUGV EDVHG DSSOLFDWLRQ GHYHORSPHQW GHSOR\PHQW DQG GDWDEDVH HQYLURQPHQW :LWK 2UDFOHL 'DWDEDVH DQG 2UDFOHL -'HYHORSHU 2UDFOH LV FRPELQLQJ WKH GDWDEDVH REMHFWUHODWLRQDO PRGHO DQG 8QLILHG 0RGHOLQJ /DQJXDJH 80/ PRGHOLQJ 7KLV SDSHU ORRNV DW WKH IXWXUH RI WKLV FRPELQDWLRQ DQG KRZ 2UDFOH LV UHVSRQGLQJ WR WKH PRGHO GULYHQ GHYHORSPHQW FKDOOHQJH -'HYHORSHU FRPSOLHV ZLWK WKH ODWHVW -(( VWDQGDUGV ,W H[SORLWV DQG H[WHQGV WKHVH VWDQGDUGV WR SURYLGH D KLJK TXDOLW\ DQG KLJKO\ SURGXFWLYH HQYLURQPHQW IRU EXLOGLQJ DSSOLFDWLRQV :LWK WKH LQWURGXFWLRQ RI 80/ PRGHOHUV -'HYHORSHU KDV H[SDQGHG WKH VWDQGDUGV EDVH EH\RQG WKH SURJUDPPLQJ ODQJXDJHV WR WKH PRGHOLQJ ODQJXDJH :LWK WKH 80/ ZH PRYH IURP VWDQGDUGL]LQJ WKH ODQJXDJHV LQ ZKLFK WKH DSSOLFDWLRQV DUH ZULWWHQ WR VWDQGDUGL]LQJ WKH ODQJXDJH LQ ZKLFK GHVLJQV IRU WKRVH DSSOLFDWLRQV DUH ZULWWHQ 7KLV SDSHU RXWOLQHV WKH LPSDFW WKDW WKH 80/ KDV RQ WKH VRIWZDUH GHYHORSPHQW F\FOH DQG KRZ -'HYHORSHU 80/ PRGHOHUV LQWHJUDWHG FORVHO\ ZLWK VWDQGDUG LPSOHPHQWDWLRQ SODWIRUPV GHOLYHU SURGXFWLYLW\ LQ GHYHORSPHQW DQG WUDFHDELOLW\ IURP GHVLJQV WR GHSOR\PHQW 7KH SDSHU FRQFOXGHV ZLWK DQ RXWOLQH RI WKH IXWXUH GLUHFWLRQV IRU -'HYHORSHU
V 80/ WHFKQRORJ\

Optimizing Development Productivity Using UML in Oracle9i JDeveloper Page 3

ORACLE9I JDEVELOPER Modeling Architecture

-'HYHORSHU LV DQ DSSOLFDWLRQ GHYHORSPHQW HQYLURQPHQW ZLWK HQGWRHQG VXSSRUW IRU GHYHORSLQJ GHEXJJLQJ DQG GHSOR\LQJ HEXVLQHVV DSSOLFDWLRQV ,Q 2UDFOHL WKH -'HYHORSHU ,'( KDV EHHQ FRPSOHWHO\ UHGHYHORSHG LQ SXUH -DYD 7KLV FRQIHUV D QXPEHU RI EHQHILWV EXW PRVW LPSRUWDQW IRU WKH 80/ PRGHOHUV LV LQWHJUDWLRQ 2QFH DXWRPDWLF PRGHO DQG FRGH V\QFKURQL]DWLRQ LV VHOHFWHG ZKHQ D PRGHOHU HGLWV WKH FODVV PRGHO KH RU VKH LV HGLWLQJ WKH FRGH 7KHUH DUH QRW WZR DUWLIDFWV PRGHO DQG FRGH WKDW QHHG WR EH NHSW LQ V\QFK WKHUH LV MXVW RQH 7KLV SKLORVRSK\ RI LQWHJUDWHG PRGHOV DQG FRGH LV QRW DFKLHYDEOH ZLWKRXW DQ LQWHJUDWHG ,'( WKDW VXSSRUWV WKH GHYHORSHU WKURXJK DOO KLV RU KHU WDVNV DQG DOVR VXSSRUWV VZLWFKLQJ EHWZHHQ WKHP HDVLO\ DQG VPRRWKO\ ,QWHJUDWLRQ LV QRW MXVW RQ WKH GHVNWRS EXW DOVR LQ WKH XQGHUO\LQJ LQPHPRU\ REMHFW PRGHO 7KH ,'(
V DGGLQ DUFKLWHFWXUH PHDQV WKDW DOO WKH WRRO FRPSRQHQWV IRU H[DPSOH QDYLJDWRU HGLWRU PRGHOHU VKDUH PHPRU\ PRGHOV DQG HYHQW V\VWHPV ,Q WKLV ZD\ DQ XSGDWH LQ RQH WRRO LV QRWLILHG WR DQRWKHU WRRO VR LW FDQ UHIUHVK LWV LPDJH RU WDNH RWKHU DSSURSULDWH DFWLRQV $QRWKHU DGYDQWDJH LV WKDW WKH GHYHORSPHQW HQYLURQPHQW LV IXOO\ H[WHQVLEOH WKURXJK WKH $GGLQ $3, -'HYHORSHU LV EHFRPLQJ WKH FRPPRQ GHYHORSPHQW HQYLURQPHQW DW 2UDFOH DOORZLQJ LQWHUQDO GHYHORSPHQW WHDPV UG SDUW\ YHQGRUV DQG FXVWRPHUV WR DGG IXQFWLRQDOLW\ WR WKH SURGXFW
Source Code Management

2QH H[DPSOH RI WKH XVH RI WKH $GGLQ $3, LV -'HYHORSHUV LQWHJUDWLRQ ZLWK 2UDFOH 6RIWZDUH &RQILJXUDWLRQ 0DQDJHU 6&0 WKDW SURYLGHV WKH ,'( ZLWK FRPSOHWH REMHFW VRXUFH FRGH PDQDJHPHQW ,QWURGXFHG LQ -'HYHORSHU 5HOHDVH  VRXUFH FRQWURO PDQDJHPHQW LV H[WHQGHG LQ WKLV UHOHDVH WR VXSSRUW WKH QHZ 80/ PRGHOHUV 7KH PRGHOLQJ DUWLIDFWV DUH WUHDWHG MXVW OLNH DQ\ RWKHU SURMHFW ILOHV DQG VR WKH VDPH 6&0 RSHUDWLRQV DQG SURFHGXUHV FDQ DSSO\ $OVR EHFDXVH HDFK DUWLIDFW LV VDYHG DV DQ LQGLYLGXDO ILOH IRU H[DPSOH D &ODVV LQ WKH FODVV PRGHOHU DQ 2EMHFW)ORZ6WDWH LQ WKH $FWLYLW\ PRGHOHU VKDULQJ DQG YHUVLRQLQJ LV PRUH JUDQXODU WKDQ FDQ EH DFKLHYHG ZLWK PRGHOLQJ WHFKQRORJLHV ZKHUH D VLQJOH ILOH LV XVHG WR VWRUH D PRGHO +RZHYHU YHUVLRQLQJ JUDQXODULW\ LV OHIW WR WKH GHYHORSHU RU SURMHFW PDQDJHU 5DWKHU WKDQ YHUVLRQLQJ DW DQ DUWLIDFW OHYHO \RX FDQ FKRRVH WR YHUVLRQ DW D PRGHO GLDJUDP  FRQWDLQHU IROGHU  RU HYHQ SURMHFW OHYHO )RU H[DPSOH \RX FDQ KDYH YHUVLRQ  RI WKH &XVWRPHU FODVV LQ \RXU SURMHFW ZKLOVW D WHDP PHPEHU KDV FKHFNHG RXW DQG PRGLILHG LW LQ KHU SURMHFW :KHQ VKH FKHFNV KHU YHUVLRQ LQ \RX FDQ SLFN LW XS LQ \RXU SURMHFW RU \RX FDQ NHHS \RXU ROG YHUVLRQ ,Q WKLV VLWXDWLRQ \RX PLJKW VXEVHTXHQWO\ FRPSDUH WKH GLIIHUHQFHV 7KLV LV H[DFWO\ WKH ZD\ GHYHORSHUV H[SHFW WR EH DEOH WR ZRUN ZLWK VRXUFH FRGH ,W KDV WUDGLWLRQDOO\ EHHQ XQDYDLODEOH WR WKHP LQ D PRGHOLQJ HQYLURQPHQW

Optimizing Development Productivity Using UML in Oracle9i JDeveloper Page 4

0LFURPDQDJLQJ LQGLYLGXDO FODVV ILOHV LV XQOLNHO\ WR EH XVHG YHU\ IUHTXHQWO\ EXW VXEPRGHOV IRU H[DPSOH FRPPRQO\ UHIHUHQFHG GRPDLQ REMHFWV FDQ EH PDQDJHG E\ RQH GHYHORSHU DQG UHXVHG E\ DOO WKH RWKHU GHYHORSHUV RQ WKH WHDP
XML File Storage and Exchange of Models

-'HYHORSHU VWRUHV LWV PRGHOV DQG PRGHOLQJ DUWLIDFWV DV ;0/ ILOHV RQ WKH ILOH V\VWHP (DFK PRGHO WKH GLDJUDP LWVHOI LV D ILOH (DFK PDMRU REMHFW DUWLIDFW RQ WKH GLDJUDP LV DOVR VWRUHG LQ LWV RZQ ;0/ ILOH ,I WKH XVHU KDV FKRVHQ WR V\QFKURQL]H WKH PRGHO DQG FRGH WKHQ HDFK FODVV DOVR KDV D MDYD ILOH
XMI Exchange

3DUW RI WKH 80/ VWDQGDUG LV D GHILQLWLRQ RI KRZ 80/ PRGHOV VKRXOG EH H[SUHVVHG LQ ;0/ IRU H[FKDQJH 7KLV LV WKH ;0, VWDQGDUG -'HYHORSHU VXSSRUWV ;0, IRU WKH H[FKDQJH RI &ODVV $FWLYLW\ PRGHOV ,Q WKLV UHOHDVH RI -'HYHORSHU WKH LPSRUW RI FODVV PRGHOV WKDW FRPSO\ ZLWK ;0/  KDV EHHQ LPSOHPHQWHG -'HYHORSHU GRHV QRW XVH WKH ;0, IRUPDW IRU VWRUDJH RI LWV PRGHOV 7KLV LV EHFDXVH ;0, EHLQJ D JHQHUDO VWDQGDUG IRU H[FKDQJH RI DQ\ 80/ GDWD LV QRW QHFHVVDULO\ WKH PRVW HIILFLHQW VWRUDJH RI D SDUWLFXODU 80/ DUWLIDFW IRU H[DPSOH DQ $FWLYLW\ GHILQLWLRQ  -'HYHORSHU WDNHV WKH YLHZ WKDW LWV ILOH VWRUDJH VKRXOG EH RSWLPL]HG IRU UHDGZULWH DW PRGHOLQJ WLPH WKH ;0, H[FKDQJH XWLOLWLHV SHUIRUP WUDQVIRUPDWLRQV ZKHQ UHTXLUHG WR LPSRUW DQG H[SRUW PRGHO PHWDGDWD
Business Components for Java

7KH -'HYHORSHU %XVLQHVV &RPSRQHQWV )RU -DYD %&- DSSOLFDWLRQ FRPSRQHQW IUDPHZRUN ZDV LQWURGXFHG LQ 5HOHDVH  RI -'HYHORSHU %&- SURYLGHV D SHUVLVWHQF\ IUDPHZRUN PDSSLQJ
HQWLW\ REMHFWV
RQWR GDWDEDVH REMHFWV 7KH SHUVLVWHQW REMHFWV FDQ EH UHODWLRQDO WDEOHV LQ 2UDFOH RU RWKHU GDWDEDVHV RU 2UDFOH REMHFWV DQG E\ XVHUH[WHQVLRQ RI WKH IUDPHZRUN DQ\ RWKHU SHUVLVWHQW VWRUH %&- DOVR SURYLGHV D EXVLQHVV DSSOLFDWLRQ FRQVWUXFWLRQ IUDPHZRUN RQ WRS RI WKH SHUVLVWHQF\ IUDPHZRUN 7KH DSSOLFDWLRQ GHYHORSPHQW IUDPHZRUN LWVHOI LV WZR OD\HUHG FRPPRQ EXVLQHVV ORJLF DVVRFLDWHG ZLWK WKH SHUVLVWHQW HQWLW\ REMHFWV DQG DSSOLFDWLRQ VSHFLILF ORJLF WKH IRUPHU UHXVDEOH WKH ODWWHU FXVWRPL]HG IRU D VSHFLILF SXUSRVH $OO WKH DSSOLFDWLRQV DVVHPEOHG LQ WKH IUDPHZRUN KDYH PXOWLSOH LPSOHPHQWDWLRQ GHSOR\PHQW DQG XVHU LQWHUIDFH RSWLRQV IRU H[DPSOH (-% RU &25%$ VHUYLFHV 6HUYOHWV  -63V 7KLQ-DYD 6ZLQJ FOLHQWV  'HYHORSHUV FDQ DFFHVV WKH SRZHU RI WKH UXQWLPH IUDPHZRUN XVLQJ D VHW RI ZL]DUGV WKDW HOLPLQDWH WKH GUXGJHU\ RI UHSHWLWLYH FRGLQJ GHYHORSHUV RI FRXUVH PDLQWDLQ FRQWURO RI WKH EXVLQHVV ORJLF ,Q 2UDFOHL %&- LV LQWHJUDWHG ZLWK WKH QHZ PRGHOHUV 7KLV LV DFKLHYHG E\ WKH LPSOHPHQWDWLRQ RI D 80/ SURILOH IRU %&- VHH 0RGHOLQJ %XVLQHVV 2EMHFWV XVLQJ %&EHORZ  7KH DGGLWLRQ RI D PRGHOLQJ LQWHUIDFH WR %&- SURYLGHV D JUDSKLFDO DOWHUQDWLYH WR VXSSOHPHQW WKH :L]DUGOHG %&- GHYHORSPHQW

Optimizing Development Productivity Using UML in Oracle9i JDeveloper Page 5

THE UNIFIED MODELING LANGUAGE A Little History

,Q  D VXUYH\ RI REMHFW RULHQWHG 22 PHWKRGRORJLHV LGHQWLILHG VRPHWKLQJ OLNH  UHODWHG RYHUODSSLQJ FRPSHWLQJ PHWKRGRORJLHV &OHDUO\ WKLV ZDV QRW JRLQJ WR KHOS SURPRWH VXFFHVVIXO XVH RI 22 DSSURDFKHV DQG 22 SURJUDPPLQJ ODQJXDJHV 6NLOOV DQG H[SHULHQFH JDLQHG RQ RQH SURMHFW GR QRW WUDQVIHU WR WKH QH[W SURMHFW WKDW XVHV D GLIIHUHQW DSSURDFK 3HHU UHYLHZ EHFRPHV PXFK PRUH GLIILFXOW ZKHQ YHU\ IHZ RI \RXU SHHUV VKDUH WKH VDPH YRFDEXODU\ ,W ZDV LQWR WKLV VLWXDWLRQ WKDW WKH 2EMHFW 0DQDJHPHQW *URXS 20* VWHSSHG ,Q LWV QRUPDO ZD\ RI ZRUNLQJ WKH 20* ILUVW IRVWHUHG GLVFXVVLRQ EHWZHHQ LQWHUHVWHG PHPEHUV ODUJHO\ WHFKQRORJ\ YHQGRUV DQG ODUJH FRQVXPHUV RI ,7  7KHQ DV D FRQVHQVXV HPHUJHG DV WR ZKDW WKH UHTXLUHPHQW ZDV WKH 20* WDVN IRUFH IRUPXODWHG WKHVH UHTXLUHPHQWV LQWR D UHTXHVW IRU SURSRVDOV IURP YHQGRUV RU JURXSV RI YHQGRUV WR GHILQH D VWDQGDUG WKDW FRXOG PHHW WKH UHTXLUHPHQWV 7KHUH ZDV D JUHDW GHDO RI GHEDWH QHJRWLDWLRQ DQG FRPSURPLVH EXW LQ 1RYHPEHU  WKH 80/  VWDQGDUG ZDV SXEOLVKHG  ZDV DQ LQWHUQDO YHUVLRQ QHYHU SXEOLFO\ VWDQGDUGL]HG  2UDFOH ZDV RQH RI WKH HDUO\ FRQWULEXWRUV DQG *XXV 5DPDFNHUV RI 2UDFOH &RUSRUDWLRQ $SSOLFDWLRQ 'HYHORSPHQW 7RROV LV FRFKDLU RI WKH ZRUNLQJ JURXS FXUUHQWO\ GHILQLQJ WKH 80/ YHUVLRQ  7RGD\ WKH VWDQGDUG LV WKH  UHYLVLRQ RIILFLDOO\ SXEOLVKHG LQ )HEUXDU\ DQG ZRUN LV RQJRLQJ IRU IXWXUH UHYLVLRQV 7KH UDWH RI UHYLVLRQ LV DOUHDG\ PLQRU DQG LW LV IDLU WR VD\ WKDW WKH 80/ LV QRZ VWDEOH ,W KDV EHHQ UDSLGO\ DFFHSWHG DV WKH QXPEHU RI WH[WV RQ 80/ DQG 80/UHODWHG WRSLFV VKRZ DQG LW PLJKW EH LQWHUHVWLQJ WR UHSHDW WKH VXUYH\V RI  DQG  LQ  WR VHH KRZ PDQ\ RI WKRVH  DUH VWLOO RXW WKHUH DQG WR VHH WR ZKDW H[WHQW WKH\ UHFRJQL]H WKH 80/
Modeling and Code Generation Technologies Why Model?

$ PRGHOLQJ ODQJXDJH LV WKHUH WR SURYLGH GHYHORSHUV ZLWK D ZD\ WR H[SUHVV WKHLU LGHDV 7KH\ QHHG WR GR WKLV WR KHOS WKLQN WKURXJK FRPSOH[ GHVLJQ GHFLVLRQV WR YDOLGDWH XVHUV
UHTXLUHPHQWV DQG WR FRPPXQLFDWH ZLWK RWKHU GHYHORSHUV ERWK WR YDOLGDWH GHVLJQV DQG WR VKDUH VSHFLILFDWLRQV RI WKH LPSOHPHQWDWLRQ 6RPH GHYHORSHUV ZLOO DFNQRZOHGJH WKH SODFH RI PRGHOV WR YDOLGDWH UHTXLUHPHQWV ZLWK XVHUV EXW SUHIHU FRGH WR FRPPXQLFDWH ZLWK RWKHU GHYHORSHUV 2WKHU GHYHORSHUV VXJJHVW WKDW QDWXUDO ODQJXDJH DQG FRGH LQ WKH IRUP RI GHPRQVWUDEOH SURWRW\SHV DQG LQFUHPHQWDOO\ GHOLYHUHG IHDWXUHV DUH D EHWWHU ZD\ WR YDOLGDWH UHTXLUHPHQWV 2Q WKH RWKHU VLGH RI WKH GHEDWH VRPH GHYHORSHUV DVVHUW WKDW D GHVLJQ VKRXOG DOZD\V EH PRGHOHG ERWK WR LPSURYH FRPPXQLFDELOLW\ IRU SHHU UHYLHZ DQG WR HVWDEOLVK LWV VHOI FRQVLVWHQF\ 0RVW GHYHORSHUV DJUHH WKDW WKH\ ZLOO XVH PRGHOV LI LW VDYHV WLPH 7KH WLPH LW VDYHV LV XVXDOO\ H[SHFWHG WR EH WKDW ZKLFK ZRXOG RWKHUZLVH EH VSHQW LQ WKH UHZRUN WKDW LV QHFHVVDU\ EHFDXVH ZH JRW WKH UHTXLUHPHQWV ZURQJ EHFDXVH ZH GLGQ
W VKDUH D FRPPRQ XQGHUVWDQGLQJ RI WKH DUFKLWHFWXUH RU ZKDWHYHU ,W LV D FRVW DQG EHQHILW GHEDWH ZKLFK LV WR VRPH H[WHQW VXEMHFWLYH EHFDXVH VRPH SHRSOH IHHO PRUH

Optimizing Development Productivity Using UML in Oracle9i JDeveloper Page 6

FRPIRUWDEOH DQG DUH PRUH SURGXFWLYH ZRUNLQJ RQH ZD\ 2WKHUV DUH PRUH FRPIRUWDEOH ZRUNLQJ DQRWKHU ZD\ %XW WKH PRUH YDOXH D WRRO OLNH PRGHOLQJ FDQ DGG WKH PRUH WLPH LW FDQ VDYH WKH PRUH GHYHORSHUV ZLOO DFFHSW LW DQG XVH LW 7KLV VHWV WKH DJHQGD IRU D PRGHOLQJ WRRO YHQGRU EH LW D 80/ WRRO RU DQ\ RWKHU VDYH GHYHORSHUV
WLPH 7KH 8, PXVW PDNH LW VLPSOH WR GUDZ D VLPSOH PRGHO ULYDOLQJ ZKLWHERDUG HDVH RI XVH LV YHU\ GHPDQGLQJ  7KH 8, PXVW PDNH LW HDV\ WR FKDQJH DQG HYROYH PRGHOV LQ D ZRUNLQJ VHVVLRQ WKLV LV ZKHUH WKH ZKLWHERDUG PRGHO VWDUWV WR JHW D ELW PHVV\  7KH WRRO PXVW PDNH LW HDV\ WR UHXVH HOHPHQWV RI PRGHOV DQG VXEPRGHOV QRZ ZH VWDUW WR VHH JHW VRPH UHDO YDOXH IURP WKH WRRO  7KHUH DUH RWKHU EHQHILWV IXUWKHU DORQJ WKLV FXUYH LQ WHUPV RI YHUVLRQ PDQDJHPHQW PDLQWDLQLQJ KLVWRU\ DQG VR RQ %XW IRU PDQ\ GHYHORSHUV WKH YDOXH SURSRVLWLRQ RI PRGHOLQJ WRROV LV VLPSO\ WKHLU FRGH JHQHUDWLRQ FDSDELOLWLHV DQG LQ WKHLU DELOLW\ WR UHYHUVH HQJLQHHU DQG YLVXDOL]H H[LVWLQJ FRGH 7KLV LV ZLGHO\ UHFRJQL]HG LQ WKH WRROV DYDLODEOH ZKLFK W\SLFDOO\ VXSSRUW WKH FRQFHSW RI
URXQGWULS HQJLQHHULQJ E\ ZKLFK LV PHDQW WKH DELOLW\ WR PRGHO JHQHUDWH PRGLI\ WKH FRGH DIWHU JHQHUDWLRQ UHYHUVH HQJLQHHU WKLV PRGLILHG FRGH WR XSGDWH WKH PRGHO DQG WR JR URXQG WKLV F\FOH DJDLQ DV QHFHVVDU\ 5RXQGWULS HQJLQHHULQJ LV D YDOXDEOH DGYDQFH RQ VLPSOH FRGH JHQHUDWLRQ EXW LW KDV D PDMRU GLVDGYDQWDJH WKDW LV DGGUHVVHG LQ -'HYHORSHU 5RXQGWULS HQJLQHHULQJ DV GHVFULEHG KHUH LV D MRXUQH\ WKH GHYHORSHU HPEDUNV XSRQ LI VKH RU KH FKRRVHV WR DW D FRVW LQ WLPH DQG GLVUXSWLRQ RI WKH GHYHORSPHQW WDVN ,W RQO\ DGGV EHQHILW LI ZH DFWXDOO\ ZDQW WR JR EDFN WR WKH PRGHO DQG PDNH FKDQJHV 2WKHUZLVH LW LV DQ DGGLWLRQDO VWHS MXVW WR NHHS WKH PRGHO XS WR GDWH $QG LI ZH GR JR EDFN DQG FKDQJH WKH PRGHO WKH UHJHQHUDWH VWHS LV W\SLFDOO\ HTXLYDOHQW WR D
PDNH
SURFHVV IRU WKH FRGH 1RW D VWHS WR WDNH OLJKWO\ 7KH -'HYHORSHU DSSURDFK LV D PRUH URXQGWULS HQJLQHHULQJ :KHQ WKH GHYHORSHU HGLWV WKH FRGH KH RU VKH LV HGLWLQJ WKH PRGHO 7KHUH DUH QRW WZR LQGHSHQGHQW DUWLIDFWV PRGHO DQG FRGH WKDW QHHG WR EH NHSW V\QFKURQL]HG 7KH FRGH IRUPV WKH PHWDGDWD IRU WKH PRGHO ,Q IDFW WKHUH DUH VRPH RWKHU PRGHOUHODWHG PHWDGDWD WKDW ZKLFK GHVFULEH OD\RXW IRQW FRORUV DQG VR RQ IRU WKH SLFWRULDO UHSUHVHQWDWLRQ RI WKH PRGHO 7KLV LV QRW LQWULQVLFDOO\ SDUW RI WKH FRGH VR LW LV NHSW LQ ;0/ ILOHV 7KLV DSSURDFK DOORZV WKH GHYHORSHU WR ZRUN DV KH RU VKH ZDQWV SXWWLQJ WKH HPSKDVLV QRZ RQ FRGH QRZ RQ PRGHOLQJ ,W DOVR PHDQV WKDW ZLWKLQ D SURMHFW WKH SRWHQWLDO FODVK RI FXOWXUH RYHU WKH ULJKW OHYHO RI PRGHOLQJ LV HOLPLQDWHG 7KH FRGH LV WKH PRGHO ,W FDQ DOPRVW EH UHJDUGHG DV D VLQJOH FRGH EDVH DQG WZR HGLWRUV RQH EDVHG RQ D WH[WXDO V\QWD[ DQG WKH RWKHU RQ D JUDSKLFDO V\QWD[ EXW VKDULQJ D FRPPRQ VHPDQWLF
MODELING TOOLS

7KH GHOLYHU\ RI 80/ VXSSRUW LQ -'HYHORSHU ZLOO EH VWDJHG DQG 5HOHDVH L LQWURGXFHV WKH ILUVW 80/ PRGHOHUV ,Q OLQH ZLWK WKH -'HYHORSHU VWUDWHJ\ RI SULRULWL]LQJ IHDWXUHV DFFRUGLQJ WR WKH GLUHFW EHQHILW WKH\ EULQJ WR GHYHORSHUV WKH

Optimizing Development Productivity Using UML in Oracle9i JDeveloper Page 7

ILUVW SDFNDJH RI 80/ PRGHOHUV LQWURGXFHV WZR WHFKQLTXHV &ODVV PRGHOLQJ DQG $FWLYLW\ PRGHOLQJ .H\ HOHPHQWV RI WKH HEXVLQHVV LQIUDVWUXFWXUH DUH WKH FRUH EXVLQHVV REMHFWV DQG WKHLU SHUVLVWHQFH WKH DSSOLFDWLRQ FRPSRQHQWV DQG WKHLU LQWHUIDFHV WKH SURFHVVHV DQG LQWHJUDWLRQ LQIUDVWUXFWXUH 7KH SULPDU\ 80/ WHFKQLTXHV IRU PRGHOLQJ WKH EXVLQHVV REMHFWV DQG SURFHVVHV RI DQ HEXVLQHVV V\VWHP DUH &ODVV DQG $FWLYLW\ PRGHOLQJ 7KLV PDNHV WKHLU LQFOXVLRQ DV WKH ILUVW PRGHOHUV WR EH LQWURGXFHG LQWR -'HYHORSHU L DQ REYLRXV RQH 7KH &ODVV 0RGHOHU VXSSRUWV PRGHOLQJ DQG JHQHUDWLRQ IRU %&- DQG IRU QDWLYH -DYD FODVVHV 7KH $FWLYLW\ 0RGHOHU VXSSRUWV PHVVDJLQJ DQG H%XVLQHVV ,QWHJUDWLRQ ,WV PRGHOLQJ DQG JHQHUDWLRQ WDUJHWV DUH 2UDFOH $GYDQFHG 4XHXLQJ $4 DQG 2UDFOH :RUNIORZ ZLWK -06 DFFHVV DQG ;0/ PHVVDJH SD\ORDGV %RWK PRGHOHUV VXSSRUW VWDQGDUG 80/ XVDJH WR ZKLFK KDYH EHHQ DGGHG IHDWXUHV VSHFLILF WR -'HYHORSHU
Class Modeler

80/ &ODVV PRGHOLQJ LV SUREDEO\ WKH PRVW ZHOO HVWDEOLVKHG PRGHOLQJ WHFKQLTXH LQ VRIWZDUH GHYHORSPHQW 7KH -'HYHORSHU &ODVV 0RGHOHU VXSSRUWV DOO WKH VLJQLILFDQW DVSHFWV RI WKLV WHFKQLTXH LQFOXGLQJ &ODVVHV ,QWHUIDFHV $VVRFLDWLRQV 'HSHQGHQFLHV *HQHUDOL]DWLRQ 1RWHV DQG &RQVWUDLQWV )LJXUH  EHORZ VKRZV D VFUHHQ VKRW RI D SDUWLDOO\ PRGHOHG V\VWHP LQ WKH 2UDFOHL -'HYHORSHU ,'( ,W FRQWDLQV WZR SDQHV GRZQ WKH OHIW VLGH RI WKH VFUHHQ DQG D VLPSOH FODVV PRGHO GLDJUDP LQ WKH ZRUNDUHD WR WKHLU ULJKW 7KLV GLDJUDP VKRZV ILYH -DYD FODVVHV &XVWRPHU &RUSRUDWH ,QGLYLGXDO 2UGHU 2UGHU/LQHV DQG RQH LQWHUIDFH 6RUWDEOH 7KH -DYD FODVVHV DUH GLVSOD\HG ZLWK WKH MDYD FODVV 80/ VWHUHRW\SH 8QGHUQHDWK WKH 80/ VWHUHRW\SH WKH SDFNDJH WKDW WKH REMHFW EHORQJV WR LV GLVSOD\HG P\SDFNDJH 7KH FODVVHV &RUSRUDWH DQG ,QGLYLGXDO DUH VXEFODVVHV RI WKH FODVV &XVWRPHU 7KLV LV VKRZQ E\ WKH JHQHUDOL]DWLRQ UHODWLRQVKLSV 7KHUH LV DQ DVVRFLDWLRQ EHWZHHQ WKH &XVWRPHU DQG 2UGHU FODVVHV 7KH PXOWLSOLFLW\ RI WKH DVVRFLDWLRQ LV DOVR VKRZQ ,Q WKLV H[DPSOH RQH &XVWRPHU FDQ EH DVVRFLDWHG ZLWK PDQ\ 2UGHUV EXW HDFK 2UGHU RQO\ UHODWHV WR RQH &XVWRPHU 7KH 2UGHU FODVV LPSOHPHQWV WKH 6RUWDEOH LQWHUIDFH 7KH VWURQJ RZQHUVKLS RI HDFK RUGHU OLQH E\ DQ RUGHU LV VKRZQ E\ WKH FRPSRVLWH DJJUHJDWLRQ RI WKH WZR FRUUHVSRQGLQJ FODVVHV

Optimizing Development Productivity Using UML in Oracle9i JDeveloper Page 8

)LJXUH  2UDFOHL -'HYHORSHU ,'( DQG D &ODVV 0RGHO

:LWKLQ WKH GLVSOD\ RI WKH &XVWRPHU FODVV D QXPEHU RI GLIIHUHQW DVSHFWV RI WKH DWWULEXWHV DQG RSHUDWLRQV RI WKH FODVV FDQ EH DVFHUWDLQHG 7KH DWWULEXWHV DUH RI W\SH 6WULQJ 7KH DWWULEXWHV DUH YLVLEOH E\ RWKHU REMHFWV ZLWKLQ WKH VDPH SDFNDJH GHQRWHG E\ WKH SDUDJUDSK V\PERO 7KH RSHUDWLRQ VHW&UHGLW5DWLQJ WDNHV D 6WULQJ SDUDPHWHU ,Q WKH ,QGLYLGXDO FODVV WKH DWWULEXWH FUHGLW&DUG1R LV SULYDWH GHQRWHG E\ WKH GDVK DQG VHW&UHGLW&DUG DQG LV&UHGLW*RRG RSHUDWLRQV KDYH EHHQ GHILQHG IRU RWKHU REMHFWV ZLWKLQ WKH SDFNDJH WR DFFHVV 7KH -DYD FRGH IRU HDFK RI WKH FODVVHV H[FHSW WKH 2UGHU/LQHV FODVV KDV EHHQ JHQHUDWHG 7KH LFRQ LQ WKH XSSHU OHIW KDQG FRUQHU RI WKH FODVV GHQRWHV WKLV $V ZHOO DV FUHDWLQJ 80/ FRPSRQHQWV LQ D FODVV GLDJUDP GHYHORSHUV FDQ XSGDWH DQG PDQLSXODWH WKHP WKURXJK LQSODFH HGLWLQJ )RU LQVWDQFH WKH\ FDQ FKDQJH WKH VLJQDWXUHV RI RSHUDWLRQV GUDJ DQG GURS DWWULEXWHV DQG RSHUDWLRQV EHWZHHQ FODVVHV DQG FKDQJH WKH QDPH DQG PXOWLSOLFLW\ RI DVVRFLDWLRQV 2WKHU SURGXFWLYLW\ ERRVWHUV LQFOXGH WKH DELOLW\ WR VWUDLJKWHQ OLQHV (DFK RI WKH REMHFWV LQ D PRGHO LV FXVWRPL]DEOH ,W LV HDV\ WR GHFLGH IRU LQVWDQFH RQ D FRORU VFKHPH WR KLJKOLJKW GLIIHUHQW REMHFW W\SHV 7KLV KHOSV PRGHOHUV WR FRPPXQLFDWH ZLWK XVHUV SHUKDSV WR KLJKOLJKW DUHDV ZLWKLQ D PRGHO WKDW DUH VLPLODU

Optimizing Development Productivity Using UML in Oracle9i JDeveloper Page 9

QHHG PRUH H[SORUDWLRQ DUH XQILQLVKHG HWF ,Q WKLV GLDJUDP WKH ,QGLYLGXDO FODVV LV GLVSOD\LQJ LWV LQQHU FODVVHV DQG LQWHUIDFHV FRPSDUWPHQWV WKH 6RUWDEOH LQWHUIDFH KDV QR GHWDLO GLVSOD\HG (DFK RI WKH HOHPHQWV RI WKLV GLDJUDP FDQ EH XVHG LQ PDQ\ GLIIHUHQW GLDJUDPV DQG ZLWK GLIIHUHQW GLVSOD\ SURSHUWLHV 7KLV DOORZV PRGHOHUV WR FUHDWH GLIIHUHQW GLDJUDPV IRU GLIIHUHQW SXUSRVHV ZKLOVW XVLQJ WKH XQGHUO\LQJ PRGHO HOHPHQW
Code Generation

2QH RI WKH VWUHQJWKV RI WKH -'HYHORSHU FODVV PRGHO LV LWV IOH[LELOLW\ RI FRGH JHQHUDWLRQ $V GLVFXVVHG HDUOLHU D PDMRU UHDVRQ WKDW D GHYHORSHU XVHV D PRGHO LV LI WKH PRGHO DQG FRGH DUH V\QFKURQL]HG $V D PRGHOHU \RX KDYH D QXPEHU RI RSWLRQV DV WR ZKHQ \RX JHQHUDWH WKH FRGH IRU D PRGHO GHSHQGLQJ RQ WKH JUDQXODULW\ \RX ZLVK 2QFH D PRGHO LV JHQHUDWHG WKH FRGH DQG WKH PRGHO EHFRPH V\QFKURQL]HG $Q\ FKDQJHV PDGH WR WKH PRGHO DUH UHIOHFWHG LQ WKH FRGH DQG YLFHYHUVD <RX FDQ FKRRVH WR JHQHUDWH FRGH IRU ,QGLYLGXDO REMHFWV LQ D GLDJUDP 6HOHFWHG JURXSV RI REMHFWV LQ D GLDJUDP $OO WKH REMHFWV LQ RQH GLDJUDP ZLWKRXW WKH QHHG WR VHOHFW WKHP (DFK REMHFW DV LW LV FUHDWHG LQ WKH GLDJUDP *HQHUDWLRQ FUHDWHV D MDYD ILOH IRU HDFK REMHFW VHOHFWHG IRU JHQHUDWLRQ DQG DSSHDUV LQ WKH 1DYLJDWLRQ SDQH

)LJXUH  2UDFOHL -'HYHORSHU &RGH (GLWRU

Optimizing Development Productivity Using UML in Oracle9i JDeveloper Page 10

)LJXUH  DERYH VKRZV WKH FRGH HGLWRU LQYRNH WKH FRGH HGLWRU \RX FDQ XVH WKH FRQWH[WPHQX RI WKH PRGHOHG FODVV WR GR WKLV WR LQVSHFW WKH FRGH 7KH ILJXUH VKRZV WKH FRGH HGLWRU IRU WKH Order FODVV $Q\ FKDQJHV WKDW DUH QRZ PDGH WR WKH Order FODVV LQ WKH FRGH HGLWRU ZLOO EH UHIOHFWHG LQ WKH GLDJUDP YLHZDEOH E\ VHOHFWLQJ WKH &ODVV 'LDJUDP YLHZ WDE DW WKH WRS RI WKH ZRUNDUHD &RQYHUVHO\ \RX FDQ XVH LQSODFH HGLWLQJ WR PDNH FKDQJHV WR D JHQHUDWHG REMHFW LQ WKH GLDJUDP DQG WKH\ DUH UHIOHFWHG LQ WKH -DYD YLVLEOH LQ WKH FRGH HGLWRU
Design Capture

2QH RI WKH PRVW YDOXDEOH XVHV RI D PRGHO LV WR KHOS XQGHUVWDQG DQ H[LVWLQJ ERG\ RI FRGH :KLOVW WKH LWHUDWLYH GHYHORSPHQW RI FRGH DQG PRGHOV WRJHWKHU LV YDOXDEOH DQG LQWXLWLYH WKHUH DUH PDQ\ FDVHV ZKHUH WKH FRGH H[LVWV DQG LI WKHUH DUH PRGHOV WKH\ DUH ORVW RXW RI GDWH RU LQDFFHVVLEOH &UHDWLQJ WKH PRGHOV LQ UHWURVSHFW LV D YDOXDEOH IHDWXUH RI -'HYHORSHU <RX FDQ LQFOXGH ILOHV SDFNDJHV DQG OLEUDULHV IURP WKH ILOH V\VWHP LQWR WKH ,'( DQG UHFUHDWH XSGDWH DQG YLVXDOL]H FRPSOH[ UHODWLRQVKLSV <RX FDQ LPSRUW WKHP DORQJ ZLWK WKHLU ILOH VWUXFWXUH LQWR DQ H[LVWLQJ SURMHFW RU EXLOG D FRPSOHWHO\ QHZ SURMHFW DURXQG WKHP <RX FDQ FUHDWH PRGHOV VHW DVVRFLDWLRQV DQG XSGDWH WKH V\QFKURQL]HG FRGH DQG PRGHOV LQ WKH -'HYHORSHU ,'(
Modeling Business Objects Using BC4J

7KH ILUVW VWHS LQ GHYHORSLQJ DQ HEXVLQHVV DSSOLFDWLRQ LV WR GHYHORS WKH EXVLQHVV REMHFW PRGHO 7KHVH REMHFWV UHSUHVHQW WKH FRUH HQWLW\ REMHFWV IURP WKH SUREOHP GRPDLQ 7KH\ HQFDSVXODWH EXVLQHVV UXOHV DQG DUH UHXVHG WKURXJKRXW PDQ\ DSSOLFDWLRQV ,Q )LJXUH  EHORZ DQ H[DPSOH LV JLYHQ RI WKH FRUH EXVLQHVV REMHFWV IRU DQ RQOLQH DXFWLRQLQJ V\VWHP 7KH REMHFWV DUH PRGHOHG XVLQJ -'HYHORSHUV DSSOLFDWLRQ GHYHORSPHQW IUDPHZRUN %&- WR WDNH DGYDQWDJH RI LWV REMHFWUHODWLRQDO PDSSLQJ
UML Profile for BC4J

80/ SURILOHV DUH D ZD\ RI H[WHQGLQJ WKH 80/ VWDQGDUG ZLWK QHZ HOHPHQWV DQG SURSHUWLHV LQ RUGHU WR VSHFLDOL]H LW IRU VSHFLILF GRPDLQV DQG LPSOHPHQWDWLRQ IUDPHZRUNV -'HYHORSHU RIIHUV VSHFLILF VXSSRUW IRU D 80/ SURILOH IRU 2UDFOHV %&- $ SURILOH FRQVLVWV RI D FROOHFWLRQ RI VWHUHRW\SHV ZLWK DVVRFLDWHG WDJJHG YDOXHV 6WHUHRW\SHV DUH HIIHFWLYHO\ ODEHOV WKDW FDQ EH DWWDFKHG WR 80/ PHWDFODVVHV OLNH &ODVV $WWULEXWH DQG 0HWKRG )RU %&- HQWLW\ REMHFWV WKH VWHUHRW\SH HQWLW\ REMHFW KDV EHHQ GHILQHG WR DSSO\ WR WKH 80/ PHWDFODVV &ODVV ,Q DGGLWLRQ WR VLPSO\ DGGLQJ D VWHUHRW\SH ODEHO WR D 80/ HOHPHQW WKH\ FDQ DOVR EH JLYHQ DGGLWLRQDO WDJJHG YDOXHV 7DJJHG YDOXHV DUH HIIHFWLYHO\ PHWD SURSHUWLHV WKDW FDQ EH DGGHG WR 80/ HOHPHQWV WR H[WHQG WKHLU VHPDQWLFV

Optimizing Development Productivity Using UML in Oracle9i JDeveloper Page 11

)LJXUH  0RGHOLQJ %XVLQHVV 2EMHFWV ZLWK WKH %&- 80/ SURILOH HOHPHQWV
Modeling the Entity Objects

(QWLW\ REMHFWV DUH GRPDLQ FODVVHV WKDW HQFDSVXODWH EXVLQHVV ORJLF DQG WKDW DUH H[WHQGHG ZLWK SHUVLVWHQFH SURSHUWLHV VXFK DV D GDWDEDVH REMHFW WDEOH RU REMHFW W\SH WR ZKLFK HQWLW\ FODVVHV DUH PDSSHG ,Q DGGLWLRQ WKHUH DUH VWHUHRW\SHV DQG WDJJHG YDOXHV WR PRGHO WKH SHUVLVWHQFH GHWDLOV RI LQGLYLGXDO HQWLW\ REMHFW DWWULEXWHV DQG DVVRFLDWLRQV 2Q WRS RI WKDW EDVH IXQFWLRQDOLW\ WKH %&- IUDPHZRUN VXSSRUWV VSHFLILF FRQVWUDLQW KDQGOLQJ WKURXJK YDOLGDWRUV DQG HYHQW KDQGOLQJ IXQFWLRQDOLW\ WKURXJK HYHQWV )LJXUH  VKRZV HQWLW\ REMHFWV PRGHOHG LQ D FODVV GLDJUDP (DFK HQWLW\ REMHFW GLVSOD\V ZLWK LWV DWWULEXWHV DQG EXVLQHVV ORJLF PHWKRGV WRJHWKHU ZLWK LWV IUDPHZRUN LPSOHPHQWDWLRQ PHWKRGV JHQHUDWHG E\ WKH %&- IUDPHZRUN
Mapping Entity Objects to Persistent Objects

,Q PDQ\ GHYHORSPHQW SURMHFWV WKH EXVLQHVV REMHFWV ZLOO QRW EH GHYHORSHG IURP VFUDWFK EHFDXVH WKH XQGHUO\LQJ REMHFWV H[LVW LQ RQH IRUP RU DQRWKHU LQ H[LVWLQJ OHJDF\ V\VWHPV ,Q WKDW FDVH D GHIDXOW HQWLW\ REMHFW PRGHO FDQ EH UDSLGO\ UH HQJLQHHUHG IURP H[LVWLQJ GDWDEDVH GHILQLWLRQV ,Q WKH QDYLJDWRU SDQH RI )LJXUH  WKHUH LV DQ RSHQ FRQQHFWLRQ WR WKH 2( VFKHPD DQG WKH QDYLJDWRU SDQH VKRZV WKH OLYH GDWDEDVH REMHFWV 7KH PRGHOHU FDQ GUDJ DQG GURS D WDEOH GHILQLWLRQ WR D FODVV GLDJUDP DQG DQ HQWLW\ REMHFW IRU WKDW WDEOH GHILQLWLRQ ZLOO EH FUHDWHG ,Q WKLV H[DPSOH WKH &86720(56 WDEOH KDV EHHQ GUDJJHG RQWR WKH FODVV GLDJUDP WR FUHDWH WKH &XVWRPHUV HQWLW\ REMHFW 7KH HQWLW\

Optimizing Development Productivity Using UML in Oracle9i JDeveloper Page 12

REMHFW GLVSOD\V WKH DWWULEXWHV DQG PHWKRGV WKDW KDYH EHHQ DXWRPDWLFDOO\ FUHDWHG IRU WKH HQWLW\ REMHFW LPSOHPHQWDWLRQ FODVV 7KH GHYHORSHU KDV DGGHG EXVLQHVV ORJLF WR WKH LPSOHPHQWDWLRQ FODVV <RX FDQ VHH WKH PHWKRGV JHQHUDWHG E\ WKH %&IUDPHZRUN OLVWHG XQGHU IUDPHZRUN DQG WKH EXVLQHVV ORJLF DGGHG E\ WKH GHYHORSHU EXVLQHVV 

)LJXUH  2QHWRRQH PDSSLQJ RI ,QYHQWRU\ ,WHP HQWLW\ WDEOH LQ WKH 2( VFKHPD

7KH PRGHOHU KDV DQ DOWHUQDWLYH ZD\ RI PDSSLQJ HQWLW\ REMHFWV ZLWK GDWDEDVH REMHFWV )LJXUH  VKRZV WKH GLDORJ IRU WKH ,QYHQWRU\,WHP HQWLW\ REMHFW ,Q WKLV H[DPSOH LW LV WR EH PDSSHG WR WKH ,19(1725,(6 WDEOH LQ WKH 2( GDWDEDVH VFKHPD 7KH PRGHOHU FKRRVHV RQH RU PRUH RI WKH FROXPQ GHILQLWLRQV WR PDS WR WKH HQWLW\ REMHFW DQG DGGV DWWULEXWHV WKDW GR QRW PDS WR WKH XQGHUO\LQJ WDEOH 2QFH WKLV PDSSLQJ KDV EHHQ FUHDWHG FROXPQ GHILQLWLRQV ZLOO EH GLVSOD\HG DV DWWULEXWHV RQ WKH HQWLW\ REMHFW )RU HQWLW\ REMHFW GHILQLWLRQV WKDW GR QRW PDS WR DQ H[LVWLQJ GDWDEDVH REMHFW WKH HQWLW\ REMHFW FDQ EH IRUZDUG HQJLQHHUHG LQWR WKH GDWDEDVH XVLQJ -'HYHORSHU 7KH GHILQLWLRQ RI WKH EXVLQHVV REMHFW PRGHO DQG LWV LPSOHPHQWDWLRQ LV FUXFLDO IRU WKH V\VWHP WR EH EXLOW DQG VKRXOG EH LQFUHPHQWDOO\ YHULILHG E\ HQG XVHUV DQG GRPDLQ H[SHUWV -'HYHORSHU HQDEOHV WKH HQWLW\ REMHFW PRGHO WR EH WHVWHG LQ D EDVLF XVHU LQWHUIDFH 8, KDUQHVV DW DQ\ SRLQW LQ WLPH WKLV ZLOO DOVR WHVW DQ\ FRQVWUDLQWV WKDW KDYH EHHQ GHILQHG  7KH 8, KDUQHVV SURYLGHV D JHQHULF DSSOLFDWLRQ XVHU LQWHUIDFH WKDW FDQ UXQ DJDLQVW DQ\ %&- EXVLQHVV FRPSRQHQWV PRGHO ,Q WKLV ZD\

Optimizing Development Productivity Using UML in Oracle9i JDeveloper Page 13

WKH EXVLQHVV REMHFW PRGHO FDQ EH UDSLGO\ YDOLGDWHG ZLWK XVHUV LQ D UHDO FRQWH[W DQG LWHUDWLYHO\ GHILQHG
Transforming a Java Class to an Entity Object

7KHUH PD\ EH RFFDVLRQV ZKHQ D GHYHORSHU KDV D FODVV GLDJUDP FRQWDLQLQJ RQH RU PRUH -DYD &ODVVHV WKDW QRZ QHHG WR EH FRQYHUWHG WR HQWLW\ REMHFWV 7KLV FRXOG EH DV D UHVXOW IRU LQVWDQFH RI DQ HDUOLHU -DYD SURMHFW RU OHJDF\ V\VWHP QRZ EHLQJ WHVWHG RU UHGHYHORSHG XVLQJ %&- VRPH DQDO\VLV KDYLQJ EHHQ GRQH XVLQJ D -'HYHORSHU FODVV GLDJUDP RU D -DYD FODVV GLDJUDP LPSRUWHG IURP DQRWKHU WRRO -'HYHORSHU KDV D PHFKDQLVP WR FUHDWH DQ HQWLW\ REMHFW EDVHG RQ D -DYD FODVV LQ D FODVV GLDJUDP 2QFH WKH HQWLW\ REMHFW KDV EHHQ JHQHUDWHG LW FDQ EH PDSSHG WR D GDWDEDVH REMHFW DV GHVFULEHG DERYH
Activity Modeler

,Q WKH 80/ WKHUH DUH D QXPEHU RI XVHV IRU $FWLYLW\ PRGHOV 7KH\ DUH UHFRPPHQGHG IRU GHILQLQJ WKH FRQWURO IORZ WKURXJK D PHWKRG DQG IRU UHSUHVHQWLQJ UHDO ZRUOG SURFHVVHV RI PDQ\ NLQGV )LJXUH  EHORZ LV DQ H[DPSOH RI DFWLYLW\ PRGHOLQJ IRU JHQHUDOSXUSRVH SURFHVV GHVFULSWLRQ ,W LV LQWHUHVWLQJ WR QRWH WKDW HYHQ VXFK D VLPSOH SURFHVV DV PDNLQJ FRIIHH LV IXUWKHU VLPSOLILHG LQ WKLV H[DPSOH 1R RQH LQ WKLV RIILFH VHHPV WR GULQN PLON RU WDNH VXJDU 5HDO EXVLQHVV SURFHVVHV VRRQ EHFRPH YHU\ FRPSOH[ WR UHSUHVHQW DQG DV FKDOOHQJLQJ WR LPSOHPHQW ,Q -'HYHORSHU 5HOHDVH L WKH $FWLYLW\ PRGHOHU VXSSRUWV JHQHUDOSXUSRVH FRQWURO IORZ PHFKDQLVPV EXW LW KDV DGGLWLRQDO IXQFWLRQDOLW\ WR VXSSRUW PRGHOLQJ IRU LQWHJUDWLRQ RI WKRVH V\VWHPV VXSSRUWLQJ FRPSOH[ EXVLQHVV SURFHVVHV
E-Business Integration An Essential Part of Applications Development

$IWHU PRGHOLQJ DQG LPSOHPHQWLQJ WKH DSSOLFDWLRQV UHTXLUHG IRU DQ HEXVLQHVV V\VWHP WKH DSSOLFDWLRQV DUH LQ SULQFLSOH UHDG\ WR UXQ +RZHYHU QR VLJQLILFDQW DSSOLFDWLRQ GHYHORSPHQW LQ WKH H:RUOG VWDQGV DORQH $ FRPSOH[ V\VWHP VXFK DV DQ DXFWLRQLQJ VLWH LV GHILQHG E\ PRUH WKDQ MXVW D ORRVH FROOHFWLRQ RI DSSOLFDWLRQV WKDW PDNH XS WKH V\VWHP 7KHUH LV DOZD\V WKH IURQWHQG WKH XVHU LQWHUIDFH EXW IRU WKDW LQWHUIDFH WR GHOLYHU DQ\ YDOXH WR LWV XVHUV LW QHHGV WKH FRRSHUDWLRQ RI D QXPEHU RI RWKHU V\VWHPV 7KHVH PLJKW EH ,QYHQWRU\ 6KLSSLQJ DQG )LQDQFH LQ WKH EDFNRIILFH DQG WKLUG SDUW\ V\VWHPV VXFK DV D &UHGLW $JHQF\ 6XSSOLHUV DQG 'LVWULEXWRUV 7KH FROODERUDWLYH SURFHVV WKDW UXQV DFURVV WKH GLIIHUHQW DSSOLFDWLRQV LQ WKH GLIIHUHQW V\VWHPV LQYROYHG QHHGV WR EH PRGHOHG H[SOLFLWO\ DQG VXSSRUWHG E\ D UXQWLPH IUDPHZRUN 7KH OLQNV WKDW HQDEOH WKHVH V\VWHPV WR FRRSHUDWH DUH LQFUHDVLQJO\ EDVHG RQ ;0/ GRFXPHQWV DQG DV\QFKURQRXV PHVVDJLQJ FKDQQHOV %XLOGLQJ WKH LQIUDVWUXFWXUH WKDW VXSSRUWV VXFK FRRSHUDWLYH SURFHVVHV DQG PDSSLQJ WKH HOHPHQWV RQWR WKHP LV H EXVLQHVV LQWHJUDWLRQ $QG NH\ WR VXFFHVVIXO LQWHJUDWLRQ LV WKH FRUUHFW PDSSLQJ RQWR WKH SURFHVVHV WKH LQWHJUDWLRQ LV WR VXSSRUW

Optimizing Development Productivity Using UML in Oracle9i JDeveloper Page 14

%XVLQHVV SURFHVVHV PD\ LQYROYH QHZ DQG OHJDF\ V\VWHPV LQ DQ HQWHUSULVH ,QWHJUDWLQJ WKHVH SURFHVVHV LV NQRZQ DV (QWHUSULVH $SSOLFDWLRQ ,QWHJUDWLRQ ($,  %XVLQHVV SURFHVVHV PD\ VSDQ PXOWLSOH LQGHSHQGHQW RUJDQL]DWLRQV 7KHVH DUH %XVLQHVV WR %XVLQHVV %% SURFHVVHV (%XVLQHVV SURFHVVHV ($, RU %% DUH HYHQWGULYHQ SURFHVVHV 7R DXWRPDWLFDOO\ LQWHJUDWH WKHP UHTXLUHV H[FKDQJH RI PHVVDJHV ZLWK FRPSOH[ URXWLQJ DQG GDWD SD\ORDGV EHWZHHQ V\VWHPV DQG XVHUV DFURVV WKH JOREHV

)LJXUH  &RIIHH PDNLQJ UHSUHVHQWHG DV D 80/ $FWLYLW\ PRGHO


Model Business Processes for E-Business Integration

7KH -'HYHORSHU $FWLYLW\ PRGHOHU SURYLGHV VWURQJ VXSSRUW IRU PRGHOLQJ EXVLQHVV SURFHVVHV ZLWKRXW D SURFHVV YLHZ RI LQWHJUDWLRQ LW LV YHU\ GLIILFXOW IRU D EXVLQHVV WR YHULI\ WKDW WKH LPSOHPHQWDWLRQ VXSSRUWV WKH EXVLQHVV SURFHVV 7KLV LV GRXEO\ LPSRUWDQW ZKHQ SDUWQHUV DUH LPSOHPHQWLQJ FRPSOHPHQWDU\ SURFHVVHV ,W LV QRW VXIILFLHQW WKDW WKH\ XQGHUVWDQG WKH IRUPV XVXDOO\ ;0/ GRFXPHQWV WKDW WKH\ QHHG WR H[FKDQJH WKH\ QHHG WR DJUHH WKH PHDQLQJ RI HDFK GRFXPHQW DQG ZKDW DFWLRQ D SDUWQHU ZLOO WDNH ZKHQ WKH\ UHFHLYH LW 8VLQJ -'HYHORSHU
V $FWLYLW\ PRGHOHU EXVLQHVV XVHUV DQG GHYHORSHUV FDQ GHILQH EXVLQHVV SURFHVV IORZV )LJXUH  EHORZ LV DQ H[DPSOH RI WKH ELG DFFHSWDQFH SURFHVV LQYROYLQJ WKH DXFWLRQLQJ VLWH DQG D ELGGLQJ SDUW\ ZKRVH ELG KDV EHHQ DFFHSWHG ,W VKRZV WKH REMHFW ,WHP EHLQJ PDQDJHG WKURXJK LWV OLIHF\FOH $IWHU WKH ELG IRU DQ LWHP LV FORVHG WKH KLJKHVW ELG LV DFFHSWHG DQG D FRQILUPDWLRQ PHVVDJH LV UHTXHVWHG IURP WKH ELGGLQJ SDUW\ 2QFH WKH FRQILUPDWLRQ LV UHFHLYHG DQ LQYRLFH LV VHQW WR WKH ELGGHU ,I WKH SXUFKDVHU

Optimizing Development Productivity Using UML in Oracle9i JDeveloper Page 15

LV D LQGLYLGXDO FXVWRPHU WKHLU FUHGLW FDUG LV DXWRPDWLFDOO\ GHELWHG ,I WKH SXUFKDVHU LV D FRUSRUDWH FXVWRPHU WKHQ DQ LQYRLFH LV VHQW $IWHU WKH SD\PHQW LV UHFHLYHG HLWKHU WKURXJK WKH SULYDWH FXVWRPHUV FUHGLW FDUG EHLQJ GHELWHG RU WKH FRUSRUDWH FXVWRPHU VHQGLQJ SD\PHQW WKH LWHP LV VKLSSHG

)LJXUH  7KH %LG $FFHSWDQFH SURFHVV IORZ RI WKH HEXVLQHVV DXFWLRQ KRXVH

7KH SURFHVVHV DUH H[SUHVVHG LQ WHUPV RI DFWLYLWLHV VXEV\VWHPV WKDW SHUIRUP WKH DFWLYLWLHV UHSUHVHQWHG DV SDUWLWLRQV LQ $FWLYLW\ PRGHOV DQG URXWLQJ IRU H[DPSOH FRQGLWLRQV UHSUHVHQWHG E\ 80/ SVHXGRVWDWHV  7KH PRGHO DOVR GHILQHV WKH REMHFWV WKDW DUH EHLQJ SURFHVVHG 7KH $FWLYLW\ PRGHOHU H[SUHVVHV WKHVH LQ WHUPV RI REMHFWV DQG VWDWHV 7KH UHVXOW LV D JUDSKLFDO GHVFULSWLRQ RI D SURFHVV WKDW LV HDVLO\ UHDGDEOH DQG FRPPXQLFDEOH EHWZHHQ EXVLQHVV XVHUV DQG GHYHORSHUV 7KH DFWLYLWLHV LQ WKLV SURFHVV DUH VSOLW DFURVV WKUHH V\VWHPV $XFWLRQ $FFRXQWV &XVWRPHU UHSUHVHQWHG DV D SDUWLWLRQ RIWHQ FDOOHG D VZLPODQH RI WKH GLDJUDP ,W LV HDV\ WR VHH ZKDW HDFK V\VWHP LV UHVSRQVLEOH IRU GRLQJ DQG LW LV HDV\ WR VHH ZKDW WKH IORZ VWDWH RI WKH REMHFW LV DV LW LV VHQW IURP RQH WR DQRWKHU )RU H[DPSOH WKH ,WHP EHLQJ FRQILUPHG LQYRLFHG DQG SDLG IRU 7KH FODULW\ RI WKH SURFHVV DOORZV WKH PRGHO WR EH XQGHUVWRRG GLVFXVVHG UHILQHG DQG YDOLGDWHG E\ EXVLQHVV DQG V\VWHPV SHRSOH 7KH SURFHVV PD\ LQYROYH D UHWDLO FXVWRPHU XVLQJ IRU H[DPSOH WKH -63 XVHU LQWHUIDFH RU DQ H[WHUQDO RUJDQL]DWLRQ XVLQJ IRU H[DPSOH DQ ;0/ LQWHUIDFH WR WKH V\VWHP  ,Q ERWK FDVHV WKH HEXVLQHVV SURFHVV WKH DSSOLFDWLRQ PRGHO DQG WKH XQGHUO\LQJ EXVLQHVV REMHFWV DUH WKH VDPH DQG KHQFH RQO\ GHILQHG RQFH %\ XVLQJ D 80/ PRGHO RI WKH EXVLQHVV SURFHVV WR JHQHUDWH WKH YDULRXV PHWDGDWD IRUPDWV LQYROYHG WKHUH LV D FHQWUDO PRGHO IURP ZKLFK SURFHVV IXQFWLRQDOLW\ LV GULYHQ

Optimizing Development Productivity Using UML in Oracle9i JDeveloper Page 16

Define the Process Implementation

2I FRXUVH D EXVLQHVV PRGHO KDV YDOXH HYHQ ZLWKRXW DXWRPDWHG LPSOHPHQWDWLRQ EHFDXVH LW PDNHV LW HDVLHU IRU GHYHORSHUV DQG EXVLQHVV XVHUV WR DJUHH ZKDW LV UHTXLUHG %XW LW KDV PXFK PRUH YDOXH LI LW FDQ EH WUDQVIRUPHG LQWR DQ LPSOHPHQWDWLRQ VZLIWO\ ZLWK D KLJK OHYHO RI DXWRPDWLRQ DQG ZLWK WUDFHDELOLW\ WR WKH RULJLQDO UHTXLUHPHQWV 7KH -'HYHORSHU $FWLYLW\ PRGHOHU RIIHUV VWURQJ VXSSRUW IRU WKLV UHILQHPHQW IURP UHTXLUHPHQWV WR LPSOHPHQWDWLRQ 'HYHORSHUV FDQ DGG WR EXVLQHVV PRGHOV WKH DGGLWLRQDO VHPDQWLF GDWD WKDW GHILQH WKH H[HFXWDEOH SURFHVVHV URXWLQJ DQG TXHXHV %XW WKLV LV QRW D PDWWHU WKDW QHHG FRQFHUQ WKH EXVLQHVV XVHUV ,Q IDFW WKH ZD\ 80/ LV H[WHQGHG WR VXSSRUW WKLV LV DOPRVW LQYLVLEOH WR WKH EXVLQHVV XVHU 7UDFHDELOLW\ IURP WKH EXVLQHVV WR WKH LPSOHPHQWDWLRQ LV E\ UHILQHPHQW RI WKH VDPH PRGHO WKHUH DUH QR VHSDUDWH $QDO\VLV DQG 'HVLJQ PRGHOV WR JHW RXW RI VWHS DOWKRXJK RI FRXUVH E\ XVLQJ WKH 6&0 IDFLOLWLHV LQ -'HYHORSHU LW LV VLPSOH WR SUHVHUYH WKH $QDO\VLV PRGHO DV D VQDSVKRW ,Q RUGHU WR WUDQVIRUP WKH EXVLQHVV PRGHO LQWR DQ H[HFXWDEOH SURFHVV ZH QHHG WR VSHFLI\ WKH LQIUDVWUXFWXUH LW ZLOO XVH IRU WKH LQWHJUDWLRQ SRLQWV $Q LQWHJUDWLRQ SRLQW LV D SRLQW DW ZKLFK D PHVVDJH PXVW IORZ IURP RQH V\VWHP RU SURFHVV ZLWKLQ D V\VWHP WR DQRWKHU ,Q WKH H[DPSOH SURFHVV LQ )LJXUH  WKHUH DUH D QXPEHU RI LQWHJUDWLRQ SRLQWV 2QH H[DPSOH LV IURP WKH $XFWLRQ V\VWHP WR WKH $FFRXQWV V\VWHP DQG WR WKH &XVWRPHU 7R FUHDWH WKH LWHP LQYRLFH DQG WR UHTXHVW WKDW D FRQILUPDWLRQ RI WKH VDOH LV UHWXUQHG WR WKH $FFRXQWV V\VWHP UHVSHFWLYHO\ 7KH 2UDFOH HEXVLQHVV LQIUDVWUXFWXUH XVHV 2UDFOH $GYDQFHG 4XHXLQJ $4 WR FDUU\ PHVVDJHV EHWZHHQ 2UDFOHEDVHG V\VWHPV $4 DOVR KDV JDWHZD\V WR RWKHU PDMRU TXHXLQJ SURGXFWV ,Q )LJXUH  EHORZ WKH GLDORJ VKRZV KRZ WKH FKDQQHOV LQ WKH $XFWLRQ V\VWHP DUH WR EH LPSOHPHQWHG WZR FKDQQHOV KDYH EHHQ GHILQHG ,Q WKLV EXVLQHVV SURFHVV RQO\ RQH LQFRPLQJ DQG RQH RXWJRLQJ FKDQQHO DUH UHTXLUHG E\ WKH $XFWLRQ V\VWHP 7KH 2UDFOH :RUNIORZ %XVLQHVV (YHQW 6\VWHP %(6 FDQ EH XVHG DV DQ RSWLRQDO HYHQW V\VWHP WR IURQWHQG RQWR $4 PHVVDJLQJ %(6 PDNHV LW HDVLHU WR LQWHJUDWH H[LVWLQJ :RUNIORZ SURFHVVHV LQ WKH ORFDO V\VWHP LW FDQ DOVR SHUIRUP FRQGLWLRQDO URXWLQJ RI PHVVDJHV GHSHQGLQJ RQ WKH FRQWHQW RI WKH PHVVDJHV WKHPVHOYHV NQRZQ DV FRQWHQWEDVHG URXWLQJ RU &%5  :KHUH WKHUH DUH QR ORFDO ZRUNIORZV WKH XVHU FDQ DOWHUQDWLYHO\ GLUHFWO\ LQYRNH WKH $4 PHVVDJLQJ LQIUDVWUXFWXUH DQG FDQ XVH $4
V LQEXLOW &%5 IHDWXUHV
Generate Process Integration Points

7KH $FWLYLW\ PRGHO JHQHUDWRU XVHV 2UDFOH $4 2UDFOH :RUNIORZ DQG 2UDFOH :RUNIORZV %(6 V\VWHP WR LQWHJUDWH HQGWRHQG SURFHVVHV 7KLV JHQHUDWHV WKH TXHXHV WKDW FDUU\ PHVVDJHV DFURVV LQWHJUDWLRQ SRLQWV (DFK RI WKH WZR V\VWHPV SDUWLFLSDWLQJ LQ WKH LQWHJUDWLRQ SRLQW UHTXLUH D TXHXH WRJHWKHU ZLWK WKH SURSDJDWLRQ UXOHV WR HQVXUH WKDW D PHVVDJH HQTXHXHG DW WKH VRXUFH RI WKH LQWHJUDWLRQ SRLQW ZLOO DSSHDU IRU GHTXHXH LQ WKH TXHXH DW WKH WDUJHW HQG RI WKH LQWHJUDWLRQ SRLQW $W H[HFXWH WLPH DQ RXWJRLQJ SURFHVV UDLVHV DQ HYHQW DQG HQTXHXHV D PHVVDJH HLWKHU

Optimizing Development Productivity Using UML in Oracle9i JDeveloper Page 17

GLUHFWO\ WR $4 RU YLD WKH %(6  $W WKH RWKHU VLGH RI WKH LQWHJUDWLRQ SRLQW WKH GHOLYHUHG PHVVDJH EHFRPHV DYDLODEOH IRU GHTXHXH 6R IRU HDFK LQWHJUDWLRQ SRLQW WKH JHQHUDWRU ZLOO FUHDWH D SDLU RI TXHXHV RQH DFFHVVLEOH WR WKH HQTXHXHU DQG RQH DFFHVVLEOH WR WKH GHTXHXHU GHILQLWLRQV WR GULYH SURSDJDWLRQ WKURXJK WKH KXE IURP WKH HQTXHXHU WR GHTXHXHU HYHQW DQG VXEVFULSWLRQ GHILQLWLRQV LQ %(6 WR PDQDJH WKH TXHXHV 8VLQJ WKH %(6 PHDQV WKDW HDFK HYHQW LV LGHQWLILHG LQGHSHQGHQWO\ RI WKH PHVVDJHV WKDW DUH HQTXHXHG DV D UHVXOW RI WKDW HYHQW %\ PRQLWRULQJ WKH UDLVLQJ RI WKHVH HYHQWV DQ REVHUYHU FDQ WUDFN WKH SURJUHVV RI D SDUWLFXODU LQVWDQFH RI D EXVLQHVV SURFHVV 7KLV LV GLVFXVVHG EHORZ

)LJXUH  'LDORJ H[SRVLQJ WKH $XFWLRQ SDUWLWLRQ


V &KDQQHO SURSHUWLHV
Generate Decision Points

:LWKLQ WKH %LG $FFHSWDQFH SURFHVV RI WKH DXFWLRQLQJ V\VWHP D GHFLVLRQ PXVW EH PDGH DV WR KRZ WKH LQYRLFH LV SDLG EDVHG RQ WKH W\SH RI FXVWRPHU ,I WKH VDOH LV WR D SULYDWH FXVWRPHU WKHLU GHELW FDUG LV LPPHGLDWHO\ GHELWHG DQG WKH RUGHU FDQ EH VKLSSHG ,I WKH VDOH LV WR D FRUSRUDWH FXVWRPHU SD\PHQW PXVW EH UHFHLYHG IURP WKH FXVWRPHU EHIRUH VKLSPHQW LV PDGH ,Q )LJXUH  EHORZ WKH GLDORJ VKRZV WKH FKDQQHO WR EH VHOHFWHG LI D SULYDWH FXVWRPHU KDV SXUFKDVHG WKH LWHP ,Q WKLV FDVH WKH WUDQVLWLRQ LV LQWR WKH GHELW&&DUG SURFHVV 7KH GHFLVLRQ LV EDVHG RQ YDOXHV LQ WKH ,WHP LWVHOI 7KLV LV D FRPPRQ UHTXLUHPHQW NQRZQ DV FRQWHQWEDVHG URXWLQJ WKH

Optimizing Development Productivity Using UML in Oracle9i JDeveloper Page 18

URXWH LV EDVHG RQ WKH FRQWHQW RI WKH PHVVDJH %HFDXVH WKH FRPPRQ VWUXFWXUH IRU PHVVDJHV LV DQ ;0/ GRFXPHQW WKH PRGHOHU DOORZV WKH XVHU WR VSHFLI\ WKHLU RZQ -DYD PHWKRG 7KH $FWLYLW\ PRGHO JHQHUDWRU FUHDWHV WKH FRGH WR HQVXUH WKDW WKH HYDOXDWLRQ LV H[HFXWHG DW UXQWLPH DQG WKDW WKH PHVVDJH LV URXWHG DFFRUGLQJ WR WKH UHVXOW 0XOWL URXWLQJ LV DOVR VXSSRUWHG DV DUH FRPELQDWLRQV RI URXWLQJ GHFLVLRQV 0DQ\ FRQWHQWEDVH URXWLQJ GHFLVLRQV DUH RI WKH IRUP
6KRXOG WKLV JR WR $ RU WR %"
6RPH URXWLQJ GHFLVLRQV DUH RI WKH IRUP
:KLFK RI P\ VXSSOLHUV VKRXOG WKLV UHTXHVW IRU WHQGHU JR WR"
7KH $FWLYLW\ PRGHO JHQHUDWRU VXSSRUWV URXWLQJ GHFLVLRQV OLNH WKLV WR DSSO\ ILOWHUV RU WR EURDGFDVW PHVVDJHV

)LJXUH  &KDQQHO VHOHFWLRQ LQ WKH 7UDQVLWLRQ SURSHUWLHV GLDORJ


Generate Business Processes for Monitoring

:HYH VHHQ WKDW D YLVLEOH HQGWRHQG SURFHVV PRGHO KHOSV LQ YDOLGDWLQJ DQG FRPPXQLFDWLQJ WKH EXVLQHVV SURFHVV (TXDOO\ YLWDO DW UXQWLPH LV WKH DELOLW\ WR WUDFH WKH SURJUHVV RI H[HFXWLQJ SURFHVVHV IRU PRQLWRULQJ WKH HIIHFWLYHQHVV RI EXVLQHVV SURFHVVHV DQG DOVR IRU WUDFNLQJ FULWLFDO SURFHVVHV 6R DV ZHOO DV JHQHUDWLQJ WKH PHVVDJLQJ LQIUDVWUXFWXUH -'HYHORSHU DOVR JHQHUDWHV D ZRUNIORZ H[HFXWDEOH E\ 2UDFOH :RUNIORZ WKDW SURYLGHV WKH PRQLWRULQJ FRQVROH IRU WKH EXVLQHVV SURFHVV LQ H[HFXWLRQ 7KLV ZRUNIORZ UXQV DW D XVHUVHOHFWHG QRGH LQ WKH SURFHVV NQRZQ DV WKH +XE  $OO PHVVDJHV DUH URXWHG WKURXJK WKH +XE V\VWHP QRW RQO\ GRHV LW URXWH WKRVH PHVVDJHV RQ WR WKHLU GHVWLQDWLRQ LW DOVR PDLQWDLQV WKH VWDWH RI WKH KXE ZRUNIORZ VR WKDW SURFHVV PDQDJHUV FDQ ZDWFK DQG PRQLWRU WKH SURJUHVV RI SURFHVV H[HFXWLRQV 7KLV KXE DQG VSRNH PHVVDJLQJ RSWLRQ QRW RQO\ HQDEOHV WKH PRQLWRULQJ IDFLOLWLHV LW DOVR LQVXODWHV WKH VSRNHV IURP FKDQJH 7KH\ KDYH QR

Optimizing Development Productivity Using UML in Oracle9i JDeveloper Page 19

NQRZOHGJH RI WKH SURFHVV EHFDXVH DOO URXWLQJ DQG GHFLVLRQ PDNLQJ LV KLGGHQ IURP WKHP ,I WKH SURFHVV FKDQJHV WKH VSRNHV GR QRW QHHG WR FKDQJH XQOHVV WKH FKDQJH LQ SURFHVV GLUHFWO\ DIIHFWV WKHP ,I D VSRNH FRQWLQXHV WR UHFHLYH DQG VHQG WKH VDPH PHVVDJHV HYHQ LI WKH VRXUFHV DQG GHVWLQDWLRQ RI WKH PHVVDJHV FKDQJH WKHQ WKH VSRNH FDQ UHPDLQ LJQRUDQW RI DQ\ FKDQJH LQ WKH SURFHVV EHFDXVH LW LV DOO PDQDJHG E\ WKH KXE 7KH 3URFHVV *HQHUDWRU WDNHV D EXVLQHVV SURFHVV GHILQLWLRQ DQG JHQHUDWHV DQ H[HFXWDEOH ZRUNIORZ WR UHSUHVHQW WKH ZKROH HQGWRHQG SURFHVV ZKLFK UXQV DW ZKLFKHYHU QRGH WKH XVHU GHVLJQDWHV DV WKH KXE 7KH KXE PD\ DOVR H[HFXWH DFWLYLWLHV LQ WKH SURFHVV RU LW PD\ EH DQ LQGHSHQGHQW LQWHJUDWLRQ KXE ZKRVH RQO\ UROH LV WR PDQDJH DQG PRQLWRU (DFK SRLQW ZKHUH WKH SURFHVV FURVVHV IURP RQH V\VWHP WR DQRWKHU LV NQRZQ DV DQ LQWHJUDWLRQ SRLQW 7KH LQWHJUDWLRQ SRLQW JHQHUDWRU FUHDWHV WKH DSSURSULDWH HYHQWV LQ WKH %(6 RU GLUHFWO\ LQ $4 WKDW OLQN SURFHVVHV DFURVV LQWHJUDWLRQ SRLQWV 7KH SURFHVV JHQHUDWRU WKUHDGV WKHVH HYHQWV LQWR D XQLILHG ZRUNIORZ VR WKDW D XVHU PRQLWRULQJ WKH ZRUNIORZ FDQ GHWHFW HDFK LQWHJUDWLRQ SRLQW DV LW KDSSHQV
Generate Code to Message-enable BC4J Applications

7KH PHVVDJLQJ LQIUDVWUXFWXUH TXHXLQJ URXWLQJ DQG SURSDJDWLRQ DUH HVVHQWLDO EXW PDQ\ DSSOLFDWLRQV DUH QRW EXLOW WR SDUWLFLSDWH LQ PHVVDJHEDVHG SURFHVVHV 7\SLFDOO\ LQWHJUDWLRQ SURMHFWV KDYH WR ZULWH ZUDSSHUV DURXQG H[LVWLQJ DSSOLFDWLRQV WR DOORZ WKHP WR SDUWLFLSDWH 7KHVH ZUDSSHUV DUH FRPPRQO\ NQRZQ DV DGDSWHUV WKDW FRPPRQO\ GR WZR MREV $Q RXWJRLQJ DGDSWHU ILUVWO\ KDV WR GHWHFW VLJQLILFDQW HYHQWV LQ WKH DSSOLFDWLRQ LW LV ZUDSSLQJ IRU H[DPSOH D QHZ LWHP KDV EHHQ UHFRUGHG LQ WKH $FFHSWB%LGV DSSOLFDWLRQ RI WKH $XFWLRQ V\VWHP 7KHQ LW KDV WR WXUQ WKLV HYHQW LQWR D PHVVDJH DQG HQTXHXH LW WR WKH DSSURSULDWH FKDQQHO $Q LQFRPLQJ DGDSWHU KDV WR OLVWHQ WR D FKDQQHO DQG ZKHQ D PHVVDJH DUULYHV LW KDV WR WULJJHU WKH DSSURSULDWH SURFHVVLQJ LQ WKH WDUJHW V\VWHP IRU H[DPSOH LQVHUW D URZ LQ D WUDQVDFWLRQ WDEOH RI WKH ,QYRLFHB,WHPV DSSOLFDWLRQ LQ WKH $FFRXQWV V\VWHP 7KHUH DUH PDQ\ DGDSWHUV DYDLODEOH SUHEXLOW WR ZUDSSHU PDUNHW OHDGLQJ (53 DQG &50 DSSOLFDWLRQV DQG WKHUH DUH WRRONLWV DYDLODEOH IRU EXLOGLQJ FXVWRP DGDSWHUV 6LQFH PDQ\ QHZ ,QWHUQHW DSSOLFDWLRQV ZLOO EH EXLOW XVLQJ 2UDFOHV %&- IUDPHZRUN WKH %&- 0HVVDJLQJ *HQHUDWRU XVHV WKH -DYD 0HVVDJLQJ 6HUYLFH -06 $3, WR DFFHVV 2UDFOH $4 DOORZLQJ %&- DSSOLFDWLRQV WR VHQG DQG UHVSRQG WR PHVVDJHV )RU HDFK FKDQQHO GHILQHG LQ D VZLPODQH WKH 3URFHVV *HQHUDWRU FDQ JHQHUDWH WKH FOLHQW FRGH QHFHVVDU\ WR FDOO D %&- DGDSWHU )RU V\VWHPV QRW XVLQJ WKH %&IUDPHZRUN RU IRU ZKLFK D SUHEXLOW ZUDSSHU LV QRW DYDLODEOH WKH 3URFHVV *HQHUDWRU FDQ JHQHUDWH WKH FOLHQW FRGH QHFHVVDU\ WR FDOO LWV EDVLF MDYD FRGH DGDSWHU
Generate Code to Integrate Web Services

$Q\ DFWLYLW\ LQ D SURFHVV PD\ EH LPSOHPHQWHG DV D :HE 6HUYLFH DQG -'HYHORSHU SURYLGHV IHDWXUHV IRU ERWK GHYHORSHUV DQG XVHUV RI :HE 6HUYLFHV %\ ZUDSSLQJ ZHE VHUYLFHV LQ EDVLF -DYD DGDSWHUV GHYHORSHUV FDQ XVH -'HYHORSHU WR PRGHO DJJUHJDWHG

Optimizing Development Productivity Using UML in Oracle9i JDeveloper Page 20

RU FRPSRVLWH ZHE VHUYLFHV DQG JHQHUDWH D ODUJH SDUW RI WKHLU LPSOHPHQWDWLRQ ,Q WKLV ILUVW UHOHDVH WKHUH LV VRPH KDQGFRGLQJ WR FRQQHFW DGDSWHUV WR WKH ORJLF RI WKH DFWLYLWLHV EXW WKLV UHSUHVHQWV RQO\ D VPDOO SDUW RI WKH LPSOHPHQWDWLRQ PRVW RI ZKLFK LV JHQHUDWHG
CONCLUSION The Future

7KH 80/ LV D ZLGHU ODQJXDJH WKDQ WKH -'HYHORSHU LPSOHPHQWDWLRQ GHVFULEHG LQ WKLV SDSHU 6XEVHTXHQW UHOHDVHV ZLOO FRQWLQXH WR HPSKDVLV YDOXH IRU WKH GHYHORSHU DQG LW LV FOHDU WKDW GHYHORSHUV FDQ GHULYH KLJK YDOXH IURP PRUH 80/ VXSSRUW ,Q VRPH LQVWDQFHV DGGLQJ YDOXH LQGLFDWHV VXSSRUW IRU PRGHOLQJ WHFKQLTXHV VLPSO\ IRU WKHLU DELOLW\ WR JUDSKLFDOO\ H[SUHVV LQWHQWLRQV IRU H[DPSOH 8VH &DVHV &RPSRQHQWV DQG 3DFNDJHV  ,Q RWKHU FDVHV WKH YDOXH FRPHV IURP FRGH JHQHUDWLRQ IRU H[DPSOH 6HTXHQFH DQG 6WDWH &KDUWV  7KH 80/ UHSUHVHQWV D PDMRU VWHS IRUZDUG LQ VRIWZDUH GHYHORSPHQW )XWXUH GHYHORSPHQW RI -'HYHORSHU PRGHOHUV ZLOO IRFXV RQ ERWK EURDGHQLQJ WKH 80/ FRYHUDJH VXSSRUWLQJ PRUH RI WKH PRGHOLQJ WHFKQLTXHV DQG RQ GHHSHU FRYHUDJH SURYLGLQJ DGGLWLRQDO 80/ SURILOHV DQG JHQHUDWRUV 7KH LQWHQWLRQ LV WKDW -'HYHORSHU ZLOO SURYLGH IXOO VXSSRUW RI WKH 80/ DQG WUDFN LWV RQJRLQJ HYROXWLRQ
In Summary

7KLV SDSHU GLVFXVVHV WKH IHDWXUHV DQG EHQHILWV RI WKH 80/ VXSSRUW DYDLODEOH LQ 2UDFOHL -'HYHORSHU $V HYHU\ZKHUH HOVH LQ -'HYHORSHU WKHUH LV D VWURQJ HPSKDVLV RQ VXSSRUW IRU LQGXVWU\ VWDQGDUG ERWK LQ WHUPV RI WKH PRGHOLQJ IHDWXUHV RIIHUHG DQG LQ WHUPV RI RSHQ H[FKDQJH DQG VXSSRUW IRU ;0, 7KHUH LV DQ HTXDOO\ VWURQJ HPSKDVLV RQ DGGLQJ YDOXH IRU GHYHORSHUV E\ IRFXVLQJ RQ LPSOHPHQWDWLRQ SURGXFWLYLW\ 7KLV PHDQV WLJKW LQWHJUDWLRQ RI PRGHOV DQG FRGH ,W PHDQV VWURQJ FRGH JHQHUDWLRQ DQG WKH HOLPLQDWLRQ RI XQQHFHVVDU\ FRGLQJ WDVNV ,W PHDQV H[SORLWLQJ WKH SRZHU RI H[LVWLQJ IHDWXUHV VXFK DV %&- ,W DOVR PHDQV XVDEOH WRROV LQ DQ LQWHJUDWHG ,'( SURYLGLQJ D XQLILHG WRROVHW IRU WKH GHYHORSHU $QG LW PHDQV VXSSRUW IRU PDQDJHPHQW DQG WHDP ZRUNLQJ WKURXJK ILQH JUDLQ PRGHOLQJ DUWLIDFWV WKDW FDQ EH UHXVHG DQG FRQWUROOHG 7KH LQWURGXFWLRQ RI 80/ PRGHOLQJ WRROV EURDGHQV WKH DSSHDO RI -'HYHORSHU ZLWKRXW GLOXWLQJ LWV FRPPLWPHQW WR GHYHORSHUV ,W OHYHUDJHV RWKHU WHFKQRORJLHV LQ -'HYHORSHU DQG HOVHZKHUH LQ WKH 2UDFOH VWDFN IRU H[DPSOH %&- 2UDFOH $4 ZKLOH EXLOGLQJ D 80/ SODWIRUP IRU WKH IXWXUH

Optimizing Development Productivity Using UML in Oracle9i JDeveloper Page 21

Optimizing Development Productivity Using UML in Oracle9i JDeveloper December 2001 Author: Susan Duncan 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 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.

You might also like