33
J2EE Overview

J2EE Overview

  • Upload
    asabi

  • View
    53

  • Download
    3

Embed Size (px)

DESCRIPTION

J2EE Overview. 최근 동향. 대용량 트랜잭션에 대한 처리 요구 증대 비즈니스 로직을 위한 새로운 티어의 추가 구성의 복잡성이 증대 가벼운 서버 가벼운 클라이언트 인터넷의 발달 표준 플랫폼의 필요성. Component Transaction Monitor. C( 컴포넌트 모델 ) T( 트랜잭션 관리 ) M( 모니터 : 자원 및 서비스 관리 ). Server-Side Component Model. Business logic. Business logic. Services. Services. - PowerPoint PPT Presentation

Citation preview

Page 1: J2EE Overview

J2EE Overview

Page 2: J2EE Overview

최근 동향

대용량 트랜잭션에 대한 처리 요구 증대 비즈니스 로직을 위한 새로운 티어의 추가 구성의 복잡성이 증대 가벼운 서버 가벼운 클라이언트 인터넷의 발달 표준 플랫폼의 필요성

Page 3: J2EE Overview

Component Transaction Monitor

C( 컴포넌트 모델 ) T( 트랜잭션 관리 ) M( 모니터 : 자원 및 서비스 관리 )

Business logic Business logic Business logic Business logic

ServicesServicesServicesServices

Server-Side Component Model

• Naming• Transactions• Security• Managed persistence• Others …

Page 4: J2EE Overview

J2EE (Java 2 Enterprise Edition)

정의

구현

Business logic Business logic

ServicesServices

Page 5: J2EE Overview

J2EE 플랫폼

호스팅 애플리케이션을 위한 런타임 인프라 구조 애플리케이션 구축을 위한 자바 확장 API 집합

Page 6: J2EE Overview

J2EE Containers, Services

Application Client Container

Application Client Container

Applet ContainerApplet Container

Web ContainerWeb Container EJB ContainerEJB ContainerDatabase

Management System

JNDIJNDI

JNDIJNDI

JNDIJNDIJNDIJNDI

RMI-IIOPRMI-IIOP

RMI-IIOPRMI-IIOP

RMI-IIOPRMI-IIOPRMI-IIOPRMI-IIOP

J2SEJ2SE

J2SEJ2SE

J2SEJ2SE J2SEJ2SE

JMS

JAA

SJT

A

JMS

JAA

SJT

A

JCX

JDB

CJA

XP

JCX

JDB

CJA

XP

JMS

JAA

SJT

A

JMS

JAA

SJT

A

JCX

JDB

CJA

XP

JCX

JDB

CJA

XP

JCB

C

JAX

P

JAA

S

JMS

JCB

C

JAX

P

JAA

S

JMS

JAVA Mail

JAF

JAVA Mail

JAF

JAVA Mail

JAF

JAVA Mail

JAF

Component ?

Page 7: J2EE Overview

J2EE Components

Application Client Container

Application Client Container

Applet ContainerApplet Container

Web ContainerWeb Container EJB ContainerEJB ContainerDatabase

Management System

JNDIJNDI

JNDIJNDI

JNDIJNDIJNDIJNDI

RMI-IIOPRMI-IIOP

RMI-IIOPRMI-IIOP

RMI-IIOPRMI-IIOPRMI-IIOPRMI-IIOP

J2SEJ2SE

J2SEJ2SE

J2SEJ2SE J2SEJ2SE

JMS

JAA

SJT

A

JMS

JAA

SJT

A

JCX

JDB

CJA

XP

JCX

JDB

CJA

XP

JMS

JAA

SJT

A

JMS

JAA

SJT

A

JCX

JDB

CJA

XP

JCX

JDB

CJA

XP

JCB

C

JAX

P

JAA

S

JMS

JCB

C

JAX

P

JAA

S

JMS

JAVA Mail

JAF

JAVA Mail

JAF

JAVA Mail

JAF

JAVA Mail

JAF

session beans

entity beans

message driven beans

servlets

JSPs

applets

applicationclients

Page 8: J2EE Overview

J2EE Component Deployment Modules

Java component

Java component

application.xml(deployment descriptor)

application.xml(deployment descriptor)

Java module

Java module

application-client.xml

(deployment descriptor)

application-client.xml

(deployment descriptor)

web.xml(deployment descriptor)

web.xml(deployment descriptor)

ejb-jar.xml(deployment descriptor)

ejb-jar.xml(deployment descriptor)

