No Struts

Strutsをはじめとするオープンソースプロダクト情報

2011年1月1日Apache Struts

本連載の内容は記事執筆当時のまま再公開しており、現在では古い、あるいは適切ではない内容を含んでいます。

ソリューション開発部の黒住です。

オープンソースプロジェクトが活性化し、数多くのプロダクト (ソフトウェア) がオープンソースとして提供されるようになりました。現在提供されているプロダクトは、オープンソース (フリーウェア) という概念が出てきた頃のものとは比べものにならないくらい高品質・高機能であり、有償プロダクトとなんら遜色のないものが数多く提供されています。近年ではこれらオープンソースプロダクトの高品質化と、システムに対する低価格化要求とがあいまって、オープンソースプロダクトを利用した製品やシステムの構築も一般的になりつつあります。

特にWebアプリケーション構築の世界においてこの流れは顕著にあらわれており、多くの構築例が報告されています。Webアプリケーションでは多くの場合、Webブラウザをユーザーインタフェースに利用して、そのリクエストを受け取って解析し、データベースの検索や結果ページの生成を行うというシステムの性格上、よく共通の機能が発生します。また、Javaを用いている場合にはプラットフォーム非依存であり、かつオブジェクト指向によって抽象化が行いやすいという利点があります。これらの特徴は、先ほど述べたような共通の機能をフレームワークやライブラリといった形式にしやすいため、多くの団体からさまざまなプロダクトが提供されています。Webアプリケーションの構築を行う場合には、これらオープンソースのプロダクトを利用することで、大幅にコストを削減できる場合があるのです。

ただしそのためには、プロダクトの調査をし、目的にあったものを見つけ、利用方法を習得する必要があります。本稿ではその助けとなるよう、オープンソースとそのライセンスや配布元を紹介し、高品質なオープンソースプロダクトの開発元として有名な Apache Softwere Foundation (以降、ASF) にて開発されているJavaのプロダクトを紹介いたします。

第1章:Struts1.3によるWebアプリケーションの作り方 (概要編)

第2章:Struts1.3によるWebアプリケーションの作り方 (構築編)

第3章:Struts1.3の入力バリデーション機能 Struts-Validatorを使う

第4章:Struts1.3のWebページ生成機構「Tiles」の使い方

まとめ

アプリケーションを開発する場合にASFのプロダクトを利用することで、多くの機能を作成することなく実現できることがお分かりいただけたと思います。ASFに限らずオープンソース開発団体が提供する多くのプロダクトから目的の機能のものを探し、品質や機能を調査するのは非常に困難に思えるかもしれません。しかし、独自に目的の機能を実装し、テストやメンテナンスを行うよりも、はるかに容易なはずです。オープンソースプロダクトの多くは世界中の優秀なデベロッパの純粋なボランティア精神のもとで開発が行われ、より良いものを提供しようというスタンスからプロダクトが公開されているため、商用プロダクトに劣らないアーキテクチャや機能を有するものが数多く存在しています。

本稿では利用という側面からオープンソースについてお話ししましたが、ぜひ、オープンソースプロダクトへの貢献も行っていただき、積極的にこの活動をサポートしていただきたいと願っています。オープンソースのソフトウェアは多くのボランティアによって支えられていますが、利用するばかりで何の対価も支払わないのでは、このしくみが崩壊しかねません。貢献といっても直接開発に参加することや寄付を行うことだけではありません。「プロダクトのバグを発見し報告する」「パッチの提供を行う」「優れたプロダクトを紹介する」「ドキュメントの日本語化を行う」「メーリングリストなどで国際化への意見を述べる」なども立派な貢献で、どれもオープンソースのしくみを支えるために必要なことです。ぜひ、本稿を読んだ皆さんもできることから始めてほしいと切に願っています。

最後になりましたが、アプリケーション構築を行う際にはぜひ、このようなオープンソースのプロダクトの利用を検討し、上手に利用して目的を達成してください。本稿が読者の皆様のお役にたてれば幸いです。

  • 株式会社アークシステムの予約・来訪管理システム BRoomHubs
  • 低コスト・短納期で提供するまるごとおまかせZabbix