「ぼくがかんがえたさいきょうのアプリケーションフレームワーク2014.12」※実装は無いよ!

※この記事は丸太式 Advent Calendarの17日目です

前提

バックエンドはJavaで構築することが前提です。今Javaプログラマなので。

構成と妄想

クライアント <- JSON -> Web <- JMS -> AP <- JPA -> DB
  • それぞれのサーバはスケールアウト出来る物とします。
    そのためにはセッションはDBに格納する必要がありますね。
    今の段階ではXOOPS CubeのDBセッションみたいな管理方法をイメージしています。
  • あえて特定のプロダクトに依存しない書き方をしています。
    それぞれの実装は好きな物を組み合わせることが出来ます(EclipseLink or Hibernate, ActiveMQ or RabbitMQ, Tomcat or Jetty, …)。
    まあ、プロダクト間の差異を吸収するのはフレームワークの仕事ですしね。
  • 基本的にはAPIを通じてアプリケーションを利用することになります。
    そのため、クライアントがWebブラウザだろうがSwingアプリだろうがSWTアプリだろうが全く気にしません。
    ただし、Webサーバにプログラムと一緒にビューをデプロイするのはあまり好みではないです。
  • The Twelve-Factor Appの影響を大いに受けています。
    従ってWeb/APそれぞれのサーバに特別なミドルウェアはインストールしない想定です。
    Webは組み込みTomcatかJettyを使えば良いですし、ActiveMQならアプリケーションに埋め込めるのでメッセージブローカーをインストールする必要はありません。RabbitMQはどうなのかな?

まとめ

「なんていうか・・・すごく言葉にしづらいんだけど・・・・・・あんまりまとまっていませんね!
タイトルに「2014.12」って付けてしまったので、またそのうちやるかも。

コメントを残す