애플리케이션 프로파일링

프로덕션 런타임 환경에 대한 특별한 작업 단위를 식별하도록 애플리케이션 프로파일링을 사용할 수 있습니다. 런타임은 해당 작업 단위의 정확한 요구사항에 대한 지원을 조정할 수 있습니다.

애플리케이션 프로파일링은 애플리케이션의 트랜잭션 구성 및 각 트랜잭션 과정 중 지속된 상태로 애플리케이션의 상호 작용의 정확한 지식이 필요합니다.

처리완료된 세계 또는 열린 세계 모드로 분석을 실행할 수 있습니다. 처리완료된 세계 분석은 애플리케이션의 가능한 모든 클라이언트가 분석에 포함되며 결과 분석이 완료되고 정확한지 가정합니다. 처리완료된 세계 분석 결과는 웹, JMS 또는 애플리케이션 클라이언트에서 호출될 수 있는 모든 트랜잭션의 세트를 보고합니다. 결과는 런타임 시 실행되지 않은 여러 잠재적 트랜잭션을 제외합니다.

열린 세계 분석은 모든 클라이언트가 분석에 사용 가능하거나 분석이 완전하거나 정확한 결과를 리턴할 수 없다고 가정합니다. 열린 세계 분석은 가능한 트랜잭션의 완전한 세트를 리턴합니다.

분석 결과는 애플리케이션 프로파일링 구성으로 유지됩니다. 어셈블리 도구는 서블릿, JSP(JavaServer Pages) 파일, 애플리케이션 클라이언트 및 MDB(Message Driven Beans)에 대한 컨테이너 관리 태스크를 설정합니다. 태스크를 위한 애플리케이션 프로파일은 태스크에서 표시한 트랜잭션에 등록된 엔티티에 대한 적절한 액세스 의도로 구성됩니다. 그러나 실제로 도구가 불완전 결과를 리턴하는 여러 상황이 있습니다. 모든 애플리케이션이 정적 분석을 처리할 수 있는 것은 아닙니다. 일부 팩토리 및 공통 패턴으로 셀 그래프를 판별할 수 없습니다. 도구는 ActivitySessions의 분석을 지원하지 않습니다.

주의깊게 분석 결과를 검사해야 합니다. 애플리케이션의 요구사항을 충족하도록 수동으로 수정해야 하는 경우가 많습니다. 그러나 도구는 대부분의 애플리케이션에 효과적인 시작점이 될 수 있으며 일부 애플리케이션에 대해 애플리케이션 프로파일의 완전하고 신속한 구성을 제공할 수 있습니다.

액세스 의도는 애플리케이션 프로파일링 기능을 사용하는 유일한 런타임 컴포넌트입니다. 예를 들어, 강한 업데이트 잠금이 있는 엔티티 Bean을 로드하도록 하나의 트랜잭션을 구성하고 잠금 없이 동일한 엔티티 Bean을 로드하도록 다른 트랜잭션을 구성할 수 있습니다.

애플리케이션 프로파일링은 이 기능을 얻도록 두 개의 새 개념, 태스크프로파일을 소개합니다.
태스크
태스크는 작업 단위로 구성 가능한 이름입니다. 이 경우 작업 단위는 트랜잭션 또는 ActivitySession을 의미합니다. 작업 이름은 일반적으로 작업 단위를 시작하는 J2EE 컴포넌트에서 선언적으로 지정됩니다. 가장 일반적으로, 태스크는 컨테이너 관리 트랜잭션 또는 Bean 관리 트랜잭션에 대해 선언되는 엔터프라이즈 JavaBean 파일의 메소드에 구성됩니다. 구성된 태스크의 범위에서 시작하는 작업 단위가 해당 태스크 이름과 연관됩니다. 시작될 때 작업 단위의 이름만이 지정될 수 있으며 이름은 해당 작업 단위의 수명 동안 변경될 수 없습니다. 작업 단위는 시작된 후 시점에서 다음 태스크 이름 구성을 무시합니다. 태스크는 해당 작업 단위 기간 동안 사용되어 해당 작업 단위에 특정되게 구성된 정책을 식별합니다.
참고: 애플리케이션 프로파일 서비스의 콘솔 페이지에서 5.x 호환 모드 속성을 선택하면, J2EE 1.3 애플리케이션에 구성된 태스크는 작업 단위와 연관되지 않아도 되며 임의로 적용되고 대체될 수 있습니다. 조작의 권장 모드는 아니며 데이터베이스 액세스 중 예상되지 않은 교착 상태로 이어질 수 있습니다. 애플리케이션 프로파일링 5.x 호환 모드 하에서 실행 중인 애플리케이션과 해당 호환 모드에서 실행되고 있지 않는 애플리케이션 사이에 요청 시 태스크는 통신되지 않습니다.

