Interstage Web Application Component & Technology -Interstage Web 시스템 기반 해설- 한국후지쯔 Internet사업부
Interstage Web Application Component & Technology
-Interstage Web 시스템 기반 해설-
한국후지쯔 Internet사업부
All Rights Reserved, Copyright © FUJITSU LIMITED 2002 1
>>학습목표1) Web Application구축을 Interstage Application Server로 구현하기 위해, 본 제품이
제공하는 컴포넌트와 설정방법 및 독자기술의 이해2) Servlet,JSP와 J2EE의 실행, EJB및 Web서비스 설계상 포인트의 이해
>>대상1) 인터넷/인트라넷 환경에서 업무시스템의 설계와 도입에 관련된 엔지니어/PM
>>전제지식1) 인터넷에 관한 기초지식2) Web어플리케이션의 기초지식3) Interstage개론 설명 또는 그에 해당하는 지식
>>학습내용1) Interstage아키텍쳐 : 1시간2) Server side Java 1 : Java Servlet : 1시간3) Server side Java 2 : EJB : 1시간
All Rights Reserved, Copyright © FUJITSU LIMITED 2002 2
Interstage Architecture
All Rights Reserved, Copyright © FUJITSU LIMITED 2002 3
Interstage 주요 컴포넌트
WWW서버
InfoProvider ProInterstage HTTP Server
WWW서버
InfoProvider ProInterstage HTTP Server
SSLSSL
CORBA 서비스(Object Director)
CORBA 서비스(Object Director)
컴포넌트 트랜잭션 서비스(Transaction Director)
컴포넌트 트랜잭션 서비스(Transaction Director)
오브젝트 트랜잭션 서비스(OTS)
오브젝트 트랜잭션 서비스(OTS)
J2EEJ2EE
EJBJavaMail
JNDI
JCA
JTS
JMS
Servlet/JSP
SOAP
InfoDirectory(LDAP)
InfoDirectory(LDAP)
All Rights Reserved, Copyright © FUJITSU LIMITED 2002 4
Interstage 구조 1Interstage의 CORE 컴포넌트의 이해
EJB 컨테이너Jservlet(Servlet 서비스)
RMI over IIOP
TP모니터(Transaction Director)
CORBA 통신 기반(Object Director)
Interstage COREWWW 서버(IPP/FJApache)
JavaVM(FJVM)
Web 어플리케이션
EJB
CORBA어플리케이션IIOP
CORBA 뿐 아니라 EJB 어플리케이션의 실행·통신 기반으로도 기능함
HTTP브라우저/휴대단말
All Rights Reserved, Copyright © FUJITSU LIMITED 2002 5
Interstage 아키텍쳐 2Interstage의 CORE 컴포넌트 – CORBA의 이해
오브젝트
UNIXWindows95/NT
IDL 정의
서버
InterfaceRepository
NamingService
Java프로그램
C++프로그램
skeleton
ORB(ObjectDirector)
Stub 개발 언어의 차이를 흡수개발 언어의 차이를 흡수
네트워크
클래스명메소드명
인수
클라이언트오브젝트 인터페이스
정의오브젝트 인터페이스
정의
All Rights Reserved, Copyright © FUJITSU LIMITED 2002 6
Interstage 아키텍쳐 3두가지 중요한 서비스(ObjectDirector 제공 서비스)
·Naming Service-오브젝트 관리 서비스
·Interface Repository-메소드 인터페이스
Naming Service
오브젝트a1
서버 B서버 A
오브젝트a2
오브젝트a3
오브젝트b1
오브젝트b2
오브젝트b3
오브젝트명 OR
오브젝트 a1 ORa1:
오브젝트 b2 ORb2:
OR(오브젝트 레퍼런스)네트워크상에서 오브젝트의
실제 위치 정보
OROR
Interface Repository
클라이언트 어플리케이션
인터페이스 정보오브젝트명
에 의한 검색
All Rights Reserved, Copyright © FUJITSU LIMITED 2002 7
Interstage 도입·설정
All Rights Reserved, Copyright © FUJITSU LIMITED 2002 8
Interstage 인스톨
CD를 세트하고, 기동된 최초 화면에서 인스톨 형태를 선택
◆Server Easy Install인스톨되는 컴포넌트가 고정되어 있음
◆Server Custom Install필요한 기능을 선택하고 싶은 경우에 선택.커스텀 인스톨에서만 인스톨 가능한 컴포넌트가 있음(Apache 기반의 WWW 서버:Interstage HTTP Server 등)
◆Client Install·Interstage 클라이언트 기능을 인스톨 .·Interstage 클라이언트로 운용, 또는 어플리케이션의 개발용 머신인 경우선택.
※어느 형태든 인스톨 후에 컴포넌트 추가가 가능
All Rights Reserved, Copyright © FUJITSU LIMITED 2002 9
Server Easy Install 1간이 인스톨을 선택 하면 아래와 같은 화면이 나옴. 필요에 따라 설정 항목을 변경.
CORBA 서비스(OD)가 사용 하는
IIOP 프로토콜의 포트 번호
All Rights Reserved, Copyright © FUJITSU LIMITED 2002 10
Server Easy Install 2
인스톨되는 Component(고정)의 일람, 설정 항목을 확인.설정 항목에 문제가 없으면, [Next]를 선택하여 인스톨 시작
All Rights Reserved, Copyright © FUJITSU LIMITED 2002 11
Server Custom Install 1유저 정보 입력
Interstage 인스톨 위치를 선택
All Rights Reserved, Copyright © FUJITSU LIMITED 2002 12
Server Custom Install 2
인스톨할 컴포넌트를 선택. 디폴트는, 간이 인스톨의 경우와 같은컴포넌트가 선택되어 있음
컴포넌트 설명
이미 JDK1.3.1 이 존재하는 환경에서, JDK1.3.1을 인스톨 선택을 한 경우, 덮어쓰기가 됩니다.
All Rights Reserved, Copyright © FUJITSU LIMITED 2002 13
Server Custom Install 3JDK를 인스톨 하는 경우, 인스톨 위치를 지정
“J2EE” 컴포넌트는 반드시 인스톨 되므로 인스톨 위치를 지정
All Rights Reserved, Copyright © FUJITSU LIMITED 2002 14
Server Custom Install 4
Interstage 운용조작 도구를 인스톨 하는 경우, WWW 서버의 포트 번호와Interstage 운용조작 도구가 동작하는 WWW 서버의 포트 번호를 지정.
All Rights Reserved, Copyright © FUJITSU LIMITED 2002 15
Server Custom Install 5
설정 내용을 확인하고 문제가 없으면 [Next]를 선택하여 인스톨 시작.
All Rights Reserved, Copyright © FUJITSU LIMITED 2002 16
Client Install유저명·회사명 입력, 인스톨 디렉토리를 선택한 후 아래 화면에서인스톨할 컴포넌트를 지정.
컴포넌트의 설명
선택 후 “J2EE” 컴포넌트의 인스톨 위치를 지정, 설정 항목을확인하고 인스톨을 시작. (서버 커스텀 셋업의 흐름과 동일)
All Rights Reserved, Copyright © FUJITSU LIMITED 2002 17
인스톨 후 컴포넌트를 추가·삭제 하는 경우
Interstage CD-ROM을 넣고• 서버 환경인 경우 → 서버 커스텀 인스톨• 클라이언트 환경인 경우 → 클라이언트 인스톨
을 선택 하면 재 인스톨 할지 묻는 다이얼로그가 나온 후 컴포넌트 선택화면이 나옴.
이미 인스톨된 컴포넌트는 체크되어 있음
All Rights Reserved, Copyright © FUJITSU LIMITED 2002 18
Interstage 셋업
Interstage 운용조작 도구
또는
명령어에 의한 셋업을 실시.
All Rights Reserved, Copyright © FUJITSU LIMITED 2002 19
Interstage 운용조작도구를 이용한 셋업 1
운용조작도구에 로그 온
·브라우저를 기동하고 아래와 같은 형식으로 URL을 입력
http://localhost:포트번호
포트번호는 Interstage 운용조작 도구의 인스톨시 지정한 포트번호를 입력(커스텀 인스톨시는 변경 가능:디폴트는 12000 )
·로그 온 화면에서유저명, 패스워드를 입력 (Administrator 권한의 유저)
All Rights Reserved, Copyright © FUJITSU LIMITED 2002 20
Interstage 운용조작도구를 이용한 셋업 23가지 셋업 형태·간이 셋업·커스텀 셋업·EJB까지의 간이 셋업
각 화면의 Help를 참조하여 현재 표시화면의항목에 대한 설명을 참조할 수 있다
All Rights Reserved, Copyright © FUJITSU LIMITED 2002 21
명령어를 이용한 셋업
Interstage 시스템 규모 결정(isgendef)
정의 파일군 생성(isregistdef)
시스템 타입 결정,초기화(isinit)
All Rights Reserved, Copyright © FUJITSU LIMITED 2002 22
All Rights Reserved, Copyright © FUJITSU LIMITED 2002 23
셋업 후의 주의 사항
Interstage의 재초기화가 필요하게 되는 주된 케이스
·Interstage의 운용 형태(Type)를 변경하는 경우
·모든 서비스에 대해 등록이 끝난 정보를 초기화하려는 경우
All Rights Reserved, Copyright © FUJITSU LIMITED 2002 24
Interstage 기동/정지
All Rights Reserved, Copyright © FUJITSU LIMITED 2002 25
Interstage 운영 Tool를 이용한 기동/정지
[INTERSTAGE 관리]-[INTERSTAGE 운용] 화면에서 기동/정지
All Rights Reserved, Copyright © FUJITSU LIMITED 2002 26
Server Side Java 1
All Rights Reserved, Copyright © FUJITSU LIMITED 2002 27
WWW 서버와 Servlet서비스
WWW 서버 Servlet 서비스
CORBA서비스
EJB 서비스
ComponentTransaction
Service
ServletContainerServlet
Container
WWW 서버
Interstage Application ServerInterstage Application Server
ServletContainerServlet
Container
Servlet
Servlet
ServletGateway
ServletGateway
컨테이너감시프로세스
컨테이너감시프로세스
Internet
All Rights Reserved, Copyright © FUJITSU LIMITED 2002 28
WWW-Jservlet구축을위한 5개의설정파일
Web Application
ServletContainer
환경 정의 파일
ServletContainer
환경 정의 파일
Web Application환경 정의 파일
Web Application환경 정의 파일
Servlet Container
JServletWWW 서버
Servlet Gateway
Servlet-Gateway환경 정의 파일
Servlet-Gateway환경 정의 파일
JServlet환경 정의 파일
JServlet환경 정의 파일
WWW 서버환경 정의 파일
WWW 서버환경 정의 파일
All Rights Reserved, Copyright © FUJITSU LIMITED 2002 29
①WWW 서버 환경 정의 파일
<Info Provider Pro>/opt/FSUNprovd/conf/HTTPD.conf
...
filter-file:/opt/FJSVjs2/gateway/jsgw.so conf=/opt/FJSVjs2/conf/jsgw.confcgi-path-idnt:/opt/FJSVjs2/gateway FJSVjs2
...
filter-file:/opt/FJSVjs2/gateway/jsgw.so conf=/opt/FJSVjs2/conf/jsgw.confcgi-path-idnt:/opt/FJSVjs2/gateway FJSVjs2
WWW 서버
WWW 서버환경 정의 파일
WWW 서버환경 정의 파일
<Interstage HTTP Server>/opt/FJSVihs/conf/httpd.conf
등록
ServletGateway
...
LoadModule jsvlt_module /opt/FJSVjs2/gateway/jsgw_apapi_is.soinclude /opt/FJSVjs2/conf/jsgw_apapi.conf
...
LoadModule jsvlt_module /opt/FJSVjs2/gateway/jsgw_apapi_is.soinclude /opt/FJSVjs2/conf/jsgw_apapi.conf
All Rights Reserved, Copyright © FUJITSU LIMITED 2002 30
All Rights Reserved, Copyright © FUJITSU LIMITED 2002 31
②Servlet Gateway 환경 정의 파일
1 Web Application
2 Web Application
JServlet
sample
defaultDefaultHost localhostDefaultPort 8009 Mount /sample
DefaultHost localhostDefaultPort 8009 Mount /sample
서블릿 게이트웨이 환경 정의 파일
JServlet
sample
default
example
DefaultHost localhostDefaultPort 8009Mount /sampleMount /example
DefaultHost localhostDefaultPort 8009Mount /sampleMount /example
서블릿 게이트웨이 환경 정의 파일 1
All Rights Reserved, Copyright © FUJITSU LIMITED 2002 32
③JServlet 환경 정의 파일
서블릿 게이트웨이 환경 정의 파일
Container.ipaddress=localhostContainer.port=8009Container.containerconf=
C:\...\jscontainer.xml....
Container.ipaddress=localhostContainer.port=8009Container.containerconf=
C:\...\jscontainer.xml....
Mount /sample IDContainer ID ajpv12://localhost:8009/Mount /sample IDContainer ID ajpv12://localhost:8009/
sample
Container(ID)
jscontainer.xmljscontainer.xml
JServlet 환경 정의 파일
서블릿 컨테이너환경 정의 파일을
지정
JServlet
jswatch.confjswatch.conf
All Rights Reserved, Copyright © FUJITSU LIMITED 2002 33
④Servlet Container 환경 정의 파일
서블릿 게이트웨이 환경 정의 파일
<Server>....
<Connector ... >....<Parameter name="ipaddress" value="localhost"/>
<Parameter name="port" value="8009"/></Connector>
....<Context path="/sample" docBase=“C:\...\webapps\sample" ... />
</ContextManager>....
</Server>
<Server>....
<Connector ... >....<Parameter name="ipaddress" value="localhost"/>
<Parameter name="port" value="8009"/></Connector>
....<Context path="/sample" docBase=“C:\...\webapps\sample" ... />
</ContextManager>....
</Server>
서블릿 게이트웨이환경 정의 파일
에서 지정한 포트
Servlet Gateway환경 정의 파일에
지정한 Web 어플리케이션 식별자
Servlet Container의실행 디렉토리.
상대 패스 또는 절대패스로 지정
Mount /sample ID1Container ID1 ajpv12://localhost:8009/...
Mount /sample ID1Container ID1 ajpv12://localhost:8009/...
Servlet Container 환경 정의 파일
All Rights Reserved, Copyright © FUJITSU LIMITED 2002 34
⑤Web Application 환경 정의 파일
<Server>....<Context path="/sample"
docBase="C:\...\webapps\sample" .. /></ContextManager>....
</Server>
<Server>....<Context path="/sample"
docBase="C:\...\webapps\sample" .. /></ContextManager>....
</Server>
Servlet Container 환경 정의 파일
samplesample
servletservlet JSPJSP JavaBeanJavaBean
< xml version="1.0" encoding="ISO-8859-1" >....<web-app>
<servlet><servlet-name>
.....</web-app>
< xml version="1.0" encoding="ISO-8859-1" >....<web-app>
<servlet><servlet-name>
.....</web-app>
Web Application 환경 정의 파일(web.xml)
저장 장소C:\...\webapps\sample\WEB-INF
All Rights Reserved, Copyright © FUJITSU LIMITED 2002 35
Multi-Container 정의 방법
Multi-Container : 1 Web Application
JServlet
sample
Container2(ID2)Container2(ID2)
sample
Container1(ID1)Container1(ID1)Mount /sample ID1Mount /sample ID2
Container ID1 ajpv12://localhost:8009/Container ID2 ajpv12://localhost:8900/
Mount /sample ID1Mount /sample ID2
Container ID1 ajpv12://localhost:8009/Container ID2 ajpv12://localhost:8900/
서블릿 게이트웨이 환경 정의 파일
Container1.ipaddress=localhostContainer1.port=8009Container1.containerconf=
C:\...\jscontainer1.xml....Container2.ipaddress=localhostContainer2.port=8900Container2.containerconf=
C:\...\jscontainer2.xml....
Container1.ipaddress=localhostContainer1.port=8009Container1.containerconf=
C:\...\jscontainer1.xml....Container2.ipaddress=localhostContainer2.port=8900Container2.containerconf=
C:\...\jscontainer2.xml....
Jservlet 환경 정의 파일 ( jswatch.conf )
<Parameter name="ipaddress" value="localhost"/>
<Parameter name="port" value="8009"/>....<Context path="/sample" .../>
<Parameter name="ipaddress" value="localhost"/>
<Parameter name="port" value="8009"/>....<Context path="/sample" .../>
서블릿 컨테이너 환경 정의 파일
<Parameter name="ipaddress" value="localhost"/>
<Parameter name="port" value="8900"/>....<Context path="/sample" .../>
<Parameter name="ipaddress" value="localhost"/>
<Parameter name="port" value="8900"/>....<Context path="/sample" .../>
jscontainer1.xml
jscontainer2.xml
All Rights Reserved, Copyright © FUJITSU LIMITED 2002 36
Web Application Deployment
All Rights Reserved, Copyright © FUJITSU LIMITED 2002 37
Web 어플리케이션의디렉토리구성J2EE 사양에정의된표준디렉토리구조로구성되어야한다.
WebAppRoot
WEB-INF
classes
lib
·Web 어플리케이션의 Document Root(디렉토리명은임의)·HTML 파일등정적파일과 JSP 파일을배치(임의의서브디렉토리를작성하여그아래에배치해도됨)
web.xml Web 어플리케이션의 Deployment Descriptor 파일
Servlet등의클래스파일(패키지디렉토리)을저장
JSP 태그라이브러리등Web 어플리케이션에서사용되는JAR 파일을저장
All Rights Reserved, Copyright © FUJITSU LIMITED 2002 38
Web 어플리케이션 Deploy 순서
어플리케이션 Deployment
전개형식의Web 어플리케이션폴더를서버환경에배치
또는
J2EE Deployment 도구를사용하여 war를배치
리소스정의
Web 어플리케이션동작환경설정
필요에따라수행
All Rights Reserved, Copyright © FUJITSU LIMITED 2002 39
어플리케이션 Deployment①전개 형식의 Web 어플리케이션 폴더를 서버 환경에 배치하는 경우
AP서버
WebAppRootjsphtmlimg WEB-INF
classeslib
WebAppRootjsphtmlimg WEB-INF
classeslib
<Server>....<Context path="/WebAppRoot" docBase=“X:\...\WebAppRoot"/>....
</Server>
<Server>....<Context path="/WebAppRoot" docBase=“X:\...\WebAppRoot"/>....
</Server>
어플리케이션
폴더
서블릿 컨테이너 환경정의파일
All Rights Reserved, Copyright © FUJITSU LIMITED 2002 40
어플리케이션 Deployment②
J2EE Deployment도구
Web어플리케이션
서블릿 컨테이너
기본 동작확인.
커스트마이즈
기본 동작확인.
커스트마이즈
JNDI명확인.
카스트마이즈
JNDI명확인.
카스트마이즈DeployDeploy
Deploy할 디렉토리Deploy할 컨테이너
Web 어플리케이션기술등
EJB 참조리소스 참조 등
WARWAR
EAREAR
J2EE Deployment 도구를 사용하는 경우 자세한 사항은 뒤에 기술자세한 사항은 뒤에 기술
All Rights Reserved, Copyright © FUJITSU LIMITED 2002 41
리소스의정의
서블릿컨테이너
Interstage JNDI SP
JDBC
JavaMail
JMS
EJB/CosNaming
connector connector
리소스참조
Web어플리케이션
Web어플리케이션
JMS
EJB
리소스액세스
All Rights Reserved, Copyright © FUJITSU LIMITED 2002 42
Web 어플리케이션동작환경의설정
Web어플리케이션
서블릿컨테이너
EJB어플리케이션
EJB 컨테이너
DataBase
Web 어플리케이션으로부터 EJB등외부리소스참조를수행하는경우는, Servlet환경정의파일에설정을수행해야한다.
Application Server
Application Server
DB서버
All Rights Reserved, Copyright © FUJITSU LIMITED 2002 43
Servlet 서비스의운용
All Rights Reserved, Copyright © FUJITSU LIMITED 2002 44
Servlet 서비스운용
WWW 서버기동
Servlet 서비스기동
업무운용
Servlet 서비스정지
WWW 서버정지
All Rights Reserved, Copyright © FUJITSU LIMITED 2002 45
WWW 서버기동Interstage HTTP Server인경우
·서비스화면에서·서비스화면에서
①「제어판」→「서비스」
또는[제어판]→[관리도구]→[서비스]를기동. ②“FJapache”를선택하고「시작」버튼을클릭.
Info Provider Pro인경우·Interstage 운용조작도구에서·Interstage 운용조작도구에서·명령어라인에서·명령어라인에서
jppstart를실행>ippstart
‘Interstage관리’→
‘WWW 서버운용’화면에서기동할WWW 서버를선택, 기동.
All Rights Reserved, Copyright © FUJITSU LIMITED 2002 46
Servlet 서비스기동
Interstage운용조작도구또는명령어로기동· Interstage 운용조작도구에서· Interstage 운용조작도구에서·명령어라인에서·명령어라인에서
jssvstart를실행>jssvstart
”Interstage 관리”→”Servlet 운용”화면에서Servlet서비스, 컨테이너를기동.
All Rights Reserved, Copyright © FUJITSU LIMITED 2002 47
Servlet 서비스정지
Interstage운용조작도구또는명령어로정지
· Interstage 운용조작도구에서· Interstage 운용조작도구에서·명령어라인에서·명령어라인에서
jssvstop를실행>jssvstop
‘Interstage관리’→‘Servlet운용’화면에서Servlet서비스, 컨테이너를정지.
All Rights Reserved, Copyright © FUJITSU LIMITED 2002 48
WWW 서버정지Interstage HTTP Server인경우
·서비스화면에서·서비스화면에서
①「제어판」→「서비스」
또는 [제어판]→[관리도구]→[서비스]를기동. ②“FJapache”를선택하고「정지」버튼을클릭.
Info Provider Pro인경우·Interstage 운용조작도구에서·Interstage 운용조작도구에서·명령어라인에서·명령어라인에서
ippstop을실행>ippstop
”Interstage 관리”→
”WWW 서버운용”화면에서정지할WWW 서버를선택, 정지.
All Rights Reserved, Copyright © FUJITSU LIMITED 2002 49
Trouble Shooting - Servlet -로그 파일 참조
[Servlet Gateway의 로그] ·jsgw.log
[Servlet Service의 로그] ·jswatch.log
[서블릿 컨테이너 관련의 로그] ·CONTAINER_NAME.log 아래 3개는, 서블릿 컨테이너 환경 정의 파일에 로그 파일명을 지정 · std_log ex. ) CONTAINER_NAME-std.log · tc_log CONTAINER_NAME-container.log · servlet_log CONTAINER_NAME-servlet.log
All Rights Reserved, Copyright © FUJITSU LIMITED 2002 50
Server side Java 2EJB
All Rights Reserved, Copyright © FUJITSU LIMITED 2002 51
Interstage EJB 서비스의위치
ServletJSP
ServletJSP
Interstage Application Server
CORBACORBA
TDTD
ODOD
HOST
Client
SOAPSOAP
DBDBEJB
SessionBean
EntityBean
Message-driven Bean
EJB
SessionBean
EntityBean
Message-driven Bean JCAJCA
DB Server
DBDB
All Rights Reserved, Copyright © FUJITSU LIMITED 2002 52
EJB 서비스의특징
·EJB1.1 사양기준·EJB2.0 서포트 (Message Driven Bean,
ejbHome 메소드 etc)·고성능/고신뢰성·GUI에의한용이한관리조작·Apworks 개발 Tool에의한높은생산성·Workunit에의한운용환경통일
All Rights Reserved, Copyright © FUJITSU LIMITED 2002 53
Message Driven Bean
Interstage Application Server
CORBA 서비스 / Event 서비스
Notification
서비스
컴포넌트
트랜잭션서비스JMS 클라이언트
데이타베이스연계서비스JMS 프로바이더message
EJB 컨테이너송신
MDB
송신
messagemessage
기동·실행기동·실행JMS 클라이언트
송신송신
message
메세지를 수신한 EJB 컨테이너는수신한 메세지에 따라 각 MDB를기동하여 처리 수행
All Rights Reserved, Copyright © FUJITSU LIMITED 2002 54
Interstage EJB 서비스의 주요 기능
All Rights Reserved, Copyright © FUJITSU LIMITED 2002 55
EJB 성능개선기능
·EJB 오브젝트의공용 (Stateless Session Bean)·인스턴스관리모드 (Entity Bean)·Entity Bean의최적화처리 (BMP Entity Bean)·복수레코드일괄갱신 (CMP Entity Bean)·SQL문캐쉬 (CMP Entity Bean)·고속호출기능·고속호출 Light 모드·DBconnection사전연결기능
All Rights Reserved, Copyright © FUJITSU LIMITED 2002 56
①EJB 오브젝트의공용
ejbCreate()
EJB 컨테이너
EJB 클라이언트 Session BeanSession BeandoMethod()doMethod()
클라이언트가EJB 자원을 공유
Stateless SessionBean의 초기 인스턴스수를자동 계산
EJB 클라이언트doMethod()
doMethod()
EJB 클라이언트 doMethod()
doMethod()
All Rights Reserved, Copyright © FUJITSU LIMITED 2002 57
②인스턴스관리모드
데이터를차례로 추출하여 수정하는 형태의 처리에 대해 메모리성능의 향상을 꾀함.
대량데이터를조작하는배치처리에유효
다만 다른 모드에 비교하여 약간의 성능 저하.
고속으로 호출하는 Bean에 Entity Bean을 지정한 경우는사용 불가능 합니다.
Sequential
여러 트랜잭션에 관련된 인스턴스를 캐쉬함으로써 검색 처리에 특화한 고속화
온라인중에갱신되지않는마스터정보의검색처리등에유효
ReadOnly
트랜잭션 단위로 인스턴스를 캐쉬함으로써 동일 트랜잭션내
데이터 액세스 성능 향상
검색및갱신처리를수행하는온라인처리에유효
ReadWrite(디폴트)
특징모드
All Rights Reserved, Copyright © FUJITSU LIMITED 2002 58
③③Entity BeanEntity Bean의의 최적화최적화 처리처리((BMP)BMP)
idnameaddress
BMP Entity Beanint id;String name;String address;ejbFindByPrimaryKey(PrimaryKey){...
}
ejbLoad(){...
}
id
name
address
ejbFindByPrimaryKey 메소드를 메모리상에 캐쉬.ejbLoad 메소드에서는 보존된 데이터를 취득.
캐쉬에 데이터가 존재하지 않는 경우는 DB 액세스
idnameaddress
BMP Entity Beanint id;String name;String address;ejbFindByPrimaryKey(PrimaryKey){...
}
ejbLoad(){...
}
id
id
name
address
레코드의 데이터를 취득 하기위해 DB에 2번액세스해야함.
최적화처리를수행…
EJB Client
findByPrimaryKey(PrimaryKey);
EJB Client
findByPrimaryKey(PrimaryKey);
Cache classint id;String name;String address;
All Rights Reserved, Copyright © FUJITSU LIMITED 2002 59
④복수④복수 레코드레코드 일괄일괄 갱신갱신
Interstage
데이터
Database Server
EJB 컨테이너
CMP Entity Bean
복수의 SQL를 발행할 수 있으므로 통신회수가 적다
갱신
SQL
한 번에 복수의 갱신을 발행하여 데이타베이스의 배치 실행이가능
All Rights Reserved, Copyright © FUJITSU LIMITED 2002 60
⑤⑤SQLSQL문문 캐쉬캐쉬 ((CMP)CMP)
InterstageDatabase Server
EJB 컨테이너
CMP Entity Bean
DB
SQL 발행의 준비처리를 메모리에
보존
다음번 사용시 SQL 발행의준비 처리를 재이용
함으로써 처리를 고속화
All Rights Reserved, Copyright © FUJITSU LIMITED 2002 61
⑥고속⑥고속 호출호출 기능기능
JavaVM-1
서버 고속호출
JavaVM-2
SessionBean 1
SessionBean 1
SessionBean 2
SessionBean 2
SessionBean 3
SessionBean 3
EntityBean 1
EntityBean 1
EntityBean 2
EntityBean 2
SessionBean 4
SessionBean 4
고속호출
클라이언트
All Rights Reserved, Copyright © FUJITSU LIMITED 2002 62
⑦고속호출기능 Light 모드
SessionBean EntityBean
EJB1.1의 규약에 따른 메소드 호출시의 컨테이너 처리에 착안
트랜잭션제어
시큐리티체크
JNDI
SessionBean EntityBean
트랜잭션제어
시큐러티체크
JNDI ×LightMode
JavaVMJavaVM
불필요한처리에따른오버헤드 메소드호출전후의컨테이너처리를경량화
All Rights Reserved, Copyright © FUJITSU LIMITED 2002 63
⑧⑧DbconnectionDbconnection의의 사전사전 연결연결 기능기능
connection
connection
connection
서버
EJB 컨테이너
EJB
DBEJB
미리 connection을 오픈하여 풀링해 둠으로써
EntityBean의 처리를 고속화
All Rights Reserved, Copyright © FUJITSU LIMITED 2002 64
트랜잭션트랜잭션 기능기능
·EJB 서비스의트랜잭션기능·분산트랜잭션기능 (Enterprise Edition만해당)
·Synchronization 기능
All Rights Reserved, Copyright © FUJITSU LIMITED 2002 65
Workunit에의한어플리케이션운용업무어플리케이션의운용성향상·고신뢰화·확장성강화
EJB 어플리케이션
DBEJB 어플리케이션
DB
•업무어플리케이션
•프로세스다중도제어
•큐제어
•snapshot/로그 기능
•타임아웃감시
•이상종료(ABEND)시자동재기동
어플리케이션관리기능
ORB 기능
•운용관리기능•고신뢰화•확장성
업무단위의기동·종료업무 관리기능(workunit)
All Rights Reserved, Copyright © FUJITSU LIMITED 2002 66
EJB 환경설정
All Rights Reserved, Copyright © FUJITSU LIMITED 2002 67
EJB EJB 환경환경 설정설정Interstage동작환경설정
인스톨시자동셋업
또는
운용조작 GUI에서 EJB까지의간이셋업Java 환경설정
사용하는 ORB 설정
DataSource를사용하기위한환경설정
환경변수설정
All Rights Reserved, Copyright © FUJITSU LIMITED 2002 68
InterstageInterstage 동작환경동작환경 설정설정
동작환경설정은운용조작 GUI 또는커멘드를사용
Interstage 동작환경설정·scale-value 설정·운용형태(type) 설정
CORBA 서비스환경정의튜닝
All Rights Reserved, Copyright © FUJITSU LIMITED 2002 69
Java Java 환경환경 설정설정Java 환경설정파일수정
Windows (X:\INTERSTAGE\EJB\etc\java_config.txt)Solaris (/opt/FJSVejb/etc/java_config.txt)
·설정형식사용하는 Java의버젼 = Java 인스톨디렉토리사용하는 Java의버젼
JDK1.3을사용하는경우…JDK13DIRJDK1.4를사용하는경우…JDK14DIRJRE1.3을사용하는경우…JRE13DIRJRE1.4를사용하는경우…JRE14DIR
Java 인스톨디렉토리Java 인스톨디렉토리(JAVA_HOME)는절대패스형식으로설정.
예) C:\jbk13\jdk에인스톨한 JDK1.3을사용하는경우JDK13DIR = C:\jbk13\jdk
All Rights Reserved, Copyright © FUJITSU LIMITED 2002 70
사용하는사용하는 ORB ORB 설정설정Interstage가제공하는 orb를지정- Interstgae\ejb\etc\orb.properties를사용하는JDK 인스톨디렉토리에복사
(예)JDK1.3.1을사용하는경우x:\APW\JBK3\jdk\jre\lib 에 orb.properties 를복사
All Rights Reserved, Copyright © FUJITSU LIMITED 2002 71
환경환경 변수변수 설정설정Solaris 환경인경우
환경변수
·LD_LIBRARY_PATH·LANG
All Rights Reserved, Copyright © FUJITSU LIMITED 2002 72
EJB 어플리케이션개발및 Deploy
All Rights Reserved, Copyright © FUJITSU LIMITED 2002 73
EJB Deployment 순서
□InterstageEJB의작성-Deploy-기동1. Apworks(권장)로 EJB를작성2. Deployment Tool-EJB Deployment 위저드이용-Interstage J2EE Deployment Tool이용
All Rights Reserved, Copyright © FUJITSU LIMITED 2002 74
Interstage EJB 배치①□EJB 배치(Interstage J2EE Deployment Tool)
HTML JSP
Beans Servlet
EJB 구성
HTML JSP
Beans Servlet
클라이언트머신으로
클라이언트JAR
EJBs
Servlets
Apworks Interstage Application Server
Web 구성생성물
EAR인스톨까지 자동 실행
EJB 커스터마이즈도구
J2EE Deployment도구WAR
FTP 등
JAR
All Rights Reserved, Copyright © FUJITSU LIMITED 2002 75
□EJB 배치(EJB Deployment 위저드 : 리모트인스톨)Interstage EJB 배치②
EJB 커스터마이즈도구
EJBs
EJB Deployment위저드(EJB만)
인스톨KIT 생성 리모트인스톨
클라이언트JAR
①EJB 배치
②
FTP 또는운용관리용
Servlet 서비스
Apworks Interstage Application ServerEJB
JAR
All Rights Reserved, Copyright © FUJITSU LIMITED 2002 76
EJB 어플리케이션운용
All Rights Reserved, Copyright © FUJITSU LIMITED 2002 77
EJB EJB 어플리케이션어플리케이션 운용운용
workunit기동
운용을위한사전준비
·EJB 어플리케이션커스트마이즈·workunit정의등록
업무운용
Workunit 정지
All Rights Reserved, Copyright © FUJITSU LIMITED 2002 78
EJB 어플리케이션운용①EJB 어플리케이션커스터마이즈
커스터마이즈툴기동
EJB 어플리케이션실행환경정의 고속호출정의
커스터마이즈툴종료
All Rights Reserved, Copyright © FUJITSU LIMITED 2002 79
Web 어플리케이션과EJB, JDBC 리소스(DataSource)
의연계
All Rights Reserved, Copyright © FUJITSU LIMITED 2002 80
Web 어플리케이션과 EJB의연계구성예
Interstage Application Server
Servlet 컨테이너Servlet 컨테이너 EJB 컨테이너EJB 컨테이너
Servlet
DB Server
Servlet브라우저
DBDB
EJB
SessionBean
EntityBean
EJB
SessionBean
EntityBean
JavaBeans(EJB Client)JavaBeans
(EJB Client)
JSPJSP
HTML
All Rights Reserved, Copyright © FUJITSU LIMITED 2002 81
DataSourceDataSource의의 사용사용
지원하는 RDBMSWindows·SymfoWARE ·Oracle ·SQL Server 등Solaris ·SymfoWARE ·Oracle 등
All Rights Reserved, Copyright © FUJITSU LIMITED 2002 82
DataSource의등록□J2EE 리소스액세스정의 GUI
•JDBC•JMS•Connector•JavaMail
복제작성
삭제
수정
신규작성
등록
J2EE 리소스액세스정의
J2EE 리소스액세스정의를수행하는경우, 환경변수를설정해야합니다.
All Rights Reserved, Copyright © FUJITSU LIMITED 2002 83
J2EE Deployment Tool
Apworks
EJBDeployment
Tool
EJB 배포물
Apworks개발환경디렉토리
EAREAR
WARWAR
JARJAR
RARRAR
J2EE DeploymentTool
J2EE Deployment리모트인스톨부분
connector
Web어플리케이션
EJB어플리케이션
PG
DCDDCDEJB어플리케이션 전개
FTP/리모트 인스톨
서블릿컨테이너
EJB 컨테이너
WEB-INF
All Rights Reserved, Copyright © FUJITSU LIMITED 2002 84
DCD 파일에의한배치<첫번째> <두번째이후>
EAR WAR JAR 배치 이력 파일을지정하여 Deployment
명령을 실행
RAR
J2EE DeploymentTool DCDDCD
Web어플리케이션
컨테이너
J2EE Deployment명령
배치 이력 파일을지정하여 Deployment
명령을 실행
생성 재이용
배치이력파일
Web어플리케이션
컨테이너