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

1Ôª 10Ôª 50Ôª





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



  ÇóÖª ÎÄÕ ÎÄ¿â Lib ÊÓÆµ iPerson ¿Î³Ì ÈÏÖ¤ ×Éѯ ¹¤¾ß ½²×ù Model Center   Code  
»áÔ±   
   
 
     
   
 ¶©ÔÄ
  ¾èÖú
Èí¼þ¼Ü¹¹ÈëÃÅ
 
  4730  次浏览      27
 2017-12-19 
 
±à¼­ÍƼö:

±¾ÎÄÀ´×ÔÓÚÈîÒ»·å£¬Ö÷Òª½éÉÜÁËÈí¼þ¼Ü¹¹µÄ·Ö²ã¼Ü¹¹¡¢Ê¼þÇý¶¯¼Ü¹¹¡¢Î¢ºË¼Ü¹¹¡¢Î¢·þÎñ¼Ü¹¹¡¢ÔƼܹ¹¡£

Èí¼þ¼Ü¹¹£¨software architecture£©¾ÍÊÇÈí¼þµÄ»ù±¾½á¹¹¡£

ºÏÊʵļܹ¹ÊÇÈí¼þ³É¹¦µÄ×îÖØÒªÒòËØÖ®Ò»¡£´óÐÍÈí¼þ¹«Ë¾Í¨³£ÓÐרÃŵļܹ¹Ê¦Ö°Î»£¨architect£©£¬Ö»ÓÐ×ÊÉî³ÌÐòÔ±²Å¿ÉÒÔµ£ÈΡ£

O'Reilly ³ö°æ¹ýÒ»±¾Ãâ·ÑµÄС²á×Ó¡¶Software Architecture Patterns¡·£¨PDF£©£¬ ½éÉÜÁËÎåÖÖ×î³£¼ûµÄÈí¼þ¼Ü¹¹£¬ÊǷdz£ºÃµÄÈëÃŶÁÎï¡£ÎÒ¶ÁºóÊÜÒæ·Ëdz£¬ÏÂÃæ¾ÍÊÇÎҵıʼǡ£

Ò»¡¢·Ö²ã¼Ü¹¹

·Ö²ã¼Ü¹¹£¨layered architecture£©ÊÇ×î³£¼ûµÄÈí¼þ¼Ü¹¹£¬Ò²ÊÇÊÂʵÉϵıê×¼¼Ü¹¹¡£Èç¹ûÄã²»ÖªµÀÒªÓÃʲô¼Ü¹¹£¬ÄǾÍÓÃËü¡£

ÕâÖּܹ¹½«Èí¼þ·Ö³ÉÈô¸É¸öˮƽ²ã£¬Ã¿Ò»²ã¶¼ÓÐÇåÎúµÄ½ÇÉ«ºÍ·Ö¹¤£¬²»ÐèÒªÖªµÀÆäËû²ãµÄϸ½Ú¡£²ãÓë²ãÖ®¼äͨ¹ý½Ó¿ÚͨÐÅ¡£

ËäȻûÓÐÃ÷È·Ô¼¶¨£¬Èí¼þÒ»¶¨Òª·Ö³É¶àÉٲ㣬µ«ÊÇËIJãµÄ½á¹¹×î³£¼û¡£

±íÏֲ㣨presentation£©£ºÓû§½çÃæ£¬¸ºÔðÊÓ¾õºÍÓû§»¥¶¯

ÒµÎñ²ã£¨business£©£ºÊµÏÖÒµÎñÂß¼­

³Ö¾Ã²ã£¨persistence£©£ºÌṩÊý¾Ý£¬SQL Óï¾ä¾Í·ÅÔÚÕâÒ»²ã

Êý¾Ý¿â£¨database£© £º±£´æÊý¾Ý

ÓеÄÈí¼þÔÚÂß¼­²ãºÍ³Ö¾Ã²ãÖ®¼ä£¬¼ÓÁËÒ»¸ö·þÎñ²ã£¨service£©£¬Ìṩ²»Í¬ÒµÎñÂß¼­ÐèÒªµÄһЩͨÓýӿڡ£

Óû§µÄÇëÇó½«ÒÀ´Îͨ¹ýÕâËIJãµÄ´¦Àí£¬²»ÄÜÌø¹ýÆäÖÐÈκÎÒ»²ã¡£

Óŵã

½á¹¹¼òµ¥£¬ÈÝÒ×Àí½âºÍ¿ª·¢

