¡°CORBA ÊÇÎÒÃÇÊ×ÏÈÂõ³öµÄÖØÒªÒ»²½£¬µ«½ñºóµÄ·»¹ºÜ³¤¡£¡±
- Fred Waskiewicz£¬OMG Director of Standards
´ÓÒ»¿ªÊ¼£¬Object Management Group £¨¶ÔÏó¹ÜÀí×飬OMG£©¾ÍΪÆóÒµÌṩÁ˶ÀÁ¢ÓÚ¹©Ó¦É̺ÍÓïÑԵĻ¥²Ù×÷ÐÔ±ê×¼¡£Õë¶ÔÐèҪרÃŵÄʵʱϵͳ¡¢ÈÝ´íϵͳºÍǶÈëʽϵͳµÄ»·¾³£¬CORBA
£¨Common Object Request Broker Architecture£¬¹«¹²¶ÔÏóÇëÇó´úÀíÌåϵ½á¹¹£©±ê×¼×î½ü½øÐÐÁËÐÞ¶©£¬²¢Êܵ½ÁË»¶Ó¡£OMG
ÓÐÒ»×黥Ïಹ³äµÄºËÐĽ¨Ä£¹æ·¶£¬°üÀ¨ UML£¨Unified Modeling Language£¬Í³Ò»½¨Ä£ÓïÑÔ£©¡¢CWM£¨Common
Warehouse Meta-model£¬¹«¹²²Ö¿âԪģÐÍ£©¡¢MOF£¨Meta-Object Facility£¬Ôª¶ÔÏóÉèÊ©£©ºÍ
XMI£¨XML Metadata Interchange£¬XML ÔªÊý¾Ý½»»»£©¡£
ÔÚ CORBA ºÍ UML È¡µÃ³É¹¦µÄ»ù´¡ÉÏ£¬ÏÖÔÚ OMG °ÑÄ¿¹âͶÏòÁËËæ×ÅÆóÒµÖмä¼þµÄÆÕ¼°¶øÒýÆðµÄÎÊÌâ¡£ËüµÄ
MDA£¨Model Driven Architecture£¬Ä£ÐÍÇý¶¯Ìåϵ½á¹¹£©¼Æ»®Ö§³Ö CORBA µÄÀ©Õ¹ÐԺͿɿ¿ÐÔ£¬Í¬Ê±ÓÖ³ÐÈÏÆóÒµÎÞ·¨ÇáÒ×·ÅÆúÔÚÆäËû¼¼ÊõÉϵÄͶ×Ê¡££¨¹ØÓÚ
MDA µÄ¸ü¶àÐÅÏ¢Çë·ÃÎÊ www.omg.org/mda£©¡£
ÔÚºÍÆäËû OMG ³ÉÔ±¹«Ë¾Ò»µÀ´´½¨ MDA µÄ¹ý³ÌÖУ¬Rational Software ·Ç³£»ý¼«µØ¹±Ï×ÁË×Ô¼ºµÄ˼·ºÍÔÔò¡£Èç¹ûÄúÊÇһλ¶Ô½¨Ä£»òÕßÈí¼þ¿ª·¢»ù´¡ÉèÊ©¸ÐÐËȤµÄ
Rational Óû§£¬ÎÒÏëÄú½«»á¶Ô±¾ÎÄËù½éÉÜµÄ OMG MDA µÄ¸ÅÄĿ±êºÍ¼Æ»®¸ÐÐËȤ¡£
¹ýÈ¥µÄÊ®Äê×óÓÒ£¬Öмä¼þÁìÓò²»¶Ï±ä»¯¡£¶àÄêÀ´£¬ÎÒÃÇÉèÏë×îÖÕ»á³öÏÖÒ»¸ö¾ø¶ÔµÄÓ®¼Ò£¬Ê¹ÕâÖÖÒ»ÅÌɢɳµÄ״̬Îȶ¨ÏÂÀ´£¬¶øÊ±¼ä¹«¿ª³ÐÈÏÁËÎÒÃǺܶàÈËÒ»Ö±ÂñÔÚÐĵ׵ϳÒÉ£ºÐ¾ºÕùÕߵijöÏÖÓÀÔ¶²»»áÍ£Ö¹£¡ËäÈ»×îеÄÖмä¼þƽ̨ÓкܶàÓÅÊÆ£¨ÓÐʱºòÊÇÕæµÄ£¬ÓÐʱºòÊÇÏëÏóµÄ£©£¬µ«Ð¾ÉÖ®¼äµÄÇ¨ÒÆ¼¸ºõ×ÜÊǷdz£°º¹ó¶øÇÒÒ×ÓÚÔì³É»ìÂÒ¡£
OMG µÄ·Ö²ã·þÎñºÍ×ÝÏòÐÍÊг¡£¨vertical market£©¹æ·¶½¨Á¢ÔÚ CORBA µÄ»ù´¡ÉÏ£¬ÕâÊÇÎÒÃÇÈÏΪµÄ×î¼ÑÖмä¼þ£¬ËüÊÇÑϸñͨ¹ý
OMG ÉçÇø¹ý³Ì½¨Á¢µÄ¡£µ«ÊÇÎÒÃÇÒ²¿´µ½£¬ÆóÒµÖг£³£»¹ÓÐÆäËûÖмä¼þÉϵÄÓ¦ÓóÌÐò±ØÐ뼯³Éµ½ÐµĻòÕ߸ıäºóµÄϵͳÖУ¬¾¡¹ÜÕâ¸ö¹ý³Ì·Ç³£ºÄʱ¶øÇÒ°º¹ó¡£´ËÍ⣬ÕâЩÆóÒµËùÓõÄÖмä¼þÒ²ÔÚ²»¶ÏµÄÑÝ»¯ÖС£
ʹÎÊÌâ¸ü¼Ó¸´ÔÓµÄÊÇ£¬ÔÚ Internet ¾íÈëÆóÒµÊг¡Ö®Ç°£¬ÆóÒµÍùÍùÔÚ·À»ðǽ֮ÄÚºÍÖ®ÍâʹÓò»Í¬µÄͨÐż¼Êõ¡£ÏÖÔÚ£¬Ò»Ð©ÆóҵϣÍû°ÑΪÄÚ²¿Í¨ÐŶø½¨Á¢µÄ×é¼þ¹«¿ªµ½·À»ðǽ֮Í⣬±ÈÈçΪÁ˽øÐÐ
B2B µç×ÓÉÌÎñ¡£ÁíһЩÔòÓÉÓÚÊÕ¹º»òÕߺϲ¢£¬Ï£Íû°ÑÍâÍøÉϵÄ×é¼þÒÆµ½·À»ðǽ֮ÄÚ¡£Òò´Ë£¬³ýÁËÒª½â¾ö»ù±¾µÄ¼¯³ÉÎÊÌâÖ®Í⣬IT
ÆóÒµ»¹±ØÐëÕÒ³öÒ»ÖÖ·½·¨£¬ÔÚÓÉÓÚÆóÒµ±ß½çÒÆ¶¯¶øÔì³Éµ×²ã¼¼ÊõÒ²·¢Éú±ä»¯Ê±£¬Äܹ»±£»¤ËüÃÇÔÚÐÂ×é¼þ·½ÃæµÄ¿ª·¢Í¶×Ê¡£
½â¾öÎÊÌâµÄ·½°¸£ºÄ£ÐÍÇý¶¯Ìåϵ½á¹¹
ËùÐÒµÄÊÇ£¬ÓÐÒ»ÖÖ°ì·¨¿ÉÒÔÓ¦¸¶ÕâÖÖÇé¿ö¡£ÔÚ OMG ºËÐĽ¨Ä£±ê×¼µÄ»ù´¡ÉÏ£¬ÎÒÃǽ¨Á¢ÁËMDA£¨Model Driven
Architecture£¬Ä£ÐÍÇý¶¯Ìåϵ½á¹¹£©£¬ËüÊÇÓïÑÔ¡¢¹©Ó¦É̺ÍÖмä¼þÖÐÁ¢µÄ¡£
Èçͼ 1 Ëùʾ£¬Õâ¸öÌåϵ½á¹¹µÄºËÐĽ¨Á¢ÔÚ UML¡¢MOF ºÍ CWM ÉÏ¡£Ä¿Ç°ÒÑ¿ª·¢Á˶à¸ö ºËÐÄÄ£ÐÍ1
£º Ò»¸ö±íʾÆóÒµ¼ÆË㣬°üÀ¨×é¼þ½á¹¹ºÍÊÂÎñ½»»¥£»Ò»¸ö±íʾʵʱ¼ÆË㣬°üÀ¨×ÊÔ´¿ØÖƵÄÌØÊâÒªÇó£»»¹½«Ôö¼Ó¸ü¶àÄ£ÐÍÀ´±íʾÆäËûרÃŵĻ·¾³¡£Ã¿¸öºËÐÄÄ£ÐͶ¼¶ÀÁ¢ÓÚÈκÎÖмä¼þƽ̨¡£È»¶ø£¬×ÜÊý²»»áºÜ´ó£¬ÒòΪÿ¸öºËÐÄÄ£ÐͶ¼±íʾËùÊôÀà±ðÖÐËùÓÐÆ½Ì¨µÄ¹²Í¬ÌØÐÔ¡£
2
ÎÞÂÛ×îÖÕÄ¿±êÊÇ CCM£¨CORBA Component Model£¬CORBA ×é¼þÄ£ÐÍ£©¡¢Enterprise
JavaBeans£¨EJB£©¡¢Microsoft MTS »¹ÊÇÐ嵀 .NET Ìåϵ½á¹¹£¬»òÕ߯äËû»ùÓÚ×é¼þ»ò»ùÓÚÊÂÎñµÄƽ̨£¬¹¹Ôì»ùÓÚ
MDA µÄÓ¦ÓóÌÐòµÄµÚÒ»²½¶¼ÊÇʹÓà UML ´´½¨Ò»¸öƽ̨¶ÀÁ¢µÄ¡¢ÓëÊʵ±ºËÐÄÄ£ÐÍÒ»ÖµÄÓ¦ÓóÌÐòÄ£ÐÍ¡£È»ºó£¬Æ½Ì¨×¨¼Ò¿ÉÒÔ°ÑÕâ¸öÒ»°ãµÄÓ¦ÓóÌÐòÄ£ÐÍת»¯³ÉÕë¶ÔÌØ¶¨Æ½Ì¨µÄÄ£ÐÍ£¬Èç
CCM¡¢EJB »ò .NET¡£Í¼ 1 °ÑÕâЩĿ±êƽ̨·ÅÔÚÎ§ÈÆºËÐĵļòµ¥»·ÐνṹÖС£

