Äú¿ÉÒÔ¾èÖú£¬Ö§³ÖÎÒÃǵĹ«ÒæÊÂÒµ¡£

1Ôª 10Ôª 50Ôª





ÈÏÖ¤Â룺  ÑéÖ¤Âë,¿´²»Çå³þ?Çëµã»÷Ë¢ÐÂÑéÖ¤Âë ±ØÌî



  ÇóÖª ÎÄÕ ÎÄ¿â Lib ÊÓÆµ iPerson ¿Î³Ì ÈÏÖ¤ ×Éѯ ¹¤¾ß ½²×ù Model Center   Code  
»áÔ±   
   
 
     
   
 ¶©ÔÄ
  ¾èÖú
ÁªºÏµç×Ó£ºÃæÏò·þÎñ¼Ü¹¹£¨SOA£©µÄÆû³µÈí¼þÈý²¿Çú
 
 
  9947  次浏览      31
 2021-6-3 
 
±à¼­ÍƼö:
±¾ÎÄÌÖÂÛSOAÆû³µÈí¼þµÄ¿ª·¢·½·¨£¬²¢¸¶Öîʵ¼ù£ºµÚÒ»²¿·ÖÌá³öÒ»ÖÖSOAÆû³µÈí¼þ·Ö²ãÄ£ÐÍ£»µÚ¶þ²¿·Ö»ùÓÚ·Ö²ãÄ£ÐÍ£¬½éÉÜÁ½ÖÖSOAÆû³µÈí¼þ¿ª·¢·½·¨¡£
±¾ÎÄÀ´×ÔÓÚÁªºÏµç×Ó£¬ÓÉ»ðÁú¹ûÈí¼þAnna±à¼­¡¢ÍƼö¡£

Ëæ×ÅÆû³µÖÇÄÜ»¯¡¢ÍøÁª»¯¡¢¹²Ïí»¯µÄÇ÷ÊÆ£¬ÖÕ¶ËÓû§¶Ô³µÁ¾¹¦ÄܵÄÔ¤ÆÚÒ²ÇÄÈ»·¢Éúןı䣬Æû³µÔÚʵÏָߵȼ¶×Ô¶¯¼ÝÊ»/¸¨Öú¼ÝÊ»¹¦ÄܵÄͬʱ£¬Ò²¸üÇ÷ÏòÓÚÌáÉýÓû§ÌåÑ飬ÀýÈçÂú×ã¿ìËٵŦÄܸüкÍÉý¼¶£¬¿ÉÒÔÌṩ¸öÐÔ»¯¡¢ÈËÐÔ»¯¡¢²îÒ컯µÄ¹¦ÄÜÓë·þÎñµÈ¡£

ÃæÏò·þÎñµÄÈí¼þ¼Ü¹¹(Service-Oriented Architecture)ÕýΪδÀ´µÄ³µÁ¾Èí¼þ·þÎñÌṩÁ¼ºÃµÄ½â¾ö·½°¸¡£²»Í¬ÓÚ´«Í³Æû³µµç×ÓµçÆø¼Ü¹¹ÖÐÃæÏòÐźŵļܹ¹£¬ÃæÏò·þÎñµÄÈí¼þ¼Ü¹¹(SOA)ͨ¹ý±ê×¼»¯µÄ·þÎñ½Ó¿Ú£¬ËÉñîºÏµÄ·þÎñ»úÖÆÒÔ¼°¿É×éºÏÀ©Õ¹µÄ·þÎñÌØÐÔ£¬½áºÏδÀ´ÒÔ¸ßÐÔÄܼÆËãÆ½Ì¨¡ª¡ªÓò¿ØÖÆÆ÷¡ª¡ªÎªºËÐĵļ¯Öл¯µç×ÓµçÆø¼Ü¹¹£¬½«³ÉΪδÀ´Æû³µÁìÓò¡°Èí¼þÇý¶¯´´Ð¡±µÄ¼¼Êõ»ù´¡¡£

µÚÒ»²¿£ºÃæÏò·þÎñ¼Ü¹¹(SOA)µÄÆû³µÈí¼þ¼°Æä¿ª·¢·½·¨

Ò». ΪʲôҪÒýÈëSOAÆû³µÈí¼þ?

SOAÊÇÒ»ÖÖÈí¼þ¼Ü¹¹£¬Í¬Ê±Ò²ÊÇÒ»ÖÖÈí¼þÉè¼Æ·½·¨ºÍÀíÄÔÚITÁìÓòÒÑÓÐÊýÊ®ÄêµÄÓ¦Óþ­Ñé¡£SOA¾ß±¸¡±ËÉñîºÏ¡±¡¢¡±½Ó¿Ú±ê×¼¿É·ÃÎÊ¡±ºÍ¡±Ò×ÓÚÀ©Õ¹¡±µÈÌØµã£¬Ê¹µÃ¿ª·¢ÈËÔ±ÄÜÒÔ×îСµÄÈí¼þ±ä¸üÓ¦¶Ôµü´ú¶à±äµÄ¿Í»§ÐèÇó¡£

ÔÚÖÇÄÜÍøÁªÆû³µÖУ¬´óÁ¿µÄ¹¦ÄÜÐèÒª¿ØÖÆÆ÷£¨ECU£©¼äµÄЭµ÷¹¤×÷À´ÊµÏÖ£¬µ±Ç°ECU ¼ä»ùÓÚÐźÅ(Signal-Oriented)µÄµã¶ÔµãͨѶ½«»á±äµÃÒì³£¸´ÔÓ£¬ÇÒ²»¾ß±¸Áé»îÐÔºÍÀ©Õ¹ÐÔ£¬Î¢Ð¡µÄ¹¦Äܸ͝¶¼»áÒýÆðÕû³µÍ¨Ñ¶¾ØÕóµÄ¸Ä¶¯(ͼ1)¡£

Òò´Ë£¬ÁªºÏµç×Ó½«SOAÒýÈëµ½µ±Ç°Æû³µÈí¼þÉè¼ÆÖÐ(ͼ2)£¬³µÁ¾¹¦Äܱ»ÒÔÃæÏò·þÎñµÄÉè¼ÆÀíÄî¼Ü¹¹Îª²»Í¬µÄ·þÎñ×é¼þ£¬ÓбðÓÚÃæÏòÐźŵĴ«Í³¼Ü¹¹£¬SOAÖеÄÿ¸ö·þÎñ¶¼¾ßÓÐΨһÇÒ¶ÀÁ¢»¥²»Ó°ÏìµÄÉí·Ý±êʶ(ID)£¬²¢Í¨¹ý·þÎñÖмä¼þ(Service Middleware)Íê³É×ÔÉíµÄ·¢²¼£¬¶ÔÆäËû·þÎñµÄ¶©ÔÄÒÔ¼°ÓëÆäËû·þÎñµÄͨѶ¹¤×÷¡£ÓÉ´Ë£¬SOAÁ¼ºÃµÄ½â¾öÁË´«Í³¼Ü¹¹ÖÐÒò¸ö±ð¹¦ÄÜÔö¼õ/±ä¸ü¶øµ¼ÖÂÕû¸öͨѶ¾ØÕóÓë·ÓɾØÕó¶¼Òª±ä¸üµÄÎÊÌâ¡£¸ü½øÒ»²½£¬ÓÉÓÚÆä¡±½Ó¿Ú±ê×¼¿É·ÃÎÊ¡±µÄÌØÐÔ£¬·þÎñ×é¼þµÄ²¿Êð²»ÔÙÒÀÀµÓÚ¾ßÌåÌØ¶¨µÄ²Ù×÷ϵͳºÍ±à³ÌÓïÑÔ£¬ÔÚÒ»¶¨³Ì¶ÈÉÏʵÏÖÁË×é¼þµÄ¡±ÈíÓ²·ÖÀ롱¡£

