UWL開発:UWLサービスの取得
0 131

このトピックでは、 UWLサービスのアクセス方法を取り上げて説明します。

Portal利用

 
IUWLService uwlService = (IUWLService) WDPortalUtils.getServiceReference(IUWLService.ALIAS_KEY); 
PortalRuntime.getRuntimeResources().getService(IUWLService.ALIAS_KEY); 

JNDI利用

 
  // look up UWL service private														 
  IUWLService findService() throws NamingException {														 
    Properties env = new Properties();														 
          env.put(InitialContext.INITIAL_CONTEXT_FACTORY, "com.sapportals.portal.prt.registry.PortalRegistryFactory");														 
          // create initial context														 
          InitialContext ctx = new InitialContext(env);														 
          // retrieve UWL service														 
          IUWLService uwlService = (IUWLService) ctx.lookup("/broker/services/" + IUWLService.ALIAS_KEY); return uwlService;														 
  }														 
	 
 
public void retriveItems() {														 

try {
            // look up UWL service
            IUWLService uwlService = findService();
            // define session timeout period
            final int sessionIdleTimeout = 60;
            // create context
            UWLContext uwlContext = new UWLContext();
            // find logged in user.
            IUser user = //TODO Get the user for whom the items are to be retrieved.
            uwlContext.setUser(user);
            uwlContext.setLocale(Locale.getDefault());
            // begin session IUWLSession uwlSession;
            uwlSession = uwlService.beginSession(uwlContext, sessionIdleTimeout);
            uwlContext.setSession(uwlSession);
            IUWLItemManager itemManager = uwlService.getItemManager(uwlContext);
            QueryResult result = itemManager.getItems(uwlContext, null, null);
            ItemCollection items = result.getItems();
             Item item = null;
            for (int i = 0; i < items.size(); i++) {
              item = items.get(i);
              // item.getSubject() can give you Task's Subject string
              // item.getAttribute("taskId").getStringValue() gives you taskId
              // (a check for null should be added also to avoid NullPointerException).
              Map params = new HashMap();
              params.put("taskId", item.getExternalId());
              String executionURL = WDURLGenerator.getApplicationURL("sap.com/tc~bpem~wdui~taskinstance", "ATaskExecution", params);
              //TODO Add code send mail which contains above URL.
            }
    } catch (UWLException e) {
            e.printStackTrace();
          } catch (NamingException e) {
            e.printStackTrace();
          }
  }

 

0 131
みんなのツイート (0)

