2024년 9월 27일 금요일

SAP BTP개념정리와 Cloud Integraion 개발관련 내용 정리

인스피언의 조선임 통해 BTP부터 개발 관련되서 설명을 듣고 정리한 내용에 AI답변 내용을 추가했으며 사실과 다른 내용도 있을수 있어 참고 부탁드리겠습니다.

SAP BTP환경

  • 하나의 글로벌 어카운트에 여러 서브 어카운트가 존재 → D/Q/P로 분리할수 있음(개별적인 동작환경) → 서브어카운터 = 테넌트에 생성됨
  • Neo: 사용안하는것 같은데 SAP에서 관리함
  • Cloud Foundry: Azure와 AWS에서 관리한다고 함
    • 구분된 컨테이너인 테넌트라는게 있음 → CPU, 저장공간이 분리되어있음
  • Kyma라는 새로운 환경이 있음
특징NeoCloud FoundryKyma
아키텍처제한된 유연성을 가진 모놀리식 아키텍처.보다 유연한 마이크로서비스 아키텍처.Kubernetes 지원을 갖춘 마이크로서비스 아키텍처.
배포 모델PaaS (서비스형 플랫폼).여러 클라우드 제공업체를 지원하는 PaaS.Kubernetes 기반의 PaaS.
확장성Cloud Foundry에 비해 제한된 확장성.높은 확장성과 자동 확장 지원.Kubernetes 오케스트레이션으로 높은 확장성.
언어 지원주로 Java와 JavaScript 지원.여러 언어 지원 (Java, Node.js, Python 등).Kubernetes를 통한 여러 언어 지원.
생태계주로 SAP 서비스에 초점을 맞춘 제한된 생태계.수많은 빌드팩과 서비스가 포함된 풍부한 생태계.Helm 차트와 Kubernetes 자원으로 구성된 풍부한 생태계.
사용 사례간단한 애플리케이션과 서비스에 적합.현대적인 클라우드 네이티브 애플리케이션에 적합.마이크로서비스를 사용하여 애플리케이션을 구축하고 확장하는 데 적합.
관리SAP Cloud Platform 대시보드를 통해 관리.Cloud Foundry CLI 및 UI를 통해 관리.Kubernetes 도구와 대시보드를 통해 관리.
서비스 통합SAP 서비스와의 긴밀한 통합.다양한 서비스와의 통합을 위해 열려 있음 (비SAP 포함).여러 서비스와의 이벤트 기반 통합을 위해 설계됨.

Cloud Integration
  • IS를 구독하고 Cloud Integration 활성화 해주어야함(주요기능)

Apache Camel

카멜 익스체인지
  • 하나의 루트
  • 프로퍼티=임시저장 → 자바의 변수처리처럼 글로벌 스토리지처럼 사용가능하다고 함
  • I-Flow와는 다름 웹어플리케이션으로 생각하면 프론트단은 i-flow 서버단은 카멜 익스체인지인듯
  • Content Modifier에서 데이터 수정이 가능하나 소스쪽에서 데이터 수정해주는것이 좋을듯
특징설명
정의Exchange는 Camel에서 메시지의 전송 및 처리 단위를 나타냄.
구성 요소Exchange는 두 가지 주요 구성 요소로 구성됨: In Message와 Out Message.
In Message수신된 메시지를 포함하며, 처리 과정에서의 입력 데이터.
Out Message처리 후 결과를 포함하며, 프로세스가 완료된 후의 출력 데이터.
프로세스 흐름Exchange는 라우터를 통해 여러 프로세서(Processor)를 거치며 메시지를 변환하거나 필터링함.
헤더메시지와 함께 전달되는 메타데이터로, 라우팅 및 처리를 위한 추가 정보 포함.
속성Exchange에 대한 추가적인 정보를 포함하며, 메시지 흐름에서 사용됨.
상태 관리메시지 처리 중의 상태를 추적하며, 오류 처리 및 재시도 로직에 활용됨.

Cloud Connector(SCC)

  • 온프레미스환경인경우 SCC를 구성이 필요 → DB,ERP에서 필요
  • Edge Integration Cell
Edge Integration Cell은 SAP의 통합 솔루션으로, 데이터가 발생하는 현장(엣지)에서 직접 데이터를 처리하고 통합하는 기능을 제공합니다. 예를 들어, IoT 장치에서 수집한 데이터를 클라우드로 보내기 전에 로컬에서 변환하거나 필터링하여 대역폭을 절약하고 실시간 반응을 가능하게 합니다. 이를 통해 기업은 신속하게 의사 결정을 내리고, 효율적으로 비즈니스 프로세스를 운영할 수 있습니다.

