ENRAPT さんで行われた「モダン Java 勉強会」で喋ってきました。モダンって何だよって感じなので取り敢えず最近やってる案件についての話をしました。お話としては JAX-RS + Backbone.js で開発してるよって感じです。ちょっと変わった構成で開発してると思うので良ければどうぞ。
構成上の特徴は、将来的にリッチクライアントなどでも使えるように業務レイヤと Web レイヤを完全に分離した点でしょうか。正直ここまでやる必要があるケースって余り無いと思うのですが、一応自分の場合はこんな感じにしています。
要件定義や設計等と並行して 2 - 3 ヶ月かけて技術調査と基盤開発をしたのですが、Web 開発も楽しいなぁと思ったので機会があったらまたやりたいです。
ところで。
正直 Web 開発の経験は全然ないのでこれが正解だとは全く思っていませんが、今回はじめて Web 開発をして思ったのは、「業務アプリで Web 開発をするときに決め手になるような WAF が無いなぁ」ということでした。ちょっとしたツールや、それほど複雑な業務ロジックが無い場合は Rails が良いと思うのですが、ある程度以上の規模で複雑なドメインロジック(例えばデリバティブの評価やポジション管理など)を実装しようと思うと Ruby は流石に厳しいと思います。静的に型付けされる言語が欲しい。そう思って Scala を検討はしてみたのですが、互換性問題が解消されない限りプロダクションで採用するのは憚られます。また、(現時点では)Scala には Ruby で言うところの Rails のような「決め手」となる WAF がありません(skinny-framework にはちょっと期待しています)。今回はたまたま Java を使わないといけない理由があったのですが、とはいえ言語縛りが無い状態であっても他の言語を採用するかというとなかなか難しいなぁと思ったのでした(そりゃまぁ Scala にはしたいですけども)。