Java2 - J2EE요약
목록 추천  
추천수:
제 목 J2EE요약
작성자 박세청 작성일 2014/01/14 17:08


 

 

n J2EE 표준

q 자바 2 플랫폼, J2SE, 플랫폼 독립적인 언어

q 웹 기반 사용자 인터페이스를 제공하는 컴포넌트

q 비즈니스 프로세스 캡슐화하는 컴포넌트

q 회사 데이터 저장소에 있는 데이터 액세스

q 다른 데이터 소스 및 레거시 시스템에 대한 연결

q XML 지원, B2B 전자 상거래용 언어

n J2EE 컨테이너

q 컴포넌트들에게 런타임 환경을 제공

q 컴포넌트 간의 통신, 지속성, 서비스 검색 등과 같은 기능을 제공

q 애플릿 컨테이너

q 애플리케이션 클라이언트 컨테이너

q 웹 컨테이너

q EJB 컨테이너

n J2EE 서버에 디플로이되거나 관리 및 실행되는 컴포넌트

q 웹 컴포넌트

q EJB 컴포넌트

n J2EE 표준 서비스

q 연결성

n 컨테이너는 다른 컴포넌트나 애플리케이션 클라이언트에 대한 연결성을 제공해야 한다.

n RMI, RMI-IIOP, JavaIDL, HTTP, HTTPS

q 디렉토리 서비스

n 컴포넌트의 등록 및 검색을 위한 네이밍 서비스를 제공

n JNDI

q 데이터 액세스 및 지속성

n JDBC

q 레거시 연결성

n 다른 시스템을 J2EE 엔터프라이즈 아키텍쳐와 연결을 위한 기능

n JCA(Java Connector Architecture)

q 보안

n 애플리케이션에 사용자 인증 및 검증 부분을 쉽게 추가할 수 있다.

n JAAS(Java Authentication and Authorization)

q XML 지원

n XML 파잇 기능 제공

n JAXP API (DOM, SAX, XSLT)

q 트랜잭션

n 컨테이너에서 트랜잭션의 경계를 설정

n JTA(Java Transaction API)를 사용하면 컴포넌트 자체적으로 트랜잭션을 제어할 수도 있다.

q 메시징 및 이메일

n JMS(Java Message Serviec) : 컴포넌트에서 비동기적인 메시지를 기관 내부적으로 보내거나 받을 수 있다.

n JAF(JavaBeans Activation Framework)

n 컨테이너의 이해

q 컴포넌트가 동작하는데 필요한 리소스를 제공하거나 실행을 위한 런타임을 제공

q 애플리케이션 호스트에 대한 어느 정도의 보안 기능을 갖춰야 한다.

q 라이플 사이클 관리, 쓰레딩, 보안 , 디플로이먼트, 다른 컴포넌트와의 통신

n 애플릿 컨테이너

n 애플리케이션 클라이언트 컨테이너

n JSP 컨테이너

n 서블릿 컨테이너

n 웹 컨테이너

n EJB 컨테이너

q 컴포넌트들이 플랫폼이나 다른 컴포넌트와 통신하는데 필요한 메소드나 프로토콜들을 제공

n Presentation Tier

q 여러 가지 마크업 언어와 잘 결합되고, 프리젠테이션 중심적인 JSP 페이지로 작성한다.

n JSP 페이지는 XML 태그로 구성되기 때문에, 웹 컨텐츠 제공자가 쉽게 사요할 수 있다.

n 사이트의 내용을 손쉽게 유지 보수 할 수 있다.

q 서블릿은 자주 변경할 일이 없는 부분을 구현할 때 사용

n 바이너리 데이터를 생성하는 경우

n 웹 서비스의 기능을 확장하는 경우

n

n J2EE 애플리케이션

q J2EE 애플리케이션을 구성하는 모든 컴포넌트들은 EAR(Enterprise Application Archive)이라고 불리는 특수한 형태의 JAR 파일로 저장된다.

q 컴포넌트 아카이브 파일은 일종의 JAR 파일로서 컴포넌트의 클래스와 리소스뿐만 아니라 컴포넌에 관련된 디플로이먼트 디스크립터를 담게 된다.

n 0개 이상의 웹 아카이브(WAR 파일)로 패키징된 웹 컴포넌트

n 0개 이상의 EJB-JAR 파일로 패키징된 EJB 컴포넌트

n 0개 이상의 JAR 파일로 패키징된 클라이언트 컴포넌트

n 0개 이상의 리소스 아카이브(RAR 파일)로 패키징된 커넥터들

q Application deployment descriptor

n 애플리케이션 전체에 대한 디플로이먼트 정보를 포함하고 d있으며, 각 컴포넌트의 디플로이먼트 디스크립터에있는 정보를 대체할 수 있다.

EJB는 지속적인 상태를 유지할 필요가 있을 때 사용한다. EJB는 트랜잭션에 대한 보안 기능과 갑작스런 상황에 따른 실행 취소 기능을 구현하기 위해서 사용한다. 단순히 데이터베이스에 있는 정보를 읽기만 하는 경우에는 서블릿이나 JSP 만으로도 충분하지만, 정보를 갱신하거나 새로운 정보를 추가하는 경우에는 EJB를 사용하는 것이 좀 더 안전하다.

[EJB 아키텍처]

n 빠른 시간 안에 신뢰성 있는 시스템을 구축할수있다

n 분산 시스템에서 구현하기 어려운 부분은 이미 작성되어 있기 때문에 개발자는 비즈니스 로직을 담당하는 컴포넌트 개발에만 전념할 수 있다.

n 컴포넌트 중심으로 개발되어 있기 때문에 모든 소스 코드를 이해하는 것이 아니라, 해당 컴포넌트에 해당하는 비즈니스 메소드의 기능만 이해하면 된다.

n EJB 컴포넌트를 쉽게 개발할 수 있는 공개용 개발 도구, 상업용 개발 도구를 이용하여 쉽게 비즈니스 로직을 처리하는 컴포넌트를 개발할 수 있다.

n 프리젠테이션 계층과 애플리케이션 계층을 완벽하게 분리할 수 있다. 보안을 중요하게 생각할 경우 애플리케이션은 방화벽 안쪽에 위치시키고, 프리젠테이션 계층만 방화벽 바깥쪽에 위치시킬 수 있다.

n 프로그램의 속도를 향상시키기 위한 것이 아니라 코드의 재사용성을 높이고 복잡한 처리 작업의 신뢰성을 유지하며, 빠르게 개발하기 위해서 필요

[출처] J2EE|작성자 brainstorming





이전글 jar를 이용해서 war와 ear를 만들기
다음글 J2EE 어플리케이션의 구성

목록 추천