RESTful ãµãŒãã¹ (Representational State Transfer ãµãŒãã¹) ã¯ãã¹ã±ãŒã©ãã«ã§ã¹ããŒãã¬ã¹ãã€çžäºéçšå¯èœãªæ¹æ³ã§ Web ãµãŒãã¹ãèšèšãå®è£ ãããã³å¯Ÿè©±ããããã®æšæºåãããã¢ãããŒããå®çŸ©ãã Web ã¢ãŒããã¯ãã£ã®ååãšå¶çŽã®ã»ããã§ãããã®çšèªã¯ãã〠ãã£ãŒã«ãã£ã³ã°ã 2000 幎ã®åå£«è«æã§åããŠäœã£ããã®ã§ããHTTP ãããã³ã«ãäžå¿ã«æ§ç¯ããããããã®ãµãŒãã¹ã¯ãäžè¬ã«çè§£ãããŠããéä¿¡åªäœã掻çšããHTTP åè© (GETãPOSTãPUTãDELETE) ãå©çšã㊠CRUD (äœæ) ãå®è¡ããŸãã ãèªã¿åããæŽæ°ãããã³åé€ãªã©ïŒãªãœãŒã¹ã«å¯Ÿããæäœããããã®æäœã¯ URL ã«ãã£ãŠäžæã«èå¥ãããŸãã
REST ã®äžæ žååã® 1 ã€ã¯ãREST ãã¹ããŒãã¬ã¹ã§ããããšã§ããããã¯ãã¯ã©ã€ã¢ã³ããããµãŒããŒãžã®åãªã¯ãšã¹ãã«ã¯ããµãŒããŒããªã¯ãšã¹ããåŠçããŠå¿çããããã«å¿ èŠãªãã¹ãŠã®æ å ±ãå«ãŸããŠããå¿ èŠãããããšãæå³ããŸãããµãŒããŒã¯ããªã¯ãšã¹ãéã®ã¯ã©ã€ã¢ã³ãã®çŸåšã®ç¶æ ã«é¢ããæ å ±ãäžåä¿åããªãããã«ããå¿ èŠããããŸããããã«ãããã·ã¹ãã ã®ã¹ã±ãŒã©ããªãã£ãããã©ãŒãã³ã¹ãããã³ä¿¡é Œæ§ãåäžããŸãã
REST ã®ãã 1 ã€ã®åºæ¬ååã¯ãã¯ã©ã€ã¢ã³ããšãµãŒããŒéã®é¢å¿ã®åé¢ã§ããã¯ã©ã€ã¢ã³ãã¯ãŠãŒã¶ãŒ ã€ã³ã¿ãŒãã§ã€ã¹ãšãŠãŒã¶ãŒ ãšã¯ã¹ããªãšã³ã¹ãæ åœãããµãŒããŒã¯ãªã¯ãšã¹ãã®åŠçããªãœãŒã¹ã®ç®¡çãã¢ã¯ã»ã¹å¶åŸ¡ã®å®æœãæ åœããŸãããã®åé¢ã«ãããã·ã¹ãã ã®ã¯ã©ã€ã¢ã³ã ã³ã³ããŒãã³ããšãµãŒã㌠ã³ã³ããŒãã³ãã®äž¡æ¹ãç¬ç«ããŠé²åãããããšãã§ããŸãã
RESTful ãµãŒãã¹ã¯éåžžãJSON ã XML ãªã©ã®æšæºã¡ãã£ã¢ ã¿ã€ãã䜿çšããŠè¡šçŸããããªãœãŒã¹ã«éç¹ã眮ããŠèšèšãããŠããŸãããªãœãŒã¹è¡šçŸã¯èªå·±èšè¿°çã§ããå¿ èŠããããŸããã€ãŸãã䜿çšãããã¡ãã£ã¢ ã¿ã€ãã¯ããªãœãŒã¹éã®æ§é ãã»ãã³ãã£ã¯ã¹ãããã³é¢ä¿ã«é¢ããååãªæ å ±ãäŒããå¿ èŠããããŸããããã«ãããã¯ã©ã€ã¢ã³ãã¯äºåã®ç¥èã垯åå€ã®ããã¥ã¡ã³ãã«é ŒãããšãªããRESTful ãµãŒãã¹ã«ãã£ãŠæäŸãããããŒã¿ãè§£æããŠçè§£ã§ããããã«ãªããŸãã
RESTful ãµãŒãã¹ã®ãã 1 ã€ã®éèŠãªåŽé¢ã¯ãã¢ããªã±ãŒã·ã§ã³ç¶æ ã®ãšã³ãžã³ (HATEOAS) ãšããŠãã€ããŒã¡ãã£ã¢ã䜿çšããããšã§ãããã®ååã¯ããµãŒããŒããã®å¿çã«ã¯ããŒã¿ã ãã§ãªããã¯ã©ã€ã¢ã³ããé¢é£ãªãœãŒã¹ã«ç§»åããŠå¯Ÿè©±ããã¢ã¯ã·ã§ã³ãå®è¡ã§ããããã«ãããªã³ã¯ãšã³ã³ãããŒã«ãå«ããå¿ èŠãããããšã瀺ããŠããŸãã HATEOAS ã䜿çšãããšãã¯ã©ã€ã¢ã³ã㯠RESTful ãµãŒãã¹ã®æ©èœãšã¢ãã©ãŒãã³ã¹ãåçã«çºèŠã§ãããããããŒãã³ãŒãã£ã³ã°ããã URL ã垯åå€ããã¥ã¡ã³ãã®å¿ èŠæ§ãåé¿ãããŸãã
ãœãããŠã§ã¢ ã¢ãŒããã¯ãã£ãšãã¿ãŒã³ã®ã³ã³ããã¹ãã§ã¯ãRESTful ãµãŒãã¹ã¯ãåã ã®ã³ã³ããŒãã³ããç¬ç«ããŠéçºãå±éãæ¡åŒµã§ããææ°ã®ãã€ã¯ããµãŒãã¹ããµãŒããŒã¬ã¹ ã¢ãŒããã¯ãã£ã«ããé©åããŸããããã«ãRESTful ãµãŒãã¹ã¯ãWeb ãã©ãŠã¶ãã¢ãã€ã« ã¢ããªã±ãŒã·ã§ã³ããã®ä»ã®ãµãŒããŒãªã©ã®ããŸããŸãªã¯ã©ã€ã¢ã³ãã§ç°¡åã«å©çšã§ãããããç°çš®ç°å¢ã§ã®çžäºéçšæ§ãä¿é²ãããŸãã
AppMasterã§ã¯ã匷åãªno-codeãã©ãããã©ãŒã ã«ãããã客æ§ã¯ããžã¥ã¢ã« BP ãã¶ã€ããŒã䜿çšããŠããã¯ãšã³ã ã¢ããªã±ãŒã·ã§ã³ã®äžéšãšã㊠RESTful ãµãŒãã¹ãèšèšããã³å®è£ ã§ããŸãããããã®ãµãŒãã¹ãçµã¿èŸŒãããšã§ãã客æ§ã¯ãææ°ã®ãœãããŠã§ã¢ ãšã³ãžãã¢ãªã³ã°ã®ãã¹ã ãã©ã¯ãã£ã¹ã«æºæ ãããæ¡åŒµæ§ãé«ããã¹ããŒãã¬ã¹ã§ãçžäºéçšå¯èœãªã¢ããªã±ãŒã·ã§ã³ãæ§ç¯ã§ããŸããããã«ã AppMasterãã©ãããã©ãŒã ã¯ããããã®ããã¯ãšã³ã ã¢ããªã±ãŒã·ã§ã³ã®ãœãŒã¹ ã³ãŒããšå®è¡å¯èœãã€ã㪠ãã¡ã€ã«ãçæããçµæãšããŠåŸããã RESTful ãµãŒãã¹ãå¹ççã§ããã©ãŒãã³ã¹çã§ããããšãä¿èšŒããŸãã
èŠçŽãããšãRESTful ãµãŒãã¹ã¯ãã¹ã±ãŒã©ãã«ã§ã¹ããŒãã¬ã¹ã§çžäºéçšå¯èœãª Web ãµãŒãã¹ãèšèšããã³å®è£ ããããã®åºãæ¡çšãããŠãã人æ°ã®ããäžé£ã®ååã§ãããã¯ã©ã€ã¢ã³ããšãµãŒããŒéã®é¢å¿ã®åé¢ãä¿é²ããèªå·±ãµãŒãã¹ã®äœ¿çšãéããŠã¢ããªã±ãŒã·ã§ã³æ©èœã®åçãªæ€åºã容æã«ããŸãã説æç衚çŸãšãã€ããŒã¡ãã£ã¢ããããã®ååã«åŸãããšã§ããœãããŠã§ã¢ ã¢ãŒããã¯ããšéçºè ã¯ãææ°ã®ãã€ã¯ããµãŒãã¹ããµãŒããŒã¬ã¹ ã¢ãŒããã¯ãã£ã«é©ããã髿§èœã§ä¿å®å¯èœãªã¢ããªã±ãŒã·ã§ã³ãæ§ç¯ã§ããŸãã AppMasterã®no-codeãã©ãããã©ãŒã ã䜿çšãããšã顧客ã¯ããã®ã¢ãŒããã¯ã㣠ã¹ã¿ã€ã«ã®ãã¯ãŒãšã·ã³ãã«ããæŽ»çšããŠãããã¯ãšã³ã ã¢ããªã±ãŒã·ã§ã³ã®äžéšãšã㊠RESTful ãµãŒãã¹ãè¿ éãã€å¹ççã«äœæããã³ãããã€ã§ããããã«ãªããŸãã