ͼ 1 £º OMG Ä£ÐÍÇý¶¯Ìåϵ½á¹¹
ËäÈ»±ê×¼Ó³Éäʹ¹¤¾ßÄܹ»×Ô¶¯Íê³ÉijЩת»»£¬¶àÊýÇé¿öÏ»¹ÊÇÐèҪһЩÊÖ¹¤±àÂë£¬ÌØ±ðÊÇÔÚȱÉÙ MDA ¹¤¾ßµÄÇé¿öÏ¡£Ëæ×ÅÓû§ºÍ¹¤¾ß¹¹½¨ÈËÔ±»ýÀ۵ľÑéÔ½À´Ô½·á¸»£¬½¨Ä£Ó¦ÓóÌÐòÓïÒåµÄ¼¼ÊõÔ½À´Ô½ÏȽø£¬¶ÔÈËΪ¸ÉÔ¤µÄÐèÒªÒ²»áÔ½À´Ô½ÉÙ¡£
ÌØ¶¨ÓÚÆ½Ì¨µÄÄ£ÐÍÖÒʵµØ±íʾÁËÓ¦ÓóÌÐòÔÚÒµÎñºÍ¼¼ÊõÉϵÄÔËÐÐʱÓïÒå¡£ËüÈÔÈ»ÊÇÒ»¸ö UML Ä£ÐÍ£¬²»¹ýÊÇÓà UML
µÄ·½ÑÔ£¨Ò²¾ÍÊǸÅÒªÎļþ£©±íʾµÄ£¨ÒòΪ¾¹ýÁËת»»²½Ö裩£¬ÕâÖÖ·½ÑÔ׼ȷµØ·´Ó³ÁËÄ¿±êƽ̨¼¼ÊõÉϵÄÔËÐÐÊ±ÔªËØ¡£ÔÀ´µÄƽ̨¶ÀÁ¢Ä£Ð͵ÄÓïÒå±»´øÈëÌØ¶¨ÓÚÆ½Ì¨µÄÄ£ÐÍÖС£
ÏÂÒ»²½ÊÇÉú³ÉÓ¦ÓóÌÐò´úÂë±¾Éí¡£¶ÔÓÚ×é¼þ»·¾³¶øÑÔ£¬ÏµÍ³±ØÐëÉú³É¶àÖÖÀàÐ͵ĴúÂëºÍÅäÖÃÎļþ£¬°üÀ¨½Ó¿ÚÎļþ¡¢×é¼þ¶¨ÒåÎļþ¡¢³ÌÐò´úÂëÎļþ¡¢×é¼þÅäÖÃÎļþºÍ×°ÅäÅäÖÃÎļþ¡£Ìض¨Æ½Ì¨µÄ
UML ·½ÑÔ¶Ôʵ¼Êƽ̨»·¾³µÄ·´Ó³Ô½ÍêÕû£¬ÔÚÌØ¶¨Æ½Ì¨µÄÓ¦ÓóÌÐòÄ£ÐÍÖÐÄܹ»°üº¬µÄÓ¦ÓóÌÐòÓïÒåºÍÔËÐÐʱÐÐΪ¾ÍÔ½¶à£¬Éú³ÉµÄ´úÂëÒ²¾ÍÔ½ÍêÉÆ¡£ÔÚ³ÉÊìµÄ
MDA »·¾³ÖУ¬Èç¹ûʹÓà Rational Software ¼°Æä¾ºÕù¶ÔÊÖÌṩµÄ¹¤¾ß£¬´úÂëÉú³ÉÊǺÜÓмÛÖµµÄ£¬ÓÐʱºòÉõÖÁºÜÍêÉÆ¡£ÔçÆÚ°æ±¾²»´ó¿ÉÄÜÌṩ¸ß¶ÈµÄ×Ô¶¯»¯Éú³É¹¦ÄÜ£¬µ«×ÜÌåÀ´Ëµ£¬¶ÔÓÚÔçÆÚµÄ²ÉÓÃÕß¶øÑÔ£¬¼´Ê¹×îÔʼµÄʵÏÖÒ²¿ÉÒÔ¼ò»¯ÏîÄ¿¿ª·¢£¬Õâ´ú±íÁËÖØ´óµÄÊÕÒæ£»ËûÃǽ«Ê¹ÓÃͳһµÄÌåϵ½á¹¹À´¹ÜÀíÓ¦ÓóÌÐò¶ÀÁ¢ÓÚÆ½Ì¨ºÍÌØ¶¨ÓÚÆ½Ì¨µÄ¸÷¸ö·½Ãæ¡£
Èçͼ 1 Ëùʾ£¬ºÜ¶àµ±½ñµÄÁ¬½Ó¼¼Êõ½«Í¨¹ý MDA À´¼¯³É£¬ÎªÃ÷ÌìµÄ¡°ÏÂÒ»´ú×î¼Ñ·½°¸¡±ÁôÏÂÁ˿ռ䡣CORBA
´ú±íÁË×î¼ÑµÄÖмä¼þÑ¡Ôñ£¬ÒòΪËüÊǹ©Ó¦É̺ÍÓïÑÔÖÐÁ¢µÄ£¬ºÜÈÝÒ×Á¬½Óµ½ËùÓÐÆäËûÖмä¼þ»·¾³¡£µ«ÊÇ£¬ÎªÁËÊÊÓ¦ÄÇÐ©ÍøÂçÉϾßÓжàÖÖÖмä¼þƽ̨µÄÆóÒµ£¬ºÜ¶à·Ç
CORBA ƽ̨Ҳ½«±»ºÏ²¢µ½ MDA ÖС£ÆäÖÐ×îÏÈÒ»¸ö½«ÊÇ´¿ Java µÄ EJB¡£
Ôö¼ÓеÄÖмä¼þƽ̨
ÓÉÓÚ MDA ÔÚºËÐÄÉÏÊÇÆ½Ì¨¶ÀÁ¢µÄ£¬ÏòÕâ¸ö»¥²Ù×÷»·¾³ÖÐÌí¼ÓеÄÖмä¼þƽ̨·Ç³£¼òµ¥£ºÔÚÈ·¶¨ÐÂÆ½Ì¨±íʾºÍʵÏÖ¹«¹²Öмä¼þ¸ÅÄîºÍ¹¦Äܵķ½Ê½Ö®ºó£¬OMG
³ÉÔ±¿ÉÒÔ°ÑÕâЩÐÅÏ¢×÷ΪӳÉäºÏ²¢µ½ MDA ÖС£¸÷ÖÖÃæÏòÏûÏ¢µÄÖмä¼þ¹¤¾ß£¬ÔÙ¼ÓÉÏ XML/SOAP£¨¼òµ¥¶ÔÏó·ÃÎÊÐÒ飩ºÍ
.NET£¬½«ÒÔÕâÖÖ·½Ê½¼¯³É½øÀ´¡£ÊÂʵÉÏ£¬Í¨¹ýÏû³ýijЩÐÐÒµÌá³öµÄ XMLÎĵµÀàÐͶ¨Ò壨DTD£©µÄ³åÍ»£¬MDA
¿ÉÒÔ°ïÖúÆóÒµ¶Ô²»Í¬µÄÎĵµ»¥²Ù×÷¡£Ëæ×ŶàÖÖÖмä¼þƽ̨Ìí¼Óµ½ MDA ÖУ¬MDAÔ½À´Ô½³ÉÊ죬ÀàËÆÓÚÇŽӯ÷£¨bridge£©¡¢Íø¹Ø£¨gateway£©ºÍ´ÓÒ»ÖÖÆ½Ì¨µ½ÁíÒ»ÖÖÆ½Ì¨µÄÓ³É䣨mapping£©µÈ¼¯³É¹¤¾ßµÄÉú³É½«±äµÃ¸ü¼Ó×Ô¶¯»¯¡£
»¥²Ù×÷ÐÔÔÚͬһÀàÓ¦ÓóÌÐòÖÐ×îΪ͸Ã÷£ºÆóÒµÓ¦ÓóÌÐòºÍÆäËûÆóÒµÓ¦ÓóÌÐò£»ÊµÊ±Ó¦ÓóÌÐòºÍÆäËûʵʱӦÓóÌÐò¡£ÕâºÍÎÒÃDzÉÓõÄÿÖÖÀà±ð¾ùÓе¥Ò»ºËÐÄÄ£Ð͵ķ½·¨ÊÇÒ»Öµģ»Ó¦ÓóÌÐòÀà±ðÖ®¼äµÄ²îÒìʹÎÒÃDz»ÄܰÑËùÓÐÓ¦ÓóÌÐò¶¼½¨Á¢ÔÚµ¥Ò»ºËÐÄÄ£ÐÍÉÏ¡£µ«È·¶¨ºÍÀûÓÃÁ½ÖÖ»ò¶àÖÖÀà±ðµÄ¹«¹²¸ÅÄîÄܹ»ÔÚijÖ̶ֳÈÉÏ´òÆÆÏ໥֮¼äµÄ·ªÀé¡£
´¦ÀíÒÅÁôÓ¦ÓóÌÐò
µ½Ä¿Ç°ÎªÖ¹£¬ÎÒÃǵÄÌÖÂÛ¶¼ÊǼÙÉè´ÓÍ·¿ªÊ¼¹¹½¨Ó¦ÓóÌÐò¼°ÆäÄ£ÐÍ¡£ÒÅÁôÓ¦ÓóÌÐòÌá³öÁËÁíÒ»ÏîÌôÕ½£ººÜ¶àÓ¦ÓóÌÐòÊÇÔÚ×é¼þ»·¾³»¹Ã»ÓгöÏÖ֮ǰ¹¹½¨µÄ£¬²»ÄܺܺõطûºÏÈκÎÒ»ÖÖºËÐÄÄ£ÐÍ¡£µ«ÊÇ£¬Í¨¹ý°ü×°Óë
MDA ºËÐÄÄ£ÐÍÒ»ÖµĴúÂë²ã£¬ÒÅÁôÓ¦ÓóÌÐòÒ²¿ÉÒÔÒýÈëµ½ MDA ÖС£Èç¹ûÊ×Ïȹ¹½¨°ü×°³ÌÐòµÄ MDA Ä£ÐÍ£¬ÄÇô°ü×°³ÌÐòµÄÍⲿ²¿·Ö£¨¼´ÃæÏòÍøÂç²¢ÓëÆäËûÓ¦ÓóÌÐòºÍ·þÎñ»¥²Ù×÷µÄÄÇÒ»²¿·Ö£©¾Í¿ÉÒÔ×Ô¶¯Éú³É£¬ÖÁÉÙ¿ÉÒÔ²¿·Ö×Ô¶¯Éú³É¡£°ü×°³ÌÐòµÄÁíÒ»²¿·Ö£¨¼´¶ÔÒÅÁôÓ¦ÓóÌÐò±¾Éí½øÐе÷Óò¢·µ»ØµÄÄÇÒ»²¿·Ö£©Í¨³£±ØÐëÊÖ¹¤±àÂë¡£
Internet ORB
MDA ÊÇĿǰÕýÔÚ¿ª·¢µÄÏÂÒ»´ú OMG ±ê×¼£¬Ëü¿ÉÒÔ×÷Ϊ ORB£¨Object Request Broker£¬¶ÔÏóÇëÇó´úÀí³ÌÐò£©À´ÕûºÏËùÓÐÖмä¼þƽ̨£¬ÎÞÂÛ¹ýÈ¥µÄ¡¢ÏÖÔڵϹÊǽ«À´µÄ¡£OMG
ÊÇ¶Ô ORB Àí½â×îÉî¿ÌµÄ×éÖ¯£¬×îÊʺÏÓڼ縺À©Õ¹ÕâÒ»¸ÅÄîµÄÖ°Ô𣬲»½ö½öÊÇÖмä¼þ±ê×¼£¬¶øÊdzÉΪһÖÖÖмä¼þÖÐÁ¢µÄ¡¢Ä£ÐÍÇý¶¯µÄ·½·¨£¬ÎªÓû§´øÀ´ÒÔϾßÌåµÄºÃ´¦£º
ÆóÒµ¿ÉÒÔʹÓÃËùÑ¡µÄÖмä¼þ¹¹½¨ÐµĻùÓÚ MDA µÄÓ¦ÓóÌÐò¡£ËûÃÇ¿ÉÒÔ·ÅÐĵØÖªµÀ£¬ÒòΪӦÓóÌÐòµÄ»ù±¾ÓïÒåϵͳµØÄý¾ÛÔÚÆ½Ì¨¶ÀÁ¢µÄÄ£ÐÍÖУ¬Èç¹û½«À´ÐèҪʹÓò»Í¬µÄÖмä¼þ£¨»òÕßÏàͬÖмä¼þµÄа汾£©£¬ÕâÖÖÇ¨ÒÆÊÇÏ൱Ò×ÓÚ¹ÜÀíµÄ¡£´ËÍ⣬ͨ¹ýʹÓÃÒ»ÖµÄÌåϵ½á¹¹ºÍijÖ̶ֳȵĴúÂëÉú³É£¬ËûÃÇÄܹ»ÏµÍ³µØ½¨Á¢ÓëÆóÒµÖÐÆäËû»ùÓÚ
MDA µÄÓ¦ÓóÌÐòÖ®¼ä»¥²Ù×÷ÐÔµÄÇÅÁººÍͨ·£¬ÒÔ¼°Óë¿Í»§¡¢¹©Ó¦ÉÌ¡¢ÒµÎñºÏ×÷»ï°éÖ®¼äµÄÁªÏµ¡£
±£³Ö¹«Ë¾ÒµÎñÕý³£ÔËתµÄÒÅÁôÓ¦ÓóÌÐò£¬Ö»Òª°´ÕÕÇ°ÃæËùÊö·½·¨½øÐаü×°²¢½«Æä¹¦Äܺϲ¢µ½ MDA ÖУ¬¾Í¿ÉÒÔÓëÆóÒµµ±Ç°Ó¦ÓóÌÐò»¥²Ù×÷¡£ÕâЩ³ÌÐòÈÔÈ»±£ÁôÔÚ½¨Á¢ËüÃÇµÄÆ½Ì¨ÉÏ£¬MDA
¿ÉÒÔ°ïÖú×Ô¶¯¹¹Ôì´ÓÒ»¸öƽ̨µ½ÁíÒ»¸öƽ̨µÄÇÅÁº¡£
¸÷¸ö²ã´ÎµÄÐÐÒµ±ê×¼½«°üÀ¨°´ÕÕ MDA ºËÐıê×¼¶¨ÒåµÄƽ̨¶ÀÁ¢Ä£ÐÍ£ºÄú¿ÉÒÔÂòµ½Íê³É±ê×¼¹¦Äܵıê×¼ÉèÊ©¶ø²»±Ø×Ô¼º¹¹½¨£¬ÓÉÓÚÕâЩ±ê×¼ÉèÊ©¾ùÒÔ
MDA Ϊ»ù´¡£¬Òò´ËÌá¸ßÁ變ȴ²Ù×÷ÐԺͿÉÑݽøÐÔ¡£ÎÒÃǽ«ÔÚºóÃæ½éÉÜÕâÀàÉèÊ©¼°Æä×÷Óá£
µ±³öÏÖеÄÖмä¼þƽ̨ʱ£¬OMG µÄ¿ìËÙÇÒ×ñѶàÊýÒâ¼ûµÄ±ê×¼»¯¹ý³Ì½«Í¨¹ý¶¨Òåеıê×¼»¯Ó³É䣬°ÑËüÃǺϲ¢µ½
MDA ÖС£È»ºó£¬MDA ¹¤¾ß½«Õë¶ÔÐÂµÄÆ½Ì¨ÊµÏÖµ½Æ½Ì¨¶ÀÁ¢Ä£Ð͵Äת»»¡£ÕâЩ¹¤¾ßÒ²Äܹ»Ö§³Öµ½ÐÂÆ½Ì¨µÄÇÅÁº¡£
¿ª·¢ÈËÔ±¿ÉÒÔ»ñµÃ×î´óÏ޶ȵÄÁé»îÐÔ£¬µ±µ×²ã»ù´¡ÉèÊ©ËæÊ±¼ä±ä»¯Ê±£¬Äܹ»´ÓÎȶ¨µÄ¡¢Æ½Ì¨¶ÀÁ¢µÄÄ£ÐÍÖØÐÂÉú³É´úÂë¡£ÔÚÈí¼þÉúÃüÆÚÓÈÆäÊdz¤ÆÚµÄÖ§³ÖºÍά»¤¹ý³ÌÖУ¨ÕâÒ²ÊÇÓ¦ÓóÌÐòÉúÃüÖÜÆÚÖÐ×î°º¹óµÄÒ»¸ö½×¶Î£©£¬Ó¦ÓóÌÐòºÍÁìÓòÄ£Ð͵ÄÖØÓý«Ìá¸ß
ROI¡£
Ä£ÐÍͨ¹ý UML À´¹¹½¨¡¢²é¿´ºÍ²Ù×Ý£¬Í¨¹ý XMI ´«Ê䣬ÔÚ MOF ×ÊÁÏ¿âÖд洢¡£
ϵͳÓïÒåµÄÕýʽÎĵµ£¨Í¨¹ý½¨Ä££©½«Ìá¸ßÈí¼þÖÊÁ¿£¬ÑÓ³¤Éè¼ÆµÄÓÐЧÉúÃüÖÜÆÚ£¨´Ó¶øÌá¸ß ROI£©¡£
ÀûÓÃÎÒÃǵıê×¼ºÍÖ§³ÖÕâЩ±ê×¼µÄ¹¤¾ß£¬OMG ³ÉÔ±ÕýÔÚÍê³É¼¯³É·½ÃæµÄ¹¤×÷¡£ËûÃÇÔÚ¶¨Òå Enterprise
Computing Core Model£¨ÆóÒµ¼ÆËãºËÐÄÄ£ÐÍ£©²¢°ÑËüÓ³Éäµ½Ó¦ÓÃ×î¹ã·ºµÄÖмä¼þƽ̨¡£ËûÃÇÒ²ÔÚ¶¨Òåʵʱ¼ÆËãµÄºËÐÄÄ£ÐÍ¡£
±ê×¼»¯ÁìÓòÄ£ÐÍ
×Ô´Ó 1996 Äê 1 ÔÂÒÔÀ´£¬ºÜ¶à OMG ³ÉÔ±²Î¼ÓÁË Domain Task Forces£¨ÁìÓòÈÎÎñ×飬DTF£©£¬±ê×¼»¯Ìض¨×ÝÏòÐÍÊг¡µÄ·þÎñºÍÉèÊ©³ÉΪÁËÉçÇø¹Ø×¢µÄ½¹µã¡£Ä¿Ç°£¬ÕâЩ¹æ·¶°üÀ¨ÓÃ
OMG ½»»¥Ê½Êý¾ÝÓïÑÔ£¨Interactive Data Language£¬IDL£©±àдµÄ½Ó¿ÚºÍÏàÓ¦µÄÓ¢ÎÄÓïÒå˵Ã÷¡£¾ÍÏñÎÒÃǶÔ
CORBA Ëù×öµÄÄÇÑù£¬ÔÚÆ½Ì¨²ã´ÎÉϱê×¼»¯×é¼þÎÞÒÉÊÇÒ»ÖÖ½â¾ö¼¯³ÉºÍ»¥²Ù×÷ÐÔÎÊÌâµÄ¿ÉÐз½°¸£¬µ«ÊÇÏÖÔÚÎÒÃÇ×¼±¸¸ü½øÒ»²½¡£
¼Æ»®Á¼ºÃµÄ·þÎñ»òÉèÊ©×ÜÊǽ¨Á¢ÔÚ¶ÀÁ¢ÓÚÄ¿±êƽ̨µÄµ×²ãÓïÒåÄ£Ð͵Ļù´¡ÉÏ£¬¼´Ê¹Ã»ÓÐÃ÷È·µØÃèÊö¸ÃÄ£ÐÍ¡£OMG µÄÁìÓò¹æ·¶¾ÍÊôÓÚÕâÖÖÇé¿ö£¬ÒòΪËüÃǵÄÄ£ÐÍûÓдÓ
IDL ½Ó¿ÚÖе¥¶À±íʾ³öÀ´¡£ÓÉÓÚËüÃǵÄÄ£ÐÍÊÇÒþº¬µÄ£¬ÕâЩ·þÎñºÍÉèÊ©ÔÚ CORBA »·¾³Ö®Íâ¼ÈûÓеõ½ËüÃÇÓ¦µÃµÄÈϿɣ¬Ò²Ã»Óеõ½¹ã·ºµÄʵÏÖºÍʹÓã¬ÓÈÆäÊÇ¿¼Âǵ½ËüÃǵĵײãÄ£Ð͵ÄÖÊÁ¿¡£°ÑÒþº¬µÄÄ£ÐÍÀ©Õ¹µ½
CORBA ÍâÏÔÈ»ÊǺÏÀíµÄ¡£ÀýÈ磬OMG ÒѾʹÓà Java¡¢EJB ÒÔ¼° CORBA ʵÏÖÁË¡°Ò½ÁƱ£½¡×ÊÔ´·ÃÎʾö²ßÉèÊ©£¨The
Healthcare Resource Access Decision Facility£©¡±¡£»¹Óиü¶àµÄÕýÔÚ½øÐÐÖ®ÖУ¬Èçͼ
1 Ëùʾ¡£
»ù±¾ÉÏÿ¸ö DTF ¶¼»á²úÉúËùÊôÓ¦ÓóÌÐò¿Õ¼äÖÐÓÃÓÚ±ê×¼ÉèÊ©µÄ±ê×¼¿ò¼Ü¡£ÆäÖаüÀ¨¹æ·¶µÄ¡¢Æ½Ì¨¶ÀÁ¢µÄ UML
Ä£ÐÍ£¬²¢¸½ÓзÇÕýʽµÄ¡¢Ìض¨ÓÚÆ½Ì¨µÄ UML Ä£ÐÍÒÔ¼°ÖÁÉÙÒ»ÖÖÄ¿±êƽ̨µÄ½Ó¿Ú¶¨Òå¡£MDA µÄ¹«¹²»ù´¡Ò²»á´Ù½ø²¿·Ö´úÂëµÄÉú³ÉºÍʵÏÖ£¬µ±È»ÕâЩ´úÂë²»ÊDZê×¼»¯µÄ¡£
±È·½Ëµ£¬¶ÔÓÚÖÆÔìÒµ£¬DTF ¿ÉÒÔΪ CAD/CAM »¥²Ù×÷ÐÔ¡¢PDM£¨Product Data Management£¬²úÆ·Êý¾Ý¹ÜÀí£©ºÍ¹©Ó¦Á´¼¯³É£¨Èçͼ
2 Ëùʾ£©Éú³É¹æ·¶µÄ MDA UML Ä£ÐÍ¡¢IDL ½Ó¿Ú¡¢Java ½Ó¿Ú¡¢XML DTD µÈµÈ¡£Ò»µ©ÕâЩģÐÍÍê³É²¢±»²ÉÓã¬ËüÃǵÄʵÏÖ¿ÉÒÔÔÚÈκÎ
MDA Ö§³ÖµÄÖмä¼þƽ̨Éϲ¿·Ö×Ô¶¯»¯¡£

