JEUS

Size: px
Start display at page:

Download "JEUS"

Transcription

1 JEUS Application Client 안내서 JEUS v6.0 Fix#8 Copyright 2011 TmaxSoft Co., Ltd. All Rights Reserved.

2 Copyright Notice Copyright 2011 TmaxSoft Co., Ltd. All Rights Reserved. 대한민국경기도성남시분당구서현동 우 ) Restricted Rights Legend All TmaxSoft Software (JEUS ) and documents are protected by copyright laws and the Protection Act of Com puter Programs, and international convention. TmaxSoft software and documents are made available under the terms of the TmaxSoft License Agreement and may only be used or copied in accordance with the terms of this agreement. No part of this document may be transmitted, copied, deployed, or reproduced in any form or by any means, electronic, mechanical, or optical, without the prior written consent of TmaxSoft Co., Ltd. 이소프트웨어 (JEUS ) 사용설명서의내용과프로그램은저작권법, 컴퓨터프로그램보호법및국제조약에의해서보호받고있습니다. 사용설명서의내용과여기에설명된프로그램은 TmaxSoft Co., Ltd. 와의사용권계약하에서만사용이가능하며, 사용권계약을준수하는경우에만사용또는복제할수있습니다. 이사용설명서의전부또는일부분을 TmaxSoft의사전서면동의없이전자, 기계, 녹음등의수단을사용하여전송, 복제, 배포, 2차적저작물작성등의행위를하여서는안됩니다. Trademarks JEUS is registered trademark of TmaxSoft Co., Ltd. Other products, titles or services may be registered trademarks of their respective companies. JEUS 는 TmaxSoft Co., Ltd. 의등록상표입니다. 기타모든제품들과회사이름은각각해당소유주의상표로서참조용으로만사용됩니다. Open Source Software Notice This product includes open source software developed and/or licensed by "OpenSSL", "RSA Data Security, Inc.", "Apache Foundation", and "Jean-loup Gailly and Mark Adler". Information about the aforementioned and the related open source software can be found in the "${INSTALL_PATH}/license/oss_licenses" directory. 본제품은 OpenSSL, RSA Data Security, Inc., Apache Foundation 및 Jean-loup Gailly와 Mark Adler 에의해개발또는라이선스된오픈소스소프트웨어를포함합니다. 관련상세정보는제품의디렉터리 ${IN STALL_PATH}/license/oss_licenses 에기재된사항을참고해주십시오. 안내서정보안내서제목 : JEUS Application Client 안내서발행일 : 소프트웨어버전 : JEUS v6.0 Fix #8 안내서버전 : v2.1.3

3 내용목차 안내서에대하여... xi 제1장 애플리케이션클라이언트 개요 프로그램작성 프로그램구조 예제 Descriptor 생성 Deployment Descriptor 작성 Deployment Descriptor 생성 패키징 Deploy 실행 콘솔에서실행... 6 제2장 고급애플리케이션클라이언트 개요 Dependency Injection EJB Injection 리소스 Injection 그외의 Injection Dependency Injection을사용할수없는클라이언트 보안설정 트랜잭션 제3장 애플릿클라이언트 개요 프로그램작성 예제 HTML 예제 Deploy 실행 웹브라우저에서실행 애플릿뷰어에서실행 제4장 JNLP 클라이언트 개요 프로그램작성 프로그램실행 클라이언트실행 클라이언트컨테이너에서실행 용어해설 JEUS iii

4 색인 iv JEUS Application Client 안내서

5 그림목차 [ 그림 1.1] 애플리케이션 / 애플릿클라이언트아키텍처... 2 JEUS v

6

7 표목차 [ 표 1.1] 서비스별추가적으로필요한 JEUS 라이브러리... 6 JEUS vii

8

9 예목차 [ 예 1.1] <<HelloClient.java>>... 2 [ 예 1.2] <<jeus-client-dd.xml>>... 4 [ 예 2.1] EJB 참조 Injection [ 예 2.2] 리소스의 Injection [ 예 2.3] <<HelloClient.java>> [ 예 2.4] <<jeus-client-dd.xml>> [ 예 2.5] <<Client.java>> [ 예 3.1] <<HelloClient.java>> [ 예 3.2] <<index.html>> [ 예 4.1] JNLP 서블릿 : <<web.xml>> [ 예 4.2] <<HelloClient.java>> [ 예 4.3] <<HelloClient.jnlp>> [ 예 4.4] <<HelloClient.java>> [ 예 4.5] <<HelloClient.jnlp>> JEUS ix

10

11 안내서에대하여 안내서의대상 본안내서는 JEUS 기반에서애플리케이션클라이언트를개발하는개발자를위한안내서이다. 본안내서에는 JEUS에서의애플리케이션클라이언트의개념과사용법그리고 JNLP의개념에대해설명한다. 애플리케이션클라이언트이란다음과같은실행가능한형태의프로그램을말한다. Java 애플리케이션클라이언트 애플릿 JNLP 클라이언트 안내서의전제조건 본안내서를원활하게이해하기위해서는다음과같은사항을미리알고있어야한다. Java EE 애플릿 JNLP 참고 본문에서사용한예제는 JEUS_HOME\samples\client 디렉터리에서전체소스를볼수있고직접실 행할수있다. 안내서의제한조건 웹서비스를이용하는클라이언트의경우에는본안내서의내용이외에웹서비스를위한추가작업이필 요하다. 참고 웹서비스의자세한내용은 "JEUS Web Service 안내서 " 를참고한다. 안내서에대하여 xi

12 안내서구성 본안내서는총 4개의장으로구성되어있다. 제1장애플리케이션클라이언트 JEUS 서버와는별도의 JVM에서수행되는애플리케이션클라이언트에대해서설명한다. 제2장고급애플리케이션클라이언트 클라이언트컨테이너없이동작하는클라이언트와애플리케이션클라이언트가사용할수있는서비스에대해설명한다. 제3장애플릿클라이언트 JEUS에서애플릿프로그램을어떻게작성하고설정및실행하는지에대해설명한다. 제4장 JNLP 클라이언트 클라이언트와이에대한 JNLP 파일를웹애플리케이션에 Deploy하는방법과실제로사용자가클라이언트를실행하는방법에대해설명한다. xii JEUS Application Client 안내서

13 안내서규약 표기 <<AaBbCc123>> <Ctrl>+C [Button] 진하게 " "( 따옴표 ) ' 입력항목 ' 하이퍼링크 > 참고주의 [ 그림 1.1] [ 표 1.1] AaBbCc123 의미프로그램소스코드의파일명 Ctrl과 C를동시에누름 GUI의버튼또는메뉴이름강조다른관련안내서또는안내서내의다른장및절언급화면 UI에서입력항목에대한설명메일계정, 웹사이트메뉴의진행순서하위디렉터리또는파일있음하위디렉터리또는파일없음참고또는주의사항주의할사항그림이름표이름 Java 코드, XML 문서 [ command argument ] < xyz > 옵션파라미터 < 와 > 사이의내용이실제값으로변경됨선택사항. 예 ) A B: A나 B 중하나파라미터등이반복되어서나옴 안내서에대하여 xiii

14 시스템사용환경 본안내서는모든예제와환경구성을 Microsoft Windows 의스타일을따랐다. UNIX와같은다른환경에서작업하는사람은몇가지사항만고려하면별무리없이사용할수있다. 대표적인것이디렉터리구분자인데, Windows 스타일인 \ 를 UNIX 스타일인 / 로바꿔서사용하면무리가없다. 이외에환경변수도 UNIX 스타일로변경해서사용하면된다. 그러나 Java 표준을고려해서문서를작성했기때문에, 대부분의내용은동일하게적용된다. 관련안내서 안내서 JEUS Server 안내서 JEUS EJB 안내서 JEUS Web Container 안내서 JEUS Web Service 안내서 JEUS WebAdmin 안내서 JEUS Security 안내서 JEUS Application & Deployment 안내서 설명 JEUS 시스템과서버의개요와시스템관리를위한안내서이다. JEUS EJB 엔진과 EJB 모듈의 Deploy에대해기술한안내서이다. JEUS 웹컨테이너의관리에대해내용과 Java EE WAR Archive, 서블릿 /JSP의관리및 Deploy하는방법에대해기술한안내서이다. JEUS 내의웹서비스에대해기술한안내서이다. JEUS 웹관리툴인 WebAdmin을사용한 JEUS의설정및제어, 모니터링, 클러스터링, 리소스설정및관리에대해기술한안내서이다. JEUS에서 Security 시스템의설정및운용방법과 Security 관련프로그래밍에대해기술한안내서이다. Java EE 애플리케이션을 JEUS에디플로이하기위한여러가지방법과툴에대해기술한안내서이다. 참고자료 The Java EE 5 Specification The JNLP Specification The Java WebStart Secification xiv JEUS Application Client 안내서

15 연락처 Korea TmaxSoft Co., Ltd 272-6, Seohyeon-dong, Bundang-gu, Seongnam-si, Gyeonggi-do, South Korea Tel: Fax: Web (Korean): 기술지원 : USA TmaxSoft, Inc. 560 Sylvan Avenue Englewood Cliffs, NJ U.S.A Tel: Fax: info@tmaxsoft.com Web (English): Japan TmaxSoft Japan Co., Ltd. 5F Sanko Bldg, Mita, Minato-Ku, Tokyo, Japan Tel: Fax: info@tmaxsoft.co.jp Web (Japanese): 안내서에대하여 xv

16 China TmaxSoft China Co., Ltd. Beijing Silver Tower, RM 1508, 2# North Rd Dong San Huan, Chaoyang District, Beijing, China, China Tel: ~8 Fax: Web (Chinese): xvi JEUS Application Client 안내서

17 제 1 장애플리케이션클라이언트 본장에서는 JEUS 서버 ( 엔진컨테이너 ) 와는별도의 JVM 에서수행되는애플리케이션클라이언트에대해 서설명한다 개요 일반적으로 Java EE 애플리케이션을호출하거나 Java EE의서비스를제공받기위해서는 JEUS의클라이언트컨테이너에서구동되는애플리케이션클라이언트 (Application Client) 모듈을사용한다. 애플리케이션클라이언트는 Java EE 환경을사용하는 standalone 클라이언트로 Java EE 스펙에정의되어있는애플리케이션클라이언트컨테이너 (Application Client Container) 에서구동되는애플리케이션이다. 애플리케이션클라이언트모듈은 JEUS 클라이언트의한형태이다. 이형태는클라이언트 / 서버시스템이나테스트및디버깅을하는경우유용하게사용할수있는클라이언트이다. JEUS 애플리케이션클라이언트는클라이언트컨테이너를사용해서 Naming Service, Scheduler, Security 등과같은 JEUS 서비스를사용할수있다. 클라이언트컨테이너를사용하지않더라도 JEUS 클라이언트라이브러리를사용하면 JNDI, Security 등의일부 Java EE Service를사용할수는있지만 Dependency Injection, JEUS Scheduler 등에해당하는서비스는사용할수가없다. 참고 1. Java EE 기반의애플리케이션클라이언트의자세한내용은 Java EE 스펙을참고한다. 2. JEUS XML 스키마의자세한내용은 "JEUS Reference Book" 을참고한다 프로그램작성 본절에서는 JEUS 클라이언트와서버환경의아키텍처에대해알아보고, 간단한샘플코드를예로들어 설명한다 프로그램구조 애플리케이션클라이언트는서버와는다른 JVM에서실행되는클라이언트프로그램이다. 애플리케이션클라이언트는 main() 메소드를호출해서실행하고, 가상머신이종료되면실행을마친다. 다른 Java EE 애플리케이션컴포넌트처럼애플리케이션클라이언트는시스템서비스를제공하는클라이언트컨테이너에서동작한다. 클라이언트컨테이너는다른 Java EE 컨테이너에비해서적은양의시스템리소스를사용한다. 클라이언트컨테이너는일반애플리케이션클라이언트에서 JEUS가제공하는 Java EE 서비스를이용할수있는환경을제공한다. 제 1 장애플리케이션클라이언트 1

