반응형
Introduction
SDO를 사용하는 방법을 알아봅시다~
Preparing for the lab
아래 스크립트를 실행하셔야 합니다.
Creating the ADFBC Service
어플리케이션을 만듭니다.
Application Name: CustomerSDOApp
Project Name: CustomerSDO
Finish 클릭
CustomerSDO 프로젝트에서 마우스 오른쪽 버튼 클릭 후 New... 클릭
Business Tier - ADF Business Components에 Business Components from Tables를 선택합니다.
Connection을 추가합니다.
Connection 정보를 입력합니다.
SQL Flavor와 Type Map은 Oracle로 놔두고 OK
※ 테스트하는 DB(soademo)가 다른 DB이면 바꿔주세요.
CUSTOMERS 테이블을 선택합니다.
Next 버튼을 클릭합니다.
Customers (SOADEMO.CUSTOMERS)를 선택합니다.
Read-Only View Objects 창에서는 그냥 Next 버튼을 클릭합니다.
Name: CustomerSDOAppModule
Finish 버튼을 클릭합니다.
CustomerSDOAppModule을 더블 클릭합니다. Service Interface를 선택합니다.
+ 버튼을 클릭합니다.
Web Service Name: CustomerSDOService
Next 버튼을 클릭합니다.
CustomersView1을 선택합니다.
CustomersView1 선택하면 Basic Operations 탭에 목록이 나오게 됩니다. 하나도 빠짐없이 다 선택합니다. (스크롤 내려서 선택!)
Finish 버튼을 클릭합니다.
Deploying the service
Configureations을 선택 합니다.
CustomerSDOService를 선택 후 Edit 버튼을 클릭합니다.
Datasource Name: jdbc/soademoDatabase. OK 버튼을 클릭합니다.
Defaut Configuration을 CustomerSDOService로 번경합니다.
모두 저장합니다.
CustomerSDO 프로젝트 선택 후 마우슨 오른쪽 버튼 클릭. Project Properties... 클릭합니다.
Java EE Application에서
Java EE Web Application Name: CustomerSDO-webapp, Java EE Web Context Root: customer-app
Deployment에서 Deployment Profile을 추가합니다.
Archive Type을 Business Components Service Interface로 선택하고 Name은 customerSDOProfiles로 입력합니다.
추가된 customerSDOProfile을 펼치고, MiddelTier (EJB JAR File) 선택 후 Edit 버튼을 클릭합니다.
EAR File을 customer-app.ear 로 변경하고, Enterprise Application Name을 CustomerSDO로 변경합니다.
OK 버튼을 클릭합니다.
OK 버튼을 클릭합니다.
Deploy 합니다.
http://localhost:8001/customer-app/CustomerSDOService로 접속합니다.
아래와 같은 화면이 나오는데, 작업에서 getCustomersView1 선택 후 customerId에 1111을 입력하고 호출 버튼을 눌러봅시다.
결과가 나옵니다. 형식이 지정된 XML을 클릭하면 좀 더 이쁘게 볼 수 있습니다.
이 웹서비스를 POProcessing에서 사용해봅시다.
Using the SDO in POProcessing Composite
POProcessing Composite 편집 화면에서 Web Service를 추가합니다.
전에 추가한 웹서비스의 WSDL URL을 알기 위해서는 서비스 설명을 참조하십시오.를 클릭하거나 뒤에 ?wsdl 을 붙이면 됩니다.
위 URL을 복사합니다.
WSDL URL에 붙여넣기 합니다. 붙여넣기 후 포커스를 다른 곳으로 이동시키면 자동으로 정보를 읽어들입니다.
approveLargeOrder(BPEL Process)를 수정합니다.
SDO를 사용하는 방법을 알아봅시다~
Preparing for the lab
아래 스크립트를 실행하셔야 합니다.
sqlplus soademo/soademo @create_cstomers_table.sql
Creating the ADFBC Service
어플리케이션을 만듭니다.
Application Name: CustomerSDOApp
Project Name: CustomerSDO
Finish 클릭
CustomerSDO 프로젝트에서 마우스 오른쪽 버튼 클릭 후 New... 클릭
Business Tier - ADF Business Components에 Business Components from Tables를 선택합니다.
Connection을 추가합니다.
Connection 정보를 입력합니다.
SQL Flavor와 Type Map은 Oracle로 놔두고 OK
※ 테스트하는 DB(soademo)가 다른 DB이면 바꿔주세요.
CUSTOMERS 테이블을 선택합니다.
Next 버튼을 클릭합니다.
Customers (SOADEMO.CUSTOMERS)를 선택합니다.
Read-Only View Objects 창에서는 그냥 Next 버튼을 클릭합니다.
Name: CustomerSDOAppModule
Finish 버튼을 클릭합니다.
CustomerSDOAppModule을 더블 클릭합니다. Service Interface를 선택합니다.
+ 버튼을 클릭합니다.
Web Service Name: CustomerSDOService
Next 버튼을 클릭합니다.
CustomersView1을 선택합니다.
CustomersView1 선택하면 Basic Operations 탭에 목록이 나오게 됩니다. 하나도 빠짐없이 다 선택합니다. (스크롤 내려서 선택!)
Finish 버튼을 클릭합니다.
Deploying the service
Configureations을 선택 합니다.
CustomerSDOService를 선택 후 Edit 버튼을 클릭합니다.
Datasource Name: jdbc/soademoDatabase. OK 버튼을 클릭합니다.
Defaut Configuration을 CustomerSDOService로 번경합니다.
모두 저장합니다.
CustomerSDO 프로젝트 선택 후 마우슨 오른쪽 버튼 클릭. Project Properties... 클릭합니다.
Java EE Application에서
Java EE Web Application Name: CustomerSDO-webapp, Java EE Web Context Root: customer-app
Deployment에서 Deployment Profile을 추가합니다.
Archive Type을 Business Components Service Interface로 선택하고 Name은 customerSDOProfiles로 입력합니다.
추가된 customerSDOProfile을 펼치고, MiddelTier (EJB JAR File) 선택 후 Edit 버튼을 클릭합니다.
EAR File을 customer-app.ear 로 변경하고, Enterprise Application Name을 CustomerSDO로 변경합니다.
OK 버튼을 클릭합니다.
OK 버튼을 클릭합니다.
Deploy 합니다.
http://localhost:8001/customer-app/CustomerSDOService로 접속합니다.
아래와 같은 화면이 나오는데, 작업에서 getCustomersView1 선택 후 customerId에 1111을 입력하고 호출 버튼을 눌러봅시다.
결과가 나옵니다. 형식이 지정된 XML을 클릭하면 좀 더 이쁘게 볼 수 있습니다.
이 웹서비스를 POProcessing에서 사용해봅시다.
Using the SDO in POProcessing Composite
POProcessing Composite 편집 화면에서 Web Service를 추가합니다.
전에 추가한 웹서비스의 WSDL URL을 알기 위해서는 서비스 설명을 참조하십시오.를 클릭하거나 뒤에 ?wsdl 을 붙이면 됩니다.
위 URL을 복사합니다.
WSDL URL에 붙여넣기 합니다. 붙여넣기 후 포커스를 다른 곳으로 이동시키면 자동으로 정보를 읽어들입니다.
approveLargeOrder(BPEL Process)를 수정합니다.
Structure 팔레트에서 Variable를 추가합니다.
Name: CustomerInfoEV. Element 선택 후 Browse 버튼을 클릭합니다.
아래와 같이 CustomerSDOService.wsdl에 있는 스키마를 선택합니다.
Entity Variable 채크 후 Partner Link 오른쪽의 Browse 버튼을 클릭합니다.
CustomerSDOService를 선택합니다.
OK 버튼을 클릭합니다.
receiveInput 액티브 아래에 Bind Entity 액티브를 추가합니다.
이름을 BindCustomerId로 변경 후 편집합니다.(더블 클릭)
Entity Variable 오른쪽의 Browse 버튼을 클릭합니다.
CustomerInfoEV를 선택합니다.
Unique Key를 추가합니다.
KeyLocal Part 오른쪽 Browse 버튼을 클릭합니다.
CustomerInfoEV - customersViewSDO - CustomerId를 선택합니다.
Key Value 오른쪽에 Express Builder 버튼을 클릭합니다.
inputVariable - payload - Order - customerId를 선택합니다.
OK 버튼을 클릭합니다.
OK 버튼을 클릭합니다.
Assign 액티브를 BindCustomerId 아래에 추가합니다.
Name: AssignCustomerName. 아래와 같이 Copy Operation을 추가합니다.
Human Task 가 속해있는 Switch 액티브 바로 아래에 Assign 액티브를 추가합니다.
Name: AssignOrderInfo. 아래와 같이 2개의 Copy Operation을 추가합니다.
POProcessing composite 배치 후, 1000~5000 가격의 데이터를 테스트해봅시다.
테스트 후 흐름 추적에서 callbackClient 부분을 보면 고객의 이름이 나온 것을 확인할수 있습니다.
실제 db에서 customers 테이블을 select 해보면 주문정보가 갱신되어있습니다.
Name: CustomerInfoEV. Element 선택 후 Browse 버튼을 클릭합니다.
아래와 같이 CustomerSDOService.wsdl에 있는 스키마를 선택합니다.
Entity Variable 채크 후 Partner Link 오른쪽의 Browse 버튼을 클릭합니다.
CustomerSDOService를 선택합니다.
OK 버튼을 클릭합니다.
receiveInput 액티브 아래에 Bind Entity 액티브를 추가합니다.
이름을 BindCustomerId로 변경 후 편집합니다.(더블 클릭)
Entity Variable 오른쪽의 Browse 버튼을 클릭합니다.
CustomerInfoEV를 선택합니다.
Unique Key를 추가합니다.
KeyLocal Part 오른쪽 Browse 버튼을 클릭합니다.
CustomerInfoEV - customersViewSDO - CustomerId를 선택합니다.
Key Value 오른쪽에 Express Builder 버튼을 클릭합니다.
inputVariable - payload - Order - customerId를 선택합니다.
OK 버튼을 클릭합니다.
OK 버튼을 클릭합니다.
Assign 액티브를 BindCustomerId 아래에 추가합니다.
Name: AssignCustomerName. 아래와 같이 Copy Operation을 추가합니다.
Human Task 가 속해있는 Switch 액티브 바로 아래에 Assign 액티브를 추가합니다.
Name: AssignOrderInfo. 아래와 같이 2개의 Copy Operation을 추가합니다.
POProcessing composite 배치 후, 1000~5000 가격의 데이터를 테스트해봅시다.
테스트 후 흐름 추적에서 callbackClient 부분을 보면 고객의 이름이 나온 것을 확인할수 있습니다.
실제 db에서 customers 테이블을 select 해보면 주문정보가 갱신되어있습니다.
반응형
'Oracle Solution > PO Processing' 카테고리의 다른 글
Chapter H - Adding BAM Activity Sensors (0) | 2010.08.16 |
---|---|
Chapter F - Handling Business Events using EDN (0) | 2010.08.12 |
Chapter E - Enforcing Policies (0) | 2010.08.12 |
Chapter D - Fault Handling (0) | 2010.08.12 |
Chapter C - Unit Testing (0) | 2010.03.02 |
Chapter B - Managing the lifecycle of a SOA composite application (0) | 2010.03.02 |
Chapter 9 - Adding JMS to Fulfillment (0) | 2010.03.02 |
Chapter 8 - Adding Fulfillment (0) | 2010.03.02 |
Chapter 7 - Adding Business Rules (0) | 2010.02.10 |
Chapter 6 - Modifying the Mediator (0) | 2010.02.10 |