2022년 11월 16일 수요일

SAP CPI 초보를 위한 튜토리얼(Integration Flow)

SAP CPI를 하기 위해서는 먼저 평가판 계정을 설정을 해야하는데 아래 내용을 참고하시면 됩니다.

Integration Flow에 대한 초보자 튜토리얼 내용은 아래 사이트를 참고했습니다.
Start with SAP CPI Integration Flow: Beginner Tutorial


메뉴소개

Integration Suite 메뉴

Discover > Integratoins

참고할수 있는 ~449개의 SAP의 아이플로우의 템플릿들을 볼수 있고 상세화면에 들어가면 아이플로우의 설명과 생성이나 게시일 등을 나옵니다. 그외 파일과 문서도 다운로드 가능하고 폴더안에 .groovy 스크립트에 관심이 생깁니다.
그리고 Integration Suite가 아닌 사이트를 통해서도 아이플로우 템플릿을 확인 가능한것 같은데 개수가 다른것 같습니다.
SAP API Business Hub > Integrations > Integration Flow
이런 템플릿들은 예전 PI할때 ccBPM때도 존재했었는데 그때에 비하면 CPI의 디자인 방식이 심플하고 깔끔해보입니다.

Design > Integrations

인티그레이션 플로우를 디자인(설계)하는 메뉴이며 자세한 작업 절차는 아래에서 정리해보겠습니다.


Design > B2B Scenarios

기업 대 기업간의 인터페이스를 위한것 같은데 익숙한 메뉴나 항목들도 보이네요. Company Profile, Trading Partners, Agreement Templates, Agreements 이메뉴에 대해서는 나중에 정리를 해보겠습니다.

Monitor > Integrations

CPI의 모니터 초기화면은 PI/PO의 Message Monitoring 더 좋아 보이는것 같은데 Monitor Message Proecssing, Manage Integration Content, Manage Security, Manage Stores, Access Logs, Manage Locks 메뉴들이 존재하는데 그 하위에는 사각형 박스안에 상태별로 숫자들이 들어가 있습니다. 지금은 인터페이스 흐르는게 없지만 사각형 박스를 클릭하면 상세 모니터링 내용을 확인가능할것 같습니다.

Monitor > B2B Scenarios

이 모니터링 화면은 미완성인가요?

Settings > Integration

신기한 메뉴인데요. Product Profiles에는 SAP Cloud Integratoin과 Process Orchestration 7.5 서비스패키지 별로 존재하는데 Enable이나 Default로 지정할수 있는것보면 웬지 아이플로우 안에서 클라우드나 온프레미스 플랫폼의 컨텐츠도 사용가능한것 같습니다.
Transport에는 기존 PO서버별 운영이관할때 사용하던 CTS+ Direct 기능들도 보이는데 MTAR Download나 Transport Management Service는 잘 모르겠습니다. 그외 ES Repository, Custom Tags, Malware Scanner메뉴들도 있습니다.


아이플로우 디자인하기

 IFlow 화면


1. 패키지생성하기

패키지를 생성할때 입력하는 항목에는 Name, Technical Name(name에따라 자동입력), Short Description, Version(자동입력), Vendor가 있는데 간단합니다. 생성한 패키지는 Export/Import도 가능합니다.

2. 타입추가

생성한 패키지 안에는 Integration Flow, REST API, Message Mapping, SOAP API, Value Mapping, OData API, Script Collection, Integration Adapter 타입을 선택할수 있는데 그중 인티그레이션 플로우를 눌러 보이는 항목들중 Name, ID(name에 따라 자동입력), Description을 입력할수 있고 Product Profile은 위 설명한 셋팅메뉴의 활성화에 따라 선택할수 있는 플랫폼이 여기에 나오는것 같습니다. 그외 Sender/Receiver에는 Oracle, ERP모듈 등 다양하게 선택할수 있는 Applications이 있고 여러개도 체크가 가능합니다.

이렇게 생성한 타입이 목록에 보이는데요, 공유하기? 아이콘을 눌러보면 카피, 다운로드, 디폴로이 등 기능들도 있습니다.

3. 아이플로우 디자인(설계) 하기

처음 아이플로우 화면을 봤을때 ccBPM, nwBPM, TIBCO BW 화면이 생각났는데 그중 nwBPM과 비슷해 보입니다.

지금 진행하는 시나리오는 위 사이트를 참고하여
HTTPS 어댑터와 연결하여 JSON에서 XML로의 변환을 수행하는 흐름입니다.

Sender연결하기
sender상자 클릭 후 화살표를 연결해주고 싶은 위치에 드레그 엔 드랍으로 연결을 해줍니다. 드랍하면 Adapter Type 리스트들이 나오는데 PI/PO에서 보았던 익숙한 Adapter들(FTP, HTTPS, IDOC, JMS, Mail, SFTP, SOAP, XI)보다 AMQP, Ariba, AS2, AS4, Data Store, Dropbox, Kafka, OData, ProcessDirect, SuccessFactors이 더 많이 보이며 이중에 HTTS를 선택합니다.

HTTPS어댑터설정
컨넥션를 누르고 Address, Authorization, User Role, CSRF Protected를 선택하고 Conditions에는 기본적으로 사이즈를 설정할수 있습니다.

JSON to XML 컨버젼
상단에 Message Transformers를 누르게 되면 Content Modifier, Converter, Decoder, EDI Extractor, Encoder, Filter, Message Digest, Script(Groovy Script, JavaScript) 이중 Converter를 선택하게 되면 CSV to XML, EDI to XML, Json to XML, XML to CSV, XML to EDI, XML to JSON포맷으로 컨버젼할수 있는 기능들이 존재합니다.

사용방법은 JSON to XML를 선택 후 원하는 위치에 드래그 엔 드랍합니다.

Content Modifier 추가

request/reply 추가
상단에 Call > External > Request Reply 추가

Receiver 연결하기
생성한 Request Reply 화살표를 Receiver와 연결하여 ODATA를 선택합니다.

디폴로이
모니터링에 Manage Integration Content에 들어가면 호출할수 있는데 Endpoints 주소가 있습니다.
만약 해당 url이 안나오는경우 아래 내용을 참고하시면 좋을것 같습니다.
3189323-'There are no endpoints configured' message in SAP Cloud Integration Iflows

지금까지 아이플로우에 대해 간단하게 디자인과 흐름을 이해해봤고 마지막으로 상단에 메뉴명들입니다.
  • Participant: Receiver, Sender
  • Process: Exception Subprocess, Integration Process, Local Integration Process
  • Event: End Event, End Message, Error End Event, Error Start Event, Escalation End Event, Start Event, Start Message, Terminate Message
  • Mapping: ID Mapping, Message Mapping, Operation Mapping, XSLT Mapping
  • Call: External Call, Local Call
  • Routing: Aggregator, Gather, Join, Multicast, Router, Splitter
  • Security: Decryptor, Encryptor, Signer, Verifier
  • Persistence: Data Store Operations, Persist, Write Variables
  • Validator: EDI Validator, XML Validator

메뉴가 엄청 많은데 모든메뉴에 대해 한번씩 사용하려면 오래걸릴것 같고 주로 사용하는 기능들만 정리해봐야겠습니다.

댓글 없음:

댓글 쓰기