18 이서비스에는 JNDI, Scheduler, Security, 그리고 JNDI 서비스를통해서 JEUS에바인딩되어있는애플리케이션컴포넌트 (EJB) 및시스템리소스들 (JDBC DataSource, JMS Connection Factory 등 ) 에대한이용이포함된다. [ 그림 1.1] 애플리케이션 / 애플릿클라이언트아키텍처 JEUS Clients Web Browser JVM Applet Application JEUS Client Runtime JVM Application Client JEUS Client Runtime JVM Application Client JEUS Client Container JEUS Manager JNDI Security Engine Container EJB Transaction Manager 예제 애플리케이션클라이언트는일반적인 Java 프로그램과마찬가지로반드시 public으로선언된 main 메소드를가지고있어야한다. 다음은 Java EE 5 style로작성된예제로 Injection을통해 EJB를호출한다. [ 예 1.1] <<HelloClient.java>> package helloejb; import java.io.*; import javax.ejb.ejb; public class HelloClient private static Hello hello; public static void main(string[] args) { 2 JEUS Application Client 안내서

19 } } System.out.println("EJB output : " + hello.sayhello()); 참고 Java EE 애플리케이션클라이언트프로그래밍에관련된내용은 Java EE 5 specification( va.sun.com/javaee) 을참고한다 Descriptor 생성 본절에서는 Deployment Descriptor 를작성하고생성하는방법에대해설명한다 Deployment Descriptor 작성 Deployment Descriptor 작성방법은다음과같이 2가지로나누어진다. Java EE Deployment Descriptor Java EE 스펙에서는클라이언트모듈에대한 Deployment Descriptor를정의하고있는데, 이는 WAS에관계없이표준적인설정을담고있다. Java EE 5 이후부터는기존과는달리표준 Descriptor 파일이없어도되며, 필요한설정은 Annotation을통해설정가능하다. 따라서위의 [ 예 1.1] 도별도의 application-client.xml이없이도동작한다. 표준 XML Descriptor에대한자세한설명은 Java EE 스펙을참고한다. JEUS Deployment Descriptor 서버와애플리케이션클라이언트가통신할때클라이언트모듈에대한정보가필요한데, Deployment Descriptor는이러한정보들을가지고있는 XML 설정이다. 클라이언트를위한 Deployment Descriptor는 META-INF\jeus-client-dd.xml이다. Descriptor를이용하여각각의애플리케이션클라이언트를클라이언트컨테이너에디플로이할때에어떤서비스를사용할지결정할수있다. 또한실행하는경우에도별도의수정없이 Descriptor만수정하여해당하는애플리케이션클라이언트에게적용할수있다. 일반적으로클라이언트가사용하는리소스등을지정하기위해사용하는데, 위의 [ 예 1.1] 에대해서는이 Descriptor를사용하지않아도되므로생략한다. 참고 jeus-client-dd.xml 에대한자세한설명은 "JEUS Reference Book" 을참고한다. 제 1 장애플리케이션클라이언트 3

20 Deployment Descriptor 생성 Deployment Descriptor 를생성할때필요하다면 JEUS 에서클라이언트모듈을디플로이하기전에 jeusclient-dd.xml 파일을작성한다. 다음은 Deployment Descriptor를작성한 XML 파일의예이다. XML에서클라이언트가사용하는환경변수, EJB 애플리케이션이바인딩된이름, 바인딩된 JDBC Data Source의이름, JMS Queue의 JNDI 바인딩이름을지정하고있다. 환경변수를제외하고는 applicationclient.xml의 <ref-name> 에실제바인딩된 JNDI 이름을 <export-name> 으로지정한다. [ 예 1.2] <<jeus-client-dd.xml>> <jeus-client-dd> <env> <name>year</name> <type>java.lang.integer</type> <value>2002</value> </env> <ejb-ref> <jndi-info> <ref-name>count</ref-name> <export-name>count_bean</export-name> </jndi-info> </ejb-ref> <res-ref> <jndi-info> <ref-name>datasource</ref-name> <export-name>oracle_datasource</export-name> </jndi-info> </res-ref> <res-env-ref> <jndi-info> <ref-name>jms/salaryinfo</ref-name> <export-name>jms/salary_info_queue1</export-name> </jndi-info> </res-env-ref> </jeus-client-dd> 참고 jeus-client-dd.xml 파일의각 Element 에대한설명은 "JEUS Reference Book" 을참고한다. 4 JEUS Application Client 안내서

21 1.4. 패키징 클라이언트모듈의패키징은다음방식중하나를사용할수있다. 수동패키징필요하다면사용자의컴퓨터에설치되어있는텍스트에디터나 XML 에디터를사용해서 Deployment Descriptor XML 파일을생성하고, 필요한파일을모아서 Java에서제공하는 jar 툴을이용하여클라이언트모듈에대한 jar 파일을생성한다. 애플리케이션클라이언트를패키징하기위해서는애플리케이션을구성하고있는클래스파일과필요하다면 application-client.xml, jeus-client-dd.xml 파일이포함되어있어야한다. 콘솔에서는 jar 명령어를이용하여클라이언트모듈에대한 jar 파일을생성한다. 표준에서는 jar 파일의 MANIFEST.MF에 Main-Class 속성으로이 jar 파일이실행될때사용할 Main Class를지정할수있다. 이경우 JEUS 클라이언트컨테이너는 Main Class를알려주지않아도자동으로이클래스를실행한다. 다음은 jar 명령어를이용하여 jar 파일을생성하는예이다. jar cvf hello-client.jar * IDE 를이용한패키징 Eclipse 나 NetBeans, IntelliJ IDEA 와같이 Java EE 환경을지원하는 IDE 툴에서생성한다. 이방법은 각 IDE 의도움말을참고한다 Deploy 애플리케이션클라이언트모듈은 수동 으로직접디플로이를진행하거나 JEUS WebAdmin를이용한다. 모듈안에는필요에따라 Java EE 표준 Descriptor 파일인 application-client.xml과 JEUS에서제공하는 jeus-client-dd.xml이있다. 애플리케이션클라이언트에대한모듈파일을생성한후해당파일을원하는위치로이동한다. 만약웹서비스클라이언트로동작하는기능이있다면추가로 jeusadmin이나 WebAdmin을통해디플로이를수행하거나 appcompiler를사용해야웹서비스 Stub이생성된다. 참고 WebAdmin 을이용하는방법에대해서는 "JEUS WebAdmin 안내서 " 를참고하고, 웹서비스클라이 언트의 Deploy 에대해서는 "JEUS Web Service 안내서 " 를참고한다. 제 1 장애플리케이션클라이언트 5

22 1.6. 실행 본절에서는각서비스별로추가적으로필요한 JEUS 라이브러리와콘솔에서모듈을실행하는방법에대해설명한다. 애플리케이션클라이언트로웹서비스를사용할경우, 라이브러리실행단계에서기본라이브러리인 JEUS_HOME/lib/client/clientcontainer.jar 외에추가적으로필요한라이브러리들이존재한다. 이들은대부분 JEUS_HOME/lib/system( 이하 SYSTEM_LIB_DIR) 아래위치하며다음의표를참고한다. [ 표 1.1] 서비스별추가적으로필요한 JEUS 라이브러리 서비스 JMS(Java Message Service) Web Service JEUS 라이브러리 - SYSTEM_LIB_DIR/jms.jar - SYSTEM_LIB_DIR/jeus-ws.jar - SYSTEM_LIB_DIR/activation.jar - SYSTEM_LIB_DIR/mail.jar - SYSTEM_LIB_DIR/jaxb-impl.jar - SYSTEM_LIB_DIR/saaj-impl.jar - SYSTEM_LIB_DIR/jaxws-rt.jar - SYSTEM_LIB_DIR/sjsxp.jar - SYSTEM_LIB_DIR/streambuffer.jar - SYSTEM_LIB_DIR/stax-ex.jar - SYSTEM_LIB_DIR/resolver.jar - SYSTEM_LIB_DIR/FastInfoset.jar - SYSTEM_LIB_DIR/wsit.jar JMX(Java Management extensions) SYSTEM_LIB_DIR/jmxremote.jar 콘솔에서실행 콘솔에서모듈을실행하기위해서 appclient를사용한다. appclient는 JEUS_HOME\bin에존재하는스크립트로클라이언트컨테이너를통해애플리케이션클라이언트모듈을실행한다. JEUS에서제공하는클라이언트컨테이너의 command line은다음과같은형식을가진다. 사용법 appclient -client client_jar_path [-main main_class] [-cp classpath] application_arguments... 다음은명령어옵션에대한설명이다. 6 JEUS Application Client 안내서

23 옵션 -client client_jar_path [-main main_class] [-cp classpath] 설명실행할애플리케이션클라이언트의패스를지정한다. 애플리케이션클라이언트의 Main-Class를지정한다. 클라이언트의클래스패스로지정된곳에 META-INF\MANIFEST.MF에 Main-Class가지정되어있다면이옵션이필요하지않다. 필요한경우클라이언트실행에필요한클래스패스를지정한다. 예제위의예제를실행하면다음과같다. 애플리케이션클라이언트가정상적으로실행되기위해서 Hello EJB 가디플로이되어있어야한다. runappclient: [echo] appclient -client C:\jeus\samples\client\hello/hello-client/dist/ hello-client.jar [exec] JEUS prepend classpath : file:/c:/jeus/jeus6/classes/ [exec] AppClientContainer - JEUS 6.0 [exec] [ :24:24][2][b008] [client-10] starting client application [helloejb.helloclient:] [exec] EJB output : Hello EJB! 위의내용중 JEUS log를출력하지않고싶다면다음을설정한다. -Djeus.log.level=OFF log 설정에대한자세한설명은 "JEUS Server 안내서 " 를참고한다. 제 1 장애플리케이션클라이언트 7

24

25 제 2 장고급애플리케이션클라이언트 본장에서는이전장에서설명한애플리케이션클라이언트의설명보다좀더고급의모듈구현에대해서 설명한다 개요 Java EE 스펙에제시된클라이언트컨테이너를사용하지않고도간편하게일반 Java 클래스를실행하듯이 JEUS 클라이언트를실행할수있다. 이를위해서클라이언트컨테이너가 Dependency Injection을하는리소스의종류와이들의 JNDI 디폴트바인딩이름을살펴본다. 또한클라이언트컨테이너없이동작하는클라이언트와애플리케이션클라이언트가사용할수있는서비스 ( 보안설정, 트랜잭션 ) 에대해자세히설명한다. 클라이언트컨테이너를사용하지않고 JEUS 클라이언트를실행하는경우에는컨테이너의 Dependency Injection 서비스를받을수없음에유의해야한다. 또한보안설정을함으로써 JEUS가제공하는다양한서비스를실행할수있고, 트랜잭션기능을사용하면클라이언트가사용한애플리케이션과리소스들을글로벌트랜잭션으로관리할수있다 Dependency Injection 본절에서설명하는 Injection 의내용은애플리케이션클라이언트를포함하여웹애플리케이션, EJB 애플 리케이션등에모두적용되는내용이다. Injection이가능한리소스는 EJB 객체와 JNDI로매핑이가능한 Environment Variable 등이있으며기본적으로애플리케이션컴포넌트의 JNDI Context인 java:comp/env context에서지정된이름을찾는다. 실제리소스는 JNIDI 글로벌 Context에바인딩되어있으므로이글로벌바인딩이름을알아야한다. 리소스들은자신의 JNDI 글로벌바인딩이름을갖고있다. EJB 애플리케이션을예로들면이이름은다음중에한가지방법으로설정되어야한다. JEUS에서인식하는 jeus-ejb-dd.xml의 <export-name> 을사용 표준에있는 ejb-jar.xml의 <mapped-name> 을사용 EJB 애플리케이션에지정된 Annotation의 mappedname을사용 "JEUS EJB 안내서 " 에서제시되어있는 JEUS의기본 JNDI 이름으로 EJB가바인딩클라이언트컨테이너가없는환경등에서 JNDI를직접사용하여 EJB를얻을경우에는이런기본 JNDI 이름이정해지는규칙을알아야한다. 이렇게어떤이름으로바인딩될지개발자가알기힘들기때문에실제개발에서는위의방법중어느하나의방법으로 JNDI 바인딩이름을명시하는것이일반적이다. 제 2 장고급애플리케이션클라이언트 9

