샘플 액세스
제품은 공통 엔터프라이즈 애플리케이션 태스크를 보여주는 샘플을 제공합니다. 배치 및 코딩 예제에 대한 지시사항을 제공하는 샘플도 많습니다.
명령행으로 샘플 배치
명령행으로 샘플을 배치하려면 다음 단계를 완료하십시오.
- 유효한 신임 정보로 호스트에 로그인하십시오.
- app_server_root/bin 디렉토리로
이동하십시오.
/opt/IBM/WebSphere/AppServer/bin/ 디렉토리로 이동하십시오.
- wsadmin을 실행하여 애플리케이션을 설치하십시오. 예:
./wsadmin.sh -profileName AppSrv01 -lang jython -c "AdminApp.install('/opt/sample.javaee7.websocket.war', '[ -MapWebModToVH [[ .* .* default_host ]] -appname sample.javaee7.websocket]')"
통합 솔루션 콘솔로 샘플 배치
통합 솔루션 콘솔로 샘플을 배치하려면 다음 단계를 완료하십시오.
- 자주 사용하는 브라우저에서 통합 솔루션 콘솔로 이동하십시오. 예: http://hostname:9060/ibm/console/
- 사용자 이름과 비밀번호로 로그인하십시오.
- 을 선택하십시오.
- 새 엔터프라이즈 애플리케이션 링크를 선택하십시오.
- 로컬 파일 시스템 옵션을 사용하여 찾아보기를 클릭하고 GitHub에서 다운로드한 파일을 선택하십시오.
- 다음을 클릭하고 완료 단추가 표시될 때까지 기본 옵션으로 마법사를 진행하십시오.
- 변경 확인 섹션이 표시될 때 저장을 클릭하십시오.
- 을 클릭하십시오.
- 샘플 애플리케이션 옆의 선택란을 선택하고 시작을 클릭하십시오.
- 브라우저를 사용하여 홈 페이지에 액세스하십시오. 예:
http://hostname:9080/sample_name/
사용 가능한 샘플
이 릴리스에서는 다음과 같이 미리 배치된 샘플에 액세스할 수 있습니다. 해당 샘플 애플리케이션에 대한 소스 코드는 GitHub에서 찾을 수 있습니다.
- sample.javaee7.websocket
- GitHub에서 이 웹 소켓 샘플은 어노테이션을 사용하거나 프로그래밍 방식으로 WebSocket 엔드포인트를 설정하는 방법을 보여줍니다. 이 샘플은 WebSocket 연결 열기, 읽기, 쓰기, 닫기를 연습합니다. 인코더, 디코더, PathParam 어노테이션, Pong 메시지 처리 사용도 표시됩니다.
- sample.javaee7.el30
- GitHub에서 이 애플리케이션은 새 EL 3.0(Expression Language) 함수 일부 사용 방법을 보여줍니다. 예제는 람다 표현식, 연속, 새 연산자 사용을 위해 제공됩니다. 또한, JSP(JavaServer Pages) 없이 사용 중인 EL을 보여주는 독립형 서블릿에 대한 단순 샘플도 제공합니다.
- sample.javaee7.servlet.nonblocking
GitHub에서 이 애플리케이션은 ServletInputStream 및 ServletOutputStream에 추가되는 새 API를 사용하여 블로킹하지 않는 I/O 사용 방법을 보여줍니다. 예에는 ReadListener 및 WriteListener 인터페이스 API 사용을 포함합니다.
- sample.javaee7.sleepybatchlet
- GitHub의 sleepy batchlet 샘플은 제품에서 JSR 352 일괄처리 참조 구현을 사용합니다.
애플리케이션은 batchlet 및 사용자가 정의한 시간(초) 동안 휴면되는
한 개의 일괄처리 작업으로 구성됩니다. 매초마다 batchlet은 콘솔에 작업 중임을
표시하기 위해 출력합니다. 일괄처리 애플리케이션에 대한 랩핑은
일괄처리 실행 관리를 더 쉽고 더 직관적으로 하는 메커니즘을 제공하도록 디자인된
웹 페이지입니다. 이 샘플의 경우 애플리케이션을 배치하기 전에 자원을 작성해야 합니다. 다음 단계를 완료하여 필요한 자원을 작성하십시오.
- Derby JDBC 제공자 인스턴스가 있는지 확인하십시오. 관리 콘솔에서
를 클릭하십시오.
- 해당 제공자가 없는 경우에는 연결 풀 데이터 소스 구현 유형으로 하나를 작성하고 Derby .jar 파일(예: ${WAS_INSTALL_ROOT}/derby/lib)을 지시하십시오.
- 기본 데이터 소스 인스턴스가 구성되어 있는지 확인하십시오. 를 클릭하십시오.
- (관리 콘솔) 해당 데이터 소스가 없는 경우, 이름은 기본 데이터 소스, Derby JDBC 제공자 및 "${WAS_INSTALL_ROOT}/derby/DefaultDB" 데이터베이스를 지시하는 JNDI 이름의 DefaultDatasource를 사용하여 하나 작성하십시오.
- (명령행) SSH를 사용하는 WebSphere 환경의 가상 머신을 원격으로 연결하십시오.
${WAS_INSTALL_ROOT}/derby/bin/embedded/로 이동하십시오. ./ij.sh를 실행하십시오. 프롬프트 ij>가 표시되면 다음 명령을 입력하십시오.
기본 Derby 데이터베이스가 다음 디렉토리에 작성됩니다. ${WAS_INSTALL_ROOT}/derby/DefaultDBconnect 'jdbc:derby:DefaultDB;create=true';
- JVM 인수를 일괄처리 샘플을 실행 중인 서버에 추가하십시오.
- com.ibm.ws.batch.DB_SCHEMA
- 값: BATCH
- com.ibm.ws.batch.JNDI_NAME
- 값: DefaultDatasource
을
클릭하십시오. 다음 사용자 정의 특성을 추가하십시오. - 환경을 구성한 후에 제공된 기본값을 사용하여 애플리케이션을 설치하십시오.
- 애플리케이션이 시작되면 /.../IBM/WebSphere/Profiles/DefaultAppSrv01/logs/server1에서 SystemOut.log 파일을 열고 다음 URL을 검색하십시오. http://hostname:9080/sample.javaee7.sleepybatchlet/.
- Derby JDBC 제공자 인스턴스가 있는지 확인하십시오. 관리 콘솔에서
를 클릭하십시오.
- sample.javaee7.concurrency
- GitHub에서 이 애플리케이션은 관리되는 실행, 관리되는 스케줄의 실행기, 컨텍스트를 사용하여 단순 애플리케이션에서 병렬로 태스크를 수행하는 방법을 보여줍니다.
- sample.javaee7.jta
- GitHub에서 이 애플리케이션은 트랜잭션에 대해 Bean의 라이프사이클 범위를 지정하는 @TransactionScoped 어노테이션을 같이 사용하여 트랜잭션 경계를 선언적으로 제어하기 위한 @TransactionScoped 어노테이션 사용을 보여줍니다.
- sample.javaee7.jsonp
- JSONP는 JSR 353 스펙 뒤에 옵니다. GitHub의 애플리케이션은 JSON 코드를 가져오는 다른 구현을 기반으로 JSON 데이터를 구문 분석하고 표시하는 5개의 서블릿으로 구성됩니다. 웹 US 페이지는 JSON-P 함수를 시도하는 더 쉽고 더 직관적인 방식을 제공합니다. JSONP 샘플의 다른 테스트는 JSON 형식으로 쉽게 변환하는 데이터의 복잡한 구조 구성을 비롯하여 JSON 기반 기능을 사용하는 특수한 JSON 오브젝트를 기반으로 합니다.
- sample.javaee7.jms
- GitHub에서의 이 JMS 샘플은
JMS 2.0의 단순 API를 사용합니다. 샘플에는 지점간 및 공개/등록 메시지를
수행하는 두 개의 서블릿이 포함됩니다. JMS 서블릿은 큐에 메시지를 송수신하고
토픽에서 메시지를 공개 및 등록하는 구현 예도 제공합니다. 애플리케이션을 배치하기 전에 일부 자원을 작성해야 합니다. 샘플로 공개된 구성 스크립트를 사용하여 자원을 작성할 수 있습니다.
- createSIBusResources.py 스크립트를
app_server_root/bin 디렉토리에서 실행하여
필요한 자원을 작성하십시오. cell_name, node_name,
server_name 값 및 sample.javaee7.jms.war 파일
경로를 명령에 제공하십시오.
./wsadmin.sh -f createSIBusResources.py cell_name node_name server_name path_to_file/sample.javaee7.jms.war
- 보안이 서버에서 사용되는 경우,
addAuthAlias.py 스크립트를 app_server_root/bin
디렉토리에서 실행하십시오. 사용자 이름과 비밀번호를 명령에 제공하십시오.
./wsadmin.sh -f addAuthAlias.py user_name password
- createSIBusResources.py 스크립트를
app_server_root/bin 디렉토리에서 실행하여
필요한 자원을 작성하십시오. cell_name, node_name,
server_name 값 및 sample.javaee7.jms.war 파일
경로를 명령에 제공하십시오.
샘플 코드 다운로드
GitHub 저장소에서 샘플의 소스 코드를 다운로드할 수 있습니다.
샘플의 제한사항
샘플은 데모용으로만 사용됩니다.
제공된 코드는 보안 설정된 프로덕션 환경에서 실행하기 위한 것이 아닙니다. 샘플은 Java 2 보안을 지원하므로, 샘플은 보호된 시스템 자원에 대한 권한을 검사하는 정책 기반 액세스 제어(예: 파일 I/O)를 구현합니다.
샘플은 관리 보안도 지원합니다.
- 많은 샘플이 Apache Derby의 임베디드 프레임워크를 사용하여 Apache Derby
데이터베이스에 연결합니다. Apache Derby의 임베디드 프레임워크에는 하나의
JVM(Java Virtual Machine)만 데이터베이스 인스턴스에 액세스할 수 있는
제한사항이 있습니다. 그 결과, 클러스터된 애플리케이션
서버 환경의 경우, 노드의 두 번째 서버가 샘플 애플리케이션을 시작하지 못합니다.
첫 번째 서버(JVM)가 이미 해당 데이터베이스 인스턴스에 연결되었기 때문입니다.
동일한 Apache Derby 인스턴스를 액세스할 다중 JVM(Java Virtual Machine)이 필요한 애플리케이션의 경우, Apache Derby Network Server 프레임워크를 사용하십시오.
추가 샘플 및 예제
- developerWorks®의 샘플
- 더 많은 제품 샘플을 WASdev에서 사용할 수 있습니다.
- 학습서의 샘플
- 많은 제품 학습서가 샘플 코드를 필요로 합니다. 특정 기술을 보여주는 학습서를 찾으려면 학습서의 링크를 찾아 보십시오.
- 제품 문서의 예제
- 제품 문서는 많은 코드 스니펫 및 예제를 포함합니다. 이러한 예제를 쉽게 찾으려면, 사용 중인 제품 개정판에 해당하는 IBM Knowledge Center 탐색의 Reference 절에 나오는 개발자 예제를 참조하십시오.
IBM 전화 디렉토리
IBM 전화 디렉토리 비즈니스 애플리케이션은 제품과 별도로 제공됩니다. IBM Telephone Directory 애플리케이션의 확보 및 사용에 관한 정보는 IBM i 제품 문서의 e-business 및 웹 서비스에 관한 주제에서 IBM Telephone Directory V5.2의 내용을 참조하십시오.