Java °æ (¾«»ªÇø)
·¢ÐÅÈË: rhine (ÓÐÓêÎÞ·ç), ÐÅÇø: Java
±ê Ìâ: ʲôÊÇ Enterprise JavaBeans ×é¼þ£¿--EJB Ìåϵ½á¹¹µ
·¢ÐÅÕ¾: ¹þ¹¤´ó×϶¡Ïã (2001Äê03ÔÂ12ÈÕ15:58:32 ÐÇÆÚÒ»), Õ¾ÄÚÐżþ
ʲôÊÇ Enterprise JavaBeans ×é¼þ£¿--EJB Ìåϵ½á¹¹µÄÀúÊ·ºÍÄ¿±ê
Õª×Ôszjava ×÷Õß:kingman
±¾ÎĸÅÊö Enterprise JavaBeans (EJB) ¼¼Êõ£¬Ö¼ÔÚÈöÁÕß¿ìËÙÀí½â»ù±¾¸ÅÄî¡£µÚ
1 ²¿·Ö½²Êö EJB ¼¼ÊõµÄÀúÊ·ºÍijЩĿ±ê¡¢ÓŵãºÍ¼¼Êõ¡£ÎªÁ˼ò½àÃ÷ÁË£¬ÓÐÑ¡ÔñµØ
½²Êö EJB ¼¼ÊõµÄһЩ¹Ø¼üÒªËØ¡£Çë×¢Ò⣬ËäÈ» EJB ×é¼þÒÀÀµÓÚһЩ»ù´¡µÄ
Java ·þÎñ£¨Èç Java Transaction Service£©£¬µ«Ê¹Óà EJB ×é¼þ¼°ÈÏʶÕâЩ×é¼þ
µÄºÃ´¦²¢²»ÐèÒªÕÆÎÕÕâЩÏà¹Ø¼¼ÊõµÄ֪ʶ¡£
Enterprise JavaBeans ¼¼Êõ×Ô 1998 Äê 3 ÔÂÎÊÊÀÒÔÀ´ºÜÊܺÃÆÀ¡£ÏÂÃæÕâ¶Î»°¾ÍÊÇ
Ò»¸öÀý×Ó£º
¡°×Ô´ÓÁ½Äê¶àÒÔÇ°ÎÊÊÀÒÔÀ´£¬Enterprise JavaBeanstm ¼¼ÊõÔÚƽ̨¹©Ó¦É̺ÍÆóÒµ
µÄ¿ª·¢Ð¡×éÖУ¬Í¬Ñù¶¼±£³Ö×Å¿ÕÇ°µÄ·¢Õ¹ÊÆÍ·¡£ÕâÊÇÒòΪ EJBtm µÄ·þÎñÆ÷¶Ë×é¼þ
Ä£Ðͼò»¯ÁËÖмä¼þ×é¼þµÄ¿ª·¢£¬ÕâЩÖмä×é¼þ¶¼ÊÇÊÂÎñÐԵġ¢¿ÉÉìËõµÄºÍ¿ÉÒÆÖ²µÄ
¡£Enterprise JavaBeans ·þÎñÆ÷ͨ¹ýΪÖмä¼þ·þÎñ£¨ÈçÊÂÎñ´¦Àí¡¢°²È«ÐÔ¡¢Êý¾Ý
¿âÁ¬½Ó¼°ÆäËû£©Ìṩ×Ô¶¯Ö§³Ö£¬½µµÍÁË¿ª·¢Öмä¼þµÄ¸´Ôӳ̶ȡ£¡±£¨Sun
Microsystems ÍøÕ¾£©
Enterprise JavaBeans ÕâÒ»Ãû³ÆÀûÓÃÁË Java bean ¡ª ÕâÖÖ¿ÉÒÆÖ²¡¢¿ÉÖØÓõÄ
Java Èí¼þ×é¼þµÄÉùÍû¡£Enterprise JavaBeans ¼¼Êõ°Ñ Java ×é¼þµÄ¸ÅÄî´Ó¿Í»§»ú
ÓòÀ©Õ¹µ½ÁË·þÎñÆ÷Óò£ºÕâÊÇ Java ¼¼Êõ³É³¤¹ý³ÌÖÐÓÐÖØ´óÒâÒåµÄÒ»²½£¬Ëüʹ
Java ¼¼Êõ·¢Õ¹³ÉΪһÖÖÇ¿½¡µÄ¡¢¿ÉÉìËõµÄ»·¾³£¬Äܹ»Ö§³ÖÒÔÈÎÎñΪ¹Ø¼üµÄÆóÒµÐÅ
Ϣϵͳ¡£
·þÎñÆ÷É쵀 Java Ó¦ÓóÌÐò
Java ±à³ÌÓïÑÔ×î³õÔÚ Web ¿ª·¢ÈËÔ±ÖлñµÃºÃÆÀµÄÒ»¸öÔÒòÊÇ£¬ËüÖ§³Ö³ÆΪ
applet µÄ¿ÉÏÂÔØ Java ³ÌÐò¡£¶Ô Applet µÄÖ§³ÖÒÔ Applet ÀàµÄÐÎʽÄÚÖõ½ÁË
1.0 °æµÄ Java Development Kit (JDK) ÖС£°´ÕÕ 1.0 °æµÄʱ¼ä¿ò¼Ü£¬Java ¿ª·¢
ÊÇÒÔ applet ºÍÓ¦ÓóÌÐò×÷ΪÖÐÐĵġ£»ùÓÚ JDK 1.0 °æµÄ Java ¶ÁÎﶼÊÇ´Ó
applet ºÍÓ¦ÓóÌÐòµÄ½Ç¶ÈÀ´ÃèÊö Java ±à³ÌµÄ£º
¡°Java ³ÌÐòÓɸü¶àµÄÀඨÒåÖеÄijһ¸ö×é³É£¬Ã¿¸öÀඨÒå¾ùÒѱàÒë³ÉËü×ÔÒѵÄ
Java ÐéÄâ»ú¶ÔÏó´úÂëµÄ .class Îļþ¡£ÕâЩÀàÖ®Ò»±ØÐ붨ÒåÒ»¸ö½Ð×ö main() µÄ
·½·¨£¬³ÌÐò¾ÍÊÇ´ÓÕâ¸ö·½·¨¿ªÊ¼ÔËÐеġ£Ïëµ÷ÓÃÒ»¸ö Java ³ÌÐò£¬ÐèÒªÔËÐÐ
Java ½âÊÍÆ÷ java£¬²¢Ö¸¶¨°üº¬ main() ·½·¨µÄÀàµÄÃû³Æ¡£Çë×¢Òâ Java applet
²¢²»ÊÇÒ»¸öÓ¦ÓóÌÐò ¡ª ËüÊÇÒ»¸öÓÉÒÑÔÚÔËÐÐµÄ Java Ó¦ÓóÌÐò£¨Èç Web ä¯ÀÀÆ÷
»ò applet ²é¿´Æ÷£©×°Èë²¢ÔËÐÐµÄ Java Àà¡£¡±£¨¼û Flanagan ËùÖøµÄ Java in a
Nutshell£©
Java Ó¦ÓóÌÐò¿ÉÒÔÔÚ·þÎñÆ÷ÉÏÔËÐУ¬µ«ÊDz»¹ÜÊÇÔÚ¿Í»§»ú-·þÎñÆ÷»·¾³Ï£¬»¹ÊÇÔÚ
»ùÓÚ Web µÄ»·¾³Ï£¬JDK Öж¼Ã»ÓÐÌṩÈà Java Ó¦ÓóÌÐòרÓÃÓÚ·þÎñÆ÷»úÆ÷µÄ½Ó
¿Ú»ò°ü¡£ÈÏʶµ½ Java ÔÚ Web »·¾³ÏÂ×÷ΪһÖÖ·þÎñÆ÷ÓïÑÔµÄDZÁ¦£¬Sun
Microsystems ±àдÁË Java Servlet ¹æ·¶¡£servlet ÔÚÐí¶à·½ÃæÓë applet ÏàËÆ
£¬ËüÊÇרÃÅΪÔÚ Web ·þÎñÆ÷»úÆ÷ÉÏÔËÐжøÉè¼ÆµÄ Java ³ÌÐò£º
¡°servlet ÊÇÓÉÈÝÆ÷¹ÜÀíµÄ Web ×é¼þ£¬¿É²úÉú¶¯Ì¬ÄÚÈÝ¡£servlet ÊÇÒ»ÖÖСÐ͵Ä
¡¢Óëƽ̨ÎÞ¹ØµÄ Java À࣬±»±àÒë³ÉÌåϵ½á¹¹ÖÐÁ¢µÄ×Ö½Ú´úÂ룬ÕâÖÖ´úÂë¿ÉÒÔ¶¯Ì¬
µØ¼ÓÔص½Ò»¸ö web ·þÎñÆ÷ÉÏ£¬²¢ÓÉ´Ë web ·þÎñÆ÷ÔËÐС£servlet ͨ¹ýÒ»ÖÖÓÉ
servlet ÈÝÆ÷ʵÏÖµÄÇëÇó-ÏìӦģÐÍÓë Web ¿Í»§»ú½øÐн»»¥¡£ÕâÖÖÇëÇó-ÏìӦģÐÍ
½¨Á¢ÔÚ³¬Îı¾´«ÊäÐÒé (HTTP) ÐÐΪµÄ»ù´¡Ö®ÉÏ¡£¡±£¨¼û JavaSoft µÄ¡°Java
Servlet API Specification¡±£©
ÔÚһ̨ Web ·þÎñÆ÷¿ØÖÆÏ£¬ÔÚ¶ą̀·þÎñÆ÷ÉÏÔËÐÐÈô¸ÉСÐÍÓû§³ÌÐò£¬ÕâÖÖÏë·¨²¢
²»ÐÂÏÊ ¡ª Ò»¶Îʱ¼äÒÔÀ´£¬¹«¹²Íø¹Ø½Ó¿Ú (CGI) ³ÌÐò£¨³£±»³ÆΪ CGI ½Å±¾£©Ò»Ö±
Æð×ÅÕâÖÖ×÷Ó㬲¢Íƶ¯ÁË Web µÄÆÕ¼°¡£µ« Java servlet ¿ÉÒÔÒÔ¸ü¸ßµÄЧÂʺͿÉ
ÒÆÖ²ÐÔÀ´ÊµÏÖÕâһĿµÄ£¬Òò¶ø¿ÉÍû×îÖÕ»áÈ¡´ú CGI ³ÌÐò¡£Îª servlet ÌṩÔËÐÐʱ
»·¾³µÄÈí¼þ£¨Í¨³£±»³ÆΪ servlet ÒýÇ棩¿ÉÒÔÌí¼Óµ½ÏÖÓеġ¢±¾Éí²¢²»Ö§³Ö Java
¿ÉÖ´ÐгÌÐòµÄ Web ·þÎñÆ÷ÉÏ¡£
Java servlet µÄ³öÏÖ£¬ÎªÓ¦ÓóÌÐòԱʹÓà Java À´´´½¨ Web Ó¦ÓóÌÐò¿ª±ÙÁËеÄ
;¾¶¡£µ«ÊÇ£¬½öÓÐ servlet »¹²»ÄÜΪÕæÕýµÄÆóÒµ¼ÆËãÌṩÍêÕûµÄÄ£ÐÍ¡£CGI Ó¦ÓÃ
³ÌÐò±¾ÉíÍùÍù²»ÊÇÍêÕûµÄÓ¦ÓóÌÐò£¬ÔÚ´¦Àí½ÓÊÕ×Ô Web ä¯ÀÀÆ÷ÉÏÓû§µÄÐÅÏ¢ÇëÇó
ʱ£¬CGI Ö»ÊÇÕû¸ö´¦Àí¹ý³ÌÖеÄÒ»¸öÖм䲽Öè¡£ÀýÈ磬CGI Ó¦ÓóÌÐòµÄÒ»ÖÖ³£¼ûÓÃ
;ÊÇ·ÃÎÊÊý¾Ý¿â¡£½«ËüÓÃÓÚÕâÖÖÈÎÎñʱ£¬CGI ³ÌÐòÌṩһÖÖ·½·¨£¬½«Óû§µÄÊý¾ÝÇë
ÇóÁ¬½Óµ½ÄÜÂú×ãÕâÖÖÇëÇóµÄÆóÒµÊý¾Ý¿â¡£CGI ³ÌÐò³£³£³äµ±Ò»ÖÖÖмäÈí¼þ£¬´Ó Web
ä¯ÀÀÆ÷½ÓÊÕÇëÇ󣬾ö¶¨±ØÐëµ÷ÓÃÄÄЩ¼ÆËã×ÊÔ´À´Âú×ãÕâЩÇëÇ󣬲¢Ïòä¯ÀÀÆ÷·¢»Ø
ÏìÓ¦¡£Java servlet Óë CGI ³ÌÐòÒ»Ñù£¬×îÊʺϳ䵱Á¬½ÓÇ°¶Ë Web ÇëÇóÓëºó¶ËÊý
¾Ý×ÊÔ´µÄÖмä²ã×é¼þ¡£
Èý²ãÌåϵ½á¹¹
Web ±à³ÌÏò·þÎñÆ÷¶Ë Java Ó¦ÓóÌÐòµÄÑÝ»¯£¬Ò²´øÀ´ÁËÌåϵ½á¹¹µÄÑÝ»¯£¬Ê¹ËüÍÑÀë
Á˳£¹æµÄ¿Í»§»ú-·þÎñÆ÷Á½²ãÄ£ÐÍ£¬¶øÏòÒ»ÖÖÈý²ã·½·¨·¢Õ¹¡£Á½²ãÄ£Ð͵±Ê±Ôø¾¾ß
Óд´ÐÂÒâÒ壬ÒòΪËü½«Ò»Ð©¼ÆËãÈÎÎñ´ÓÖ÷´¦ÀíÆ÷ÉÏжÔص½ÁéÇɵĿͻ§»ú¡£³£¹æµÄ»ù
ÓÚ LAN µÄÊý¾Ý¿âÓ¦ÓóÌÐò¾ÍÊÇÒ»¸öÀý×Ó£¬ÆäÖÐÊý¾Ý¿â¹ÜÀíÆ÷·þÎñÆ÷Èí¼þפÁôÔÚÒ»
¸öרÓõķþÎñÆ÷»úÆ÷ÉÏ£¬¶øÓû§Ôòͨ¹ýËûÃǵŤ×÷Õ¾ÉϵĿͻ§»ú´úÂëÀ´·ÃÎÊÊý¾Ý¿â
¡£Ëæ×Å¿Í»§»ú-·þÎñÆ÷Ä£Ðͳɳ¤µ½Äܸ¶ÖîʹÓ㬾ͳöÏÖÁ˶ԷþÎñÆ÷¿ÉÉìËõÐԺͶԿÍ
»§»ú´úÂë´óСºÍ¸´ÔÓÐԵĹØ×¢¡£ÓÚÊÇÌá³öÁËÒ»ÖÖÈý²ãµÄÌåϵ½á¹¹£¬ÒÔ±ÜÃâÔÚÁ½²ãÄ£
ÐÍÖÐÒѲì¾õµ½µÄÈõµã£¬Ê¹ Web ÄܳÉΪһ¸ö¼ÆËãƽ̨£º
¡°Ðí¶àÈË...¶ÏÑÔ£¬´«Í³µÄ¿Í»§»ú/·þÎñÆ÷Á½²ãÌåϵ½á¹¹²»»áÓкõĿÉÉìËõÐÔ£¬ÒòΪ
Óû§Á¬½ÓºÍÊý¾Ý·ÃÎʵÄÊýÁ¿ÎÞ·¨Ô¤²â£¬¶øÇÒÔÚһЩϵͳ¹ÜÀíÉÏÒ²´æÔÚÎÊÌ⡣Ϊ´¦Àí
Á½²ãÌåϵ½á¹¹µÄÏÞÖÆ£¬Ðí¶à¿ª·¢¼¯Ì嶼ÔÚתÏòÈý²ãÌåϵ½á¹¹¡£ÕâÖÖÌåϵ½á¹¹´óÖ¿É
ÒÔ¶¨ÒåΪ£º¿Í»§»ú²ãÉϵıíʾ²ã¡¢ÖмäµÄ·þÎñÆ÷ºÍºó¶ËµÄijÖÖÊý¾Ý¿â¡£ÕâÖÖÉèÏëµÄ
Ä¿µÄ¾ÍÊÇ»ººÍ¿Í»§»ú»òÊý¾Ý¿â·þÎñÆ÷ÉϵĴúÂëÅòÕÍ£¬¼¯ÖйÜÀíÒµÎñÂß¼£¬¸üÁé»îµØ
ʹÓÃÊý¾Ý¿â£¬¶ø²»½öÊÇʹÓÃËù´æ´¢µÄ¹ý³ÌºÍ´¥·¢Æ÷¡£¡±£¨¼û Kim µÄ¡°Looking for
a 3-Tier App Builder?¡±£©
Ò»¸öÈý²ã½á¹¹Ä£ÐÍͨ³£±»ÏëÏñ³ÉÓÐÒ»¸ö Web ä¯ÀÀÆ÷×÷Ϊ¿Í»§²ã¡£Web ä¯ÀÀÆ÷ÓÉÓÚ
ÓпÉÄܳÉΪһÖÖÕæÕýµÄͨÓÿͻ§»ú£¬Ê¹Ëü´Ó¹ÛÄîÉÏÈ¡´úÁËÁ½²ã½á¹¹µÄ¡°ÅÖ¿Í»§»ú¡±
¡£Èç¹ûä¯ÀÀÆ÷×÷Ϊ Web Ó¦ÓóÌÐòÌåϵ½á¹¹µÄ±ê×¼ÊÝ¿Í»§»ú»ñµÃÈÏ¿É£¬ÄÇôÒÔǰפ
ÁôÔÚÁ½²ãÄ£Ð͵ÄÅÖ¿Í»§»úÖеŦÄÜ»áÔõôÑùÄØ£¿ÏÖÔÚ£¬Ó¦ÓóÌÐòרÓõŦÄܲ¢²»ÒÆ
Ö²»Ø·þÎñÆ÷£¨ÀýÈçÊý¾Ý¿â¹ÜÀíÆ÷£©£¬¶øÊÇÓÐÒ⽫ËüפÁôÔÚÒ»¸öеÄÖмä²ãÉÏ¡£Öмä
²ãÖ§³ÖÓ¦ÓóÌÐò·þÎñÆ÷Èí¼þ£¬ÕâÖÖÈí¼þÊÇÖмä¼þµÄÒ»ÖÖÐÎʽ£¬Ëü´¦ÓÚµÚÒ»²ãÉÏÊÝ¿Í
»§»úµÄ×îС¹¦Äܺ͵ÚÈý²ãÉÏ·þÎñÆ÷¶ËÒµÎñϵͳµÄ·á¸»¹¦ÄÜÖ®¼ä¡£ÓÉÓÚÈý²ãÌåϵ½á¹¹
Óë Web ´¦ÀíÄ£ÐÍÓÐÃÜÇйØϵ£¬ËùÒÔÖмä²ãÓ¦ÓóÌÐò·þÎñÆ÷³£±»ÊÓΪ Web ·þÎñÆ÷µÄ
Ò»ÖÖ¹¦ÄÜÀ©Õ¹¡£ÏÖÓÐµÄ Web Ó¦ÓóÌÐòÀûÓà CGI ³ÌÐò£¬½«À´×Ô Web ä¯ÀÀÆ÷µÄÓû§
ÇëÇó´«Ë͵½²»»ùÓÚ Web µÄÒµÎñϵͳ£¬²¢Ïòä¯ÀÀÆ÷·µ»ØÏìÓ¦£¬¾ÍÊÇÈý²ãÄ£Ð͵ÄÒ»ÖÖ
ʵÏÖ¡£ÕâЩӦÓóÌÐòÖð½¥Ïò servlet ¼¼ÊõµÄתÒÆ˵Ã÷Èý²ãÄ£ÐÍÕýÔÚÔöÇ¿¡£
JavaBeans ×é¼þ
JavaBeans ¹æ·¶½«¡°×é¼þÈí¼þ¡±µÄ¸ÅÄîÒýÈëµ½ Java ±à³ÌµÄÁìÓò¡£×é¼þÊÇ×Ôº¬µÄ¡¢
¿ÉÖØÓõÄÈí¼þµ¥Ôª£»¶ø JavaBeans ×é¼þ£¬Ôò¿ÉÒÔʹÓÿÉÊÓµÄÓ¦ÓóÌÐò¿ª·¢¹¤¾ß£¬
¿ÉÊӵؽ«ËüÃDZàдµ½ Java ³ÌÐòÖС£JavaBeans ¹æ·¶Îª Java ¿ª·¢ÈËÔ±ÌṩÁËÒ»ÖÖ
¡°×é¼þ»¯¡±Æä Java ÀàµÄ·½·¨£º
Bean ÊÇһЩ Java À࣬¿ÉÔÚÒ»¸ö¿ÉÊӵĹ¹½¨Æ÷¹¤¾ßÖвÙ×÷ËüÃÇ£¬²¢ÇÒ¿ÉÒÔ½«ËüÃÇ
Ò»Æð±àдµ½Ó¦ÓóÌÐòÖС£ÈκξßÓÐijÖÖÌØÐÔºÍʼþ½Ó¿ÚÔ¼¶¨µÄ Java À඼¿ÉÒÔÊÇÒ»
¸ö Bean¡££¨¼û JavaSoft£¬¡°Using the Beans Development Kit 1.0¡±£©
Èç¹ûÈí¼þÖØÓÃÊÇÒ»¸öºÃÖ÷Ò⣬ÄÇôÊÇ·ñÓ¦¸ÃÈÃÿһ¸ö Java À඼³ÉΪ Java bean
ÄØ£¿Èç¹û Java ÀàÂú×ãijЩ׼Ôò£¬ËüÃǾÍÊÊÓڳ䵱 bean µÄ½ÇÉ«£º
ÔÚ¿ª·¢ÈκÎÐÂÈí¼þ֮ǰ£¬¶¼ÖµµÃ¿¼ÂÇÊÇ·ñÓà JavaBean µÄÐÎʽÀ´¿ª·¢Ëü¡£Èç¹ûÈí¼þ
Ä£¿éÒª¼ÈÄܹ»¿ÉÊӵزÙ×÷£¬ÓÖÄܹ»¶¨ÖÆÒԴﵽijЩЧ¹û£¬ÔòÕâÖÖÈí¼þÄ£¿é¾Í¿ÉÄÜÊÊ
ÓÚ×ö³ÉÒ»¸ö JavaBean¡£Îª°ïÖúÄúÈ·¶¨Òª¿ª·¢µÄÈí¼þÊÇ·ñÓ¦¸ÃÊÇÒ»¸ö JavaBean£¬¼Ù
¶¨ËüÓ¦¸ÃÊÇÓà Java ±àдµÄ£¬ÇëÏòÄú×ÔÒÑÌá³öÒÔÏÂÎÊÌ⣬²¢ÏàÓ¦µØ×÷³ö¾ö¶¨£º
ÊÇ·ñ´òËãÈÃËü¿ÉÖØÓã¿»òÕߣ¬Ëü»áÊÇ¿ÉÖØÓõÄÂð£¿
ÊÇ·ñÏ£Íû½«ËüÓëÆäËû¿ÉÖØÓÃµÄ Java ×é¼þÒ»ÆðʹÓã¿
ÊÇ·ñÔ¤¼Æ»áÔÚ IDE ¹¤¾ßÖÐʹÓÃËü£¿
Èç¹ûÉÏÊöÎÊÌâµÄ´ð°¸¶¼Êǿ϶¨µÄ£¬ÔòËüÓ¦¸Ã×÷Ϊ JavaBean À´¿ª·¢¡££¨¼û
developerWorks µÄ¡°JavaBeans Guidelines¡±£©
JavaBean ¸ÅÄîÊÇΪÁËÔÚ Java ±à³Ì»·¾³ÖÐÖ§³Ö¿ÉÖØÓõÄ×é¼þ£¬ËüÊÇÒ»ÖÖÒ»°ãÐÔµÄ
Éè¼Æ·½·¨£¬ÊÊÓÃÓÚ¿Í»§»ú»ò·þÎñÆ÷»úÆ÷ÉÏÔËÐÐµÄ Java ³ÌÐò¡£ÓÉÓÚ¶Ô¿ÉÊӵĹ¹½¨Æ÷
¹¤¾ßµÄÇ¿µ÷£¬Ò²ÓÉÓÚÐí¶à Java bean ¶¼ÊÇͼÐÎÓû§½çÃæ (GUI) ×é¼þ£¬ËùÒÔ
JavaBean ×é¼þ¿ÉÄܱ»ÊÓΪһÖÖ¿Í»§¶Ë¼¼Êõ¡£µ«ÊÇ£¬²¢²»ÒªÇó Java bean ¶¼ÊÇ¿ÉÊÓ
µÄ£¬²¢ÇÒËüÃÇÒ²¿ÉÒÔÓÃÓÚ·þÎñÆ÷»·¾³ÖС£
±àÂëΪ Java bean µÄ Java Ààͨ³£¾ßÓÐÒÔÏÂÌØÕ÷£º
ʹÓÃÉè¼Æģʽ¡£ÕâЩģʽ¾ÍÊÇ·½·¨ºÍ½Ó¿ÚµÄ±àÂëÔ¼¶¨¡£
Ö§³Ö¿ÉÊÓµÄÈí¼þ¿ª·¢¹¤¾ß¡£Àà±ØÐ뽫±äÁ¿£¨³ÆΪÊôÐÔ£©¡¢·½·¨ºÍʼþչʾ³öÀ´¡£
¿ÉÒÔ¶¨ÖÆ¡£¶¨ÖÆ°üÀ¨ÄÜÖ§³ÖȱʡµÄÊôÐÔ±à¼Æ÷£¬»òÕßÌṩµ¥Ò»µÄ¶¨ÖƹæÔò¡£¶¨ÖÆʹ
¿ª·¢ÈËÔ±µÃÒÔÔÚ²»¸ü¸ÄÔ´´úÂëµÄÇé¿öϸü¸Ä bean µÄÐÐΪ¡£
Ö§³Ö×ÔÊ¡ (introspection)¡£ÕâÖ¸µÄÊǽ«ÊôÐÔ¡¢·½·¨ºÍʼþ¹«¿ª¸øÆäËûÀ࣬¿ÉÒÔͨ
¹ýÉè¼Æģʽ»òͨ¹ý´´½¨ BeanInfo ÀàÀ´Íê³ÉÕâÖÖ×ÔÊ¡¡£
Êdz־õġ£Õâ¾ÍÔÊÐíÔÚÒ»¸ö¿ÉÊÓ¹¹½¨Æ÷Öж¨ÖÆÒ»¸ö bean£¬È»ºóÒÔÆ䶨ÖƺóµÄ״̬
¼ÓÒÔ±£´æ¡£
Java 2 Platform, Enterprise Edition
Sun Microsystems ·¢ÆðÁËÒ»Ïî³ÆΪ Java 2 Platform, Enterprise Edition
(J2EE) µÄ¼¼Êõ´´Ð£¬Ö¼ÔÚ½« Java ƽ̨µÄ·¶Î§À©Õ¹µ½´ó¹æÄ£·þÎñÆ÷»·¾³£º
¡°1997 Äê 4 Ô 12 ÈÕ£¬Sun Ðû²¼ÁËÒ»ÏîΪÆóÒµ»·¾³¿ª·¢ Java ƽ̨µÄ´´Ð³ɹû¡£
ʹÓÿª·ÅʽµÄ Java Community Process£¬Sun ´Ù½øÁËÒ»×é±ê×¼µÄ Java À©Õ¹µÄ¿ª
·¢£¬³ÆΪ Enterprise Java API¡£ÕâЩӦÓóÌÐò±à³Ì½Ó¿Ú (API) Ϊ¸÷ÖÖ¸÷ÑùµÄÖÐ
¼ä¼þµÄʵÏÖÌṩÁ˲»ÒÀÀµ¹©Ó¦É̵ıà³Ì½Ó¿Ú¡£Enterprise Java API µÄÒªµãÊÇ
Enterprise JavaBeans API£¬ºóÕßΪ Java Ó¦ÓóÌÐò·þÎñÆ÷¶¨ÒåÁËÒ»¸ö·þÎñÆ÷¶Ë×é
¼þÄ£ÐÍ£¬ÒÔ¼°Ò»¸ö²»ÒÀÀµ¹©Ó¦É̵ıà³Ì½Ó¿Ú¡£¡±£¨¼û Thomas µÄ¡°Java 2
Platform, Enterprise Edition: Ensuring Consistency, Portability, and
Interoperability¡±£©
J2EE Ϊ Enterprise JavaBeans ¼¼ÊõÌṩÁ˹¤×÷»·¾³¡£ÊÂʵÉÏ£¬Sun °ÑÈô¸ÉÏîÈí
¼þ¼¼Êõ¶¼ÉèÏëΪÕâÑùµÄ¹¹¼þ¿é£¬ËüÃǽ«Ê¹´óÐÍÆóÒµÄܹ»°ÑÒÔÈÎÎñΪ¹Ø¼üµÄÒµÎñϵͳ
ÒÆÖ²µ½ Java »·¾³ÖУ¬¶ø Enterprise JavaBeans ¼¼Êõ²»¹ýÊÇÕâЩ¼¼ÊõÖ®Ò»¡£
EJB ×é¼þÊÇ°´ËüÃÇ×Ô¼ºµÄ¹æ·¶¶¨ÒåµÄ£¬µ« EJB ¼¼Êõ²¢²»ÊÇÒ»Ïî¶ÀÁ¢µÄ¼¼Êõ¡£Ëü½¨
Á¢ÔÚÆäËû Java ¼¼ÊõÖ®ÉÏ£¬ÕâЩ¼¼ÊõÓÉ Sun ºÍÆäËû IT ¹«Ë¾ÁªºÏ¹æ¶¨£¬ËüÃÇÒ»Æð
ÌṩÁËÕâ¸ö¿ò¼ÜµÄÄÚÈÝ£¬¸Ã¿ò¼Ü¾Í³ÆΪ Java 2 Platform, Enterprise Edition¡£
J2EE ÖаüÀ¨ÒÔϼ¼Êõ£º
Enterprise JavaBeans (EJB) ¼¼Êõ
Java Interface Definition Language (IDL)
Java Message Service (JMS) API
Java Naming and Directory Interface (JNDI)
Java Remote Method Invocation (RMI) ºÍ Object Serialization
Java Servlet API
Java Transaction API (JTA)
Java Transaction Service (JTS)
JavaServer Pages (JSP) ¼¼Êõ
JDBC Êý¾Ý¿â·ÃÎÊ API
²ÎÓëµ½Õâ¸öÆóÒµ Java ¿ò¼ÜÖУ¬²¢²»Òâζ×ÅÿÏî¼¼Êõ¶¼ÒÀÀµÓÚËùÓÐÆäËû¼¼Êõ¡£µ¥¶À
µÄ¹æ·¶ÎĵµÖ¸³öÿÏî¼¼ÊõµÄÏà¹ØÐÔ¡£ÀýÈ磬Enterprise JavaBeans ¹æ·¶ 1.0 ·¢ÐÐ
°æ¾ÍÖ¸Ã÷ÁËÔÚ¶¨Î»¸÷¸ö×é¼þʱÓë JNDI µÄÏà¹ØÐÔ£¬ÒÔ¼°ÔÚ±à³ÌÖÐÆô¶¯ºÍÍ£Ö¹ÊÂÎñ´¦
ÀíʱÓë JTA µÄÏà¹ØÐÔ¡£
EJB ¼¼ÊõµÄÉè¼ÆÄ¿±ê
EJB ¹æ·¶µÄµÚÒ»°æÒÔ³õ¸åÐÎʽÓÚ 1997 Äê 12 Ô¹«²¼£¬²¢ÓÚ 1998 Äê 3 ÔÂ×÷Ϊ
1.0 °æ·¢ÐС£¹æ·¶×÷ÕßΪ EJB Ìåϵ½á¹¹Öƶ¨ÁËÒÔÏÂÄ¿±ê£º
Enterprise JavaBeans Ìåϵ½á¹¹½«ÊDZê×¼µÄ×é¼þÌåϵ½á¹¹£¬ÓÃÓÚÒÔ Java ±à³ÌÓï
ÑÔ¹¹½¨·Ö²¼Ê½µÄÃæÏò¶ÔÏóµÄÉÌÎñÓ¦ÓóÌÐò¡£Í¨¹ý°ÑʹÓò»Í¬¹©Ó¦ÉÌÌṩµÄ¹¤¾ß¿ª·¢
³öÀ´µÄ×é¼þ×éºÏÔÚÒ»Æð£¬Enterprise JavaBeans Ìåϵ½á¹¹½«ÓпÉÄܹ¹½¨·Ö²¼Ê½µÄ
Ó¦ÓóÌÐò¡£
Enterprise JavaBeans Ìåϵ½á¹¹½«Ê¹±àдӦÓóÌÐò±äµÃÈÝÒ×£ºÓ¦ÓóÌÐò¿ª·¢ÈËÔ±
½«²»±ØÁ˽âµÍ²ã´ÎµÄÊÂÎñºÍ״̬¹ÜÀíµÄϸ½Ú¡¢¶àÏ̡߳¢×ÊÔ´¹²ÏíºÍÆäËû¸´Ôӵĵͼ¶
API¡£µ«ÊÇ£¬½«ÔÊÐíר¼Ò¼¶µÄ³ÌÐòÔ±Ö±½Ó·ÃÎʵͼ¶ API¡£
Enterprise JavaBeans Ó¦ÓóÌÐò½«×ñÑ Java ±à³ÌÓïÑԵġ°Ò»´Î±àд£¬Ëæ´¦ÔËÐÐ
¡±µÄÔÔò¡£EJB ×é¼þ¿ÉÒÔÖ»¿ª·¢Ò»´Î£¬È»ºóÔÚ¶à¸öƽ̨Éϲ¿Ê𣬶ø²»ÐèÒªÖØбàÒë
»òÐÞ¸ÄÔ´´úÂë¡£
Enterprise JavaBeans Ìåϵ½á¹¹½«´¦ÀíÆóÒµÓ¦ÓóÌÐòÉúÃüÖÜÆÚÖеĿª·¢¡¢²¿ÊðºÍ
ÔËÐеȷ½Ãæ¡£
Enterprise JavaBeans Ìåϵ½á¹¹½«¶¨ÒåһЩԼ¶¨£¬ÕâЩԼ¶¨Ê¹¶à¸ö¹©Ó¦ÉÌÌṩµÄ
¹¤¾ßÄܹ»¿ª·¢²¢²¿Êð¿ÉÔÚÔËÐÐʱ»¥²Ù×÷µÄ×é¼þ¡£
Enterprise JavaBeans Ìåϵ½á¹¹½«ÓëÏÖÓеķþÎñÆ÷ƽ̨¼æÈÝ¡£¹©Ó¦É̽«Äܹ»À©Õ¹
ËüÃǵÄÏÖÓвúÆ·£¬ÒÔÖ§³Ö Enterprise JavaBeans ×é¼þ¡£
Enterprise JavaBeans Ìåϵ½á¹¹½«Óë Java ±à³ÌÓïÑÔ±àдµÄÆäËû API ¼æÈÝ¡£
Enterprise JavaBeans Ìåϵ½á¹¹½«Ìṩ EJB ×é¼þºÍ·Ç Java ±à³ÌÓïÑÔÓ¦ÓóÌÐòÖ®
¼äµÄ»¥²Ù×÷ÐÔ¡£
Enterprise JavaBeans Ìåϵ½á¹¹½«Óë CORBA ¼æÈÝ¡£
ʹÓà EJB ¼¼ÊõµÄºÃ´¦
ÕâЩÉè¼ÆÄ¿±ê»áʹÆóÒµºÍ¿ª·¢ÈËÔ±µÃµ½Ê²Ã´ºÃ´¦ÄØ£¿ÏÂÃæÁгöÁË¿ÉÍû´Ó²ÉÓÃ
Enterprise JavaBeans »·¾³»ñµÃµÄºÃ´¦£º
EJB ×é¼þʹ±àдӦÓóÌÐò¸üΪ¼òµ¥¡£¾¡¹Ü EJB Ìåϵ½á¹¹¸´ÔÓ£¬µ«Ó¦ÓóÌÐò¿ª·¢ÈË
Ô±Ò»°ã¶¼²»±ØÔÙ±àдÓÃÓÚ·ÃÎÊϵͳ·þÎñµÄ´úÂë¡£Ò»ÖÖ³ÆΪ EJB ÈÝÆ÷µÄϵͳ×é¼þʹ
ϵͳ·þÎñ¿ÉÓÃÓÚ EJB ×é¼þµÄÈÎÎñ¡£
·þÎñÆ÷¶ËÉÌÎñÂß¼¿ÉÒÔÒÆÖ²¡£³ýÁË Java ÓïÑÔ¹ÌÓеĿÉÒÆÖ²ÐÔÍ⣬EJB Ìåϵ½á¹¹»¹
ÔÚ bean ºÍÖ§³Ö¸Ã bean µÄÈÝÆ÷Ö®¼äÌṩÁËÒ»Ì×±ê×¼»¯µÄÓ¦ÓóÌÐò±à³Ì½Ó¿Ú¡£Õâʹ
¿ª·¢ÈËÔ±Äܹ»½« bean ´ÓÒ»ÖÖ²Ù×÷»·¾³ÒÆÖ²µ½ÁíÒ»ÖÖ²Ù×÷»·¾³£¬¶øÎÞÐëÖØбàдÆä
Ô´´úÂë¡£
¿ÉÒÔ´ÓÏÖÓеÄÈí¼þ×é¼þ×°Åä³ö·þÎñÆ÷¶ËÓ¦ÓóÌÐò£¬ÕâÓë´ÓÏÖÓÐµÄ Java bean ¿ÉÒÔ
×°Åä³ö¿Í»§¶ËÓ¦ÓóÌÐòÒ»Ñù£¬´Ó¶øʹÈí¼þÄܹ»ÖØÓá£
EJB Ìåϵ½á¹¹ÄÚÖÃÁ˶ԵäÐÍÆóÒµ¼¶ÏµÍ³·þÎñµÄÖ§³Ö£¬°üÀ¨·Ö²¼Ê½¶ÔÏó¡¢ÊÂÎñ´¦Àí¡¢
Êý¾Ý¿â¡¢°²È«ºÍÈ«¾ÖÃüÃû¡£
¶à¼Ò IT ¹©Ó¦É̶¼²ÉÄÉ EJB Ìåϵ½á¹¹£¬ÕâÊÇÓÉÓÚÓÐÕâÑùµÄ³Ðŵ£º¿Í»§½«Äܹ»´ÓÑ¡
¶¨µÄ¹©Ó¦ÉÌÄÇÀïÑ¡¹ºÈí¼þ×é¼þ£¬Èç EJB ×é¼þ¡¢ÈÝÆ÷¼° EJB ·þÎñÆ÷£»Ò²ÓÉÓÚ³ÐŵÁË
²»Í¬¹©Ó¦É̵IJúÆ·£¬Ö»Òª·ûºÏ EJB Ìåϵ½á¹¹£¬¾Í¶¼ÊÇ¿É»¥²Ù×÷µÄ¡£
Óà EJB ×é¼þ¹¹½¨µÄÓ¦ÓóÌÐò¿ÉÒÔ´ÓÒ»¸ö·þÎñÆ÷ÒÆÖ²µ½ÁíÒ»¸ö·þÎñÆ÷£¬´Ó¶øÖ§³Ö¿É
ÉìËõÐÔ£¬ÕâÊÇÒòΪÔÚ EJB Ä£ÐÍÖУ¬¸÷¸öÈí¼þ×é¼þ¶¼ÊÇÑϸñ·ÖÀëµÄ¡£
EJB Ìåϵ½á¹¹Äܱ£ÕÏÔÓÐµÄ IT Ͷ×Ê£¬ÕâÊÇͨ¹ýÔÊÐí½«ÏÖÓеÄÐÅϢϵͳºÍ×ʲú¡°°ü
¹ü¡±ÔÚÕâЩӦÓóÌÐòÖУ¬¶ø²»ÒªÇó¿Í»§¸ü»»ÏÖÓм¼Êõ¡£ÊÂʵÉÏ£¬ÔÚ¹ØϵÊý¾Ý¿âÖдæ
´¢Êý¾ÝµÄÆóÒµÒѾÓÐÁËÒ»Ì×ÒÑÓгûÐεÄʵÌå bean£¬ÕýµÈ×Åͨ¹ý EJB Íâ¿ÇÈ¥·ÃÎÊ¡£
½øÒ»²½¿¼²ì JNDI
Enterprise JavaBeans ×é¼þʹÓà Java Naming and Directory Interface (JNDI)
À´·ÃÎʸ÷ÖÖĿ¼·þÎñ¡£JNDI ·ÖÁ½²¿·Ö£ºÓ¦ÓóÌÐò±à³Ì½Ó¿Ú (API) ºÍ·þÎñ¹©Ó¦ÉÌ
½Ó¿Ú (SPI)£º
¡°JNDI Ìåϵ½á¹¹ÓÉ JNDI API ºÍ JNDI SPI ×é³É¡£JNDI API ÔÊÐí Java Ó¦ÓóÌÐò
·ÃÎʸ÷ÖÖÃüÃûºÍĿ¼·þÎñ¡£JNDI SPI ÔòÊÇÉè¼ÆÀ´¹©ÈÎÒâÒ»ÖÖ·þÎñµÄ¹©Ó¦ÉÌ£¨Ò²°ü
À¨Ä¿Â¼·þÎñ¹©Ó¦ÉÌ£©Ê¹Óá£ÕâʹµÃ¸÷ÖÖ¸÷ÑùµÄĿ¼·þÎñºÍÃüÃû·þÎñÄܹ»Í¸Ã÷µØ²åÈë
µ½Ê¹Óà JNDI API µÄ Java Ó¦ÓóÌÐòÖС££¨¼û JavaSoft£¬¡°JNDI: Java Naming
and Directory Interface¡±£©
JNDI API ²¢²»Í¬Ä³ÖÖרÓõÄÃüÃû¼¼Êõ»òĿ¼¼¼ÊõÁ¬ÔÚÒ»Æð£¬Ò²²»Í¬Èκι©Ó¦É̵Ä
Ŀ¼·þÎñÁ¬ÔÚÒ»Æð£¬Òò´ËËü¶Ô EJB ×é¼þµÄ¿ÉÒÆÖ²ÐÔÓÐËù¹±Ïס£ÀýÈ磬¿Í»§¿ÉÒÔ´Ó
¶àÖÖ²»Í¬µÄ¼¼ÊõÖÐÑ¡Ôñ£¬À´ÎªÆä EJB Ó¦ÓóÌÐòÌṩĿ¼·þÎñ£¬ÕâЩ¼¼Êõ°üÀ¨£º
LDAP£ºSun µÄ LDAP ·þÎñ¹©Ó¦ÉÌÖ§³Ö LDAP ÐÒéµÄµÚ 2 °æºÍµÚ 3 °æ¡£
NIS£ºSun Ìṩһ¸ö NIS ·þÎñ¹©Ó¦ÉÌ£¨NIS ¼´ÍøÂçÐÅÏ¢·þÎñ£¬ÒÔÇ°³ÆΪ»ÆÒ³£©¡£
COS ÃüÃû£ºSun µÄ COS ÃüÃû·þÎñ¹©Ó¦ÉÌÌṩ¶Ô CORBA ÃüÃû·þÎñµÄ·ÃÎÊ¡£
Îļþϵͳ£ºSun Ìṩһ¸ö·þÎñ¹©Ó¦ÉÌÀ´·ÃÎÊÎļþϵͳ¡£
RMI ×¢²á£ºSun Ϊ RMI ×¢²áÌṩһ¸ö·þÎñ¹©Ó¦ÉÌ¡£
Novell£ºÓм¸¸ö·þÎñ¹©Ó¦ÉÌ¿ÉÌṩ¶ÔĿ¼·þÎñ NDS µÄ·ÃÎÊÒÔ¼° NetWare 3X Á¬½Ó
¿â¡¢Novell ÎļþϵͳºÍÆäËû Novell ·þÎñ£¨ÈçÀ©Õ¹ NCP£©µÄ·ÃÎÊ¡£
ËäÈ» JNDI ¹æ·¶¶Ô¹©Ó¦ÉÌÊÇÖÐÁ¢µÄ£¬µ«²»Ó¦ÈÏΪ£¬ÊµÏÖ JNDI ½Ó¿ÚµÄÓ¦ÓóÌÐò·þÎñ
Æ÷Ò»¶¨ÒªÄÜ·ÃÎÊÀ´×Ô¶à¸ö¹©Ó¦É̵ķþÎñ¹©Ó¦ÉÌ´úÂë¡£
JNDI ÃüÃûÌåϵ½á¹¹µÄ¹Ø¼ü¸ÅÄî°üÀ¨£º
¶ÔÏóºÍÃû³ÆÖ®¼äµÄ°ó¶¨¡£
Èô¸É³ÆΪÃüÃûÉÏÏÂÎĵİ󶨼¯¡£
ÃüÃûϵͳ£¬¼´Èô¸É×éÃüÃûÉÏÏÂÎÄ¡£
ÃüÃû¿Õ¼ä£¬Ö¸Ò»¸öÃüÃûϵͳÖеÄËùÓÐÃû³Æ¡£
Ãû³Æ·ÖÀàΪÔ×ÓÃû³Æ¡¢¸´ºÏÃû³ÆºÍºÏ³ÉÃû³Æ¡£Ô×ÓÃû³ÆÊDz»¿É·Ö¸îµÄ£¬¿ÉÒ԰󶨵½
Ò»¸ö¶ÔÏóÉÏ¡£¸´ºÏÃû³ÆÊÇÔ×ÓÃû³ÆµÄ×éºÏ£¬¶øºÏ³ÉÃû³ÆÔò¿çÔ½¶à¸öÃüÃûϵͳ¡£
ÃüÃûÉÏÏÂÎÄÌرðÖØÒª£ºËùÓеÄÃüÃû²Ù×÷¾ùÊÇÔÚÉÏÏÂÎĶÔÏóÉϽøÐеģ¬²¢ÇÒÃû³Æ½âÎö
¹ý³Ì×ÜÊÇ´Ó×î³õµÄÃüÃûÉÏÏÂÎÄ¿ªÊ¼¡£
EJB Ó¦ÓóÌÐòÊÇÈçºÎʹÓà JNDI µÄÄØ£¿JNDI µÄÖ÷ÒªÓÃ;ÊǼìË÷¶Ô EJB ×é¼þµÄÒýÓÃ
¡£ÒòΪ EJB ¿ò¼ÜÊÇÒ»¸ö·Ö²¼Ê½¶ÔÏó¿ò¼Ü£¬ËùÒÔ EJB Ó¦ÓóÌÐò²»Ó¦µ±¼Ù¶¨ EJB ×é
¼þµÄλÖá£JNDI ¾ÍÊÇ»ñÈ¡¶Ô bean µÄÆðʼÒýÓõÄÒ»ÖÖ»úÖÆ¡£µ±Ò»¸ö bean °²×°µ½
Ò»¸ö enterprise bean ·þÎñÆ÷ÉÏʱ£¬Ò»¸ö±»³ÆΪ EJB ÈÝÆ÷µÄÈí¼þ×é¼þ¾Í¸ºÔð´´½¨
¸÷¸öÃû³Æ-¶ÔÏó°ó¶¨£¬Ê¹ËùÐèµÄ Java ÀàÎļþÄÜʹÓÃÕâ¸ö bean¡£Ó¦ÓóÌÐòʹÓÃ
JNDI µÄ²éÕÒ·½·¨À´¼ìË÷¶ÔÏóÒýÓã¬ÈçÏÂÀýËùʾ£º
Context initialContext = new InitialContext( );
CartHome cartHome = javax.rmi.PortableRemoteObject.narrow(
initialContext.lookup("applications/shopping_cart"), CartHome.class);
Ó¦ÓóÌÐòÓÐÔðÈÎÖªµÀÍⲿÃû³Æ£¬Ó¦ÓóÌÐò¾ÍÊÇͨ¹ýÕâ¸öÃû³Æ²ÅµÃÒÔÒýÓÃÒ»¸ö
enterprise bean£¬²¢Í¨¹ý JNDI À´»ñÈ¡¶Ô¸Ã bean µÄÒýÓõġ£
½øÒ»²½¿¼²ì JTA
³ý JNDI ÒÔÍ⣬Enterprise JavaBeans Ìåϵ½á¹¹»¹Ê¹Óà Java Transaction API
(JTA)¡£ÒòΪÊÂÎñ¶Ôά»¤Êý¾ÝÍêÕûÐԺͿɿ¿ÐÔºÜÖØÒª£¬ËùÒÔÖ§³ÖÊÂÎñ´¦ÀíÊÇ EJB Ìå
ϵ½á¹¹µÄÒ»¸ö»ù±¾²¿·Ö¡£Èç¹ûÆóÒµÓ¦ÓóÌÐòÊÇ·Ö²¼Ê½µÄ£¬ÊÂÎñ´¦Àí¾Í»á¸ü¼ÓÖØÒª£º
¡°ÊÂÎñµÄ¸ÅÄîÊÇÒ»¸öÖØÒªµÄ±à³Ì·¶Àý£¬ÆäÄ¿µÄÔÚÓÚ¼ò»¯¼ÈÒªÇó¿É¿¿ÐÔÓÖÒªÇó¿ÉÓÃÐÔ
µÄÓ¦ÓóÌÐò½á¹¹£¬ÌرðÊÇÄÇЩÐèҪͬʱ·ÃÎʹ²ÏíÊý¾ÝµÄÓ¦ÓóÌÐò¡£ÊÂÎñµÄ¸ÅÄî×îÔç
ÊÇÓÃÔÚÉÌÎñÔË×÷µÄÓ¦ÓóÌÐòÖУ¬ÆäÖÐËü±»ÓÃÓÚ±£»¤¼¯ÖÐʽÊý¾Ý¿âÖеÄÊý¾Ý¡£ºóÀ´£¬
ÊÂÎñµÄ¸ÅÄîÒÑÀ©Õ¹µ½·Ö²¼Ê½¼ÆËãµÄ¸ü¹ã·ºµÄ»·¾³ÖС£½ñÌ죬ÊÂÎñÊǹ¹½¨¿É¿¿µÄ·Ö²¼
ʽӦÓóÌÐòµÄ¹Ø¼ü£¬ÕâÒ»µãÒѵõ½¹ã·º³ÐÈÏ¡£¡±£¨¼û¶ÔÏó¹ÜÀí×éµÄ¡°
Transaction Service Specification¡±£©
ÓÐʱ½«ÊÂÎñÃèÊöΪ¾ßÓÐÏÂÁÐÌØÕ÷µÄ¹¤×÷µ¥Ôª£º
Ô×ÓÐÔ ¡ª Èç¹ûÒò¹ÊÕ϶øÖжϣ¬ËùÓнá¹û¾ù³·Ïú
Ò»ÖÂÐÔ ¡ª ÊÂÎñµÄ½á¹û±£Áô²»±äµÄÌØÐÔ
¹ÂÁ¢ÐÔ ¡ª Öмä״̬¶ÔÆäËûÊÂÎñÊDz»¿É¼ûµÄ
³Ö¾ÃÐÔ ¡ª ÒÑÍê³ÉµÄÊÂÎñµÄ½á¹ûÊdz־õÄ
ÊÂÎñµÄÖÕÖ¹ÓÐÁ½ÖÖ·½Ê½£ºÌá½»Ò»¸öÊÂÎñ»áʹÆäËùÓеĸü¸ÄÓÀ¾Ã²»±ä£¬¶ø»Ø¹ö
(rolling back) Ò»¸öÊÂÎñÔò³·ÏúÆäËùÓеĸü¸Ä¡£
¶ÔÏó¹ÜÀí×éÖ¯ (OMG) ΪһÖÖÃæÏò¶ÔÏóµÄÊÂÎñ·þÎñ£¬¼´¶ÔÏóÊÂÎñ·þÎñ (OTS)£¬´´½¨
ÁËÒ»Öֹ淶¡£OTS ÊÇ EJB Ìåϵ½á¹¹ÄÚµÄÊÂÎñ·þÎñµÄ»ù´¡¡£ÏÂÁÐÊÂÎñ¹æ·¶¾ÍÊÇΪ
enterprise bean Ëù²ÉÓõÄÊÂÎñÄ£ÐͶøÉ裺
OMG µÄ¶ÔÏóÊÂÎñ·þÎñ (OTS)
Sun Microsystems µÄ Transaction Service (JTS)
Sun Microsystems µÄ Java Transaction API (JTA)
¿ª·Å×é (X/Open) µÄ XA ½Ó¿Ú
ÕâÖÖÓëÓïÑÔÎ޹صĶÔÏóÊÂÎñ·þÎñ£¬ÎªÒ»¸öÇ¿½¡µÄ·Ö²¼Ê½ÊÂÎñ·þÎñÌṩÁË»ù±¾¸ÅÄî¡¢
¶¨ÒåºÍ¹¦ÄÜ¡£
Java Transaction Service ÊÇ OTS µÄ Java Ó³É䣬ÔÚ org.omg.CosTransactions
ºÍ org.omg.CosTSPortability ÕâÁ½¸ö°üÖж¨Òå¡£JTS ¶ÔÊÂÎñ·Ö½çºÍÊÂÎñ»·¾³µÄ
´«²¥Ö®ÀàµÄ·þÎñÌṩ֧³Ö¡£JTS ¹¦ÄÜÓÉÓ¦ÓóÌÐòͨ¹ý Java Transaction API ·ÃÎÊ
¡£
Java Transaction API Ö¸¶¨ÊÂÎñ¹ÜÀíÆ÷Óë·Ö²¼Ê½ÊÂÎñÖÐÉæ¼°µÄÆäËûϵͳ×é¼þÖ®¼ä
µÄ¸÷Öָ߼¶½Ó¿Ú£¬ÕâЩϵͳ×é¼þÓÐÓ¦ÓóÌÐò¡¢Ó¦ÓóÌÐò·þÎñÆ÷ºÍ×ÊÔ´¹ÜÀíÆ÷µÈ¡£
JTA ¹¦ÄÜÔÊÐíÊÂÎñÓÉÓ¦ÓóÌÐò±¾Éí¡¢ÓÉÓ¦ÓóÌÐò·þÎñÆ÷»òÓÉÒ»¸öÍⲿÊÂÎñ¹ÜÀíÆ÷À´
¹ÜÀí¡£JTA ½Ó¿Ú°üº¬ÔÚ javax.transaction ºÍ javax.transaction.xa ÕâÁ½¸ö°ü
ÖС£
XA ½Ó¿Ú¶¨ÒåÁË×ÊÔ´¹ÜÀíÆ÷ºÍ·Ö²¼Ê½ÊÂÎñ»·¾³ÖÐÍⲿÊÂÎñ¹ÜÀíÆ÷Ö®¼äµÄÔ¼¶¨¡£Íⲿ
ÊÂÎñ¹ÜÀíÆ÷¿ÉÒÔ¿ç¶à¸ö×ÊԴе÷ÊÂÎñ¡£XA µÄ Java Ó³Éä°üº¬ÔÚ Java Transaction
API ÖС£
--
º£ÄÉ°Ù´¨£¬
ÓÐÈÝÄË´ó£¬
±ÚÁ¢Ç§³ß£¬
ÎÞÓûÔò¸Õ¡£
¡ù À´Ô´:¡¤¹þ¹¤´ó×϶¡Ïã bbs.hit.edu.cn¡¤[FROM: dip.hit.edu.cn]
Powered by KBS BBS 2.0 (http://dev.kcn.cn)
Ò³ÃæÖ´ÐÐʱ¼ä£º206.520ºÁÃë