26 리소스를 Injection하는쪽에서는 JEUS 자체의 Descriptor인 jeus-ejb-dd.xml, jeus-web-dd.xml, jeus-clientdd.xml 등에서 Injection에사용할 JNDI 글로벌바인딩이름을지정하거나 ejb-jar.xml, web.xml, applicationclient.xml 등의표준 Descriptor의 mapped-name, 혹은 Annotation의 mappedname에지정된값을사용하여매핑한다. 이모든값이지정되어있지않는경우에는 JEUS의기본규칙에따른이름으로 Injection 을시도한다. 실제개발에서는 Annotation의 mappedname으로 JNDI 글로벌바인딩이름을지정하기보다는 XML을사용하여지정하는것이좋다. 특히여러곳에서운영할애플리케이션이라면그환경에맞는글로벌이름을사용해야하므로 XML을사용해야한다. Injection은 Annotation을한변수와 setter method에대해서이루어지지만 Annotation을하지않아도 XML Descriptor에서지정한변수와 setter method에대해 injection이가능하다. Injection의자세한설명은 Java EE 5 Specification을참고하고, Injection이가능한리소스의자세한설명은해당안내서의 "5. Resources, Naming and Injection" 을참고한다. 참고 EJB 애플리케이션에대한 EJBContext injection 등은 "JEUS EJB 안내서 " 를참고한다. 다음의예는이들중 Annotation의 mappedname을사용한 EJB 애플리케이션을클라이언트에서 Injection 하는예제이다. StatelessEJB1 애플리케이션이 MyEJB1이란이름을 JNDI Annotation의 mappedname에같은이름을지정한다. 또한클라이언트에서 Injection 대신 JNDI Lookup을사용한다면 JNDI 글로벌바인딩이름으로바로 Lookup을하거나클라이언트컨테이너등에서동작하는클라이언트라면 application-client.xml 등을이용하여애플리케이션 Context에등록된이름인 java:comp/env/ejb/sless1를사용할수있다. [ 예 2.1] EJB 참조 Injection import mappedname="myejb1") public class StatelessEJB1 implements RemoteSession, LocalSession {... beanname="statelessejb1", mappedname="myejb1") private RemoteSession sless1;... RemoteSession session = context.lookup("myejb1");... // with client container and application-client.xml descriptor RemoteSession session = context.lookup("java:comp/env/ejb/sless1"); 10 JEUS Application Client 안내서

27 EJB Injection EJB 참조의경우 Injection을위해다음과같은바인딩이름을사용한다. 변수타입이비즈니스인터페이스인경우 mappedname이있는경우에 mappedname + "#" + Business_Interface_Name을 Lookup할때사용할글로벌이름으로사용한다. 위예제의경우 MyEJB1#RemoteSession을사용한다. 만약 EJBHome 인터페이스를사용하지않고비즈니스인터페이스만있는 EJB라면 mappedname을글로벌이름으로사용할수있다. EAR이나 EJB JAR 등으로디플로이된경우 ejb-jar.xml에 ejb-link가주어졌거나 Annotation에 beanname 이있을때에는동일애플리케이션내의 EJB를찾아그 EJB의 mappedname을글로벌이름으로사용하여 Lookup한다. 만약이런정보가없는경우에는비즈니스인터페이스의이름으로같은애플리케이션내에서 EJB를찾아그 EJB의 mappedname을글로벌이름으로이용한다. 마지막으로비즈니스인터페이스이름으로 JNDI에서 Lookup한다. 위의예제인경우 ejb1.remotesession 이름으로 Lookup한다. 이방식은 EJB Deploy의경우 mappedname이없을때기본바인딩이름을사용하는것이다. 변수타입이 EJBHome/EJBObject 인터페이스의하위인터페이스인경우 mappedname이있는경우에 mappedname을글로벌이름으로사용한다. EAR이나 EJB JAR 등으로디플로이된경우 ejb-jar.xml에 ejb-link가주어졌거나 Annotation에 beanname 이있을때에는동일애플리케이션내의 EJB를찾아그 EJB의 mappedname을사용하여 Lookup한다. 만약이런정보가없는경우에는변수타입의인터페이스이름으로같은애플리케이션내에서 EJB를찾아그 EJB의 mappedname을글로벌이름으로이용한다. 마지막으로비즈니스인터페이스이름으로 JNDI에서 Lookup한다 리소스 Injection Annotation을사용할수있다. mappedname이지정된경우에는이이름을리소스의 JNDI 글로벌바인딩이름으로 Lookup한다. name 속성값을 JNDI 글로벌바인딩이름으로사용한다. name 속성값이지정되지않은경우에는스펙에따라애플리케이션클래스의이름 + / + 변수혹은 setter method의프로퍼티이름이사용된다. 다음의예제에서는 jdbc/db2 이름으로 JNDI Lookup을한다. 만약 name 속성이지정되지않았다면 test.client/mydatasource3로 Lookup한다. 참고 name이있는경우혹은 name 속성이지정되지않을경우의기본값은스펙으로정해져있지만이값은애플리케이션 Context에매핑되는이름이고실제 JNDI 글로벌바인딩이름은벤더마다다른규칙을갖고있다. 따라서호환성을위해서는 mappedname 등을사용하는것이좋다. 제 2 장고급애플리케이션클라이언트 11

28 [ 예 2.2] 리소스의 Injection package test; class Client // default mapping if no mapped-name private javax.sql.datasource mydatasource3;... } 그외의 @PersistenceContext 등의 Annotation 을이용해서각각 웹서비스객체, EntityManager 객체, EntityManagerFactory 객체등을 Injection 으로얻을수있다. 참고 그외자세한설명은 Java EE 5 Specification 을참고한다 Dependency Injection 을사용할수없는클라이언트 애플리케이션컨테이너를사용하지않고도 JEUS의 JNDI 등을통해 JEUS의리소스 (Resource) 와애플리케이션을사용할수있다. 이경우에는 JEUS_HOME\lib\client의 jclient.jar 파일을클래스패스로설정하고작성한클라이언트를수행한다. 하지만이경우 Dependency Injection은사용할수없으므로다음과같이소스를변경해서사용해야한다. 예제에서사용한 EJB 애플리케이션의바인딩이름은 JEUS의기본바인딩이름규칙에따른이름을사용한다. 이클라이언트는클라이언트컨테이너위에서도동작한다. 즉, 클라이언트컨테이너를사용하지않는모든클라이언트는클라이언트컨테이너위에서도동작한다. [ 예 2.3] <<HelloClient.java>> package helloejb; import java.io.*; import javax.ejb.ejb; import javax.naming.context; import javax.naming.initialcontext; import java.util.hashtable; /** * HelloEJB application client */ public class HelloClient { private static Hello hello; 12 JEUS Application Client 안내서

29 public static void main(string[] args) { try { Hashtable env = new Hashtable(); env.put(context.initial_context_factory,"jeus.jndi.jnscontextfactory"); Context context = new InitialContext(env); hello = (Hello) context.lookup("helloejb.hello"); } } System.out.println("EJB output : " + hello.sayhello()); } catch (Exception ex) { ex.printstacktrace(); } 클라이언트패키징은 XML 파일을처리하는클라이언트컨테이너에서실행하는것이아니므로표준, JEUS XML 파일없이 JAR 파일로작성한다. 디플로이는마찬가지로자신이원하는위치에 JAR 파일을복사한다. 실행할때는일반 Java 클래스를실행하는것과같이위의클라이언트클래스를실행한다. 실행한결과는다음과같다. C:\>java -cp %JEUS_HOME%\lib\client\jclient.jar;c:\hello-client.jar helloejb.helloclient EJB output : Hello EJB! 2.4. 보안설정 클라이언트에서는 JEUS가제공하는 Java EE의서비스를사용할때자신이이서비스를사용할수있는권한이있는지를확인할수있도록클라이언트의사용자명, 패스워드를클라이언트런타임에지정해야한다. 이런서비스에는 EJB 애플리케이션, JMS 리소스등이있다. 이를지정하는방법은다음의 3가지가있다. jeus-client-dd.xml을사용하는방법 jeus-client-dd.xml의 <security-info> 를지정하면클라이언트컨테이너에서애플리케이션을수행하기전에주어진사용자명, 패스워드로로그인한다. 이후애플리케이션에서는 JEUS 서비스를사용할때이사용자명으로인증을시도한다. jeus-client-dd.xml 설정의자세한설명은 "JEUS Reference Book" 을참고한다. 다음은설정의예이다. [ 예 2.4] <<jeus-client-dd.xml>> <jeus-client-dd>... <security-info> <provider-node-name>jeusnode</provider-node-name> 제 2 장고급애플리케이션클라이언트 13