ͼ 2£º ÖÆÔìÒµ»ùÓÚ UML µÄÄ£ÐÍ¿ò¼Ü
¸ÃÀýÖеÄÈýÖÖÉèÊ©£º CAD/CAM¡¢PDM ºÍ¹©Ó¦Á´¶¼½«´ÓÖ»ÓÐ MDA ²ÅÄÜÌṩµÄ»¥²Ù×÷ÐÔÖÐÊÜÒæ¡£ÒòΪ
CAD/CAM ºÍ PDM Ó¦ÓóÌÐò½ôÃܵؽáºÏÔÚÒ»Æð£¬ºÜ¿ÉÄÜÓɵ¥¸öÆóÒµ»òºÍÈí¼þ¹©Ó¦ÉÌʵÏÖ£¬±È·½Ëµ£¬CORBA
»òÕß EJB¡£¶ø¹©Ó¦Á´¼¯³É¸ü×¢ÖØÓÚÆóÒµ¼äµÄ¹¦ÄÜ£¬Òò´ËÎÒÃÇ¿ÉÄÜÆÚÍûÒ»ÖÖ»ùÓÚ XML/SOAP µÄʵÏÖÄܹ»µÃµ½ÆÕ±éÈϿɣ¬ËüÊܵ½ÐÐÒµÊг¡¾ö²ßÕß»òÉÌÒµ×éÖ¯µÄÖ§³Ö¡£È»¶øÕâÈýÕßÖ®¼äµÄ»¥²Ù×÷ÊǸù±¾ÐԵģºCAD/CAM
Éè¼ÆÌṩÇý¶¯¹©Ó¦Á´µÄ PDM ²úÆ·ÉèÊ©£¬¶ø¹©Ó¦Á´ÓÖ·´¹ýÀ´ÒýÓà CAD/CAM ÖÐÌØ¶¨µÄ²¿¼þ¡£Èç¹ûÕâÈý·½ÃæµÄ¹¦Äܶ¼´Ó
MDA ÖÐµÄ UML Ä£Ðͳö·¢£¬ÎÒÃÇ×îÖÕ¿ÉÒÔΪ¸÷×ÔÑ¡ÔñµÄƽ̨Éú³É´ó²¿·ÖʵÏÖ£¬ÒÔ¼°ÕûºÏÕâÈýÖÖÉèʩ֮¼äµÄÇÅÁº¡£
°üÀ¨ÆÕ¼°·þÎñ
ÆóÒµ¡¢Internet ºÍǶÈëʽ¼ÆËãÒÀÀµÓÚÒ»×é»ù±¾·þÎñ¡£ÕâЩ·þÎñÔÚÒ»¶¨³Ì¶ÈÉÏÈ¡¾öÓÚ×ÊÔ´£¬µ«Í¨³£°üÀ¨Ä¿Â¼·þÎñ¡¢Ê¼þ´¦Àí¡¢³Ö¾ÃÐÔ¡¢ÊÂÎïºÍ°²È«¡£´ËÍ⣬¼ÆËãϵͳ»òÓ¦ÓóÌÐòÔÚÓ²¼þ»òÈí¼þÉÏ¿ÉÄܾßÓÐרÓÃÊôÐÔ£¬±ÈÈç¿ÉÉìËõÐÔ¡¢ÊµÊ±ÐÔ¡¢ÈÝ´íÐÔ£¬»òÕßÉè¼Æ³ÉÊÊÓ¦ÊÜÏÞÖÆµÄ£¨Ç¶Èëʽ£©»·¾³¡£
ÔÚÌØ¶¨Æ½Ì¨É϶¨ÒåºÍ½¨Á¢ÕâЩ·þÎñʱ£¬ËüÃDZØÈ»´øÓн«ÆäÊø¸¿ÔÚ¸ÃÆ½Ì¨ÉϵÄÌØÕ÷£¬»òÕß±£Ö¤ËüÃÇÔÚ¸ÃÆ½Ì¨ÉϹ¤×÷×î¼ÑµÄÌØÕ÷¡£ÎªÁ˱ÜÃâÕâÖÖÇé¿ö£¬OMG
ÔÚ UML µÄƽ̨¶ÀÁ¢Ä£ÐͲãÉ϶¨ÒåÁËÆÕ¼°·þÎñ£¨Pervasive Services£©¡£Ö»ÓÐÔÚÈ·¶¨ÁË·þÎñµÄÌØÕ÷»òÕßÌåϵ½á¹¹Ö®ºó£¬²ÅÄܹ»Îª
MDA Ö§³ÖµÄËùÓÐÖмä¼þƽ̨Éú³ÉÌØ¶¨ÓÚÆ½Ì¨µÄ¶¨Òå¡£
ÔÚÆ½Ì¨¶ÀÁ¢ÒµÎñ×é¼þÄ£Ð͵ijéÏó²ãÖУ¬·þÎñÔڷdz£¸ßµÄ²ã´ÎÉϽøÐÐÃèÊö£¨ÀàËÆÓÚ×é¼þ¿ª·¢ÕßÔÚ CCM »ò EJB
ÖеÄÊÓͼ£©¡£µ±Ä£ÐÍÓ³Éäµ½ÌØ¶¨Æ½Ì¨Ê±£¬¿ª·¢ÈËÔ±½«Ê¹ÓÃËùÑ¡µÄ¿ª·¢¹¤¾ßÀ´Éú³Éµ÷ÓÃ¸ÃÆ½Ì¨Éϱ¾µØ·þÎñµÄ´úÂ루»òÕß¶¯Ì¬µ÷ÓÃËü£©¡£ÆÕ¼°·þÎñ½ö¶Ôµ×²ãÓ¦ÓóÌÐò¿É¼û£¬¼´ÄÇЩֱ½ÓΪ·þÎñ±àдµÄÓ¦ÓóÌÐò¡£
Ó²¼þºÍÈí¼þÊôÐÔ£¨Èç¿ÉÉìËõÐÔ¡¢ÊµÊ±ÐÔ¡¢ÈÝ´íÐÔ»òÕßǶÈëÊ½ÌØÕ÷£©Ò²Òª½øÐн¨Ä£¡£Í¨¹ý¶¨ÒåÕâЩÊôÐ﵀ UML ±íʾ£¬»òÕß¶¨Òå°ÑÊôÐÔÓëÆóÒµ¼ÆËã½áºÏÆðÀ´µÄ»·¾³ÈÝ´íÐÔÇé¿ö£¬OMG
½«¶Ô MDA ½øÐÐÀ©Õ¹£¬ÒÔ±ãÖ§³ÖºÍ¼¯³É´øÓÐÕâЩÆÚÍûÌØÕ÷µÄÓ¦ÓóÌÐò¡£