ͼ1 ÃæÏòÐźŵļܹ¹(Signal-Oriented Architecture)

ͼ2 ÃæÏò·þÎñµÄ¼Ü¹¹(Service-Oriented Architecture)

¶þ. ÈçºÎÓÐЧµÄ¿ª·¢SOAÆû³µÈí¼þ£¿

¶ÔÓÚÆû³µÐÐÒµ¶øÑÔ£¬SOAÊÇÒ»Ì×ÐÂÒýÈëµÄ¼¼Êõ£¬ÐèÒªÒ»Ì×ÓÐЧµÄÁ÷³Ì¡¢·½·¨ºÍ¹¤¾ß£¬ÓÃÒÔ½â¾öÈçÏÂÈý¸öÎÊÌ⣺1) ÈçºÎ·ÖÎöºÍÉè¼Æ·þÎñ¼Ü¹¹£¬2) ÈçºÎ½¨Ä£ºÍ¼Ç¼·þÎñ¼Ü¹¹£¬3)ÈçºÎ²¿ÊðºÍʵÏÖÃæÏò·þÎñµÄÈí¼þ¡£

1) ÈçºÎ·ÖÎöºÍÉè¼ÆÃæÏò·þÎñµÄ¼Ü¹¹?

¡°·ÖÎöºÍÉè¼Æ·þÎñ¼Ü¹¹¡±µÄ¹ý³ÌÊÇ´Ó¿Í»§ÐèÇóµ½SOAÈí¼þ¼Ü¹¹²ú³öµÄ·ÖÎö¹ý³Ì£¬Ïà¶ÔÓÚ´«Í³Æû³µÈí¼þ¿ª·¢²ÉÓõĻùÓÚ¹¦ÄÜ·Ö½âµÄÃæÏò¹ý³Ì·ÖÎö·½·¨£¬¡°ÓÃÀýÇý¶¯µÄ¿ª·¢·½·¨¡±ºÍ¡°ÃæÏò·þÎñ¼Ü¹¹µÄÉè¼Æ·½·¨¡±ÊÇSOAÈí¼þ¼Ü¹¹¿ª·¢µÄÁ½¸öÖ÷ÒªÌØµã¡£

ÓÃÀý(Use Case)Çý¶¯µÄ¿ª·¢·½·¨(ͼ3)Ö¸´ÓÓû§µÄ½Ç¶È¶ø·Ç¿ª·¢ÈËÔ±µÄ½Ç¶È¿¼Âǹ¦ÄÜÐèÇóºÍϵͳʵÏÖ£¬ÖØÊÓ´ÓϵͳÍⲿ¹Û²ì¶ÔϵͳµÄʹÓá£ÓÉÓÃÀýÇý¶¯µÄ¿ª·¢»î¶¯£¬¿ÉÒÔ½¨Á¢ÐèÇóºÍϵͳ¹¦ÄÜÖ®¼äÇåÎúµÄ×·ËݹØÏµ£¬¸üºÃµÄÓ¦¶ÔÖÇÄÜÍøÁª²úÆ·ÐèÇóµÄ¿ìËÙµü´ú¸üС£

ÃæÏò·þÎñµÄ·ÖÎö·½·¨(ͼ4)ÔòÊÇÒÔÒµÎñΪÖÐÐÄ£¬ÔÚÓÉÓÃÀý·ÖÎöµÃµ½ÏµÍ³¹¦ÄÜÐèÇóµÄ»ù´¡ÉÏ£¬¶ÔÒµÎñÂß¼­½øÐгéÏóºÍ·â×°£¬´ÓÒµÎñ½Ç¶ÈѰÕÒºòÑ¡·þÎñ£¨Service Candidate£©£¬´Ó¼Ü¹¹½Ç¶ÈÇ¿µ÷·þÎñµÄÖØÓÃÐÔ(reusable)¡¢×ÔÖ÷ÐÔ(autonomous)ÒÔ¼°×éºÏÀ©Õ¹ÐÔ(composable)ÌØµã£¬³ä·Ö·¢»ÓSOAÉè¼ÆÀíÄîµÄÓÅÊÆ£¬¶ø²»Êǽö½ö×÷Ϊ¼¼ÊõʵÏÖ·½Ê½¡£

ͼ3 ÓÃÀýÇý¶¯µÄ¿ª·¢·½·¨

ͼ4 ÃæÏò·þÎñµÄ·ÖÎö·½·¨

2) ÈçºÎ½¨Ä£ºÍ¼ÇÂ¼ÃæÏò·þÎñµÄ¼Ü¹¹?

±ê×¼»¯µÄ½¨Ä£ÓïÑÔºÍͳһ»¯µÄÎĵµ½á¹¹£¬¶ÔÌáÉý¼Ü¹¹µÄ¿ª·¢ÖÊÁ¿¡¢ÊµÏּܹ¹ÄÚÈݵÄÓÐЧ´«µÝ¾ßÓÐÖØÒª×÷Óá£SysMLÓïÑÔºÍArc42Ä£°å¿ÉÒÔ×÷ΪSOAÈí¼þ¼Ü¹¹µÄ±ê×¼ÓïÑÔºÍÎĵµ½á¹¹Ä£°å¡£

ϵͳ½¨Ä£ÓïÑÔSysML£¨System Modeling Language£©ÊÇÓÉͳһ½¨Ä£ÓïÑÔUML£¨Unified Modeling Language£©À©Õ¹¶øÀ´µÄ±ê×¼»¯ÏµÍ³½¨Ä£ÓïÑÔ£¬Äܹ»×¼È·±í´ïϵͳ¼°Æä×é¼þµÄÐèÇó¡¢ÐÐΪ¡¢½á¹¹ºÍÊôÐÔ¡£RhapsodyÈí¼þÖ§³ÖSysML½¨Ä££¬²¢ÌṩÁË×Ô¶¯»¯¹¦ÄÜ£¬Ìá¸ß½¨Ä£Ð§ÂÊ£¬Í¬Ê±±£Ö¤ÓëÓÃÀýµÄ×·ËݹØÏµ¡£Arc42Ã÷È·¶¨ÒåÁ˼ܹ¹ÎĵµµÄ½á¹¹£¬Í¨¹ýͳһ»¯µÄÎĵµ£¬ÌáÉý¿ª·¢ÍŶÓÖеÄÐÅÏ¢´«µÝЧÂʺÍÖÊÁ¿¡£

ÈçÏÂͼ5ÏÔʾ£¬ÁªºÏµç×ÓʹÓÃSysMLÓïÑÔ£¬Rhapsody½¨Ä£¹¤¾ßÒÔ¼°Arc42¼Ü¹¹Ä£°å½øÐÐÓ¦Ó÷þÎñ¼Ü¹¹µÄ¿ª·¢¡£

ͼ5 SysMLÓïÑÔ£¬Rhapsody¹¤¾ßºÍARC42¿ª·¢Ä£°å

3) ÈçºÎ²¿ÊðºÍʵÏÖÃæÏò·þÎñµÄÈí¼þ