²»Í¬¼¼ÄܵijÌÐòÔ±¿ÉÒÔ·Ö¹¤£¬¸ºÔð²»Í¬µÄ²ã£¬ÌìÈ»Êʺϴó¶àÊýÈí¼þ¹«Ë¾µÄ×éÖ¯¼Ü¹¹

ÿһ²ã¶¼¿ÉÒÔ¶ÀÁ¢²âÊÔ£¬ÆäËû²ãµÄ½Ó¿Úͨ¹ýÄ£Äâ½â¾ö

ȱµã

Ò»µ©»·¾³±ä»¯£¬ÐèÒª´úÂëµ÷Õû»òÔö¼Ó¹¦ÄÜʱ£¬Í¨³£±È½ÏÂé·³ºÍ·Ñʱ

²¿Êð±È½ÏÂé·³£¬¼´Ê¹Ö»ÐÞ¸ÄÒ»¸öСµØ·½£¬ÍùÍùÐèÒªÕû¸öÈí¼þÖØÐ²¿Ê𣬲»ÈÝÒ××ö³ÖÐø·¢²¼

Èí¼þÉý¼¶Ê±£¬¿ÉÄÜÐèÒªÕû¸ö·þÎñÔÝÍ£

À©Õ¹ÐԲÓû§ÇëÇó´óÁ¿Ôö¼Óʱ£¬±ØÐëÒÀ´ÎÀ©Õ¹Ã¿Ò»²ã£¬ÓÉÓÚÿһ²ãÄÚ²¿ÊÇñîºÏµÄ£¬À©Õ¹»áºÜÀ§ÄÑ

¶þ¡¢Ê¼þÇý¶¯¼Ü¹¹

ʼþ£¨event£©ÊÇ״̬·¢Éú±ä»¯Ê±£¬Èí¼þ·¢³öµÄ֪ͨ¡£

ʼþÇý¶¯¼Ü¹¹£¨event-driven architecture£©¾ÍÊÇͨ¹ýʼþ½øÐÐͨÐŵÄÈí¼þ¼Ü¹¹¡£Ëü·Ö³ÉËĸö²¿·Ö¡£

ʼþ¶ÓÁУ¨event queue£©£º½ÓÊÕʼþµÄÈë¿Ú

·Ö·¢Æ÷£¨event mediator£©£º½«²»Í¬µÄʼþ·Ö·¢µ½²»Í¬µÄÒµÎñÂß¼­µ¥Ôª

ʼþͨµÀ£¨event channel£©£º·Ö·¢Æ÷Óë´¦ÀíÆ÷Ö®¼äµÄÁªÏµÇþµÀ

ʼþ´¦ÀíÆ÷£¨event processor£©£ºÊµÏÖÒµÎñÂß¼­£¬´¦ÀíÍê³Éºó»á·¢³öʼþ£¬´¥·¢ÏÂÒ»²½²Ù×÷

¶ÔÓÚ¼òµ¥µÄÏîÄ¿£¬Ê¼þ¶ÓÁС¢·Ö·¢Æ÷ºÍʼþͨµÀ£¬¿ÉÒÔºÏΪһÌ壬Õû¸öÈí¼þ¾Í·Ö³Éʼþ´úÀíºÍʼþ´¦ÀíÆ÷Á½²¿·Ö¡£

Óŵã

·Ö²¼Ê½µÄÒì²½¼Ü¹¹£¬Ê¼þ´¦ÀíÆ÷Ö®¼ä¸ß¶È½âñÈí¼þµÄÀ©Õ¹ÐÔºÃ

ÊÊÓÃÐԹ㣬¸÷ÖÖÀàÐ͵ÄÏîÄ¿¶¼¿ÉÒÔÓÃ

ÐÔÄܽϺã¬ÒòΪʼþµÄÒì²½±¾ÖÊ£¬Èí¼þ²»ÒײúÉú¶ÂÈû

ʼþ´¦ÀíÆ÷¿ÉÒÔ¶ÀÁ¢µØ¼ÓÔØºÍÐ¶ÔØ£¬ÈÝÒײ¿Êð

ȱµã

Éæ¼°Òì²½±à³Ì£¨Òª¿¼ÂÇÔ¶³ÌͨÐÅ¡¢Ê§È¥ÏìÓ¦µÈÇé¿ö£©£¬¿ª·¢Ïà¶Ô¸´ÔÓ

