65. A5acca
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独自拡張
(機能毎に実装)
66. A5acca
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独自拡張
(機能毎に実装)
67. A5acca
Architecture
h?ps
API
KEY public
class
Global
extends
GlobalSeSngs
{
Manager
Twi?er
認証
@Override
APNS
contro void
onStart(ApplicaVon
app)
{
public
Model
C2DM
エラー ller
ogger.info("A?acca
is
ready!!");
L
Port
処理
//
Init
DynamoDB.
SSL
変 制
AmazonDynamoDBClientFactory.init();
換 御 Manager
JSON
}
制
@Override
Dynamo
Dyn
御
public
AcVon
oModel
nRequest
DB
HTML
(Request
request,
Method
acVonMethod)
{amo
AWS
SDK
//リクエスト実行時に処理を織り込める
Playframework
2.0
Apache
return
super.onRequest(request,
acVonMethod);
JVM
}
Amazon
Linux
(MTL
Amazon
Image)
:
}
ビジネスロジック
ミドルウェア
OS
FW
FW独自拡張
(機能毎に実装)
68. A5acca
Architecture
//メソッド単位にもインターセプターを設定可能
@With(VerboseAcVon.class)
public
staVc
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
*
インターセプト用のAcqon例.
制 Dynamo
Dyn
御
*/
Model
DB
HTML
public
class
VerboseAcqon
extends
Acqon.Simple
{
amo
AWS
SDK
public
Result
call(H?p.Context
ctx)
throws
Throwable
Playframework
2.0
Apache
//
必要に応じて前処理を実装
JVM
//
ラップしているAcqonを呼び出し
Amazon
Linux
(MTL
Amazon
Image)
return
delegate.call(ctx);
}
ビジネスロジック
ミドルウェア
}
OS
FW
FW独自拡張
(機能毎に実装)
69. A5acca
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独自拡張
(機能毎に実装)
70. A5acca
Architecture
public
class
Global
extends
GlobalSeSngs
{
:
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独自拡張
(機能毎に実装)
}
}
71. A5acca
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独自拡張
(機能毎に実装)
72. A5acca
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独自拡張
(機能毎に実装)
73. A5acca
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独自拡張
(機能毎に実装)
74. A5acca
Architecture
h?ps
API
KEY Manager
Twi?er
認証
APNS
contro Model
エラー C2DM
ller
Port
処理
SSL
変 制 public
staqc
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
staqc
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));
}}