¡°²¿ÊðºÍʵÏÖÃæÏò·þÎñ¼Ü¹¹µÄÈí¼þ¡±µÄ¹ý³ÌÊÇÒÔSOAÈí¼þ¼Ü¹¹ÎªÉè¼ÆÊäÈ룬×îÖÕ¿ª·¢ÊµÏÖ³öÈí¼þ²úÆ·µÄ¹¤×÷¹ý³Ì(ͼ6)¡£Ö÷Òª°üÀ¨ 1)¶Ô·þÎñ½Ó¿ÚÐÐΪµÄ¿ª·¢ºÍʵÏÖ£¬Íê³É·þÎñ½Ó¿ÚÓë·þÎñÖ÷ÌåÂß¼­µÄ°ó¶¨£»2) Õë¶ÔÄ¿±êÔËÐл·¾³£¬Íê³É¶Ô·þÎñ½Ó¿Ú²ÎÊý£¬·þÎñÖ÷ÌåÔËÐвÎÊýµÄÅäÖã»3)·þÎñ½Ó¿ÚÓëÓ¦ÓóÌÐò²ßÂÔÂß¼­µÄ¼¯³É±àÒë¡£

AUTOSAR Adaptive ×é¼þ·â×°ÁËSOAÈí¼þµ×²ãµÄͨѶϸ½Ú(°üÀ¨SOME/IPЭÒ飬IPCµÈ)£¬Í¬Ê±Ìṩ´úÀí(Proxy)-¹Ç¼Ü(Skeleton)Ä£ÐÍ£¬¸ÃÄ£ÐÍÒÔC++ÃæÏò¶ÔÏóÓïÑÔÃèÊö£¬·½±ãÉϲãÓ¦Óÿª·¢ÈËÔ±µ÷Óñê×¼·þÎñ½Ó¿Ú(API)½øÐпª·¢¡£Application Design ModelÊǸÃÄ£ÐÍÁíÒ»ÖÖ¿ÉÅäÖõijÊÏÖ£¬¿ª·¢ÈËԱͨ¹ýʹÓÃÏàÓ¦µÄÅäÖù¤¾ß¶ÔApplication Design Model½øÐÐÃèÊöºÍÅäÖ㬼´¿ÉʵÏÖ»ùÓÚSOA·þÎñ¼Ü¹¹µÄÈí¼þÂ䵨ºÍ²¿Êð¡£ÁªºÏµç×ÓʹÓÃAUTOSAR Adaptive×é¼þÍê³ÉSOA·þÎñ¼Ü¹¹Èí¼þµÄ¿ª·¢(ͼ7)£º

ͼ6 ²¿ÊðºÍʵÏÖÃæÏò·þÎñµÄÈí¼þ

ͼ7 Ó¦ÓÃÈí¼þÉè¼ÆÄ£ÐÍ

Èý. SOAÆû³µÈí¼þ´´ÐÂÆ½Ì¨

ÁªºÏµç×Ó¿ª·¢µÄÓò¿ØÖÆÆ÷XCU £¬ÌṩÁ˲¿ÊðSOAÆû³µÈí¼þµÄƽ̨¡£ÔÚÓ²¼þ·½Ã棬XCU¾ß±¸¸ßËãÁ¦´¦ÀíÆ÷оƬºÍ¶à·³µ¹æ¼¶ÒÔÌ«ÍøÍ¨µÀ£»ÔÚÈí¼þ·½Ã棬XCU´îÔØPOSIX²Ù×÷ϵͳºÍAUTOSAR Adaptiveƽ̨¡£

¸ù¾ÝSOAÈí¼þ¿ª·¢·½·¨£¬¿É´ÓÁ½¸öÇÐÈëµã¿ªÕ¹SOAÆû³µÈí¼þƽ̨µÄ¿ª·¢¡£

1)×ÔÏÂÖÁÉÏ£¬´Ó³µÁ¾»ù´¡¹¦ÄÜ/Ðźųö·¢£¬½«ÒÑÓеÄÓ¦Óù¦ÄÜÂß¼­/ÐźÅ(eg:³µÁ¾³µËÙÐÅÏ¢)³éÏó»ò·â×°³É·þÎñ×é¼þ£¬ÕâÀà×é¼þ±»³ÆÎª»ù´¡·þÎñ²ã(Basic/Platform Service Layer)×é¼þ£¬¾ßÓÐ×î¸ßµÄ¿É¸´ÓÃÐԺͿÉ×éºÏÐÔ£¬ÕâЩ×é¼þ½«ÎªÉϲã(ÒµÎñ·þÎñ²ãBusiness Service Layer)µÄ·þÎñ×é¼þÌṩ×î»ù´¡µÄÖ§³Ö¡£

2)×ÔÉ϶øÏ£¬´ÓÕû³µÒµÎñÂß¼­ºÍÓÃÀý³ö·¢£¬½áºÏ¸÷ÁìÓòµÄºËÐÄÒµÎñ֪ʶ£¬Éè¼ÆÒµÎñ·þÎñ²ã(Business Service Layer)µÄ·þÎñ×é¼þ£»Í¬Ê±£¬×ñÑ­·þÎñ×é¼þµÄ¸´ÓÃÐÔºÍ×ÔÖ÷ÐÔµÈÔ­Ôò£¬ÏòÏÂÉè¼Æ¹æ»®»ù´¡·þÎñ²ã(Basic/Platform Service Layer)µÄ·þÎñ×é¼þ(ͼ8)¡£

ͼ8 »ùÓÚÓò¿ØÖÆÆ÷(XCU)µÄSOA·þÎñ¼Ü¹¹

ËÄ. SOA¼Ü¹¹µÄºËÐÄÒªËØÓëÓÅÊÆ

SOA×÷ΪһÖÖÃæÏò·þÎñµÄ¼Ü¹¹£¬ÊÇÒ»ÖÖÉè¼ÆË¼ÏëºÍ·½·¨ÂÛ¡£ÔÚSOA¼Ü¹¹ÖУ¬·þÎñÊÇ×îºËÐĵijéÏóÊֶκÍϵͳ×î»ù´¡µÄÃèÊöµ¥Ôª¡£

ÿ¸ö·þÎñ×é¼þ¾ß±¸¶ÀÁ¢µÄ¹¦ÄÜ£¬Çҿɱ»¸´Óã»·þÎñ×é¼þÖ®¼äµÄ½Ó¿Ú×ñѭͳһ±ê×¼£¬¿É»¥Ïà·ÃÎÊ£¬¿É×éºÏÀ©Õ¹¡£ÒµÎñ¹ý³ÌÔòÊÇ´øÓÐ״̬ºÍ·þÎñµ÷¶È²ßÂԵķþÎñ×é¼þµÄ×éºÏÓëÀ©Õ¹(ͼ1)¡£

ͨ¹ýSOA¼Ü¹¹£¬¿ÉÕûºÏ¹æ»®OEMÔÚ²»Í¬²Ù×÷ϵͳ£¬Ó²¼þƽ̨ÉÏ(¿ØÖÆÆ÷)ÉϵÄÒµÎñ¹¦ÄÜ£¬ÊµÏÖ¶Ô¹¦ÄܵĿìËÙµü´úºÍÖØ×飬Ӧ¶ÔÁé»î¶à±äµÄÖÇÄÜÍøÁªÇ÷ÊÆÏµÄÒµÎñÐèÇó¡£

ͼ9£ºSOA¼Ü¹¹Ä£ÐÍ

½áºÏδÀ´Æû³µÓòµ¼ÏòÐ͵ç×ÓµçÆø¼Ü¹¹(Domain-Oriented)ºÍÇøÓòµ¼ÏòÐ͵ç×ÓµçÆø¼Ü¹¹(Zone-Oriented)£¬Ó¦ÓÃSOA¼Ü¹¹¿ÉʵÏÖÒµÎñ¹ý³Ì(¹¦ÄÜ)µÄ¿ìËÙµü´úÓëÁé»îÖØ×飬ΪÖÇÄÜÍøÁªÇ÷ÊÆÏµÄÈí¼þ¸öÐÔ»¯Óë´´ÐÂÐèÇóÌṩÁËÁ¼ºÃµÄƽ̨ÐÔ½â¾ö·½°¸¡£SOA¼Ü¹¹Ó¦ÓÃÓÚÆû³µÐµç×ÓµçÆø¼Ü¹¹ÏµÄÓÅÊÆ(ͼ2):