ÄÑÒÔÖ§³ÖÔ­×ÓÐÔ²Ù×÷£¬ÒòΪʼþͨ¹ý»áÉæ¼°¶à¸ö´¦ÀíÆ÷£¬ºÜÄѻعö

·Ö²¼Ê½ºÍÒì²½ÌØÐÔµ¼ÖÂÕâ¸ö¼Ü¹¹½ÏÄѲâÊÔ

Èý¡¢Î¢ºË¼Ü¹¹

΢ºË¼Ü¹¹£¨microkernel architecture£©ÓÖ³ÆÎª"²å¼þ¼Ü¹¹"£¨plug-in architecture£©£¬Ö¸µÄÊÇÈí¼þµÄÄÚºËÏà¶Ô½ÏС£¬Ö÷Òª¹¦ÄܺÍÒµÎñÂß¼­¶¼Í¨¹ý²å¼þʵÏÖ¡£

Äںˣ¨core£©Í¨³£Ö»°üº¬ÏµÍ³ÔËÐеÄ×îС¹¦ÄÜ¡£²å¼þÔòÊÇ»¥Ïà¶ÀÁ¢µÄ£¬²å¼þÖ®¼äµÄͨÐÅ£¬Ó¦¸Ã¼õÉÙµ½×îµÍ£¬±ÜÃâ³öÏÖ»¥ÏàÒÀÀµµÄÎÊÌâ¡£

Óŵã

Á¼ºÃµÄ¹¦ÄÜÑÓÉìÐÔ£¨extensibility£©£¬ÐèҪʲô¹¦ÄÜ£¬¿ª·¢Ò»¸ö²å¼þ¼´¿É

¹¦ÄÜÖ®¼äÊǸôÀëµÄ£¬²å¼þ¿ÉÒÔ¶ÀÁ¢µÄ¼ÓÔØºÍÐ¶ÔØ£¬Ê¹µÃËü±È½ÏÈÝÒײ¿Êð£¬

¿É¶¨ÖÆÐԸߣ¬ÊÊÓ¦²»Í¬µÄ¿ª·¢ÐèÒª

¿ÉÒÔ½¥½øÊ½µØ¿ª·¢£¬Öð²½Ôö¼Ó¹¦ÄÜ

ȱµã

À©Õ¹ÐÔ£¨scalability£©²î£¬ÄÚºËͨ³£ÊÇÒ»¸ö¶ÀÁ¢µ¥Ôª£¬²»ÈÝÒ××ö³É·Ö²¼Ê½

¿ª·¢ÄѶÈÏà¶Ô½Ï¸ß£¬ÒòÎªÉæ¼°µ½²å¼þÓëÄں˵ÄͨÐÅ£¬ÒÔ¼°ÄÚ²¿µÄ²å¼þµÇ¼Ç»úÖÆ

ËÄ¡¢Î¢·þÎñ¼Ü¹¹

΢·þÎñ¼Ü¹¹£¨microservices architecture£©ÊÇ·þÎñµ¼Ïò¼Ü¹¹£¨service-oriented architecture£¬Ëõд SOA£©µÄÉý¼¶¡£

ÿһ¸ö·þÎñ¾ÍÊÇÒ»¸ö¶ÀÁ¢µÄ²¿Êðµ¥Ôª£¨separately deployed unit£©¡£ÕâЩµ¥Ôª¶¼ÊÇ·Ö²¼Ê½µÄ£¬»¥Ïà½âñͨ¹ýÔ¶³ÌͨÐÅЭÒ飨±ÈÈçREST¡¢SOAP£©ÁªÏµ¡£

΢·þÎñ¼Ü¹¹·Ö³ÉÈýÖÖʵÏÖģʽ¡£

RESTful API ģʽ£º·þÎñͨ¹ý API Ìṩ£¬ÔÆ·þÎñ¾ÍÊôÓÚÕâÒ»Àà

RESTful Ó¦ÓÃģʽ£º·þÎñͨ¹ý´«Í³µÄÍøÂçЭÒé»òÕßÓ¦ÓÃЭÒéÌṩ£¬±³ºóͨ³£ÊÇÒ»¸ö¶à¹¦ÄܵÄÓ¦ÓóÌÐò£¬³£¼ûÓÚÆóÒµÄÚ²¿

¼¯ÖÐÏûϢģʽ£º²ÉÓÃÏûÏ¢´úÀí£¨message broker£©£¬¿ÉÒÔʵÏÖÏûÏ¢¶ÓÁС¢¸ºÔؾùºâ¡¢Í³Ò»ÈÕÖ¾ºÍÒì³£´¦Àí£¬È±µãÊÇ»á³öÏÖµ¥µãʧ°Ü£¬ÏûÏ¢´úÀí¿ÉÄÜÒª×ö³É¼¯Èº

