| ¥N
¦Ò Áp ¨t |
|
Mail: |
| PassBiBle |
 |
PassBiBle.Com |
| Msn
: |
| PassBiBle |
 |
HotMail.Com |
| QQ
: 6411019 |
|
 |
| |
|
¶}µoJ2EEÀ³¥ÎÀ³¿í´`ªº¤LÂIì«h
|
| |
J2EE¡A§@¬°¶}µomission-criticalªº¥ø·~¯ÅÀ³¥Îªº¤@¾ã®M³WSªº¾ã¦X¥¥x¡A³WS¦h¡B¤º®e¼s¡A±q¦Óµ¹¶}µoJ2EEÀ³¥Î±a¨Ó¤F«Ü¦h¡§³Â·Ð¡¨¡C¤ñ¦p¡A¬°¹ê²{¤º®eªºRDBMS¦sÀx¡A§ÚÌ¥i¯àªº¤èªk¦³JDBC¡BEntity Beans¡BJDO¡BO/R Mapping¤u¨ã¡]TopLink¡BHibernate¡^¡BXML-DBMS¡BJAXBµ¥¤èªk¡]¨ä¤¤¤@¨Ç¤èªk¤£¬OJ2EE³WS©Ò¥]§tªº¡^¡C¦]¦¹¡A¬°¹ê²{J2EE¦U¼h¡]¦Ü¤Ö¦³ªí¥Ü¼h¡B±±¨î¼h¡B°Ó·~ÅÞ¿è¼hµ¥3¼h¡^¥H¤Î¼hÉO¼h¤§¶¡ªº½¢¦X¡AJ2EE¨t²Î¬[ÌÛ®v»Ýn¦Ò¼{ªº°ÝÃD·|«Ü¦h¡C¥[¤W¡AJ2EE¥»¨ªº§Ö³tµo®i¡Aµ¹¬[ÌÛ¡B¶}µo¨ã¦³¤u·~±j«×ªºJ2EEÀ³¥Î±a¨Ó¤@¨ÇÃøÃD¡C
¦P®É¡A³n¥ó¶}µo§Þ³N±q¨Ó´N¨S¦³¡§»È¼u¡¨¡A©Ò¥HJ2EE§Þ³N¤]¤£¬OÉE¯àªº¡C¦ý¬O¡A¦pªG§Ú̦bµ²¦X¨ãÊ^°Ó·~»Ý¨Dªº°ò¦¤W¡A¦X²zªºÀ³¥Î¦nJ2EE§Þ³N¡A¨äµ²ªG¥i·Q¦Óª¾¡C¥»¤å¸Õ¹Ï±q¥»¤H¥H©¹ªº¶µ¥Ø¸gÅç¤J¤â¡A¨Ó±´°Q¶}µoJ2EEÀ³¥Î®ÉÀ³¸Ó¿í´`ªº¤LÂIã«h¡A§Æ±æ°_¨ì©ß¿j¤Þ¥Éªº§@¥Î¡C¥»¤åµ²¦XJBoss 3.2.1¤UªºJ2EEÀ³¥Î¶}µo¬°¨Ò®i¶}½×z¡C
¡@¡@ 1.µ²¦X°Ó·~»Ý¨D¿ï¾Ü¦X²zªº¬[ÌÛ
¡@¡@ ¦pªG²æÖðӷ~»Ý¨D¡A¦Ó³æ¿Wªº°Q½×§Þ³N¥»¨ªºÉ¬¶Õ¬O¤£°÷ªº¡C¦U¶µ§Þ³N
³£¦³²£¥Íªº¯S©wI´º¡A¨ä¤¤«Ü¦h³£¬O¨Ó¦Û¤u·~»Ý¨D¦ÓàD°Êªº¡C¤@¯ë¦Ó¨¥¡A¥ø·~«H®§¨t²Î¡]EIS¡^³£n¨D¦Û¤véw¡B¦w¥þ¡B¥i¾a¡B°ª®Ä¡B«K¤_ºûÅ@¡C¦P®É¡A¦UÓ¥ø·~«H®§¨t²Î³£¦³¦Û¤v¿W¯Sªºn¨D¡A¥i¯à¦³¨Ç®ÉÔ»Ýn¦Ò¼{ÉO즳¿ò¯d¨t²Îªº¶°¦¨¡A©Ò¥H¤F¸Ñ¦UÓ¥ø·~«H®§¨t²Î¨ãÊ^ªº°Ó·~»Ý¨D¹ï¤_¾ãÓ¨t²Îªº¬[ÌÛÅã±o«ÜÃöÁä¡C
¡@¡@ ¤ñ¦p¡A¦pªG«Ý¶}µoªºJ2EEÀ³¥Î¨t²Î¤¤¨Ï¥Î¨ìªº¼ÆÕu¤j³¡¤À¨Ó¦Û¤_¥~¦b¼ÆÕu·½¡F¦Ó³o¨Ç¼ÆÕu¥i¯à¬O³q¹LJDBCª½±µ±q¥~¦b¼ÆÕu·½¾É¤J¨ì«Ý¶}µoªºJ2EE¨t²ÎªºDatabase¤¤¡C¹ï¤_³oÏú±¡§Î¡A¦pªG¦b¶}µo¹Lµ{¤¤¡A¶È¶È¨Ï¥ÎJDBC¨Ó¾Þ§@¼ÆÕu®w¡A¹ï¤_¤p±j«×¡]¦}µo³X°Ý¥Î¤á¤Ö¡B¼ÆÕu¬y¶q¤Ö¡^ªº±¡§Î¡AÅãµM¬O¤ñ¸û¦XÓ쪺¡F¦ý¦pªG¡A¦}µo³X°Ý¥Î¤á¸û¦h¡B¼ÆÕu¬y¶q¤j¡A¹ïDatabase¼h¨Ï¥Î¸û¬°ÀWÁcªº±¡§Î¡A«hÅã±o¦³¨Ç¤O¤£±q¤ß¡C¦]¦¹¡A¹ï¤_³oÏú»Ý¨D¡A§ÚÌ¥i¥H¦Ò¼{ªö¥ÎEntity Beans with Caches¡C¥´Ó¤ñ¤è¡A¦bJBoss 3.2.1¤¤¹ï¤_Entity BeansªºCacheµ¦²¤¦³¦hÏú¡A³o®É¥i¥H¦Ò¼{¨Ï¥Î¡A¡A§Y¡§Standard CMP 2.x EntityBean¡¨¡A¤è¦¡¦}ªö¥Î¡§D¡¨Ãþ«¬ªºcommit-option¨Ó«OµýEntity Beansªº¤º®eÉO¼ÆÕu·½ªº¦P¨B¡A¦}¨Ï±o¨t²Îªº©Ê¯à±o¨ì¤j¤j§ïµ½¡]¦Pª½±µ¨Ï¥ÎJDBC¬Û¤ñ¡^¡C¨ä¤¤¡A¥i¥H±N¤@¨ÇEntity Beans³]¸m¬°read-only¡A¥H§ïµ½©Ê¯à¡C·íµM¡A¦b³o¨½
¤]¥i¥Hªö¥Î¨ä¥L¤@¨ÇO/R Mapping§Þ³N¡A¤ñ¦pTopLink¡C
¡@¡@ ¦A¤ñ¦p¡A¦Ò¼{³o¼Ë¤@Ïú±¡§Î¡G¦pªG«Ý¶}µoªº¥ø·~«H®§¨t²Î¨Ï¥Î¨ìªº¼ÆÕu³£¬O¥Ñ¨t²Î¥»¨¥Í¦¨©M¾Þ§@ªº¡A«h«ØÄ³ªö¥Î¡GCMP Entity Beans§Þ³N¡CEntity Beansµ¹¤j®aªº¦L¶H«Ü§¥¡A³o¥i¯àÉOEJB 1.1µ¹¤j®a¯d¤Uªº§¥¬M¶H¦³Ãö§a¡C¦ý¬O¡AEJB 2.0(©ÎªÌ»¡2.1)±o¨ì¤F«Ü¤jªº§ïµ½¡ALocal Interfaces¡BCMR¡BRead-Only¡BSession Fa?ade¼Ò¦¡µ¹Entity Beansª`¤J¤F¬¡¤O¡C·íµM¡A¦}µo¥Î¤á¦h¡B¼ÆÕu¬y¶q«Ü¤j®É¤~·|Ê^²{¥X¨Ï¥ÎEntity BeansªºÉ¬¶Õ¡C¨ä¤¤¡A¦³¤@ÂI«ÜÃöÁä¡Gnª`«Entity Beans§Þ³Nªº©Ê¯à½Õɬ¡A¦UÓÀ³¥ÎªA°È¾¹³£¦³¦Û¤vªº¤@®M©Ê¯à½Õɬ¤è®×¡C¹ï¤_JBoss 3.2.1¡A°t¸m¤å¥óstandardjboss.xml´£¨Ñ¤FEntity Beans§Þ³N½Õɬªº¤J¤f¡C¤ñ¦p¡ABean Lockµ¦²¤ªº¦X²z¨Ï¥Î¹ï¤_Entity Beansªº½Õɬ´NÅã±o«Ü«n¡C³o¼Ë¨Ï±o¡A§ÚÌ¥i¥H§ó¥[Ãöª`¤_¨t²Îªº°Ó·~ÅÞ¿è¡A¦Ó¤£¥u¬O©³¼hªºDatabase¡]EJB½Õɬ³B¤_EJB Container¤¤¡A¦]¦¹§Ú̳B¦bJ2EE©Ê¯àªº°ªºÝ¡A¦Ó¤£¬O©³ºÝ¡A§YDatabase¼h¡C¦P®É¡ADatabase¼hªº½Õɬ¨Ï±oJ2EE¨t²Îªº¼ÆÕu®w²¾´Ó©Ê¤j¥´§é¦©¡C¡^¡C
¡@¡@ ²¦Ó¨¥¤§¡Anµ²¦X¦UÓ¨t²Îªº¯S©w»Ý¨D©Mª¬ªpµ¹¥X¨ãÊ^ªº§Þ³N¬[ÌÛ¤è®×¡A¦Ó¤£¯à©t³æªº½×z§Þ³N¥»¨ªº¦n§¥¡C
¡@¡@ 2.Framew
orkªº¦X²z¿ï¥Î
¡@¡@ ³]p¼Ò¦¡¦bJ2EEÀ³¥Î¨t²Î¤¤§êºtµÛ«nªº¨¤¦â¡C¦]¦¹¡A¦³¤@Ó°ÝÃDÂ\¦b¤j®a±«e¡A¬O¦Û¤v¨Ó¹ê²{¨ãÊ^ªº³]p¼Ò¦¡¡AÁÙ¬OɧU¤_Third-party Framework¡C¦pªG¶Q¤½¥q¤£¤j¡A©ÎªÌ»¡¤½¥q¤£·Q¦bJ2EE°ò¦À³¥ÎFramework§ë¤J«Ü¦hºë¤O¡A¿ï¥Î²{¦³ªº¸û¬°¦¨¼ôªº¡Béw¡BÉO²{¦³J2EE SpecificationÝ®eªº§Þ³N®Ø¬[·|¤ñ¸û©ú´¼¡C
¡@¡@ ¤@¯ë¦Ó¨¥¡AFramework¥»¨¡A©ÎªÌ»¡J2EE¥¥x¥»¨³£¬O¹ê²{¦}ɬ¤Æ¤F¨ãÊ^ªº³]p¼Ò¦¡¡B³W«h¡A¤ñ¦p·~°È¥N²z¡BService Locator¡]¥]¬AWeb Tier©MEJB Tier¦U¦ÛªºªA°È©w¦ì¾¹¡A°_¨ì²Î¤@ºÞ²z¦³¸ê·½¡BCache¬ÛÃö¸ê·½ªº§@¥Î¡A«K¤_¨t²Î²¾´Ó¡^¡BFront Controller¡BDAOµ¥µ¥¡C²{¦³ªºJ2EE Framework¤ñ¸û¤¥´I¡C¤ñ¦p¡G
¡@¡@ Struts: ¹ï¤_¹ê²{¤FModel 2Ãþ«¬ªºFramework¡A¹ï¤_²{¦b¥H¤Î±N¨Ó¡]ÀHµÛJSF³WS¡B§Þ³Nªº¦¨¼ô¡^¡A¿ï¥Î¦o¬O¤@Ïú©ú´¼¤§Á|¡C¥Ø«e¡AStruts¤w¸gµo®i¨ì1.1ª©¥»¡C¨ä¤º¦bªºMVC¥D½u¡B¹ï¦ZºÝ¼ÆÕu¾Þ§@¤è¦¡¨S¦³©w¡B¶°¦X¤FApache Jakarta¶µ¥Ø²ÕªºÉ¬¨q¬ÛÃö¶µ¥ØªººëµØ¡A¥i¿×¬O¶}µoJ2EEÀ³¥Îªº¨Î«~¡C¦P®É¡A¹ï¤_¨ã¦³.NET Web Forms¥\¯àªº¤U¤@¥NJ2EE¥¥x§Þ³NJSF¦Ó¨¥¡AStruts¥»¨¥i¦Ò¼{¨ìÉOJSFªºÝ®e©M¶°¦¨©Ê¡C¤ñ¦p¡A³q¹LJSP§e²{ªí¥Ü¼h¡BServlet§e²{±±¨î¼h¡BEJB§e²{¼ÆÕu¦sÀx¼h¡C¦U¼h¤§¶¡¡A¥i¥H³q¹Lȹï¶H¡BHTTP¬ÛÃö¹ï¶H¨Ó³q°T¡A¹ê²{J2EE¬ÛÃö§Þ³Nªº§¹¬üÀ³¥Î¡C
¡@¡@ Log4j: §Ú·Q¹ï¤_²ßºDªö¥Î¡§System.out.println(¡§¡¨);¡¨ªºÅªªÌ¦Ó¨¥¡ALog4j¬O¤j®aªººÖµ¡CºÉºÞJava 2 Standard Edition¤]¨ã³Æjava.util.logging¥]¨Ó«Oµý¤é§Óªº¿é¥X¡A¦ýLog4jªºÂ²³æ¡B°ª®Ä¡BÆF¬¡¤w¸g¦¨¤F«Ü¦h¶µ¥Øªº¿ï¾Ü¡C¤é§Ó¡A¦b¬YÏúµ{«×¤W¥i¥H¦ÒÅç¨t²ÎªºÃ©w©Ê¡B¥¿Ú̩ʡA©Ò¥Hªö¥Î¥i°t¸mªºLog4j¡]¥Ø«e¡ALog4j¤w¸g¦Ò¼{¨ì¤FÉOjava.util.logging¥]ªºÝ®e©Ê¡^¬O¤£·|¿ùªº¡C¤ñ¦p¡AJBoss 3.2.1¥»¨´N¬OɧU¤_Log4j¨ÓºÞ²z¤é§Óªº¡C
¡@¡@ realMethods: ¥i¯à¦³¨ÇŪªÌÁÙ¤£ª¾¹D³o¤@´Ú±þ¤â¡@¡C¨º¦n¡A³o¨½´N²n§@¤@¤¶²Ð¡CrealMethods
¬O¤@¶}µoJ2EEÀ³¥ÎªºFramework¡A¦o¤£¦P¤_Struts(¥Dn¦b¤_¹ê²{Model 2¡AJ2EEÀ³¥Î«eºÝ)¡FrealMethods¹ï¤_J2EEÀ³¥Îªº¦UÓ¼h±³£¦³¸ÔºÉ¡B°ª®Äªº¤ä«ù¡C¦P®É¡ArealMethods¥H«eÁÙ¬O°Ó¥Î³n¥ó¡A²{¦b¤w¸g¦¨¬°¤FOpen Sourceªº²£«~¡A¦]¦¹²{¦b¥i¥H°Ñ¬Ý¨ä¥þ³¡·½¥N½X¡C
¡@¡@ BC4J: Oracle¤½¥q±À¥Xªº¥Î¤_Javaªº°Ó·~²Õ¥ó¡C¨ä¤º®e©M¥~¦bªº¯SÂI©Mɬ¶Õ¡A¤£¨¥¦Ó³ë¡C
¡@¡@ ·íµM¡AÃþ¦üªºFramework«Ü¦h«Ü¦h¡C§@¬°¶}µoJ2EEÀ³¥Îªº¹Î¶¤¦Ó¨¥¡A§ÚÌ»Ýn¹ï¦UÏúFramework¥[¥H¿z¿ï¡A¿ï¾ÜÓì¦X¶µ¥Ø»Ý¨D¡B¹Î¶¤¡B¤½¥qµo®i¤è¦Vªº®Ø¬[¡C
¡@¡@ ¤@¯ë±¡ªp¤U¡A«Ý¶}µoªº¥Ø¼Ð²£«~¤£©yªö¥Î¹L¦hªºFramework¡C¨ä¤@¡AJ2EE¦UÓ§Þ³Nµo®i«Ü§Ö¡A¹L¦hªºFramework¨Ï±o¨t²Îªº¦ZÄò¤É¯Å¡BºûÅ@¤£§Q¡F¨ä¤G¡A¥i¥HÉų¨ä¤¤ªº¦nªº¤@±¡A¤ñ¦p¬ã¨srealMethods¹ê²{ªº¬ÛÀ³ªº³]p¼Ò¦¡¡A¦}§ï³y¦o¥HÓì¦X§Ú̪º¶µ¥Ø»Ý¨D¡F¨ä¤T¡AFramework¥»¨·|¦³ÅܰʡA¦pªG¿ï¥Î¹L¦h¡A·|µ¹¶}µo¹Î¶¤¥[«t¾á¡A±q¦Ó¤£§Q¤_¶µ¥ØºÞ²z¡C¦³¿ï¾Üªº¨Ï¥Î²{¦³ªº¦¨¼ôFramework¯à´£¤É¤j®aªº¶}µo®Ä²v¡B¶}µo¤ô¥¡C
¡@¡@ 3¡A¶}µo¼Ò¦¡ªº¿ï¾Ü
¡@¡@ ¶}µoJ2EEÀ³¥În¨D¥Ø¼Ð¶}µo¤Hû¯à°÷´x´¤¨ä¤¤ªº¦UÏú§Þ³N¡C¦ý¬O¡A²{¹ê±¡ªp¤£¬O³o¼Ë¡C§@¬°¤@ӹζ¤¡A¨CÓ¤H³£¦³¦Û¤v¤£¦Pªº§Þ¯à
ɬ¶Õ¡B¿³½ì¥H¤Î®©©Ê¡C¦P®É¡AJ2EE¥»¨»ÝnÊ^²{ªÀ·|¤À¤u¡C¤@¯ë±¡ªp¤U¡A§Ú̪º¶}µo¹Î¶¤¤£·|¦³Specification©Òn¨Dªº¦UÓ¶}µo¨¤¦â¡C²{¹ê©¹©¹¥u¦³3Ïú¡]¤]¥i¯à¬O¨âÏú¡^¡G¬ü¤u¡BJSPµ{§Çû¡BEJBµ{§Çû¡C±¹ï³oÏú¤À¤u¡A¹Î¶¤§ónª`«·¾³q¡B¥æ¬y¡Aª`«¥N½Xªº¤@P©Ê¡C
¡@¡@ ¤@¯ë±¡ªp¤U¡A¹Î¶¤nºÉ¶qªö¥Îª©¥»±±¨î¤u¨ãºÞ²z¥N½X¡BºÉ¶q°µ¨ì¨C¤Ñ³£¦³¤@Ó§¹¾ãªº¹B¦æª©¥»¡C¸g¹L¤@¬q®É¶¡¡A¹Î¶¤³£·|ÓìÀ³³oÏú¶}µo¼Ò¦¡¡C¨ä¤¤¡Aª©¥»±±¨î¤u¨ã¤@©wn¨Ï¥Î¡A«K¤_¥N½XªººÞ²z¡B±±¨î©M³Æ¥÷¡C³o¨ä¤¤·|²o§è¨ì«Ü¦h¼h±¡C¤ñ¦p¡A¶}µo¤u¨ãªº¿ï¾Ün¦Ò¼{¨ìª©¥»±±¨î¤u¨ãªº¨Ï¥Î¡B«Ø¼Ò¤u¨ãªº¦X²z¨Ï¥Î¦³§U¤_¹Î¶¤¦³®Äªº·¾³q©M¥æ¬y¡C
¡@¡@ °ò¤_²{¦³ªº¶}µo¼Ò¦¡¡AÓ¤H»{¬°³o¼Ë3®M¤è®×¤£¿ù¡C²Ä¤@¡Aªö¥ÎTogether§@¬°«Ø¼Ò¤u¨ã¡Bªö¥ÎJBuilder§@¬°IDE¤u¨ã¡Bªö¥ÎVSS(©ÎªÌCVS)§@¬°ª©¥»±±¨î¤u¨ã¡Bªö¥ÎJBoss§@¬°¶}µoJ2EEÀ³¥Î¶}µo¶¥¬qªºªA°È¾¹¡C²Ä¤G¡Aªö¥ÎWebSphere Studio¾ã®M¤u¨ã¡C²Ä¤T¡Aªö¥ÎEclipse(©ÎªÌJCreator)¡BAnt¡BXDoclets§@¬°¶}µo¤u¨ã¡C
¡@¡@ ·íµM¡A¤â¤u§¹¦¨J2EEÀ³¥Îªº½s¼g¡B½sĶ¡B¥´¥]¡B³¡¸p¡B´ú¸Õ§ó¯à¨Ï¶}µoªÌ²z¸Ñ¦UÓ¶}µo¶¥¬qªº¨ãÊ^²Ó¸`¡C¦ý¥»¤H»{¬°¡A¥un¶}µoªÌ¦³³oÏúÃöª`¨ãÊ^²Ó¸`ªººA«×¡A¿ï¥Î¥\¯à±j¤jªº«Ø¼Ò¡B¶}µo¤u¨ã¬O
©ú´¼ªº¡C¶}µo¤u¨ã¤£¯à´£°ª¶}µo¤Hûªº¶}µo§Þ¯à¡A¦ý¬O¦o¯à°÷¤Þ¾É¶}µo¤Hû¥¿Ú̪º¶}µo¤è¦V¡C¤ñ¦p,JBuidler 9 Enterprise´£¨ÑªºEJBºëÆF¨ã¦³ªº¡§Struts + EJB + Session Fa?ade + Value Object¡¨µ¥¥\¯à§e²{¤F·~¬É¼sªxÀ³¥ÎªºJ2EEÌÛ¬[¤è¦¡¡C
¡@¡@ 4¡Aª`«¦UÓ¶¥¬qªº´ú¸Õ¤u§@
¡@¡@ ´ú¸Õ¤u§@©¹©¹¬O«Ü¦h¶µ¥Ø¸g²z©¿µø¡A¤£º@·N¥hªá¶O®É¶¡¡B¶O¥Îªº¤º®e¡A¦]¬°¨º¼Ë·|¼W¥[¶µ¥Øªº¦¨¥»¡C¦ý¬O¡A¥LÌ©¿µø¤F¡A¶µ¥Øªº§¹¦¨½è¶q©¹©¹¹ï¶µ¥Øªº¦¨¥»¦³«Ü¤jªºÃö¨t¡C¤ñ¦p¡A¦pªG³n¥ó½è¶q«Ü®t¡A¦}¨S¦³¸g¾ú´ú¸Õ¶¥¬q¡A¨ä¦Z´Á³¡¸p¡B¹B¦æ©Ò±a¨Óªº¶O¥Î·|»·»·¶W¹L«e´Áªº¶O¥Î¡C
¡@¡@ ´ú¸Õ¬O¤À¶¥¬qªº¡C³æ¤¸´ú¸Õ¡A¤ñ¦pɧU¤_JUnit¡A¨Ó«Oµý¥\¯à¥¿Ú̵¥¤º®e¡C¶°¦¨´ú¸Õ¡A¨Ó«Oµý¨t²Î¨S¦³¤º¦sªnº|µ¥¤º®e¡C¨ä¤¤¡AOptimizeite Suite Enterprise¹ï¤_§¹¦¨Profiler¡BCode Coverage¡BThread Debuggerµ¥¤º®e«Ü¦³À°§U¡C§Ú°O±o¡A§Ú¼gªº¤@ÓSwing®à±À³¥Î¦s¦b¤º®eªnº|¡A¦ý¬O·Q¤F«Ü¦h¿ìªk³£¨S¦³¸Ñ¨M°ÝÃD¡C¦Z¨Ó¡Aªö¥ÎProfilerÀò±o¤Fµª®×¡C¦]¦¹¡A²{¦b¶}µoÀ³¥Î¡A§Ú̫ܦh®ÉÔ³£ªö¥ÎOptimizeite Suite Enterprise§@¬°´ú¸Õ¤u¨ã¡C¤×¨ä¬O¡A¦b°µ¶°¦¨´ú¸Õ¹Lµ{¤¤¡AÀˬd¨t²Îªº¤º¦sªnº|¡B©Ê¯à«Ü¦³À°§U¡C
¡@¡@ ´ú¸Õ¬O¤ÀÃþ«¬ªº¡CÀ£¤O´ú¸Õ¡B©Ê¯à´ú
¸Õ¡C´N¥Ø«e¹ï¤ä«ùJ2EEÀ³¥Îªº´ú¸Õ¦Ó¨¥¡A¦}¨S¦³«Ü¦nªº´ú¸Õ¤u¨ã¡C¦ý¬O¡A¤@¯ë±¡ªp¤U¡AɧU¤_Rational Robot¤]¯à°÷¨ú±o¤£¿ùªº®ÄªG¡C
¡@¡@ ·íµM¡A¦¨¥\¶}µoJ2EEÀ³¥Îªº¦]¯À¦³«Ü¦h¡C¤ñ¦p¡AEntity Beansªº¦¨¥\À³¥Î«Ü¤jµ{«×¤WÉO©³¼hDatabaseªº³]p¦³Ãö¨t¡]¦pªGªíµ²ÌÛ³]p³]pªº¤£¦X²z¡A±N¾ÉPEntity Beans©Ê¯àªº«æ¼@¤U°¡^¡F¦p¦ó³Ì¤j¤Æ«õ±¸¡B´£¤É¹Î¶¤¦UÓ¦¨ûªºJ2EE§Þ¯à¡Cµ¥µ¥³o¨Ç¡A³]p±«Ü¼s¡C
|
|
|