30 <user>jeus</user> <passwd>jeuspass</passwd> </security-info>... </jeus-client-dd> JNDI Context를사용하는방법애플리케이션에서 JNDI Context를생성할때 JNDI의프로퍼티를이용해서원하는사용자명, 패스워드로로그인할수있다. 이후로그인한사용자명으로인증이이루어진다. 이방법은클라이언트컨테이너를사용하지않을경우에도가능하다. JNDI 설정은 "JEUS Server 안내서 " 를참고한다. [ 예 2.5] <<Client.java>> Hashtable env = new Hashtable(); env.put(context.initial_context_factory, "jeus.jndi.jnscontextfactory"); env.put(context.provider_url, "jeusnode"); env.put(context.security_principal, "jeus"); env.put(context.security_credentials, "jeuspass"); Context context = new InitialContext(env); JEUS Security API 를직접사용하는방법 JEUS 의 Security API 를사용하여로그인할수있다. Security API 설명은 "JEUS Security 안내서 " 를참 고한다 트랜잭션 클라이언트에서사용하는 EJB 애플리케이션, JDBC DataSource, JMS Connection Factory와 Destination 등을하나의글로벌트랜잭션, 혹은 XA 트랜잭션으로사용하기위해서는 UserTransaction을사용한다. UserTransaction의자세한설명은 Java EE 5 Specification ( 을참고한다. 클라이언트에서사용하는트랜잭션매니저는리소스를직접관리하는지의여부에따라서버트랜잭션매니저와클라이언트트랜잭션매니저로나눌수있다. 트랜잭션매니저의자세한설명은 "JEUS Server 안내서 " 를참고한다. 14 JEUS Application Client 안내서

31 제 3 장애플릿클라이언트 본장에서는 JEUS 에서애플릿프로그램의작성, 설정및실행방법에대해설명한다 개요 애플릿은웹브라우저에서실행되는 Java 애플리케이션이다. 웹브라우저에서실행되는애플릿에서 JEUS 의 Java EE 서비스를사용하기위해서는애플릿컨테이너를사용한다. 기본적으로애플릿은애플리케이션클라이언트이지만 JEUS에서는아직경량클라이언트컨테이너를제공하지않기때문에 JEUS의라이브러리들에바로접근할수없는애플릿은컨테이너없이바로 JEUS의 Java EE 서비스를사용하는방법으로구현한다. 애플릿을사용하면브라우저에서 Java 애플리케이션을수행할수있다. 더불어 JEUS의기능을사용하는클라이언트로동작할수있다 프로그램작성 애플릿이구동되는데필요한파일들은웹애플리케이션내에존재한다. HTML의 JAVA_CODEBASE가 "." 으로되어있기때문에이 jar 파일들은 HTML 문서가디플로이되는웹애플리케이션에서 HTML 문서와같은디렉터리에존재해야한다. 본절에서는사용자가참고할수있는샘플예제를설명한다 예제 애플릿애플리케이션은 Applet 또는 JApplet 클래스를상속받고, start() 메소드를구현해야한다. 다음예제는클라이언트컨테이너를통해서가아닌독립적으로수행되는클라이언트의예이다. 따라서, Dependency Injection을사용하지않고 JNDI API를사용하여해당 EJB를직접 Lookup하게되어있다. 앞의클라이언트컨테이너와동일한 EJB를사용하고이경우 EJB는 helloejb.hello라는인터페이스이름을바인딩 name으로사용한다. [ 예 3.1] <<HelloClient.java>> package helloejb; import javax.naming.context; import javax.naming.initialcontext; import java.applet.applet; import java.util.hashtable; 제 3 장애플릿클라이언트 15

32 import java.awt.borderlayout; import java.awt.font; import java.awt.event.*; import javax.swing.*; public class HelloClient extends JApplet { public void start() { try { Hashtable env = new Hashtable(); env.put(context.initial_context_factory,"jeus.jndi.jnscontextfactory"); Context context = new InitialContext(env); Hello hello = (Hello) context.lookup("helloejb.hello"); System.out.println("EJB output : " + hello.sayhello()); } } JLabel label = new JLabel(hello.sayHello()); label.setfont(new Font("Helevetica", Font.BOLD, 15)); getcontentpane().setlayout(new BorderLayout()); getcontentpane().add(label, BorderLayout.CENTER); setsize(500, 250); setvisible(true); } catch (Exception ex) { ex.printstacktrace(); } 참고 EJB 가어떤이름으로 JNDI 에바인딩될지는 "JEUS EJB 안내서 " 를참고한다 HTML 예제 HTML 문서에는어떤애플릿을호출하고이애플릿의클래스들의위치를지정한다. 예제에서는위의애플리케이션클래스와 helloejb.hello EJB 인터페이스가 hello-client.jar에포함되어있다고가정한다. jclient.jar 는 JEUS_HOME\lib\client에존재하는클라이언트용 JEUS 라이브러리이다. [ 예 3.2] <<index.html>> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html> <head> <title>hello JavaEE</title> </head> <body> 16 JEUS Application Client 안내서

33 <center> <h1>hello JavaEE Sample Applet!</h1> <APPLET CODE = "helloejb.helloclient" JAVA_CODEBASE = "." ARCHIVE = "hello-client.jar,jclient.jar" WIDTH = 300 HEIGHT = 300/> </APPLET> </center> </body> </html> 참고 HTML 문서를브라우저에관계없이사용하고또한브라우저가실행되는곳에 JDK가설치되어있지않다면이를설치하도록유도할수있다. HTML 문서로변환하기위해서는 JDK의 htmlconverter를이용한다. 자세한내용은 verter.html를참고한다 Deploy 애플릿은기본적으로 HTML 문서에서접근하므로이 HTML 문서를웹으로전송하기위해서는웹애플리케이션이필요하다. 애플릿을실행하기전에웹애플리케이션과 EJB의디플로이가완료되어야한다. 웹애플리케이션 Deploy 웹애플리케이션을생성하고 HTML 문서및 ARCHIVE에지정된 jar 파일들을추가한다. 웹애플리케이션의생성과디플로이에대한자세한내용은 "JEUS Application & Deployment 안내서 " 를참고한다. EJB Deploy 웹애플리케이션디플로이가완료되면 EJB 애플리케이션을디플로이한다 실행 웹브라우저를실행하고 HTML 문서 URL을입력하여애플릿을실행한다. 애플릿의경우 Java Security 모델에따라 java.policy에지정된대로 Access control을한다. 따라서 java.pol icy 파일에애플릿에서사용하는클래스에대해 permission을제공해야애플릿이문제없이수행된다. 참고 java.policy 설정은 ty.html 문서를참고한다. 제 3 장애플릿클라이언트 17

34 웹브라우저에서실행 웹브라우저는 HTML 페이지내의 <applet> 태그로접속한다. 예제의애플릿은 Swing을사용하므로다음의주소로웹브라우저를통해서접근할수있다 애플릿뷰어에서실행 테스트과정에서는브라우저를통하지않고 JDK에포함된애플릿뷰어를사용하여애플릿을수행할수있다. 이경우 Exception 등을바로확인할수있어서브라우저에서테스트하는것보다쉽게개발할수있다. appletviewer index.html 18 JEUS Application Client 안내서

35 제 4 장 JNLP 클라이언트 본장에서는클라이언트와이에대한 JNLP 파일를웹애플리케이션에디플로이하는방법과실제로사용 자가클라이언트를실행하는방법에대해설명한다 개요 애플리케이션의사이즈가크고버전이자주변경된다면 JNLP를사용한다. JNLP는 Java Network Launching Protocol의약자로소프트웨어컴포넌트의배포및실행에관한프로토콜이다. 프로토콜을이용하여클라이언트애플리케이션 ( 이하클라이언트 ) 을웹서버를통해자동으로다운받아클라이언트를실행할수있는데이를 Java Web Start라고한다. JNLP를통해다운받은클라이언트도다른것들과마찬가지로 JEUS를사용할수있다. JNLP를사용하면클라이언트프로그램의배포가간편하고버전이업그레이드됨에따라자동으로필요한바이너리를전송받으므로지속적인배포가가능하다. 또한 JDK 홈디렉터리의 sample\jnlp에는여러가지 JNLP 샘플이있으므로이디렉터리아래에위치한 README 파일을따라실행하면 JNLP를쉽게연습할수있다. 본안내서에서 JNLP에대한상세한정보를제공하지않는다. 그러므로 JNLP에대해서어느정도의사전지식이필요하다. JLNP를통해서 jar 파일을배포할때는 Java Permission 문제가항상따라다니기때문에대부분 sign을하게된다. JEUS에서제공하는 jclient.jar, clientcontainer.jar 등의파일들은 sign이되어있지않으므로반드시다른 jar 파일들과함께 sign한다. 참고 JNLP 의자세한내용은 를참고한다 프로그램작성 본절에서는웹애플리케이션의구성방법에대해설명한다. 웹애플리케이션구성 JNLP 파일을웹에서얻고거기에정의된 JAR 파일들을웹서버에서다운받기위해서는 JNLP 프로토콜을구현한서블릿이필요하다. JEUS에서는이를직접제공하지않으므로 JDK 1.5에서제공하는샘플 JNLP 서블릿을사용한다. 이런서블릿을구현해둔 jnlp-servlet.jar 파일은 Sun JDK 1.5 기준으로다음의디렉터리에위치한다 (IBM JDK 1.5는 lib 디렉터리 ). sample\jnlp\servlet 제 4 장 JNLP 클라이언트 19

36 jnlp-servlet.jar 파일을웹애플리케이션의 WEB-INF\lib 에복사해두고다음과같이 web.xml 을작성하면이 서블릿이 JNLP 프로토콜에따라 JNLP 파일과리소스파일들을클라이언트로전송해준다. 참고 JNLP 프로토콜에따라리소스파일을전송하는 JnlpDownloadServlet에대한자세한설명은 guide.html를참고한다. 다음은 JNLP 서블릿을위한 web.xml 예제이다. [ 예 4.1] JNLP 서블릿 : <<web.xml>> <?xml version="1.0" encoding="utf-8"?> <web-app version="2.5" xmlns=" xmlns:xsi=" xsi:schemalocation=" <servlet> <servlet-name>jnlpdownloadservlet</servlet-name> <servlet-class>jnlp.sample.servlet.jnlpdownloadservlet</servlet-class> <init-param> <param-name>loglevel</param-name> <param-value>debug</param-value> </init-param> <init-param> <param-name>logpath</param-name> <param-value>jnlpdownloadservlet.log</param-value> </init-param> </servlet> <servlet-mapping> <servlet-name>jnlpdownloadservlet</servlet-name> <url-pattern>*.jnlp</url-pattern> </servlet-mapping> </web-app> 다음은 HelloClient 클래스의소스이다. JNLP 클라이언트는일반클라이언트동일하다. JNLP 클라이언트는콘솔창이없으므로여기서는애플릿과같이 Swing을사용하여 GUI 창을만들었다. [ 예 4.2] <<HelloClient.java>> package helloejb; import javax.naming.context; import javax.naming.initialcontext; import java.util.hashtable; 20 JEUS Application Client 안내서

37 import java.awt.borderlayout; import java.awt.font; import java.awt.event.*; import javax.swing.*; public class HelloClient extends JFrame { public static void main(string[] args) { new HelloClient(); } public HelloClient() { try { Hashtable env = new Hashtable(); env.put(context.initial_context_factory,"jeus.jndi.jnscontextfactory"); Context context = new InitialContext(env); Hello hello = (Hello) context.lookup("helloejb.hello"); } } JLabel label = new JLabel(hello.sayHello()); label.setfont(new Font("Helevetica", Font.BOLD, 15)); getcontentpane().setlayout(new BorderLayout()); getcontentpane().add(label, BorderLayout.CENTER); setsize(500, 250); setvisible(true); } catch (Exception ex) { ex.printstacktrace(); } Java Web Start는이 HelloClient를실행하기위한정보가담긴 JNLP 파일을요청한다. 다음의예에서는 HelloClient를수행하기위해필요한 JAR 파일과사용하는 Java 버전등이명시되어있다. <jnlp> 태그에서 codebase 속성의 $$codebase는 JNLP 서블릿을포함한웹애플리케이션이디플로이되는 Context에따라자동으로교체된다. 여기서는 JAR 파일의 href 값에별다른경로가지정되어있지않으므로 JNLP 파일과 JAR 파일은모두동일한디렉터리에위치시켜야한다. [ 예 4.3] <<HelloClient.jnlp>> <?xml version="1.0" encoding="utf-8"?> <jnlp spec="1.0" codebase="$$codebase"> <information> <title>helloclient</title> <vendor>tmaxsoft</vendor> </information> 제 4 장 JNLP 클라이언트 21

38 <resources> <j2se version="1.5+" href=" <jar href="hello-client.jar"/> <jar href="jclient.jar"/> </resources> <application-desc main-class="helloejb.helloclient"/> </jnlp> 참고 $$codebase 와같은예약어는 Sun 의 JNLP 서블릿구현에서제공하는것이며 JNLP 표준에서정의 한것은아니다 프로그램실행 본절에서는클라이언트의실행방법에대해설명한다 클라이언트실행 웹애플리케이션을디플로이한후 JNLP 파일을웹브라우저에서접근하면 Java Web Start가시작되고클라이언트가실행된다. JNLP 파일을요청하는 URL의예는웹애플리케이션의 Context가 hello인경우다음과같다. 이경우 Hel loclient.jnlp와 HelloClient.jnlp에정의된 hello-client.jar, jclient.jar는 url path가 app로되어있기때문에 hello 디렉터리혹은 war 파일내의 app 디렉터리에존재한다. 이 JNLP 파일을웹브라우저에서요청한결과로지정된클라이언트가수행된다. 웹브라우저와별도의 Java 화면이나타나고그곳에서클라이언트가실행된것을확인할수있다 클라이언트컨테이너에서실행 JNLP 클라이언트의경우클라이언트컨테이너를통해서 Dependency Injection을사용할수있다. 그렇게하려면위에서제시한방법과는다른방법이필요하다. 다음은 HelloClient.java에서 Injection을사용한코드의예이다. [ 예 4.4] <<HelloClient.java>> package helloejb; import java.awt.borderlayout; import java.awt.font; import java.awt.event.*; 22 JEUS Application Client 안내서

39 import javax.swing.*; import javax.naming.context; import javax.naming.initialcontext; import javax.ejb.ejb; public class HelloClient extends JFrame private static Hello hello; public static void main(string[] args) { } new HelloClient(); } public HelloClient() { try { JLabel label = new JLabel(hello.sayHello()); label.setfont(new Font("Helevetica", Font.BOLD, 15)); getcontentpane().setlayout(new BorderLayout()); getcontentpane().add(label, BorderLayout.CENTER); setsize(500, 250); setvisible(true); } catch (Exception ex) { ex.printstacktrace(); } } JNLP 파일도이에맞추어서작성해야한다. 클라이언트의메인클래스대신에 JEUS의클라이언트컨테이너클래스를기술하고그클래스에전달할파라미터를설정해야한다. 파라미터에대한설명은 콘솔에서실행 을참고한다. <resources> 태그에는 client.jar 대신 clientcontainer.jar를기술하고, JEUS 클라이언트컨테이너가 Java Web Start로실행하는모드임을알수있도록 jeus.client.container.jws property를 true로설정해야한다. 또한 Java Web Start 프로그램의경우 Permission을체크하기때문에 <security> 태그에 all-permission 또는 j2ee-application-client-permissions를기술하고 JAR 파일은반드시 sign을해야한다. [ 예 4.5] <<HelloClient.jnlp>> <?xml version="1.0" encoding="utf-8"?> <jnlp spec="1.0" codebase="$$codebase"> <information> <title>helloclient</title> <vendor>tmaxsoft</vendor> </information> <security> 제 4 장 JNLP 클라이언트 23

40 <all-permissions/> </security> <resources> <j2se version="1.5+" href=" <jar href="clientcontainer.jar"/> <jar href="hello-client.jar"/> <property name="jeus.client.container.jws" value="true"/> </resources> <application-desc main-class="jeus.client.container.clientcontainer"> <argument>-main</argument> <argument>helloejb.helloclient</argument> </application-desc> </jnlp> 위의경우와마찬가지로웹브라우저나 Java Web Start 를통해서 JNLP 파일을로딩하면실행되고결과 는동일하다. JAR 파일 sign 하기 JNLP 파일에 <security> 태그가있을경우 Java Web Start는반드시 signed JAR 파일을요구하기때문에예제의 hello-client.jar를 sign해야한다. 다음은 JDK에서제공하는 keytool과 jarsigner를이용해서 hello-client.jar를 sign하는예이다. keytool -genkey -alias helloclient -keypass keystore helloks -storepass 1234 jarsigner -keystore helloks hello-client.jar helloclient 24 JEUS Application Client 안내서

41 용어해설 Java Web Start 클라이언트가 JNLP 리소스를액세스하거나다운받을수있도록, SUN에서제공하는소프트웨어이다. JNLP JNLP는 Java Network Launching Protocol을나타내며, 소프트웨어컴포넌트를배포하는프로토콜이다. 용어해설 25

