A8acca Architecture h)ps API KEY Manager Twi)er 認証 APNS contro Model エラー C2DM ller Port 処理 SSL 変 制 換 御 Manager JSON 制 Dynamo Dyn 御 Model DB amo HTML AWS SDK Playframework 2.0 Apache JVM Amazon Linux (MTL Amazon Image) ビジネスロジック ミドルウェア OS FW FW独自拡張 (機能毎に実装)
A8acca Architecture h)ps API KEY Twi)er ←AOP的な Manager 認証 APNS contro Model エラー C2DM ller Port 処理 ことがしたい SSL 変 制 換 御 Manager JSON 制 Dynamo Dyn 御 Model DB amo HTML AWS SDK Playframework 2.0 Apache JVM Amazon Linux (MTL Amazon Image) ビジネスロジック ミドルウェア OS FW FW独自拡張 (機能毎に実装)
A8acca Architecture h)ps API KEY public class Global extends GlobalSeQngs { Manager Twi)er 認証 @Override APNS contro void onStart(ApplicaTon app) { public Model C2DM エラー ller ogger.info("A)acca is ready!!"); L Port 処理 // Init DynamoDB. SSL 変 制 AmazonDynamoDBClientFactory.init(); 換 御 Manager JSON } 制 @Override Dynamo Dyn 御 public AcTon oModel nRequest DB HTML (Request request, Method acTonMethod) {amo AWS SDK //リクエスト実行時に処理を織り込める Playframework 2.0 Apache return super.onRequest(request, acTonMethod); JVM } Amazon Linux (MTL Amazon Image) : } ビジネスロジック ミドルウェア OS FW FW独自拡張 (機能毎に実装)
A8acca Architecture //メソッド単位にもインターセプターを設定可能 @With(VerboseAcTon.class) public staTc Result index() { h)ps API KEY CommonResult result = new CommonResult(); Twi)er Manager 認証 result.setStatus("OK"); return ok(Json.toJson(result)); APNS contro Model } C2DM エラー ller Port 処理 SSL 変 制 換 御 /** Manager JSON * インターセプト用のAcpon例. 制 Dynamo Dyn 御 */ Model DB HTML public class VerboseAcpon extends Acpon.Simple { amo AWS SDK public Result call(H)p.Context ctx) throws Throwable Playframework 2.0 Apache // 必要に応じて前処理を実装 JVM // ラップしているAcponを呼び出し Amazon Linux (MTL Amazon Image) return delegate.call(ctx); } ビジネスロジック ミドルウェア } OS FW FW独自拡張 (機能毎に実装)
A8acca Architecture h)ps API KEY Manager Twi)er 認証 APNS ←エラーハン contro Model エラー C2DM ller Port 処理 SSL 変 制 Manager ドリングしたい 換 御 JSON 制 Dynamo Dyn 御 Model DB amo HTML AWS SDK Playframework 2.0 Apache JVM Amazon Linux (MTL Amazon Image) ビジネスロジック ミドルウェア OS FW FW独自拡張 (機能毎に実装)
A8acca Architecture public class Global extends GlobalSeQngs { : h)ps API KEY @Override Manager Twi)er 認証 public Result onError(Throwable paramThrowable) { APNS contro //エラー処理記述// Model エラー return Results.ok(Json.toJson(result)); C2DM ller Port 処理 } SSL 変 制 換 御 Manager JSON @Override 制 public Result onHandlerNotFound(String paramString) { Dynamo Dyn 御 Model Logger.warn(“404 ERROR"); DB amo HTML return Results.redirect("/"); AWS SDK } Playframework 2.0 Apache @Override JVM public Result onBadRequest Amazon L inux (MTL Amazon Image) paramString2) { (String paramString1, String Logger.warn(”404 ERROR"); ビジネスロジック ミドルウェア esults.redirect("/"); return R OS FW FW独自拡張 (機能毎に実装) } }
A8acca Architecture h)ps API KEY Manager Twi)er 認証 APNS contro Model エラー C2DM ller Port 処理 SSL 変 制 ←Object – JSON 換 御 Manager JSON 制 Dynamo Dyn 御 Model DB amo Mappingしたい HTML AWS SDK Playframework 2.0 Apache JVM Amazon Linux (MTL Amazon Image) ビジネスロジック ミドルウェア OS FW FW独自拡張 (機能毎に実装)
A8acca Architecture h)ps API KEY Manager Twi)er 認証 APNS contro Model エラー C2DM ller Port 処理 SSL 変 換 制 御 return ok(Json.toJson(result)); Manager JSON 制 Dynamo Dyn 御 Model DB amo HTML AWS SDK Playframework 2.0 Apache JVM Amazon Linux (MTL Amazon Image) ビジネスロジック ミドルウェア OS FW FW独自拡張 (機能毎に実装)
A8acca Architecture h)ps API KEY Manager Twi)er 認証 APNS contro Model エラー C2DM ller Port 処理 SSL 変 制 ↑ 換 御 Manager JSON 制 Dynamo Dyn 御 Model DB amo HTML Apache 入力チェックしたい Playframework 2.0 AWS SDK JVM Amazon Linux (MTL Amazon Image) ビジネスロジック ミドルウェア OS FW FW独自拡張 (機能毎に実装)
A8acca Architecture h)ps API KEY Manager Twi)er 認証 APNS contro Model エラー C2DM ller Port 処理 SSL 変 制 public stapc class Hello { 換 Manager 御 @Required public String name; JSON 制 @Required @Min(1) @Max(100) public Integer repeat; Dynamo Dyn 御 public String color; Model DB HTML } amo AWS SDK public stapc Result sayHello() { Playframework 2.0 Apache Form<Hello> form = form(Hello.class).bindFromRequest(); JVM if(form.hasErrors()) { Amazon Lreturn badRequest(); inux (MTL Amazon Image) } else { ビジネスロジック ミドルウェア = form.get(); FW Hello data OS FW独自拡張 (機能毎に実装) return ok(Json.toJson(data)); }}