(57)【要約】  エンタープライズサーバ上で利用可能な機能がリモートサーバからのＨＴＭＬコンテンツに適用される。エンドユーザからの要求があると、リモートマークアップタグを含むリモートサーバからＨＴＭＬコンテンツが収集される。リモートマークアップタグのＨＴＭＬコンテンツは解析されてエンタープライズサーバ機能用にフォーマットされたコンテンツに変換される。変換されたコンテンツはエンタープライズサーバにて実行される。その後、リモートサーバデータおよびエンタープライズサーバデータがエンドユーザに伝送される。タグおよび／またはライブラリを作成または修正可能に拡張可能とすることができ、タグは提供されるタグライブラリおよび／または作成されるタグライブラリ、あるいはそれらの組合せの中に含まれてもよく、含まれなくてもよい。【選択図】図１
2009509216.tif 000002
【特許請求の範囲】
【請求項１】
エンタープライズサーバ上で利用可能な機能をリモートサーバからのＨＴＭＬコンテンツに適用し、コンテンツ制作者がエンタープライズサーバ機能と、制作者自身のコンテンツ開発ツールの組合せを使用できるようにする方法であって：
（ａ）エンドユーザからデータ要求を受信し；
（ｂ）提供され、カスタマイズされ、作成され、もしくは修正されたタグ、またはそれらの組合せを含んで成る１つ以上のリモートマークアップタグを含む１つ以上のリモートサーバからＨＴＭＬコンテンツを収集し；  
（ｃ）前記リモートマークアップタグの前記ＨＴＭＬコンテンツを解析し；
（ｄ）前記リモートマークアップタグの前記ＨＴＭＬコンテンツをエンタープライズサーバ機能用にフォーマットされたコンテンツに変換し；
（ｅ）前記変換されたコンテンツを前記エンタープライズサーバにて実行し；
（ｆ）リモートサーバデータおよびエンタープライズサーバデータを前記エンドユーザに伝送する；
ことを含んで成る方法。
【請求項２】
請求項１記載の方法であって、提供されたリモートマークアップタグライブラリを拡張しもしくは新規のライブラリを作成しまたはそれらの組合せを行うことをコンテンツ制作者にさせるきとをさらに含んで成る方法。
【請求項３】
請求項２記載の方法であって、前記コンテンツ制作者による前記拡張は前記エンタープライズサーバにて実行されるリモートマークアップタグの作成を含んで成る方法。
【請求項４】
請求項１記載の方法であって、ローカルタグマークアップシステムを構築することをさらに含んで成る方法。
【請求項５】
請求項１記載の方法であって、前記リモートマークアップタグを介して現在のユーザ情報にアクセスすることをさらに含んで成る方法。
【請求項６】
請求項５記載の方法であって、前記現在のユーザ情報にアクセスすることは、ウェブアプリケーションへのユーザログインおよび管理サービスにアクセスすることを含んで成る方法。
【請求項７】
請求項１記載の方法であって、エンタープライズサーバリモートアクセスＡＰＩにより露出される範囲を超えるエンタープライズサーバデータにアクセスすることをさらに含んで成る方法。
【請求項８】
請求項７記載の方法であって、前記エンタープライズサーバデータを修正することをさらに含んで成る方法。
【請求項９】
請求項１記載の方法であって、タグのカスタマイズ、作成、または修正、あるいはそれらの組合せを可能にするＡＰＩを使用することをさらに含んで成る方法。
【請求項１０】
請求項１記載の方法であって、前記変換は、提供されるライブラリまたはカスタムライブラリ、あるいはそれら両方のライブラリのタグライブラリマネージャから１つ以上のタグを取得することを含んで成る方法。
【請求項１１】
（ａ）エンドユーザからデータ要求を受信し、最終的に、処理されたコンテンツを前記エンドユーザに戻すためのエンタープライズサーバと；
（ｂ）１つ以上のリモートマークアップタグを含む１つ以上のリモートサーバからＨＴＭＬコンテンツを収集するゲートウェイと；
（ｃ）前記リモートマークアップタグの前記ＨＴＭＬコンテンツを解析し前記リモートマークアップタグの前記ＨＴＭＬコンテンツをエンタープライズサーバ機能用にフォーマットされたコンテンツに変換するトランスフォーマコンポーネントと；
（ｄ）前記リモートマークアップタグを実行し、これによって、処理されたコンテンツを前記エンドユーザに戻すタグ変換エンジンと；
を含んで成る拡張可能なリモートマークアップタグシステムであって、
（ｅ）エンタープライズサーバ上で利用可能な機能がリモートサーバからのＨＴＭＬコンテンツに適用され、コンテンツは、エンタープライズサーバ機能と、前記リモートサーバにて利用可能なコンテンツ開発ツールの組合せを用いて制作されるシステム。
【請求項１２】
請求項１１記載のシステムであって、拡張可能な提供されたリモートマークアップタグライブラリ、または作成されたライブラリ、あるいはそれらの組合せをさらに有するシステム。
【請求項１３】
請求項１２記載のシステムであって、前記ライブラリは、前記エンタープライズサーバにて実行されるリモートマークアップタグの作成、修正、またはカスタマイズ、あるいはそれらの組合せにより拡張可能であるシステム。
【請求項１４】
請求項１１記載のシステムであって、ローカルタグマークアップシステムをさらに有するシステム。
【請求項１５】
請求項１１記載のシステムであって、前記リモートマークアップタグを介してアクセス可能な現在のユーザ情報をさらに有するシステム。
【請求項１６】
請求項１５記載のシステムであって、前記現在のユーザ情報はユーザログイン情報を含むシステム。
【請求項１７】
請求項１１記載のシステムであって、エンタープライズサーバリモートアクセスＡＰＩによって露出される範囲を超えてアクセス可能なエンタープライズサーバデータをさらに有するシステム。
【請求項１８】
請求項１７記載のシステムであって、前記エンタープライズサーバデータもまた修正可能でもあるシステム。
【請求項１９】
請求項１１記載のシステムであって、前記リモートマークアップタグを前記エンジンに提供するライブラリマネージャをさらに有するシステム。
【請求項２０】
請求項１９記載のシステムであって、前記ライブラリマネージャは前記タグを外部ライブラリから取得するシステム。
【請求項２１】
請求項１１記載のシステムであって、タグのカスタマイズ、作成もしくは修正、または新規のライブラリの作成、あるいはそれらの組合せを可能にするようにアクセス可能なＡＰＩをさらに有するシステム。
【請求項２２】
請求項１１記載のシステムであって、前記タグ変換エンジンコンポーネントは、提供されたライブラリもしくはカスタムライブラリ、またはそれら両方のライブラリのタグライブラリマネージャから１つ以上のタグをさらに取得するシステム。
【請求項２３】
エンタープライズサーバ上で利用可能な機能をリモートサーバからのＨＴＭＬコンテンツに適用する方法を実施するように１つ以上のプロセッサをプログラミングするためのプロセッサ可読コードが組み込まれる１つ以上のプロセッサ可読ストレージデバイスであって、コンテンツ制作者がエンタープライズサーバ機能と、制作者自身のコンテンツ開発ツールの組合せを使用できるようにするストレージデバイスであり、前記方法は：
（ａ）エンドユーザからデータ要求を受信し；
（ｂ）提供され、カスタマイズされ、作成され、もしくは修正されたタグ、またはそれらの組合せを含む１つ以上のリモートマークアップタグを含む１つ以上のリモートサーバからＨＴＭＬコンテンツを収集し；
（ｃ）前記リモートマークアップタグの前記ＨＴＭＬコンテンツを解析し；
（ｄ）前記リモートマークアップタグの前記ＨＴＭＬコンテンツをエンタープライズサーバ機能用にフォーマットされたコンテンツに変換し；
（ｅ）前記変換されたコンテンツを前記エンタープライズサーバにて実行し；
（ｆ）リモートサーバデータおよびエンタープライズサーバデータを前記エンドユーザに伝送する；
ことを含んで成るストレージデバイス。
【請求項２４】
請求項２３記載の１つ以上のストレージデバイスであって、前記方法は、提供されたリモートマークアップタグライブラリをコンテンツ制作者に拡張させることをさらに含んで成る１つ以上のストレージデバイス。
【請求項２５】
請求項２４記載の１つ以上のストレージデバイスであって、前記コンテンツ制作者による前記拡張は、前記エンタープライズサーバにて実行されるリモートマークアップタグを作成することを含んで成る１つ以上のストレージデバイス。
【請求項２６】
請求項２３記載の１つ以上のストレージデバイスであって、前記方法はローカルタグマークアップシステムを構築することをさらに含んで成る１つ以上のストレージデバイス。
【請求項２７】
請求項２３記載の１つ以上のストレージデバイスであって、前記方法は、前記リモートマークアップタグを介して現在のユーザ情報にアクセスすることをさらに含んで成る１つ以上のストレージデバイス。
【請求項２８】
請求項２７記載の１つ以上のストレージデバイスであって、前記現在のユーザ情報にアクセスすることは、ウェブアプリケーションへのユーザログインおよび管理サービスにアクセスすることを含んで成る１つ以上のストレージデバイス。
【請求項２９】
請求項２３記載の１つ以上のストレージデバイスであって、前記方法は、エンタープライズサーバリモートアクセスＡＰＩによって露出される範囲を超えるエンタープライズサーバデータにアクセスすることをさらに含んで成る１つ以上のストレージデバイス。
【請求項３０】
請求項２９記載の１つ以上のストレージデバイスであって、前記方法は、前記エンタープライズサーバデータを修正することをさらに含んで成る１つ以上のストレージデバイス。
【請求項３１】
請求項２３記載の１つ以上のストレージデバイスであって、前記方法は、タグのカスタマイズ、作成、もしくは修正、または新規のライブラリの作成、あるいはそれらの組合せを可能にするＡＰＩにアクセスすることをさらに含んで成る１つ以上のストレージデバイス。
【請求項３２】
請求項２３記載の１つ以上のストレージデバイスであって、前記変換は、提供されたライブラリまたはカスタムライブラリ、あるいはその両方のタグライブラリマネージャから１つ以上のタグを取得することを含んで成る１つ以上のストレージデバイス。
【発明の詳細な説明】
【技術分野】
【０００１】
本願は、２００５年８月１８日出願の米国特許出願第１１／１６１８３８号に対する優先権の利益を主張しており、この出願は参照のために本明細書に組み入れられる。
【０００２】
本発明は、エンタープライズサーバ上で利用可能な機能をリモートサーバからのＨＴＭＬコンテンツに適用でき、かつ、エンタープライズサーバ機能と、リモートサーバにて利用可能なコンテンツ開発ツールの組合せを使用することによりコンテンツを制作できるように、特に拡張可能なリモートタグマークアップシステムおよび方法に関する。
【背景技術】
【０００３】
Ｊａｖａ  Ｓｅｒｖｅｒ  Ｐａｇｅｓ（ＪＳＰ）のタグは、タグマークアップシステムを提供する。サン・ディベロッパー・ネットワーク（Ｓｕｎ  Ｄｅｖｅｌｏｐｅｒ  Ｎｅｔｗｏｒｋ）（ｈｔｔｐ：／／ｊａｖａ．ｓｕｎ．ｃｏｍ／ｐｒｏｄｕｃｔｓ／ｊｓｐ／ｔａｇｌｉｂｒａｒｉｅｓ／ｉｎｄｅｘ．ｊｓｐを参照のこと。これは参照のために本明細書に組み入れられる）によれば、ＪａｖａＳｅｒｖｅｒ  Ｐａｇｅｓ（ＪＳＰ）のタグライブラリは、任意のＪＳＰページにより再利用できる宣言型のモジュール機能を定義する。タグライブラリは、タグの機能をタグ実行クラスへと移すことにより、ＪＳＰページに大量のＪａｖａコードを埋め込む必要性を低減する。これらのタグライブラリは一般に、ウェブサーバ上またはアプリケーションサーバ上で実行されるのであり、リモートエンタープライズシステム上で実行されるのではない。これに関連して、ＪＳＲ‐０００１６８ポートレット仕様（ｈｔｔｐ：／／ｊｃｐ．ｏｒｇ／ａｂｏｕｔＪａｖａ／ｃｏｍｍｕｎｉｔｙｐｒｏｃｅｓｓ／ｆｉｎａｌ／ｊｓｒ／１６８を参照のこと）も参照のために本明細書に組み入れられる。
【０００４】
．ＮＥＴサーバコントロールもタグマークアップシステムを提供する。ＭＳＤＮ（ｈｔｔｐ：／／ｍｓｄｎ．ｍｉｃｒｏｓｏｆｔ．ｃｏｍ／ｌｉｂｒａｒｙ／ｄｅｆａｕｌｔ．ａｓｐ？ｕｒｌ＝／ｌｉｂｒａｒｙ／ｅｎ‐ｕｓ／ｖｂｃｏｎ／ｈｔｍｌ／ｖｂｃｏｎｉｎｔｒｏｄｕｃｔｉｏｎｔｏｗｅｂｆｏｒｍｓｃｏｎｔｒｏｌｓ．ａｓｐを参照のこと。これも参照のために本明細書に組み入れられる。）によれば、ユーザはＷｅｂ  Ｆｏｒｍｓのページを作成する際、以下の種類のコントロールが利用可能である。ＨＴＭＬサーバコントロール、Ｗｅｂサーバコントロール、および検証コントロール。
【０００５】
ＨＴＭＬサーバコントロールは、ＨＴＭＬ要素をプログラミングのためにサーバに露出（ｅｘｐｏｓｅ）する。ＨＴＭＬサーバコントロールは、表示するＨＴＭＬ要素にマップするオブジェクトモデルもまた露出する。
【０００６】
Ｗｅｂサーバコントロールは一般に、ＨＴＭＬサーバコントロールよりも多くの組み込み機能を有する。Ｗｅｂサーバコントロールは、ボタンおよびテキストボックス等のフォームコントロールだけでなくカレンダ等の特別な用途のコントロールも含む。Ｗｅｂサーバコントロールは、そのオブジェクトモデルが必ずしもＨＴＭＬ構文を反映しないという点で、ＨＴＭＬサーバコントロールよりも抽象的である。
【０００７】
最後に、検証コントロールを入力コントロールに付加して、その入力コントロールにユーザが入力する内容をテストすることができる。検証コントロールはユーザ入力のテストを許可する論理を組み入れており、必須フィールドをチェックして、文字の特定の値またはパターンに一致するかどうかをテストし、値が或る範囲内にあるかどうかを確認することができる。ユーザコントロールはＷｅｂ  Ｆｏｒｍｓのページとして作成することができる。Ｗｅｂ  Ｆｏｒｍｓは、ユーザコントロールとして他のＷｅｂ  Ｆｏｒｍｓのページに埋め込むことができ、これは、メニュー、ツールバー、および再利用可能なその他の要素を作成する方法である。
【０００８】
プラムツリー・エンタープライズ・ウェブ・スイート（Ｔｈｅ  Ｐｌｕｍｔｒｅｅ  ｅｎｔｅｒｐｒｉｓｅ  Ｗｅｂ  ｓｕｉｔｅ）は、ポータルサービス、統合サービス、検索サービス、コラボレーションサービス、およびコンテンツ管理サービスを提供している。プラムツリー・システム（Ｐｌｕｍｔｒｅｅ  ｓｙｓｔｅｍ）の基本的アーキテクチャは公知であり、ｗｗｗ．Ｐｌｕｍｔｒｅｅ．ｃｏｍ、ホワイト・ペーパー、およびそこで利用可能なその他の情報源に記載されており、例えばプラムツリー・コーポレート・ポータル（ｔｈｅ  Ｐｌｕｍｔｒｅｅ  Ｃｏｒｐｏｒａｔｅ  Ｐｏｒｔａｌ）５．０Ｊ、ポートレットの標準：ＪＳＲ１６８およびＷＳＲＰ互換用プラムツリー製品、プラムツリー・ソフトウェア社：１９９７〜２００４年：Ｏｕｒ  Ｐｒｏｄｕｃｔｓ，  Ｏｕｒ  Ｖｉｓｉｏｎがある。さらなる特徴が、米国特許第６８０４６６２号、および公開された米国特許出願公開第２００２／００５５９５６号、第２００２／０１５６８１２号、第２００３／０１６３４４６号、第２００４／０２１０５７６号、第２００４／０２６７８１７号、第２００４／０２１０５６９号、第２００４／０１０３０７８号、第２００３／０２２５７６５号、第２００５／００９７０９２号、および第２００５／００７４１２６号、ならびに米国特許出願第０９／６９６６２７号、第１０／００４３０１号、第０９／８９６０３９号、および第１０／９６６３５９号に記載されている。プラムツリーウェブサイトおよびそこで利用可能な情報源、これらのホワイト・ペーパーならびに特許文献は全て、参照のために本明細書に組み入れられる。
【０００９】
さらに、有利には、プラムツリーのトランスフォーマタグ（例えばポータル・バージョン５．０．４までのもの）は、幾つかのリモートマークアップタグを実装している。リモートマークアップタグを作成するために、さらにより拡張可能なフレームワークを提供するのが望ましい。
【発明の開示】
【課題を解決するための手段】
【００１０】
従って、拡張可能なリモートマークアップタグシステムが提供される。このシステムは、エンタープライズサーバ、ゲートウェイ、トランスフォーマコンポーネント、およびタグ変換エンジンを含む。エンタープライズサーバは、エンドユーザからデータ要求を受信し、最終的に、処理されたコンテンツをエンドユーザに戻す。ゲートウェイは、１つ以上のリモートマークアップタグを含む１つ以上のリモートサーバからＨＴＭＬコンテンツを収集する。トランスフォーマコンポーネントは、リモートマークアップタグのＨＴＭＬコンテンツを解析し、リモートマークアップタグのＨＴＭＬコンテンツを、エンタープライズサーバ機能用にフォーマットされたコンテンツに変換する。タグ変換エンジンはリモートマークアップタグを実行し、これによって、処理されたコンテンツをエンドユーザに戻すことができる。有利には、エンタープライズサーバ上で利用可能な機能が、リモートサーバからのＨＴＭＬコンテンツに適用され、エンタープライズサーバ機能と、リモートサーバにて利用可能なコンテンツ開発ツールとを組み合わせたものを用いてコンテンツが制作される。
【００１１】
システムはさらに、拡張可能な、提供されるリモートマークアップタグライブラリを含むことができる。該ライブラリは、エンタープライズサーバにて実行されるリモートマークアップタグを作成することにより、拡張可能とすることができる。
【００１２】
システムは、ローカルタグマークアップシステム、および／または、リモートマークアップタグを介してアクセス可能な現在のユーザ情報も含むことができる。現在のユーザ情報は、ユーザログイン情報を含むことができる。
【００１３】
システムは、エンタープライズサーバリモートアクセスＡＰＩにより露出される範囲を超えてアクセス可能なエンタープライズサーバデータも含むことができる。このエンタープライズサーバデータは修正可能とすることもできる。
【００１４】
システムは、エンジンにリモートマークアップタグを提供するためのライブラリマネージャを含むことができる。ライブラリマネージャは、タグを外部ライブラリから取得することができる。
【００１５】
システムは、アクセス可能なＡＰＩを含み、タグのカスタマイズ、作成、または修正、あるいはそれらの組合せを可能にすることができる。トランスフォーマコンポーネントはさらに、提供されるライブラリ、またはカスタムライブラリ、あるいはその両方のタグライブラリマネージャから、１つ以上のタグを取得することができる。
【００１６】
エンタープライズサーバ上で利用可能な機能をリモートサーバからのＨＴＭＬコンテンツに適用し、コンテンツ制作者がエンタープライズサーバ機能と、制作者自身のコンテンツ開発ツールの組合せを使用できるようにする方法も提供される。この方法は、エンドユーザからデータ要求を受信することを含む。１つ以上のリモートマークアップタグを含む１つ以上のリモートサーバからＨＴＭＬコンテンツが収集される。ＨＴＭＬコンテンツはリモートマークアップタグについて解析され、エンタープライズサーバ機能用にフォーマットされたコンテンツに変換される。変換されたコンテンツはエンタープライズサーバにて実行される。その後、リモートサーバデータおよびエンタープライズサーバデータがエンドユーザに伝送される。
【００１７】
この方法は、コンテンツ制作者が、提供されるリモートマークアップタグライブラリを拡張すること、および／または、新規のタグライブラリを作成することができるようにすることも含むことができる。拡張するこのことは、エンタープライズサーバにて実行すべきリモートマークアップタグを作成することを含むことができる。
【００１８】
この方法はさらに、ローカルタグマークアップシステムを構築すること、および／または、リモートマークアップタグを通じて現在のユーザ情報にアクセスすることを含むことができる。現在のユーザ情報は、ウェブアプリケーションへのユーザログインおよび管理サービスを含むことができる。
【００１９】
この方法は、エンタープライズサーバリモートアクセスＡＰＩにより露出された範囲を超えてエンタープライズサーバデータにアクセスすることも含むことができる。エンタープライズサーバデータは修正可能とすることができる。
【００２０】
この方法は、タグのカスタマイズ、作成、または修正、あるいはそれらの組み合わせを可能にするＡＰＩにアクセスすることを含むことができる。変換することは、提供されるライブラリ、またはカスタムライブラリ、あるいはその両方のタグライブラリマネージャから１つ以上のタグを取得することを含むことができる。
【００２１】
プロセッサ可読コードが組み込まれた１つ以上のプロセッサ可読ストレージデバイスも提供される。プロセッサ可読コードは、エンタープライズサーバ上で利用可能な機能をリモートサーバからのＨＴＭＬコンテンツに適用する方法を実行するように１つ以上のプロセッサをプログラミングし、コンテンツ制作者がエンタープライズサーバ機能と、制作者自身のコンテンツ開発ツールの組合せを使用できるようにする。
【発明を実施するための最良の形態】
【００２２】
好適な実施形態による拡張可能なリモートマークアップタグシステムは、リモートサーバ（すなわちポートレット）から入信するＨＴＭＬがエンタープライズサーバ上で利用可能な機能を活用できるように設計される。タグおよび／またはライブラリを拡張可能にすることで、これを作成および／または修正することができること、および、提供されるタグライブラリおよび／または作成されるタグライブラリ内にタグが含まれていても、いなくてもよいことが意図される。拡張性により、コンポーネントを付加および／または修正し、新規の機能および／または修正された機能を提供することができる。エンタープライズサーバはリモートコンテンツを集約し、リモートマークアップタグを実行する。
【００２３】
コンテンツ制作者は、特別なリモートマークアップタグを自らのＨＴＭＬに含めて、エンタープライズサーバ機能を使用することができる。エンドユーザからデータ要求がポータルに入信する際、エンタープライズサーバ（すなわちポータル）が、リモートマークアップタグを含むリモートサーバからＨＴＭＬコンテンツを収集する。次に、エンタープライズサーバは、リモートマークアップタグのＨＴＭＬコンテンツを解析し、エンタープライズサーバ機能を用いて、それらのタグを適切なコンテンツに変換する。リモートサーバからのデータと、エンタープライズサーバからのデータとを混合したものである結果として生じるコンテンツは次に、エンドユーザに返送される。
【００２４】
コンテンツ制作者またはシステム制作者は、提供されるリモートマークアップタグライブラリを拡張することもできる。制作者は、エンタープライズサーバにより実行可能な制作者自身のリモートマークアップタグを作成することにより、これを行う。
【００２５】
現在のタグマークアップシステムは、リモートウェブサーバまたはアプリケーションサーバでタグをＨＴＭＬタグへ変換し、その後、エンドユーザにＨＴＭＬを直接伝送する。これは、エンタープライズサーバに携わるコンテンツ制作者が、エンタープライズサーバ、あるいは、好適な自らのウェブサーバまたはアプリケーションサーバのいずれか一方のみを用いて、自らのコンテンツを制作していることを意味する。制作者がエンタープライズサーバを用いて制作する場合、通常のコンテンツ開発ツールは使用していない。制作者が自らの好適なウェブサーバ上またはアプリケーションサーバ上でコンテンツを生成する場合、エンタープライズサーバ機能を利用していない。
【００２６】
このシステムにより、コンテンツ制作者は、自らの好適なコンテンツ開発ツールを使用すると同時に、エンタープライズサーバ機能を使用することができる。タグを有するＨＴＭＬコンテンツは、リモートウェブサーバまたはアプリケーションサーバから供給され、その後、エンタープライズサーバに伝送される。次に、エンタープライズサーバは、タグコンテンツを最終的なＨＴＭＬに変換し、これをエンドユーザに伝送する。コンテンツ制作者またはシステム開発者は、制作者自身のリモートマークアップタグを作成して、エンタープライズサーバ上のデータにアクセスおよび／またはこれを修正することにより、エンタープライズサーバの独自の機能を拡張することもできる。
【００２７】
リモートマークアップタグシステムは、幾つかの異なるコンポーネントで構築される。図１に示す説明のための事例を参照すると、ゲートウェイ７とトランスフォーマ８の組合せを介して、エンタープライズシステムにリモートコンテンツがもたらされる。ゲートウェイ７は、複数のリモートコンテンツサーバ６（すなわちポートレットサーバ）から同時にデータを収集する。その後、トランスフォーマ８は、そのデータを解析し、このデータを、タグ変換エンジン１２で使用可能なフォーマットに変換する。タグ変換エンジン１２はリモートマークアップタグを実行し、その後、エンタープライズシステムは、処理されたコンテンツをエンドユーザ４に戻す。
【００２８】
エンドユーザ４からの要求は、エンタープライズシステム（すなわちポータルサーバ）２に入信させることができる。リモートコンテンツサーバ６から、リモートサーバコンテンツ（すなわちポートレットデータ）を要求することができる。トランスフォーマ８は、リモートコンテンツサーバ６からリモートコンテンツデータを得て、これをページ１０（すなわちユーザに表示すべきウェブページ）に戻す。リモートコンテンツサーバ６上では、伝統的なｊｓｐタグまたはａｓｐ．ｎｅｔコントロールが実行され、その後、リモートマークアップタグが実行されることになる。次に、ページ１０が、リモートマークアップタグ変換エンジン１２を呼び出し、タグを処理する。エンジン１２は、要求されたタグをタグライブラリマネージャ１４から得て、ＨＴＭＬフラグメントおよびタグのツリー１６を構築する。その後、ツリー１６は処理されて（タグを実行しつつ）、その結果がページ１０に戻され、これにより、ページはエンドユーザ２に表示される。
【００２９】
タグ変換エンジン
タグ変換エンジン１２は、トランスフォーマ８により提供されるリモートマークアップタグをＨＴＭＬに持ち込み、これを処理してタグを表示する。
【００３０】
トランスフォーマは、マークアップフラグメント（すなわちテキストおよびＨＴＭＬ）、ＸＭＬフラグメント、および関連データ（すなわち、タグが単集合タグであるのか、あるいは開始タグまたは終了タグであるのかというＸＭＬ属性）を含むオブジェクトマークアップデータの順序リストを提供する。
【００３１】
まず、タグ変換エンジンは、オブジェクトマークアップデータから表示ツリー１６を構築する。図２は、表示ツリー１６を略示する。一例として、リモートサーバにより、以下のＨＴＭＬを生成することができる。
【００３２】
＜ｔａｂｌｅ＞＜ｔｒ＞＜ｔｄ＞＜ｐｔ：ｌｏｇｉｃ．ｉｆ  ｅｘｐｒｅｓｓｉｏｎ＝”ｕｓｅｒ．ｉｄ＝＝２”＞
＜ｐｔ：ｌｏｇｉｃ．ｔｒｕｅ＞或る物は＜ｂ＞真＜／ｂ＞！＜／ｐｔ：ｌｏｇｉｃ．ｔｒｕｅ＞
＜ｐｔ：ｌｏｇｉｃ．ｆａｌｓｅ＞このことは＜ｂ＞偽＜／ｂ＞！＜／ｐｔ：ｌｏｇｉｃ．ｆａｌｓｅ＞
＜／ｐｔ：ｌｏｇｉｃ．ｉｆ＞＜／ｔｄ＞＜／ｔｒ＞＜／ｔａｂｌｅ＞
【００３３】
本実施形態によれば、このＨＴＭＬは、タグ変換エンジン１２により、図２で示す表示ツリーに変換されよう。Ｉｆタグ２０は提供された式を処理し、基礎を成すＨＴＭＬフラグメント３０または３２のうちの１つを表示しつつ、Ｔｒｕｅタグ２２かＦａｌｓｅタグ２４のいずれかに、ＨＴＭＬフラグメント自身を表示するよう命じるであろう。エンドユーザに戻されたコンテンツは、Ｔｒｕｅメッセージ３０またはＦａｌｓｅメッセージ３２のいずれかを含むであろう。例えば、式が真であれば、以下のＨＴＭＬをエンドユーザに戻すことができよう。
【００３４】
＜ｔａｂｌｅ＞＜ｔｒ＞＜ｔｄ＞或る物は＜ｂ＞真＜／ｂ＞！＜／ｔｄ＞＜／ｔｒ＞＜／ｔａｂｌｅ＞
【００３５】
エンタープライズサーバ上で利用可能な、増大した機能を活用するであろうタグの例として、エンタープライズサーバを通じてのみ利用可能な或るユーザ・データについてエンタープライズ・データベースを照会するタグがあろう。またはリモートコンテンツにおいて実行される或るユーザ・アクションに起因してエンタープライズ・データベース内のデータを修正したタグがあろう。
【００３６】
図３は、好適な実施形態によるタグ表示ツリーインフラストラクチャを略示する。ＩＤｉｓｐｌａｙＥｌｅｍｅｎｔ４０が、ＤｉｓｐｌａｙＥｌｅｍｅｎｔクラスの基本的インタフェースを指定する。ＣｏｍｐｏｓｉｔｅＤｉｓｐｌａｙＥｌｅｍｅｎｔ４２が使用されて、異なるＤｉｓｐｌａｙＥｌｅｍｅｎｔがグループ化される。ＴａｇＤｉｓｐｌａｙＥｌｅｍｅｎｔ４４が、他のＤｉｓｐｌａｙＥｌｅｍｅｎｔを含めるために、ＣｏｍｐｏｓｉｔｅＤｉｓｐｌａｙＥｌｅｍｅｎｔ４２を拡張する。ＣｏｍｐｏｓｉｔｅＤｉｓｐｌａｙＥｌｅｍｅｎｔ４２は、例えば決して単独で使用されないように構成されるのが好ましい。
【００３７】
タグ変換エンジンは、各フラグメントを、ＨＴＭＬＤｉｓｐｌａｙＥｌｅｍｅｎｔ（マークアップフラグメント）４６またはＴａｇＤｉｓｐｌａｙＥｌｅｍｅｎｔ（ＸＭＬフラグメント）４４のいずれかに変換し、これらの要素を階層ツリー１６に入れる（図２および図３を参照のこと）。この処理は、いかなる非終了タグに気付き、ツリーにエラーメッセージを付加し、無効オブジェクトマークアップデータを極力最適に処理しようとすることになる。タグツリーは、好ましくは遅延初期化を使用して、タグが実際に実行されるかどうかが決定されるまで（例えば、条件が真ならば、条件付きタグが、特定のＨＴＭＬまたはタグを表示することのみに使用されるかどうかが決定されるまで）の処理を最小にする。これは、タグのオブジェクトデータがいずれも、ツリーを構築する際には処理されず、好ましくは、タグが実行されようとしている際にのみ処理されることを意味する。
【００３８】
次に、アプリケーションサーバおよびエンタープライズサーバのコンテキスト情報を含むＴａｇＶｉｓｉｔｏｒのオブジェクトが組み立てられ、タグツリーを表示するのに使用される。ＴａｇＶｉｓｉｔｏｒのオブジェクトは各ＤｉｓｐｌａｙＥｌｅｍｅｎｔに送られ、各ＤｉｓｐｌａｙＥｌｅｍｅｎｔはそのコンテンツを表示して、次にＴａｇＶｉｓｉｔｏｒのオブジェクトをその子ＤｉｓｐｌａｙＥｌｅｍｅｎｔへ送り、必要な場合それらを表示する。
【００３９】
ＨＴＭＬＤｉｓｐｌａｙＥｌｅｍｅｎｔ４６は、そのマークアップフラグメントをテキストストリングに変換し、それを出力する。トランスフォーマが、トランスフォーマタグ間にある全ＨＴＭＬをＨＴＭＬフラグメントに変換することから、ＨＴＭＬＤｉｓｐｌａｙＥｌｅｍｅｎｔ４６は子タグを持たず、テキストストリングとなる。
【００４０】
ＴａｇＤｉｓｐｌａｙＥｌｅｍｅｎｔ４４はそのコンテンツを表示し（すなわちトランスフォーマタグを実行し）、かつ、その子ＤｉｓｐｌａｙＥｌｅｍｅｎｔも表示する。タグはオブジェクトデータから初期化され、次にタグコンテキストが検証される。検証は、タグが、適切な親タグおよび／または子タグを有すること、およびタグが必須の属性を有することのチェックを含む。検証は、全タグ属性が、適切な種類（例えば整数、ストリング、ブール値）であることもチェックする。タグコンテキストまたはタグの実際の実行のいずれかにエラーがある場合、ＤｉｓｐｌａｙＥｌｅｍｅｎｔは、エラーの詳細を含むＨＴＭＬコメントを出力することになる。
【００４１】
その後、タグ表示ツリーを実行することから生じるＨＴＭＬは、エンタープライズサーバに戻されて、エンドユーザに表示される。
【００４２】
拡張可能なリモートマークアップタグの実行
タグが実行される際、ベースタグｃｌａｓｓには、タグ作成者がタグ属性と、メモリー内変数と、ウェブアプリケーションおよびエンタープライズサーバデータにアクセスすることを可能にする様々なヘルパーメソッドがある。
【００４３】
タグは、６つの異なるｓｃｏｐｅ、すなわちアプリケーション、セッション、持続セッション、要求、ポートレット、およびタグｓｃｏｐｅから変数を保存し、取得することができる。これらのｓｃｏｐｅは全て、僅かに異なるように挙動し、タグ作成者が厳密な保存された変数の持続時間および可視性を指定することを可能にする（すなわち、タグｓｃｏｐｅは、現在のタグおよびその内部の全タグによる変数へのアクセスを許容するが、ツリーの異なる部分におけるその他のタグによるアクセスを許容しない）。変数をまたタグライブラリに専用のものとして指定することもできるので、作成者は変数命名の矛盾を案じる必要がない。メモリー内変数は、Ｉｆ／Ｅｌｓｅ  ｅｘａｍｐｌｅタグのようなタグ間の通信を可能にする。
【００４４】
タグＡｕｔｈｏｒは、ＨＴＴＰセッションおよびウェブアプリケーションを含むウェブアプリケーションデータへもアクセスする。このことは、タグＡｕｔｈｏｒにそのタグ挙動をユーザのブラウザまたはＩＰアドレス等のデータに基づかせる。
【００４５】
タグは、ＰｒｏｃｅｓｓＴａｇＢｏｄｙメソッドを呼び出すオプションを有し、このオプションは現在のタグ内のＨＴＭＬタグおよびトランスフォーマタグの全てを処理する。タグがＰｒｏｃｅｓｓＴａｇＢｏｄｙメソッド（条件付きタグ内におけるものなど）を呼び出さないならば、現在のＴａｇＤｉｓｐｌａｙＥｌｅｍｅｎｔ４４の下のタグツリーの一部は実行されないことになる。
【００４６】
リモートマークアップタグ作成
新規の拡張可能なリモートマークアップタグを作成するために、作成者は、ベースタグｃｌａｓｓを拡張してカスタムコードを実装する。このことは現在、ＪａｖａまたはＣ＃のいずれかで行うことができる。ベースタグｃｌａｓｓにより、作成者がＸＭＬタグ属性（すなわち＜ｐｔ：ｌｉｂ．ｔａｇ  ａｔｔｒｉｂｕｔｅ＝”ｔｒｕｅ”／＞）、ならびに、包囲タグおよびエンタープライズサーバの現状に基づいてＨＴＭＬコンテンツを出力することを可能にする。ベースタグｃｌａｓｓは、タグ属性へのアクセス（および属性の自動検証）、ならびにエンタープライズサーバのメモリーに保存されたデータへのアクセスを提供し、かつ、エンタープライズシステムオブジェクトへの直接的アクセスを提供する。タグライブラリ文書は、ソースコードコメントをＨＴＭＬ文書に変換するサードパーティツールを使用するＴａｇＤｏｃシステムにより自動的に生成されうる。
【００４７】
リモートマークアップタグ言語
リモートマークアップタグは、標準ＨＴＭＬタグとほとんど同じ方法でリモートサーバコンテンツにおいて使用される。２つの主要な差異がある。
【００４８】
第１の差異は、全てのリモートマークアップタグをトランスフォーマによってリモートマークアップタグとして認識できるように、それらのリモートマークアップタグが特殊なネーム空間になければならないことである。これは、リモートサーバコンテンツにおいて予め定義されたネーム空間（すなわち＜ｐｔ：ｌｏｇｉｃ．ｆｏｒｅａｃｈ／＞）が実際のタグ・ネームに前置されることを意味する。
【００４９】
第２の差異は、リモートマークアップタグがランタイムで動的に計算されエンタープライズシステムからのデータに置換されたタグ属性を持つことができることである。タグ属性が特殊予約文字（例えば＄）で始まるならば、タグが実行される際、その属性は、メモリー内変数、リストからの項目、あるいはエンタープライズシステムからのローカライズドストリングなどの動的データに置換されることになる。
【００５０】
トランスフォーマ
トランスフォーマ８（図１を参照のこと）は、ＸＭＬ対応トランスフォーマタグを有する生のＨＴＭＬをリモートサーバから取得し、それをマークアップフラグメントおよびＸＭＬフラグメントに変換する。トランスフォーマ８は、ＵＲＬ、ネーム空間等のための比較的小さいデータ処理も実行することができる。トランスフォーマ８はＨＴＭＬを解析し、タグ変換エンジン１２にオブジェクトマークアップデータの順序リストを提供する。このリストは、マークアップフラグメント（すなわちテキストおよび標準ＨＴＭＬ）、およびＸＭＬフラグメント、ならびに関連データ（すなわちＸＭＬ属性、単集合タグｖｓ．開始タグまたは終了タグ、等）を、それらがオリジナルマークアップに現れた順序で含む。
【００５１】
トランスフォーマ８は、リモートサーバからのコンテンツを処理する際に少なくとも２つの有利な目的を有する好ましくは有限状態トランスフォーマである。第１の目的は、リモートサーバ上の保護されるコンテンツを指すＵＲＬを処理し、エンタープライズシステム上のゲートウェイを通過するＵＲＬに変換することである。エンドユーザマシンからリモートサーバには（例えばファイアウォールに起因して）直接アクセスできないかもしれないので、ＵＲＬは外向きのエンタープライズサーバへ行くように変換される必要があり、このエンタープライズサーバは、リモートサーバからの要求コンテンツを表示することになる。トランスフォーマは、ＵＲＬをＨＴＭＬとＪａｖａＳｃｒｉｐｔの両方において変換するのと同様に、所定の固定ＵＲＩをイメージサーバのＵＲＬのような共通で使用されるＵＲＬに変換する。
【００５２】
第２の目的は、リモートサーバコンテンツを、ＨＴＭＬおよびマークアップフラグメントと、ＸＭＬフラグメントの順序リストに変換することである。ＨＴＭＬおよびマークアップフラグメントは単にテキストである一方で、ＸＭＬフラグメントは属性およびタグの種類（例えば終了タグ、開始タグ、単集合）のようなトランスフォーマタグについての情報を保存する。
【００５３】
パフォーマンスの理由から、有限状態マシンが使用される。有限状態マシンは、入力に応じて或る状態から別の状態へ移行するためのルールはもちろん、様々な状態から成る。
【００５４】
この場合、有限状態のトランスフォーマは、開いた括弧を見つけるまでリモートサーバコンテンツ内を検索する。次に、トランスフォーマは、どの種類のタグが見つかるかに応じて、様々な状態に移行する。ＵＲＬを含むことのできるアンカまたはＪａｖａＳｃｒｉｐｔのタグのようなタグはＵＲＬ用に処理され、リモートマークアップタグはＸＭＬフラグメントに変換され、その他のＨＴＭＬタグは通常無視される。
【００５５】
ＵＲＬを含むアンカおよびその他のＨＴＭＬタグは、それらのＵＲＬがリモートサーバ上の保護されたコンテンツを参照するならば、後処理のためにマーク付けされる。
【００５６】
スクリプトタグを入力するとＪａｖａＳｃｒｉｐｔ処理が作動し、この処理は、ウィンドウを開く方法におけるように、ＪａｖａＳｃｒｉｐｔにおけるＵＲＬをチェックする。ＪａｖａＳｃｒｉｐｔのＵＲＬは次に、ＵＲＬをランタイム処理するヘルパーメソッドにくるまれる。
【００５７】
リモートサーバコンテンツを全て変換した後、後の再利用のため、フラグメントの順序リストがキャッシュに入れられる。その後、順序リストは後処理され、様々なＵＲＬおよびＵＲＩ、ならびに特定のトランスフォーマタグが変換される。所定の固定ＵＲＩが適切なＵＲＬに置換され、保護されたリモートサーバコンテンツへのＵＲＬが変換されて、エンタープライズシステムのゲートウェイを通過する。その後、処理されたコンテンツはタグ変換エンジンへ送られる。
【００５８】
本発明は本明細書で上述した実施形態に限定されるものではなく、実施形態は、添付の特許請求の範囲に記載された本発明およびその構造上かつ機能上の均等物の範囲から逸脱することなく、変更可能または修正可能である。例えば、本発明は、既存のＪＳＰタグおよび．ＮＥＴ  Ｗｅｂコントロールシステムと同様の、ローカルタグマークアップシステムを構築する際に活用することもできる。別の代替の使用として、ＩＤ管理アプリケーション制作システムにおけるユーザ情報へのアクセスを提供するようにすることもできよう。このようなシステムは、標準ウェブアプリケーションにユーザログインおよび管理サービスを提供するフレームワークを含むことができよう。これらのアプリケーションは、リモートマークアップタグを通じて現在のユーザ情報にアクセスするであろう。
【００５９】
リモートウェブサーバからエンタープライズサーバデータにアクセスし、データを使用してＨＴＭＬを作成することにより、その他の機能を実行することができる。例えば、ポートレット作成者は、プラムツリーＥＤＫリモートアクセスＡＰＩを用いてプラムツリーポータル情報にアクセスし、次に、この情報をリモートポートレットサーバ上のＨＴＭＬデータにすることができよう。有利なことに、好適な実施の形態によるシステムは、ポートレット作成者がリモートアクセスＡＰＩによって露出されている範囲を超えるエンタープライズサーバデータにアクセスまたはこれを修正することを可能にする。
【００６０】
本明細書における好適な実施形態により実行でき、上述され、および／または特許請求の範囲に記載された方法において、操作を選択された類型的順序で記載した。しかしながら、順序は、類型的利便のために選択され順序付けられものであり、操作を実行する特別な順序を示唆することを意図するものではない。
【００６１】
さらに、背景技術の欄および発明の開示の欄に加えて、本明細書で挙げた全ての参考文献は、代替の実施形態を開示するものとして、参照のために、好適な実施形態の詳細な説明に組み込まれる。
【図面の簡単な説明】
【００６２】
【図１】好適な実施形態によるリモートタグマークアップシステムを略示する。
【図２】好適な実施形態によるリモートタグマークアップシステムの表示ツリーを略示する。
【図３】好適な実施形態によるタグ表示ツリー・インフラストラクチャを略示する。
【図１】
2009509216.tif 000003
【図２】
2009509216.tif 000004
【図３】
2009509216.tif 000005
【国際調査報告】
2009509216.tif 000006