intra-mart Accel Platform 移行ガイド 第18版 2020-12-01

im-JavaEE Framework

  1. 各設定ファイルを intra-mart Accel Platform が定義する場所に配置してください。

    • <service-config-XXXX.xml>, <data-config-XXXX.xml>, <event-config-XXXX.xml> ファイル

      WEB-INF/classes 配下

    • メッセージプロパティ(*.properties)ファイル

      WEB-INF/conf/message 配下

  2. 画面(jsp)に対し、以下のどちらかの対応を行ってください。

  3. ロジック(java)に対し、API対応を行ってください。

    • 削除されたAPIを利用していた場合は、他のAPIに差し替えるなどの対応を行ってください。

    コラム

    削除されたAPIを利用していなければ、対応を行う必要はありません。

  4. 認可を設定してください。

    注意

    認可の設定を行わなかった場合、アクセス権チェックが行われず、すべてのユーザがアクセス可能です。

    im-JavaEE Framework を利用したアプリケーションに対し、認可機能を適用するには、以下の設定が必要です。

    1. 従来のURL (%アプリケーションID%-%サービスID%.service) に対して、ルーティング設定を追加する
    2. 認可リソースを登録し認可設定を行う

    例えば、以下のサービスに対して追加するルーティング設定について説明します。

    アプリケーションID foo
    サービスID bar

    1. 従来のURL用の認可リソースURIを決定します。ここでは、以下を設定します。

      service://foo/bar

    2. im-JavaEE Framework ルーティング設定(routing-service-config)を作成します。

      <?xml version="1.0" encoding="UTF-8"?>
      <routing-service-config
          xmlns="http://www.intra-mart.jp/router/routing-service-config"
          xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
          xsi:schemaLocation="http://www.intra-mart.jp/router/routing-service-config routing-service-config.xsd ">
      
          <service-mapping path="foo-bar.service" application="foo" service="bar">
               <authz uri="service://foo/bar" action="execute" />
          </service-mapping>
      
      </routing-service-config>
      
    認可設定については、「スクリプト開発モデル プログラミングガイド の 認可 」の「画面へアクセスするための認可設定方法」章を参照してください。
    スクリプト開発モデルの認可設定方法が記載されていますが、手順は同じです。

    コラム

    im-JavaEE Framework ルーティング設定(routing-service-config)については、「設定ファイルリファレンス の im-JavaEE Frameworkルーティング設定 」を参照してください。
    im-JavaEE Framework のルーティング設定と認可インポートファイルは、「service-config.xml 変換支援ツール」を使用して雛形を作成できます。
    認可の詳細については、「認可仕様書 」を参照してください。

従来のURLとは別に独自のURLを割り当てる

従来のURL (%アプリケーションID%-%サービスID%.service) とは別に、独自のURLで im-JavaEE Framework を利用したアプリケーションにアクセスできるよう設定できます。
  1. 独自のURLを決めてください。

    例えば、以下のような独自のURLを決定します。

    /foo/bar

  2. 認可を設定してください。

    従来のURL (%アプリケーションID%-%サービスID%.service) と独自のURLを両方とも利用可能にするには、以下の設定が必要です。

    1. 従来のURLと同じ場所に、独自のURLのルーティング設定を追加する
    2. 従来のURL用に割り当てた認可リソースURIと同じものを独自のURL用として割り当てる

    例えば、以下のサービスに対して追加するルーティング設定について説明します。

    アプリケーションID foo
    サービスID bar
    独自のURL /foo/bar
    従来のURL用の認可リソースURI service://foo/bar

    1. 独自のURL用の認可リソースURIを決定します。ここでは、従来のURL用の認可リソースURIと同じものを採用します。

      service://foo/bar

      コラム

      従来のURLと独自のURLで同じ認可リソースURIを使用することで、ひとつの認可リソースに割り当てた権限を両方のURLに共有できます。
      そのため、認可によるアクセス権限の設定が二重管理になることはありません。
    2. im-JavaEE Framework ルーティング設定(routing-service-config)を作成します。

      <?xml version="1.0" encoding="UTF-8"?>
      <routing-service-config
          xmlns="http://www.intra-mart.jp/router/routing-service-config"
          xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
          xsi:schemaLocation="http://www.intra-mart.jp/router/routing-service-config routing-service-config.xsd ">
      
          <!-- 従来のURL -->
          <service-mapping path="foo-bar.service" application="foo" service="bar">
               <authz uri="service://foo/bar" action="execute" />
          </service-mapping>
      
          <!-- 独自のURL -->
          <service-mapping path="/foo/bar" application="foo" service="bar">
               <authz uri="service://foo/bar" action="execute" />
          </service-mapping>
      
      </routing-service-config>
      
    認可設定については、「スクリプト開発モデル プログラミングガイド の 認可 」の「画面へアクセスするための認可設定方法」章を参照してください。
    スクリプト開発モデルの認可設定方法が記載されていますが、手順は同じです。
  3. 画面遷移を行っている箇所のURL指定を、独自のURLに置き換えてください。

    独自のURLでアクセスするように動作させる場合、画面遷移を行っている箇所のURL指定を、独自のURLに直してください。
    画面遷移を行っている箇所と修正の例は、以下の通りです。
    • メニュー

      メニュー設定の「URL」を以下のように書き換えます。
      foo-bar.servicefoo/bar
    • 画面(jsp)

      画面内に配置しているフォームのタグと属性を以下のように書き換えます(HTML標準のformタグを使用します)。

      <imartj2ee:Form name="sampleForm" method="POST" application="foo" service="bar">
        <INPUT type="hidden" name="param" value="<%= result.getParam() %>">
      </imartj2ee:Form>
      

        ↓

      <form name="sampleForm" method="POST" action="foo/bar">
        <INPUT type="hidden" name="param" value="<%= result.getParam() %>">
      </form>
      

従来のURLでのアクセスを禁止する

独自のURLでのアクセスに切り替えるなどの理由で、従来のURL (%アプリケーションID%-%サービスID%.service) でのアクセスを禁止する場合は、以下のように操作します。
  1. 従来のURL用に、別途認可リソースURIを割り当ててください。

    例えば、以下のような認可リソースURIを決定します。

    service://foo/bar/old_url

  2. im-JavaEE Framework ルーティング設定(routing-service-config)を書き換えてください。

    従来のURLに割り当てている認可リソースURIを書き換えます。

    <?xml version="1.0" encoding="UTF-8"?>
    <routing-service-config
        xmlns="http://www.intra-mart.jp/router/routing-service-config"
        xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
        xsi:schemaLocation="http://www.intra-mart.jp/router/routing-service-config routing-service-config.xsd ">
    
        <!-- 従来のURL -->
        <service-mapping path="foo-bar.service" application="foo" service="bar">
             <authz uri="service://foo/bar/old_url" action="execute" />
        </service-mapping>
    
        <!-- 独自のURL -->
        <service-mapping path="/foo/bar" application="foo" service="bar">
             <authz uri="service://foo/bar" action="execute" />
        </service-mapping>
    
    </routing-service-config>
    
  3. 従来のURL用の認可リソースURIに紐づく認可リソースを登録してください。

    認可設定については、「スクリプト開発モデル プログラミングガイド の 認可 」の「画面へアクセスするための認可設定方法」章を参照してください。
    スクリプト開発モデルの認可設定方法が記載されていますが、手順は同じです。
  4. 従来のURL用に認可リソースURIに紐づく認可リソースで、すべての対象者条件に対して「禁止」または「未設定(禁止)」となるように権限を設定してください。