Oracle Weblogic(SOA) UMS Adapter Transaction

이미지
When you use UMS( User Messaging Service ) Adapter, you should consider transaction. In Oracle's docs..you can find this.. UMS does not participate in any global transactions. Note that the UMS Adapter does not support XA Transactions on the Outbound message transactions. Please refer to bellow picture. You can get it easily. (BPEL send data to Global Transaction Database and UMS - Email Adapter) This means that UMS adapter can not working with global transaction. Many thanks :)

Oracle SOA for Refresh SAP JCO Adapter RFC Cache

SAP RFC is too strong !! Why I recommend SAP EAI(XI,PI,PO) with SAP ERP(ECC) is that.. -> https://eaixipipo.blogspot.com/2018/08/why-sap-eai.html I think SAP Proxy is better than SAP RFC. Almost of all EAI's solutions can connect SAP ERP(ECC) by SAP JCO adapter.  Sometimes, if SAP ERP(ECC)'s RFC structure was changed, EAI should do something. It could be refresh SAP JCO adapter. SAP EAI have above things. Thanks Google :) In this post, I introduce how to refresh SAP RFC structure on Oracle SOA. Before I introduce that..Oracle must give main solutions !! Shortly, you can refer as following as steps.. Step 1. Open the sapjco3.jar file. (I used Jd-gui) Step 2. Open JCoRepository.class in the jar file. Step 3-1. (Refresh SAP RFC function) Use  removeFunctionTemplateFromCache and then, Use  getFunctionTemplate Step 3-2. (Refresh SAP RFC function's table -> Structure) Use  removeRecordMetaDataFromCache and then, Use  getRecordMetaData I will share detail information next ti

Gitlab CI/CD - Make Stage by Branch Name

이미지
Gitlab을 현재 SOA와 연결해서 사용 중인데 Branch 이름으로 Stage를 분개해야 할 상황이 생겼다 (아래 링크는 Gitlab 과 EAI관련 Posting 임) 링크 :  EAI with Gitlab 이번 포스팅은 Branch 생성 시 Branch Name에 특정 문구가 있을 시 별도 Stage가 생성되는것을 공유 드리고자 한다 Gitlab의 CI/CD를 사용하려면 gitlab-ci.yml 을 이용해야하며, Pipeline에 Stage 별로 Job이 생성 된다 예를 들어보자 1. gitlab-ci.yml 파일 생성 stages:   - deploy   - approve   - deploy_prd deploy_imsi:   stage: deploy   tags:    - Integration   script:    - echo "Deploy"   when : manual deploy_pi_test:   stage: deploy   tags:    - Integration   script:    - echo "Deploy"   when : manual deploy_qas:   stage: deploy   tags:    - Integration   script:    - echo "Deploy"    when : manual     deploy_test:   stage: deploy   tags:    - Integration   script:    - echo "Deploy"   when : manual   approve:   stage: approve   tags:    - Integration   script:    - echo "Approve"   when : manual     deploy_big:   stage: deploy_prd   tags:    - Integration   script:    - echo "Deploy PRD"  

Oracle SOA(EAI) Rest Adapter Access-Control-Allow-Origin

이미지
When you use rest api getting data(JSON) from SOA(EAI) or something on web browser like Chrome, you may get error as following as.. Access to ---- at 'URL----' from origin 'null' has been blocked by CORS policy: No 'Access-Control-Allow-Origin' header is present on the requested resource Why..? Security Issue!! .. Thanks Google :P For this error, you should use property as following as.. rest.binding.http.Access-Control-Allow-Origin : * For example on SOA BPEL bellow picture.. It could not be difficult using this on other solution's adapter. Or.. you could set this property in server, if you do not care security.. Thanks~~ :)

Decode Base64 in SOA XSLT Mapping

1. Add  xmlns:dc64="http://www.oracle.com/XSL/Transform/java/oracle.soa.common.util.Base64Decoder in xsl:stylesheet (root). 2. Mapping <tns:Target Field> <xsl:value-of select="dc64:decode(Source Field)"/> </tns:Target Field> Very Easy :)

Oracle SOA(EAI) G1GC

이미지
<Environment> ■ SOA Version : Oracle Cloud SOACS 12.2.1.4 (Market Place) ■ java version 1.8.0_261 ■ Java Memory Garbage Collection Type : G1GC ----------------------------------------------------------------------------------------------------- In this post, I will compare between  Parallel  GC and G1 GC for Oracle SOA(EAI). For this, you need to know something as bellow.. EAI - Enterprise Architecture Integration What is Java Memory Garbage Collection (GC)? - Memory management - Delete unused memory automatically Java Memory Garbage Collection Types - Serial Garbage Collector - Parallel Garbage Collector -> Default GC below 1.9 - CMS Garbage Collector - G1(Garbage First) Garbage Collector -> Default GC above 1.9 GC types - Minor and Major GC During GC - Stop the World : A ll application threads are stopped ----------------------------------------------------------------------------------------------------- Let's start!! Parallel   Garbage Collector Logic Shortly, Memor

Oracle SOA(EAI) HA(High-availability) Configuration

이미지
I will share this posting about Oracle SOA(EAI) HA(High-availability) Configuration. I'm not sure this is perfect for HA, but I hope this will help for you. I configured the HA for SOA in Oracle Cloud. There are two case for the HA. Case 1 . With Web Server Case 1 . Without Web Server Both of them are working well. (It's just of my thought but I tested many of times) Web Servers can redirect interface message to another, if one of managed servers is shut down. However, web servers should be managing point. So... In my point, you can use this URL on load balance.   -> http://IP:Port/soa-infra/services/isSoaServerReady I think it's enough for the HA even though health check interval is 1000 ms. (Min interval is 1000 ms in Oracle Cloud LB ). This posting is the last in this year(2020). Merry Christmas and Happy New Year !!