³µÁ¾¹¦ÄÜÈí¼þʵÏÖÈíÓ²·ÖÀë

ÓÉÓÚ·þÎñ×é¼þ½Ó¿Ú¡°±ê×¼¿É·ÃÎÊ¡±£¬ÇÒÃèÊö·½Ê½¶ÀÁ¢ÓÚÓ²¼þƽ̨ºÍ²Ù×÷ϵͳ£¬Òò´Ë×é¼þ¹¦ÄÜ¿ÉÍÑÀëÓ²¼þƽ̨ÈÎÒⲿÊðÒÆ¶¯£¬¶ÔÓÚËãÁ¦ÓÐÒªÇóµÄ¸´ÔÓ¹¦ÄÜ×é¼þ¿ÉÏò¾ß±¸¸ß´ø¿í´óËãÁ¦µÄÓò¿ØÖÆÆ÷ÒÆ¶¯¡£

³µÁ¾¹¦Äܿɱ»´ó·¶Î§¸´ÓÃ

һЩʹÓÃÆµ¶ÈºÜ¸ßÇÒ»ù´¡µÄ¹¦ÄÜ¿É×÷Ϊ»ù´¡·þÎñ×é¼þÏȱ»¿ª·¢£¬ÓÉÓÚ·þÎñ×é¼þµÄ¶ÀÁ¢ÐÔÒÔ¼°½Ó¿ÚµÄ±ê×¼¿É·ÃÎÊ£¬»ù´¡·þÎñ¿ª·¢Íê³Éºó¿ÉÏò·þÎñÖмä¼þ×¢²á£¬²¢¹©ËùÓеç×ÓµçÆø¼Ü¹¹ÖеĿØÖÆÆ÷¶©ÔÄʹÓá£

³µÁ¾¹¦ÄÜÔÚSOPºó¿ÉÐÂÔö(À©Õ¹)

¡°Ð¡¡±µÄ»ù´¡·þÎñ¿É×éºÏ³ÉΪ¡°´ó¡±·þÎñ£¬¡°´ó¡±·þÎñ¿É½øÒ»²½×éºÏÀ©Õ¹²¢×îÖÕ¹¹½¨³öеÄÒµÎñ¹ý³Ì£¬ÊµÏÖOEMµÄÒµÎñÄ¿±ê¡£½áºÏOTA¼¼Êõ£¬Óû§¿ÉÔÚ³µÁ¾Ê¹ÓÃÆÚÏÞÀ¶©ÔÄÒ»¸öÀàËÆ£¬¡°Ô¤²âÐÔÄÜÁ¿¹ÜÀí¡±µÄй¦Äܲ¢°²×°ÓÚÓò¿ØÖÆÆ÷ÉÏ£¬Ð¹¦ÄܵÄÒµÎñÂß¼­ÒÀÀµÓÚһЩÒÑÓеķþÎñ×é¼þ(eg:Ô¤²âÐÔÄÜÁ¿¹ÜÀíÒÀÀµÓÚÄÜÁ¿¹ÜÀí²ßÂÔ£¬µØÍ¼Ô¤²âÐÅÏ¢µÈ»ù´¡·þÎñ)¡£

ͼ10 ÐÂÆû³µµç×ÓµçÆø¼Ü¹¹ÖеÄSOA¼Ü¹¹Ó¦ÓÃ

µÚ¶þ²¿£ºÃæÏò·þÎñ¼Ü¹¹£¨SOA£©µÄÆû³µÈí¼þ·ÖÎöºÍÉè¼Æ

ÃæÏò·þÎñ¼Ü¹¹µÄ¿ª·¢¹ý³Ì´ÓÕûÌåÉÏ¿ÉÒÔ¸ÅÀ¨Îª6¸ö²½Ö裬·Ö±ðÊÇ£ºÃæÏò·þÎñ·ÖÎö¡¢ÃæÏò·þÎñÉè¼Æ¡¢·þÎñ¿ª·¢¡¢·þÎñ²âÊÔ¡¢·þÎñ²¿ÊðºÍ·þÎñȨÏÞ¹ÜÀí£¬Èçͼ11Ëùʾ¡£ÆäÖУ¬·ÖÎöºÍÉè¼ÆÃæÏò·þÎñµÄ¼Ü¹¹ÊÇ¿ª·¢SOAÈí¼þµÄ¿ª¶Ë£¬Ò²ÊÇÅжÏϵͳÊÇ·ñ»ùÓÚSOA¼Ü¹¹µÄ×îÖØÒªÇÒºËÐĵĻ·½Ú¡£

ÁªºÏµç×Ó¶Ô·ÖÎöºÍÉè¼ÆÃæÏò·þÎñ¼Ü¹¹Æû³µÈí¼þµÄ¾ßÌåÁ÷³ÌÓë·½·¨½øÐÐÁË̽Ë÷£¬½«ÃæÏò·þÎñµÄ·ÖÎö·Ö½âΪϵͳÐèÇó·ÖÎö¡¢ÏµÍ³¹¦ÄÜ·ÖÎö¡¢ºòÑ¡·þÎñ·ÖÎöÈý¸ö×Ó²½Ö裬½«ÃæÏò·þÎñµÄÉè¼Æ·Ö½âΪϵͳ¼Ü¹¹Éè¼ÆºÍÈí¼þ¼Ü¹¹Éè¼ÆÁ½¸ö×Ó²½Öè¡£¾­¹ý¼Ü¹¹Ê¦µÄÁ¼ºÃ·ÖÎö£¬³µÁ¾¹¦ÄÜ(ÒµÎñÂß¼­/ÒµÎñ¹ý³Ì)½«½áºÏʵ¼ÊʵÏÖÇé¿ö£¬°´²»Í¬ÒµÎñÁìÓòÍê³É½âñ²¢·Ö½âµÃµ½ºòÑ¡·þÎñ×é¼þ¡£ºóÐø£¬¾­¹ýÏêϸÇÒ²»¶Ïµü´úµÄÉè¼Æ£¬ÔÚºòÑ¡·þÎñµÄ»ù´¡ÉÏ£¬×îÖÕ»á²ú³öÃæÏò·þÎñ(SOA)µÄÈí¼þ¼Ü¹¹¡£

ͼ11 ÃæÏò·þÎñµÄ·ÖÎöÓëÉè¼ÆÊÇ·þÎñ¼Ü¹¹¿ª·¢µÄºËÐÄ»·½Ú

½ÓÏÂÀ´±¾ÎĽ«Î§ÈÆÕâ5¸ö×Ó²½Öè¶ÔÃæÏò·þÎñµÄ·ÖÎöÓëÉè¼Æ¹ý³Ì½øÐнéÉÜ¡£

1. ϵͳÐèÇó·ÖÎö

Èçͼ12Ëùʾ£¬Õû¸öSOA¼Ü¹¹Ä£ÐÍ·ÖΪҵÎñ¹ý³Ì²ã£¬·þÎñ½Ó¿Ú²ãºÍÓ¦ÓóÌÐò²ãÈý²¿·Ö¡£SOAÒµÎñ¹ý³Ì²ãרעÓÚÒµÎñÂß¼­µÄ·ÖÎö£»·þÎñ½Ó¿Ú²ã¾Û½¹ÓÚºòÑ¡·þÎñµÄÉè¼ÆºÍ·ÖÎö£»Ó¦ÓóÌÐò²ãÔòÌåÏÖÃæÏò·þÎñµÄϵͳ¼Ü¹¹ºÍÈí¼þ¼Ü¹¹Éè¼Æ¡£

