±à¼ÍƼö: |
±¾ÎÄÀ´×ÔÓÚcsdn£¬ÎÄÕ½éÉÜÁËORB
½Ó¿ÚµÄ½á¹¹£¬¶ÔÏóµÄʵÏÖ½ÓÊÜÇëÇ󣬽ӿںÍʵÏÖÐÅÏ¢ÈçºÎÈÿͻ§ºÍ¶ÔÏóʵÏÖ·ÃÎʵÈÏà¹ØÄÚÈÝ¡£ |
|
¹«ÓöÔÏóÇëÇó´úÀí£¨µ÷¶È£©³ÌÐòÌåϵ½á¹¹£¨Common Object Request
Broker Architecture£©£¬ËõдΪ CORBA£¬ÊǶÔÏó¹ÜÀí×éÖ¯£¨Object Management
Group£©¶ÔÓ¦µ±½ñ¿ìËÙÔö³¤µÄÈíÓ²¼þµÄÐͬ¹¤×÷ÄÜÁ¦µÄÒªÇó¶øÌá³öµÄ·½°¸¡£¼ò¶øÑÔÖ®£¬CORBA ÔÊÐíÓ¦ÓóÌÐòºÍÆäËûµÄÓ¦ÓóÌÐòͨѶ£¬¶ø²»ÂÛËûÃÇÔÚʲôµØ·½»òÕßÓÉËÀ´Éè¼Æ¡£CORBA
1.1 ÓɶÔÏó¹ÜÀí×éÖ¯ÔÚ 1991 Äê·¢²¼¡£Ëû¶¨ÒåÁ˽ӿڶ¨ÒåÓïÑÔ£¨IDL£©ºÍÓ¦Óñà³Ì½Ó¿Ú£¨API£©£¬´Ó¶øÍ¨¹ýʵÏÖ¶ÔÏóÇëÇó´úÀí£¨ORB£©À´¼¤»î¿Í»§/·þÎñÆ÷µÄ½»»¥¡£CORBA
2.0 ÓÚ 1994 ÄêµÄ 12 Ô·¢²¼¡£Ëû¶¨ÒåÁËÈçºÎ¿çÔ½²»Í¬µÄ ORB ÌṩÕß¶ø½øÐÐͨѶ¡£
ORB ÊÇÒ»¸öÖмä¼þ£¬ËûÔÚ¶ÔÏó¼ä½¨Á¢¿Í»§-·þÎñÆ÷µÄ¹ØÏµ¡£Í¨¹ý ORB£¬Ò»¸ö¿Í»§¿ÉÒԺܼòµ¥µØÊ¹Ó÷þÎñÆ÷¶ÔÏóµÄ·½·¨¶ø²»ÂÛ·þÎñÆ÷ÊÇÔÚͬһ»úÆ÷ÉÏ»¹ÊÇͨ¹ýÒ»¸öÍøÂç·ÃÎÊ¡£ORB
½Ø»ñµ÷ÓÃÈ»ºó¸ºÔðÕÒµ½Ò»¸ö¶ÔÏóʵÏÖÕâ¸öÇëÇ󣬴«µÝ²ÎÊýºÍ·½·¨£¬×îºó·µ»Ø½á¹û¡£¿Í»§²»ÓÃÖªµÀ¶ÔÏóÔÚÄÄÀÊÇʲôÓïÑÔʵÏֵģ¬ËûµÄ²Ù×÷ϵͳÒÔ¼°ÆäËûºÍ¶ÔÏó½Ó¿ÚÎ޹صĶ«Î÷¡£
ÔÚ´«Í³µÄ¿Í»§/·þÎñÆ÷³ÌÐòÖУ¬¿ª·¢ÕßʹÓÃËûÃÇ×Ô¼ºÉè¼ÆµÄ»òÕß¹«Èϵıê×¼¶¨ÒåÉ豸֮¼äµÄÐÒé¡£ÐÒéµÄ¶¨ÒåÒÀÀµÓÚʵÏÖµÄÓïÑÔ£¬ÍøÂçµÄ´«ÊäºÍÆäËûÐíÐí¶à¶àÒòËØ¡£ORB
½«Õâ¸ö¹ý³Ì¼òµ¥»¯¡£Ê¹Óà ORB£¬ÐÒ鶨ÒåÊÇͨ¹ýÓ¦Óýӿڣ¬¶ø¸Ã½Ó¿ÚÊǽӿڶ¨ÒåÓïÑÔ£¨IDL£©µÄÒ»¸öʵÏÖ£¬ËûºÍʹÓõıà³ÌÓïÑÔÎ޹صġ£²¢ÇÒ
ORB ÌṩÁ˺ܴóµÄÁé»îÐÔ¡£ËûÈóÌÐòԱѡÔñ×îÊʵ±µÄ²Ù×÷ϵͳ£¬ÔËÐл·¾³ºÍÉè¼ÆÓïÑÔÀ´½¨ÉèϵͳÖÐÿ¸ö×é¼þ¡£¸üÖØÒªµÄÊÇ£¬ËûÔÊÐí¼¯³ÉÒѾ´æÔÚµÄ×é¼þ¡£
CORBA ÊÇÔÚÃæÏò¶ÔÏó±ê×¼»¯ºÍ»¥²Ù×÷ÐÔµÀ·ÉϵÄÒ»¸öÐźš£Í¨¹ý CORBA£¬Óû§²»±ØÒªÖªµÀÈíÓ²¼þµÄƽ̨ºÍËûÃÇ´¦ÔÚÆóÒµÍøµÄʲôµØ·½¾Í¿ÉÒÔ²Ù×÷¡£
ORB ½á¹¹
ÏÂÃæÎÒÀ´ÓÃЩͼÐÎ˵Ã÷һϣº
ͨ¹ý ORB ·¢ËÍÇëÇó

