290.2. 필요한 SAP 라이브러리 설치


290.2.1. Fuse OSGi 컨테이너에 배포

다음과 같이 SAP JCo 라이브러리 및 SAP IDoc 라이브러리를 JBoss Fuse OSGi 컨테이너에 설치할 수 있습니다.

  1. SAP Service Marketplace(http://service.sap.com/public/connectors)에서 SAP JCo 라이브러리 및 SAP IDoc 라이브러리를 다운로드하여 운영 체제에 적합한 라이브러리 버전을 선택해야 합니다.

    참고

    이러한 라이브러리를 다운로드하고 사용하려면 SAP Service Marketplace 계정이 있어야 합니다.

  2. sapjco3.jar,libsapjco3.so (또는 Windows에서 sapjco3. traffic) 및 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

    새 항목 앞의 각 줄 끝에 쉼표와 백슬래시와 백슬래시를 포함해야 합니다.Do not forget to include a comma and a backslash, , \, at the end of each line preceding the new entries, so that the list is properly continues.

  4. 이러한 변경 사항을 적용하려면 컨테이너를 다시 시작합니다.
  5. 컨테이너에 camel-sap 기능을 설치합니다. Karaf 콘솔에 다음 명령을 입력합니다.

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

290.2.2. JBoss EAP 컨테이너에서 배포

JBoss EAP 컨테이너에 SAP 구성 요소를 배포하려면 다음 단계를 수행합니다.

  1. SAP Service Marketplace(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-resourcesmaven-jar 플러그인을 사용하여 Maven으로 프로젝트에 SAP를 배포하려면 다음 단계를 따르십시오.

  1. 라이브러리 다운로드
  2. 종속 항목 추가
  3. 프로젝트에 라이브러리 배치
  4. 라이브러리 구성 추가
  5. OpenShift에 배포

290.2.3.1. 라이브러리 다운로드

세 개의 라이브러리가 필요합니다.

  • 모든 환경에 대한 공통 라이브러리:

    • sapidoc3.jar
  • 아키텍처용 라이브러리:

    • sapjco3.jar
    • sapjco3.so

      자세한 내용은 SAP Java Connector 설명서를 참조하십시오.

  1. SAP Service Marketplace(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. pom.xml에 상대적인 lib 디렉토리에 SAP 라이브러리 파일을 복사

    Maven을 실행하면 pom.xml 의 지침을 따르고 파일을 지정된 위치에 복사합니다.

    예: AMD64

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

    주의

    사용자 지정 Maven 리포지토리에 SAP 라이브러리 파일을 추가하지 마십시오.

    SAP Java Connector는 JAR 파일 sapjco3.jarsapidoc3.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.xml 에서 maven-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 명령을 실행할 때 라이브러리 디렉터리가 relative 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& gt; : maven에 추가할 인수입니다.
    • <relative_path_of_target_directory > : 대상으로 할 app의 상대 경로입니다.

      이 예에서 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=.

    그러면 maven 빌드가 실행되는 로컬 호스트의 소스를 OpenShift로 보냅니다.

  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

    주의

    사용자 지정 Maven 리포지토리에 SAP 라이브러리 파일을 추가하지 마십시오.

    SAP Java Connector는 JAR 파일 sapjco3.jarsapidoc3.jar 의 이름에 대한 검증을 수행합니다.

    JAR 파일을 Maven 리포지토리에 복사하는 경우 spring-boot-maven-plugin 은 버전 번호를 추가하여 이름을 바꿉니다.

    이로 인해 검증이 실패하여 애플리케이션이 올바르게 배포되지 않습니다.

  2. pom.xml: starter에서 포함된 커넥터를 제외합니다.

    <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은 코드, 문서, 웹 속성에서 문제가 있는 언어를 교체하기 위해 최선을 다하고 있습니다. 자세한 내용은 다음을 참조하세요.Red Hat 블로그.

Red Hat 문서 정보

Legal Notice

Theme

© 2026 Red Hat
맨 위로 이동