개발(SAP BTP Cockpit)

  • 크롬에서 작업시 시큐리티창을 이용하는것을 권장 → 확장프로그램 사용못함
  • 브라우저에서 개발 시 발생될수 있는 문제점들
문제원인해결 방법
네트워크 문제인터넷 연결 불안정안정적인 네트워크 환경에서 작업 또는 재시도
브라우저 캐시 문제캐시 손상 또는 만료브라우저 캐시를 지우고 다시 시도
쿠키 제한브라우저에서 쿠키 차단쿠키 설정을 확인하고 필요한 쿠키를 허용
세션 만료일정 시간 활동 없음으로 인한 세션 만료세션 유지 기능 활성화 또는 페이지 새로 고침
애플리케이션 오류버그 또는 서버 오류개발자나 지원팀에 문의하여 문제 보고
권한 문제저장 기능에 대한 권한 부족관리자에게 권한 설정 확인 및 요청
  • 크롬 시크릿 창에서 개발시 보완되는 부분 
구분내용
장점
쿠키 및 캐시브라우저의 쿠키와 캐시가 저장되지 않아 문제를 피할 수 있음.
세션 관리각 세션이 독립적으로 관리되어 다른 세션의 영향을 받지 않음.
플러그인 비활성화기본적으로 플러그인이 비활성화되어 특정 플러그인 문제를 피할 수 있음.
주의할 점
저장 및 세션시크릿 창에서 작업한 내용은 세션 종료 시 사라짐.
네트워크 및 권한 문제네트워크 불안정이나 권한 문제는 여전히 발생할 수 있음.
기타 설정브라우저의 일부 설정은 시크릿 창에서도 동일하게 적용됨.
  • IS를 사용하기위해서는 서비스마켓플레이스에 들어가 구독
  • 같은 화면에서 개발/품질/운영 테넌트를 사용할때 → 쿠키를 사용함으로 발생되는 문제가 있다고 함(저장안되는 문제 등)
  • 모니터링은 대시보드 화면이며 CPI 헬퍼의 확장프로그램 사용하여 좀더 디테일한 로그 확인가능한듯
  • SAP Business Application Studio라는게 있음
  • SAP Business Application Studio와 Cloud Integration 비교
구분SAP Business Application StudioCloud Integration
주요 목적SAP 애플리케이션 개발 및 관리에 중점다양한 시스템 간의 데이터 통합 및 연결에 중점
기능- 모듈화된 애플리케이션 개발
- UI 및 비즈니스 로직 설계
- 다양한 언어 지원
- 팀 협업 기능
- 메시지 흐름 처리
- 변환 및 라우팅 기능
- API 관리
- B2B 통합 지원
사용자주로 애플리케이션 개발자 및 UI/UX 디자이너주로 통합 개발자 및 데이터 엔지니어
환경클라우드 기반의 통합 개발 환경클라우드 기반의 통합 플랫폼
결과물최종 사용자에게 제공되는 SAP 애플리케이션다양한 시스템 간의 데이터 흐름 및 통합된 서비스
  • IS패키지가 PO의 소프트웨어 컴퍼넌트같은 모습
  • I-Flow에서의 검색기능은 기능(스탭)으로 검색
  • DB,FTP 등 컨넥션 정보는 따로 설정하고 참조하여 사용
    • DB드라이버를 따로 업로드해야함 → 클라우드 환경이면 드라이버까지 지원해줘야하는거 아닌지..
    • 직접 드라이버를 업로드하는 방법이 일반적이라고 하지만 서비스마켓 플레이스 등에서 구독하여 사용하는 방법이면 좋을것 같음
  • IS에는 DataType, MessageType 자체가 없음
  • PO의 데이터 타입과 메시지 타입이 IS에 없는 이유
구분PO (Process Orchestration)IS (Integration Suite)
구조적 차이명시적으로 데이터 타입과 메시지 타입을 정의함.자동 변환 및 매핑 기능을 통해 처리함.
유연성 및 모듈화고정된 데이터 타입과 메시지 타입 사용.더 유연하고 모듈화된 접근 방식으로 다양한 데이터 형식 지원.
서비스 지향 아키텍처전통적인 SOA 방식으로 통합 솔루션 제공.마이크로서비스 접근 방식을 통해 통합.
자동화 및 간소화메시지 흐름에 대한 명확한 정의 필요.데이터 구조 관리 필요 최소화, 자동으로 처리 가능.
  • 자유도가 높아서 처음에 패턴화,글로벌 변수 인터페이스 개발진행하는게 좋다고 함 
  • PO는 체인지리스트와 엑티브가 아닌 클라우드에 저장/변경 하고 디폴로이 하는 개념
  • PO의 수정 후 엑티브 방식과 IS의 저장 후 디플로이하는 배포 방식
