今日は勉強会でした。
AS3側のロジックを増やしていくと、サーバサイドJavaはDBアクセス機能が大部分を占めるわけだから、いっそのことAS3でType3風のJDBCドライバを作って、AS側からSQL(とかHQLとかE4Xとか)を投げればJava側書かなくていいんじゃない?というような話が出た。
アーキテクチャとしては、こんな感じでしょうか。
行き クライアントAS3->ASDBC->HTTPService->(SQL)->Servlet->JDBC->DB 帰り DB->JDBC->Servlet->(XML)->HTTPService->ASDBC->クライアントAS3
クライアント側からは、SQLを投げる。Servletはそれを元にDBアクセスして、結果をXML形式にしてクライアントに返す。クライアントはXMLかArrayCollectionでデータを受け取り、処理を行う。
この仕組みであれば、Java側にはResultSetとXMLのマッピングServletさえ実装すればあとは何も書かなくて済む。
SQLを直で投げるのがいまいちであれば、HQL的なクエリーと、バインドするオブジェクトデータを投げてサーバ側でSQLを組み立ててもいいと思う。
あと、例えばこれならSDLoaderみたいなコンテナを使えば、Appoloから容易にDBアクセスできるはず。