본 시리즈의 최종 기사인 이번 기사에서는 기술 개발자가 최초 규칙 아티팩트를 배치하고 일반 비즈니스 사용자가 규칙 개발 및 테스트를 계속 수행할 수 있도록 하기 위한 프로세스를 상세히 설명한다.
그림 1은 이 기사에서 다루는 전체 의사결정 서비스 개발 프로세스 부분을 나타낸 것이다.
그림 1. 이 기사에서 다루는 프로세스
(그림 1의 확대 버전 보기)
그림 2는 이 기사에서 다루는 규칙 개발 태스크 부분을 확대한 모습이다.
그림 2. 이 기사에서 다루는 프로세스를 확대한 모습
(그림 2의 확대 버전 보기)
두 번째 기사에서 설명이 끝났던 부분으로 다시 돌아가 보자.
외부에 분산되어 있는 클라이언트에서 의사결정 서비스를 호출할 수 있도록 하기 위해 Rule Execution Server에 규칙 세트가 배치된다. RuleApp은 하나 이상의 규칙 세트가 있는 배치 가능한 관리 유닛이다. 물리적 관점에서 볼 때, 규칙 세트와 RuleApp은 모두 규칙 아티팩트를 포함한 JAR 파일이다. 프로세스의 이 단계에서는 규칙 개발자가 RuleApp 프로젝트를 작성하여 RuleApp을 생성하고 이를 개발 환경에 배치한다. WebSphere ILOG JRules에는 Java™ SE 또는 Java EE 플랫폼에 규칙을 배치하기 위한 도구가 포함된다. 이 사례 연구를 위해, 우리는 WebSphere ILOG JRules와 함께 배포되는 WebSphere Application Server Community Edition에 배치한다. 그림 3에 나타낸 것처럼, 배치 프로세스는 다음으로 구성된다.
- RuleApp 프로젝트 작성
- Rule Execution Server에 RuleApp 배치
그림 3. 규칙 배치 태스크
New - Other - RuleApp Project를 선택하면 호출되는 마법사를 사용하여 "ccc-ruleapp"이라는 RuleApp 프로젝트를 작성한다. 마법사에서 "ccc-rules"는 RuleApp에 포함되는 프로젝트로 선택된다. 이렇게 하면 그림 4에 나타낸 것처럼 RuleApp 프로젝트가 작성된다.
그림 4. RuleApp 프로젝트
archive.xml을 두 번 클릭하면 RuleApp의 특성이 열린다. Ruleset Archives 탭에서 규칙 세트의 런타임 작동을 제어하기 위해 ruleset 특성을 설정할 수 있다. (뒤에 설명하는 바와 같이) 규칙 세트의 모니터링을 사용하기 위해 다음 ruleset 특성이 추가된다.
ruleset.bom.enabled = true
monitoring.enabled = true
ruleset.debug.enabled = true
ruleset.trace.enabled = true
그림 5에는 이런 특성이 지정된 후 ccc-ruleapp의 ruleset archive 특성이 표시되어 있다.
그림 5. Ruleset archive 특성
(그림 5의 확대 버전 보기)
RuleApp 프로젝트에서 archive.xml을 두 번 클릭하여 호출되는 RuleApp 편집기를 사용하여 Rule Studio에서 RuleApp을 손쉽게 배치할 수 있다. RuleApp 편집기에서, 원격 또는 로컬일 수 있는 실행 중인 애플리케이션 서버에 RuleApp을 직접 배치하려면 deploy를 클릭한다. 물론, 이 애플리케이션 서버에는 Rule Execution Server가 설치 및 구성되어 있고, 인증 신임 정보를 알고 있어야 한다. 이 사례 연구를 위해, 우리는 WebSphere ILOG JRules와 함께 번들로 제공되고 Rule Execution Server가 이미 설치되어 있는 WebSphere Application Server Community Edition을 사용하고, Rule Execution Server에서의 인증을 위한 기본 신임 정보를 사용한다.
그림 6에서는 RuleApp을 Rule Execution Server에 배치하는 데 사용되는 단계를 순차적으로 보여준다. RuleApp을 배치하려면 다음 단계에 따른다.
- ccc-ruleapp 개요의 Deployment 섹션에서 Deploy 하이퍼링크를 선택한다.
- 이때 열리는 창에서 Replace RuleApp version을 배치 유형으로 선택하고 Next를 클릭한다.
- 다음 창에서 Create a temporary Rule Execution Server configuration 단일 선택 단추를 선택하고, 기본 신임 정보(로그인 및 비밀번호에 "resAdmin" 입력)를 입력 및 승인하고 Finish를 클릭한다.
그림 6. RuleApp 배치
(그림 6의 확대 이미지 보기.)
Rule Execution Server를 사용한 RuleApp 호출
이제는 http.//<res_server>.8080/res에서 액세스하는 Rule Execution Server 콘솔을 사용하여 RuleApp을 관리하고 모니터링할 수 있다. 콘솔에서 서버에 배치된 RuleApp을 탐색할 수 있다. 이번 사례 연구에서는 XSD를 기반으로 하는 동적 XOM이 있기 때문에, Rule Execution Server는 외부 클라이언트를 통한 호출을 위해 이를 자동적으로 웹 서비스로 노출한다. 그림 7에 표시된 것처럼, Ruleset View에서 Get HTDS WSDL for this ruleset version을 클릭하여 Rule Execution Server 콘솔을 통해 웹 서비스에 대한 WSDL 인터페이스를 구할 수 있다.
그림 7. Rule Execution Server 콘솔
현재, WSDL은 외부 클라이언트에 배포되고 이런 외부 클라이언트에서 의사결정 서비스를 호출할 수 있는 준비가 되었다. 빠르고 간단한 테스트를 위해, SOAP UI와 같은 도구를 사용하여 이 의사결정 서비스로 XML 요청을 발행할 수 있다. 목록 1에 SOAP UI에서 사용할 수 있는 SOAP 요청 샘플을 제공한다.
목록 1. SOAP 요청 샘플
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"
xmlns:dec="http://www.ilog.com/rules/DecisionService"
xmlns:par="http://www.ilog.com/rules/param"
xmlns:urn="urn:oasis:names:tc:emergency:cap:1.1"
xmlns="urn:oasis:names:tc:emergency:cap:1.1">
<soapenv:Header/>
<soapenv:Body>
<dec:DecisionServiceRequest>
<!--Optional:-->
<dec:DecisionID>5</dec:DecisionID>
<par:request>
<alert>
<identifier>MSG1</identifier>
<sender>CityCommandCenter-EPS</sender>
<sent>2010-10-05T02:30:00+00:00</sent>
<status>System</status>
<msgType>Alert</msgType>
<scope>Private</scope>
<addresses>CityCommandCenter-BRE</addresses>
<info>
<language>en-US</language>
<category>Met</category>
<event>HeavyRainfall</event>
<responseType>Assess</responseType>
<urgency>Immediate</urgency>
<severity>Severe</severity>
<certainty>Observed</certainty>
<expires>2010-11-15T16:00:00+00:00</expires>
<senderName>NATIONAL WEATHER SERVICE ROTTERDAM NL</senderName>
<headline>SEVERE THUNDERSTORM WARNING</headline>
<description>AT 254 PM PDT...NATIONAL WEATHER SERVICE DOPPLER RADAR
INDICATED A SEVERE THUNDERSTORM OVER ROTTERDAM CITY..
OR ABOUT 18 MILES SOUTHEAST OF ROTTERDAM...MOVING SOUTHWEST AT 5 MPH.
HAIL...INTENSE RAIN AND STRONG DAMAGING WINDS ARE LIKELY WITH
THIS STORM.</description>
<instruction>TAKE COVER IN A SUBSTANTIAL SHELTER UNTIL THE
STORM PASSES.</instruction>
<contact>CITY/WEATHERFCT</contact>
<parameter>
<valueName>RainfallLevel1H</valueName>
<value>10</value>
</parameter>
<parameter>
<valueName>RainfallLevel6H</valueName>
<value>60</value>
</parameter>
<parameter>
<valueName>RainfallLevel12H</valueName>
<value>120</value>
</parameter>
<resource>
<resourceDesc>888001</resourceDesc>
</resource>
<area>
<areaDesc>EXTREME NORTH CENTRAL ROTTERDAM CITY IN NL</areaDesc>
<polygon>51.966667,4.333333 51.833333,4.333333 51.833333,4.583333
51.966667,4.583333 51.966667,4.333333</polygon>
</area>
<area>
<areaDesc>999001</areaDesc>
<polygon>51.966667,4.333333 51.966667,4.458333 51.900000,4.458333
51.900000,4.333333 51.966667,4.333333</polygon>
</area>
<area>
<areaDesc>999002</areaDesc>
<polygon>51.966667,4.333333 51.966667,4.458333 51.900000,4.458333
51.900000,4.333333 51.966667,4.333333</polygon>
</area>
</info>
</alert>
</par:request>
</dec:DecisionServiceRequest>
</soapenv:Body>
</soapenv:Envelope>
|
관리자는 콘솔을 사용하여 Rule Execution Server를 관리할 수 있다. 그 밖에도, Rule Execution Server 콘솔에서 Decision Warehouse 탭을 사용하여 모니터링이 사용되는 규칙 세트에 대한 규칙 실행을 감사할 수 있다("RuleApp 프로젝트 작성" 참조). 날짜, 입/출력(I/O) 컨텐츠 또는 실행된 규칙을 바탕으로 규칙 실행을 검색할 수 있다. 전체 요청, 응답 및 호출된 모든 규칙을 포함한 규칙 실행의 세부사항을 볼 수 있다. 이것은 예컨대 지난 주에 Sewer Department로 알림 메시지가 4차례 전송된 이유를 판단하기 위해 어떤 특정한 요청에 대해 과거에 어떤 의사결정이 이루어진 이유를 되돌아보는 데 매우 유용하다.
그림 8은 실행 세부사항을 보는 데 필요한 단계를 나타낸 것이다. Decision Warehouse 탭에서 필터링 기준을 지정하고 Search를 클릭한다. 리턴되는 검색 결과에서 관심이 있는 결과를 선택하고 View Decision details를 클릭한다. 이 조치를 수행하면 선택한 항목에 대한 모든 규칙 실행 세부사항이 제시되는 창이 표시된다.
그림 8. Decision Warehouse 탭
(그림 8의 확대 이미지 보기)
BRMS의 주요 이점 중 하나는 일반 비즈니스 사용자가 기술팀과는 무관하게 규칙을 유지보수할 수 있다는 점이다. 비즈니스 사용자는 이를 위해 Rule Team Server를 사용할 수 있다. 비즈니스 사용자가 규칙을 쓰고 테스트할 수 있게 하기 위해, 규칙 개발자는 Rule Team Server로 규칙 프로젝트를 발행하고 비즈니스 사용자가 테스트 시나리오를 빌드할 수 있도록 Microsoft® Excel® 시나리오 템플리트를 작성한다.
규칙 프로젝트를 마우스 오른쪽 단추로 클릭하고 Decision Validation Services - Generate Excel Scenario File Template를 선택하면 마법사를 사용하여 DVS(Decision Validation Services) 테스트 케이스를 작성하기 위한 Excel 시나리오 템플리트를 손쉽게 작성할 수 있다. 그림 9는 이 시퀀스의 각 단계에 사용되는 옵션을 보여준다.
- Generation Settings에서 Default Excel (2003) Tabbed Format을 선택하고 Excel Scenario File Name에서 선택한 파일 이름을 지정하고 Next를 클릭한다.
- 예상되는 결과 워크시트에 포함할 열을 선택하는 다음 화면에서 Select All을 클릭하고 Finish를 클릭한다.
그림 9. Excel 시나리오 템플리트 생성
(그림 9의 확대 이미지 보기.)
이 프로세스에서는 여러 개의 워크시트를 포함한 Excel 템플리트가 생성되며, 각각의 워크시트는 info 및
area와 같이 모델에 사용되는 오브젝트에 해당한다. 이 템플리트를 사용하여, 예상 결과 외에도 시나리오를 정의할 수 있다. 다운로드
가능한 작업 영역에서 샘플 시나리오 세트를 찾을 수 있다(다운로드 참조). 그림 10에는 두 가지 시나리오를
정의하는 스프레드시트 샘플의 Scenarios 탭이 표시되어 있다.
그림 10. 테스트 시나리오
Rule Studio나 Rule Team Server에서 이런 시나리오를 실행할 수 있다. Rule Studio에서 실행하려면 그림 11에 나타낸 것처럼 Run Configuration under DVS Excel File을 작성한다. 다음 순서대로 단계를 수행하여 실행 구성을 작성한다.
- Rule Studio의 주 메뉴에서 Run – Run Configurations를 선택한다.
- 왼쪽 네비게이터 패널에서 DVS Excel File을 선택하고 맨 위에 있는 Launch New Configuration 아이콘을 클릭한다.
- Name, Excel File 및 HTML Report에 대해 선택할 이름을 지정한다. Rule Project에 대해 ccc-rules를 선택한다. Apply를 클릭하고 Run을 클릭한다.
그림 11. Rule Studio에서의 DVS 실행 구성
이 구성을 실행한 후, 테스트 실행에 관한 정보가 있는 실행 구성에서 지정된 위치에 그림 12에 표시된 보고서가 작성된다.
그림 12. DVS 테스트 보고서
비즈니스 사용자는 Rule Team Server를 사용하여 규칙을 유지보수한다. 개발자는 Rule Team Server에 연결된 데이터베이스인 Rule Team Server 저장소에 Rule Studio의 규칙 프로젝트를 발행하여 이 기능을 사용한다.
우선, 규칙 프로젝트를 마우스 오른쪽 단추로 클릭하고 Rule Team Server - Connect를 선택하여 Rule Studio에서 Rule Team Server에 연결한다. 그러면 Rule Team Server 위치와 인증 신임 정보를 입력하는 창이 열린다. 그림 13에 이 프로세스가 표시되어 있으며, 여기서 기본 사용자 이름과 비밀번호("resAdmin")를 사용하고 http://localhost:8080/teamserver를 URL로 지정한 다음, Connect를 클릭한다.
그림 13. Rule Studio에서 Rule Team Server에 연결
연결이 설정된 후, 같은 창에서 Rule Team Server에 규칙 프로젝트를 발행하기 위한 옵션을 선택할 수 있다. 그림 14에 나타낸 것처럼, 창의 프로젝트 구성 섹션에서 Create a new project on Rule Team Server 옵션을 선택하고 Finish를 클릭한다.
그림 14. Rule Team Server에 규칙 프로젝트 발행
어느 시점에서든 규칙 프로젝트의 동기화를 시작할 수 있다. 그러면 다음에 동기화할 때 Synchronize with existing Rule Team Server project 옵션을 사용하게 된다.
본 사례 연구의 경우, ccc-bom과 ccc-rules라는 두 가지 규칙 프로젝트가 있다. 실제로는 비즈니스 사용자가 ccc-rules만 수정하더라도, 이 두 가지 규칙 프로젝트는 모두 위에서 설명한 방식으로 Rule Team Server에서 작성되어야 한다.
Rule Team Server는 비즈니스 규칙을 작성, 관리, 유효성 검증 및 배치하기 위한 협업 웹 환경을 가진 확장 가능한 규칙 관리 서버이자 저장소이다. Rule Team Server는 비즈니스 규칙과 그 메타데이터에 대한 중앙 스토리지 시스템을 제공하고, 비즈니스 사용자가 비즈니스 규칙 쓰기, 편집, 구성 및 검색을 위해 협업할 수 있도록 지정된 작업 영역이다. QA 책임이 있는 비즈니스 사용자는 테스트 시나리오를 작성하여 Rule Team Server의 DVS에서 이를 실행할 수 있다. 관리자는 Rule Team Server를 사용하여 저장소에서 규칙을 추출하고 이를 다양한 환경에 배치한다.
정책 관리자는 Rule Team Server를 사용하여 규칙 아티팩트에 대한 협업을 수행한다. Rule Team Server는 히스토리 및 버전 관리 서비스를 제공하여 규칙 아티팩트의 감사와 롤백을 지원한다.
Rule Team Server에서 Explorer 탭을 선택하여 규칙을 찾아보고 편집한다. 그림 15에서 보듯이, 왼쪽 탐색 패널에서는 규칙 패키지가 계층 구조 방식으로 배열되고 오른쪽 패널에서는 선택한 규칙 패키지의 규칙이 표시된다.
그림 15. Rule Team Server에서 규칙 찾아보기
(그림 15의 확대 이미지 보기)
이 도구에서 바로 규칙을 편집할 수 있다. 예를 들어, 지난 12시간 동안의 강우량을 바탕으로 호우를 평가하는 규칙이 150mm에서 160mm로 변경되면 비즈니스 사용자가 Rule Team Server에서 Heavy Rainfall over 12 hours 규칙에 이 변경사항을 직접 적용할 수 있다.
그림 16은 Rule Team Server에서 규칙을 수정하는 모습을 나타낸 것이다. 수정 단계는 다음과 같다.
- 규칙을 선택하고 Edit를 클릭한다. 또는 규칙 옆에 있는 편집 아이콘을 클릭한다.
- Rule Editing 창에서 150을 클릭하고 이를 "160"으로 변경한다.
- Save를 클릭한다.
그림 16. Rule Team Server에서 규칙 편집
(그림 16의 확대 이미지 보기.)
그 밖에도, 비즈니스 사용자는 처음부터 규칙을 새로 작성할 수도 있고, 더 쉬운 방법으로 미리 정의된 규칙 템플리트를 사용하여 작성할 수도 있다. 예를 들어, 그림 17은 Assessment Template라는 미리 정의된 규칙 템플리트에서 새로운 평가 규칙을 작성하는 모습을 나타낸 것이다. 규칙의 다양한 파트가 규칙 템플리트에 이미 작성 및 고정되었다. 규칙 정의를 완료하려면 비즈니스 사용자가 플레이스홀더만 채우면 된다.
그림 17. 템플리트에서 새 규칙 작성
Decision Validation Service는 개발자, QA 팀 및 비즈니스 사용자가 규칙 세트의 정확성과 효과를 유효성 검증하기 위한 테스트 시나리오를 작성할 때 사용된다. 비즈니스 사용자는 규칙 개발자가 제공하는 Excel 템플리트를 사용하여 Excel 스프레드시트의 행으로 단위 테스트 케이스를 작성한다. Decision Validation Service는 Rule Execution Server와 SSP(Scenario Service Provider)가 있는 서버에 연결하여 Rule Team Server에서 작동한다.
시작하려면 Rule Team Server에서 테스트 스위트를 새로 작성한다. 이 테스트 스위트는 본질적으로 테스트 시나리오를 포함한 Excel 스프레드시트를 가리킨다. 이 테스트 스위트를 실행하면 규칙이 추출되고 지정된 Rule Execution Server(일반적으로 QA 환경에 있음)에 추출된 규칙이 임시로 배치된다. 그러면 새롭게 배치된 이 규칙 세트에 대해 스프레드시트에 정의된 각각의 시나리오가 개별 테스트 케이스로 실행되고, 그 결과가 보고서에 표시된다. 보고서 샘플은 그림 18에 표시되어 있다.
그림 18. DVS 보고서
(그림 18의 확대 이미지 보기)
규칙이 유효성 검증되어 배치 준비가 완료되면, Rule Team Server에서 RuleApp을 바로 배치할 수 있다. 물론, 이런 접근 방식에서는 이를 위한 적절한 신임 정보를 가지고 있는 것으로 가정한다.
배치는 다음 두 가지 기본 시나리오에 따라 이루어진다.
- 규칙을 즉시 사용할 수 있도록 하려는 경우에는 즉시 배치 시나리오에 따른다.
- 제어되는 프로덕션 환경에 배치하려는 경우에는 단계별 배치 시나리오에 따른다.
Rule Team Server에서 Configure 탭을 선택한 후, 관리자는 RuleApp을 작성하거나 편집할 수 있다. 그림 19는 RuleApp의 이름이 cccruleapp로 설정되고 cccrules가 포함된 규칙 세트로 정의되는 RuleApp을 나타낸 것이다.
그림 19. Rule Team Server에서 RuleApp 작성
Rule Execution Server를 실행 중인 어떤 호스트에든 RuleApp을 배치하거나, 단계별 배치의 경우 RuleApp JAR 파일로 RuleApp을 단순히 내보낼 수 있다. 그림 20은 로컬 Rule Execution Server에 대한 즉시 배치를 나타낸 것이다.
그림 20. Rule Team Server에서의 배치
RuleApp이 배치된 후에는 배치된 환경에서 외부 클라이언트가 복잡한 의사결정을 하기 위한 의사결정 서비스로 RuleApp을 사용할 수 있다. 즉시 배치에서는 외부 클라이언트에서 이후에 실행하는 호출에서 처리를 위해 새로운 규칙 세트를 사용한다.
WebSphere ILOG JRules는 SOA 환경에서 실행 가능한 비즈니스 규칙 관리 시스템을 빌드하는 데 사용되는 다양한 기능 세트를 제공해 주는 강력한 도구임을 확인했다. 우리는 사례 연구를 통해 흔히 사용되는 의사결정 서비스 개발 프로세스를 직접 실행해보면서 다른 역할을 가진 사람들이 함께 협력하는 방법과 WebSphere ILOG JRule이 모듈, 마법사 및 액셀러레이터를 통해 수많은 태스크를 용이하게 수행하는 방법을 음미해 보았다.
| 이름 | 크기 | 다운로드 방식 |
|---|---|---|
| cccrules_pif_051811.zip | HTTP |
교육
- IBM WebSphere ILOG JRules 제품 페이지: 제품 홈 페이지에서
기능 및 장점, 시스템 요구사항, 지원에 대해 더 자세히
알아보자.
- IBM WebSphere ILOG JRules Information Center: 이 제품 라인
및 기능에 대한 자세한 정보를 살펴볼 수 있다.
- OASIS
Common Alerting Protocol 1.1: CAP(Common Alerting Protocol)은
모든 종류의 네트워크에 걸쳐 모든 위험 응급 경보 및 공개적인 경고를 교환하기 위한
간단하지만 일반적인 형식이다. 2007년 10월 업데이트도 참조하자.
- Policies and Rules – Improving business agility: Part 1: Support for
business agility (Hondo, Boyer, Ritchie, developerWorks, 2010년
3월): 오늘날의 비즈니스 솔루션에서 민첩성을 구성하고 구현하기
어렵게 만드는 요인 중 하나는 제품마다 용어, 정책, 규칙을 다르게
사용한다는 것이다. 특정 비즈니스 전략 및 전술을 구현하기 위한
정책 및 규칙 기술의 개념과 관계를 알아보자.
- Creating intermediate facts in WebSphere ILOG JRules using synthetic
objects(Raj Rao 저, developerWorks, 2010년 11월): 합성 오브젝트를 구현하기
위한 가상 클래스에 대한 자세한 정보는 이 WebSphere Technical Journal 기사를 참조하자.
-
IBM developerWorks Industries: 특정 산업에 적합한 개발자용 최신 기술 자료를 확인하자.
-
developerWorks 기술 행사 및 웹 캐스트: 이러한 세션에 참가하여 최신 기술에 대한 정보를 얻을 수 있다.
-
Twitter의 developerWorks 페이지: 오늘 가입하여 developerWorks 트윗을 팔로우하자.
-
developerWorks podcasts: 소프트웨어 개발자의 흥미로운 인터뷰와 토론을 확인할 수 있다.
제품 및 기술
- WebSphere ILOG JRules V7.1: 시험판을 다운로드하자.
-
IBM 제품 시험판을
다운로드하거나 IBM SOA Sandbox의
온라인 시험판을 살펴보고 DB2®, Lotus®, Rational®, Tivoli® 및
WebSphere®의 애플리케이션 개발 도구 및 미들웨어 제품을 사용해 볼 수 있다.
토론
-
developerWorks 블로그: 이러한 블로그를 읽어보고 참여할 수 있다.
Rajesh(Raj) Rao는 전문가 시스템 및 비즈니스 규칙 관리 시스템 분야에서 20년 이상 종사해 왔으며, 이 기간 동안 제조, 운송, 금융 같은 여러 영역에서 비즈니스 규칙 기술을 적용하여 진단, 스케줄링, 규정 및 구성 애플리케이션을 빌드해 왔다. IBM에서는 2009년부터 근무했다. 인공 지능 분야의 경력이 있으며 자연어 처리와 시맨틱 웹에도 관심을 가지고 있다.
Sandeep Desai는 IBM WebSphere Business Partner Technical Professional 팀의 Senior Certified Enterprise IT Architect이다. 신생 기업에서 대기업에 이르기까지 전략적 비즈니스파트너와 함께 일한다. Sandeep Desai는 이들 기업의 솔루션에서 SOA를 사용하는 것과 관련된 멘토링을 제공한다. IBM 소프트웨어 플랫폼에 대한 정보를 제공하고 교육하여 파트너가 사용할 수 있도록 한다. Sandeep은 Open Group Distinguished Certified IT Architect, IBM Senior Certified Enterprise IT Architect 및 IBM Certified SOA Solution Designer이다.