ͼ 3: MDAÖ§³ÖÆÕ¼°·þÎñºÍרÃżÆËã»·¾³
ͼ 3 ÖÐÇ¿µ÷ÁËÆÕ¼°·þÎñ¿ÉÓÃÓÚÈκλ·¾³ÖеÄÈκÎÓ¦ÓóÌÐò¡£ÕæÕýµÄ¼¯³ÉÐèÒªÒ»ÖÖĿ¼·þÎñ¡¢Ê¼þºÍÐźţ¬ÒÔ¼°°²È«ÐԵĹ«¹²Ä£ÐÍ¡£Í¨¹ý³ÎÇåÕâЩ·þÎñ¿ÉÒÔÔÚ²»Í¬»·¾³ÖÐʵÏÖ²¢ÇÒºÜÈÝÒ×¼¯³É£¬MDA
´ú±íÁËÎÒÃǵÄͨÓü¯³ÉÄ¿±ê£º³ÉΪһÖÖÈ«ÇòÐÔÐÅÏ¢ÉèÊ©¡£
À´×Ô OMG µÄÑûÇë
ËäÈ» MDA µÄ´ó²¿·Ö»ù´¡ÉèÊ©ÒѾ¾ÍÐ÷»òÕßÕýÔÚ¹¹ÔìÖ®ÖУ¬µ«»¹ÓкܶàµÄ¹¤×÷Òª×ö¡£Èç¹ûÄúµÄ¹«Ë¾´Óʽ¨Ä£»òÕß»ù´¡ÉèÊ©²ãµÄ¹¤×÷£¬Äú¿ÉÒÔ¾Í
MDA µÄ¶¨Òå·¢±íÒâ¼û¡£UML 2.0ÒѾ·¢³öÁËÇëÇó½¨Ò飨Requests for Proposals£¬RFP£©£¬³ýÁË×îÔçµÄÒ»ÅúÍ⣬ËùÓÐÒµÎñ¶ÔÏ󼯻®£¨Business
Objects Initiative£¬BOI£©×é¼þ¶¼»¹´¦ÓÚ OMG ²ÉÓùý³ÌµÄ³ÉÐͽ׶Ρ£ÔÚ¸÷ÖÖÖмä¼þ»·¾³µÄÓ³ÉäÖУ¬Ö»Óе½
CORBA µÄÓ³ÉäÕýÔÚ½øÐÐÖ®ÖУ¬ÆäËû»¹Ö»ÊÇ¿ÉÄÜµÄ RFP¡£ÆÕ¼°·þÎñµÄ UML Ä£ÐÍ»¹Ã»Óй¹Ôì»ò²ÉÄÉ¡£
DTF ¶¨ÒåµÄÓ¦ÓóÌÐòÄ£Ðͽ«×÷ΪʵÏÖ´Ó CORBA À©Õ¹µ½Ã¿ÖÖÖмä¼þ»·¾³µÄ»ù´¡¡£ÎÞÂÛÄúµÄ¹«Ë¾ÊÇÁìÓò²ãÓ¦ÓóÌÐòµÄÌṩÕß»¹ÊÇÓû§£¬ÏÖÔÚ¶¼ÊDzÎÓëÕâÀà³ÌÐò±ê×¼»¯µÄºÃʱ»ú¡£×÷ΪÌṩÕߣ¬Äú¿ÉÒÔ³ä·Ö·¢»Ó¶ÔδÀ´±ê×¼µÄÓ°Ï죬±»¿´×÷ÊÇÖØÒª²ÎÓëÕß¡£×÷ΪÓû§£¬Äú¿ÉÒ԰ѹ«Ë¾µÄÐèÇóÕûºÏµ½
RFP ÖУ¬ÕâЩ RFP ½«¶¨Òåеıê×¼£¬²¢Ó°ÏìÄú×îÖÕ½«Ê¹ÓõÄÄ£Ðͺͱê×¼¡£Äú½«»á·Ç³£¸ßÐËÓëÐÐÒµÖÐ×îÓÅÐã¡¢×îî£ÖǵÄÈ˹²Í¬¿ª·¢ÄúÑ¡ÔñµÄÌåϵ½á¹¹¡£Ö»ÓÐÒ»¸öÌõ¼þ£ºÎªÁËÈ·±£
OMG ±ê×¼Äܹ»Ó¦ÓÃÓÚÊг¡£¬ËùÌá½»½¨Òé±» OMG ³ÉÔ±²ÉÄÉΪ±ê×¼µÄ¹«Ë¾±ØÐëͬÒâ¸Ã¹æ·¶µÄʵÏÖ¿ÉÔÚÊг¡ÉÏÏúÊÛ»òÕß½øÐÐÉÌÒµÓ¦Óá£
ÀûÓà MDA£¬OMG ¼ÌÐøÑ°ÇóÒ칹ϵͳ¼äËùÓвã´ÎÉϵļ¯³ÉºÍ»¥²Ù×÷ÐÔ¡£ÎÒÃǵĵÚÒ»¸öÄ¿±ê¡ª¡ªÍ¨¹ýÒýÈë·Ö²¼Ê½¶ÔÏóÄ£ÐÍÀ´Ö§³Ö¼¯³É¡ª¡ªÒѾʵÏÖÁË¡£µ±½ñ£¬¶ÔÏóÒѳÉΪÿ¸ö¹©Ó¦É̵ÄÖ§³ÖÌåϵ½á¹¹ºÍËùÓеç×ÓÉÌÎñµÄºËÐÄ¡£µ«ÊÇÎÒÃǵÉÈÎÎñ»¹Ã»ÓÐÍê³É£»ÏÖÔÚ£¬ÎÒÃDZØÐë´ÓÒÔÖмä¼þΪÖÐÐĵÄ×éÖ¯Ñݱä³ÉÒÔ½¨Ä£ÎªÖÐÐĵÄ×éÖ¯¡£
µ±È»£¬Õâ²¢²»Òâζ×ÅÎÒÃÇÒªÅׯú CORBA¡£CORBA ÊÇÕâÖÖÐÂÌåϵ½á¹¹µÄ»ù´¡¡£×÷ΪΨһµÄ¶ÀÁ¢ÓÚ¹©Ó¦É̺ÍÓïÑÔµÄÖмä¼þ£¬ËüÊÇ
MDA Éϲã½á¹¹±Ø²»¿ÉÉÙµÄÖØÒª×é³É²¿·Ö£¬Ã»ÓÐËü¾ÍºÜÄѽ¨Á¢Èí¼þÖ®¼äµÄÇÅÁº¡£µ«ÊÇ£¬ÎªÁ˸³ÓÚÕâÖÖÉϲã½á¹¹×î´óµÄÁé»îÐÔ£¬ÔÚ¸ü¸ßÒ»²ãÉÏʵÏÖÖØÓã¬ÎÒÃDZØÐ뿼ÂÇÍêÈ«°´ÕÕ½¨Ä£µÄ¸ÅÄî±í´ïÕâÖÖÌåϵ½á¹¹¡£
ÕâÖÖÐÂÌåϵ½á¹¹µÄÁíÒ»×é³É²¿·Ö¸ü¹Ø×¢Ò»ÖÂÐÔ²âÊÔ¡¢³ÌÐòÔ±ÈÏÖ¤ºÍ²úÆ·ÈÏÖ¤£¨ÆÀ¹À£©¡£ÕâÒ»·½ÃæÎÒÃǽ«ÀûÓà Analysis
and Design Task Force£¨·ÖÎöºÍÉè¼ÆÈÎÎñ×飩ĿǰµÄ³É¹û£¬¸Ã×éÖ¯Ôø¾¸ºÔð²âÊÔºÍÆÀ¹ÀÓë UML¡¢MOF¡¢XMI
ºÍ CWM ÓйصÄÏîÄ¿£¬Ä¿Ç°ÕýÖÂÁ¦ÓÚÆóÒµÓ¦Óü¯³É£¨Enterprise Application Integration£¬EAI£©µÄ
BOI ºÍ UML ±íʾ¡£µ±È»£¬×îÖÕÎÒÃÇÔÚÕâЩÁìÓòµÄ³É¹¦½«È¡¾öÓÚÓë¾ßÓÐÏà¹Ø×¨ÒµÖªÊ¶µÄÍⲿ×éÖ¯µÄÃÜÇÐÁªÏµ¡£
1 OMG ³ÆÕâЩģÐÍΪ UML profile£¨¸ÅÒªÎļþ£©£¬ÆäÖкܶà¸ÅÒªÎļþÒѾÖð½¥³ÉΪ±ê×¼¡£
2 ´Ó¼¼ÊõÉϽ²ËüÊÇÀà±ðµÄԪģÐÍ¡£ |