ϵͳÐèÇó·ÖÎö¾Û½¹SOA¼Ü¹¹µÄ×îÉϲ㡪¡ªÒµÎñ²ã¡£¸ÅÀ¨À´Ëµ£¬ÐèÇó·ÖÎöÖ¸µÄÊÇÉè¼ÆºÍ³ä·ÖÀí½âÔÚÓû§¾ßÌåʹÓ󡾰ϵÄÕæÊµÒµÎñ¹ý³Ì£¬ÎªºóÐø³éÏóºÍ·â×°·þÎñÌṩ³ä×ãµÄÓï¾³ÐÅÏ¢¡£

ͼ12 ÐèÇó·ÖÎö¾Û½¹SOA¼Ü¹¹ÒµÎñ¹ý³Ì²ã

2. ϵͳ¹¦ÄÜ·ÖÎö

Èçͼ13Ëùʾ£¬ÏµÍ³¹¦ÄÜ·ÖÎö´î½¨ÆðÁËSOA¼Ü¹¹µÄÒµÎñ²ãºÍ·þÎñ²ãÖ®¼äµÄÇÅÁº£¬Æä¹ý³Ì¾ÍÊÇ´ÓµÚÒ»²½ÏµÍ³ÐèÇó·ÖÎöµÄ²úÎ¡ªÒµÎñ¹ý³ÌºÍϵͳÓÃÀý£¬Ïò·þÎñ¹ý¶ÉµÄ¹ý³Ì£¬Ä¿µÄÊǵóö¹¹³ÉºòÑ¡·þÎñµÄ·þÎñ²Ù×÷£¨operation£©¡£ÏµÍ³¹¦ÄÜ·ÖÎö¾ßÌå¿ÉÃèÊöΪ£ºÉè¼ÆÓÃÀýµÄʵÏÖ³¡¾°²½Ö裬¶ÔϵͳÓÃÀýÖð¸ö½øÐзÖÎöϸ»¯£¬ÃèÊöϵͳÈçºÎÓë²ÎÓëÕߣ¨actor£©Ò»ÆðʵÏÖÿ¸öÓÃÀý£¬´Ó¶øµÃµ½ÏµÍ³Óë²ÎÓëÕß¡¢ÓëÍⲿϵͳµÄ½çÏÞ¼°ÐÅÏ¢½»»¥£¬×îÖյóö¶ÔϵͳµÄ¹¦ÄÜÒªÇó£¬ÕâЩ¹¦ÄÜÒªÇóÖ±½Ó×÷ΪºòÑ¡·þÎñ²Ù×÷£¨business service operation candidates£©¡£

ͼ13 ϵͳ¹¦ÄÜ·ÖÎö£º´ÓÒµÎñ¹ý³Ìµ½·þÎñ

3. ºòÑ¡·þÎñ·ÖÎö

ºòÑ¡·þÎñ·ÖÎö¾Û½¹SOA¼Ü¹¹µÄÖмä²ã¡ª¡ª·þÎñ½Ó¿Ú²ã¡£ºòÑ¡·þÎñ·ÖÎöµÄÄ¿µÄÊǶÔÒµÎñÂß¼­½øÐгéÏóºÍ·â×°£¬´ÓÒµÎñ½Ç¶ÈѰÕÒºòÑ¡·þÎñ£¨Service Candidate£©¡£ÖµµÃÇ¿µ÷µÄÊÇ£¬·ÖÎöºòÑ¡·þÎñÐèÒªÌø³öÌØ¶¨¹¦ÄÜ¿ª·¢£¬´Ó¼Ü¹¹½Ç¶ÈÇ¿µ÷ÒµÎñµÄÖØÓÃÐÔ(reusable)¡¢×ÔÖ÷ÐÔ(autonomous)ÒÔ¼°×éºÏÀ©Õ¹ÐÔ(composable)µÈÌØµã£¬Ìرð¿¼ÂǺòÑ¡·þÎñÔÚÆóÒµÒµÎñ·¶Î§ÄÚDZÔÚµÄÖØÓÿÉÄÜ£¬³ä·Ö·¢»ÓSOAÉè¼ÆÀíÄîµÄÓÅÊÆ£¬¶ø²»Êǽö½ö×÷Ϊ¼¼ÊõʵÏÖ·½Ê½(ͼ14)¡£

ͼ14 ºòÑ¡·þÎñ·ÖÎö¾Û½¹SOA¼Ü¹¹µÄ·þÎñ½Ó¿Ú²ã

4. ϵͳ¼Ü¹¹Éè¼Æ

ϵͳ¼Ü¹¹Éè¼ÆµÄÄ¿µÄÊÇÉè¼ÆºÍµÃµ½·þÎñµ½¼Ü¹¹ÒªËصÄÓ³É䣬ÒÔ¼°ÒªËؼä·þÎñµ÷ÓùØÏµ¡£ÏÂͼÖÐÀ¶É«Ð¡Ô²È¦´ú±í·ÖÎöµÃµ½µÄ·þÎñ£¬Í¨¹ýϵͳ¼Ü¹¹Éè¼Æ£¬±»Ó³ÉäÖÁ²»Í¬µÄ¼Ü¹¹ÒªËØ( Platform A~C)(ͼ15)¡£ÔÚÕâÀ¼Ü¹¹ÒªËضÔÓ¦Æû³µÉÏ´îÔØ²»Í¬¿ØÖÆÆ÷ƽ̨(Platform)¡£

ͼ15 ϵͳ¼Ü¹¹Éè¼Æ£º·þÎñÓëÏµÍ³ÒªËØµÄÓ³Éä

5. Èí¼þ¼Ü¹¹Éè¼Æ

Èí¼þ¼Ü¹¹Éè¼ÆµÄÄ¿µÄÊÇÉè¼ÆºÍµÃµ½·þÎñ£¨service£©µ½·þÎñ×é¼þ£¨Service Component£©µÄÓ³Éä¹ØÏµ£¬¹ý³ÌÓëϵͳ¼Ü¹¹µÄÉè¼Æ¹ý³ÌÀàËÆ£¬µ«ÐèÒª½«¹Ø×¢µã×ªÒÆµ½¿ØÖÆÆ÷ÄÚ²¿¡£

ÔÚͼ16£¬SOA¼Ü¹¹ÖУ¬Èí¼þ¼Ü¹¹Éè¼ÆµÄÐÐΪ·¢ÉúÔÚÀ¶É«ÒõÓ°Çø¡£Èí¼þ¼Ü¹¹µÄÉè¼ÆÊܵ½Öî¶àÒòËØµÄÏÞÖÆ(ÒÔÌ«ÍøÍ¨Ñ¶Port¿Ú×ÊÔ´£¬¿Í»§¾ßÌåÓÃÀý³¡¾°µÄµü´ú±ä¸üµÈµÈ)¡£×ÜÌåÉè¼ÆË¼ÏëÉÏ£¬¸ßÄÚ¾Û£¬µÍñîºÏÈÔÊÇÉè¼ÆµÄͨÓÃÔ­ÔòºÍ¼Ü¹¹ÆÀ¼ÛµÄ¹Ø¼üÖ¸±ê¡£¶îÍâÐèҪǿµ÷µÄ£¬Ó¦¶ÔÖÇÄÜÍøÁªÈí¼þÐèÇóµü´ú¶à±äµÄÌØÐÔ£¬ÔÚSOA·þÎñ¼Ü¹¹µÄÉè¼ÆÖУ¬»¹ÐèÇ¿µ÷ÖØÓÃÐÔºÍÀ©Õ¹ÐÔ£¬³ä·ÖµÄÁé»î¶È²ÅÄÜÒÔ×îСµÄÈí¼þ±ä¸üÓ¦¶Ô´óÁ¿µÄÐèÇóÊäÈë¡£