関連サマリー


  • EP 0 Votes 81 閲覧数



    UWLは複数のプロバイダシステム (ビジネスワークフロー、コラボレーションタスク、アラートフレームワーク、および KMの最新のお知らせ) からタスクと通知を収集し、それらを単一のリストに表示します。

    コンセプト

    統合ワークリストは、タスクを管理するための一元的なアクセスポイントを提供します。
    この統合ワークリストは、各ユーザの作業スタイルに応じてパーソナライズすることができます。

    アイテム

    UWLに表示される項目は、ワークアイテムまたはアイテムと呼ばれます。

    アイテムのタイプ

    以下のアイテムタイプがあります。

    タスク警告通知追跡アイテムのステータス

    以下のアイテムステータスがあります。

    処理中完了アイテムの所有者

    アイテムは所有者をもちます、ワークアイテムの転送や代理により所有者がかわることができます。

    プロバイダ

    UWLは複数のプロバイダシステムからのタスクおよび通知が 1 つのリストにまとめられ、1 箇所でアクセスできるようになります。

    実現アーキテクチャ

    (source:SAP Help Portal)

    ソフトウェアコンポーネントUWLJWF

    UWL機能一覧表示
    代理ルール管理
    UWL設定

    UWLの表示や動作をカスタマイズするには、以下の管理機能を利用することができます。
    Portal Content管理画面

    上記の画面はポータルのURLからアクセスできます。

    上記の画面でキャッシュの利用有無やキャッシュの有効時間、代理の設定などのパラメータ設定が多数用意されています。


  • EP 0 Votes 170 閲覧数


    このトピックでは、ポータルロールを取り上げて、その構成要素などを説明します。

    概述

    ポータルロールは、コンテンツをどのようにグループ化するか、コンテンツを SAP NetWeaver Portalにどのように表示するかが定義されます。 
    ユーザ、またはグループをポータルロールに割り当てることによって、ユーザまたはグループがどのコンテンツをポータルに表示するかを定義します。割当時、ロール割当ユーザ権限のチェックが行われ、ロールを割り当てるための適切な権限を保有しているかどうかが確認されます。

    ポータルロールのほかにユーザマネジメントエンジン (UME) ロールがあります。UMEロールによって、権限のセットが定義されます。但しUMEロールはポータルの表示を制御することができません。

    構成要素

    ポータルロールの構成要素はおもに以下のようなものがあります。

    ページ: 
    レイアウトと割り当てられたiViewで構成されるiView のコンテナです。iView: 
    社内やインターネットのコンテンツソースからデータを取得し、ポータルのコンテンツエリアに表示するプログラムです。ワークセット: 
    特定の活動分野に属するタスク、サービス、情報のコレクションです。メニュー: 
    ワークセットとメニューの組み合わせを作成し、ロールに紐付けることでユーザーごとに異なる画面を表示することが可能です。サンプル

    標準のgeneral/eu_role、super_admin/super_admin_roleとカスタマ作成のRoleT1を持っているユーザを例として取り上げて、ポータルの表示を示します。

    ユーザノポータル表示 
    general/eu_roleのコンテンツ定義 
    super_admin/super_admin_roleのコンテンツ定義 
    RoleT1のコンテンツ定義 

  • EP 0 Votes 76 閲覧数



    (このトピックは編集中です)

    委譲委譲のアクション

    委譲ユーザの選択

    UMEのSimpleSearch機能が使用されているため、動きが以下のようになります。

    アクティブでないユーザも検索されます会社による制限は機能しません代理

    代理ルールの設定

    代理ルールに関するメニューが表示されるには、下記の二つのことが発生することが必要です。

    代理ルールが存在することUWL Cacheに代理されたアイテムがあること代理ユーザの検索

    アクティブなユーザのみが検索されます。


  • EP 0 Votes 103 閲覧数


    このトピックでは、UWLの表示を取り上げて説明します。

    キャッシュ機能

    UWLは、通常キャッシュを使用し、キャッシュで保存されているアイテムが表示されます。

    システムイメージ

    キャッシュを使用したUWL表示のシステムイメージを下記の図で示します。

    キャッシュされたアイテムは、UWL稼働サーバのローカルデータベースに保存されます。

    UWLキャッシュの更新

    キャッシュ更新タイマによる自動更新
    以下の図で示されたように、いまの設定では、60秒単位でUWLキャッシュがバックアンドのBPMシステムと同期化を取っております。ログオン処理による更新
    ユーザがログオンしたときに、UWLキャッシュの更新がリクエストされます 画面リフレッシュによる更新
    ユーザが画面でリフレッシュリンクをクリックしたときに、UWLキャッシュの更新がリクエストされます

    UWLキャッシュには有効期間があり、有効期間が切れましたら、更新されます。(デフォルトは5分)
    またUWLキャッシュは下記の場合も更新されます。

    ユーザがポータルにログオンしたら、ログオンされたユーザはDeltaプールに追加され、バックグラウンドでUWL Cacheを更新します。(デフォルトは1分)UWLのWebDynpro UIからアイテムを選択したり、ソートしたりした場合、Cacheの有効期間が切れましたら、更新されます。UWLのUIはデフォルトで10分間隔でRefreshされ、UWLのUIはCacheからアイテムを再度ロードし、Cacheの有効期間が切れましたら、更新されます。手動的にUWLを更新する際アプリレベルのキャッシュ

    UWL表示

    統合ワークリストは以下のタイミングで再表示処理が行われます。

    一定間隔で自動的に再表示
    統合ワークリストのUIは一定間隔で自動的にRefreshされます。
    ユーザがリフレッシュリンクを押下した時ユーザがアイテムをソートしたり、フィルタリングしたりした時iViewレベルの設定パラメータ:Wait duration before calling providers on loading of UWL
    デフォルトとは20(秒)と設定されます。ログオン直後になどUWLをロードする際に、キャッシュの内容が20秒以内に取得されたものであれば、キャッシュの内容をそのまま取得して表示し、キャッシュの内容が20秒前に取得されたものでれば、キャッシュを更新させてからキャッシュの内容を取得して表示するといういみです。
    0に設定しておけば、キャッシュを更新させて常に最新のものを取得して表示することになります。パラメータ:Wait duration before calling providers on loading preview
    アイテムの詳細画面の表示

    1.ログオン直後のUWL表示
    ログオン時に、UWLキャッシュ更新がリクエストされますが、UWLキャッシュ更新の完了を待たずに、当時のキャッシュ内容を画面に表示して、「更新を待っています」というメッセージを出力します。
    (レスポンス性を向上するための措置)
    下記の画面で設定された値(デフォルト値:20秒)が経過した後に、再度キャッシュの内容を取りなおして表示します。(その時点でもUWLキャッシュ更新が完了していない場合、画面上に処理中アニメを表示して画面操作不可にします。)
    この設定値が0と変更されれば、ログオン直後のUWL表示は常にUWLキャッシュ更新が完了するまで待つようになります。
    2.マニュアルでリフレッシュされた場合のUWL再表示

    先にUWLキャッシュがに更新されます、その後、UWLキャッシュの内容が画面に表示されます

    3.ィルタリング検索、代理ユーザが選択された場合のUWL再表示
    UWLキャッシュの即時更新が発生しません、その時点のUWLキャッシュの内容が画面に表示されます。

    4.画面自動リフレッシュ(10分間隔?)のUWL再表示
    UWLキャッシュの即時更新が発生しません、その時点のUWLキャッシュの内容が画面に表示されます。

    ■代理指定者名前の表示
    リストに該当するタスクがある場合のみ、代理指定者の名前が表示されます。

    プロバイダの設定

    このセクションは準備中です。

    表示のカスタマイズ

    このセクションは準備中です。


  • EP 0 Votes 117 閲覧数


    このトピックでは、例を取り上げて手順に従ってポータルロールの作成方法を説明します。

    ポータルロールの作成1.ロールを新規作成

    コンテキストメニューで「New」-「Role」を選択

    2.ロールの属性を入力

    ロールの名前、IDなどの属性を入力します。

    3.ロールの作成を完了

    ポータルロールの編集4.ロールを編集

    5.ワークセットをロールに追加

    対象のワークセットをロールにコピーします。ロールは階層構造をもてるため、なかに自由にサブフォルダを作成することができます。

    6.もう一つのワークセットを追加しておく

    7.EntryPointをTrueにしておく

    ポータルロールの割当

    テストのため、上記に作製したロールをAdministratorに割り当てておきます。

    ポータルロールの表示

    Administratorでログインして、割り当てられたロールの表示を確認します。


  • EP 0 Votes 95 閲覧数


    このトピックでは、例を取り上げて手順に従ってワークセットの作成方法を説明します。

    ワークセットの作成1.ワークセットを新規作成

    コンテキストメニューで「New」-「Workset」を選択

    2.ワークセットの属性を入力

    ワークセットの名前、IDなどの属性を入力します。

    3.ワークセットの作成を完了

    ワークセットの編集4.ワークセットを編集

    5.ページをワークセットに追加

    ページやiViewをワークセットに追加します、ワークセットは階層構造を取れますので、必要に応じて中にフォルダを作成することができます。

    6.ワークセットの編集を完了

    その他

    もう一つのワークセットを作成しておきます。


  • EP 0 Votes 89 閲覧数


    このトピックでは、例を取り上げて手順に従ってページの作成方法を説明します。

    ページの作成1.ページを新規作成

    コンテキストメニューで「New」-「Page」を選択

    2.ページの属性を入力

    ページの名前、IDなどの属性を入力します。

    3.ページのテンプレートを選択

    例では「WebDynpro Proxy Page」にします。

    4.ページのレイアウトを選択

    例では「T-Layout」にします。

    5.ページの作成を完了

    コンテンツの編集5.ページのコンテンツを編集

    6.iViewをページにコピー

    プレビュー

     


  • EP 0 Votes 151 閲覧数


    このトピックでは、例を取り上げて手順に従ってiViewの作成方法を説明します。

    1.iViewを新規作成

    コンテキストメニューで「New」-「iView」を選択

    2.iViewの作成方法を選択

    例では「Web Dynpro Java Applicaiton」から作成するようにします。

    3.アプリケーションサーバを指定

    ポータルが動くアプリケーションサーバと別のアプリケーションサーバ上のアプリケーションを組み込むことも可能ですが、例では「Local」にします。

    4.アプリケーションを指定

    対象のWeb Dynpro Javaアプリケーションを選択します。例では統合ワークリストの一覧表示画面の「UWL」を指定します。

    4.iViewの属性を入力

    iViewの名前、IDなどの属性を入力します。

    5.iViewの作成を完了

    6.その他のiViewを作成しておく

    「UWL」のほかに、統合ワークリストの個人表示設定画面とユーザ情報表示画面のアプリをそれぞれiViewとして作成しておきます。