버전 6.x 클라이언트가 애플리케이션 프로파일링 5.x 호환 모드에서 실행된 애플리케이션과 상호작용하려면, 클라이언트 프로세스에서 appprofileCompatibility 시스템 특성을 true로 설정해야 합니다. launchClient 명령을 호출할 때 -CCDappprofileCompatibility=true 옵션을 지정하여 수행할 수 있습니다.

프로파일
프로파일은 엔티티 Bean에 구성되는 일련의 액세스 의도 정책에 대한 단순한 태스크의 맵핑입니다. Bean에 대한 호출(파인더 메소드, CMR Getter 또는 동적 쿼리)에서 데이터가 백엔드 시스템에서 검색되어야 하는 경우, 요청과 연관된 현재 태스크는 트랜잭션의 정확한 요구사항을 판별하는데 사용됩니다. 동일한 Bean이 로딩되고, 태스크 대 프로파일 맵핑과 관련하여 다르게 동작합니다. 각 프로파일은 애플리케이션의 액세스 의도를 재구성할 기회를 개발자에게 제공합니다. 요청이 태스크가 없을 경우에 실행하고 있다면, 런타임 환경은 메소드 레벨 액세스 의도(있는 경우) 또는 Bean 레벨 기본 액세스 의도를 사용합니다.
참고: 애플리케이션 프로파일 구성은 애플리케이션 범위 구성 데이터입니다. EJB(Enterprise JavaBean) 모듈이 애플리케이션 프로파일 구성을 포함하는 경우, 기타 모든 EJB 모듈은 애플리케이션 프로파일 구성 데이터를 포함하지 않더라도 애플리케이션 프로파일링 서비스에서 내재적으로 규제됩니다.

예를 들어, 애플리케이션에는 두 EJB 모듈, EJBModule1 및 EJBModule2가 있습니다.

EJBModule1은 AppProfile1이라는 애플리케이션 프로파일이 있습니다. 이 AppProfile1은 task1라는 태스크로 등록됩니다. 이 task1이 known-to-application 태스크가 되며 이 애플리케이션 내 단위 작업과 연관되면 허용됩니다. known-to-application 태스크가 존재하면 메소드 레벨 액세스 의도 구성은 무시되며 Bean 레벨 액세스 의도 구성만이 적용됩니다.

EJBModule2는 애플리케이션 프로파일 구성 데이터를 포함하지 않습니다. 모든 엔티티 Bean은 명시적으로 Bean 레벨 액세스로 구성되지 않지만 일부 메소드에는 메소드 레벨 액세스 의도 구성이 있습니다. EJBModule2의 엔티티 Bean이 task1와 연관된 작업 단위로 로드된 경우, Bean 레벨 액세스 의도 구성이 적용되며 메소드 레벨 액세스 의도 구성은 무시됩니다. Bean 레벨 액세스 의도가 명시적으로 설정되지 않기 때문에, wsPessimisticUpdate-WeakestLockAtLoad인 기본 Bean 레벨 액세스 의도가 적용됩니다.


주제 유형을 표시하는 아이콘 개념 주제



시간소인 아이콘 마지막 업데이트 날짜: last_date
http://www14.software.ibm.com/webapp/wsbroker/redirect?version=cord&product=was-nd-mp&topic=capp_overview
파일 이름:capp_overview.html