Óŵã

À©Õ¹ÐԺ㬸÷¸ö·þÎñÖ®¼äµÍñîºÏ

ÈÝÒײ¿Êð£¬Èí¼þ´Óµ¥Ò»¿É²¿Êðµ¥Ôª£¬±»²ð³ÉÁ˶à¸ö·þÎñ£¬Ã¿¸ö·þÎñ¶¼Êǿɲ¿Êðµ¥Ôª

ÈÝÒ׿ª·¢£¬Ã¿¸ö×é¼þ¶¼¿ÉÒÔ½øÐгÖÐø¼¯³ÉʽµÄ¿ª·¢£¬¿ÉÒÔ×öµ½ÊµÊ±²¿Ê𣬲»¼ä¶ÏµØÉý¼¶

Ò×ÓÚ²âÊÔ£¬¿ÉÒÔµ¥¶À²âÊÔÿһ¸ö·þÎñ

ȱµã

ÓÉÓÚÇ¿µ÷»¥Ïà¶ÀÁ¢ºÍµÍñîºÏ£¬·þÎñ¿ÉÄÜ»á²ð·ÖµÃºÜϸ¡£Õâµ¼ÖÂϵͳÒÀÀµ´óÁ¿µÄ΢·þÎñ£¬±äµÃºÜÁèÂҺͱ¿ÖØ£¬ÐÔÄÜÒ²»á²»¼Ñ¡£

Ò»µ©·þÎñÖ®¼äÐèҪͨÐÅ£¨¼´Ò»¸ö·þÎñÒªÓõ½ÁíÒ»¸ö·þÎñ£©£¬Õû¸ö¼Ü¹¹¾Í»á±äµÃ¸´ÔÓ¡£µäÐ͵ÄÀý×Ó¾ÍÊÇһЩͨÓÃµÄ Utility À࣬һÖÖ½â¾ö·½°¸ÊǰÑËüÃÇ¿½±´µ½Ã¿Ò»¸ö·þÎñÖÐÈ¥£¬ÓÃÈßÓ໻ȡ¼Ü¹¹µÄ¼òµ¥ÐÔ¡£

·Ö²¼Ê½µÄ±¾ÖÊʹµÃÕâÖּܹ¹ºÜÄÑʵÏÖÔ­×ÓÐÔ²Ù×÷£¬½»Ò׻عö»á±È½ÏÀ§ÄÑ¡£

Îå¡¢ÔÆ¼Ü¹¹

ÔÆ½á¹¹£¨cloud architecture£©Ö÷Òª½â¾öÀ©Õ¹ÐԺͲ¢·¢µÄÎÊÌ⣬ÊÇ×îÈÝÒ×À©Õ¹µÄ¼Ü¹¹¡£

ËüµÄ¸ßÀ©Õ¹ÐÔ£¬Ö÷ÒªÔ­ÒòÊÇûʹÓÃÖÐÑëÊý¾Ý¿â£¬¶øÊǰÑÊý¾Ý¶¼¸´ÖƵ½ÄÚ´æÖУ¬±ä³É¿É¸´ÖƵÄÄÚ´æÊý¾Ýµ¥Ôª¡£È»ºó£¬ÒµÎñ´¦ÀíÄÜÁ¦·â×°³ÉÒ»¸ö¸ö´¦Àíµ¥Ôª£¨prcessing unit£©¡£·ÃÎÊÁ¿Ôö¼Ó£¬¾Íн¨´¦Àíµ¥Ôª£»·ÃÎÊÁ¿¼õÉÙ£¬¾Í¹Ø±Õ´¦Àíµ¥Ôª¡£ÓÉÓÚûÓÐÖÐÑëÊý¾Ý¿â£¬ËùÒÔÀ©Õ¹ÐÔµÄ×î´óÆ¿¾±ÏûʧÁË¡£ÓÉÓÚÿ¸ö´¦Àíµ¥ÔªµÄÊý¾Ý¶¼ÔÚÄÚ´æÀ×îºÃÒª½øÐÐÊý¾Ý³Ö¾Ã»¯¡£

Õâ¸öģʽÖ÷Òª·Ö³ÉÁ½²¿·Ö£º´¦Àíµ¥Ôª£¨processing unit£©ºÍÐéÄâÖмä¼þ£¨virtualized middleware£©¡£