42

43 색인 A appclient, 6 Applet, 15 C Client Container, 3 D Deploy, 5 J Java EE Deployment Descriptor, 3 JEUS Deployment Descriptor, 3 JNLP, 19 ㅇ 아키텍처, 2 애플릿, 2, 15 ㅍ 패키징, 5 색인 27

44

JEUS

JEUS JEUS Application Client 안내서 JEUS v7.0 Fix#1 Copyright 2013 TmaxSoft Co., Ltd. All Rights Reserved. Copyright Notice Copyright 2013 TmaxSoft Co., Ltd. All Rights Reserved. 대한민국경기도성남시분당구서현동 272-6 우 ) 463-824

More information

목차 JEUS JNLP Client Sample 가이드 JNLP 란 JNLP의이점 TEST TEST 환경 TEST Sample sample application 셋팅 (ser

목차 JEUS JNLP Client Sample 가이드 JNLP 란 JNLP의이점 TEST TEST 환경 TEST Sample sample application 셋팅 (ser 기술교육 JEUS JNLP Sample 가이드 2015. 06. 19 목차 JEUS JNLP Client Sample 가이드... 3 1. JNLP 란... 3 2. JNLP의이점... 3 3. TEST... 3 3.1 TEST 환경... 3 3.2 TEST Sample... 4 3.2.1 sample application 셋팅 (server side)...

More information

Tmax

Tmax Tmax JTmaxServer User Guide Tmax v5.0 SP1 Copyright 2009 TmaxSoft Co., Ltd. All Rights Reserved. Copyright Notice Copyright 2009 TmaxSoft Co., Ltd. All Rights Reserved. 대한민국경기도성남시분당구서현동 263 분당스퀘어 (AK 프라자

More information

Microsoft Word - AnyLink Introduction v3.2.3.doc

Microsoft Word - AnyLink Introduction v3.2.3.doc Copyright 2007 Tmax Soft Co., Ltd. All Rights Reserved. AnyLInk Copyright Notice Copyright 2007 Tmax Soft Co., Ltd. All Rights Reserved. Tmax Soft Co., Ltd. 대한민국서울시강남구대치동 946-1 글라스타워 18 층우 )135-708 Restricted

More information

<4D F736F F F696E74202D20C1A63236C0E520BED6C7C3B8B428B0ADC0C729205BC8A3C8AF20B8F0B5E55D>

<4D F736F F F696E74202D20C1A63236C0E520BED6C7C3B8B428B0ADC0C729205BC8A3C8AF20B8F0B5E55D> Power Java 제 26 장애플릿 이번장에서학습할내용 애플릿소개 애플릿작성및소개 애플릿의생명주기 애플릿에서의그래픽컴포넌트의소개 Applet API의이용 웹브라우저상에서실행되는작은프로그램인애플릿에대하여학습합니다. 애플릿이란? 애플릿은웹페이지같은 HTML 문서안에내장되어실행되는자바프로그램이다. 애플릿을실행시키는두가지방법 1. 웹브라우저를이용하는방법 2. Appletviewer를이용하는방법

More information

목차 JEUS EJB Session Bean가이드 stateful session bean stateful sample 가이드 sample source 결과확인 http session에

목차 JEUS EJB Session Bean가이드 stateful session bean stateful sample 가이드 sample source 결과확인 http session에 개념정리및샘플예제 EJB stateful sample 문서 2016. 01. 14 목차 JEUS EJB Session Bean가이드... 3 1. stateful session bean... 3 1.1 stateful sample 가이드... 3 1.1.1 sample source... 3 1.1.2 결과확인... 6 1.2 http session에서사용하기...

More information

Interstage5 SOAP서비스 설정 가이드

Interstage5 SOAP서비스 설정 가이드 Interstage 5 Application Server ( Solaris ) SOAP Service Internet Sample Test SOAP Server Application SOAP Client Application CORBA/SOAP Server Gateway CORBA/SOAP Gateway Client INTERSTAGE SOAP Service

More information

Network Programming

Network Programming Part 5 확장된 Network Programming 기술 1. Remote Procedure Call 2. Remote Method Invocation 3. Object Request Broker 2. Java RMI

More information

Microsoft PowerPoint - 04-UDP Programming.ppt

Microsoft PowerPoint - 04-UDP Programming.ppt Chapter 4. UDP Dongwon Jeong djeong@kunsan.ac.kr http://ist.kunsan.ac.kr/ Dept. of Informatics & Statistics 목차 UDP 1 1 UDP 개념 자바 UDP 프로그램작성 클라이언트와서버모두 DatagramSocket 클래스로생성 상호간통신은 DatagramPacket 클래스를이용하여

More information

Microsoft Word - ntasFrameBuilderInstallGuide2.5.doc

Microsoft Word - ntasFrameBuilderInstallGuide2.5.doc NTAS and FRAME BUILDER Install Guide NTAS and FRAME BUILDER Version 2.5 Copyright 2003 Ari System, Inc. All Rights reserved. NTAS and FRAME BUILDER are trademarks or registered trademarks of Ari System,

More information

개요오라클과티베로에서 JDBC 를통해접속한세션을구분할수있도록 JDBC 접속시 ConnectionProperties 를통해구분자를넣어줄수있다. 하나의 Node 에다수의 WAS 가있을경우 DB 에서 Session Kill 등의동작수행시원하는 Session 을선택할수있다.

개요오라클과티베로에서 JDBC 를통해접속한세션을구분할수있도록 JDBC 접속시 ConnectionProperties 를통해구분자를넣어줄수있다. 하나의 Node 에다수의 WAS 가있을경우 DB 에서 Session Kill 등의동작수행시원하는 Session 을선택할수있다. 설치및환경설정 JDBC 접속세션구분 / 확인 2013. 11. 01 개요오라클과티베로에서 JDBC 를통해접속한세션을구분할수있도록 JDBC 접속시 ConnectionProperties 를통해구분자를넣어줄수있다. 하나의 Node 에다수의 WAS 가있을경우 DB 에서 Session Kill 등의동작수행시원하는 Session 을선택할수있다. 사용하기 JEUS 에서설정방법

More information

교육2 ? 그림

교육2 ? 그림 Interstage 5 Apworks EJB Application Internet Revision History Edition Date Author Reviewed by Remarks 1 2002/10/11 2 2003/05/19 3 2003/06/18 EJB 4 2003/09/25 Apworks5.1 [ Stateless Session Bean ] ApworksJava,

More information

1. 자바프로그램기초 및개발환경 2 장 & 3 장. 자바개발도구 충남대학교 컴퓨터공학과

1. 자바프로그램기초 및개발환경 2 장 & 3 장. 자바개발도구 충남대학교 컴퓨터공학과 1. 자바프로그램기초 및개발환경 2 장 & 3 장. 자바개발도구 충남대학교 컴퓨터공학과 학습내용 1. Java Development Kit(JDK) 2. Java API 3. 자바프로그래밍개발도구 (Eclipse) 4. 자바프로그래밍기초 2 자바를사용하려면무엇이필요한가? 자바프로그래밍개발도구 JDK (Java Development Kit) 다운로드위치 : http://www.oracle.com/technetwork/java/javas

More information

Chap12

Chap12 12 12Java RMI 121 RMI 2 121 RMI 3 - RMI, CORBA 121 RMI RMI RMI (remote object) 4 - ( ) UnicastRemoteObject, 121 RMI 5 class A - class B - ( ) class A a() class Bb() 121 RMI 6 RMI / 121 RMI RMI 1 2 ( 7)

More information

개발및운영 Tibero DB Link (Tibero To Oracle) - Local 방식

개발및운영 Tibero DB Link (Tibero To Oracle) - Local 방식 Tibero DB Link (Tibero To Oracle) - Local 방식 2014. 04. 16. 목차 1. 구성환경... 3 2. 환경설정... 3 2.1. Tibero 서버 (AIX) 에 Oracle instance Client 파일을업로드... 3 2.2. Oracle Instance Client에대한환경설정등록 (.profile)... 4 2.3.

More information

MasoJava4_Dongbin.PDF

MasoJava4_Dongbin.PDF JSTORM http://wwwjstormpekr Issued by: < > Revision: Document Information Document title: Document file name: MasoJava4_Dongbindoc Revision number: Issued by: < > SI, dbin@handysoftcokr

More information

본 강의에 들어가기 전

본 강의에 들어가기 전 웹서버프로그래밍 2 JSP 개요 01. JSP 개요 (1) 서블릿 (Servlet) 과 JSP(Java Server Page) 서블릿은자바를이용한서버프로그래밍기술 초기웹프로그래밍기술인 CGI(Common Gateway Interface) 를대체하기위해개발되었으나, 느린처리속도, 많은메모리요구, 불편한화면제어등의한계로 PHP, ASP 등서버스크립트언어등장 JSP

More information

<4D F736F F F696E74202D20C1A63139C0E520B9E8C4A120B0FCB8AEC0DA28B0ADC0C729205BC8A3C8AF20B8F0B5E55D>

<4D F736F F F696E74202D20C1A63139C0E520B9E8C4A120B0FCB8AEC0DA28B0ADC0C729205BC8A3C8AF20B8F0B5E55D> Power Java 제 19 장배치관리자 이번장에서학습할내용 배치관리자의개요 배치관리자의사용 FlowLayout BorderLayout GridLayout BoxLayout CardLayout 절대위치로배치 컨테이너안에서컴포넌트를배치하는방법에대하여살펴봅시다. 배치관리자 (layout manager) 컨테이너안의각컴포넌트의위치와크기를결정하는작업 [3/70] 상당히다르게보인다.

More information

Eclipse 와 Firefox 를이용한 Javascript 개발 발표자 : 문경대 11 년 10 월 26 일수요일

Eclipse 와 Firefox 를이용한 Javascript 개발 발표자 : 문경대 11 년 10 월 26 일수요일 Eclipse 와 Firefox 를이용한 Javascript 개발 발표자 : 문경대 Introduce Me!!! Job Jeju National University Student Ubuntu Korean Jeju Community Owner E-Mail: ned3y2k@hanmail.net Blog: http://ned3y2k.wo.tc Facebook: http://www.facebook.com/gyeongdae

More information

[JEUS 7] eclipse plug-in 연동 1. 개요 Eclipse 와 JEUS 7 연동시필요한 plug-in 제공및환경설정에관한가이드제공하여 Eclipse 에서 JEUS 7 기동및 종료테스트할수있는방법을기술하였습니다. 2. Plug-in 설치 2.1 [Step

[JEUS 7] eclipse plug-in 연동 1. 개요 Eclipse 와 JEUS 7 연동시필요한 plug-in 제공및환경설정에관한가이드제공하여 Eclipse 에서 JEUS 7 기동및 종료테스트할수있는방법을기술하였습니다. 2. Plug-in 설치 2.1 [Step 기타지식 [JEUS 7.0] eclipse plug-in 연동 2015. 06. 09 [JEUS 7] eclipse plug-in 연동 1. 개요 Eclipse 와 JEUS 7 연동시필요한 plug-in 제공및환경설정에관한가이드제공하여 Eclipse 에서 JEUS 7 기동및 종료테스트할수있는방법을기술하였습니다. 2. Plug-in 설치 2.1 [Step. 1]

More information

JEUS 소개

JEUS 소개 JEUS 소개 JEUS v6.0 Fix#8 Copyright 2011 TmaxSoft Co., Ltd. All Rights Reserved. Copyright Notice Copyright 2011 TmaxSoft Co., Ltd. All Rights Reserved. 대한민국경기도성남시분당구서현동 272-6 우 ) 463-824 Restricted Rights

More information

gnu-lee-oop-kor-lec06-3-chap7

gnu-lee-oop-kor-lec06-3-chap7 어서와 Java 는처음이지! 제 7 장상속 Super 키워드 상속과생성자 상속과다형성 서브클래스의객체가생성될때, 서브클래스의생성자만호출될까? 아니면수퍼클래스의생성자도호출되는가? class Base{ public Base(String msg) { System.out.println("Base() 생성자 "); ; class Derived extends Base

More information

혼자서일을다하는 JSP. 이젠일을 Servlet 과나눠서한다. JSP와서블릿의표현적인차이 - JSP는 <html> 내에서자바를사용할수있는수단을제공한다. - 서블릿은자바내에서 <html> 을작성할수있는수단을제공한다. - JSP나서블릿으로만웹페이지를작성하면자바와다양한코드가

혼자서일을다하는 JSP. 이젠일을 Servlet 과나눠서한다. JSP와서블릿의표현적인차이 - JSP는 <html> 내에서자바를사용할수있는수단을제공한다. - 서블릿은자바내에서 <html> 을작성할수있는수단을제공한다. - JSP나서블릿으로만웹페이지를작성하면자바와다양한코드가 혼자서일을다하는 JSP. 이젠일을 Servlet 과나눠서한다. JSP와서블릿의표현적인차이 - JSP는 내에서자바를사용할수있는수단을제공한다. - 서블릿은자바내에서 을작성할수있는수단을제공한다. - JSP나서블릿으로만웹페이지를작성하면자바와다양한코드가웹페이지내에뒤섞여있어서웹페이지의화면설계가점점어려워진다. - 서블릿이먼저등장하였으나, 자바내에

More information

Spring Boot/JDBC JdbcTemplate/CRUD 예제

Spring Boot/JDBC JdbcTemplate/CRUD 예제 Spring Boot/JDBC JdbcTemplate/CRUD 예제 오라클자바커뮤니티 (ojc.asia, ojcedu.com) Spring Boot, Gradle 과오픈소스인 MariaDB 를이용해서 EMP 테이블을만들고 JdbcTemplate, SimpleJdbcTemplate 을이용하여 CRUD 기능을구현해보자. 마리아 DB 설치는다음 URL 에서확인하자.

More information

Tibero

Tibero Tibero 클라이언트설치가이드 Copyright 2013 TmaxData Co., Ltd. All Rights Reserved. Copyright Notice Copyright 2013 TmaxData Co., Ltd. All Rights Reserved. 대한민국경기도성남시분당구황새울로 329 번길 5 티맥스빌딩우 ) 463-824 Restricted Rights

More information

Intro to Servlet, EJB, JSP, WS

Intro to Servlet, EJB, JSP, WS ! Introduction to J2EE (2) - EJB, Web Services J2EE iseminar.. 1544-3355 ( ) iseminar Chat. 1 Who Are We? Business Solutions Consultant Oracle Application Server 10g Business Solutions Consultant Oracle10g

More information

I T C o t e n s P r o v i d e r h t t p : / / w w w. h a n b i t b o o k. c o. k r

I T C o t e n s P r o v i d e r h t t p : / / w w w. h a n b i t b o o k. c o. k r I T C o t e n s P r o v i d e r h t t p : / / w w w. h a n b i t b o o k. c o. k r I T C o t e n s P r o v i d e r h t t p : / / w w w. h a n b i t b o o k. c o. k r Jakarta is a Project of the Apache

More information

chapter1,2.doc

chapter1,2.doc JavaServer Pages Version 08-alpha copyright2001 B l u e N o t e all rights reserved http://jspboolpaecom vesion08-alpha, UML (?) part1part2 Part1 part2 part1 JSP Chapter2 ( ) Part 1 chapter 1 JavaServer

More information

Spring Boot

Spring Boot 스프링부트 (Spring Boot) 1. 스프링부트 (Spring Boot)... 2 1-1. Spring Boot 소개... 2 1-2. Spring Boot & Maven... 2 1-3. Spring Boot & Gradle... 3 1-4. Writing the code(spring Boot main)... 4 1-5. Writing the code(commandlinerunner)...

More information

개발및운영 Tibero Perl 연동

개발및운영 Tibero Perl 연동 Tibero Perl 연동 2014. 05. 27. 목차 1. Windows에서의홖경구성... 3 1.1 Tibero ODBC Driver 설치... 3 1.2. Tool 설치... 5 2. Unix에서의홖경구성... 6 2.1 iodbc 설치... 7 2.2 Tibero 설치... 7 2.3 Iodbc drvier manager 등록... 7 3. Tibero

More information

JavaGeneralProgramming.PDF

JavaGeneralProgramming.PDF , Java General Programming from Yongwoo s Park 1 , Java General Programming from Yongwoo s Park 2 , Java General Programming from Yongwoo s Park 3 < 1> (Java) ( 95/98/NT,, ) API , Java General Programming

More information

Interstage4 설치가이드

Interstage4 설치가이드 Interstage Application Server V501 Operation Guide Internet 1 1 1 FJApache FJApache (WWW (WWW server) server) - - file file - - 2 2 InfoProviderPro InfoProviderPro (WWW (WWW server) server) - - file file

More information

쉽게 풀어쓴 C 프로그래밍

쉽게 풀어쓴 C 프로그래밍 Power Java 제 20 장패키지 이번장에서학습할내용 패키지의개념 패키지로묶는방법 패키지사용 기본패키지 유틸리티패키지 패키지는연관된클래스들을묶는기법입니다. 패키지란? 패키지 (package) : 클래스들을묶은것 자바라이브러리도패키지로구성 ( 예 ) java.net 패키지 네트워크관련라이브러리 그림 20-1. 패키지의개념 예제 패키지생성하기 Q: 만약패키지문을사용하지않은경우에는어떻게되는가?

More information

rmi_박준용_final.PDF

rmi_박준용_final.PDF (RMI) - JSTORM http://wwwjstormpekr (RMI)- Document title: Document file name: Revision number: Issued by: Document Information (RMI)- rmi finaldoc Issue Date: Status:

More information

PowerPoint Presentation

PowerPoint Presentation 객체지향프로그래밍 그래픽사용자인터페이스 ( 실습 ) 손시운 ssw5176@kangwon.ac.kr 예제 1. 프레임생성 (1) import javax.swing.*; public class FrameTest { public static void main(string[] args) { JFrame f = new JFrame("Frame Test"); JFrame

More information

q 이장에서다룰내용 1 객체지향프로그래밍의이해 2 객체지향언어 : 자바 2

q 이장에서다룰내용 1 객체지향프로그래밍의이해 2 객체지향언어 : 자바 2 객체지향프로그래밍 IT CookBook, 자바로배우는쉬운자료구조 q 이장에서다룰내용 1 객체지향프로그래밍의이해 2 객체지향언어 : 자바 2 q 객체지향프로그래밍의이해 v 프로그래밍기법의발달 A 군의사업발전 1 단계 구조적프로그래밍방식 3 q 객체지향프로그래밍의이해 A 군의사업발전 2 단계 객체지향프로그래밍방식 4 q 객체지향프로그래밍의이해 v 객체란무엇인가

More information

PowerPoint Presentation

PowerPoint Presentation Class - Property Jo, Heeseung 목차 section 1 클래스의일반구조 section 2 클래스선언 section 3 객체의생성 section 4 멤버변수 4-1 객체변수 4-2 클래스변수 4-3 종단 (final) 변수 4-4 멤버변수접근방법 section 5 멤버변수접근한정자 5-1 public 5-2 private 5-3 한정자없음

More information

PowerPoint 프레젠테이션

PowerPoint 프레젠테이션 @ Lesson 1,..... @ 1 Green Project 1991 Oak Java 1995. 5 December '90 by Patrick Naughton, Mike Sheridan and James Gosling Embedded in various consumer electronic device 1992. 9. 3 Star 7 1993 www portability

More information

2장 변수와 프로시저 작성하기

2장  변수와 프로시저 작성하기 Chapter. RequestDispatcher 활용 요청재지정이란? RequestDispatcher 활용 요청재지정구현예제 Chapter.9 : RequestDispatcher 활용 1. 요청재지정이란? 클라이언트로부터요청받은 Servlet 프로그램이응답을하지않고다른자원에수행흐름을넘겨다른자원의처리결과를대신응답하는것또는다른자원의수행결과를포함하여응답하는것을요청재지정이라고한다.

More information

인디쓔피-IOM핸돜벁닄큐1014pdf, page 59 @ Preflight ( IOM핸돜벁닄큐__1014 )

인디쓔피-IOM핸돜벁닄큐1014pdf, page 59 @ Preflight ( IOM핸돜벁닄큐__1014 ) Publisher: International Organization for Migration 17, route des Morillons 1211 Geneva 19 Switzerland Tel: +41.22.717 91 11 Fax: +41.22.798 61 50 E-mail: hq@iom.int Internet: http://www.iom.int ISBN 978

More information

Class Loader 엑셈컨설팅본부 /APM 팀김다운 개요 클래스 loader 는자바의기능중하나로써런타임에클래스파일을찾고로딩하는임무를맡는다. WAS 마다 Class Loading 의방식에조금씩차이가있으며, Intermax 설치시에 classpath 옵션을 WAS 에추

Class Loader 엑셈컨설팅본부 /APM 팀김다운 개요 클래스 loader 는자바의기능중하나로써런타임에클래스파일을찾고로딩하는임무를맡는다. WAS 마다 Class Loading 의방식에조금씩차이가있으며, Intermax 설치시에 classpath 옵션을 WAS 에추 Class Loader 엑셈컨설팅본부 /APM 팀김다운 개요 클래스 loader 는자바의기능중하나로써런타임에클래스파일을찾고로딩하는임무를맡는다. WAS 마다 Class Loading 의방식에조금씩차이가있으며, Intermax 설치시에 classpath 옵션을 WAS 에추가함으로서 Class loading 을한다. 이에클래스 loader 의로딩메커니즘을이해하고

More information

PowerPoint Presentation

PowerPoint Presentation Package Class 1 Heeseung Jo 목차 section 1 패키지개요와패키지의사용 section 2 java.lang 패키지의개요 section 3 Object 클래스 section 4 포장 (Wrapper) 클래스 section 5 문자열의개요 section 6 String 클래스 section 7 StringBuffer 클래스 section

More information

PowerPoint Presentation

PowerPoint Presentation 객체지향프로그래밍 인터페이스, 람다식, 패키지 ( 실습 ) 손시운 ssw5176@kangwon.ac.kr 예제 1. 홈네트워킹 public interface RemoteControl { public void turnon(); // 가전제품을켠다. public void turnoff(); // 가전제품을끈다. 인터페이스를구현 public class Television

More information

마리오와 소닉 리우 올림픽™

마리오와 소닉 리우 올림픽™ 마리오와 소닉 리우 올림픽 1 사용하기 전에 준비하기 2 유저 콘텐츠에 대하여 3 인터넷으로 이용 가능한 기능 4 보호자 여러분께 5 amiibo란 시작하기 전에 6 게임 소개 7 게임 시작 방법 8 조작 방법 9 데이터 저장과 삭제 통신으로 더욱 즐기기 10 대전 모드 11 포켓 마라톤 12 기록 기타 13 사용 곡명과 작곡자 소개 14 플레이 정보 송신

More information

Corporate PPT Template

Corporate PPT Template Tech Sales Consultant Oracle Corporation What s New in Oracle9iAS Forms? Why upgrade Oracle Forms to the WEB? Agenda Oracle9i Forms Web Oracle9i Forms Oracle9i Forms Oracle9i Forms What s NEW in Oracle

More information

JEUS

JEUS JEUS Scheduler 안내서 JEUS v6.0 Fix#8 Copyright 2011 TmaxSoft Co., Ltd. All Rights Reserved. Copyright Notice Copyright 2011 TmaxSoft Co., Ltd. All Rights Reserved. 대한민국경기도성남시분당구서현동 272-6 우 ) 463-824 Restricted

More information

No Slide Title

No Slide Title J2EE J2EE(Java 2 Enterprise Edition) (Web Services) :,, SOAP: Simple Object Access Protocol WSDL: Web Service Description Language UDDI: Universal Discovery, Description & Integration 4. (XML Protocol

More information

슬라이드 1

슬라이드 1 NeoDeveloper 설치가이드 차례 1. 환경 3 2. 설치 3 2.1 웹서버설치 3 Tomcat 7 3 JDK 1.6 3 2.2 NeoDeveloper 설치 3 Neo Developer 서버구성 3 Demo용 User Application 구성 4 Neo Developer 서버 Data File 4 Client 개발 Tool 설치 4 3. 설정 5 3.1

More information

목차 1. 노드매니저종류 Java Type SSH Type 노드설정파일및로깅 nodes.xml jeusnm.properties <servername>.properties...

목차 1. 노드매니저종류 Java Type SSH Type 노드설정파일및로깅 nodes.xml jeusnm.properties <servername>.properties... 개발및운영 JEUS7 Node Manager 가이드 2014. 12. 15 목차 1. 노드매니저종류... 3 1.1 Java Type... 3 1.2 SSH Type... 3 2. 노드설정파일및로깅... 3 2.1 nodes.xml... 3 2.2 jeusnm.properties... 4 2.3 .properties... 4 2.4 JeusNodeManager.log...

More information

J2EE Concepts

J2EE Concepts ! Introduction to J2EE (1) - J2EE Servlet/JSP/JDBC iseminar.. 1544-3355 ( ) iseminar Chat. 1 Who Are We? Business Solutions Consultant Oracle Application Server 10g Business Solutions Consultant Oracle10g

More information

gnu-lee-oop-kor-lec10-1-chap10

gnu-lee-oop-kor-lec10-1-chap10 어서와 Java 는처음이지! 제 10 장이벤트처리 이벤트분류 액션이벤트 키이벤트 마우스이동이벤트 어댑터클래스 스윙컴포넌트에의하여지원되는이벤트는크게두가지의카테고리로나누어진다. 사용자가버튼을클릭하는경우 사용자가메뉴항목을선택하는경우 사용자가텍스트필드에서엔터키를누르는경우 두개의버튼을만들어서패널의배경색을변경하는프로그램을작성하여보자. 이벤트리스너는하나만생성한다. class

More information

02 C h a p t e r Java

02 C h a p t e r Java 02 C h a p t e r Java Bioinformatics in J a va,, 2 1,,,, C++, Python, (Java),,, (http://wwwbiojavaorg),, 13, 3D GUI,,, (Java programming language) (Sun Microsystems) 1995 1990 (green project) TV 22 CHAPTER

More information

JAVA PROGRAMMING 실습 08.다형성

JAVA PROGRAMMING 실습 08.다형성 2015 학년도 2 학기 1. 추상메소드 선언은되어있으나코드구현되어있지않은메소드 abstract 키워드사용 메소드타입, 이름, 매개변수리스트만선언 public abstract String getname(); public abstract void setname(string s); 2. 추상클래스 abstract 키워드로선언한클래스 종류 추상메소드를포함하는클래스

More information

Research & Technique Apache Tomcat RCE 취약점 (CVE ) 취약점개요 지난 4월 15일전세계적으로가장많이사용되는웹애플리케이션서버인 Apache Tomcat에서 RCE 취약점이공개되었다. CVE 취약점은 W

Research & Technique Apache Tomcat RCE 취약점 (CVE ) 취약점개요 지난 4월 15일전세계적으로가장많이사용되는웹애플리케이션서버인 Apache Tomcat에서 RCE 취약점이공개되었다. CVE 취약점은 W Research & Technique Apache Tomcat RCE 취약점 (CVE-2019-0232) 취약점개요 지난 4월 15일전세계적으로가장많이사용되는웹애플리케이션서버인 Apache Tomcat에서 RCE 취약점이공개되었다. CVE-2019-0232 취약점은 Windows 시스템의 Apache Tomcat 서버에서 enablecmdlinearguments

More information

untitled

untitled Push... 2 Push... 4 Push... 5 Push... 13 Push... 15 1 FORCS Co., LTD A Leader of Enterprise e-business Solution Push (Daemon ), Push Push Observer. Push., Observer. Session. Thread Thread. Observer ID.

More information

JEUS

JEUS JEUS JPA 안내서 JEUS v6.0 Fix#8 Copyright 2011 TmaxSoft Co., Ltd. All Rights Reserved. Copyright Notice Copyright 2011 TmaxSoft Co., Ltd. All Rights Reserved. 대한민국경기도성남시분당구서현동 272-6 우 ) 463-824 Restricted

More information

J2EE & Web Services iSeminar

J2EE & Web Services iSeminar 9iAS :, 2002 8 21 OC4J Oracle J2EE (ECperf) JDeveloper : OLTP : Oracle : SMS (Short Message Service) Collaboration Suite Platform Email Developer Suite Portal Java BI XML Forms Reports Collaboration Suite

More information

Microsoft Word - Jeus_System_Architecture.doc

Microsoft Word - Jeus_System_Architecture.doc Whitepaper JEUS Syetem Architecture Copyrightc 2001 TmaxSoft Co.,Ltd. All Right Reserved. Contents JEUS System 2 I. JEUS System 운영 1. JEUS Manager 4 2. Naming & Directory Server 5 3. Security Server 5

More information

C++ Programming

C++ Programming C++ Programming 예외처리 Seo, Doo-okok clickseo@gmail.com http://www.clickseo.com 목 차 예외처리 2 예외처리 예외처리 C++ 의예외처리 예외클래스와객체 3 예외처리 예외를처리하지않는프로그램 int main() int a, b; cout > a >> b; cout

More information

Microsoft PowerPoint - Supplement-03-TCP Programming.ppt [호환 모드]

Microsoft PowerPoint - Supplement-03-TCP Programming.ppt [호환 모드] - Socket Programming in Java - 목차 소켓소개 자바에서의 TCP 프로그램작성방법 주요클래스와메소드 HTTP 프로토콜을이용한예제 에코프로그램 Q/A 에코프로그램 - EchoServer 에코프로그램 - EchoClient TCP Programming 1 소켓소개 IP, Port, and Socket 포트 (Port): 전송계층에서통신을수행하는응용프로그램을찾기위한주소

More information

PowerPoint 프레젠테이션

PowerPoint 프레젠테이션 Synergy EDMS www.comtrue.com opyright 2001 ComTrue Technologies. All right reserved. - 1 opyright 2001 ComTrue Technologies. All right reserved. - 2 opyright 2001 ComTrue Technologies. All right reserved.

More information

[Brochure] KOR_LENA WAS_

[Brochure] KOR_LENA WAS_ LENA Web Application Server LENA Web Application Server 빠르고확장가능하며장애를선대응할수있는운영중심의고효율차세대 Why 클라우드환경과데이터센터운영의노하우가결집되어편리한 관리기능과대용량트랜잭션을빠르고쉽게구현함으로고객의 IT Ownership을강화하였습니다. 고객의고민사항 전통 의 Issue Complexity Over

More information

[Brochure] KOR_TunA

[Brochure] KOR_TunA LG CNS LG CNS APM (TunA) LG CNS APM (TunA) 어플리케이션의 성능 개선을 위한 직관적이고 심플한 APM 솔루션 APM 이란? Application Performance Management 란? 사용자 관점 그리고 비즈니스 관점에서 실제 서비스되고 있는 어플리케이션의 성능 관리 체계입니다. 이를 위해서는 신속한 장애 지점 파악 /

More information

Microsoft PowerPoint - ÀÚ¹Ù08Àå-1.ppt

Microsoft PowerPoint - ÀÚ¹Ù08Àå-1.ppt AWT 컴포넌트 (1) 1. AWT 패키지 2. AWT 프로그램과이벤트 3. Component 클래스 4. 컴포넌트색칠하기 AWT GUI 를만들기위한 API 윈도우프로그래밍을위한클래스와도구를포함 Graphical User Interface 그래픽요소를통해프로그램과대화하는방식 그래픽요소를 GUI 컴포넌트라함 윈도우프로그램만들기 간단한 AWT 프로그램 import

More information

9장.key

9장.key JAVA Programming 1 GUI(Graphical User Interface) 2 GUI!,! GUI! GUI, GUI GUI! GUI AWT Swing AWT - java.awt Swing - javax.swing AWT Swing 3 AWT(Abstract Windowing Toolkit)! GUI! java.awt! AWT (Heavy weight

More information

<4D F736F F D20C0DAB9D9C0A5BDBAC5B8C6AE2E646F63>

<4D F736F F D20C0DAB9D9C0A5BDBAC5B8C6AE2E646F63> 작성자 : 김성박 ( 삼성멀티캠퍼스전임강사 ) e-mail : urstory@nownuri.net homepage : http:// 본문서의배포처 : http://, http://www.javastudy.co.kr 작성일 : 2001년 10월 17일수요일. - 해당문서는김성박 (urstory@nownuri.net) 의동의없이수정, 복사, 삭제등을할수없으며,

More information

JUNIT 실습및발표

JUNIT 실습및발표 JUNIT 실습및발표 JUNIT 접속 www.junit.org DownLoad JUnit JavaDoc API Document 를참조 JUNIT 4.8.1 다운로드 설치파일 (jar 파일 ) 을다운로드 CLASSPATH 를설정 환경변수에서설정 실행할클래스에서 import JUnit 설치하기 테스트실행주석 @Test Test 를실행할 method 앞에붙임 expected

More information

개발및운영 Eclipse 를이용한 ANT 활용방법

개발및운영 Eclipse 를이용한 ANT 활용방법 Eclipse 를이용한 ANT 활용방법 2014. 04. 09 목차 Eclipse를이용한 ANT 활용방법... 3 1. ant 사용전준비사항... 3 1.1 ant Install... 3 1.2 Java Project 생성... 5 2. ant 활용방법... 10 2.1 ant project 생성... 10 3. ant 설정... 13 3.1 ant directory...

More information

°æÁ¦Àü¸Á-µ¼º¸.PDF

°æÁ¦Àü¸Á-µ¼º¸.PDF www.keri.org i ii iii iv v vi vii viii ix x xi xii xiii xiv xv 3 4 5 6 7 8 9 10 11 12 13 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 47 48 49 50 51 52 53

More information

BEA_WebLogic.hwp

BEA_WebLogic.hwp BEA WebLogic Server SSL 설정방법 - Ver 1.0-2008. 6 개정이력 버전개정일개정내용 Ver 1.0 2008 년 6 월 BEA WebLogic Server SSL 설명서최초작성 본문서는정보통신부 한국정보보호진흥원의 보안서버구축가이드 를참고하여작성되었습니다. 본문서내용의무단도용및사용을금합니다. < 목차 > 1. 개인키및 CSR 생성방법

More information

Microsoft PowerPoint - aj-lecture1.ppt [호환 모드]

Microsoft PowerPoint - aj-lecture1.ppt [호환 모드] 인터넷과웹서비스 개발환경구성, JSP 기본구조 인터넷과 WWW(World Wide Web) 인터넷은 TCP/IP 기반의네트워크가전세계적으로확대되어하나로연결된 네트워크의네트워크 WWW(World Wide Web) 는인터넷기반의서비스중하나 이름프로토콜포트기능 WWW http 80 웹서비스 524730-1 2019 년봄학기 3/11/2019 박경신 Email SMTP/POP3/IMAP

More information

Microsoft PowerPoint - 03-TCP Programming.ppt

Microsoft PowerPoint - 03-TCP Programming.ppt Chapter 3. - Socket in Java - 목차 소켓소개 자바에서의 프로그램작성방법 주요클래스와메소드 HTTP 프로토콜을이용한예제 에코프로그램 에코프로그램 - EchoServer 에코프로그램 - EchoClient Q/A 1 1 소켓소개 IP,, and Socket 포트 (): 전송계층에서통신을수행하는응용프로그램을찾기위한주소 소켓 (Socket):

More information

Microsoft PowerPoint - 11주차_Android_GoogleMap.ppt [호환 모드]

Microsoft PowerPoint - 11주차_Android_GoogleMap.ppt [호환 모드] Google Map View 구현 학습목표 교육목표 Google Map View 구현 Google Map 지원 Emulator 생성 Google Map API Key 위도 / 경도구하기 위도 / 경도에따른 Google Map View 구현 Zoom Controller 구현 Google Map View (1) () Google g Map View 기능 Google

More information

TTA Journal No.157_서체변경.indd

TTA Journal No.157_서체변경.indd 표준 시험인증 기술 동향 FIDO(Fast IDentity Online) 생체 인증 기술 표준화 동향 이동기 TTA 모바일응용서비스 프로젝트그룹(PG910) 의장 SK텔레콤 NIC 담당 매니저 76 l 2015 01/02 PASSWORDLESS EXPERIENCE (UAF standards) ONLINE AUTH REQUEST LOCAL DEVICE AUTH

More information

10-Java Applet

10-Java Applet JAVA Programming Language JAVA Applet Java Applet >APPLET< >PARAM< HTML JAR 2 JAVA APPLET HTML HTML main( ). public Applet 3 (HelloWorld.html) Applet

More information

iii. Design Tab 을 Click 하여 WindowBuilder 가자동으로생성한 GUI 프로그래밍환경을확인한다.

iii. Design Tab 을 Click 하여 WindowBuilder 가자동으로생성한 GUI 프로그래밍환경을확인한다. Eclipse 개발환경에서 WindowBuilder 를이용한 Java 프로그램개발 이예는 Java 프로그램의기초를이해하고있는사람을대상으로 Embedded Microcomputer 를이용한제어시스템을 PC 에서 Serial 통신으로제어 (Graphical User Interface (GUI) 환경에서 ) 하는프로그램개발예를설명한다. WindowBuilder:

More information

Data Provisioning Services for mobile clients

Data Provisioning Services for mobile clients 3 장. 웹어플리케이션과 JSP 및 Servlet 의이해 제 3 장 1. 웹어플리케이션개념및폴더구조 웹어플리케이션의개념 독립어플리케이션 (Stand-alone Application) 웹어플리케이션 (Web Application) 웹브라우저상에서수행되는어플리케이션 웹어플리케이션이 Tomcat 에서구현될때의규칙 임의의웹어플리케이션은 webapps 폴더하위에하나의폴더로구성

More information

뇌를 자극하는 JSP & Servlet 슬라이드

뇌를 자극하는 JSP & Servlet 슬라이드 속성 & 리스너 JSP & Servlet 2/39 Contents 학습목표 클라이언트요청에의해서블릿이실행될때에컨테이너에의해제공되는내장객체의종류와역할, 그리고접근범위특성등을알아본다. 웹컴포넌트사이의데이터전달을위한내장객체에서의속성설정과이에따른이벤트처리방법에대해알아본다. 내용 서블릿의초기화환경을표현하는 ServletConfig 객체 웹애플리케이션의실행환경을표현하는

More information

기술자료

기술자료 1 쪽중 1 쪽 WebLogic Server 8.1 Tutorials 03 - 리소스 (JDBC, JMS 등 ) 설정 본문서에서는 MedRec 애플리케이션을디플로이하고서비스하기위해서필요한 WebLogic Server 의리소스들을설정하는방법에대하여설명할것이다. 1. JDBC(Java Database Connectivity) Connection Pool 과 Data

More information

JEUS

JEUS JEUS JMX 안내서 JEUS v6.0 Fix#8 Copyright 2011 TmaxSoft Co., Ltd. All Rights Reserved. Copyright Notice Copyright 2011 TmaxSoft Co., Ltd. All Rights Reserved. 대한민국경기도성남시분당구서현동 272-6 우 ) 463-824 Restricted

More information

API STORE 키발급및 API 사용가이드 Document Information 문서명 : API STORE 언어별 Client 사용가이드작성자 : 작성일 : 업무영역 : 버전 : 1 st Draft. 서브시스템 : 문서번호 : 단계 : Docum

API STORE 키발급및 API 사용가이드 Document Information 문서명 : API STORE 언어별 Client 사용가이드작성자 : 작성일 : 업무영역 : 버전 : 1 st Draft. 서브시스템 : 문서번호 : 단계 : Docum API STORE 키발급및 API 사용가이드 Document Information 문서명 : API STORE 언어별 Client 사용가이드작성자 : 작성일 : 2012.11.23 업무영역 : 버전 : 1 st Draft. 서브시스템 : 문서번호 : 단계 : Document Distribution Copy Number Name(Role, Title) Date

More information

JEUS 소개

JEUS 소개 JEUS 소개 JEUS v7.0 Fix#1 Copyright 2013 TmaxSoft Co., Ltd. All Rights Reserved. Copyright Notice Copyright 2013 TmaxSoft Co., Ltd. All Rights Reserved. 대한민국경기도성남시분당구서현동 272-6 우 ) 463-824 Restricted Rights

More information

PowerPoint Presentation

PowerPoint Presentation public class SumTest { public static void main(string a1[]) { int a, b, sum; a = Integer.parseInt(a1[0]); b = Integer.parseInt(a1[1]); sum = a + b ; // 두수를더하는부분입니다 System.out.println(" 두수의합은 " + sum +

More information

PowerPoint 프레젠테이션

PowerPoint 프레젠테이션 1 2 3 4 5 6-2- - - - - - -3- -4- ( Knowledge Cube, Inc. ) // www.kcube.co.kr -5- -6- (KM)? - Knowledge Cube, Inc. - - Peter Drucker - -7- KM Context KM Context KM Context KM Context KM Context KM KM KM

More information

웹연동 } 웹 (Web) 환경에서데이터베이스시스템을연동하는방법은다음과같다 } Server Client 구조의통신 (2-Tier) } Server Middleware Client 구조의통신 (3-Tier) 2

웹연동 } 웹 (Web) 환경에서데이터베이스시스템을연동하는방법은다음과같다 } Server Client 구조의통신 (2-Tier) } Server Middleware Client 구조의통신 (3-Tier) 2 DB 와 WEB 연동 (1) [2-Tier] Java Applet 이용 웹연동 } 웹 (Web) 환경에서데이터베이스시스템을연동하는방법은다음과같다 } Server Client 구조의통신 (2-Tier) } Server Middleware Client 구조의통신 (3-Tier) 2 JAVA Applet 을이용한 Client Server 연동기법 } Applet

More information

다른 JSP 페이지호출 forward() 메서드 - 하나의 JSP 페이지실행이끝나고다른 JSP 페이지를호출할때사용한다. 예 ) <% RequestDispatcher dispatcher = request.getrequestdispatcher(" 실행할페이지.jsp");

다른 JSP 페이지호출 forward() 메서드 - 하나의 JSP 페이지실행이끝나고다른 JSP 페이지를호출할때사용한다. 예 ) <% RequestDispatcher dispatcher = request.getrequestdispatcher( 실행할페이지.jsp); 다른 JSP 페이지호출 forward() 메서드 - 하나의 JSP 페이지실행이끝나고다른 JSP 페이지를호출할때사용한다. 예 ) RequestDispatcher dispatcher = request.getrequestdispatcher(" 실행할페이지.jsp"); dispatcher.forward(request, response); - 위의예에서와같이 RequestDispatcher

