반응형
Introduction

Event Driven Network(EDN)으로 인스턴스를 싱행하는 방법을 알아보겠습니다.

JMS, AQ 같은것들로도 된다는거 같네용 ㄷㄷ



Defining the event

Poprocess Composite 편집 화면에서 Event Definition Creation 아이콘을 클릭합니다.



EDL File Name은 POEvents를 입력하고, Events 부분에서 Add an Event 버튼을 클릭합니다.



Element는 po.xsd - PuchaseOrder를 선택합니다.

Name은 NewPO를 입력하고 OK를 클릭합니다.



Events에 NewPO가 추가된 것을 확인하고 OK를 클릭합니다.



자동으로 열리는 POEvents.edl 창은 닫습니다.



다시 POProcessing Composite에 Mediator를 추가합니다.



Name은 receiveNewPO를 입력하고, Template은 Subscribe to Events를 선택합니다.

Subscribe to Events를 선택하게 되면 이떤 이벤트를 읽어(구독)들일건지 설정하는 화면으로 바뀝니다.

+ 버튼을 클릭합니다.



NewPO를 선택합니다. (이미 선택되어져 있습니다.



OK를 클릭합니다.



receiveNewPO(Mediator)와 routePO(Mediator)를 연결합니다.



receiveNewPO를 더블 클릭하여 편집합니다.



Transform Using을 만듭니다.









Deploying and testing

아래 파일을 다운로드 받아서 편집합니다. (soa suite 11.1.1.2.0에 클래스패스를 변경한 파일입니다.)



lab 에 나온대로 11.1.1.1.x 쓰시면 아래 파일을 받아주세요



DB_USERID, DB_PASSWD, DB_CONN, ORACLE_HOME 값을 자신에 맞게 변경합니다.

※ 여기서 DB 정보는 RCU를 이용해서 만들었던 DB 정보 입니다.

명령 프롬프트 창에서 ORACLE_HOME 환경변수를 자신의 설치폴더에 맞게 설정합니다.

> set ORACLE_HOME=C:\Oracle\Middleware\Oracle_SOA1

만약 Java 가 실행이 안되다면 설치하시고 java.exe 가 실행이 되게 설정해주세요~

이벤트를 실행해봅시다!


> publish.cmd new_po_event.xml

성공적으로 실행 되었다면 아래와 같은 메시지가 나옵니다.

Creating datasource...
Creating BusinessEventConnectionFactory...
Creating connection...
2010. 8. 12 오후 4:10:47 oracle.integration.platform.blocks.event.jms.ContextHelper lookupContextProviderClass
정보: Context provider properties file not found
Creating Business Event...
Sending event:
<business-event xmlns:ns="http://schemas.oracle.com/events/edl/POEvents" xmlns="http://oracle.com/fabric/businessEvent">
   <name>ns:NewPO</name>
   <id>e4196227-806c-4680-a6b4-6f8df931b3f3</id>
   <content>
      <PurchaseOrder xmlns="http://xmlns.oracle.com/ns/order">
         <CustID>1111</CustID>
         <ID>33412</ID>
         <productName>Sony Bluray DVD Player</productName>
         <itemType>Electronics</itemType>
         <price>350</price>
         <quantity>5</quantity>
         <status>Initial</status>
         <ccType>Mastercard</ccType>
         <ccNumber>1234-1234-1234-1234</ccNumber>
      </PurchaseOrder>
   </content>
</business-event>
Done.

이제 EM에 들어가서 POProcessing 을 확인해보면 인스턴스가 생성된 것을 확인 할 수 있습니다.

흐름 추적을 해보면 receiveNewPO Service에 의해서 실행이 된 것을 확인 할 수 있습니다.



※ lab을 잘 따라 했다면 여기서 성공하지 않고 에러가 나서 복구 대기중일 겁니다.

이유는 Chapter E 에서 했던 보안 정책 때문에 그런데 비활성화하고 하면 잘 됩니다.

또는 그냥 복구 하면 바로 잘 됩니다. 왜 그런지는 저도 잘 -_-;;;







반응형
//