Upload
anna-beasley
View
232
Download
6
Embed Size (px)
Citation preview
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 …
J2EE (Java 2 Enterprise Edition)
정의
구현
Business logic Business logic
ServicesServices
J2EE 플랫폼
호스팅 애플리케이션을 위한 런타임 인프라 구조 애플리케이션 구축을 위한 자바 확장 API 집합
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 ?
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
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
J2EE Technologies
JDBCJTA / JTS
RMI-IIOP
JNDI
JMS
EJB
Server-Side Component Model
EJB Overview
Enterprise Java Bean
Multi-tier, cross-platform, 분산 객체 등을 지원하는 자바 애플리케이션을 개발하고 배치하기 위한 자바 컴포넌트 아키텍쳐
분산객체와 트랜잭션 프로세싱 모니터 기술의 접목
컴포넌트 트랜잭션 모니터에 대한 자바 server-side 컴포넌트 모델
Stateful
Stateless
CMP BMP
Session Entity
EJB
Message
Types of Enterprise Beans
Ingredients of an Enterprise JavaBean Type Definition
EJB 는 단일 단위로 묶인 자바 클래스들과 XML 파일의 집합체이다 . 자바 클래스들은 정확한 규칙을 따라야 하고 콜백 메소드를 제공해야 한다 .
리모트 인터페이스 홈 인터페이스 빈 클래스 프라이머리 키 디플로이 디스크립터
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
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
EJB Container, Server
EJB Container
• 컴포넌트를 위한 실행환경
EJB Server
• 컨테이너를 위한 실행환경
Session, Entity Beans
Session Bean
Entity Bean
클라이언트의 확장 다른 빈들과 상호 작용하는
작업이나 워크플로우를 구현
퍼시스턴스를 가지며 사람 , 장소 ,물건 등을 나타낸다 .
데이터베이스의 row 와 1:1매핑
Stateful, Stateless
Stateful
Stateless
Session
세션 상태가 저장됨 클라이언트 수 = Bean Instance
수 클라이언트 컨텍스트가 관리됨 스와핑이 일어남 ( 상태가 저장됨 )
세션 상태가 저장 안됨 하나의 Bean Instance 가 여러 client 에
대응 클라이언트 컨텍스트가 관리 안됨 스와핑이 일어나지 않음
Stateless Instance Life Cycle
Stateful Instance Life Cycle
• 메모리가 아닌 Secondary Storage 로의 저장
CMP, BMP
CMP BMP
Entity
EJB Container 가 Bean 의 Persistency 관리
Persistency 를 위한 코딩이 없음 SQL 구문에 대한 제어가 필요 없음 기능상의 제약을 가져올 수 있음 DB 관련 optimization 이 불가능
Persistency 를 위한 코딩이 필요 SQL 질의에 대한 제어가 가능 복잡한 기능 구현이 가능
Life Cycle of an Entity Instance
WSA 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
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
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
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
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
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
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
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
Component 의 종류
Business Component( 특정 비즈니스 컴포넌트 )
Infrastructure Component( 시스템 기반 서비스 / 유틸리티 )
Application Component( 도메인 컴포넌트 )
Business Component( 공용 비즈니스 컴포넌트 )
통합개발 환경
구체적( 도메인 종속적 )
일반적( 범용적 )
Q & A