Javaオープンソースセンター(3)TweetWebアプリケーションフレームワークの定番Javaオープンソースセンターでは、Java開発に関連するさまざまなオープンソースを紹介していきます。開発者に便利なリンク集も今後充実させていく予定です。J2EEシステムデザイン』)で発表したコードを基にして開発されているアプリケーションフレームワークである(http://www.springframework.org/)。Programming)やMVCフレームワーク、JDBCを使いやすくするJDBC抽象フレームワーク、トランザクション管理といった多くの機能を提供している。これらを任意に組み合わせることができる。HibernateなどO/RマッピングフレームワークやStruts、EJBなどとの統合が可能である。最新バージョンは1.2.3(2005年8月現在)である。Foundationのプロジェクト(http://struts.apache.org/)として開発されているWebアプリケーションを開発するためのオープンソースフレームワークの1つである。Pages(JSP)、JavaBeansの技術を用いた、MVCモデル2と呼ばれるモデル-ビュー-コントローラ(MVC)アーキテクチャを採用している。Strutsは主にコントローラ(C)の機能を提供しており、開発者はモデル(M)とビュー(V)を開発する。これらはStrutsの設定ファイルによって関連付ける必要がある。ビューにはJSP以外にも、Velocity、XSLTなどが使用可能であり、JSPを使用する場合は、Strutsのカスタムタグが利用できる。Strutsのカスタムタグは、JSPにおける表示のためのロジックをカプセル化しており、作成するビューで動的なデータを簡単に扱えるように、さまざまな種類のタグが用意されている。これらの機能はStrutsの設定ファイルに何らかの形で依存する。最新バージョンは1.2.7(2005年8月現在)である。Project」(http://jakarta.apache.org/)で開発されているWebアプリケーションフレームワークである。プレゼンテーション層を対象としており、JSPではなく「HTMLテンプレート」と呼ぶものにレイアウトを記述するところがTapestryの特徴である。このHTMLテンプレートはほとんど通常のHTMLファイルと同じであり、HTMLとして表示できるため、デザインとプログラムを分離することができる。Component(JWC)」というコンポーネントでHTMLテンプレートを作成している。JWCにはHTMLの要素に対応するものやそのほか便利なものが標準で用意されている。複数のコンポーネントを組み合わせたコンポーネントや独自のコンポーネントを作成することもできる。Tapestryはプレゼンテーション層のフレームワークであるため、J2EEやSpring、Seasar2などと組み合わせて使用することも可能である。最新バージョンは4.0(2005年8月現在)である。Project」(http://jakarta.apache.org/)で開発されている汎用テンプレートエンジンである。作成したテンプレートから何らかの出力を行うものである。(VTL)というスクリプト言語を使用する。VelocityはVTLを使って作成したテンプレートに値をセットして出力を行う。用途としては特にWebページの出力に限っておらず、テキスト形式であればどのようなものも出力できるため、ソースコードやSQLなども可能である。Toolsがある(http://jakarta.apache.org/velocity/tools/)。アプリケーションでVelocityを使用するためのVelocityView、Strutsと統合するためのVelocityStrutsがある。テンプレートを適用することができる。最新バージョンは1.4(2005年8月現在)である。Controller)というコンセプトをベースとした、シンプルさが売りのWebアプリケーションフレームワークである。WebWorkはバージョン2から汎用的なコマンドパターンフレームワーク部分をXWorkという形で分離している。Language)を採用している。APIを使うことなく記述できるため、Webに縛られることのない開発を行うことができる。Control)コンテナ機能を使用して、定義ファイルに基づいて生成されたコンポーネントを受け取ることができる。ビューはJSPとVelocityをサポートしており、ビューで使用できるUIコンポートネントも用意されている。最新のバージョンは2.1.7(2005年8月現在)である。(2017/5/9)ログ基盤の構築方法や利用方法、実際の案件で使ったときの事例などを紹介する連載。(2017/4/6)ログ基盤を実現するFluentd+Elasticsearch+Kibanaについて、構築方法や利用方法、実際の案件で使ったときの事例などを紹介する連載。(2017/4/3)初心者が、Java言語を使ったAndroidのスマホアプリ開発を通じてプログラミングとは何かを学ぶ連載。初回は、プログラミングとビルド、Androidアプリ開発、Javaに関する基礎知識を解説する。