라벨이 SOA인 게시물 표시

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

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