티스토리 뷰
J2EE
- 엔터프라이즈 급 환경에서 요구하는 분산 객체, 효율적 자원 관리, 컴포넌트 기반 개발 등을 자바 환경에서 제공할 수 있도록 하는 표준 규약
- 구성 요소
- EJB
- Servelt/JSP
- JDBC
- JNDI
- JavaMail
- JMS
- JTA
- JAF
- RMI-IIOP
- JavaIDL
컨테이너
Servlet
- 동적 웹페이지를 생성하는 데 사용되는 Java 클래스
- 쓰레드 기반으로 다수의 사용자를 받아도 응답 속도가 빠르다.
JSP
- Java Server Page의 약자. Java 기반
- 서버에서 실행되는 스크립트 언어 방식으로 동적 웹 페이지를 작성
- Servlet으로 변환되어 서비스된다
- 장점
- Servlet보다 쉽고 빠르게 웹 응용 프로그램을 작성할 수 있다.
- presentation을 위한 html 코드와 비즈니스 로직을 위한 자바 코드로 분리 가능
- 자동으로 효율적인 Servlet 코드를 생성한다
- 디자인 도구들을 이용해서 작성할 수 있다.
- 컴포넌트와 태그 라이브러리를 재사용할 수 있다.
EJB
- 구조가 복잡한 대규모 분산 객체 환경을 쉽게 구현하기 위해서 등장한 기술
- 컴포넌트 기반 분산 객체 기술
- EJB를 사용해야 하는 이유
- J2EE 플랫폼에 속하는 표준이다.
- 트랜잭션을 지원한다.
- 보안을 지원한다.
- 재사용 가능한 컴포넌트다.
- 알아야 할 점
- EJB는 속도를 높이려고 사용하는 것이 아니다. 분산 객체 환경을 쉽게 구축하고 시스템의 유연성을 높이기 위해 만들어진 것이다. 이는 속도와 반비례한다. 이를 위해 추가적인 과부하가 발생하기 때문이다.
- EJB는 안정적이다. EJB를 사용한다는 것은 EJB를 운영하기 위한 프레임워크를 사용한다는 의미이다. EJB를 운영하는 프레임워크는 웹 프로그램과 EJB가 수행할 업무를 효율적으로 분산시켜주며 이로 인해 시스템이 안정적으로 동작한다.
- EJB는 사용하기 쉽지 않다. 잘못 사용할 경우 더 큰 문제가 발생할 수 있기에 분산 환경과 EJB의 특징에 대한 확실한 이해가 필요하다.
서비스 API
XML
- eXensible Markup Language의 약자.
- 모든 컴퓨터가 이해할 수 있고 대부분의 사람이 이해할 수 있도록 정보를 표현하는 방식
- 표준화된 표현 형식
- 전자 상거래, 온라인 뱅킹 에 적합
- 자신의 태그를 새로 만들어서 데이터 표현 가능
- 보여주는 것과 데이터 분리할 수 있도록 허용
- 다른 마크업 언어 생성 가능
JavaMail
- Sun사에서 만든 API
- 이메일 프로토콜에 관련된 부분을 미리 구현해 쉽게 메일 프로그램을 만들 수 있게 한다
- 자바 코드 내에서 메일 관련 로직을 쉽게 구현할 수 있다.
JNDI
- Java Naming Directory Interface
- 기업형 네이밍 또는 디렉토리 서비스에 대해 접근할 수 있게 하는 API
- 목적
- EJB 컴포넌트 연결 시 사용
- 네트워크를 통한 타 자원들에 연결 시 사용
- 마이크로 소프트 exchange나 로터스 notes 등과 같은 네이밍 서비스에 저장된 데이터를 액세스로 저장
JMS
- Java Message Service
- Java EE 기반으로 하는 애플리케이션 간의 통신을 메세지를 통해 수행할 수 있게 한 Java 표준 API
- 비동기적, 에러에 영향을 받지 않고 메세지를 주고 받게 하는 API
- 메세지 큐로 불리는 소프트웨어를 통해 구현됨
- 일종의 허브 역할
JDBC
- Java DataBase Connectivity
- Java에서 DataBase 관련 작업을 담당하는 API
- 특징
- 별도의 install 과정 불필요
- DB와의 연결은 String 형태의 URL에 의해 수행
- String 형태로 표준 SQL 문 전달
- 장점
- interface 기반이기 때문에 DB 에 종속적이지 않음
JTA
- Java Transaction API
- J2EE에서는 EJB 등과 같은 컴포넌트들에 대한 트랜잭션 관리를 자동화 해줄 수 있는 스펙을 정의한다. JTA는 컨테이너 내에 상주하면서 다중 컴포넌트들과 다중 데이터 원본들에 대해서도 트랜잭션을 적용할 수 있게 해준다.
'Web' 카테고리의 다른 글
웹에서의 문자 (0) | 2023.06.20 |
---|---|
escape 문자 json ↔ string (0) | 2023.01.03 |
REST란 무엇인가? (0) | 2021.12.22 |
HTTP Method 7가지 (0) | 2021.12.22 |
웹 소켓 (0) | 2021.11.11 |
공지사항
최근에 올라온 글
최근에 달린 댓글
- Total
- Today
- Yesterday
링크
TAG
- Encoding
- annotation
- ActiveAdmin
- SQL 전문가 가이드
- point
- 메모리 릭
- aws
- effective-java
- TroubleShooting
- Lombok
- 코테 log
- gitignore
- 암호화
- Git
- WebClient
- IntelliJ
- SHA
- Java
- sort algorithm
- fetchResults
- ASCII
- Spring-Boot
- querydsl
- 실용주의
- 이펙티브자바
- Generic
- 이벤트스토밍
- DesignSystem
- 사고..
- ruby
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | ||||
4 | 5 | 6 | 7 | 8 | 9 | 10 |
11 | 12 | 13 | 14 | 15 | 16 | 17 |
18 | 19 | 20 | 21 | 22 | 23 | 24 |
25 | 26 | 27 | 28 | 29 | 30 | 31 |
글 보관함