ͼ17ΪһʾÒâͼ£¬±í´ïÁËÕë¶Ôijһ·þÎñService A£¬ÓÐÒ»¸ö·þÎñÌṩ×é¼þ(Service Component)ÌṩA·þÎñ£¬ÓÐÈý¸ö·þÎñÏû·Ñ×é¼þÏû·Ñ·þÎñA¡£

Èí¼þ¼Ü¹¹Éè¼ÆºÍ ·þÎñÓëÓ¦ÓóÌÐòµÄÓ³Éä

½áÓï

¡°·ÖÎöºÍÉè¼ÆÃæÏò·þÎñµÄ¼Ü¹¹¡±¡¢¡°ÊµÏֺͲ¿ÊðÃæÏò·þÎñµÄÈí¼þ¡±ÊÇÓÐЧ¿ª·¢SOAÆû³µÈí¼þµÄ¹Ø¼ü»·½Ú£¬ ¡°·ÖÎöºÍÉè¼Æ·þÎñ¼Ü¹¹¡±µÄ¹ý³ÌÊÇ´Ó¿Í»§ÓÃÀý³¡¾°/ÐèÇóµ½SOAÈí¼þ¼Ü¹¹²ú³öµÄ·ÖÎö¹ý³Ì¡£

ÁªºÏµç×ÓÈÏΪ£¬Ïà¶ÔÓÚ´«Í³Æû³µÈí¼þ¿ª·¢²ÉÓõĻùÓÚ¹¦ÄÜ·Ö½âµÄÃæÏò¹ý³ÌµÄ·ÖÎö·½·¨£¬¡°ÓÃÀýÇý¶¯µÄ¿ª·¢·½·¨¡±ºÍ¡°ÃæÏò·þÎñ¼Ü¹¹µÄÉè¼Æ·½·¨¡±ÊÇSOAÈí¼þ¼Ü¹¹¿ª·¢µÄÁ½¸öÖ÷ÒªÌØµã¡£

ÁªºÏµç×Ӿ߱¸Ïà¹ØÏîÄ¿¾­Ñ飬¿ÉÒÔ°ïÖú¾ß±¸ÒµÎñÂß¼­µÄ³§ÉÌ(OEM/µÚÈý·½)Íê³É»ùÓÚ·þÎñµÄÓÃÀý·ÖÎöºÍ¼Ü¹¹Éè¼Æ¹¤×÷£¬²¢×îÖÕЭÖú¿Í»§Êä³öÃæÏò·þÎñµÄÈí¼þ¼Ü¹¹¡£

µÚÈý²¿£ºÃæÏò·þÎñ¼Ü¹¹£¨SOA£©µÄÆû³µÈí¼þʵÏֺͲ¿Êð

¸ù¾ÝSOA¼Ü¹¹²ã¼¶Ä£ÐÍ(ͼ18)£¬ÒµÎñÂß¼­¾­¹ýÃæÏò·þÎñ¼Ü¹¹(SOA)µÄÈí¼þ·ÖÎöºÍÉè¼Æ¹ý³Ìºó£¬±»·Ö½âΪµ¥¸ö·þÎñ²¢°ó¶¨ÏàÓ¦µÄ¿ÉÖ´ÐÐÈí¼þµ¥Ôª¡£ÒÔ·þÎñÈí¼þ¼Ü¹¹ÎªÊäÈ룬Æû³µ·þÎñÈí¼þµÄʵÏֺͲ¿Êð¹¤×÷Ö÷ÒªÔÚ·þÎñ×é¼þ²ã(Service Components)Íê³É(ͼ1ºìÉ«¼ýÍ·)¡£

ͼ 18 SOA ²ã¼¶¼Ü¹¹Ä£ÐÍ

01 Âú×ã SOA ¼Ü¹¹µÄ·þÎñ×é¼þ¼Ü¹¹ (Service-Component-Architecture)

Õë¶Ô·þÎñ×é¼þ£¬SOA¶¨ÒåÁË·þÎñ×é¼þµÄ¼Ü¹¹Ä£ÐÍ(SCA)(ͼ19)£¬ÔÚSCAµÄ¿ò¼ÜÏ£¬·þÎñ×é¼þÄÚ²¿±»·ÖΪҵÎñÂß¼­(Service)Óë»ù´¡ÉèÊ©Âß¼­(InterfaceºÍMessage)Á½²¿·Ö£¬²¢»¥Ïà½âñ

·þÎñÈí¼þµ¥Ôª(Service)£ºÒµÎñ/¹¦ÄÜÂß¼­£¬²»¹ØÐIJÙ×÷ϵͳºÍ±à³ÌÓïÑÔ£¬¿ÉÓÉÊìϤҵÎñÂß¼­µÄÏà¹Ø·½¿ª·¢

½Ó¿Ú(Interface)£º¾ö¶¨¶ÔÍâÌṩÄÄЩ·þÎñÒÔ¼°×ÔÉí·þÎñÒÀÀµÄÄЩ·þÎñ£¬²»¹ØÐIJÙ×÷ϵͳºÍ±à³ÌÓïÑÔ£¬¿ÉÓÉSOA¼Ü¹¹Éè¼Æ·½Íê³É¿ª·¢ºÍ²¿Êð

ÏûÏ¢(Message)£º½Ó¿ÚÊý¾ÝµÄͨѶÁ´Â·/»·¾³°ó¶¨£¬²»¹ØÐIJÙ×÷ϵͳºÍ±à³ÌÓïÑÔ£¬¿ÉÓÉSOA¼Ü¹¹Éè¼Æ·½Íê³É¿ª·¢ºÍ²¿Êð

Õû¸ö·þÎñ×é¼þ²ãµÄ¹¤×÷ÊǶԷþÎñ×é¼þ½øÐй淶ÐÍÃèÊö£¬ÃèÊöÄÚÈÝÖ÷Òª°üº¬Á½¸ö²¿·Ö:

·þÎñ×é¼þ¼Ü¹¹Ä£ÐÍSCAµÄÅäÖÃÃèÊö

·þÎñ×é¼þÄÚ²¿ÒµÎñÂß¼­ºÍ»ù´¡ÉèÊ©Âß¼­µÄ¼¯³É

ͼ19 SOA·þÎñ×é¼þ¼Ü¹¹Ä£ÐÍ(SCA)

02 ·þÎñ×é¼þ¼Ü¹¹SCAµÄÅäÖÃÃèÊö

ͨ¹ýSCA¼Ü¹¹Ä£ÐÍ£¬Ã¿¸ö·þÎñÈí¼þµ¥Ôª(Service)ÒÔ±ê×¼µÄ½Ó¿ÚÐÎʽ(Interface)ÏòÏû·Ñ·½Ìṩ·þÎñÄÚÈÝ£¬ÒÔͳһµÄͨѶЭÒé´«µÝÐòÁл¯ÏûÏ¢(Message)¡£¶ÔÓÚSOA¼Ü¹¹Éè¼ÆºÍÓ¦ÓÃÈËÔ±£¬ÐèҪͨ¹ý¹¤¾ßÅäÖÃSCA¼Ü¹¹Ä£ÐÍÖеIJÎÊý£¬Ê¹ÆäÓë·þÎñ¹ÜÀí×é¼þһͬʵÏÖSOAÈí¼þµÄ²¿ÊðºÍÔË×÷¡£

