APIå ¬éã«ããäžç¢ºå®æ§ã®é«ãŸã
SMAC/IoT/AI/APIãªã©ããžã¿ã«ããžãã¹ã®ç³ãåã®ãããªããŒã¯ãŒããæè¡èªã®ã¿ãªãããããžãã¹èªããåžå·»ããŠããŠããŸããAPIã¯è¿å¹ŽããªãŒãã³APIããšãåŒã°ããéèåºã«ããAPIå ¬éã®å®è³ªçŸ©ååãæç€ºããããªã©ãå ¬éããæä»£ã«ãªã£ãŠããŠããŸãã
APIã«ãããããŸã§ä»¥äžã«äŒæ¥ã·ã¹ãã å士ãç¹ããããã«ãªããå Žåã«ãã£ãŠã¯äžç¹å®å€æ°ã®ãŠãŒã¶ããã®ã¢ã¯ã»ã¹ããäžæçã»ç¬çºçã«éäžããã±ãŒã¹ããããŸãã倩空ã®åã©ãã¥ã¿ãæŸéãããéäžæã«ç Žæ» ã®åªæããã€ãŒããããããã¬ãçªçµã§ã¯ã€ãºã«åçãæç¥šãããããéåžžæãšã¯ç°ãªã颿£çã§æ¥æ¿ãªã¢ã¯ã»ã¹å¢ã«ã©ããã£ãŠåãããã¯ãã·ã¹ãã ã¢ãŒããã¯ãã®é ãæ©ãŸãçš®ã«ãªããŸãã
ãªã¢ã¯ãã£ããšã¯
ããªã¢ã¯ãã£ãããšããèšèãèããããšãããã§ãããããçŽèš³ãããšãåå¿æ§ããšãªããäžç¹å®å€æ°ã®ãŠãŒã¶ãIoTæ©åšã«APIãå ¬éããæä»£ã«ãããŠããéæ©èœé¢å«ããŠå¿çãè¿ãã·ã¹ãã ãã©ã®ããã«å®çŸããŠãããã«ã€ããŠãéç¹ã眮ãããæŠå¿µã«ãªããŸãã
èåãªã·ã¹ãã ã¢ãŒããã¯ãéã«ãã£ãŠäœæãããããªã¢ã¯ãã£ã宣èšãã§ã¯ä»¥äžã®4ç¹ãæºãããã®ãšããŠãªã¢ã¯ãã£ãã·ã¹ãã ãå®çŸ©ããŠããŸãã
ãŸãã¯ããããŸã§ãããé«éãªã¬ã¹ãã³ã¹èŠæ±ãžã®å¯Ÿå¿ãšããŠãå³å¿æ§ãããããŸãããããå®çŸããææ®µãšããŠãèé害æ§ããåŒŸåæ§ããã¡ãã»ãŒãžé§åãããããŸãã
ã¯ã©ãŠãæä»£ããªããæ¥ã«ãªããŸãããAuto-Scalingãªã©ã®æè¡ãçšããŠæ¥æ¿ãªãªã¯ãšã¹ã墿žã«å¿ããŠãªãœãŒã¹ã䌞瞮ãããã®ããåŒŸåæ§ãã§ãã
ãèé害æ§ãã¯ãããŸã§ã®ãå£ããªããããã®åé·åæ§æã®ãããªä»çµã¿ã«å ããŠãããã«æ©ã埩æ§ããããšãããå埩æ§ããå ŒãåããŸãã
ãã¡ãã»ãŒãžé§åãã¯nodejsãªã©ã®ãã³ããããã³ã°æè¡ãçšãããéåææ§ããå®çŸããŸããããã«ããã·ã¹ãã ã®ãªãœãŒã¹ã®å¹çå©çšãªã©ãå¯èœã«ãªããŸãã
2005幎é ãStrutsãSpringãªã©ã®éçºãã¬ãŒã ã¯ãŒã¯ãããŠã¯ãããã2010幎é ãéçºããã»ã¹ã®åéã§ã¯é¡§å®¢ãžæäŸãã䟡å€ãéããããŠã©ãŒã¿ãŒãã©ãŒã«ãžã®ã¢ã³ãããŒãŒãšããŠãæ±ãããã¢ãžã£ã€ã«ã泚ç®ãããŸãããXX宣èšãšããæå³ã§ã¯ãã¢ãžã£ã€ã«ãœãããŠã§ã¢éçºå®£èšãã飿³ãããæ¹ãããã£ãããã®ã§ã¯ãªãã§ããããã
æšä»ã§ã¯ãäžè¿°ã®ãéçºãã¬ãŒã ã¯ãŒã¯ãããéçºããã»ã¹ããã³ã¢ãã£ãã£åããŠããŠããã€ã¯ããµãŒãã¹ãAPIããã¢ãŒããã¯ãã£ãããçç£æè¡ãã®ãã¬ã³ããšãªã£ãŠããŸãããã¯ã©ãŠããã€ãã£ãæä»£ã«æ¬ ãããªããThe Twelve-Factor AppããšäžŠã³ãããªã¢ã¯ãã£ãããéèŠèŠãããŠããããã«æããŠããŸãã
å ã«æããããªã¢ã¯ãã£ãã®4ã€ã®ç¹åŸŽã®å 容ã®è©³çްã¯ä»¥äžã®éãã§ãã
衚 : ãªã¢ã¯ãã£ãã®4ã€ã®ç¹åŸŽã®å 容
| ç¹åŸŽ(æ¥æ¬èªèš³) | ç¹åŸŽ(è±èª) | å 容 |
|---|---|---|
| å³å¿æ§ | Responsive | 3ç§ã«ãŒã«ã»7ç§ã«ãŒã«ãšå«ã°ããWebã·ã¹ãã ã®æä»£ããããªç§ã§ã®å¿çãæ±ããããæä»£ã«ãããŠããã®ä»ã®3ã€ã®ç¹åŸŽ(èé害æ§ãåŒŸåæ§ãã¡ãã»ãŒãžé§å)ãçšããŠé«éãªã¬ã¹ãã³ã¹ãå®çŸããã |
| èéå®³æ§ | Resilient | éšåçãªé害ã«ãã£ãŠãå¿çãè¿ããªããªããšããããšã¯ãå³å¿æ§ã倱ãããšã«çŽçµããŸããã¡ã€ã³ãã¬ãŒã ã®ãããªã·ã¹ãã ã«éããéèŠãªèŠçŽ ãšãªããŸããã³ã³ããŒãã³ãåã«ããéå®³ç®æã®åé¢ãªã©ã®æè¡ãçšããŠãã·ã¹ãã å šäœã®å¯çšæ§ãé«ããç¹ã«å ããŠãé害çºçæã«ããã«éåžžéè»¢ã«æ»ãããšãããå埩æ§ããéèŠèŠãããŸãã |
| åŒŸåæ§ | Elastic | ã¯ã©ãŠããåœããåã®æä»£ãšãªã£ãŠããã以åã®ããã«ããŒã¯æ¥ã»ããŒã¯æéã®è² è·ã¢ãã«ãå ã«ãèšèšæã«å²ãæ¯ã£ãCPUã³ã¢ãåºå®çã«äœ¿ãã®ã§ã¯ãªããAuto Scalingãªã©ã®ã¯ã©ãŠãæè¡ãçšããŠãCPUã³ã¢æ°ãè² è·ã«å¿ããŠå¯å€ã«ãããããã«ãããæ³å®å€ã®é«è² è·ã«å¯Ÿå¿ãããšãšãã«ã鿣æã«ã¯æäœéã®CPUã³ã¢ãšããããšã§CPUãªãœãŒã¹ãæå¹å©çšããã |
| ã¡ãã»ãŒãžé§å | Message Driven | äžè¿°ã®ãå¿çæ§ããèé害æ§ããåŒŸåæ§ããå®çŸããææ®µãã¡ãã»ãŒãžã³ã°æè¡ã®æŽ»çšã«ããåŠçéã»APIéãéåæã«ããççµåã«ããã
|
ãªã¢ã¯ãã£ãããã°ã©ãã³ã°
ãªã¢ã¯ãã£ãããã°ã©ãã³ã°ã¯ãéåæãªããŒã¿ã¹ããªãŒã ããäœ¿ãææ³ã§ãã€ãã³ãé§ååã®ã¢ããªã±ãŒã·ã§ã³ã®ããã°ã©ãã³ã°ææ³ã®äžã€ã§ããåè¿°ã®ãªã¢ã¯ãã£ã(ã·ã¹ãã )ãšã¯ç°ãªãæŠå¿µ/èšèã«ãªããŸããReactive Streamsã«ããæšæºåãç®æããŠããããµãŒãã¹éãççµåã«ã§ããç¹åŸŽãªã©ããAPIããã€ã¯ããµãŒãã¹ãšã®çžæ§ãè¯ããšãããŠããŸãã
æŠå¿µçã«ã¯ããã¹ããªãŒã ããšåŒã°ããå·ã«ãæµããŠããããŒã¿äžã€äžã€ã岞ã§åãåãããéåæãã§åŠçããŠãããŸããããŒã¿ãæµãåŽããçç£è ã(Producer PublisherãšãåŒã°ããŸã)ãåãåãåŽããæ¶è²»è ã(Consumer SubscriberãšãåŒã°ããŸã)ãšåŒã³ãŸãã
ããã¯ãã¬ãã·ã£ãšåŒã°ããæµéå¶åŸ¡ã®ä»çµã¿ãæã€ã®ãç¹åŸŽã§ãçç£è ãããã·ã¥åã§æ¶è²»è ã«ããŒã¿ãæµãã®ã§ã¯ãªããæ¶è²»è ãããã«åã§çç£è ã«ããŒã¿ãæµãã®ãèš±å¯ãã圢æ ããšããŸããããã«ã¯ãæ¶è²»è åŽã§ã¯NginxãNode.jsãªã©ã§æ¡çšãããŠãããã³ããããã³ã°I/Oãæ¡çšããããäžŠåæ§ã®é«ãåŠçãå®çŸããŸãã
ãªã¢ã¯ãã£ãããã°ã©ãã³ã°ã®å®è£ ã©ã€ãã©ãªãšããŠã¯ReactJSã»RxJSã»RxJavaãšãã£ããã®ãæåã§ããå ããŠãSpringã»JavaEEãªã©ãäž»èŠãªãã¬ãŒã ã¯ãŒã¯ããªã¢ã¯ãã£ãããã°ã©ãã³ã°å¯Ÿå¿ã謳ã£ãŠããŠããŸããäŸãã°Springã¯ããŒãžã§ã³5.0ããFluxã»Monoãªã©ã®Publlisherãçšãããªã¢ã¯ãã£ãããã°ã©ãã³ã°ã«å¯Ÿå¿äºå®ã§ãã
*ãã*ãã*
ä»åã¯ããªã¢ã¯ãã£ã宣èšã®è§£èª¬ãããŒã¹ã«ãªã¢ã¯ãã£ãã®4ã€ã®ç¹åŸŽã説æããŸããããŸã䜵ããŠããªã¢ã¯ãã£ãããã°ã©ãã³ã°ã«ãããéåæãªããŒã¿ã¹ããªãŒã ã«é¢ããã€ã¡ãŒãžãæŽãã§ããã ããŸããã
SoE(System of Engagement)ãšãåŒã°ããAPIãªã©ãéããŠäŒæ¥éã®ã·ã¹ãã ãIoTããã€ã¹ãç¹ããããã«ãªããã·ã¹ãã ãåãå·»ãäžç¢ºå®æ§ããŸããŸãé«ãŸã£ãŠããŠããŸããé«è² è·å¯Ÿå¿ã®ç§èš£ãšããŠãªã¢ã¯ãã£ãããæ€èšãããŠã¿ãŠã¯ãããã§ããããã
èè 玹ä»
![]() |
æ£é åå£ (SHONO Yuji ) - NTTããŒã¿ ã·ãã¢ã¹ãã·ã£ãªã¹ã
2011幎é ãŸã§éçºèªååæè¡ã®R&Dã«åŸäºããã®åŸãéçºãããžã§ã¯ãæ¯æŽããã©ãã«ã·ã¥ãŒãã£ã³ã°çã«äž»æŠå Žãç§»ããããœãŒã¹ã³ãŒãèªåçæãã«å ããŠãJenkinsãMavençã®ããã«ãèªååããJsTestDriverãSeleniumçã®ããã¹ãèªååããæ±ãããã«ãªãã倿§åããéçºèªååæè¡ååã«èå³ã
æè¿ã¯ç¬¬åã®èªååã§ããInfrastructure as Codeçã®ãåºç€èªååãã®é åã«æ¹ãããŠãããéçºèªååæè¡ã«é¢ããéèªã»èšäºå·çãè¡ãã2å ã®ããã


