ポータルっぽいサイトを作りたいので色々調査したところ、オープンソースものとしては Liferay と Jetspeed2 あたりが有力らしいことがわかったものの、両方ともかなり重量級であり中身を理解するのが相当大変そうなので、とりあえず Java Portlet Specification のリファレンス実装である Pluto のカスタマイズから始めてみることにする。 Windows環境(わたしはWindows 7 64bit+JDK1.6.17 x86_64) zip版の Tomcat6 がインストールされていること(インストール先を TOMCAT_HOME とする)。 Maven2 がインストールされていること。 Eclipseとm2eclipseプラグインがインストールされていること。 という前提。 プロジェクトの準備 pluto-portal ソースコードの取得 カスタマイズ元にな
eXo Portalの新しいバージョンは前のバージョンに導入されたものの上に構築され、AJAXに代表されるWeb 2.0テクノロジーにより拡張可能モデルがもたらしたユーザの複雑性を取り除くことができました。 実際にeXoは、他のポータルの大半が静的レイアウトを使用していた時に動的レイアウトのコンセプトを導入した初めてのものです。主な違いは、動的レイアウトではポートレットがリーフにあたる、ネスト化したコンテナのツリーを取り扱っているようになることです。次の図に見られるように、コンテナはちょうどSwing UIオブジェクトを取り扱うときのように、その子のレイアウトに関与します。自由に使えるコンテナ・レンダラが行、列、またはタブに子を表示します。 その結果、1つのロケーションから別のロケーションへコンテナを移動させることは、単なるデータ構造サイドでのツリー操作になるのです。クライアント・サイドで
Apache Pluto の覚書きです。Apache Pluto は、Java Portlet 仕様 のリファレンス実装です。この覚書きを書いている段階では、Java Portlet Specification (JSR-168) が Java Portlet 仕様として、まとめられています。今回は、Java Portlet Specification を読んだ覚書きを記録していこうと思います。その後で、Apache Pluto を触った覚書を記録していこうと思います。 この覚書きで使っている環境は次の通りです。Eclipse 3.1.2Java Portlet Specification Version 1.0Pluto 1.1 (alpha release 前のもの)Tomcat 5.5.9J2SE 5.0 参考にしたリソースは次の通りです。Java Portlet Specifica
はじめに 本稿では、Java Portlet Specificationに準拠するJavaポートレットの開発方法と、Javaポートレット用のポータルランタイムコンテナの基本について、企業ポータルサーバとオープンソースポータルの両方を踏まえて解説します。 2003年に最初のJSR 168: Portlet Specificationがリリースされて以来、ポートレット開発は、エンタープライズ業界とオープンソースコミュニティの両方において堅調に普及してきました。 2008年6月のJSR 286: Portlet Specification 2.0のリリースにより、ポートレット技術は、現在最もよく使用されるWeb開発技術の1つという地位を不動のものとしました。現在では、Sun Liferayポータル、eXo Platform、Jakarta Plutoなど、20以上もの著名なオープンソースのポート
JSR 168: Portlet Specification JCPでは現在JSR 286としてJavaポートレット仕様バージョン2.0の標準化が進められており、7月よりPublic Reviewが行われている最中だ。次期バージョンのポートレット仕様も気になるところだが、今回はその前に現行の仕様である「JSR 168: Portlet Specification」を紹介しておきたい。 JSR 168はポータルアプリケーションで利用される「ポートレット」と呼ばれる小型のWebコンポーネントを作成するためのAPIである。一般にポータルと言えばシングルサインオンやコンテンツ統合を提供するWebアプリケーションを指す。ポートレットはこのポータルで利用されるUIコンポーネントで、リクエストに応じて動的に画面の生成を行うことができる。今ならばGoogleガジェットのようなものを想像してもらうとわかりや
lighttpd -> tomcat環境でrequest.getRemoteAddr アプリ側でIP制限等かけている場合、lighttpd -> tomcatとくると リモートアドレスが127.0.0.1等になってしまう(proxyサーバのIP)。 クライアントのIPを取得するにはHTTP_X_FORWARD_FORを取れば良いらしい。 request.getRemoteAddr("x-forwarded-for"); javaで-つなぎの小文字みたい。 proxy環境でrequestのヘッダーを取れば出てくる。 ヘッダー一覧取得は http://www.javadrive.jp/servlet/request/index9.html に教えてもらいましたo(_ _)o request.getRemoteAddr()をすべきところで、書き換えてくれる人が欲しかったので 以下のようにした。
ServletにアクセスしてきたクライアントのIPアドレスを得る方法。 プロキシを介さない場合 ServletRequest#getRemoteAddr()で、アクセスしてきたクライアントのIPアドレスを取得できます。 ServletRequest request = .. 省略 .. // クライアントのIPアドレス( プロキシを介す場合、プロキシのIPアドレス ) String proxyIp = request.getRemoteAddr(); プロキシを介した場合 ServletRequest#getRemoteAddr()は、プロキシサーバーのIPアドレスを返します。また、プロキシサーバーでクライアントIPアドレスを返す設定がされていれば、環境変数で本来のクライアントのIPアドレスが渡されます。これを解析すればとれなくはないです。 ×送信しない設定の場合、当然送信されない。(社内
はじめに POIはJavaからMicrosoftのドキュメントを操作するためのAPIで、2007年6月からApache Software Foundationのトップレベルプロジェクトに格上げされました。オープンソースとして提供されているので誰でも無償で利用することができます。 なぜ初期のリリース後、7年以上も経過し、多くの情報が存在するPOIを今回あらためて取り上げることにしたかと言うと、2009年9月リリースのVersion 3.5でOffice Open XML形式(以降、OOXML形式)への対応という大きな変更が加わったからです。 分かりやすくいうと2007形式のExcel(xlsx)やWord(docx)のファイルも扱えるようになったということです。 本連載では、POIの中からExcelを操作するコンポーネント(HSSF/XSSF)に対象を絞り、下記の予定で紹介していきます。 準
NTTデータの「BizXaaSプラットフォームサービス」は、同社のデータ・センターで運用している各種クラウドを提供する。ラインアップしたクラウドは、仮想サーバーからアプリケーションの開発/実行環境、メールやグループウエアなどのアプリケーションと幅広い。 「各種クラウドを取りそろえることで、顧客の要望に合ったクラウドをワンストップで提供する」。中井章文ビジネスソリューション事業本部サービス&プラットフォームビジネスユニット長は、BizXaaSプラットフォームサービスについて、こう説明する。 提供形態は三つある。一つは、業務アプリケーションを個別に開発/実行できる環境を提供することだ。業務要件に合わせて個別にアプリケーションを開発したい顧客に向く。 アプリケーションの開発/実行環境は、NTTデータイントラマートのアプリケーション・サーバー「intra-mart」をベースにして構築してある。顧客
はじめに 「人類が使うすべての情報を集め整理する」 この壮大なミッションを掲げ設立されたGoogleは、そのミッションを遂行するべく、マシン・ネットワークなどのインフラ環境に莫大な金額を投資し、独自の技術を開発し続けています。Googleは検索エンジンだけにとどまらず、Gmail、Google Calendar、Google Maps、Google Analystics、Youtube、Google Apps、Google Earthなど、いまや全世界のユーザーが使用するサービスをリリースしており、その扱うデータ量、アクセス数は天文学的な数になることが予想されます。Googleはそれらのデータ量、アクセス数を高速にさばき、なおかつ耐障害性の高いスケーラブルな大規模分散システムを構築しています。 そんな中、2008年4月にGoogle App Engineがリリースされました。Googleが
はじめに Google App Engine(GAE)/Javaでは、Java仮想マシン上で動作する言語を利用することができます。例えば、JRubyやGroovyなどです。 Scalaも、コンパイルすることによりJava仮想マシン上で動作するクラスファイルを生成する言語ですので、当然、GAE/Java上で動作させることができます。 Scalaが動作するということは、ScalaでできているWebアプリケーションフレームワークであるLiftを元に作成されたアプリケーションを、GAE/Javaに載せることができるということです。 前後編で構成される本連載では、ScalaおよびLiftをGAE/Java上で動作させる方法を解説した後、サンプルアプリケーションでGoogleが提供するさまざまなAPIを利用した、GAEならではのアプリケーションを作成して、GAEでのアプリケーション作成のイメージをつか
今回から、JavaFXについて紹介していくことにします。 今まで、本連載ではJavaFXにつれて触れることが多くあったのですが、まとめて系統的に紹介することはありませんでした。新しいことを始めるにはちょうどいい季節でもあるので、はりきって紹介していきましょう。 JavaFXは2008年12月にリリースされたGUIを構築するためのプラットフォームです。一般的にはRIA用とされることが多いのですが、RIAという枠にとらわれることなく様々なGUIを構築することが可能です。 JavaFXはプラットフォーム名であり、そこで動作させるアプリケーションはJavaFX Scriptというスクリプト言語を用いて記述します。 JavaFXはJava VM上で動作します。また、JavaFXはターゲットとなる機器により複数のバリエーションがあります。 PCで動作するJavaFX DesktopはJava SEで動
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く