ͼ20 SCA¼Ü¹¹Ä£ÐÍÖеÄÅäÖÃÐÅÏ¢

SCA¼Ü¹¹Ä£ÐÍÖеÄÖ÷ÒªÔªËØ·ÖΪ¡°·þÎñ½Ó¿Ú¡±ºÍ¡°·þÎñʵÏÖ¡±Á½´óÀà¡£ÆäÖУ¬¡°·þÎñ½Ó¿ÚÃèÊö¡±°üº¬·þÎñÈí¼þµ¥Ôª(Services)£¬×é¼þ½Ó¿Ú(Interface)ºÍÏûϢͨѶ(Message)£»¡°·þÎñʵÏÖ¡±Ôò°üÀ¨Í¨Ñ¶Ð­Òé°ó¶¨(Binding)ºÍ·þÎñ¶Ë¿ÚÐÅÏ¢µÈ(Endpoint)(ͼ20)¡£

WebServiceµÄSCA¼Ü¹¹Ä£ÐÍÅäÖÃÃèÊö

ÒÔITÐÐÒµSOA·âװʹÓýÏΪ¹ã·ºµÄWebServiceΪÀý£¬Æä¶ÔSCA¼Ü¹¹Ä£Ð͵ÄÃèÊö×ñ´ÓÈçϱê׼ЭÒé:

±í1 SCA¼Ü¹¹Ä£ÐÍÖеÄÅäÖÃÐÅÏ¢

ÔÚIBM¹«Ë¾·¢²¼µÄSOAϵͳ½â¾ö·½°¸- ÆóÒµ·þÎñ×ÜÏß(Enterprise-Service-Bus)ÖÐÌṩÁËWebSphere Integration Developer¿ª·¢»·¾³£¬¸Ã»·¾³Ö§³ÖÅäÖÃÉú³É·ûºÏWSDL¹æ·¶µÄ·þÎñ×é¼þÃèÊöÎĵµ¡£

Æû³µÈí¼þµÄSCA¼Ü¹¹Ä£ÐÍÅäÖÃÃèÊö

ÔÚÆû³µÈí¼þÁìÓò£¬µ±Ç°£¬ÁªºÏµç×Ó²ÉÓÃAUTOSAR Adaptive×éÖ¯ÌṩµÄÄ£ÐÍÃèÊö¹æ·¶¡£AUTOSAR Adaptive×éÖ¯¶ÔSCA¼Ü¹¹Ä£Ð͵ÄÃèÊö×ñÑ­Èçϱê×¼:

±í2 SCA¼Ü¹¹Ä£ÐÍÖеÄÅäÖÃÐÅÏ¢

03 Æû³µSOAÈí¼þµÄʵÏÖ·½°¸

ÈçÉÏÎÄËùÊö£¬Æû³µÈí¼þÁìÓò£¬ÁªºÏµç×Ó×ñÑ­AUTOSAR Adaptive±ê×¼À´Íê³ÉSOAÖмä¼þµÄ²¿ÊðºÍÓ¦Óã¬AUTOSAR Adaptive×é¼þ²ÉÓþ­µäµÄ´úÀí(Proxy)-¿ò¼Ü(Skeleton)ģʽÀ´Íê³ÉSCA¼Ü¹¹Ä£Ð͵ÄÃèÊö(Èçͼ21)¡£

ͼ21 Proxy(stub)/Skeleton¼Ü¹¹Ä£Ê½

ÕâÖÖģʽ½«Ô­±¾Ö±½Ó½»»¥µÄµ÷ÓÃÕß(Client)Óë±»µ÷ÓÃÕß(Server)·ÖÀ룬ÓÉ´úÀí¸ºÔð´«µÝÐÅÏ¢À´Íê³Éµ÷Óã¬clientºÍserver²»ÐèÒª´¦ÀíͨÐŲãÏêϸÐÅÏ¢¡£Í¬Ê±£¬AUTOSAR Adaptive³§ÉÌ»ùÓÚC++ÓïÑÔ¾ßÌåʵÏÖ´úÀí-¿ò¼Üģʽ£¬È·±£Ó¦Ó÷þÎñ¿ª·¢ÈËÔ±¿ÉÒÔÁé»îÅäÖÃ×Ô¶¨ÒåµÄ·þÎñ½Ó¿Ú£¬²¢½áºÏ¶ÔÓ¦¹¤¾ßÉú³ÉSCA¼Ü¹¹Ä£ÐÍ´úÂë(.cpp/.cc)ºÍÅäÖÃÎļþ(.json)¡£¾ßÌåµÄ£¬ÕâЩ´úÂ룺

·â×°ÁËSOME-IPЭÒéÕ»ºÍµ×²ãͨѶϸ½Ú(Middleware Transport Layer)

ÌṩÁËÏàÓ¦µÄ·þÎñÐé½Ó¿Ú(virtual function)

ͨ¹ý1)£¬·þÎñ×é¼þ¿ª·¢ÈËÔ±²»±ØÔÙ¹ØÐÄ·þÎñMessage¶ÔÓ¦µÄЭÒéÈçºÎʵÏÖ£»Í¨¹ý2)£¬·þÎñ×é¼þ¿ª·¢ÈËÔ±»ùÓÚC++µÄÓïÑÔÌØÐÔ£¬¿É¼Ì³Ð(inherit)Ðé½Ó¿Ú²¢¸²Ð´(override)Ðé½Ó¿ÚµÄ¾ßÌåʵÏÖ(º¯ÊýÌå)¡£¸Ã»úÖÆ±£Ö¤ÁË¡°»ù´¡ÉèÊ©Âß¼­¡±ºÍ¡°ÒµÎñ(¹¦ÄÜ)Âß¼­¡±µÄ½âñ·þÎñÄÚ²¿ÒµÎñÂß¼­µÄ¸Ä¶¯²»Ó°Ïì·þÎñ×é¼þÏòÍâµÄ½Ó¿ÚÌṩ¡£

04 SOA·þÎñ×é¼þʵÏֺͲ¿ÊðµÄ¾ßÌå²½Öè

SOA·þÎñ×é¼þ¡°ÊµÏֺͲ¿Ê𡱵ÄÕû¸ö¹ý³ÌÒÔÃæÏò·þÎñ(SOA)µÄÈí¼þ¼Ü¹¹ÎªÊäÈ룬ÄÚÈÝÉϳýÍê³ÉµÚ¶þÕÂÌáµ½µÄ¡°»ù´¡ÉèÊ©Âß¼­¡±ÅäÖù¤×÷Í⣬»¹Ð轫ҵÎñ(¹¦ÄÜ)Âß¼­Óë»ù´¡ÉèÊ©Âß¼­¼¯³É£¬×îÖÕ±àÒë³É¿ÉÖ´ÐеķþÎñ×é¼þµ¥Ôª(Service Component)(ͼ22)¡£

ͼ22 ·þÎñ×é¼þµ¥Ôª(Service Component)

