峯文がトピックを作成しました

  • WDJ 0 Votes 209 閲覧数


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

    ファイルアップロード

    Resource attributeを定義
    Contextにタイプcom.sap.ide.webdynpro.uielementdefinitions.ResourceのValue Attributeを追加します。
    FileUpload UIを追加する
    アップロード後の情報を取得

    IWDResource iwdr = (IWDResource)wdContext.getCurrentElement().getAttributeValue("Resource"); logger.infoT(iwdr.getResourceName()); logger.infoT(iwdr.getResourceType().getFileExtension()); logger.infoT(iwdr.getResourceType().getHtmlMime()); ファイルダウンロード

    Resource attributeを定義
    Contextにタイプcom.sap.ide.webdynpro.uielementdefinitions.ResourceのValue Attributeを追加します。
    FileDownload UIを追加
    FileDownload UIを追加し、resourceプロパティにResource attribute valueを指定すす

     


  • WDJ 0 Votes 211 閲覧数


    入力補助機能として検索ヘルプまたは入力値提案を実装することができます。

    単純型検索ヘルプ

    UIエレメント「DropDownByKey」を利用して実装する。標準設定によって項目数が50を超える場合、ポップアップ検索ヘルプとして表示されます。
    該当設定方法は「RadioButtonGroupByKey」も同一です。

    静的設定

    固定値で項目一覧を設定する場合のみ使用します。
    UIエレメント「DropDownByKey」のプロパティ「selectedKey」にマッピングされているコンテキストアトリビュートのタイプにシンプルタイプを設定して、「Enumeration」項目に項目一覧を追加する。

    動的設定

    値を動的に設定する場合、使用する。
    UIエレメント「DropDownByKey」のプロパティ「selectedKey」にマッピングされているコンテキストアトリビュートに対してコーディング処理を行う。
    該当ロジックはコンテキストを定義したコントローラーに実装する。
    ※コンテキストを参照しているコントローラーに実装した場合、「must not modify the datatype of a mapped attribute」エラーが発生する。

    // コンテキストからModifiableSimpleValueSet オブジェクトを取得 com.sap.typeservices.IModifiableSimpleValueSet<String> valueSet = wdContext.currentHeader01Element().getAttributePointer(IPublicContract006Comp.IHeaderElement.CATEGORY). getAttributeInfo().getModifiableSimpleType().getSVServices().getModifiableSimpleValueSet();

    // ESまたはBAPIのドロップダウンを設定
    List<Category> list = zprocessInit.getT_Category();
    for(Category category : list ) {
    valueSet.put(category.getKey(), category.getText());
    }
    // ドロップダウンの初期値を設定する場合
    wdContext.currentHeaderElement().setCATEGORY(list.get(0)); 複合機能型検索ヘルプ

    検索条件付きの検索機能を表す。複合機能型検索ヘルプはWDJのObject Value Selector(OVS)機能を利用した共通部品として実装され、
    各業務画面から利用します。
    検索用のヘルプ標準部品を利用
    OVSは検索で使用するノードと処理ロジックだけ追加することで簡単に検索ヘルプを追加することができます。
    自動生成されるOVSで使用する検索条件用ノードと検索結果用ノードは用意する必要があります。
    ・OVS設定処理ロジック
    OVS用のノードとOVSリスナーを利用してOVSを設定します。


    // 検索ヘルプを設定するコンテキスト
    com.sap.tc.webdynpro.progmodel.api.IWDAttributeInfo[] ovsStartUpAttributes
    = {wdContext.nodeHead().getNodeInfo().getAttribute(IPrivateOVSView.IHeadElement.PROCESS_TYPE)};
    // OVSの処理リスナー (クラス定義必要)
    com.sap.tc.webdynpro.progmodel.api.IWDOVSContextNotificationListener listener
    = new TestOVSContextNotificationListener ();
    // OVSの設定処理
    com.sap.tc.webdynpro.progmodel.api.WDValueServices.addOVSExtension(
    "TestOVS",       // OVS名称ー任意
    ovsStartUpAttributes,   // 検索ヘルプ設定対象
    wdContext.nodeInput(),  // 検索条件ノード
    wdContext.nodeOutput(), // 検索結果ノード
    listener        // リスナーオブジェクト
    );

    ・OVSリスナークラス定義
    インタフェースIWDOVSContextNotificationListenerを実装してOVSの実行時呼び出されるクラスを定義し、OVSの設定で利用される。


    private class TestOVSContextNotificationListener implements
    com.sap.tc.webdynpro.progmodel.api.IWDOVSContextNotificationListener{
    // OVSの初期検索条件の値設定ロジック
    public void applyInputValues(com.sap.tc.webdynpro.progmodel.api.IWDNodeElement applicationNodeElement,
    com.sap.tc.webdynpro.progmodel.api.IWDNodeElement queryInputNodeElement) {
    queryInputNodeElement.setAttributeValue(
    IPublicTest04Comp.IInputElement.PROCESS_TYPE,
    applicationNodeElement.getAttributeValue(IPrivateOVSView.IHeadElement.PROCESS_TYPE));
    }
    // 検索処理の実装
    public void onQuery(com.sap.tc.webdynpro.progmodel.api.IWDNodeElement queryInputNodeElement,
    com.sap.tc.webdynpro.progmodel.api.IWDNode queryOutputNode) {
    // 検索ロジック
    for(int i = 10; i < 20; i++) {
    IWDNodeElement element = queryOutputNode.createAndAddElement();
    element.setAttributeValue(
    IPublicTest04Comp.IOutputElement.PROCESS_TYPE, "11" + i);
    element.setAttributeValue(
    IPublicTest04Comp.IOutputElement.PROCESS_TYPE_NAME, "テストタイプ1111" + i);
    }
    }
    // 検索結果の行を選択した後の処理
    public void applyResult(com.sap.tc.webdynpro.progmodel.api.IWDNodeElement applicationNodeElement,
    com.sap.tc.webdynpro.progmodel.api.IWDNodeElement queryOutputNodeElement) {
    // start copying the attributes
    applicationNodeElement.setAttributeValue(
    IPrivateOVSView.IHeadElement.PROCESS_TYPE,
    queryOutputNodeElement.getAttributeValue(IPublicTest04Comp.IInputElement.PROCESS_TYPE));
    }

    検索用のヘルプカスタム部品を作成
    IWDOVSProviderとIWDOVSDialogを実装したクラスを利用して別ウィンドウとビューを持つOVS画面を作成できます。
    ・OVS設定処理ロジック
    カスタム部品は別のウィンドウとビューを保持するので、OVS用のノードとOVSリスナーの代わりにOVSプロバイダ及びOVSダイアログを利用する。
    設定ロジックは一般的にコンポーネントコントローラーまたはカスタムコントローラーのwdDoInitに実装します。


    // 検索ヘルプを設定するコンテキスト
    com.sap.tc.webdynpro.progmodel.api.IWDAttributeInfo[] ovsStartUpAttributes
    = {wdContext.nodeHead().getNodeInfo().getAttribute(IPrivateOVSView.IHeadElement.PROCESS_TYPE)};
    // OVSプロバイダ (クラス定義必要)
    com.sap.tc.webdynpro.progmodel.api.IWDOVSProvider provider = new TestOVSProvider();
    // OVSの設定処理
    com.sap.tc.webdynpro.progmodel.api.WDValueServices.addOVSExtension(
    "TestOVS",       // OVS名称ー任意
    ovsStartUpAttributes,   // 検索ヘルプ設定対象
    provider,   // OVSプロバイダ
    null       
    );

    ・OVSプロバイダ及びOVSダイアログクラス定義
    インタフェースIWDOVSProviderを実装したOVSプロバイダはOVSダイアログ情報を保持しています。


    private class TestOVSProvider implements IWDOVSProvider {

    OVSDialg dialog;
    IWDOVSControl ovsControl;

    // OVSウィンドウを生成して返す
     @Override
     public IWDOVSDialog createOVSDialog(IWDOVSControl ovsControl) {
      dialog = new OVSDialg();
      this.ovsControl = ovsControl;
      return dialog;
     }
    // 明示的にウィンドウを閉じる場合、使用
     public void closeWindow() {
      dialog.closeWindow();
     }
    // OVSコントロール情報が必要な場合、使用
    // OVSを呼び出したアトリビュート情報等
     public IWDOVSControl getControl() {
      return this.ovsControl;
     }

    }

    インタフェースIWDOVSDialogを実装したOVSダイアログはOVSウィンドウのオブジェクトを持っている。


    private class OVSDialg implements IWDOVSDialog {
    IWDWindow window;
     
    // ウィンドウを「閉じる」ボタンを押すタイミングで呼び出される
      @Override
      public void exit() {
      // TODO Auto-generated method stub
      }
       // OVSヘルプとして使用するウィンドウを返す
      @Override
      public IWDWindow getWindow() {
       IWDWindowInfo windowInfo =
          (IWDWindowInfo)wdComponentAPI.getComponentInfo().findInWindows("TestCompWindow");
       window = wdComponentAPI.getWindowManager().createModalWindow(windowInfo);
       return window;
      }
    // ウィンドウを閉じる処理として明示的にウィンドウを閉じる場合、使用
      public void closeWindow() {
       window.destroyInstance();
      }
    } 入力値提案

    データの一部を入力すると入力値にヒットするデータが一覧として表示されます。

    UIエレメント「InputField」の「suggestValues」を「true」に設定してマッピングしたコンテキストアトリビュートには「単純型検索ヘルプ」と同一のコディングまたはシンプルタイプマッピングを行います。


  • WDJ 0 Votes 187 閲覧数


    このトピックでは、WDJ開発における各基本UIエレメントを取り上げて説明します。(このトピックは編集中です。)

    Label

    用途 
    他のUIエレメントのラベルとして表示される。
    関連付けのUIエレメントのプロパティ「state」が「required」になっている場合、必須マークが表示される。
    主要プロパティ

    プロパティ設定可能値説明labelForUIエレメントID関連付けUIエレメントのIDを設定designemphasized light standard強調表示に設定 「:」なしに設定 基本表示textテキスト関連付けUIエレメントのIDを設定Value Help

    Web DynproのValue Help
    ① Simple Value Selector(SVS)
    ② Extended Value Selector(EVS)
    ③ Object Value Selector(OVS)
    help.sap.com - Value Help Tutorials

    外部リンクUI Element Guide - SAP Help Portal


  • EP 0 Votes 253 閲覧数


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

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

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

    2.ロールの属性を入力

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

    3.ロールの作成を完了

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

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

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

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

    7.EntryPointをTrueにしておく

    ポータルロールの割当

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

    ポータルロールの表示

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


  • EP 0 Votes 202 閲覧数


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

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

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

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

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

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

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

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

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

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

    その他

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


  • EP 0 Votes 193 閲覧数


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

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

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

    2.ページの属性を入力

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

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

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

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

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

    5.ページの作成を完了

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

    6.iViewをページにコピー

    プレビュー

     


  • EP 0 Votes 266 閲覧数


    このトピックでは、例を取り上げて手順に従って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として作成しておきます。


  • EP 0 Votes 231 閲覧数


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

    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();
              }
      }

     


  • EP 0 Votes 155 閲覧数



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

    委譲委譲のアクション

    委譲ユーザの選択

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

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

    代理ルールの設定

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

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

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


  • EP 0 Votes 225 閲覧数


    このトピックでは、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 169 閲覧数



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

    コンセプト

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

    アイテム

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

    アイテムのタイプ

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

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

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

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

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

    プロバイダ

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

    実現アーキテクチャ

    (source:SAP Help Portal)

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

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

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

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

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


  • NWDI 0 Votes 255 閲覧数


    このトピックでは、統合Conflictを取り上げて、その発生原因と解決策を説明します。

    原因

    ワークスペースを統合する際に、同じソースで、前回統合された後に、別々修正が発せしていれば、システムが判断できないため、
    統合Conflictが発生します。
    以下の図でそのイメージを示します。
    (source:SAP Help Portal)

    解決

    統合Conflictが発生したときに、統合元のソースはActiveバージョン、統合先のソースはCollidingバージョンとして格納されます。同時にConflictフラグをワークスペースに立てられます。
    解決方法は下記のようになります。

    統合元のソースが正であれば、Activeバージョンを採用します。統合先のソースが正であれば、Collidingバージョンを採用します。各自の修正内容をマージする必要があれば、マージを取ります。

    いずれにしても新たにアクティビティを起こして対応する必要があります。

    対応の手順を簡単に示します。

    統合Conflictビューを表示
    差異を確認1)
    対象DCを選択して、コンテキストメニューから対応方法を選択
    ここでは統合元ノースを採用する
    新たなアクティビティに記録
    アクティビティをチェックイン
    対応後のバージョングラフを確認(必須ではない)
    外部リンク統合コンフリクトの解決 - SAP Help Portal


  • NWDI 0 Votes 194 閲覧数



    このトピックでは、それらのツールを取り上げてそれぞれ説明します。

    DTR Client概述

    DTR Clientは、Eclipse Perspectiveとして、NWDS環境に統合されています。
    そこで、各DTRクライアントツールはeclipse viewとして多数用意されています。

    各ツールClosed ActivitiesIntegration ConflictsOpen Activities

    オープン中のActivity

    ビューのツールバーメニューから全ユーザのActivityを照会することができます。

    checkin(チェックイン)
    Activityがチェックインされたら、ローカルの変更がすべてDTRのinactiveワークスペースに反映され、別の開発者も見えるようになります。
    revert(変更を元に戻す)
    PermissionsRepository Browser

    ツリー構造で、Repositoryのリソースを照会することができます。

    Version GraphyWEBを利用メイン画面

    DTRのWEBツールのメイン画面は以下のようなURLからアクセスすることができます。

    http://<host>:<port>/dtr/

    ツールのアクセス

    ツールバーにツールへアクセスするためのアイコンが並べられていますので、そちらを利用することができます。

    また、リポジトリツリーの「system-tools」ノードよりも各ツールをアクセスすることも可能です。

    各ツール

    ファイルブラウザワークスペース比較

    外部リンク DTRのブラウザベース設定とクエリツール - SAP Help Portal

  • Android 0 Votes 191 閲覧数


    Androidとは

    Android(アンドロイド)とは、Googleによってスマートフォンやタブレットなどの携帯情報端末を主なターゲットとして開発されたOSです。カスタマイズ版Linuxカーネル、ライブラリやフレームワークその他のミドルウェア、ART仮想マシン、主要なアプリケーションからなるソフトウェアスタック(集合)パッケージで構成されています。

    Androidの歴史年月出来事2003年10月Android社が発足2005年Google社がAndroid社を買収2007年11月Google社がAndroidを無償で提供することを発表2008年9月Android1.0公開2009年4月Android1.5公開、Docomo社よりHTC社製HT-03A社製(Android1.5)を発売2009年9月Android1.6公開2009年10月Android2.0公開2010年1月Android2.1公開、Google社よりHTC社製 Nexus One (Android2.1)を発売2010年4月SoftbankよりHTC社製HTC Desire(Android2.1)を発売2010年5月Android2.2公開、DocomoよりSony社製Xperia(Android1.6)を発売2010年6月auよりシャープ社製IS01(Android1.6)を発売
    Docomoよりシャープ社製LYNX SH-10B(Android1.6)を発売2010年12月Android2.3公開2011年2月Android3.0公開2011年11月Android4.0公開2012年7月Android4.1公開2012年11月Android4.2公開2013年7月Android4.3公開2013年11月Android4.4公開、GoogleよりNexus5(Android4.4)を発売2014年3月スマートウォッチ向けにカスタマイズされたAndroid Wear公開2014年11月Android5.0公開2015年3月Android5.1公開2015年10月Android6.0公開2016年8月Android7.0公開2016年12月Android7.1公開2017年8月Android8.0公開2017年12月Android8.1公開2018年8月Android9.0公開

  • JAVAスタック 0 Votes 501 閲覧数


    Activity

    アクティビティ(英:Activity)はDTRへ対する変更の開発及び移送の管理単位です。プログラムの変更を管理します、ABAPスタックにおける変更依頼に相当します。

    Open Activity
    DTR に保存されたオブジェクト、つまりバージョン管理リソースをチェックアウトするときです。これらにはオブジェクトの新規バージョンが格納されます。ここで行う任意の変更を元に戻すことができます。

    Closed Activity
    チェックインした後のアクティビティです。これらのアクティビティを変更することはできなくなります。これらにはオブジェクトの新規バージョンが格納されます。クローズ済アクティビティの用途は、たとえばオブジェクト内容を他のワークスペースに統合することです。

    http://help.sap.com/saphelp_nw70/helpdata/ja/6c/aed198e1d474429eec7d7bafeed015/frameset.htm

    Application

    アプリケーション(英:Application)とは、プラットフォームにに動作する各機能のことを指しております。
    一方、IT用語として普通の意味では、アプリケーションとは、利用者が実行したい作業を実施する機能を直接的に有するソフトウェアです。

    Assembly

    展開ディレクトリ形式のJ2EEアプリケーションの場合には,EAR形式またはZIP形式へのアセンブルは不要です。

    CBS

    コンポーネントビルドサービス(英:Componet Build Service,略:CBS)は、ソースファイルからソフトウェアコンポーネント構築と、サーバへソフトウェアコンポーネント配置を行うサービスです。

    CMS

    変更管理サービス(英:Change Management Service,略:CMS)はソフトウェア変更のライフサイクル(開発→検証→本番稼動)を管理するサービスです。

    Development Component


    開発コンポーネントは、明確な外部インタフェースとカプセルされた内部実装があり、他のコンポーネントのパブリックインタフェースを参照して相互使用することができます。そのため、基本的な再利用可能な単位になります。

    Development Object

    開発オブジェクト(英:Development Object)は、コンポーネントの構成要素で、機能部分を提供します。開発コンポーネントに含められている一つ一つのJavaクラスやJSPファイル、Webdynpro定義ファイルなどは、それぞれ開発オブジェクトに該当します。

    Develop Track

    開発トラック(英:Develop Track)とは、ソフトウェアコンポーネント(SC)を開発から、テスト、本稼働使用するまでの一連のライフサイクルを対応したシステム構成のことです。ABAPシステムの移送グループに相当します。

    開発トラックで、SCの開発ステータスは以下の四つに分けられます。

    開発コンソリデーションテスト本稼働

    開発トラックには、上記の各ステータス毎のランタイムサーバやソースが格納されたDTRワークスペースの定義が含められています。

    Domain

    ドメイン(英:domain)はCMSドメインのことです、CMSドメインは、変更管理サービス(CMS)で管理される開発ランドスケープの構成部分を記述したものです。

    DTR

    デザインタイムリポジトリ (英:Design Time Repository、略:DTR) はファイルバージョン管理を提供するリポジトリであり、ソースファイルをデータベースにバージョンごとに保管します。DTR は NWDI の一部として、JavaEE Engine 上のサービスとして稼動します。

    EP

    EP(エンタプライズポータル、英:Enterprise Portal)は、SAP及び非SAPシステムの情報ソース、アプリケーション、サービスヘのアクセスを、 Web ベースのインタフェースで 1 箇所から行えるようにします。EPを利用することにより、すべての操作が単一のユーザエクスペリエンスに統合されます。

    ESR

    エンタープライズサービスリポジトリ(英:Enterprise Services Repository、略:ESR) は、WEBサービスを呼び出すためのインタフェース情報のほか、どのように組み合わせて使うかの「プロセスコンポーネント」、それらをどういう状況で使うかの「統合シナリオ」などを登録してあるレジストリです。

    Instance 


    インスタンスはシステムランドスケープ⇒システム⇒インスタンス,2桁数字のインスタンス番号により識別されます。インスタンスはメッセージサーバに登録され、2桁数字のインスタンス番号により識別されます。

    一方、IT用語として普通の意味では、インスタンスとは、オブジェクト指向プログラミングで、クラスを基にした実際の値としてのデータのことです。クラスを「型」、インスタンスを「実体」として、クラスと対比して用いられることが多い

    Java Application

    NetWeaverにおけるJavaアプリケーション(英:Java Application)とは、クライアントからURLやリモートインタフェースなどを介して直接呼び出すことが可能な機能単位のことです。ここのクライアントというのは、ユーザエージェントであるWEBブラウザもあれば、個別実装のクライアント側プログラムもあります。

    Javaアプリケーションの分類には以下のものが含められています。

    WebDynproアプリケーションJ2EE標準のアプリケーション要素Webアプリケーション(Servlet、JSPなど)EJBアプリケーションWebサービス

    JDBCJDBCはCore APIとOptional Package APIから構成されております、 Core APIはJDBCの基本機能を提供する一方、Optional Package APIは接続プーリングや分散トランザクションなど、サーバ・サイドJavaで求められる拡張機能を提供し、、JavaEEを構成するAPIの1つとなっております。JMS

    JMS(Java Message Service)はメッセージングサービスを利用するためのJava標準APIであり、 J2EE 1.3 以降に標準で含まれています。
    メッセージオブジェクトを作成して通信を行い、非同期に通信を行うことも出来ます。

    Message Server

    メッセージサーバ(英:Message Server)は、SAPシステムに一つのみ存在し、負荷分散や、アプリケーションサーバ間の通信を管理します。
    メッセージサーバとは何かというと、セントラルインスタンスで稼働している親分的な存在のプロセス(サービス)で、インスタンス間の通信の仲介役をしたり、ユーザがログオンする際のログオン負荷分散のディスパッチャの役割を担ったりしています。

    サーバと名が付いているので、アプリケーションサーバと同類のサーバなのかというと、そうではありません。あくまで1つのOSプロセスに過ぎません。

    外部ポート番号は、ログオン時の負荷分散機能で使用。
    内部ポート番号はデフォルトでは無効になっていますが、有効にすれば、インスタンス間の通信専用のポート番号になり、フロントエンドPCからの通信を受け付けません。

    基本的には、メッセージサーバ内部ポートは無効にしておき、従来と同様に、外部ポート番号だけを有効にすれば良いと思います。

    ABAPメッセージサーバポート番号
    外部ポート rdisp/msserv = 36 (例:3600)
    内部ポート rdisp/msserv_internal = 39 (例:3900、デフォルト値 = 0 (無効))

    JAVAインスタンスのメッセージサーバは、SCS(セントラルサービスインスタンス)で動作しますが、ABAPインスタンスと違って、内部ポート番号だけを有効にします。

    JAVAメッセージサーバポート番号
    外部ポート rdisp/msserv = 0 (無効)
    内部ポート rdisp/msserv_internal = 39 (例:3902)

    参考:http://help.sap.com/saphelp_nw70/helpdata/ja/4e/cffdb69d10424e97eb1d993b1e2cfd/content.htm

    NWA

    SAP NetWeaver Administrator は、SAP NetWeaver を管理およびモニタするためのWeb ベースツールです。

    NWDI

    NWDI(NetWeaver Development Infrastructure) は、 NetWeaverプラットフォームの上に動作するJavaベースのアプリケーションを開発するための基盤であり、アプリケーションのバージョン、構築、およびライフサイクルを管理する機能を備えています。
    NWDI自体もNetWeaver Javaプラットフォームに稼働するものですので、NetWeaverインストール時に利用タイプDIを選択してインストールを行うことで、 NWDIに必要な機能がインストールされます。

    Product

    製品(英:Product)とは、 価格設定と販売の単位であり、一つ以上のソフトウェアコンポーネントを集めたものです。1つのソフトウェアコンポーネントを複数の製品に含めることができます。

    Service Groupサービスグループ(英:Service Group)とは、サービスをグループ化したものです。

    NWAの「アプリケーション通信: 設定」にて、サービスグループを単位として、アプリケーションが参照したサービスのプロバイダシステムを纏めて設定することができます。

    Service Registry

    サービスレジストリ(英:Service Registry、略:SR)

    SLD

    SLD(システムランドスケープディレクトリー、英:System Landscape Directory)とは、システムランドスケープ全体の情報を管理するセントラルDBです。
    SLDサーバはすべての SAP Web Application Server Java のインストールにおいてインストールされますが、機能させる場合には明示的に有効化される必要があります。

    Software Component

    ソフトウェアコンポーネント(英:Software Component、略:SC)とは、まとめて開発、使用、出荷およびメンテナンスされる開発コンポーネント (DC) をグループ化したものです。

    System

    SAP システムは、複数のアプリケーションサーバインスタンスと、1 つ以上のデータベースで構成されています。

    System ID

    SAP ERPシステムのための3バイトのユニークな識別子。システムごとに割り当てられ、システム同士を接続し、情報交換をする場合に必要とされます

    System Landscapeシステムランドスケープ(英:System Landscape )とは、システムの導入から運用保守までの全ライフサイクルを対応したシステム全体の構成のことです。
    SAP推奨であるな3システムランドスケープは、「開発環境」、「検証環境」、「本番環境」の三つの環境から構成し、システム導入から本番稼動後も維持し続けます。

    また、各環境はそれぞれさらに、DBサーバやECCサーバ、EPサーバ、CEサーバといった複数のサーバから構成されます。

    UME

    UME(User Management Engine、ユーザマネジメントエンジン)は、NetWeaver Java Platformの上に構築されているシステムのユーザ及び権限管理を統合します。
    UMEは、すべての Java アプリケーションに集中的なユーザ及び権限管理機能を提供し、複数のデータソースからユーザ管理データに対して作業することができます。

    Workspace

    ワークスペース(英:workspace)とは、論理開発のロケーションです。


  • AsJava 0 Votes 159 閲覧数


    このトピックでは、JavaEEサーバであるAsJavaのアプリケーション管理を取り上げて説明します。

    モジュール管理

    JavaEEアプリケーション(ear)を構成するモジュールは、Webモジュール(war)とEJBモジュール(jar)があります。

    Webモジュール
    Webモジュールとは、Web アプリケーションのことです。 Web モジュールは、サーブレット、JavaServer Pages (JSP) ファイル、 および Hypertext Markup Language (HTML) ページなどの静的コンテンツを、 デプロイ可能な単一の単位にアセンブルすることによって作成されます。EJBモジュール
    EJB モジュールは、1 つ以上の Enterprise Bean をデプロイ可能な単一の単位にアセンブルするために使用されます。 EJB モジュールは、標準の Java アーカイブ (JAR) ファイルに保管されます。

    NWA画面で「設定管理」→「インフラストラクチャ」→「アプリケーションモジュール」で下記の画面をアクセスすることができます。

    アプリケーション管理

     


  • AsJava 0 Votes 357 閲覧数


    このトピックでは、SAP標準で用意されている様々な管理者機能を取り上げて纏めて説明します。
    管理者機能を利用できるツールはいかのようなものがあります。

    Management ConsoleVisual Administratorconfig toolWeb画面NWDSクライアントManagement Console

    SAP Management Console はローカル版とJava版の二つがあります。

    ローカル版
    Java版
    Visual Administrator

    Visual Administrator は \usr\sap\(SID)\DVEBGS(システム番号)\j2ee\admin にある go.bat で起動します。

    go.bat を起動すると、登録された接続先を選択する画面になるので Default を選び、Connect で Java System に接続します。

    Java System 管理者ユーザ J2EE_ADMIN のパスワードを入力して Connect します。

    Java SystemのDispatcherと一つ又は複数のServer があり、それぞれの設定を行う事が出来ます

    Config tool

    Config tool は Java System が稼働していない時でも使用可能なツールです。
    \usr\sap\(SID)\DVEBGS(システム番号)\j2ee\configtool にある configtool.bat で起動します。

    JAVAの起動パラメータやメモリ割り当ての設定が出来ます。

    WEB画面スタートページ

    http:<portal.domain>:<port>/startPage

    NWA

    http:<portal.domain>:<port>/nwa

    システム情報

    http:<portal.domain>:<port>/nwa/sysinfo

    Web Services Navigator

    http:<portal.domain>:<port>/wsnavigator

    User Management

    http:<portal.domain>:<port>/useradmin

    Services Registry

    http:<portal.domain>:<port>/sr_central

    EJB Explorer

    http:<portal.domain>:<port>/ejbexplorer

    ポータル

    http:<portal.domain>:<port>/irj/portal

     


  • AsJava 0 Votes 212 閲覧数


    このトピックでは、AsJavaのJavaEE仕様準拠状況を取り上げて説明します。

    準拠状況

    AsJavaの各バージョンは、下記のようにJavaEE仕様を準拠しております。

    7.0
    J2EE 1.37.1-7.4
    JavaEE 5.0JavaEE仕様JavaEE6

    下記のリンクをご参考ください。

    http://codezine.jp/article/detail/5698

    JavaEE5

    JavaEE5は以下の仕様から構成されます。

    Web Services TechnologiesImplementing Enterprise Web Services (JSR 109)Java API for XML-Based Web Services (JAX-WS) 2.0 (JSR 224)Java API for XML-Based RPC (JAX-RPC) 1.1 (JSR 101)Java Architecture for XML Binding (JAXB) 2.0 (JSR 222)SOAP with Attachments API for Java (SAAJ) (JSR 67)Streaming API for XML (JSR 173)Web Service Metadata for the Java Platform (JSR 181)Web Application TechnologiesJava Servlet 2.5 (JSR 154)JavaServer Faces 1.2 (JSR 252)JavaServer Pages 2.1 (JSR 245)JavaServer Pages Standard Tag Library (JSR 52)Enterprise Application TechnologiesEnterprise JavaBeans 3.0 (JSR 220)J2EE Connector Architecture 1.5 (JSR 112)Common Annotations for the Java Platform (JSR 250)Java Message Service API (JSR 914)Java Persistence API (JSR 220)Java Transaction API (JTA) (JSR 907)JavaBeans Activation Framework (JAF) 1.1 (JSR 925)JavaMail (JSR 919)Management and Security TechnologiesJ2EE Application Deployment (JSR 88)J2EE Management (JSR 77)Java Authorization Contract for Containers (JSR 115)J2EE 1.4

    J2EE 1.4は以下の仕様から構成されます。

    J2EE Connector Specification 1.5J2EE Deployment API Specification 1.1J2EE Management Specification 1.0Enterprise JavaBeans Specification 2.1Enterprise JavaBeans to CORBA Mapping 1.1Java API for XML Processing Specification 1.2Java API for XML Registries Specification 1.0Java API for XML-based RPC Specification 1.1Java Authorization Contract for Containers 1.0Java IDL APIJava Naming and Directory Interface Specification 1.2.1Java Message Service Specification 1.1Java Servlet Specification 2.4Java Transaction API Specification 1.0.1BJava Transaction Service Specification 1.0JDBC Specifications, 3.0, 2.1, and Optional Package API (2.0)JavaBeans Activation Framework Specification 1.0.2JavaMail API Specification 1.3JavaServer Pages Specification 2.0RMI over IIOPSOAP with Attachments API for Java Specification 1.2J2EE 1.3

    J2EE 1.3は以下の仕様から構成されます。

    JDBC Extension 2.0Java Naming and Directory Interface Specification (JNDI) 1.2Java API for XML Processing (JAXP) 1.1Java Servlet 2.3JavaServer Pages (JSP) 1.2JavaServer Pages Standard Tag Library (JSTL) 1.0Enterprise JavaBeans (EJB) 2.0J2EE Connector Architecture 1.0Java Message Service API (JMS) 1.0Java Transaction API (JTA) 1.0JavaMail API 1.2JavaBeans Activation Framework (JAF) 1.0Java Authentication and Authorization Service (JAAS) 1.0

     


  • AsJava 0 Votes 209 閲覧数


    このトピックでは、アプリケーションサーバ Java (AS Java) のアーキテクチャの概要を取り上げて説明します。

    ソフトウェアアーキテクチャ

    (source: SAP Help Portal)

    JavaEEアーキテクチャ

    外部リンクアーキテクチャマニュアル - SAP Help Portal


  • WDJ 0 Votes 199 閲覧数


    コンセプト

    WebdynproはSAPにおいて、ユーザインタフェースを作成するためのプログラミングモデルのこと。
    Webdynproの具体的なコンセプトは以下のとおり

    コーディングの最小化デザインの最大化コンポーネントの再利用のサポートWebサービスとデータバインドのサポート画面レイアウトとプログラムロジックの分離プラットフォーム非依存WebDynproアプリケーション

    WebdynproアプリケーションはWebdynproコンポーネントへのエントリポイントであり、URLを介して呼び出せる唯一のWebdynproエンティティです 。以下はそのイメージ図です。

    アプリケーションはインタフェースビューを持っているWDコンポーネントのアクセスポイントとして提供される。
    各アプリケーションにはWDコンポーネント、インタフェースビュー及びStartupプラグを定義する。

    WebDynproコンポーネントインタフェースビュー

    ・インタフェースビューとして公開されたWDコンポーネントのウィンドウをWDアプリケーションまたは別のWDコンポーネントから呼び出すことができる。
    ・複数のインタフェースビューを一つのウィンドウに割り当てることができる。
    ・インタフェースビューに定義するプラグは該当インタフェースビューを参照するウィンドウに定義されている必要がある。

    インタフェースコントローラー

    ・各WDコンポーネント毎に一つのインタフェースコントローラーが自動定義されて、コンポーネントコントローラーとマッピングされる。
    ・インタフェースコントローラーに定義するコンテキスト、メソッド、イベントはコンポーネントコントローラーに定義されている必要がある。
    ・インタフェースコントローラーに定義したコンテキスト、メソッド、イベントのみが別のWDコンポーネントから利用できる。

    コンポーネントコントローラー

    ・WDコンポーネント毎に一つのコンポーネントコントローラーが自動定義されて、WDコンポーネント全体の制御ロジックを実装する。
    ・UIエレメントのイベントとは違う独自のイベント処理が必要な場合、イベントを定義することができる。

    カスタムコントローラー

    ・コンポーネントコントローラの付属コントローラーとして定義可能なコントローラーでコンポーネントコントローラーが大きくなる場合、
    処理を分けることができる。

    ウィンドウコントローラー

    ・主にインバウンドプラグの遷移に関するロジックを実装する。MVCモデル概念に基づき、詳細のロジックはできる限り、コンポーネントコントローラーまたは
    カスタムコントローラーで実装する。

    ウィンドウ

    ・ビューの配置とプラグによる画面遷移のモデリングを行う。

    ビューコントローラー

    ・UIエレメントから発生するイベントのハンドリング、動的レイアウト変更、画面遷移等のロジックを実装する。MVCモデル概念に基づき、
    詳細のロジックはできる限り、コンポーネントコントローラーまたはカスタムコントローラーで実装する。

    ビュー

    ・画面のレイアウトをモデリングする。各UIエレメントに関する詳細は「X.X UIエレメント」を参照する。

    プラグ

    ・主に、インバウンドプラグとアウトバウンドプラグが存在する。ウィンドウでアウトバウンドプラグをインバウンドにリンクさせることにより
    画面遷移を定義し、ウィンドウコントローラーまたはビューコントローラーからアウトバウンドプラグのイベントを発生して実際の画面遷移を行う。
    ・インバウンドプラグは遷移先の画面で処理ロジックを追加することができる。
    ・プラグの種類としては下記の通り存在する。
    Startupプラグ WDアプリケーションから呼び出す開始用のプラグ
    Exitプラグ WDアプリケーションの処理を終了してログオフ等を行うプラグ
    Inboundプラグ 通常の画面遷移で遷移先用プラグ
    Outboundプラグ 通常の画面遷移で遷移元用プラグ

    コンテキスト

    ・ノードとアトリビュートで構成されるWDJ特殊のデータ構造。

    イベントとイベントハンドーラー

    ・イベントとしてはUIエレメントイベント、プラグイベント、そしてユーザ定義イベントが存在する。
    ・UIエレメントから発生するイベントは通常アクションという。

    シンプルタイプとストラクチャー

    ・WDで使用されるデータの種類、桁数制限等をシンプルタイプとして定義し、複数の場所から再利用することができる。
    ・関連する複数のデータをストラクチャーとして定義してコンテキストで使用することができる。

    モデル

    WDJでは、一般的によく利用されるモデルの種類として、 EJB、WebService、RFCの三種類があります。

    WDのモデルインポート機能によってES/CAF/BAPIを呼び出すモデルが自動生成され、WD上利用される。

    RFCモデル

    Webdynproでは、RFCの呼出はSAP Java Connector(JCo)通信レイヤ経由で行われます。
    SapECCシステムから貰ったRFC I/F情報をもとに、Webdynpro FrameworkがRFCの呼出用メタデータクラスをJava ディクショナリに自動的に作成します。
    RFC I/Fレイヤアーキテクチャのイメージを下図に示します。