ra.xml(deployment descriptor)

ra.xml(deployment descriptor)

Web module

Web module

EJB module

EJB module

RA module

RA module

Web component

Web component

EJB component

EJB component

RA component

RA component

Java module

Web module

EJB module

Resource Adapter module

.ear file

.jar file .war file .jar file .rar file

J2EE Application

module

Page 9: J2EE Overview

J2EE Technologies

JDBCJTA / JTS

RMI-IIOP

JNDI

JMS

EJB

Server-Side Component Model

Page 10: J2EE Overview

EJB Overview

Page 11: J2EE Overview

Enterprise Java Bean

Multi-tier, cross-platform, 분산 객체 등을 지원하는 자바 애플리케이션을 개발하고 배치하기 위한 자바 컴포넌트 아키텍쳐

분산객체와 트랜잭션 프로세싱 모니터 기술의 접목

컴포넌트 트랜잭션 모니터에 대한 자바 server-side 컴포넌트 모델

Page 12: J2EE Overview

Stateful

Stateless

CMP BMP

Session Entity

EJB

Message

Types of Enterprise Beans

Page 13: J2EE Overview

Ingredients of an Enterprise JavaBean Type Definition

EJB 는 단일 단위로 묶인 자바 클래스들과 XML 파일의 집합체이다 . 자바 클래스들은 정확한 규칙을 따라야 하고 콜백 메소드를 제공해야 한다 .

리모트 인터페이스 홈 인터페이스 빈 클래스 프라이머리 키 디플로이 디스크립터

Page 14: J2EE Overview

EJB Development Steps

Client

Client StubClient Stub

ImplementClient

ImplementClient

javacjavac

Start theClient

Start theClient

1010

1111

99

jarjar

ejbcejbc

DDCreatorDDCreator

Make Deployment Descriptor

Make Deployment Descriptor

Define YourComponent Code

Define YourComponent Code

javacjavac

11

22

33

44

55

66 Start theServer

Start theServer

Server

Deploy component on server

& if needed, make database table

Deploy component on server

& if needed, make database table

77

88

Page 15: J2EE Overview

Evolution of EJB Standard

EJB 1.0 defines: Session and entity beans Client and developer’s view of EJBs EJB roles

EJB 1.1 Introduces declarative (XML-based) deployment

descriptors EJB 2.0

Introduces message-driven beans Enriches and standardizes support for persistence of

entity beans Complex database mapping, complex relationships

Adds local interfaces Supports network interoperability among EJB servers

Mandatory IIOP

Page 16: J2EE Overview

EJB Container, Server

EJB Container

• 컴포넌트를 위한 실행환경

EJB Server

• 컨테이너를 위한 실행환경

Page 17: J2EE Overview

Session, Entity Beans

Session Bean

Entity Bean

클라이언트의 확장 다른 빈들과 상호 작용하는

작업이나 워크플로우를 구현

퍼시스턴스를 가지며 사람 , 장소 ,물건 등을 나타낸다 .

데이터베이스의 row 와 1:1매핑

Page 18: J2EE Overview

Stateful, Stateless

Stateful

Stateless

Session

세션 상태가 저장됨 클라이언트 수 = Bean Instance

수 클라이언트 컨텍스트가 관리됨 스와핑이 일어남 ( 상태가 저장됨 )

세션 상태가 저장 안됨 하나의 Bean Instance 가 여러 client 에

대응 클라이언트 컨텍스트가 관리 안됨 스와핑이 일어나지 않음

Page 19: J2EE Overview

Stateless Instance Life Cycle

Page 20: J2EE Overview

Stateful Instance Life Cycle

• 메모리가 아닌 Secondary Storage 로의 저장

Page 21: J2EE Overview

CMP, BMP

CMP BMP

Entity

EJB Container 가 Bean 의 Persistency 관리

Persistency 를 위한 코딩이 없음 SQL 구문에 대한 제어가 필요 없음 기능상의 제약을 가져올 수 있음 DB 관련 optimization 이 불가능

Persistency 를 위한 코딩이 필요 SQL 질의에 대한 제어가 가능 복잡한 기능 구현이 가능

Page 22: J2EE Overview

Life Cycle of an Entity Instance

Page 23: J2EE Overview

WSA Overview

Page 24: J2EE Overview

Borland Enterprise Server

The SMART Platform

Web Enablement

Web Enablement

Integration and High speed

Integration and High speed

Advanced Frameworks

Advanced Frameworks

