본문 바로가기

plming

EJB 아키텍처 EJB의 프록시 역할을 하는 Business Delegate를 두어서 분산 환경하에 있는 EJB를 호출하도록 구현 Business Delegate의 역할은 UI 계층으로 하여금 비즈니스 계층이 분산 환경하에서 구현되어 있는지를 모르는 상태에서 사용하는 것이 가능하도록 한다. 비즈니스 계층은 EJB의 Remote 인터페이스나 Local 인터페이스를 가지는 무상태 세션빈이 담당 EJB는 EJB 컨테이너 하에서 관리되고 있으며, EJB 컨테이너는 분산 환경, 트랜잭션 관리, Security 등의 기능을 지원하고 있다. 퍼시스턴스 계층을 담당하도록 하기 위해 EJB는 엔티티빈을 제공 실행 속도의 문제 때문에 최근에는 엔티티빈을 사용하지 않는 것이 일반적 대신, OR Mapping 프레임워크를 이용하거나 JDBC.. 더보기
Non EJB 아키텍처 Non EJB 아키텍처: EJB를 사용하지 않는 애플리케이션의 모든 아키텍처를 통칭 "EJB를 사용하지 않는다"는 것을 의미 서블릿 컨테이너 기반으로 개발 UI계층은 JSP/Servlet, MVC(Struts, Webwork) 프레임워크가 담당 비즈니스 계층은 자바빈(POJO기반의 Singleton 패턴 이용) 퍼시스턴스 계층은 OR Mapping 프레임워크(Hibernate, iBatis) ※ POJO (Plain Old Java Object)는 일반적으로 지금까지 자바빈이라고 불러왔던 클래스들을 일컫는다. 서블릿, EJB와 같이 인터페이스에 종속되어 특정 컨테이너 내부에서만 사용할 수 있는 클래스를 제외한 모든 클래스를 POJO라고 말할 수 있다. Non JEB 아키텍처는 자바(JDBC API 사용).. 더보기
DataSource Lookup import java.sql.Connection; import javax.naming.Context; import javax.naming.InitialContext; import javax.sql.DataSource; Context ctx = new InitialContext(); // Tomcat Server에서 DataSource를 Lookup DataSource ds = (DataSource) ctx.lookup("java:comp/env/jdbc/SpringDS"); // JBoss Server에서 DataSource를 Lookup DataSource ds = (DataSource) ctx.lookup("java:/jdbc/SpringDS"); return ds.getConnection(); [출.. 더보기
(Domain) Model Class 1. BaseObject를 생성하여 공통적인 toString(), equals(), hashCode() 등의 method를 정의하면 직접 구현하는 불편함을 덜 수 있어서 편리하다. → 아파치 자카르타 프로젝트의 Commons Lang (http://commons.apache.org/lang/)에서 제공하는 API를 이용하여 이 메소드들을 쉽게 구현하고 있다. package net.javajigi.user.model; import java.io.Serializable; import org.apache.commons.lang.builder.EqualsBuilder; import org.apache.commons.lang.builder.HashCodeBuilder; import org.apache.common.. 더보기
JBoss 관리자 개발 가이드 JBoss 관리자 개발 가이드 JBoss 3.2.6 Copyright © 2004 JBoss, Inc. 목 차 서문 오픈소스에 대하여 JBoss에 대하여 1. JBoss: JMX와 함께 J2EE의 완전한 구현 2. 이 책에서 다루어지는 것들 1. JBoss 서버의 설치와 빌드 1.1. 바이너리 파일 얻기 1.1.1. 사전 준비사항들 1.1.2. 바이너리 패키지 설치하기 1.1.2.1. 디렉터리 구조 1.1.3. Default 서버 설정 파일 셋 1.2. 기본 설치후 테스트하기 1.3. 네트워크 서버에서 부팅시키기 1.4. 소스코드로부터 서버 빌드시키기 1.4.1. SourceForge의 JBoss CVS 레포지터리 액세스하기 1.4.2. CVS란? 1.4.3. Anonymous CVS 액세스 1.4.4... 더보기
Sybase 날짜(DATETIME) Convert() 사용 방법 Sybase 날짜(DATETIME) Convert() 사용 방법 select convert(varchar, 날짜데이터, convertType) 형식으로 쓰고 convertType 위치에 숫자가 들어갈 때 옆에 적힌 형식대로 나온다고 보시면 됩니다. 예시로 옆에 찍힌 날짜는 2007년 8월27일입니다. Style number 설명 0 Aug 27 2007 5:28PM 1 08/27/07 2 07.08.27 3 27/08/07 4 27.08.07 5 27-08-07 6 27 Aug 07 7 Aug 27, 07 8 17:23:35 9 Aug 27 2007 5:28:08:563PM 10 08-27-07 11 07/08/27 12 070827 13 07/27/08 14 08/07/27 15 27/07/08 16 .. 더보기
Sybase ; select sysdate from dual; select getdate() 요롷게만 하면 된다. from 머시기를 꼭 붙여야 할 것 같지만... 생략해도 되더라... 인터넷을 뒤져본 결과... select getdate() from dummy 라는 것도 있긴했지만... 안되더라...쿨럭;;; 더보기
기타 표준 루틴 프로시저/함수 설명 Addr 지정된 객체에 대한 포인터를 리턴합니다. AllocMem 메모리 블럭을 할당하고 각 바이트를 0으로 초기화합니다. ArcTan 지정된 숫자의 아크탄젠트를 계산합니다. Assert 전달된 표현식이 true가 아니면 예외를 발생시킵니다. Assigned 포인터나 프로시저 변수가 nil(unassigned)인지 검사합니다. Beep 컴퓨터 스피커를 사용하여 표준 경고음을 발생합니다. Break for, while, repeat 문을 빠져나갑니다. ByteToCharIndex 문자열에서 지정된 바이트를 포함하는 문자의 위치를 리턴합니다. Chr 지정된 정수 값에 해당하는 문자를 리턴합니다. Close 파일을 닫습니다. CompareMem 두 메모리 이미지의 바이너리 비교를 수행합니다.. 더보기
Null 종료 문자열 함수 함수 설명 StrAlloc 특정 크기의 문자 버퍼를 힙(heap)에 할당합니다. StrBufSize StrAlloc 또는 StrNew를 사용하여 할당된 문자 버퍼의 크기를 리턴합니다. StrCat 두 문자열을 연결합니다. StrComp 두 문자열을 비교합니다. StrCopy 문자열을 복사합니다. StrDispose StrAlloc 또는 StrNew를 사용하여 할당된 문자 버퍼를 해제합니다. StrECopy 문자열을 복사하고 문자열 끝에 대한 포인터를 리턴합니다. StrEnd 문자열 끝에 대한 포인터를 리턴합니다. StrFmt 하나 이상의 값을 문자열 내로 서식화(format)합니다. StrLComp 대소문자를 구별하지 않고 두 문자열을 비교합니다. StrLCat 결과 문자열의 지정한 최대 길이로 두 문자.. 더보기
입력/출력 프로시저 및 함수 프로시저/함수 설명 Append 내용을 추가하기 위해 기존 텍스트 파일을 엽니다. AssignFile 외부 파일의 이름을 파일 변수에 대입합니다. BlockRead 타입 미지정 파일에서 하나 이상의 레코드를 읽습니다. BlockWrite 타입 미지정 파일에 하나 이상의 레코드를 씁니다. ChDir 현재 디렉토리를 변경합니다. CloseFile 열려 있는 파일을 닫습니다. Eof 파일의 파일 끝(end-of-file) 상태를 리턴합니다. Eoln 텍스트 파일의 줄 끝(end-of-line) 상태를 리턴합니다. Erase 외부 파일을 지웁니다. FilePos 타입 지정 혹은 타입 미지정 파일의 현재 위치를 리턴합니다. FileSize 파일의 현재 크기를 리턴합니다. 텍스트 파일에 대해서는 사용하지 않습니다... 더보기