1 / 27

IBM BPM 조회 SQL 실행 ( 웹서비스 생성 및 테스트 )

IBM BPM 조회 SQL 실행 ( 웹서비스 생성 및 테스트 ). IBPM Ver. 7.5.1. 황상규 urajilation@gmail.com. 2012.05.14. 첫번째 .. Web Service 생성 및 Operation 추가 두번째 .. Integration Service 생성 (SQL Execute Statement) 세번째 .. SQL Result Set 을 위한 Business Object Data Type 생성 네번째 .. 테스트.

ham
Download Presentation

IBM BPM 조회 SQL 실행 ( 웹서비스 생성 및 테스트 )

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. IBM BPM 조회 SQL 실행(웹서비스 생성 및 테스트) IBPM Ver. 7.5.1 황상규 urajilation@gmail.com 2012.05.14

  2. 첫번째.. Web Service 생성 및 Operation 추가 • 두번째.. Integration Service 생성 • (SQL Execute Statement) 세번째.. SQL Result Set을 위한 Business Object Data Type 생성 네번째.. 테스트 IBM BPM WebService 생성 및 테스트 ※ 실제로 SQL Statement를 실행시키는 Web Service 생성 및 테스트를 하기 위해서는 세번째-> 두번째-> 첫번째-> 네번째의 순서대로 절차를수행하여야 한다.

  3. (1) 프로세스 디자이너에 프로세스 디자인 권한의 사용자로 로그인 한다 • ※ 디폴트 설치시Process Designer 위치 : C:\IBM\ProcessDesigner\v7.5

  4. (2) 프로세스 디자이너의 Implementation의우측 + 기호를 클릭하여 Integration Service를 선택한다 • ※ Process Designer > Implementation > Integration Service >

  5. (3) 생성할 Integration Service 이름을 등록한다예제는 BPM의 나의 할일(To Do) 건수를 가져오는 조회 SQL을 실행할 것이기 때문에 “getToDoCount”라고 하였다. • ※ Process Designer > Implementation > Integration Service >

  6. (4) 생성할 Integration Service 다이어그램을 작성한다 • ※ Process Designer > Implementation > Integration Service > Diagram

  7. (5) 실행 SQL을 작성할 Server Script와 SQL input/output 매핑을 위한 Nested Service 타스크를드래그인한다 • ※ Process Designer > Implementation > Integration Service > Diagram

  8. (6) 각 타스트를 더블클릭 또는 Properties의 Step에서 타스크명을 변경한다.예제에서는 “SQL 셋팅”과 “SQL 실행”으로설정하였다. • ※ Process Designer > Implementation > Integration Service > Diagram

  9. (7) 실행할 SQL를 입력하고, 로칼 변수에 저장한다.ex) varsql = “select status, cnt fromtable”;tw.local.sql = sql • ※ .. Integration Service > Diagram > Properties > Implementation

  10. 1 2 3 (8) Nested Service 타스크“SQL 실행”의 속성(Attached Service)을 설정한다 - Integration Service > SQL Execute Statement • ※ .. Integration Service > Diagram > Properties > Implementation

  11. 1 2 3 5 4 (9) Data Mapping한다. • Input : userId (String) / Output : RSetToDoCnt / Private : sql (String) • InputReturn Type : RSetToDoCnt (※ 다음 페이지에 Business Type 생성 참조) • DataSourceName : Process Server data Source” 중에 JNDI name 중 선택 • ※ .. Integration Service > Diagram > Properties > Data Mapping

  12. 1 2 (9-1) SQL 실행 결과(Result Set)을 저장한 Business Type을 생성한다 - status (String type) - cnt (Integer type) • ※ .. Integration Service > Diagram > Properties > Data Mapping

  13. (9-2) IBPM 관리자 콘솔(https://<hostname>:9043/ibm/console )에 접속한다. - 위와 같은 화면이 보이면, “이 웹 사이트를 계속 탐색합니다” 선택한다 • ※ IBM BPM 관리자 콘솔 접속

  14. (9-3) 관리자 계정(tw_admin)으로 로그인한다. • ※ IBM BPM 관리자 콘솔 접속 > 로그인

  15. 1 2 3 (9-4) 좌측 메뉴에서 Resources > JDBC > Data Sources 선택name이 “Process Server data Source” 중에 JNDI name 하나를 선택한다(ex. “jdbc/ProcessDB”) • ※ IBM BPM 관리자 콘솔 > Resources > JDBC > Process Server data Source

  16. 1 (10) SQL Execute Integration Service를 테스트 한다. 우측 상단의 화살표 아이콘을 실행하면 생성한 Integration Service가 실행된다. 에러가 발생하지 않으면 다음 단계(11)로 진행한다. • ※ .. Integration Service > Diagram > Properties > Data Mapping > 실행 Test

  17. (11) 프로세스 디자이너의 Implement 우측 + 기호를 클릭하여 Web Service를 선택한다 • ※ Process Designer > Implementation > Web Service >

  18. (12) 생성할 웹서비스 이름을 등록한다ex ) “WebService” • ※ Process Designer > Implementation > Web Service >

  19. 1 3 2 (13) Web Service에 Operation을 추가하고, 앞에서 생성한 To Do Count를 가져오는 IntegrationService “getToDoCnt”를 선택한다 • ※ Process Designer > Implementation > Web Service >

  20. 1 (14) Operation을 이름을 “getToDoCnt”로 변경해준다 • ※ Process Designer > Implementation > Web Service >

  21. 1 (15) Web Service 테스트한다.Behavior의 WSDL URL을 클릭한다.- ex) http://imbpwad:9080/teamworks/webservices/HWANG/WebService.tws?WSDL • ※ Process Designer > Implementation > Web Service >

  22. (16) Web Browser에 나타난 SOAP xml을 드래그 복사한 후 웹서버에 wsdl에 저장한다 • ※ Process Designer > Implementation > Web Service >

  23. 3 2 1 (17) wsdl파일을 추가한다.- wsdl추가 생성 경로 : 마우스 오른쪽 클릭 > New > other.. > Web Services > WS이- 생성한 wsdl파일에 웹브라우저에 보이는 soap XML 파일을 복사해 추가한다. (wsdl파일 위에 “<?xml version="1.0" encoding="UTF-8"?>” 포함) • ※ wsdl신규 생성

  24. 1 2 (18) Web Service 테스트- WSDL 파일 마우스 오른쪽 클릭 > Web Services > Test with Web Service Explorer- WSDL URL 입력 > Go- ex) WSDL URL: http://imbpwad:9080/teamworks/webservices/HWANG/WebService.tws?WSDL • ※ Web Service 테스트

  25. 1 2 (19) Web Seervice Operation를 선택하고 input 파라메터를입력한후“Go” 버튼 클릭 • ※ Web Service 테스트

  26. 1 2 (20) “source”를 클릭하면 위와 같이 Request와 Response XML Source가 보여지고,Response에 오류가 없다면 정상적으로 실행된 것이다!! • ※ Web Service 테스트

  27. WITH TODO_CNT(CNT, STATUS) as ( SELECT COUNT(*) CNT, 'ACTIVE' AS STATUS FROM LSW_BPD_INSTANCE PROC, LSW_TASK TASK, LSW_USR_XREF USR WHERE PROC.BPD_INSTANCE_ID = TASK.BPD_INSTANCE_ID AND TASK.USER_ID = USR.USER_ID AND (TASK.STATUS = 11 OR TASK.STATUS = 12) AND USR.USER_NAME = 'hwangsanggyu' UNION ALL SELECT COUNT(*) CNT, 'ACTIVE' AS STATUS FROM LSW_BPD_INSTANCE PROC, LSW_TASK TASK, LSW_USR_XREF USR, LSW_USR_GRP_MEM_XREF GRP WHERE PROC.BPD_INSTANCE_ID = TASK.BPD_INSTANCE_ID AND TASK.GROUP_ID = GRP.GROUP_ID AND GRP.USER_ID = USR.USER_ID AND (TASK.STATUS = 11 OR TASK.STATUS = 12) AND USR.USER_NAME = 'hwangsanggyu' UNION ALL SELECT COUNT(*) CNT, 'COMPLETED' AS STATUS FROM LSW_BPD_INSTANCE PROC, LSW_TASK TASK, LSW_USR_XREF USR WHERE PROC.BPD_INSTANCE_ID = TASK.BPD_INSTANCE_ID AND TASK.USER_ID = USR.USER_ID AND (TASK.STATUS != 11 AND TASK.STATUS != 12) AND USR.USER_NAME = 'hwangsanggyu' UNION ALL SELECT COUNT(*) CNT, 'COMPLETED' AS STATUS FROM LSW_BPD_INSTANCE PROC, LSW_TASK TASK, LSW_USR_XREF USR, LSW_USR_GRP_MEM_XREF GRP WHERE PROC.BPD_INSTANCE_ID = TASK.BPD_INSTANCE_ID AND TASK.GROUP_ID = GRP.GROUP_ID AND GRP.USER_ID = USR.USER_ID AND (TASK.STATUS != 11 AND TASK.STATUS != 12) AND USR.USER_NAME = 'hwangsanggyu' ) SELECT STATUS, SUM(CNT) AS TODO_CNT FROM TODO_CNT GROUP BY STATUS 미처기 건수 완료 건수 처리하지 않은 To Do Count를 가져오기 위해서는 완료한 업무 건수SQL 부분은 제외한다. SQL 실행 결과 ※ DB 서버 부항 경감 등을 위해 사용된 테이블에 대해서는 인덱스 설정 등 DB 튜닝을 반드시 실시한다. • ※ IBM BPM Ver 7.5with DB2에서의 To Do Count를 가져오는 SQL

More Related