ÈçµÚÒ»ÕÂÖжԷþÎñ×é¼þµÄSCAÃèÊö£¬ÕûÌå·þÎñ×é¼þ(Service Component)ÓÉ·þÎñµ¥Ôª(Service)ÌṩµÄ¡°ÒµÎñÂß¼­¡±ºÍÊÊÅäÄ¿±êϵͳ»·¾³Ïà¹ØµÄ¡°»ù´¡ÉèÊ©Âß¼­¡±Á½²¿·Ö×é³É¡£ÔÚ¿ª·¢¹ý³ÌÖУ¬ÕâÁ½²¿·ÖÊǽâñîµÄ£¬¿Éͬʱ½øÐеģ¬ÇÒÈí¼þÐÎ̬ÊÇÁé»îµÄ¡£

·þÎñµ¥Ôª(Service)µÄÂß¼­¿ÉÒÔÊÇÔ´Âë»ò±»·âװΪSDKÐÎʽ£¬ÇÒ²»¹ØÐľßÌåµÄ±à³ÌÓïÑÔ£»»ù´¡ÉèÊ©Âß¼­ (InterfaceºÍMessage) ÔòÒÔC++µÄÐÎ̬±àÂ룬Óë·þÎñ¹ÜÀíÖмä¼þÒ»ÆðÈ·±£·þÎñµÄ¶¯Ì¬ÏìÓ¦ÐԺͷþÎñ×ÔÉíµÄ¿ÉÀ©Õ¹ÐÔ£¬ÆäÈí¼þÐÎ̬ͬÑù¿ÉÒÔÊÇÔ´Âë»òSDKÐÎʽÌṩ¡£

ÔÚÁ÷³ÌÉÏ·½·¨ÂÛÉÏ£¬¡±ÊµÏֺͲ¿Ê𡱹¤×÷Ö÷Òª·ÖΪ·þÎñ×é¼þ½Ó¿ÚÉè¼Æ£¬·þÎñ×é¼þ¼¯³ÉʵÏֺͰ²×°²¿ÊðÈý¸ö²½Ö裺

×é¼þ½Ó¿ÚÉè¼Æ½×¶Î: ÁªºÏµç×Ó±àдarxmlÍê³É¶Ô·þÎñ×é¼þSCAÖС°»ù´¡ÉèÊ©Âß¼­¡±µÄÅäÖÿª·¢£¬²¢¾­ÓÉAUTOSAR AdaptiveÖмä¼þ¹©Ó¦ÉÌÌṩµÄ´úÂë¿ò¼ÜºÍÉú³ÉÆ÷(Generator)£¬×îÖյõ½Ïà¹ØµÄÅäÖÃÎļþ(.json)ºÍÔ´´úÂë(.cc/.cpp)£»¶Ô¡°·þÎñµ¥ÔªÂß¼­¡±£¬ÁªºÏµç×Ó¿Éͬ²½»ùÓÚ½¨Ä£¹¤¾ß½øÐпª·¢£»

×é¼þ¼¯³ÉʵÏÖ½×¶Î: ÁªºÏµç×Ó±àдAPP¿ò¼Ü£¬Íê³É¡°·þÎñµ¥ÔªÂß¼­¡±Óë¡°»ù´¡ÉèÊ©Âß¼­¡±µÄÈí¼þ¼¯³É¹¤×÷£»

×é¼þ°²×°²¿Êð½×¶Î: ÁªºÏµç×Ó±àд±àÒëºÍ°²×°½Å±¾£¬Íê³ÉÔ´ÂëµÄ±àÒëÁ´½ÓºÍ¿ÉÖ´ÐÐÎļþ(App)µÄ°²×°£¬Í¬Ê±£¬¶ÔAPP°²×°²¿ÊðȨÏÞºÍϵͳ»·¾³×öÊÊÅäµ÷Õû¡£

¡°·ÖÎöºÍÉè¼ÆÃæÏò·þÎñµÄ¼Ü¹¹¡±¡¢¡°ÊµÏֺͲ¿ÊðÃæÏò·þÎñµÄÈí¼þ¡±ÊÇÓÐЧ¿ª·¢SOAÆû³µÈí¼þµÄ¹Ø¼ü»·½Ú£¬¡°ÊµÏֺͲ¿ÊðÃæÏò·þÎñÈí¼þ¡±µÄ¹ý³ÌÊÇSOAÈí¼þ¿ÉÒÔ¡°Â䵨¡±²»¿É»òȱµÄ»·½Ú¡£

 
9947 ´Îä¯ÀÀ       31
Ïà¹ØÎÄÕÂ

¶àά·½·¨À´¿ª·¢ÓлúµÄÒµÎñÁ÷³Ì¼Ü¹¹
SCA Ó¦ÓóÌÐò¿ª·¢
BPM ºÍ SOA ÐÔÄÜ×î¼Ñʵ¼ù
ʵÏÖÆóÒµ·þÎñ×ÜÏßģʽ
Ïà¹ØÎĵµ

SCA½éÉܼ°Ó¦ÓÃʵÀý
»ùÓÚSOA¼Ü¹¹µÄESBƽ̨£ºInfomagic
SCA¼Ü¹¹
SOAµÄ»ù±¾¸ÅÄî
Ïà¹Ø¿Î³Ì

ÃæÏòÓ¦Óõļܹ¹Éè¼ÆÊµ¼ù
µ¥Ôª²âÊÔ+ÖØ¹¹+Éè¼ÆÄ£Ê½
Èí¼þ¼Ü¹¹Ê¦¡ª¸ß¼¶Êµ¼ù
Èí¼þ¼Ü¹¹Éè¼Æ·½·¨¡¢°¸ÀýÓëʵ¼ù
 
×îл¼Æ»®
DeepSeek´óÄ£ÐÍÓ¦Óÿª·¢ 6-12[ÏÃÃÅ]
È˹¤ÖÇÄÜ.»úÆ÷ѧϰTensorFlow 6-22[Ö±²¥]
»ùÓÚ UML ºÍEA½øÐзÖÎöÉè¼Æ 6-30[±±¾©]
ǶÈëʽÈí¼þ¼Ü¹¹-¸ß¼¶Êµ¼ù 7-9[±±¾©]
Óû§ÌåÑé¡¢Ò×ÓÃÐÔ²âÊÔÓëÆÀ¹À 7-25[Î÷°²]
ͼÊý¾Ý¿âÓë֪ʶͼÆ× 8-23[±±¾©]
 
×îÐÂÎÄÕÂ
SOAÂọ́º´ÓÁ˽âÒµÎñµ½Ãô½Ý¼Ü¹¹
×öÁËÄÇô¶à¼Ü¹¹£¬ÄãÕæµÄ¶® SOA ÁËÂð£¿
ÉîÈëdz³ö SOA ˼Ïë
̽¾¿SOAµÄ¼¼Êõ÷ÈÁ¦
³õʶSOA(ÃæÏò·þÎñµÄÌåϵ½á¹¹)
×îпγÌ
ÆóÒµ¼¶SOA¼Ü¹¹Êµ¼ù
SOAÌåϵ½á¹¹Êµ¼ù
»ùÓÚMicrosoft.Netƽ̨µÄSOA¼Ü¹¹Éè¼ÆÓ뿪·¢
µ¥Ôª²âÊÔ+ÖØ¹¹+Éè¼ÆÄ£Ê½
ÃæÏòÓ¦Óõļܹ¹Éè¼ÆÊµ¼ù
³É¹¦°¸Àý
ijµÚÈý·½µç×ÓÖ§¸¶ÆóÒµ SOA¼Ü¹¹Éè¼Æ
ijµç×ÓÆóÒµ SOAÓ¦ÓÃ
ÖйúÒÆ¶¯ SOAÅàѵ
±±¾©´óѧ SOA¼Ü¹¹Éè¼ÆÊµ¼ù
ÉîÛÚijÆû³µÆóÒµ ÓѰÏÕ SOA¼Ü¹¹Éè¼Æ