å 責äºé ïŒMartin Fowlerã®èšäºã¯2003幎ã«çºè¡ãããŸããIEEE Software Magazineã§ã ãããã¯ãŒã¯ïŒãã ãHabréãé€ãïŒã«ã¯ã5幎åã®Sergey TeplyakovaïŒ SergeyT ïŒããã®ãã°ããã翻蚳ããããŸãã
ç§ã¯æè¿ãå»äžã§æããã«ã€ã©ã€ã©ããŠããååããã€ãã»ã©ã€ã¹ã«äŒããŸããã ç§ã®æåã®è³ªåã¯ããå±¥æŽæžã«ã建ç¯å®¶ããšããé ç®ãããåè£è ãç¡èŠããå¿ èŠãããããšããå³ãã声æãåŒãèµ·ãããŸããã ãã®å¥åŠãªãã¬ãŒãºã§ã¯ãç§ãã¡èªèº«ãååãšããŠããã€ããäž»èŠãªå»ºç¯å®¶ã®äžäººãšããŠè¡šããŠããŸãã
圌ã®ãåèªç²Ÿç¥ç ãã®çç±ã¯ãç§ãã¡ã®æ¥çã®åºæºã§ããã建ç¯å®¶ããšã建ç¯ããšããèšèã®æå³ãéåžžã«é倧è©äŸ¡ãããŠãããšããäºå®ã§ããã å€ãã®äººã«ãšã£ãŠãããœãããŠã§ã¢ã¢ãŒããã¯ãããšããçšèªã¯ãæçµã·ãŒã³ãMatrixïŒRebootãã®ç¬åµçã§å®å šã«å¶åŸ¡ãããã€ã¡ãŒãžãšå®å šã«äžèŽããããã§ãã ãããããã®ãããªãã£ã¹ãã¬ã€ãéåžžã«è»œwithããŠããäŒæ¥ã§ããããã¯ãåãããã«ãæè¡çãªãªãŒããŒãã€ãŸãæ¬è³ªçã«ãã€ãèªèº«ã®ãããªã¢ãŒããã¯ãã«ãšã£ãŠéèŠãªåœ¹å²ããããŸãã
ã¢ãŒããã¯ãã£ãšã¯ïŒ
ãPatterns of Enterprise Application ArchitectureãïŒAddison-Wesleyã2002幎ïŒãšããæ¬ã®ã¿ã€ãã«ã§èªåèªèº«ãèŠããããšããåè©è«å®¶ã¯ãarchitectureããã¿ã€ãã«ã«åœç¶å«ãŸããŠããããšã«åæããŸããã ãããããã®èšèãå®çŸ©ããããšããã®ã¯å°é£ã§ããã ãããç§ã®æ¬ã ã£ãã®ã§ãç§ã¯ãã®æŠå¿µã«å¯ŸåŠãã矩åããããšæããŸããã
ãããŸããããéããããã®æåã®è¡åã¯ãç®èã«é¥ãããšã§ããã ããæå³ã§ãç§ã¯ã¢ãŒããã¯ãã£ãããã¶ã€ã³ãè°è«ããããšãã«äœ¿çšããèšèãšããŠå®çŸ©ãããã¶ã€ã³ãããéèŠã«ããããšè©Šã¿ãŸããã ïŒã¯ããåãããšã建ç¯å®¶ã«ãé©çšã§ããŸãïŒã ããããããããããšã§ãããç®èã®ççºã«ã¯çå®ã®äžæ»ŽãèŠãããŸãã Extreme Programmingã®ã¡ãŒãªã³ã°ãªã¹ãã§Ralph Johnsonã®æçš¿ãèªãã åŸãç解ãåŸãããŸããã éä¿¡ã¯éåžžã«è¯ãã£ãã®ã§ãããã«å®å šã«æã£ãŠãããŸãã
åã®æçš¿ã¯èšã£ãïŒ
IEEEã®å®çŸ©ã«åºã¥ãRUPã¯ãã¢ãŒããã¯ãã£ããç°å¢å ã®ã·ã¹ãã ã®æé«ã¬ãã«ã®æŠå¿µããšèª¬æããŠããŸãã ïŒæå®ã®æç¹ã§ã®ïŒãœãããŠã§ã¢ã·ã¹ãã ã®ã¢ãŒããã¯ãã£ã¯ãåã³ã³ããŒãã³ããããã«å°ããªã³ã³ããŒãã³ããšã€ã³ã¿ãŒãã§ã€ã¹ããçµã¿ç«ãŠãããã€ã³ã¿ãŒãã§ã€ã¹ãéããŠçžäºäœçšããéèŠãªã³ã³ããŒãã³ãã®çµç¹ãŸãã¯æ§é ã§ãã
ãžã§ã³ãœã³ã¯çããïŒ
ç§ã¯ãèšåãããIEEEæšæºã®ã¬ãã¥ã¢ãŒã§ããããããå®å šã«ãã€å®å šã«åœã®å®çŸ©ã§ããããšã蚌æããŸããã ã·ã¹ãã ã«é¢ããé«ã¬ãã«ã®æŠå¿µã¯ãããŸããã ãŠãŒã¶ãŒã«ã¯ãéçºè ãæäœãããã®ãšã¯ç°ãªããã·ã¹ãã ã«é¢ããç¬èªã®ããžã§ã³ããããŸãã éåžžããŠãŒã¶ãŒã¯éèŠãªã³ã³ããŒãã³ãã®æ§é ãæ°ã«ããŸããã ã¯ããããããã¢ãŒããã¯ãã£ã¯ãç°å¢å ã®ã·ã¹ãã ã«é¢ããéçºè ã®æé«ã¬ãã«ã®ãã¥ãŒã§ãã ããããå°ããªé åããç解ã§ããªãéçºè ã«ã€ããŠã¯å¿ããŸãããã ã¢ãŒããã¯ãã£ã¯ã ãšãã¹ããŒãéçºè ã«ããã·ã¹ãã ã®æé«ã¬ãã«ã®è¡šçŸã§ãã ç¹å®ã®ã³ã³ããŒãã³ããéèŠãªçç±ã¯äœã§ããïŒ å°é家ãããèšã£ãã®ã§éèŠã§ãã
ãããã£ãŠãæè¯ã®å®çŸ©ã¯æ¬¡ã®ããã«ãªããŸãããæãæåãããœãããŠã§ã¢éçºãããžã§ã¯ãã§ã¯ããã®ãããžã§ã¯ãã«åãçµãã§ããæãåªç§ãªéçºè ã¯ãã·ã¹ãã èšèšã«ã€ããŠåãç解ãæã£ãŠããŸãã ãã®ãããªå ±åç解ã¯ãã¢ãŒããã¯ãã£ããšåŒã°ããŸãã ãã®ç解ã«ã¯ãã·ã¹ãã ãã©ã®ããã«ã³ã³ããŒãã³ãã«åå²ãããããããã³ãããã®ã³ã³ããŒãã³ããã€ã³ã¿ãŒãã§ãŒã¹ãä»ããŠçžäºäœçšããæ¹æ³ãå«ãŸããŸãã ããããã®ã³ã³ããŒãã³ãã¯éåžžãå°ããªããŒãã§æ§æãããŠããŸãããã¢ãŒããã¯ãã£ã«ã¯ããã¹ãŠã®éçºè ãããã«ç解ã§ããã³ã³ããŒãã³ããšã€ã³ã¿ãŒãã§ãŒã¹ã®ã¿ãå«ãŸããŠããŸããã
ãã®ãããªå®çŸ©ã¯ãã¢ãŒããã¯ãã£ã瀟äŒçãªæ§æèŠçŽ ã§ããããšãæããã«ãªããããããè¯ãå¯èœæ§ããããŸãïŒããããœãããŠã§ã¢èªäœãããã§ãããã¢ãŒããã¯ãã£ã¯ããã«ããã§ãïŒãã°ã«ãŒãã®ã³ã³ã»ã³ãµã¹ã®çµæãšããŠéèŠã§ãã
ãã®ããã«ãã¢ãŒããã¯ãã£ãå®çŸ©ããå¥ã®æ¹æ³ããããŸãããã¢ãŒããã¯ãã£ãšã¯ããããžã§ã¯ãã®åæ段éã§è¡ããªããã°ãªããªãäžé£ã®æ±ºå®ã§ããã ãŸããç§ã¯ãã®ãªãã·ã§ã³ãæ¹å€ããã¢ãŒããã¯ãã£ã¯ä»ã®ã©ã®ãããžã§ã¯ããããæåãããšããäºå®ã§ã¯ãªããšããäºå®ã«ããããããããããžã§ã¯ãã®æåããããã«æ±ºå®ããããšèããŠããŸãã
ãããã®å Žåã§ãã2çªç®ã®å®çŸ©ã«ãããšãã»ãšãã©ã®ãããžã§ã¯ãã§ã¯ãããã°ã©ãã³ã°èšèªã¯ã¢ãŒããã¯ãã£ã®äžéšã«ãªããŸãããæåã®å®çŸ©ã«ãããš-ãããã
äœããã¢ãŒããã¯ãã£ã®äžéšã§ãããã©ããã¯ããããéçºè ã«ãã£ãŠéèŠãšèŠãªããããã©ããã«å®å šã«äŸåããŸãã ãäŒæ¥ãã¢ããªã±ãŒã·ã§ã³ãäœæãã人ã ã¯ãæ°žç¶æ§ãéèŠã§ãããšèããŠããŸãã ã¢ãŒããã¯ãã£ã®æŠèŠã説æãããšãããã«3ã€ã®ã¬ãã«ãåŸãããŸãã ãOracleãããŒã¿ããŒã¹ãšããŠäœ¿çšããç¬èªã®ã¹ãã¬ãŒãžã¬ã€ã€ãŒãäœæããŠãã®äžã«ãªããžã§ã¯ãã衚瀺ããããªã©ã®ããšãè¿°ã¹ãŸããã ãã ããå»ççšç»åã¢ããªã±ãŒã·ã§ã³ã«ã¯ãã¢ãŒããã¯ãã£ã®èŠ³ç¹ããèæ ®ããã«Oracleãã¯ãããžãŒãå«ããããšãã§ããŸãã ããã¯ãã¹ãã¬ãŒãžã®æ倧ã®é£ç¹ã¯ã¹ãã¬ãŒãžã§ã¯ãªãç»åã®åŠçã ããã§ãã ç»åã®ååŸãšä¿åã¯ãã¢ããªã±ãŒã·ã§ã³ã®ããäžéšã«ãã£ãŠã®ã¿æäŸãããã»ãšãã©ã®éçºè ã¯åã«ãããç¡èŠããŸãã
ããããã¢ãŒããã¯ãã£ã®èšè¿°æ¹æ³ã人ã ã«èª¬æããã®ãé£ããããŠããçç±ã§ãã ãããã§éèŠãªããšãæããŠãã ãããã ã¢ãŒããã¯ãã£ã¯éèŠãªãã®ã§ãã ãããã®äžã§ããã¯æå³ãããŸããã§ããã
建ç¯å®¶ã®åœ¹å²
ãã®ããã建ç¯ãéèŠãªãã®ã«é¢ãããã®ã§ããå Žåã建ç¯å®¶ã¯éèŠãªããšãéèŠãã人ïŒãŸãã¯ã°ã«ãŒãïŒã§ãã ãããŠããã§ãããããªãã¯ã¹ïŒãªããŒããããããã®å»ºç¯å®¶ã®èŠæ¹ãšããã€ãã»ã©ã€ã¹ã®äººã«è¡šãããŠããã¹ã¿ã€ã«ãšã®éãã®æ¬è³ªã«è¿«ããŸãã
Arkitektus RilaudusïŒArchitectus ReloadusïŒã¯ããã¹ãŠã®éèŠãªæ±ºå®ãäžããã£ã©ã¯ã¿ãŒã§ãã 建ç¯å®¶ããããè¡ãã®ã¯ãæŠå¿µçã«å šäœçãªã·ã¹ãã ã確ä¿ããããã«çµ±äžããããã¥ãŒãå¿ èŠã§ããããããã建ç¯å®¶ããã®ãããªæ±ºå®ãäžãã®ã«ååãªè³æ ŒãããããŒã ã¡ã³ããŒãèæ ®ããŠããªãããã§ã å€ãã®å Žåããã®ãããªæ±ºå®ã¯ãä»ã®ãã¹ãŠã®äººãåŸãããšãã§ããèšç»ãæã€ããã«ãæãæ©ã段éã§è¡ããªããã°ãªããŸããã
Arkitektus OrizusïŒArchitectus OryzusïŒã¯å¥ã®ç£ã§ãïŒæšæž¬ã§ããªãå Žåã¯ã archives.nd.edu/latgramm.htmãè©ŠããŠãã ããïŒã ãã®ã¿ã€ãã®ã¢ãŒããã¯ãã¯ããããžã§ã¯ãã§èµ·ãã£ãŠããããšã«éåžžã«æ³šæãæããéèŠãªåé¡ãæ¢ããæ·±å»ãªåé¡ã«ãªãåã«è§£æ±ºããå¿ èŠããããŸãã ãã®çš®ã®å»ºç¯å®¶ã芳å¯ãããšã圌ã®äœåã®æãé¡èãªéšåã¯éäžçãªååã§ããããšãããããŸãã ååäžããã®ãããªã¢ãŒããã¯ãã¯éçºè ãšããã°ã©ã ãçµãã§ãæãäžè¬çãªãããã¯ãã³ãŒããæ¢ããŸãã ååŸããã®ã¢ãŒããã¯ãã¯èŠä»¶å®çŸ©äŒè°ã«åå ããèŠä»¶éçºè ã«ãéçºã³ã¹ããªã©ã®éæè¡çãªæŠå¿µãéããŠãã¢ã€ãã¢ã®ããã€ãã®æè¡çãªæå³ã説æããã®ã«åœ¹ç«ã¡ãŸãã
å€ãã®ç¹ã§ãArkitektus Orizusã®æãéèŠãªè·æ¥ã¯ãããŒã ãæå°ããããè€éãªåé¡ã解決ã§ããã¬ãã«ã«äžããããšã§ãã ããŒã ã®èœåãåäžããããšã建ç¯å®¶ã¯åç¬ã®ãªãŒããŒã®ç«å Žãããããã¯ããã«åŒ·åãªã¬ãã¬ããžãåŸãããšãã§ãããããžã§ã¯ãã®å»ºç¯ã³ã«ã¯ã«ãªãå±éºãåé¿ããã®ã«åœ¹ç«ã¡ãŸãã ããã«ããçµéšåãåŸãããŸããã¢ãŒããã¯ãã®äŸ¡å€ã¯ã圌ãŸãã¯åœŒå¥³ãäžã決å®ã®æ°ã«åæ¯äŸããŸãã
ThoughtWorksã®æè¿ã®ãªããªãŒãã§ã建ç¯å®¶ãšååã®äœäººããšè©±ããŸããã Arkitektus Orizusaã念é ã«çœ®ããŠãããžã·ã§ã³ã®æ§è³ªã«ã€ããŠããã«å ±éã®æèŠã«ãªã£ãã®ã¯é¢çœãããã«æããŸãããã圌ã®ååãéžã¶ããšã¯ãã§ã«å®¹æã§ã¯ãããŸããã§ããã Arkitektus Rilaudusã¯ãç§ãã¡ã«ãšã£ãŠã建ç¯å®¶ããšããŠåé¡ããã«ã¯ããŸãã«ã銎æã¿ããããããã«ãäžæ£ç¢ºãªã¡ã¿ãã¡ãŒã«åºã¥ããŠããŸãïŒ ãã¡ããåç §ïŒã ãã€ã¯ã»ããŒïŒãã€ã¯ã»ããŒïŒã¯ãç§ãå¶ç¶èãã人ãã¡ã®æé«ã®ååãææ¡ããŸããïŒç»å±±ã®æå³ã§ã®ææ®è ã ææ®è ã¯çµéšè±å¯ã§çç·ŽããããŒã ã®ã¡ã³ããŒã§ãããã°ã«ãŒãã®ä»ã®ã¡ã³ããŒã«èªåã§å±éºã«å¯ŸåŠããããã«æããåæã«ç¹ã«é£ããå Žåã«ã¯åžžã«ããã«ããŸãã
ãœãããŠã§ã¢ã¢ãŒããã¯ãã£ãåãé€ã
ç§ã¯æçºçãªèŠåºããæžãã®ã奜ãã§ãããã®å Žåã®ããã«ãæé«ã®ãã®ã«ã¯éèŠãªæå³ãå«ãŸããŠããŸãããå¿ ãããæçœã§ã¯ãããŸããã ãžã§ã³ãœã³ã®2çªç®ã®å®çŸ©ãæãåºããŠãã ããããã¢ãŒããã¯ãã£ã¯ããããžã§ã¯ãã®åæ段éã§ãšã©ãŒãªãã«è¡ãããææ決å®ã§ããã ãªã人ã ã¯ããããžã§ã¯ãã®æåã®æ®µéã§ããã€ãã®ãã€ã³ãã解決ããå¿ èŠããããšèããã®ã§ããããïŒ èå¿ãªç¹ã¯ããããã®èŠçŽ ãæããã«è€éãããŠå°æ¥å€æŽã§ããªãããšã§ãã ã€ãŸã æçµçã«ãã¢ãŒããã¯ãã£ã®å®çŸ©ãã人ã ãå°æ¥å€æŽããã®ãé£ãããšæããèŠçŽ ããšèšãæããããšãã§ããŸãã
ããšãã°ãäŒæ¥ã¢ããªã±ãŒã·ã§ã³ã®æ§ç¯ã§ã¯ãããŒã¿ããŒã¹ã¹ããŒããæåãã決å®ããå¿ èŠããããšèããããŠããŸãã ç¹ã«ã¢ããªã±ãŒã·ã§ã³ãæ¢ã«äœ¿çšãããŠããå Žåã¯ãåºæ¬ã¹ããŒã ãå€æŽããã®ã¯æ¬åœã«é£ããããã§ãã ç§ãã¡ã®ãããžã§ã¯ãã®1ã€ã§ãããŒã¿ããŒã¹ç®¡çè Pramod Sadalageããåé¡ãªãã¹ããŒã ãå€æŽïŒããã³ããŒã¿ã転éïŒã§ããã·ã¹ãã ãæãä»ããŸããïŒãã¡ããšç¿»èš³ãã芧ãã ããïŒã ãããè¡ã£ãåŸã圌ã¯ã¢ãŒããã¯ãã£ãŒèŠçŽ ã®æŸåºã®ããã«ããŒã¿ããŒã¹ã¹ããŒããé€å€ããŸããã ãã®ãœãªã¥ãŒã·ã§ã³ã¯ãå€åã«ããŸã察å¿ã§ããã®ã§çŽ æŽããããšæããŸãã
ãšã³ããã¹ãã®ãšã³ãªã³ã»ã¶ããããã¯ã XP2002ã«ã³ãã¡ã¬ã³ã¹ã§ã®ã¹ããŒãã§ã補é ãšãœãããŠã§ã¢éçºã«ãããã¢ãžã£ã€ã«ã®ã¢ã€ãã¢ã®èåŸã«ããäž»èŠãªã¢ã€ãã¢ãçºè¡šããŸããã ç§ãç¹ã«èå³æ·±ããšæã£ã1ã€ã®ãã€ã³ãã¯ã äžå¯éæ§ãè€éããããããäž»èŠãªèŠå ã®1ã€ã§ãããšãã圌ã®ã³ã¡ã³ãã§ããã 圌ã¯ãæ¥çããã³ãœãããŠã§ã¢éçºæ¥çã®ã¢ãžã£ã€ã«ææ³ããæ··ä¹±ãæãä»ã®åæãåãé€ãããšãšã¯å¯Ÿç §çã«ãäžå¯éæ§ã«å¯ŸåŠããæ¹æ³ã暡玢ãããã©ãã€ã ã·ããã§ãããšèããŸããã ã¢ãŒããã¯ãã®äž»ãªã¿ã¹ã¯ã®1ã€ã¯ãã¢ãŒããã¯ãã£ãåãé€ãããšããœãããŠã§ã¢ãã¶ã€ã³ã®äžå¯éæ§ãé²ãæ¹æ³ãèŠã€ããããšã ãšæããŸãã
ãããŠåã³ããžã§ã³ãœã³ã«æ»ã£ãŠãä»åºŠã¯ç§ã®æçŽã«çããŸãã
建ç¯ã¢ãŒããã¯ãã£ãšãœãããŠã§ã¢ã¢ãŒããã¯ãã£ã®éãã®1ã€ã¯ãå€ãã®å»ºç¯æ±ºå®ãå€æŽããã®ãéåžžã«é£ããããšã§ãã ãŸã å¯èœã§ãããæåã«æ»ã£ãŠå°äžå®€ãå€æŽããããšã¯å°é£ã§ãã
ãœãããŠã§ã¢ã§å€æŽããã®ãé£ãããã®ãèæ ®ããçè«çã«æ£åœãªçç±ã¯ãããŸããã ãœãããŠã§ã¢ã®ãããã1ã€ã®åŽé¢ãéžæããå Žåãå€æŽã¯ç°¡åã§ãããé£ç¹ã¯ãããã«ãã¹ãŠãç°¡åã«ä¿®æ£ã§ããããã«ããæ¹æ³ãããããªãããšã§ãã ç°¡åã«å€æŽå¯èœãªãã®ãäœæããããšãããšãã·ã¹ãã å šäœãå°ãè€éã«ãªãã ãã¹ãŠãå€æŽå¯èœã«ããããšãããšãã·ã¹ãã å šäœãéåžžã«è€éã«ãªããšããäºå®ã«ã€ãªãããŸãã æ··ä¹±ã¯ããœãããŠã§ã¢ã®å€æŽãè€éã«ãããã®ã§ãã ããã¯è€è£œã§ãã
ã¢ã¹ãã¯ãæåããã°ã©ãã³ã°ã«é¢ããç§ã®çºèšã®ãã€ã³ãã¯ãããã°ã©ã ã®åŽé¢ã匷調ããããªãè¯ãæ¹æ³ããã§ã«æã£ãŠããããããã䜿çšããŠããªããšããããšã§ãã æ¬åœã®åé¡ã¯ãåŽé¢ã匷調ããããã®æè¯ã®æè¡ã«ãã£ãŠè§£æ±ºããããšã¯æããŸããã ã©ã®åŽé¢ãç¹å®ãã¹ãããããããåå¥ã«æ€èšãã䟡å€ãããå Žåãããã§ãªãå Žåã¯ããããŸããã
ãœãããŠã§ã¢ã¯ãåã建ç©ã®ãããªäžçã®ç©çæ³åã«éå®ãããŸããã æ³ååããã¶ã€ã³ãçµç¹ã«ãã£ãŠå¶éãããŸãã ã€ãŸããäžçã®ç¹æ§ã§ã¯ãªãã人éã®ç¹æ§ã«ãã£ãŠå¶éãããŸãã ãç§ãã¡ã¯æµã«äŒãã圌ã¯ç§ãã¡ã§ããããšãå€æããŸãããã
ThoughtWorksã®äž»ä»»ç 究å¡ãããŒãã£ã³ã»ãã¡ãŠã©ãŒ