検索

290.2. 必要な SAP ライブラリーのインストール

download PDF

290.2.1. Fuse OSGi コンテナーへのデプロイ

以下のように、SAP JCo ライブラリーと SAP IDoc ライブラリーを JBoss Fuse OSGi コンテナーにインストールできます。

  1. SAP サービスマーケットプレイス (http://service.sap.com/public/connectors) から SAP JCo ライブラリーと SAP IDoc ライブラリーをダウンロードし、オペレーティングシステムに適したバージョンのライブラリーを選択してください。

    注記

    これらのライブラリーをダウンロードして使用するには、SAP Service Marketplace アカウント が必要です。

  2. sapjco3.jarlibsapjco3.so (または Windows では sapjco3.dll)、および sapidoc3.jar ライブラリーファイルを Fuse インストールの lib/ ディレクトリーにコピーします。
  3. 設定プロパティーファイル etc/config.properties とカスタムプロパティーファイル etc/custom.properties の両方をテキストエディターで開きます。etc/config.properties ファイルで、org.osgi.framework.system.packages.extra プロパティーを探し、完全なプロパティー設定をコピーします (この設定は、行の継続を示すために使用されるバックスラッシュ文字 \ を使用して、複数の行にまたがります。)。この設定を etc/custom.properties ファイルに貼り付けます。

    SAP ライブラリーをサポートするために必要な追加パッケージを追加できるようになりました。etc/custom.properties ファイルで、次のように必要なパッケージを org.osgi.framework.system.packages.extra 設定に追加します。

    org.osgi.framework.system.packages.extra  \
     ... , \
     com.sap.conn.idoc, \
     com.sap.conn.idoc.jco, \
     com.sap.conn.jco, \
     com.sap.conn.jco.ext, \
     com.sap.conn.jco.monitor, \
     com.sap.conn.jco.rt, \
     com.sap.conn.jco.server

    リストが適切に続くように、新しいエントリーの前の各行の終わりにコンマとバックスラッシュ、\ を含めることを忘れないでください。

  4. これらの変更を有効にするには、コンテナーを再起動する必要があります。
  5. コンテナーに camel-sap 機能をインストールします。Karaf コンソールで、次のコマンドを入力します。

    JBossFuse:karaf@root> features:install camel-sap

290.2.2. JBoss EAP コンテナーへのデプロイ

SAP コンポーネントを JBoss EAP コンテナーにデプロイするには、以下の手順を実行します。

  1. SAP サービスマーケットプレイス (http://service.sap.com/public/connectors) から SAP JCo ライブラリーと SAP IDoc ライブラリーをダウンロードし、オペレーティングシステムに適したバージョンのライブラリーを選択してください。

    注記

    これらのライブラリーをダウンロードして使用するには、SAP Service Marketplace アカウント が必要です。

  2. JCo ライブラリーファイルと IDoc ライブラリーファイルを JBoss EAP インストールのサブディレクトリーにコピーします。

    重要

    命名規則に従う

    ネイティブライブラリーは、<osname>-<cpuname> の形式で、命名標準に従うサブディレクトリーにインストールする必要があります。

    許可される名前の完全なリストの詳細は、JBoss Modules のマニュアル を参照してください。

    たとえば、ホストプラットフォームが 64 ビット Linux (linux-x86_64) の場合、次のようにライブラリーファイルをインストールします。

    cp sapjco3.jar sapidoc3.jar $JBOSS_HOME/modules/system/layers/fuse/com/sap/conn/jco/main/
    mkdir -p $JBOSS_HOME/modules/system/layers/fuse/com/sap/conn/jco/main/lib/linux-x86_64
    cp libsapjco3.so $JBOSS_HOME/modules/system/layers/fuse/com/sap/conn/jco/main/lib/linux-x86_64/

  3. $JBOSS_HOME/modules/system/layers/fuse/org/wildfly/camel/extras/main/module.xml という新しいファイルを作成し、次の内容を 追加 します。

    <?xml version="1.0" encoding="UTF-8"?>
    <module xmlns="urn:jboss:module:1.1" name="org.wildfly.camel.extras">
    
    	<dependencies>
    		<module name="org.fusesource.camel.component.sap" export="true" services="export" />
    	</dependencies>
    
    </module>

290.2.3. Spring Boot および OpenShift Container Platform へのデプロイ

maven-resources および maven-jar プラグインを使用して Maven でプロジェクトに SAP をデプロイするには、以下の手順に従います。

  1. ライブラリーをダウンロードします。
  2. 依存関係を追加します。
  3. ライブラリーをプロジェクトに配置します。
  4. ライブラリーの設定を追加します。
  5. OpenShift へデプロイします。

290.2.3.1. ライブラリーのダウンロード

3 つのライブラリーが必要です。

  • すべての環境に共通のライブラリー:

    • sapidoc3.jar
  • アーキテクチャー用のライブラリー:

    • sapjco3.jar
    • sapjco3.so

      詳細は、SAP Java Connector のドキュメント を参照してください。

  1. SAP サービスマーケットプレイス (http://service.sap.com/public/connectors) から SAP JCo ライブラリーと SAP IDoc ライブラリーをダウンロードし、オペレーティングシステムに適したバージョンのライブラリーを選択してください。

    注記

    これらのライブラリーをダウンロードして使用するには、SAP Service Marketplace アカウント が必要です。

290.2.3.2. 依存関係の追加

  1. Maven ユーザーがこのコンポーネントを使用するには、pom.xml ファイルに次の依存関係を追加する必要があります。
<dependency>
	<groupId>org.fusesource</groupId>
	<artifactId>camel-sap-starter</artifactId>
	<exclusions>
		<exclusion>
			<groupId>com.sap.conn.idoc</groupId>
			<artifactId>sapidoc3</artifactId>
		</exclusion>
		<exclusion>
			<groupId>com.sap.conn.jco</groupId>
			<artifactId>sapjco3</artifactId>
		</exclusion>
	</exclusions>
</dependency>

290.2.3.3. ライブラリーの配置

  1. SAP ライブラリーファイルを pom.xml に関連する lib ディレクトリーにコピーします。

    Maven を実行する場合は、pom.xml の指示に従い、ファイルを指定の場所にコピーします。

    例: AMD64

    src
    └── lib
        └── amd64.com.sap.conn
            ├── idoc
            │     └── sapidoc3.jar
            └── jco
                ├── sapjco3.jar
                └── sapjco3.so

    警告

    SAP ライブラリーファイルをカスタム Maven リポジトリーに追加しないでください。

    SAP Java コネクターは、JAR ファイルの名前 sapjco3.jar および sapidoc3.jar の検証を実行します。

    JAR ファイルを Maven リポジトリーにコピーする場合、spring-boot-maven-plugin はバージョン番号を追加して名前を変更します。

    これにより検証が失敗し、アプリケーションが適切にデプロイされなくなります。

290.2.3.4. プラグインの設定

  1. spring-boot-maven-plugin の下にある pom.xml に Maven 設定を追加します。

    maven-jar-plugin を追加し、Class-Path エントリーを lib フォルダーの場所に設定します。

         <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-jar-plugin</artifactId>
            <configuration>
                <archive>
                    <manifestEntries>
                        <Class-Path>lib/${os.arch}/sapjco3.jar lib/${os.arch}/sapidoc3.jar</Class-Path>
                    </manifestEntries>
                </archive>
            </configuration>
        </plugin>

    これにより、必要なアーティファクトの正しい構造体が作成され、SAP ライブラリーが必要なターゲットディレクトリーにデプロイされます。

  2. pom.xmlmaven-resources-plugin を使用してライブラリーをコピーします。

         <plugin>
           <artifactId>maven-resources-plugin</artifactId>
           <executions>
              <execution>
                 <id>copy-resources01</id>
                 <phase>process-classes</phase>
                 <goals>
                    <goal>copy-resources</goal>
                 </goals>
                 <configuration>
                    <outputDirectory>${basedir}/target/lib</outputDirectory>
                    <encoding>UTF-8</encoding>
                    <resources>
                       <resource>
                          <directory>${basedir}/lib</directory>
                          <includes>
                             <include>**/**</include>
                          </includes>
                       </resource>
                    </resources>
                 </configuration>
              </execution>
           </executions>
        </plugin>

    これにより、oc コマンドの実行時に、相対 lib から target/lib にライブラリーディレクトリーをコピーします。

290.2.3.5. Openshift へのデプロイ

以下の手順を実行して OpenShift にデプロイし、Maven ビルドをトリガーします。

  1. oc を実行して、ビルドを作成および設定します。

    oc new-build --binary=true
     --image-stream="<current_Fuse_Java_OpenShift_Imagestream_version>"
     --name=<application_name>
     -e  "ARTIFACT_COPY_ARGS=-a ."
     -e "MAVEN_ARGS_APPEND=<additional_args>
     -e "ARTIFACT_DIR=<relative_path_of_target_directory>"

    必要に応じて値を置き換えます。

    • <current_Fuse_Java_OpenShift_Imagestream_version>: 現在のイメージストリーム。
    • <application_name>: 任意のアプリケーション名。
    • <additional_args>: maven に追加する引数。
    • <relative_path_of_target_directory>: ターゲットへのアプリケーションの相対パス。

      この例の MAVEN_ARGS_APPEND は、spring-boot ディレクトリーで特定のプロジェクトのみをビルドするように指定するために使用されます。

      oc new-build --binary=true --image-stream="fuse7-java-openshift:1.4"
      --name=sapik6 -e  "ARTIFACT_COPY_ARGS=-a ." -e "MAVEN_ARGS_APPEND=-pl spring-boot/sap-srfc-destination-spring-boot" -e "ARTIFACT_DIR=spring-boot/sap-srfc-destination-spring-boot/target"
  2. (マルチモジュールの親ディレクトリーから) ビルドを開始します。

    oc start-build sapik6 --from-dir=.

    これにより、ソースがローカルホストから OpenShift に送信され、maven ビルドが実行されます。

  3. アプリケーションの起動

    oc new-app --image-stream=<name>:<version>

    oc new-app --image-stream=sapik6:latest

290.2.4. JKube を使用した Spring Boot および OpenShift Container Platform へのデプロイ

openshift-maven-plugin プラグインを使用して JKube でプロジェクトに SAP をデプロイするには、以下の手順に従います。

  1. コネクターをプロジェクトの lib ディレクトリーに配置します。

    例: AMD64

    src
    └── lib
        └── amd64.com.sap.conn
            ├── idoc
            │     └── sapidoc3.jar
            └── jco
                ├── sapjco3.jar
                └── sapjco3.so

    警告

    SAP ライブラリーファイルをカスタム Maven リポジトリーに追加しないでください。

    SAP Java コネクターは、JAR ファイルの名前 sapjco3.jar および sapidoc3.jar の検証を実行します。

    JAR ファイルを Maven リポジトリーにコピーする場合、spring-boot-maven-plugin はバージョン番号を追加して名前を変更します。

    これにより検証が失敗し、アプリケーションが適切にデプロイされなくなります。

  2. pom.xml のスターターから埋め込みコネクターを除外します。

    <dependency>
       <groupId>org.fusesource</groupId>
       <artifactId>camel-sap-starter</artifactId>
       <exclusions>
          <exclusion>
             <groupId>com.sap.conn.idoc</groupId>
             <artifactId>sapidoc3</artifactId>
          </exclusion>
          <exclusion>
             <groupId>com.sap.conn.jco</groupId>
             <artifactId>sapjco3</artifactId>
          </exclusion>
       </exclusions>
    </dependency>
  3. pom.xml でローカルコネクターを静的リソースとして定義します。

    <resources>
       <resource>
          <directory>src/lib/${os.arch}/com/sap/conn/idoc</directory>
          <targetPath>BOOT-INF/lib</targetPath>
          <includes>
             <include>*.jar</include>
          </includes>
       </resource>
       <resource>
          <directory>src/lib/${os.arch}/com/sap/conn/jco</directory>
          <targetPath>BOOT-INF/lib</targetPath>
          <includes>
             <include>*.jar</include>
          </includes>
       </resource>
    </resources>
  4. pom.xml でコネクターパスを指定して、リソースとデプロイメントを設定します。

    <plugin>
       <groupId>org.eclipse.jkube</groupId>
       <artifactId>openshift-maven-plugin</artifactId>
       <version>1.4.0</version>
       <configuration>
          <images>
             <image>
                <name>${project.artifactId}:${project.version}</name>
                <build>
                   <from>${java.docker.image}</from>
                   <assembly>
                      <targetDir>/deployments</targetDir>
                      <layers>
                         <layer>
                            <id>static-files</id>
                            <fileSets>
                               <fileSet>
                                  <directory>src/lib/${os.arch}/com/sap/conn/jco</directory>
                                  <outputDirectory>static</outputDirectory>
                                  <includes>
                                     <include>*.so</include>
                                  </includes>
                               </fileSet>
                            </fileSets>
                         </layer>
                      </layers>
                   </assembly>
                </build>
             </image>
          </images>
       </configuration>
       <executions>
          <execution>
             <goals>
                <goal>resource</goal>
                <goal>build</goal>
                <goal>apply</goal>
             </goals>
          </execution>
       </executions>
    </plugin>

290.2.4.1. Openshift でのデプロイ

openshift-maven-pluginpom.xml で設定されたら、fuse spring-boot イメージをアプリケーションのビルダーイメージとして特定の名前空間にインポートできます。

  1. アプリケーションパスから開始します。

    cd <sap_application_path>
  2. プロジェクトストリームを作成します。

    oc new-project streams
  3. イメージストリームをインポートします。

    oc import-image streams/fuse7-java-openshift:1.11 --from=registry.redhat.io/fuse7/fuse-java-openshift-rhel8:1.11-32 --confirm -n streams (JDK8)
  4. プロジェクトを作成します。

    oc new-project <your_project>
  5. Maven でアプリケーションをデプロイします。

    mvn clean oc:deploy -Djkube.docker.imagePullPolicy=Always -Popenshift -Djkube.generator.from=streams/fuse7-java-openshift:1.11 -Djkube.resourceDir=./src/main/jkube -Djkube.openshiftManifest=target/classes/META-INF/jkube/openshift.yml -Djkube.generator.fromMode=istag
Red Hat logoGithubRedditYoutubeTwitter

詳細情報

試用、購入および販売

コミュニティー

Red Hat ドキュメントについて

Red Hat をお使いのお客様が、信頼できるコンテンツが含まれている製品やサービスを活用することで、イノベーションを行い、目標を達成できるようにします。

多様性を受け入れるオープンソースの強化

Red Hat では、コード、ドキュメント、Web プロパティーにおける配慮に欠ける用語の置き換えに取り組んでいます。このような変更は、段階的に実施される予定です。詳細情報: Red Hat ブログ.

会社概要

Red Hat は、企業がコアとなるデータセンターからネットワークエッジに至るまで、各種プラットフォームや環境全体で作業を簡素化できるように、強化されたソリューションを提供しています。

© 2024 Red Hat, Inc.