2008年12月01日
2008年06月17日
■[Portlet]JBoss Portlet Container

PALポータルのリリースしたら、JBossというかRedhatの人から教えてもらったのだけど、JBoss もポートレットのコンテナ部分は単独でリリースしているのね。しかも、JSR 286 に対応しているのね。あとで、見てみよう。
defiant
2008/06/19 14:09
社内勉強会,良いですねぇ.うちではそういうのすらやるヒマなしという感じです(元々個人で勝手にという雰囲気ですけどね)
shinsuke_sugaya
2008/06/19 21:42
なかなか、そういう時間をとるのも大変ですからね。うちの場合は、勉強会といっても昼を食いながらなってますけど(^^;
2008年06月14日
defiant
最近 http://www.ibm.com/developerworks/jp/java/websphere/library/techarticles/0803_hepper/0803_hepper.html を読んだりしてます.元々の理解がアレなので,なかなか頭に入ってきませんが...
shinsuke_sugaya
ありがとうございます。IBMの彼がそれを書いていたのですね。ざっと読んだ感じ、(訳の質は置いておいて) JSR 286 を直接で読むよりは要点がまとめてあって良さそうですね。
2007年11月13日
■[Portlet]ポートレットで使えるフレームワーク

ポートレットが使えるフレームワークはいくつかあるけど、近頃は、Wicket がどの程度きちんとポートレットで動くのかが気になる。Wicket に Ate が参加しているみたいだから、Teeda 並にまともに動くのではなかろうかと思い始めている(彼が本気でやってれば)。という感じで、気になるものの、Wicket 自体にも手を出せてない今日この頃(TT) そのうちためそう・・・。あとは、そろそろ MyFaces や Sun の RI もチェックしないとな。まぁ、Teeda のポートレット対応がそれらに簡単に追い抜かれることはないと思うけど、油断は禁物かと。
2007年09月08日
■[JSF][Java][Portlet]JSR 301

長い間、放置していたけど、JSF とポートレットのブリッジの仕様が Early Draft Review 2 になっている。っていうか、放置しすぎて、追随できてないけど、個人的には Teeda でどうするかというのがあるので、無視することもできない・・・。っで、チラッと見た感じだと、対象としているのが JSR 252 だから、急いで何かする必要はないかっと。そもそもの問題として、JSF がそこまで美しく、ポートレットを切り分けられるのかと疑問を持っているし。まぁ、どっちにしても、無視するわけにはいかないので、目を通さないといけない(これ実装すると、teeda-portlet みたいに切り出しになる気もするのだけど・・・)。そんな感じで、JSR 286 を読み終えていないにもかかわらず、読み物が一つ増えた・・・。今のところ、時間がないので、今後の TODO かね。
shot6
一緒にJSR252対応をTeedaにまず施すという選択肢もありますwww
shinsuke_sugaya
そうですね〜。でも、まだ、JSR 252 で何が更新されたかを把握できてないです(^^; でも、JSR 252&301 対応はやってみたいですね〜。
2007年08月28日
■[Portlet]JSR 286 Portlet Specification 2.0 (PLT.11.1.1.14 - PLT.11.1.2)

1週間ぶりに続きから・・・
PLT.11.1.1.4 Public Render Parameters
他のポートレットとレンダーパラメータを協調できるようにするため、ポートレットはportlet.xmlにpublic-render-parameter要素を宣言できる。ここでいうポートレット間の共有とは、ポートレットアプリケーションを越える共有もできるみたい。Public Render Parameter(公開描画パラメータ?)はポートレットやコンポーネントから変更や参照が可能(コンポーネントが何をさすかは不明)。ポートレットは、supported-public-render-parameter要素をportlet要素の中で定義するようだ。
<public-render-parameter> <identifier>foo</identifier> <qname xmlns:x=”http://example.com/params”>x:foo.2</qname> </public-render-parameter> <public-render-parameter> <identifier>bar</identifier> <qname xmlns:x=”http://example.com/params”>x:foo.bar</qname> </public-render-parameter> <portlet> <portlet-name>portletA</portlet-name> ... <supported-public-render-parameter>foo</supported-public-renderparameter> </portlet> <portlet> <portlet-name>portletB</portlet-name> ... <supported-public-render-parameter>bar</supported-public-render-parameter> </portlet>
ポータルコンテナはsupported-public-render-parameterを使って定義されたポートレットに対して、Public Render Parameter を送る。
レンダーパラメタの吐き出しのURLは奨励されるだけで、ポータル実装では必須ではない。Public Render Parameter は供給されなきゃ、ポートレットでは null として扱われる。ポートレットがレンダーパラメータをnullにセットしたら、ポータルコンテナは削除したものとして扱うべし。公開または非公開レンダーパラメータに関係なく、PortletRequestのgetParameterメソッドでアクセスできる。または、getPrivateParameterMapやgetPublicParameterMapなどでもそれぞれにアクセス可能。(そんなメソッドが追加されたのか・・・)
qname要素でpublic render parameterは特定される。他の方法としては、default-namespace要素でデフォルトの名前空間を指定できるそうな。
あとは、l10nの話で、javax.portlet.app.public-render-parameter.<identifier>.display-name をリソースバンドルで与えれば、表示名を翻訳できるみたい。
PLT.11.1.1.5 Resource Request Parameters
serveResourceリクエストでは、ポートレットはResourceURL上からリソースパラメータを受けとるべし。
PLT.11.1.2 Extra Request Parameters
javax.portlet. で始まるパラメータ名は予約されている。
とりあえず、今日はここまで・・・。PLT.11はまだ長いな・・・。
2007年08月23日
■[Tech][Portlet]商用ポータル(EIP)など

ポータルやEIP関連で(特にJavaやJSR 168にこだわらずに)調べてみる。価格や特徴など適当になっていたりするので、情報をいただけるとうれしいです〜。
Microsoft
製品名: Office SharePoint(TM) Portal Server 2003 価格: 1,030,000円 (1サーバー、5クライアントアクセス付) (2007版については価格不明) 特徴:ドキュメントやプロセス管理、Office との連携 参考リンク: http://office.microsoft.com/ja-jp/sharepointserver/default.aspx http://www.microsoft.com/japan/presspass/detail.aspx?newsid=1686
IBM
製品名: WebSphere Portal V6.0 価格: 特徴: SOAのフロントエンド環境など 参考リンク: http://www-06.ibm.com/jp/software/lotus/products/wsp/
Oracle
製品名: Oracle Application Server Portal 価格: ? 特徴: JSR 168, WSRP など対応 参考リンク: http://otn.oracle.co.jp/products/ias/portal/index.html http://www.oracle.co.jp/appserver/portal/
BEA
製品名: BEA WebLogic Portal 価格: ? 特徴: JSR 168, WSRP など対応 参考リンク: http://www.beasys.co.jp/products/weblogic/portal/
Sun
製品名: Sun Java System Portal Server 価格: ? 特徴: JSR 168, WSRP など対応 参考リンク: http://jp.sun.com/products/software/javasystem/portalserver/
Redhat
製品名: JBoss Application Platform for Portals 価格: ? 特徴: JSR 168, WSRP など対応 参考リンク: http://www.redhat.co.jp/jboss/platforms/portals/
富士通
製品名: Interstage Portalworks 価格: 450,000円より 特徴: ポートレット標準技術(JSR168、WSRP)に対応 参考リンク: http://interstage.fujitsu.com/jp/portalworks/ 補足: Fujitsu はその他、SharePointなど複数のポータルを担いでいる
日立
製品名: uCosminexus Portal Framework 価格: 2,625,000円 特徴: Yahooと連携 参考リンク: http://www.hitachi.co.jp/Prod/comp/soft1/cosminexus/products/lineup/portalframe/index.html http://www.hitachi.co.jp/Prod/comp/soft1/cosminexus/products/lineup/portalframe/feature.html
NEC
製品名: StarOffice21 価格: 250万円〜 特徴: 使えるアプリがいろいろある 参考リンク: http://www.nec.co.jp/gw/index.html
日立情報システムズ
製品名: BizPortal 価格: 182万円 特徴: ? 参考リンク: http://www.hitachijoho.com/solution/business/bizportal/index.html
ドリーム・アーツ
製品名: INSUITE Enterprise 価格: ? 特徴: アプリをいろいろと持っている 参考リンク: http://www.insuite.jp/index.html
サイボウズ
製品名: ガルーン 2 価格: ¥600,000/50ユーザー 特徴: 使えるアプリが多い 参考リンク: http://g.cybozu.co.jp/ http://g.cybozu.co.jp/garoon/product/ http://g.cybozu.co.jp/garoon/product/application/
富士通四国システムズ
製品名: MyWeb Portal Office 価格: 350,000円(150ユーザー) 特徴: グループウェア? 参考リンク: http://www.myweb-jp.com/products/portaloffice/
NECネクサソリューションズ
製品名: PowerPortal Solution 価格: 35万円 特徴: 既存のシステムと連携ポートレットがある(それに価格がついている) 参考リンク: http://www.nec-nexs.com/news/press2002/1120.html http://www.nec-nexs.com/sl/sol/eip_powerportal.html
OSK
製品名: EasyPortal 価格: 980,000円 特徴: グループウェアの基本機能を備えた企業ポータル 参考リンク: http://www.evalue.jp/pro/ep/default.html
NTTデータ先端技術
製品名: WonderPortlet 価格: 120万円 特徴: ? 参考リンク: http://www.portlet.jp/
Sybase, Inc.
製品名: Sybase Enterprise Portal 価格: ? 特徴: ? 参考リンク: http://www.sybase.jp/products/developmentintegration/enterpriseportal.html
ディサークル
製品名: POWER EGG 価格: オープンプライス 特徴: 営業支援や決済機能などのオプションがある 参考リンク: http://www.d-circle.com/poweregg/index.html
BroadVision
製品名: BroadVision Portal 価格: ? 特徴: JSR 168, WSRP など対応かも 参考リンク: http://www.broadvision.co.jp/products/bv_portal.html
富士通
製品名: VPOナレッジポータル 価格: ? 特徴: ? 参考リンク: http://infonavi.infoweb.ne.jp/services/eip/index.html
パナソニックソリューションテクノロジー
製品名: Global Portal 価格: ? 特徴: GlobalFamily(グループウェア)との連携 参考リンク: http://panasonic.co.jp/pss/pstc/products/portal/index.html
リンコム
製品名: リンコム ネクスト 価格: 1,500,000 特徴: グループウェア的な機能も持つ 参考リンク: http://www.linkcom.co.jp/next/next_top.cfm
2007年08月21日
■[Portlet]JSR 286 Portlet Specification 2.0 (PLT.11 - PLT.11.1.1.13)

続き・・・
PLT.11 Portlet Requests
リクエストオブジェクトは、processAction、processEvent、serveResource、renderメソッドに渡される。
PLT.11.1 PortletRequest Interface
PortletRequest は、すべてのリクエストインタフェースの共通機能を定義する。
PLT.11.1.1 Request Parameters
以下のメソッドでアクセスする。
- getParameter
- getParameterNames
- getParameterValues
- getParameterMap
特に目新しいことはないと思う。
PLT.11.1.1.1 Form and Query Parameters
フォームのデータがPOSTで送信される場合、コンテンツタイプがapplication/x-www-form-urlencodedなら、そのデータはポートレットのリクエストパラメータに投入される。リクエストパラメータに投入されてしまったら、リクエストオブジェクトの入力ストリームではアクセスはできない。POSTでのデータがパラメータセットに含まれないときには、ActionRequest/ResourceRequestの入力ストリームでアクセスできる。
GETで送信される場合、フォームのデータは送信されたPortlet URLに付け足され、ポートレットのリクエストパラメータとしてアクセスできる。(うーん、何か表現が曖昧な気が・・・)
いくつかのポータル実装では、内部状態をURLクエリー文字列の一部としてエンコードしてないかもしれない。なので、GETによるフォームをサポートしてないかもしれないので注意されたし。(JSR 168 のときも J2 ではオプションを指定しないと、GETが取れない気がする)
ポートレットURLが必要とするURLを生成するECMAスクリプトかもしれないから、ポートレットがクライアントで単純にクエリーパラメータを追加するなと言っている。
今日はここまで・・・(進んでない)。
2007年08月15日
■[Portlet]JSR 286 Portlet Specification 2.0 (PLT.9.4 - PLT.10.4.3)

続き・・・
PLT.9.4 Custom Window States
カスタムウィンドウ状態の例は以下のようにdescription、window-stateになった。
<portlet-app> ... <custom-window-state> <description>Occupies 50% of the portal page</description> <window-state>half_page</window-state> </custom-window-state> ... </portlet-app>
PLT.9.5 Defining Window State Support
ポータルは事前定義のNORMAL, MAXIMIZED, MINIMIZED をサポートする。宣言されていないカスタムウィンドウ状態は呼び出さない。配備記述子では以下のように定義される。
<supports> <mime-type>text/html</mime-type> <portlet-mode>edit</portlet-mode> <portlet-mode>help</portlet-mode> <window-state>half-page</window-state> ... </supports> <supports> <mime-type>text/vnd.wap.wml</mime-type> <portlet-mode>help</portlet-mode> ... </supports>
以上の例では、HTMLについては、事前定義のウィンドウ状態に加えて、HALF-PAGEウィンドウ状態をサポートすることになる。WMLは、事前定義のウィンドウ状態のみのサポートになる。
ポータルがサポートしていないウィンドウ状態については、無視か、マッピングしない。
PLT.10 Portlet Context
PortletContextはポートレットの実行でのポートレットアプリケーションのポートレットの表示を定義している。PortletContextを利用すると、ログ、リソースや実行時のオプションにアクセスできたり、他のポートレットやサーブレットでアクセスできる属性を入れることができる。実行時のオプションというのが新しい点だろうか。
PLT.10.4 Portlet Container Runtime Options
ポートレットは、ポートレットアプリケーションレベルまたはポートレットレベルで追加の実行時オプションを定義できる。ポートレットアプリケーションレベルのオプションはすべてのポートレットに適用され、ポートレットレベルのオプションは固有のポートレットに適用され、ポートレットアプリケーションレベルのオプションを上書きする。
実行しているポートレットのPortletContextのgetContainerRuntimeOptionsメソッドを通して、コンテナ実行時オプションを取得する。このメソッドは、Mapを返してくる。portlet.xmlに設定されていなければ、空のMapになる。
PLT.10.4.1 Runtime Option javax.portlet.escapeXml
1.0のときは、URLのXMLエスケープについては、定義されていなかった。なので、XMLエスケープされているURLを想定しなくてもよかった。2.0では、それらを動かすには、javax.portlet.escapeXml実行時オプションが必要。定義は以下のような感じ。
<portlet> … <container-runtime-option> <name>javax.portlet.escapeXml</name> <value>false</value> </container-runtime-option> </portlet>
PLT.10.4.2 Runtime Option javax.portlet.renderHeaders
renderフェーズでヘッダーを書く必要があるポートレットは、この実行時オプションを利用する。デフォルトは、false。詳細はPLT11.1.1.3.3。例、
<portlet> … <container-runtime-option> <name>javax.portlet.renderHeaders</name> <value>true</value> </container-runtime-option> </portlet>
PLT.10.4.3 Runtime Option javax.portlet.includedPortletSessionScope
JSP内のセッション変数はアプリケーションスコープのポートレットセッションにマップされるけど、それが調整可能になるみたい。そのためにこの実行時オプションを利用する。
<portlet>
…
<container-runtime-option>
<name>javax.portlet.includedJSPPortletSessionScope</name>
<value>PORTLET_SCOPE</value>
</container-runtime-option>
</portlet>
ポートレット開発者は、すべてのポートレットコンテナが以上の機能を提供できるというわけではないことに注意されたし。これに依存すると、実行時にポートレットコンテナで制限となるかも。
今日はここまで・・・
2007年08月14日
■[Portlet] Clustering JSR-168 Portlet Applications in Tomcat

Tomcatでのポータルのクラスタのお話。メモ。クロスコンテキストのセッションレプリケーションって、めんどう・・・。
http://issues.apache.org/bugzilla/show_bug.cgi?id=35710
http://www.ja-sig.org/wiki/display/PLT/Clustering+JSR-168+Portlet+Applications+in+Tomcat