The World Market

W3CW3C

OMGOMG

J2EEJ2EE

WebEdition

WebEdition

VisiBrokerEdition

VisiBrokerEdition

AppServerEdition

AppServerEdition

Page 25: J2EE Overview

Borland Enterprise Server, Web Edition

Bo

rlan

dB

orl

and

BorlandizationQA & SupportBorlandizationQA & Support

Open Source

ApacheTomcat

VisiBroker

BorlandWeb Engi

ne

BorlandWeb Engi

ne

BorlandTomcatBorlandTomcat

Load balancingFault-toleranceFailover

Page 26: J2EE Overview

Borland Enterprise Server, Web Edition

BorlandTomcatBorlandTomcat

BorlandTomcatBorlandTomcat

BorlandTomcatBorlandTomcat

JDataStore

Pure O/R Java Database

Bo

rlan

dB

orl

and

IIOPIIOP

Open Source

ApacheTomcat BorlandWeb Engi

ne

BorlandWeb Engi

ne

BorlandTomcatBorlandTomcat

Stateful Session

Stateful Session

Management

Management

Database operations

Database operationsWeb Edition

Co

nso

leB

orl

and

IDE

s

Page 27: J2EE Overview

Borland Enterprise Server, VisiBroker Edition

BorlandTomcatBorlandTomcat

BorlandTomcatBorlandTomcat

BorlandTomcatBorlandTomcat

JDataStore

Pure O/R Java Database VisiBroker

C++

IIOPIIOP

BorlandWeb Engi

ne

BorlandWeb Engi

ne BorlandTomcatBorlandTomcat

Stateful S

ession

Stateful S

ession

Managem

ent

Managem

ent

Dat

abas

e op

erat

ions

Dat

abas

e op

erat

ions

Console

VisiBrokerJava

Internet

Fir

ewal

lF

irew

all

Fir

ewal

lF

irew

all

BorlandGatekeeper

BorlandGatekeeper

IIOP

Http/SOAP

IIOP

Page 28: J2EE Overview

Borland Enterprise Server, AppServer Edition

AppServer™ EditionAppServer™ Edition

AppServer™ Edition

VisiBroker Edition

VisiBrokerJava

VisiBrokerC++

Web Edition

BorlandWeb Engi

ne

BorlandWeb Engi

ne

BorlandTomcatBorlandTomcat

BorlandTomcatBorlandTomcat

BorlandTomcatBorlandTomcat

AppServer Edition

ServletsJSP™

RMI/IIOP™ JDBC™Java IDL™

JavaMail™JMS™ JNDI™

JTA™ JTS™

JavaMail™ &

JAF

JAAS™

JAXP™

JCA™

J2EE 1.3 ComplaintJ2EE 1.3 Complaint

Console

Page 29: J2EE Overview

Borland Enterprise Server, AppServer EditionPartitioning (ASAP)

Partition Based Architecture Partitions = “virtual application serv

ers” running within one server instance

Applications can run securely and independently in a partition

Applications can be scaled locally or across the net

Applications can be individually managed

The only architecture designed to run enterprise applications in production environments

Page 30: J2EE Overview

Borland Enterprise Server – AppServer Edition

Borland Enterprise Server

WebEdition

WebEdition

VisiBrokerEdition

VisiBrokerEdition

AppServerEdition

AppServerEdition

J2EE 1.3 Compliant– Includes VisiBroker Edition; seamle

ss integration of J2EE and CORBA services

– Enterprise Java Beans 2.0

– Java Connector Architecture

– Java Messaging Service (via SonicMQ)

– Servlet 2.3 and JSP 1.2 support

– Java Authentication and Authorization Security

Includes VisiBroker Edition

Page 31: J2EE Overview

Web-WAS-DB 구성

DBMS

iPlanet Web Server

Borland Enterprise ServerWeb Container

JSP

Servlet

Client Beans

EJB Container

EJB EJB

Partition

Web Container

JSP

Servlet

Client Beans

EJB Container

EJB

EJB

EJB

JDBC

Data Base 장비

Partition

Page 32: J2EE Overview

Component 의 종류

Business Component( 특정 비즈니스 컴포넌트 )

Infrastructure Component( 시스템 기반 서비스 / 유틸리티 )

Application Component( 도메인 컴포넌트 )

Business Component( 공용 비즈니스 컴포넌트 )

통합개발 환경

구체적( 도메인 종속적 )

일반적( 범용적 )

Page 33: J2EE Overview

Q & A