50. 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独自拡張
(機能毎に実装)
51. 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独自拡張
(機能毎に実装)
52. 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独自拡張
(機能毎に実装)
53. 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独自拡張
(機能毎に実装)
54. 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独自拡張
(機能毎に実装)
55. 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独自拡張
(機能毎に実装)
}
}
56. 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独自拡張
(機能毎に実装)
57. 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独自拡張
(機能毎に実装)
58. 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独自拡張
(機能毎に実装)
59. 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));
}}