´¦Àíµ¥Ôª£ºÊµÏÖÒµÎñÂß¼­

ÐéÄâÖмä¼þ£º¸ºÔðͨÐÅ¡¢±£³Ösessions¡¢Êý¾Ý¸´ÖÆ¡¢·Ö²¼Ê½´¦Àí¡¢´¦Àíµ¥ÔªµÄ²¿Êð¡£

ÐéÄâÖмä¼þÓÖ°üº¬Ëĸö×é¼þ¡£

ÏûÏ¢Öмä¼þ£¨Messaging Grid£©£º¹ÜÀíÓû§ÇëÇóºÍsession£¬µ±Ò»¸öÇëÇó½øÀ´ÒԺ󣬾ö¶¨·ÖÅ䏸ÄÄÒ»¸ö´¦Àíµ¥Ôª¡£

Êý¾ÝÖмä¼þ£¨Data Grid£©£º½«Êý¾Ý¸´ÖƵ½Ã¿Ò»¸ö´¦Àíµ¥Ôª£¬¼´Êý¾Ýͬ²½¡£±£Ö¤Ä³¸ö´¦Àíµ¥Ôª¶¼µÃµ½Í¬ÑùµÄÊý¾Ý¡£

´¦ÀíÖмä¼þ£¨Processing Grid£©£º¿ÉÑ¡£¬Èç¹ûÒ»¸öÇëÇóÉæ¼°²»Í¬ÀàÐ͵Ĵ¦Àíµ¥Ôª£¬¸ÃÖмä¼þ¸ºÔðЭµ÷´¦Àíµ¥Ôª

²¿ÊðÖмä¼þ£¨Deployment Manager£©£º¸ºÔð´¦Àíµ¥ÔªµÄÆô¶¯ºÍ¹Ø±Õ£¬¼à¿Ø¸ºÔغÍÏìӦʱ¼ä£¬µ±¸ºÔØÔö¼Ó£¬¾ÍÐÂÆô¶¯´¦Àíµ¥Ôª£¬¸ºÔؼõÉÙ£¬¾Í¹Ø±Õ´¦Àíµ¥Ôª¡£

Óŵã

¸ß¸ºÔØ£¬¸ßÀ©Õ¹ÐÔ

¶¯Ì¬²¿Êð

ȱµã

ʵÏÖ¸´ÔÓ£¬³É±¾½Ï¸ß

Ö÷ÒªÊʺÏÍøÕ¾ÀàÓ¦Ó㬲»ºÏÊÊ´óÁ¿Êý¾ÝÍÌ͵ĴóÐÍÊý¾Ý¿âÓ¦ÓÃ

½ÏÄѲâÊÔ

   
4730 ´Îä¯ÀÀ       27
Ïà¹ØÎÄÕÂ

ÆóÒµ¼Ü¹¹¡¢TOGAFÓëArchiMate¸ÅÀÀ
¼Ü¹¹Ê¦Ö®Â·-ÈçºÎ×öºÃÒµÎñ½¨Ä££¿
´óÐÍÍøÕ¾µçÉÌÍøÕ¾¼Ü¹¹°¸ÀýºÍ¼¼Êõ¼Ü¹¹µÄʾÀý
ÍêÕûµÄArchimateÊÓµãÖ¸ÄÏ£¨°üÀ¨Ê¾Àý£©
Ïà¹ØÎĵµ

Êý¾ÝÖÐ̨¼¼Êõ¼Ü¹¹·½·¨ÂÛÓëʵ¼ù
ÊÊÓÃArchiMate¡¢EA ºÍ iSpace½øÐÐÆóÒµ¼Ü¹¹½¨Ä£
ZachmanÆóÒµ¼Ü¹¹¿ò¼Ü¼ò½é
ÆóÒµ¼Ü¹¹ÈÃSOAÂ䵨
Ïà¹Ø¿Î³Ì

ÔÆÆ½Ì¨Óë΢·þÎñ¼Ü¹¹Éè¼Æ
ÖÐ̨սÂÔ¡¢ÖÐ̨½¨ÉèÓëÊý×ÖÉÌÒµ
ÒÚ¼¶Óû§¸ß²¢·¢¡¢¸ß¿ÉÓÃϵͳ¼Ü¹¹
¸ß¿ÉÓ÷ֲ¼Ê½¼Ü¹¹Éè¼ÆÓëʵ¼ù