More information

슬라이드 1

슬라이드 1 전자정부개발프레임워크 1 일차실습 LAB 개발환경 - 1 - 실습목차 LAB 1-1 프로젝트생성실습 LAB 1-2 Code Generation 실습 LAB 1-3 DBIO 실습 ( 별첨 ) LAB 1-4 공통컴포넌트생성및조립도구실습 LAB 1-5 템플릿프로젝트생성실습 - 2 - LAB 1-1 프로젝트생성실습 (1/2) Step 1-1-01. 구현도구에서 egovframe>start>new

More information

서블릿의라이프사이클 뇌를자극하는 JSP & Servlet

서블릿의라이프사이클 뇌를자극하는 JSP & Servlet 서블릿의라이프사이클 뇌를자극하는 JSP & Servlet Contents v 학습목표 서블릿클래스로부터서블릿객체가만들어지고, 서블릿객체가초기화되어서서블릿이되고, 서블릿이사용되고, 최종적으로소멸되기까지의전과정을서블릿의라이프사이클이라고한다. 이장에서는서브릿의라이프사이클에관련된프로그래밍기술을배워보자. v 내용 서블릿의라이프사이클 서블릿클래스의 init 메서드의 destroy

More information

단계

단계 TIBERO-WAS 연동 Guide 본문서에서는 Tibero RDBMS 에서제공하는 JDBC 통한 JEUS, WEBLOGIC 등다양한 WAS (Web Application Server) 제품과의연동방법을알아본다. Contents 1. Connection Pool 방식... 2 2. JEUS 연동... 3 2.1. JEUSMain.xml 설정 (Thin 방식

More information

PowerPoint 프레젠테이션

PowerPoint 프레젠테이션 Web server porting 2 Jo, Heeseung Web 을이용한 LED 제어 Web 을이용한 LED 제어프로그램 web 에서데이터를전송받아타겟보드의 LED 를조작하는프로그램을작성하기위해다음과같은소스파일을생성 2 Web 을이용한 LED 제어 LED 제어프로그램작성 8bitled.html 파일을작성 root@ubuntu:/working/web# vi

More information

Business Agility () Dynamic ebusiness, RTE (Real-Time Enterprise) IT Web Services c c WE-SDS (Web Services Enabled SDS) SDS SDS Service-riented Architecture Web Services ( ) ( ) ( ) / c IT / Service- Service-

More information

No Slide Title

No Slide Title 자바소개 이충기 명지대학교컴퓨터공학과 자바 (Java) 의정의 C++ 에기초한선 (Sun) 사에의해개발된프로그래밍언어 객체지향언어 인터넷과웹을위한프로그래밍언어 2 자바의재정의 최초의범용소프트웨어플랫폼 언어, 자바가상컴퓨터와클래스라이브러리와 API 들의집합으로구성 인터넷컴퓨팅을위한플랫폼 - 하드웨어와독립 - 확장성이있음 - 개방적임 3 자바의현재 널리채택되고보편적언어가됨

More information

Microsoft PowerPoint - chap01-C언어개요.pptx

Microsoft PowerPoint - chap01-C언어개요.pptx #include int main(void) { int num; printf( Please enter an integer: "); scanf("%d", &num); if ( num < 0 ) printf("is negative.\n"); printf("num = %d\n", num); return 0; } 1 학습목표 프로그래밍의 기본 개념을

More information

슬라이드 1

슬라이드 1 Subclipse 1. 도구개요 2. 설치및실행 3. 주요기능 4. 활용예제 1. 도구개요 도구명 Subclipse (http://subclipse.tigris.org/) 라이선스 Eclipse Public License v1.0 소개 Subversion( 이하 svn) 용 Eclipse 플러그인 SVN 을만든 Tigris.org 에서만든클라이언트툴 Java

More information

<C0CCBCBCBFB52DC1A4B4EBBFF82DBCAEBBE7B3EDB9AE2D313939392D382E687770>

<C0CCBCBCBFB52DC1A4B4EBBFF82DBCAEBBE7B3EDB9AE2D313939392D382E687770> i ii iii iv v vi 1 2 3 4 가상대학 시스템의 국내외 현황 조사 가상대학 플랫폼 개발 이상적인 가상대학시스템의 미래상 제안 5 웹-기반 가상대학 시스템 전통적인 교수 방법 시간/공간 제약을 극복한 학습동기 부여 교수의 일방적인 내용전달 교수와 학생간의 상호작용 동료 학생들 간의 상호작용 가상대학 운영 공지사항,강의록 자료실, 메모 질의응답,

More information

제11장 프로세스와 쓰레드

제11장 프로세스와 쓰레드 제9장자바쓰레드 9.1 Thread 기초 (1/5) 프로그램 명령어들의연속 (a sequence of instruction) 프로세스 / Thread 실행중인프로그램 (program in execution) 프로세스생성과실행을위한함수들 자바 Thread 2 9.1 Thread 기초 (2/5) 프로세스단위작업의문제점 프로세스생성시오버헤드 컨텍스트스위치오버헤드

More information

<4D F736F F F696E74202D20C1A63233C0E520B1D7B7A1C7C820C7C1B7CEB1D7B7A1B9D628B0ADC0C729205BC8A3C8AF20B8F0B5E55D>

<4D F736F F F696E74202D20C1A63233C0E520B1D7B7A1C7C820C7C1B7CEB1D7B7A1B9D628B0ADC0C729205BC8A3C8AF20B8F0B5E55D> Power Java 제 23 장그래픽프로그래밍 이번장에서학습할내용 자바에서의그래픽 기초사항 기초도형그리기 색상 폰트 Java 2D Java 2D를이용한그리기 Java 2D 를이용한채우기 도형회전과평행이동 자바를이용하여서화면에그림을그려봅시다. 자바그래픽데모 자바그래픽의두가지방법 자바그래픽 AWT Java 2D AWT를사용하면기본적인도형들을쉽게그릴수있다. 어디서나잘실행된다.

More information

슬라이드 1

슬라이드 1 - 1 - 전자정부모바일표준프레임워크실습 LAB 개발환경 실습목차 LAB 1-1 모바일프로젝트생성실습 LAB 1-2 모바일사이트템플릿프로젝트생성실습 LAB 1-3 모바일공통컴포넌트생성및조립도구실습 - 2 - LAB 1-1 모바일프로젝트생성실습 (1/2) Step 1-1-01. 구현도구에서 egovframe>start>new Mobile Project 메뉴를선택한다.

More information

.

. SysMaster for WAS 2015. 09. Ⅰ Ⅱ Ⅲ Ⅳ WAS Agent 등록 WAS Agent 설정 WAS 기동과연동 Ⅰ 설치순서 SysMaster 5 다운로드 Agent 설치파일다운로드 1. Ⅳ 장에서설명한 Master 설치파일을동일하게다운로드진행 (Agent 설치파일도 Master 설치파일에포함 ) 3/36 설치화면 1. 관리자모드로실행필요 2.

More information

PowerPoint 프레젠테이션

PowerPoint 프레젠테이션 Autodesk Software 개인용 ( 학생, 교사 ) 다운로드가이드 진동환 (donghwan.jin@autodesk.com) Manager Autodesk Education Program - Korea Autodesk Education Expert 프로그램 www.autodesk.com/educationexperts 교육전문가프로그램 글로벌한네트워크 /

More information