ããã¯ãšã³ãéçºã®ã³ã³ããã¹ãã§ã¯ããªã¯ãšã¹ããšã¯ãããŒã¿ãèŠæ±ãããã¢ã¯ã·ã§ã³ãå®è¡ãããããããã«ãWeb ãã©ãŠã¶ãŒãã¢ãã€ã« ã¢ããªã±ãŒã·ã§ã³ãªã©ã®ã¯ã©ã€ã¢ã³ããããµãŒããŒåŽã®ã¢ããªã±ãŒã·ã§ã³ã«éä¿¡ãããã¡ãã»ãŒãžãæããŸããããã¯ã忣ã·ã¹ãã ãã€ã³ã¿ãŒãããäžã§çžäºäœçšããæ å ±ã亀æã§ããããã«ããã¯ã©ã€ã¢ã³ã/ãµãŒããŒéä¿¡ã¢ãã«ã®äžéšã圢æããŸãã
HTTP (Hypertext Transfer Protocol) ãš WSS (WebSocket Secure) ã¯ãã¯ã©ã€ã¢ã³ããšãµãŒããŒéã§ããŒã¿ãéä¿¡ããäžè¬çãªãããã³ã«ã§ãã HTTP ã¯èŠæ±/å¿çã¢ãã«ã«åºã¥ããŠããŸãããWSS ã¯ã¯ã©ã€ã¢ã³ã ã¢ããªã±ãŒã·ã§ã³ãšãµãŒã㌠ã¢ããªã±ãŒã·ã§ã³éã®å šäºééä¿¡ãå¯èœã«ããåæ¹åéä¿¡ãå¯èœã«ããŸãã
HTTP ãªã¯ãšã¹ãã¯éåžžââããªã¯ãšã¹ã ã¡ãœãã (GETãPOSTãPUTãDELETE ãªã©)ããªã¯ãšã¹ã URI (Uniform Resource Identifier)ãããã³ãããã³ã« ããŒãžã§ã³ãå«ããªã¯ãšã¹ãè¡ã§æ§æãããŸããããã«ããªã¯ãšã¹ãã«ã¯ãå¿ èŠã«å¿ããŠã¡ã¿ããŒã¿ãšãã€ããŒããæäŸãããªã¯ãšã¹ã ããã㌠ãã£ãŒã«ããå«ãŸããå ŽåããããŸããããšãã°ããŠãŒã¶ãŒã¯ãµãŒããŒããŒã¹ã® e ã³ããŒã¹ ã¢ããªã±ãŒã·ã§ã³ãã補åã®è©³çްãååŸããããèŠæ±ããããšãã§ããŸããããã«ã¯ãæå®ããã URI ã« HTTP GET èŠæ±ãéä¿¡ããããšãå«ãŸããŸãã
ããã¯ãšã³ã ã¢ããªã±ãŒã·ã§ã³éçºã§ã¯ããµãŒã㌠ã¢ããªã±ãŒã·ã§ã³ã¯ãåä¿¡ããã¯ã©ã€ã¢ã³ã ãªã¯ãšã¹ããåŠçããæå®ããããªã¯ãšã¹ãã®å å®¹ãšæ§æãããããžãã¯ã«åºã¥ããŠåŠçããå¿çãè¿ãããã«èšèšãããŠããŸããå¿çã«ã¯ãå€ãã®å Žåãæ§é åãã©ãŒããã (äŸ: JSON ãŸã㯠XML ) ã®ããŒã¿ããŸãã¯ãªã¯ãšã¹ãåŠçã®æåãŸãã¯å€±æã瀺ãã¹ããŒã¿ã¹ ã³ãŒããå«ãŸããŸãã
AppMaster ãã©ãããã©ãŒã ã§ã¯ããŠãŒã¶ãŒã¯ããã¯ãšã³ã ã¢ããªã±ãŒã·ã§ã³ãã¯ã©ã€ã¢ã³ãã®ãªã¯ãšã¹ããåŠçããããã®ããŒã¿ ã¢ãã«ãããžãã¹ ããžãã¯ãREST APIãããã³ WSS endpointsãèŠèŠçã«äœæã§ããŸãã AppMasterã§ã¯ãç¬èªã®ããžã¥ã¢ã«ãª BP (ããžãã¹ ããã»ã¹) ãã¶ã€ããŒã䜿çšããŠãèŠçŽ ããã©ãã° ã¢ã³ã ããããããå¿ èŠã«å¿ããŠæ§æããã ãã§ãããã¯ãšã³ã ããžãã¯ãèšèšããã³å®è£ ã§ããŸãããã®ã¢ãããŒãã«ããããµãŒããŒåŽã¢ããªã±ãŒã·ã§ã³ã®è¿ éãªéçºãå±éãã¡ã³ããã³ã¹ãå¯èœã«ãªããããã»ã¹å šäœã 10 åé«éã«ãªããã³ã¹ãå¹çã 3 åé«ããªããŸãã
çæãããããã¯ãšã³ã ã¢ããªã±ãŒã·ã§ã³ã¯ããã©ã€ã㪠ããŒã¿ããŒã¹ãšã㊠PostgreSQL äºæããŒã¿ããŒã¹ãšäºææ§ããããŸãã AppMasterããã¯ãšã³ã ã¢ããªã±ãŒã·ã§ã³ã®äœæã« Go (golang) ã䜿çšãããããåªããã¹ã±ãŒã©ããªãã£ãä¿èšŒãããšã³ã¿ãŒãã©ã€ãºãé«è² è·ã®ãŠãŒã¹ã±ãŒã¹ã«çæ³çãªãœãªã¥ãŒã·ã§ã³ãšãªããŸãã
ããšãã°ããŠãŒã¶ãŒãããŸããŸãªåéã®å°éå®¶ãšã®çŽæãäºçŽã§ããã¢ããªã±ãŒã·ã§ã³ãèããŠã¿ãŸããããããã¯ãšã³ã ãµãŒããŒã¯ããŠãŒã¶ãŒ ã¢ã«ãŠã³ãã®ç®¡çããªã¯ãšã¹ãã®èªèšŒãäºçŽããŒã¿ã®ç®¡çãããã³éç¥ã®åŠçãè¡ãããã« REST API ãå ¬éããå ŽåããããŸãããŠãŒã¶ãŒãã¢ãã€ã« ã¢ããªã±ãŒã·ã§ã³çµç±ã§ãã°ã€ã³ãããšãèªèšŒãªã¯ãšã¹ãããµãŒããŒã«éä¿¡ãããŸããæ¬¡ã«ããµãŒããŒã¯ãªã¯ãšã¹ããåŠçãããŠãŒã¶ãŒã®è³æ Œæ å ±ãæ€èšŒããé©åãªå¿ç (ãã°ã€ã³æåããšã©ãŒ ã¡ãã»ãŒãžãªã©) ãè¿ããŸããåæ§ã«ããŠãŒã¶ãŒãäºçŽããããå Žåãã¢ãã€ã« ã¢ããªã±ãŒã·ã§ã³ã¯ãµãŒããŒã«ãªã¯ãšã¹ããéä¿¡ãããµãŒããŒã¯äºçŽãåŠçããŠå¿çãéä¿¡ããŸãã
AppMasterãœãŒã¹ ã³ãŒããçæããã¢ããªã±ãŒã·ã§ã³ãã³ã³ãã€ã«ãããã¹ããå®è¡ããŠãã¯ã©ãŠãã«ãããã€ããŸãããŸãããµãŒããŒendpointsçšã® Swagger (OpenAPI) ããã¥ã¡ã³ããããŒã¿ããŒã¹ ã¹ããŒãæŽæ°çšã®èªåç§»è¡ã¹ã¯ãªãããªã©ã®çµã¿èŸŒã¿ããŒã«ãæäŸããŸããããã«ãããã¢ããªã±ãŒã·ã§ã³ã®æŽæ°ãè¿ éã« (é垞㯠30 ç§ä»¥å ã«) çæããŠãããã€ã§ãããšåæã«ãã¢ããªã±ãŒã·ã§ã³ã¯ãã«ãŒããªã³ãã®å€æŽããšã«æåããçæããããããæè¡çè² åµãæé€ã§ããŸãã
ããã¯ãšã³ãéçºã³ã³ããã¹ãå ã®ãªã¯ãšã¹ãã¯ã¯ã©ã€ã¢ã³ããšãµãŒããŒã®éä¿¡ã«äžå¯æ¬ ã§ãããã¯ã©ã€ã¢ã³ãããµãŒããŒäžã§ããŒã¿ãååŸãããã¢ã¯ã·ã§ã³ãå®è¡ãããã§ããããã«ãªããŸãã AppMasterãã©ãããã©ãŒã ã¯ãããŸããŸãªãªã¯ãšã¹ããåŠçããæ©èœãåããããã¯ãšã³ã ãµãŒã㌠ã¢ããªã±ãŒã·ã§ã³ã®äœæã容æã«ãããœãããŠã§ã¢ ãœãªã¥ãŒã·ã§ã³ã®ã¹ã±ãŒã©ããªãã£ãä¿å®æ§ãããã³è¿ éãªå±éãä¿èšŒããŸãã AppMasterãã©ãããã©ãŒã ã®é«åºŠãªæ©èœã掻çšããããšã§ããœãããŠã§ã¢éçºè ã¯ããµãŒã㌠ããã¯ãšã³ããWebãã¢ãã€ã« ãã©ãããã©ãŒã ã«ãŸãããå æ¬çã§å¹ççãªã¢ããªã±ãŒã·ã§ã³ãæ§ç¯ããäŒæ¥ãäŒæ¥ã®å¹ åºããŠãŒã¹ã±ãŒã¹ã«åæ§ã«å¯Ÿå¿ã§ããŸãã