ÉÏÃæµÄͼÐÎ˵Ã÷µÄÊǿͻ§¶Ë·¢ËÍÒ»¸öÇëÇóµ½¶ÔÏóµÄʵÏÖ¡£¿Í»§¶ËÊÇÏ£Íû¶Ôij¶ÔÏóÖ´ÐвÙ×÷µÄʵÌå¡£¶ÔÏóµÄʵÏÖÊÇһƬ´úÂëºÍÊý¾ÝÀ´Êµ¼ÊʵÏÖ¶ÔÏó¡£ORB
¸ºÔðÏÂÃæµÄ±ØÒªµÄ»úÖÆ£º¶Ô¸ÃÇëÇóÕÒµ½¶ÔÏóµÄʵÏÖ£¬ÈöÔÏóµÄʵÏÖ×¼±¸ºÃ½ÓÊÜÇëÇ󣬺ÍÇëÇó½»»»Êý¾Ý¡£¿Í»§¶ËµÄ½Ó¿ÚÍêÈ«¶ÀÁ¢ÓÚ¶ÔÏóµÄλÖã¬ÆäʵÏÖµÄÓïÑÔºÍÆäËû²»Ó°Ïì¶ÔÏó½Ó¿ÚµÄ¶«Î÷¡£
ORB ½Ó¿ÚµÄ½á¹¹

ÉÏÃæµÄͼÐÎÏÔʾµÄÊÇÒ»¸ö¶ÀÁ¢µÄ¶ÔÏóÇëÇó´úÀí£¨ORB£©µÄ½á¹¹¡£ORB µÄ½Ó¿ÚÊÇ»ÒÉ«µÄ¾ØÐΡ£¼ýͷ˵Ã÷
ORB µÄµ÷ÓùØÏµ¡£
ΪÁËÌá³öÒ»¸öÇëÇ󣬿ͻ§¶Ë¿ÉÒÔʹÓö¯Ì¬µ÷Óýӿڣ¨Dynamic Invocation Interface£©£¨ºÍÄ¿±ê¶ÔÏóµÄ½Ó¿Ú¶ÀÁ¢£©»òÕßÒ»¸ö
OMG µÄ IDL ռλ³ÌÐò£¨¾ßÌåµÄռλ³ÌÐòÒÀÀµÓÚÄ¿±ê¶ÔÏóµÄ½Ó¿Ú£©¡£¿Í»§¶ËÒ²¿ÉÒÔÖ±½ÓºÍ ORB ÔÚijЩµØ·½½»»¥¡£
¶ÔÏóµÄʵÏÖͨ¹ý OMG µÄ IDL ²úÉúµÄ¹Ç¼Ü»òÕßÊÇÒ»¸ö¶¯Ì¬¹Ç¼ÜµÄµ÷ÓÃÀ´½ÓÊÜÇëÇó¡£¶ÔÏóµÄʵÏÖ¿ÉÄÜÔÚ´¦ÀíÇëÇó»òÆäËûµÄʱºòµ÷ÓÃ
ORB¡£
¶ÔÏó½Ó¿Ú¶¨ÒåµÄ¶¨Òå¿ÉÒÔÓÐÏÂÃæÁ½ÖÖ·½Ê½¡£½Ó¿Ú¿ÉÒÔͨ¹ý½Ó¿Ú¶¨ÒåÓïÑÔ¾²Ì¬µÄ¶¨Ò壬Õâ½Ð×ö OMG µÄ IDL¡£¸ÃÓïÑÔ°´ÕÕ¿ÉÒÔ½øÐеIJÙ×÷ºÍ¸Ã²Ù×÷µÄ²ÎÊý¶¨Òå¶ÔÏóÀàÐÍ¡£»òÕߣ¨Ò²¿ÉÒÔ×÷Ϊ²¹³ä£©£¬½Ó¿Ú¿ÉÒÔ¼ÓÈëµ½
Interface Repository service¡£¸Ã·þÎñÃèÊöÁ˸ýӿÚ×÷Ϊһ¸ö¶ÔÏóµÄ×é¼þ£¬²¢ÔÊÐíÔËÐÐʱ·ÃÎÊÕâЩ×é¼þ¡£ÔÚÈκÎ
ORB ʵÏÖÖУ¬IDL ºÍ Interface Repository ÓÐÏàͬµÄ±í´ïÄÜÁ¦¡£
¿Í»§¶ËʹÓÃռλ³ÌÐò»òÕß¶¯Ì¬µ÷ÓýӿÚ