EAI Interface with Gitlab

이미지
Oracle Cloud SOA(SOACS) 구축 프로젝트를 하며, Gitlab을 이용하였습니다 통칭 Git 이라고 하며, 그 중 Gitlab이란 오픈 소스 소프트웨어를 사용했습니다 (물론, Free Version Gitlab을 사용) EAI만 10년 넘게 경력을 가지고 있는데, Git을 통해 한 건 이번이 처음이였는데, EAI를 사용하는 사람들에게 강력하게 추천 드립니다 !!! 이번 Posting은 EAI Interface with Gitlab 입니다 :) EAI와 Gitlab을 접목 시킨것에 대해 소개하기 전에, 간단하게 Git에 대해 설명 드리자면.. Git이란? 1. 분산형 버전 관리 시스템 (DVCS) 2. Issue Tracker 3. CI/CD (지속적 통합 및 배포) 4. Wiki 5. Label 6. API 제공 7. Milestones 입니다. 자세한 사항은 Googling Go Go Go ! 그럼 EAI와 Gitlab을 어떻게 접목 시켰는지 소개 드립니다 !!! 1. 분산형 버전 관리 시스템 (DVCS) -> Gitlab은 Repository라는 항목이 있습니다     EAI의 개발 소스를 Gitlab의 Repository와 동기화(Clone) 하여 사용 합니다     Repository의 최상위 Branch는 Master이며, 버전 관리를 위해 Master에      소스를 Commit & Push하여 사용 합니다 -> Git Branch (개별 작업)     EAI는 특성상 Interface마다 개발 소스가 다릅니다     그래서, 개인적으로 생각 한 방법이 Interface마다 Master 에서 Branch를 생성해서     사용하는게 좋을 것 같다고 생각합니다 2. Issue Tracker -> Git에는 Issue를 생성하여 Tracker를 할 수 있습니다     Issue 하나가 Interface 하나로 생성하여 사용하는게 좋습니다 -> Interface Issue를 생성하여, Source 와 Targe

Stop Thread on IBM JT400(as400) JDBC Adapter

2019년..이직을 하게 되어 SAP EAI(PO)에서 Oracle EAI(SOA)로 전환 !! 경력에 한줄이 더 생기게 되어 좋은 경험이라 생각하고 있고, 현재 Oracle Cloud 내 SOA를 구축 후 운영하고 있다 통칭 SOACS 라고 한다 :) SOACS 운영 중, IBM JT400(as400) JDBC Driver 사용 시 Weblogic Server 의 Thread가 Pool이 차는 상황이 발생 !! (Link : SOACS Weblogic -> 작성 중) Bug 라기 보다는 결국엔..Connection Configuration 문제.. 간단하게 생각하면, Thread가 Pool이 차는 이유는 Connection 을 JDBC Driver가 반환을 하지 못하여 발생하는 문제가 아닐까 생각했고.. Search on Google !!!! ... lol Google !!!! 아래 설정이 필요하다 1. socket timeout= <num millis> -> You know what this means.. 2. thread used=false -> 위 socket timeout만 설정 시, 예를들어 30000(30 Sec) 이라 설정 하면, 30초마다 새 연결 요청을 만들어 낸다. 그러나 thread used를 false로 설정하게 되면 요청이 발생 되지 않기 때문에 thread를 낭비 하지 않게 된다 3. Properties 부분에 넣거나, URL에 직접 입력 ->  jdbc:as400:// my.400.com;socket timeout = 30000; thread used = false Thanks~~ 이직하고, EAI 구축하느라 바빠서 글이 뜸 했지만..주에 1개씩은 올려봐야지.. :P

우리집 인테리어 공개(광명 이편한세상 25평)

이미지
드디어..길고 길었던 이사(광명 이편한세상 아파트 25평)와 인테리어가 완료 lol 그래서 자랑..소개..하고자 합니다 글을 쓰기전에 앞서.. 사랑하는 이쁜 Wife가 인테리어에 많은 Idea와 신경을 써 주셔서 좋은 결과가 나오지 않았나 생각합니다 말 잘 듣고 살께요.. 사랑하고~고맙습니다~♥ 먼저 인테리어 시작 전에 "인테리어쇼" 라고 요즘 Hot? 한 영상을 보았고.. 이걸 Motive로 여러 인테리어 업체와 상담을 받았습니다     Motive          1. 방을 제외 한 거실 주방 무몰딩 및 페인트(천장 제외)          2. 라인조명          3. 가구의 통일감          4. White Canvas 느낌          5. 주방에 식탁 상담하면서 인테리어 쇼 영상을 보여줬고, 그 중 Start 업체이고 젊으신 사장님과 같이 Win-Win 하자고 하면서 시작하게 되었습니다 (사장님도 처음 해 보시는거라 투자하시며 Skill Up 하는 차원이였고,  우리 집 잘 꾸며주면 홍보하겠다는 전략이였습니다 :P) ■ 거실 ■ 주방 식탁 넣기 전(As-Is) 식탁 넣은 후(To-Be) ■ 옷방 (시스템장) ■ 안방 ■ 콩자갈 (인테리어 사장님께서 추천 해 주셔서 현관/베란다에는 타일 사용하지 않음 -> Good Job) ■ 라인조명 (주방/거실에 다른 조명을 킬 필요가 없을 정도로 밝다) 화장실, 베란다 사진은 추후 Update 예정입니다~ 감사합니다 :)