구분PO (Process Orchestration)IS (Integration Suite)
배포 방식수정 후 바로 활성화(Active) 방식 사용.저장 후 수동으로 배포(Deploy) 방식 사용.
운영 중 변경즉시 변경 사항이 적용되며, 실시간으로 반영됨.저장 후 배포해야 변경 사항이 적용됨.
버전 관리각 수정사항에 대해 버전 관리 필요.변경 사항을 버전으로 관리하며, 이전 버전으로 롤백 가능.
테스트즉시 테스트 가능, 변경 즉시 반영됨.저장 후 배포하여 테스트 환경에서 검증 필요.
리스크 관리변경 사항이 즉시 적용되어 리스크가 높을 수 있음.배포 전 검증 과정을 통해 리스크를 줄일 수 있음.
  • 개발순서는 패키지 → 아티팩트 → 아이플로우
  • JSON to XML → XML to JSON 스탭으로 JSON데이터 처리
    • 아니면 그루비 스크립트를 사용하여 처리 → 유지보수 관점으로 보면 스크립트를 사용하는것을 배제하는게 좋은듯
  • 메시지 매핑에 없는 필드값이 들어오면 에러가 발생됨
  • IS 개발창에는 뭔가 느리다고 함 → 자꾸 딴짓하게 되고
  • Cloud Integration 브라우저에서 개발 시 속도를 개선
구분방법
브라우저 최적화- 캐시 정리
- 확장 프로그램 비활성화
- 브라우저 최신 버전으로 업데이트
네트워크 상태 개선- 안정적인 인터넷 연결 사용
- VPN 사용 자제
데이터 처리 최적화- 모듈화된 통합 흐름 개발
- 테스트 환경 활용
로컬 개발 도구 사용- 로컬 IDE를 사용하여 개발 및 처리
배포 전략 개선- 증분 배포 사용
- CI/CD 도구 활용
지원 요청- SAP 지원 팀에 문의하여 기술적 도움 요청
  • Cloud Integration에 대한 로컬 IDE
툴/플랫폼설명
SAP Business Application Studio클라우드 기반 환경에서 SAP Fiori 및 SAPUI5와 통합하여 로컬 개발 가능.
Eclipse IDESAP Cloud Platform Tools for Eclipse를 통해 SAP 솔루션과 통합 가능.
IntelliJ IDEA강력한 개발 도구로 SAP Cloud Integration에 맞는 플러그인 지원.
Visual Studio Code다양한 언어 및 플랫폼 지원, SAP Cloud Integration 개발에 적합한 확장 기능 추가 가능.
SAP Web IDE웹 기반 IDE이지만, 로컬 개발 환경에서 애플리케이션 개발 및 테스트에 유용.
  • 개발할때 개념을 이해한다음에 개발진행하는게 더 좋다고 함

모니터링

  • 인터페이스 수행 현황만 보는 정도이고
  • 자세한 부분은 CPI헬퍼를 사용해야하는듯
  • CPI 헬퍼 사용의 장점과 아쉬운 부분
구분내용
장점
개선된 UI모니터링 화면이 더 직관적이고 사용하기 쉬워짐.
추가 기능필터링, 정렬, 검색 기능으로 필요한 정보 쉽게 찾기 가능.
시각화 도구메시지 흐름 및 성능 지표를 시각적으로 표현하여 분석 용이.
자동화 알림특정 조건에 대한 알림 기능으로 문제를 즉시 인지 가능.
보고서 생성사용자 맞춤형 보고서 생성으로 데이터 분석 및 공유 용이.
아쉬운 부분
설치 및 설정별도의 설치 및 설정이 필요하여 초기 설정이 번거로울 수 있음.
학습 곡선새로운 도구 사용에 익숙해지는 데 시간이 필요할 수 있음.
호환성 문제기존 시스템과의 호환성 문제나 업데이트에 따라 불안정할 수 있음.

“PO가 더 빠르고 실수를 줄일수 있는 부분이 있는데 IS는 자유도가 높지만 세심하지 않은 번거로운 부분도 있는것 같음”

댓글 없음:

댓글 쓰기