>Java >java지도 시간 >J2EE 기술

J2EE 기술

WBOY
WBOY원래의
2024-08-30 15:13:41624검색

J2EE는 Java 2 Standard Edition(J2SE)을 확장하는 사양을 갖춘 Java 2 Enterprise Edition(이전의 Java 2 Platform Enterprise Edition)의 약식입니다. J2EE는 대규모로 활용되는 내장형 서비스 세트를 제공하여 다중 계층, 구성 요소 기반 및 분산 아키텍처를 지원합니다. 일반적으로 J2EE는 대규모 애플리케이션을 구축하는 데 도움이 되는 API 세트입니다. J2EE 기술은 API를 사용하며 엔터프라이즈 애플리케이션 구축 및 배포를 위한 표준입니다. “한 번 작성하면 어디에서나 실행 가능”을 약속합니다.

광고 이 카테고리에서 인기 있는 강좌 J2EE - 전문 분야 | 14개 코스 시리즈 | 6가지 모의고사

무료 소프트웨어 개발 과정 시작

웹 개발, 프로그래밍 언어, 소프트웨어 테스팅 등

Java Enterprise Edition에는 웹 페이지 생성, 데이터베이스 읽기 및 쓰기, 분산 대기열 관리 등 다양한 목적을 위한 여러 사양이 포함되어 있습니다.

J2EE 기술 목록

J2EE 플랫폼의 그래픽 표현

J2EE 기술

1. 자바 서블릿

Java 서블릿은 웹 서버에서 실행되고, 동적 웹 페이지를 생성하고, 웹 브라우저의 요청을 처리하고, 요청을 처리하고, 처리된 데이터를 브라우저로 다시 보냅니다.

동적 웹페이지 개발에는 CGI(Common Gateway Interface)도 사용되지만 성능, 확장성, 재사용성 등 여러 가지 한계가 있습니다. 이러한 한계를 극복하기 위해 서블릿을 사용할 수 있습니다.

CGI의 가장 중요한 단점 중 하나는 사용자 CGI 프로그램의 새로운 요청이 있을 때마다 새로운 프로세스를 생성하여 이를 처리한다는 것입니다. 사용자 수가 많이 증가하면 CGI는 모든 요청에 ​​대해 새로운 프로세스를 생성해야 합니다. 리소스가 제한되어 있으므로 각 프로세스에 대해 새 프로세스를 만드는 것은 서버 측에 유효하지 않습니다. CGI와 달리 별도의 스레드가 서블릿 프로그램을 처리합니다.

J2EE 기술

서블릿 실행 프로세스:

  • 클라이언트가 요청을 보냅니다.
  • 웹서버가 요청을 받습니다.
  • 웹 서버는 해당 서블릿에 요청을 전달합니다.
  • 서블릿은 요청을 처리하고 출력 형식으로 응답을 생성합니다.
  • 서블릿이 웹 서버에 응답을 다시 보냅니다
  • 웹 서버가 클라이언트에 응답을 보냅니다.

2. 자바 서버 페이지(JSP)

개발자는 서버측 프로그래밍을 위해 Java Server Pages를 사용하여 동적 웹 페이지를 생성하고 웹 기반 애플리케이션을 구축합니다.

