🌟

Apache Portalsとはなんなのか?

に公開

今回は、Apache Portalsとは何かについて調べてみました。今回も以下のツールを使って対象プロジェクトを決めました!

https://zenn.dev/akasan/articles/7e30ad266c02c4

※ 本企画に関する記事の目的は、それぞれのプロジェクトを本格的に深ぼるのではなく、プロジェクト名⇆どんな内容かをパッと思い出せるようにすることを目指します!
※ とはいえ深ぼってみたいプロジェクトがあればどんどん複数連載になると思います。

Apache Portalsとは?

公式サイトを見ると、Apache Portalsとは以下のようなもののようです。

  • ロバストでフル機能、商用利用できる品質、そして無料で利用できるPortal関連のソフトウェアを、さまざまなプラットフォームやプログラミング言語で利用できることを目的としている
  • 世界中の協力者(個人、企業問わず)で運営されている

https://portals.apache.org/

そもそもポータルとはどういうものでしょうか、という点についても触れられており、以下のように言及されています。

  • 現代のソフトウェアは複雑で高価であるため、多くの企業が情報を統合的かつ構造的に管理する手段として、エンタープライズポータルへの投資を促している
  • ポータルは他のソフトウェアアプリケーションに比べて以下のような利点がある
    • 従業員、パートナー、そして顧客にとって単一のエントリポイントを提供
    • 事実上あらゆる場所のあらゆるデバイスから透過的にWebサービスにアクセス可能
    • 非常に柔軟性が高く、B2Eイントラネット、B2Bエクストラネット、B2Cインターネットのいずれの形態でも利用可能
    • 複数のポータルを組み合わせることで、企業のエンタープライズシステム全体を網羅するポータルネットワークを構築でき、ファイアウォールの内外を問わずアクセスが可能

ポータルはさまざまなシステムを統合し、それらの機能をフル活用できるという意味で、排他的ではなく相互に連携するツールとして成熟される必要があり、このプロジェクトでもそのような環境の提供を目指しています。

Apache Portalsのミッションとは?

Apache PortalsはOSSのポータル技術の利用の促進のために存在しています。そのため、以下のようなミッションを掲げて活動されています。

  • JavaおよびW3Cのリフェレンス提供(Plutoなど)
  • Cocoon PortalやJetspeed-1などのポータルの提供
  • 完全に機能し標準化されたポートレットアプリケーションを提供(Jetspeedなど)
  • 共通のフレームワークやツールの提供(Python向けのPortletなど)
  • Java、Perl、PHP、Python などのプログラミング言語に対応したポータル相互運用性フレームワークとツールを提供します。

サブプロジェクトについて

Apache Portalsには以下のサブプロジェクトがあります。

  • Jetspeed-2
  • Pluto
  • Applications
  • Bridges
  • Jetspeed-1

後ほど記載しますが、Pluto以外はサポート終了しているようです。

Jetspeed-2

Jetspeed-2はオープンポータルプラットフォームであり、商用情報ポータルとして利用でき、JavaとXMLベースのポータルになります。すべてのポータルへのアクセスはロバストなセキュリティポリシーによって守られています。Jetspeed ポータルでは、個々のポートレットを集約してページを作成できます。各ポートレットは独立したアプリケーションであり、Jetspeed が中央ハブとして機能し、複数のソースからの情報を使いやすい方法で提供します。

※ 20244/5/24に冬眠状態になったらしく、現在はサポートが提供されていないようです

Pluto

Plutoポートレットコンテナは、Portlet API仕様を完全に実装しており、開発者がポートレットをテストできる実用的なサンプルプラットフォームを提供しています。しかし、ポータルが完全に稼働している状態では、ドライバなしでポートレットコンテナを実行・テストするのは煩雑であり、ポートレットの開発とテストを支援し、ポートレットコンテナ自体をテストするためのフレームワークを提供するために、Plutoが標準化しています。

Applications

Apache Portalsプロジェクト傘下の共同ソフトウェア開発プロジェクトです。Apache Software Foundationで開発されたApacheライセンスに基づいて、ロバストでフル機能、商用品質、無料で利用可能なポートレットアプリケーションを提供します。

※ 20244/5/24に冬眠状態になったらしく、現在はサポートが提供されていないようです

Bridges

Portals Bridges は、Struts、JSF、PHP、Perl、Velocityなどの一般的な Webフレームワークや、Groovy、JRuby、Jython、BeanShell、Rhino JavaScriptなどのスクリプトを使用した、JSR-168またはJSR-286準拠のポートレット開発をサポートします。

※ 20244/5/24に冬眠状態になったらしく、現在はサポートが提供されていないようです

Jetspeed-1

JavaとXMLを用いたエンタープライズ情報ポータルのオープンソース実装です。ネットワークリソース(アプリケーション、データベースなど)をエンドユーザーに提供します。ユーザーは、Webブラウザ、WAPフォン、ポケベル、その他のデバイスからポータルにアクセスできます。Jetspeedは、複数のソースからの情報を使いやすい方法で提供する中央ハブとして機能します。

※ Jetspeed-1は2008/12/4にリタイアしたようで、Jetspeed-2に移行されたようです

まとめ

今回はApache Portalsについて調べてみました。ポータルを作成するためのツールということですが、近年はSaaSをはじめ多数のポータルを簡単に作れるサービスが用意されているため、あえて自作をすることは少なくなっていると思います。おそらくサポートが終了しつつあるのもそれが影響していると予想します。しかし、現代のSaaS戦国時代以前は自作ポータル開発も活発だったと思うので、その際に重宝されていたのだと思います。私自身調べていても自分で開発した経験のないジャンルであり技術もわからない部分が多かったので、改めて技術の多様さを感じました。

これからもさらにApacheプロジェクトについて知識を深めていきたいと思います。

Discussion