¿Í»§¶Ëͨ¹ý·ÃÎʶÔÏóµÄ¶ÔÏóÒýÓúÍÁ˽â¶ÔÏóµÄÀàÐͼ°ÒªÇóÖ´ÐеIJÙ×÷À´·¢²¼Ò»¸öÇëÇ󡣿ͻ§µ÷ÓÃռλ³ÌÐòÀý³ÌÀ´ÇëÇó»òÕß¶¯Ì¬¹¹ÔìÇëÇó¡£
ÎÞÂÛ¶¯Ì¬»¹ÊÇռλ³ÌÐòµÄ½Ó¿Ú¶¼¿ÉÒÔÏàͬʵÏÖ¡£½ÓÊÕ·½²»¿ÉÄÜÖªµÀÇëÇóÊÇÈçºÎ·¢²¼µÄ¡£
¶ÔÏóµÄʵÏÖ½ÓÊÜÇëÇó

ORB Ïò¶ÔÏóʵÏÖ¶¨Î»Êʵ±µÄ´úÂ룬´«µÝ²ÎÊý£¬´«Êä¿ØÖÆ¡£ÕâÒ»Çж¼Í¨¹ý IDL ¹Ç¼Ü»òÕß¶¯Ì¬¹Ç¼Ü¡£¹Ç¼Ü¶ÔÓÚ²»Í¬µÄ½Ó¿ÚºÍ¶ÔÏóÊÊÅäÆ÷ÊDz»Í¬µÄ¡£ÔÚÖ´ÐиÃÇëÇóµÄʱºò£¬¶ÔÏóµÄʵÏÖ¿ÉÄÜÓÉ
ORB ͨ¹ý¶ÔÏóÊÊÅäÆ÷À´»ñµÃÒ»¶¨µÄ·þÎñ¡£µ±ÇëÇóÍê³É£¬¿ØÖƺÍÊä³öÖµ·µ»Ø¸ø¿Í»§¡£
¶ÔÏóµÄʵÏÖ¿ÉÄÜ»áÑ¡ÔñʹÓõĶÔÏóÊÊÅäÆ÷¡£¸Ã¾ö¶¨»ùÓÚ¶ÔÏóµÄʵÏÖÒªÇóµÄ·þÎñ¡£
½Ó¿ÚºÍ Implementation Repositories

ÉÏͼ˵Ã÷µÄÊǽӿںÍʵÏÖÐÅÏ¢ÈçºÎÈÿͻ§ºÍ¶ÔÏóʵÏÖ·ÃÎʵġ£½Ó¿ÚÓà OMG µÄ IDL ºÍ/»ò Interface
Repository ¶¨Òå¡£¸Ã¶¨ÒåÓÃÓÚ²úÉú¿Í»§Õ¼Î»³ÌÐòºÍ¶ÔÏóµÄʵÏֵĹǼܡ£
¶ÔÏóµÄʵÏÖµÄÐÅÏ¢ÔÚ°²×°Ê±¾ÍÌṩºÃÁË£¬´¢´æÔÚ Implementation Repository
ÖÐÒÔ±ãÇëÇó·¢²¼µÄʱºòʹÓá£
|