
企業システムの常識をJBossで身につける(1)
企業向けアプリの常識を学び、JBossの環境構築
株式会社ビーブレイクシステムズ
相原 淳、上川 伸彦
2009/9/10
「企業向けアプリケーション」と聞いて何を思う?
「企業向けアプリケーションの常識」と聞いて、読者の皆さんは何を想像しますか? 企業の規模を問わず「企業向けアプリケーション」「企業システム」と聞くと、BtoCやBtoBなどの電子商取引や基幹系システム、または、業界・業態によってさまざまなシステムを想像するのではないのでしょうか。
これらを構築するうえで、企業向けアプリケーションには、ある程度の共通点があります。例えば、システムの画面や内部処理、データベースとの連携などが挙げられます。システムの運用面では、どうでしょうか。セキュリティ対策やデータベース・ネットワーク管理などの業務も同じことがいえます。
これらは、企業向けアプリケーションを構築するうえで常識的なものになっています。本連載では、このような企業向けアプリケーション(企業システム)のさまざまな“常識”をJavaのオープンソース・フレームワーク群である「JBoss」から学んでいきたいと思います。
本連載は、Javaの文法やJSP/サーブレット、StrutsなどWebアプリケーションの作り方などを一通り覚え、企業向けアプリケーション開発を行うことになったが、企業向けアプリケーション開発の知識がまったくない新人・中級者プログラマーを対象としています。Javaの文法やJSP/サーブレット、StrutsなどWebアプリケーションの作り方などを確認しておきたい読者は、以下の記事を参照してください。
| 【改訂版】Eclipseではじめるプログラミング これからプログラミングを学習したい方、Javaは難しそうでとっつきづらいという方のためのJavaプログラミング超入門連載です。最新のEclipse 3.4とJava 6を使い大幅に情報量を増やした、連載「Eclipseではじめるプログラミング」の改訂版となります |
||
| プログラマーの常識をJavaで身につける Javaコアパッケージは応用範囲が広いため、普段使わないクラスに意外な発見があるはずです。そこから、さまざまな「常識」を学びましょう |
| Webアプリの常識をJSPとStrutsで身につける JSP/サーブレット+StrutsのWebアプリケーション開発を通じて、Java言語以外の開発にも通用するWebアプリケーション全般の広い知識・常識を身に付けるための連載です。初心者・中堅・ベテランも大歓迎! |
||
JBossを、まったく知らないという方や、JBossを使ったプロジェクトで活躍しているがあまり理解していないという方は、JBossの基礎を勉強する意味で読んでみてください。JBossを使って大規模なWebアプリケーションを構築するうえでの基礎となる知識をリファレンス感覚で説明していきます。
今回は、連載第1回目ということで、企業向けアプリケーションに不可欠な「フレームワーク」と、「アプリケーションサーバ」(以下、APサーバ)の1つとして、JBossの概要を説明し、JBoss Application Serverの環境構築まで行います。
企業向けアプリケーションに必要な要素とは
大規模なプロジェクト開発では、これらを満たすことがプロジェクトの課題となっております。
では、これらの課題を解決するにはどうすればよいのでしょうか。その1つの解消方法として、Webアプリケーションを構築する“フレームワーク”の導入があります。
フレームワークとは、アプリケーションの土台となる部分です。共通の処理などがまとめてあり、フレームワークの規約に従えば、誰が開発を行ったとしても一定の水準を保ってアプリケーションの実装ができます。一口にフレームワークといってもさまざまな種類やプロジェクトの用途によって向き不向きがあり、適材適所で導入を検討する必要があります。そのようなことからフレームワークを導入することによって、開発の生産性や品質の向上につながり、結果として運用コストも抑えられます。
では、Javaのフレームワークには、どのようなものがあるのでしょうか。代表的なものとして、Struts、Spring、JSF、EJB、Seasar2などさまざまなものがあります。その中で本連載のJBossに関するものとして、JBoss Seam、JBoss AOP、JBoss Hibernate、JBoss Rulesなどのフレームワークがあり、これらも同じ位置付けにあるといえます。これらのフレームワークの導入による企業システムの構築に関しては、今後の連載で説明していきたいと思います。
では、このJBossとは一体何なのでしょうか? 次項より、JBossの概要について説明していきたいと思います。
Javaのボス的な存在? 「JBoss」とは
JBossとは、Javaによるオープンソースソフトウェアの総称です。JBossは一口に、Java EE(J2EE)標準準拠のAPサーバとして認識されることが多いです。
もともとは、米JBoss社が開発していたオープンソースソフトウェアでしたが、米レッドハットが米JBoss社を買収しました。それによりJBossには、JBoss.orgのコミュニティ版とレッドハットがサポートするエンタープライズ版による提供が行われています。
JBoss.orgが運営するJBossプロジェクトには、40以上のさまざまなプロジェクトがあり、JBoss.orgのWebサイトより自由にダウンロードして、各ソフトウェアを使用できます。LGPLライセンスで配布されているため、商用目的としての利用可能です。
レッドハットでは、ミドルウェア製品群であるJBoss Enterprise Middlewareを提供しています。これは、JBoss.orgのオープンソースプロジェクトに基づいて構築されており、品質改善とパフォーマンスチューニングを施して提供しています。具体的には、下記のコンポーネント群で構成されています。
これらの製品群は、レッドハットからリリースしているので有償でサポートを受けることが可能です。また、すべてLGPLに準拠したオープンソースで提供される製品であるため、ライセンス費用は発生しません。
本連載に関しては、JBoss.orgが運営するJBossプロジェクトの製品を中心に企業システムの常識を身に付けていきたいと思います。今後の連載予定とJBossの関連について以下に挙げます。
| 表 今後の連載予定 | ||||||||||||||||||||||||||||||||||||||||||||||||
|
今後の連載の前に、ご自身で各製品を確認してみるのも勉強になると思います。また、上記以外にもJBossにはさまざまな製品がありますので、いろいろと探ってみてください。
■ なぜ、JBossを使うのか?
では、なぜJBossを使うのでしょうか?
JBossの開発環境は、All in Oneのインストーラなどが提供されており、環境構築が容易であることです。Strutsなどの環境構築の際には、さまざまなソフトウェアを個別にインストールする必要があります。JBossの場合、All in Oneを用いることでフルスタックな環境を実現できることがJBossの人気を博しています。このAll in Oneに関しては、次回の連載で詳しく説明したいと思います。
それ以外の要因としては、前述の説明にもあるように、JBossがオープンソースであるため基本的に無償で利用できることや、レッドハットの提供するJBoss製品群は、サブスクリプションが低価格でハイレベルなサポートがさまざまなサポートベンダから実現されているので、プロジェクトにおいて運用コストを抑えられることが挙げられます。また、そのほかの商用ミドルウェアと比較しても劣らない高機能な性能や安定性があるためです。そのため、多くの大企業がJBossの製品を扱っています。
企業向けAPサーバ「JBoss Application Server」とは
JBoss Application Serverとは、JBoss.orgを中心にオープンソースで開発されているJava EEのAPサーバです。以下のような形で構成されています。
![]() |
| 図1 JBoss Apprication Server 5.0の構成図 |
またレッドハットでは、JBoss Enterprise Middlewareの中核となるコンポーネントとなっています。オープンソースでありながら、さまざまな高機能や高い安定性が特徴であり、Java EEの使用経験がある開発者なら問題なく扱うことができます。機能の特長として以下のものが挙げられます。
- 100% Pure Java
- Tomcatベース
- EJBコンテナを搭載
- SOA(サービス指向アーキテクチャ)に基づいている(HibernateやJPA、JMS、Transactionなど)
次ページでは、実際にJBoss Application Serverをインストールして、APサーバを起動してみましょう。
コラム 「TomcatなのにJBoss? JBoss Web Serverとは」 |
| JBoss Web Serverとは、Apache Web ServerとApache Tomcatベースのアプリケーションサーバです。前述で説明したJBoss Application Serverのコンポーネントに含まれており、Webサーバとしての機能に加えJSP/サーブレット、PHP、CGIなどにも対応しています。 また、Tomcatのアプリケーションサーバに比べて、パフォーマンスや機能に関しても向上しています。 |
1-2 |
| Index | ||||||
|
||||||
企業システムの常識をJBossで身につける バックナンバー 連載インデックスへ»
- 第1回 企業向けアプリの常識を学び、JBossの環境構築
- 第2回 “全部入り”のEclipseで学ぶ統合開発環境の常識
- 第3回 DI(依存性の注入)×AOP(アスペクト指向)の常識
- 第4回 企業でも情報整理で利用が進む「ポータル」の常識
- 第5回 非同期処理と疎結合ができる「メッセージング」の常識
- 第6回 いまさら聞けない「Webサービス」の常識
- 第7回 クラウドで再注目の「分散コンピューティング」の常識
- 第8回 悲観もあれば楽観もある「トランザクション」の常識
- 第9回 社内システムのセキュリティとアクセス制御の常識
- 第10回 内部統制に効く! ID管理・シングルサインオンの常識
- 第11回 「全体を見る」ためのビジネスプロセス・BPMの常識
- 最終回 急速なビジネスの変化に対応できる「BRMS」の常識
| Java Solution全記事一覧 |
TechTargetジャパン
- Scalaのパッケージ、アクセス修飾子、オブジェクト継承 (2012/5/22)
インポート、パッケージオブジェクト、抽象クラス/抽象メソッド、オーバーライド、final、シールドクラスなども - 基幹系システムでCloud SQLは使えるか試してみた (2012/5/17)
サンプルとしてMRPシステムを作成して動かし、「再帰呼び出し」などのパフォーマンスを測定して検証してみます - アジャイル管理ツール9選+Pivotal Tracker入門 (2012/5/14)
群雄割拠のアジャイルプロジェクト管理ツールを9つ紹介し、特に注目を集めているPivotal Trackerの基本的な使い方を解説します - サーバサイドJSやJavaでWebアプリが作れるXPages (2012/5/11)
Notes/Dominoの資産をサーバサイドJavaScriptやJavaで操作し、HTMLやJavaScript、CSSをUIにできる技術を紹介
|
|
キャリアアップ
スポンサーからのお知らせ
- - PR -
イベントカレンダー
- - PR -