JSP의 기능:

  • JSP를 사용하면 HTML 내에 Java 코드를 삽입할 수 있으므로 JSP 성능이 크게 향상됩니다.
  • 서블릿과 마찬가지로 JSP도 Enterprise Java API에 액세스할 수 있습니다
  • 개발자는 JSP 페이지를 서블릿과 함께 사용하기도 합니다.
  • HTML에 Java 코드를 삽입할 수 있는 JSP 태그는 <%—–JSP 코드—- %>
  • 입니다.
  • HTML 내에 JSP 코드를 삽입하면 등록 양식, 드롭다운 상자 등과 같은 HTML 페이지가 동적으로 만들어집니다.
  • JSP는 Java Bean 객체에 액세스하는 데 사용됩니다.
  • JSP는 프레젠테이션 계층을 비즈니스 로직과 분리합니다.
  • 서블릿에 비해 동적 웹페이지를 생성하는 가장 쉬운 방법을 제공합니다.
  • 웹 컨테이너는 재컴파일 없이 JSP 코드의 모든 변경 사항을 처리합니다.
  • 서블릿과 마찬가지로 JSP [추가 파일 클래스 파일 및 웹, XML이 필요하지 않습니다.
  • JSP에는 추가적인 web.xml 매핑이 필요하지 않습니다.

JSP 아키텍처:

J2EE 기술

건축작업 #1

이 아키텍처에서 JSP는 클라이언트 요청을 처리하는 데 중요한 역할을 합니다.

  • 클라이언트가 JSP에 요청을 보냅니다
  • JSP는 JavaBean 객체를 생성합니다.
  • JavaBeans는 필요한 경우 데이터베이스의 필수 데이터를 사용하여 요청을 처리합니다.
  • 서버가 클라이언트에 응답을 다시 보냅니다.

J2EE 기술

건축작업 #2

이 아키텍처에서는 서블릿이 중요한 역할을 합니다. 서블릿은 컨트롤러 역할을 합니다.

  • 클라이언트가 요청을 보냅니다.
  • 서블릿은 클라이언트가 보낸 요청을 처리합니다.
  • 서블릿은 Bean 객체를 생성하고 특정 JSP 페이지를 호출합니다.
  • 여기서 JSP는 클라이언트 요청을 처리하지 않습니다.
  • JSP가 프레젠테이션 부분을 수행합니다.

3. EJB(엔터프라이즈 Java Bean)

Enterprise Java Beans는 확장성이 뛰어나고 강력한 엔터프라이즈급 애플리케이션을 구축하기 위한 개발 아키텍처입니다.

EJB의 기능:

  • 애플리케이션 서버는 트랜잭션, 로깅, 예외 처리 등 시스템 수준의 서비스 대부분을 제공하므로 개발자는 애플리케이션의 비즈니스 로직에 집중해야 합니다.
  • EJB 컨테이너는 모든 EJB 인스턴스를 관리합니다.
  • EJB 구성 요소는 호환되는 모든 EJB 호환 서버에서 실행됩니다. 플랫폼 독립적으로 이러한 이점을 누릴 수 있습니다.

Enterprise Bean 유형:

아. 세션빈

세션 빈은 클라이언트를 위한 작업을 수행합니다. 클라이언트는 캡슐화된 비즈니스 로직을 프로그래밍 방식으로 호출할 수 있습니다.

세션 빈에는 세 가지 유형이 있습니다.

  • Stateful Session Bean: Stateful 세션 Bean의 인스턴스는 종종 대화 상태라고 불리는 고유한 클라이언트의 상태를 나타냅니다. 이는 대화형 세션이라고도 하며 단 한 명의 사용자와만 연결됩니다. 클라이언트가 Bean 세션을 제거하면 상태가 유지되고 상태는 사라집니다.
  • Stateless Session Bean: Stateless 세션 인스턴스는 클라이언트와 대화 상태를 유지하지 않습니다. 클라이언트가 호출할 때 Stateless Bean 변수의 메소드는 해당 클라이언트에만 포함되지만 호출 기간 동안만 포함됩니다. 인스턴스는 모든 클라이언트에 적용됩니다. 웹서비스를 구현할 수 있습니다.
  • 싱글톤 세션 빈: 애플리케이션당 한 번 인스턴스화되고 애플리케이션 수명 주기 동안 존재합니다. 단일 인스턴스 Bean이 동시 클라이언트 전체에서 공유될 때 사용됩니다. 서버는 클라이언트 호출 사이의 상태를 유지하지만 서버 종료 시 상태를 유지하는 데 필요하지는 않습니다. 애플리케이션 시작 시 인스턴스화되어야 합니다.

ㄴ. 메시지 중심

메시지 구동 Bean은 Java 메시지 서버 API와 같은 특정 메시지 유형에 대한 리스너입니다.

EJB 아키텍처:

J2EE 기술

4. JDBC(Java 데이터베이스 연결)

Java Database Connectivity는 쿼리를 연결하고 실행하는 데 사용되는 Java API입니다. 연결을 위해 JDBC 드라이버를 사용합니다.

운전자 유형:

  • JDBC-ODBC 브릿지 드라이버
  • 네이티브 드라이버.
  • 네트워크 프로토콜 드라이버.
  • 씬 드라이버.

특징:

  • ODBC는 플랫폼에 따라 다르므로 연결을 위해 ODBC 드라이버를 사용하므로 Java는 자체 JDBC API를 개발했습니다.
  • Java는 Java 애플릿, JSP, EJB, 서블릿 등을 포함한 다양한 유형의 실행 파일을 작성하는 데 사용할 수 있습니다.

JDBC 아키텍처:

JDBC 아키텍처는 두 가지 유형으로 나누어집니다

  • 2계층 아키텍처.
  • 3층 구조.

아. 2계층 아키텍처

2계층 아키텍처를 그래픽으로 표현한 이미지입니다.

J2EE 기술

Java 애플리케이션은 이 2계층 아키텍처의 데이터베이스에서 직접 액세스됩니다. 클라이언트는 JDBC 드라이버를 사용하여 직접 데이터에 액세스합니다. 데이터베이스는 클라이언트-서버 구성의 동일한 시스템이나 다른 시스템에 있을 수 있습니다.

ㄴ. 3계층 아키텍처

3계층 아키텍처를 그래픽으로 표현한 이미지입니다.

J2EE 기술

이 아키텍처는 중간 계층에 명령을 보내고, 중간 계층은 요청을 처리한 다음 이를 데이터 소스로 전달합니다. 데이터 소스는 요청을 처리하고 결과는 중간 계층으로 다시 전송된 다음 사용자에게 전송됩니다. 3계층에서는 기업 데이터에 대한 데이터 액세스 및 업데이트를 제어합니다.

5. 자바 메시지 서비스(JMS)

Java Messaging Service는 Messaging Service라는 네트워크에 있는 컴퓨터 간의 공식적인 통신을 제공하는 API입니다.

  • 메시지 교환은 동기식 또는 비동기식 모드일 수 있습니다.
  • JMS API는 다른 Java 플랫폼 언어 간의 상호 운용성을 허용합니다.
  • 애플리케이션은 메시지 대기열, 발신자, 수신자 개념을 기반으로 구축되었습니다.

JMS에는 두 가지 유형의 메시징 도메인이 있습니다.

아. 지점간 메시징 도메인

  • 애플리케이션은 대기열, 송신자, 수신자의 개념을 기반으로 합니다.
  • 메시지 대기열 수신자에게 전송된 각 메시지는 메시지 대기열에 메시지를 저장합니다.
  • 큐는 소비되거나 만료될 때까지 모든 메시지를 저장합니다.
  • 수신자를 네트워크에서 사용할 수 없는 경우 수신자가 메시지를 사용할 때까지 메시지는 메시지 브로커에 남아 있습니다.
  • 수신자가 메시지 소비를 인정합니다.

ㄴ. 메시징 도메인 게시/구독

  • 애플리케이션은 주제라는 메시지 브로커에 메시지를 보냅니다.
  • Topic은 모든 구독자에게 메시지를 게시합니다.
  • 이 주제는 수신자가 이를 사용할 때까지 모든 메시지를 유지합니다.
  • 여기에서는 여러 소비자와 소비자가 구독 후 메시지를 받게 됩니다.

JMS 아키텍처:

J2EE 기술

6. 자바 트랜잭션 API(JTA)

JTA를 사용하면 분산 트랜잭션을 수행하여 네트워크의 여러 컴퓨터에서 데이터에 액세스하고 업데이트할 수 있습니다. JTA API는 트랜잭션 관리자와 클라이언트 간의 Java 인터페이스 역할을 합니다.

애플리케이션 서버와 리소스 관리자는 공유 리소스 트랜잭션에 대한 액세스를 제어합니다.

  • 원자성: 트랜잭션 관리자는 커밋할지 롤백할지 최종 결정을 내릴 책임이 있습니다.
  • 일관성 제공: 거래가 실패하더라도 데이터 무결성이 유지됩니다.
  • 다른 애플리케이션이나 스레드에 의한 트랜잭션이 커밋되거나 롤백될 때까지 트랜잭션을 단계적으로 중단할 수 없습니다.
  • 커밋은 시스템 장애 시에도 보존될 수 있습니다.
  • 3가지 유형의 거래 관리자.
  • 데이터베이스: 트랜잭션은 불완전한 업데이트로 인해 데이터베이스가 일관성 없는 상태로 남아 있는 것을 방지합니다.
  • JMS 공급자 - 트랜잭션을 사용하면 메시지가 안정적으로 전달됩니다.
  • J2EE 커넥터 아키텍처 구성요소.
  • 컨테이너 관리 트랜잭션: EJB 컨테이너는 트랜잭션의 경계를 설정하며 모든 Enterprise Bean을 사용할 수 있습니다. 코드에는 거래를 시작하고 종료하는 문이 포함되어 있지 않습니다.
  • 구성 요소 관리 트랜잭션: 트랜잭션은 애플리케이션 자체에서 트랜잭션 관리를 허용하는 JDBC API에 의해 관리됩니다. 메시지 기반 Bean은 트랜잭션 경계를 명시적으로 표시합니다.

JTA 아키텍처:

J2EE 기술

7. 자바 메일

Java 메일은 API입니다. 이를 통해 우리는 이메일을 작성하고 읽고 쓸 수 있습니다. 이 API는 프로토콜 독립적, 플랫폼 독립적을 제공합니다.

Java Mail API와 함께 사용되는 프로토콜:

  • SMTP: SMTP(Simple Mail Transfer Protocol)는 이메일을 전송하는 메커니즘입니다. Apache James Server 및 기타 메일 서버 소프트웨어를 SMTP 서버로 사용하여 이메일을 보내고 중계할 수 있습니다.
  • POP: POP는 우체국 프로토콜/POP3입니다. 이메일을 수신하는 메커니즘입니다. 각 사용자에 대해 단일 사서함을 지원합니다. POP 기능으로는 메일서버인 Apache James Server를 사용할 수 있습니다.
  • IMAP: 인터넷 메시지 액세스 프로토콜(Internet Message Access Protocol)은 메시지 수신을 위한 고급 프로토콜입니다. 각 사용자에 대해 여러 개의 사서함을 지원합니다.
  • MIME: Multiple Internet Mail Extension은 이메일 형식, 첨부 파일 등과 같이 전송되는 내용을 브라우저에 알려줍니다.

Java 메일 아키텍처:

J2EE 기술

8. JNDI(Java 이름 지정 및 디렉터리 인터페이스)

Java 이름 지정 및 디렉토리 인터페이스는 사용자가 특정 이름을 사용하여 데이터를 검색할 수 있는 이름 지정 및 디렉토리 서비스용 API입니다.

  • JNDI는 구현에 독립적입니다.
  • 서비스 제공자 인터페이스(SPI)를 제공하여 프레임워크에 디렉터리 서비스를 연결할 수 있습니다.
  • 개발자는 API를 사용하여 Java 애플리케이션을 외부 디렉터리에 연결합니다.
  • 객체를 이름에 바인딩하는 메커니즘을 제공합니다.
  • 이벤트 인터페이스를 통해 클라이언트는 디렉토리 항목이 수정된 시기를 확인할 수 있습니다.

JNDI는 다음과 같은 이름 지정 및 디렉토리 서비스를 사용합니다.

  • 경량 디렉터리 액세스 프로토콜(LDAP).
  • 공통 객체 요청 브로커 아키텍처(CORBA).
  • 공통 개체 서비스(COS)
  • Java 원격 메소드 호출(RMI).
  • 도메인 이름 서비스(DNS).

JNDI 아키텍처:

J2EE 기술

9. J2EE 커넥터 아키텍처(JCA)

애플리케이션 서버는 JCA를 사용하여 EIS에 연결합니다.

  • JCA 지원 애플리케이션 서버는 모든 JCA 호환 EIS와 통합됩니다.
  • 리소스 어댑터를 사용하면 Java 애플리케이션이 EIS의 리소스 관리자에 액세스하고 상호 작용할 수 있습니다.
  • 또한 EIS와 메시지 기반 트랜잭션 통합 Java EE 기반 웹 서비스를 제공합니다.

JCA는 Java 애플리케이션 서버와 리소스 어댑터 간의 시스템 수준 계약의 표준 세트를 정의합니다.

  • 연결 관리: EIS에 대한 애플리케이션 서버 풀 연결을 활성화합니다. 애플리케이션 구성 요소를 연결할 수 있도록 합니다. 이는 확장 가능한 애플리케이션 환경에 도움이 되며 다수의 클라이언트를 지원합니다.
  • 트랜잭션 관리: 응용 프로그램 서버가 트랜잭션 관리자를 사용하여 여러 리소스 관리자의 트랜잭션을 관리할 수 있도록 합니다. 이 소프트웨어는 외부 거래 관리자의 개입 없이 내부 거래 관리를 지원합니다.
  • 보안 관리: EIS에 대한 보안 위협을 예방하고 EIS에서 관리하는 귀중한 자원을 보호합니다.
  • 라이프 사이클 관리: 애플리케이션 서버가 리소스 어댑터의 라이프사이클을 시작부터 종료까지 관리할 수 있도록 합니다.
  • 작업 관리: 리소스 어댑터를 활성화하여 실행을 위해 애플리케이션 서버에 작업을 할당할 수 있습니다. 애플리케이션 서버는 할당된 작업을 완료하기 위해 스레드를 디스패치합니다.
  • 트랜잭션 유입 관리: 리소스 어댑터가 가져온 트랜잭션을 애플리케이션 서버에 전파할 수 있습니다. 리소스 어댑터가 EIS에 의해 시작된 트랜잭션 완료 및 충돌 복구를 전송할 수 있습니다.
  • 메시지 유입 관리: 애플리케이션 서버에 상주하는 메시지 끝점에 대한 메시지의 비동기 전달을 허용합니다.

JCA 아키텍처:

J2EE 기술

결론 – J2EE Technologies

2EE는 클라이언트 향상을 제공하는 엔터프라이즈 컴퓨팅 또는 엔터프라이즈 애플리케이션을 최적화합니다. 거의 모든 J2EE 기술이 제공하는 컨테이너 또는 애플리케이션 서버는 Java의 플랫폼 독립적인 표준이 여러 플랫폼에서 실행될 수 있는 크로스 플랫폼 개발을 보장하므로 빠른 개발 및 배포를 촉진합니다. J2EE의 대부분의 기술은 설계와 개발이 분리되어 있습니다.

위 내용은 J2EE 기술의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
이전 기사:J2EE란 무엇입니까?다음 기사:J2EE란 무엇입니까?