pureQuery 클라이언트 최적화를 사용하는 단계는 독립형 애플리케이션이나 애플리케이션 서버(AS) 기반 애플리케이션에 공통됩니다. Optim™ Development Studio는 pureQuery 클라이언트 최적화 프로세스에 도움이 되지만 필수적이지는 않습니다. pureQuery Runtime 특성을 설정하고 pureQuery 명령행 유틸리티를 사용하여 필요한 단계를 수행합니다.
애플리케이션의 경우 클라이언트 최적화 프로세스를 여러 번 수행할 수 있으며 프로세스의 각 단계를 여러 번 수행할 수 있습니다. 예를 들어, 캡처 단계를 여러 번 수행하여 애플리케이션이 실행하는 SQL문을 증분식으로 캡처할 수 있습니다. 캡처한 SQL 데이터를 병합하고 SQL 데이터 캡처를 완료한 후 구성 및 바인드를 수행할 수 있습니다. SQL 데이터를 캡처할 때마다 구성, 바인드 및 실행 단계를 수행할 수 있습니다.
SQL문이 애플리케이션에서 실행되는 동안 SQL문에 관한 정보가 캡처되는 모드에서 JDBC 애플리케이션을 실행합니다. 수집된 정보에는 애플리케이션의 SQL문을 바인드하는 데 필요한 정보가 포함됩니다. SQL 문자열, 매개변수 메타데이터, 결과 세트 메타데이터 및 스택 추적과 같은 정보는 pureQueryXML 파일에 캡처됩니다. 테스트나 개발 단계에서 SQL 데이터를 캡처할 수 있습니다.
캡처된 SQL 데이터가 포함된 여러 파일을 작성할 수 있습니다. 클라이언트 최적화 프로세스 중 캡처 단계를 여러 번 수행하거나 클라이언트 최적화 프로세스를 여러 번 수행할 수 있습니다. pureQuery GeneratePureQueryXml 유틸리티로 pureQueryXML 파일 SQL 데이터를 작성할 수도 있습니다. 그리고 나서 다음 단계에서 pureQuery Configure 유틸리티를 사용하기 전에 pureQuery Merge 유틸리티로 캡처한 SQL 데이터가 포함된 여러 파일을 병합해야 합니다.
바인드 단계에 사용할 수 있도록 캡처한 SQL문을 준비합니다. 이 단계는 pureQuery 클라이언트 최적화로 SQL문을 정적으로 실행 중인 경우에만 필요합니다. 이 단계에서 SQL문을 명령문 세트로 구성하고 그룹화합니다. 명령문 세트는 바인드 단계에서 DB2 패키지를 작성하는 데 사용됩니다. 명령문 세트에 패키지 정보를 지정하기도 합니다. 패키지 정보는 패키지 이름, 콜렉션 ID 및 일관성 토큰과 같은 정보를 포함합니다. pureQuery Configure 유틸리티를 사용하여 바인드 단계에 사용할 pureQueryXML 파일을 준비합니다.
SQL문이 실행되는 목표 데이터베이스 서버로 바인드를 수행합니다. pureQuery StaticBinder 유틸리티는 IBM® Data Server Driver for JDBC and SQLJ의 서비스를 사용하여 리모트 바인드를 수행합니다. StaticBinder 유틸리티는 SQL문이 포함된 패키지를 데이터베이스에 작성하고 패키지를 데이터베이스로 바인드해서 SQL문을 전개합니다. StaticBinder 유틸리티는 DRDA® 프로토콜을 기반으로 하며, DSN BIND 명령과 함께 로컬 바인드에 사용할 수 있는 z/OS®용 DB2의 DBRM 파일을 생성할 수도 있습니다. 바인드는 전개 활동입니다. 이 단계는 pureQuery 클라이언트 최적화로 SQL문을 정적으로 실행 중인 경우에만 필요합니다.
이 단계는 pureQuery 클라이언트 최적화로 SQL문을 정적으로 실행 중인 경우에만 필요합니다. 애플리케이션에서 발행된 SQL문이 정적으로 실행되는 모드로 JDBC 애플리케이션을 실행합니다. pureQuery Runtime은 SQL 문자열, 커서 및 준비 속성(예를 들어, 결과 세트 유형, 동시성, 유지 가능성)과 같은 SQL 정보와 SQL문을 비교해서 SQL문을 정적으로 실행할 시기를 판별합니다. 이 단계는 pureQuery 클라이언트 최적화로 SQL문을 정적으로 실행 중인 경우에만 필요합니다.
개발 및 테스트 프로세스 중 개발자는 애플리케이션에 대한 많은 변경사항을 생성하고 테스트 및 프로덕션에 증분식 릴리스를 제공할 수 있습니다. pureQuery 클라이언트 최적화는 모든 모듈이 통합된 양식으로 테스트될 때 마지막 시스템 테스트 단계에서 또는 증분식으로 수행할 수 있습니다. 개발자는 동적으로 실행되며 정적 SQL 실행으로의 전이에 따른 영향을 받지 않는 SQL문을 계속해서 개발할 수 있습니다.