기술로 고객의 마음을 움직입니다 jeus 2.0 소개 정 재 웅 선임연구원...

25
기기기 기기기 기기기 기기기기기 JEUS 2.0 JEUS 2.0 소소 소소 소 소 소 소소소소소 [email protected]

Upload: janice-deborah-bell

Post on 14-Jan-2016

230 views

Category:

Documents


7 download

TRANSCRIPT

Page 1: 기술로 고객의 마음을 움직입니다 JEUS 2.0 소개 정 재 웅 선임연구원 jwchung@sslab.kaist.ac.kr

기술로 고객의 마음을 움직입니다

JEUS 2.0JEUS 2.0소개소개

정 재 웅 선임연구원 [email protected]

Page 2: 기술로 고객의 마음을 움직입니다 JEUS 2.0 소개 정 재 웅 선임연구원 jwchung@sslab.kaist.ac.kr

기술로 고객의 마음을 움직입니다

Page 3: 기술로 고객의 마음을 움직입니다 JEUS 2.0 소개 정 재 웅 선임연구원 jwchung@sslab.kaist.ac.kr

기술로 고객의 마음을 움직입니다

Contents

JEUS Architecture WebtoB web server Servlet/JSP container EJB container JTS JMS JNDI Security GUI-aided Configuration Multi-node Management GUI-aided Node Management JEUS Roadmap

JEUS 2.0

Page 4: 기술로 고객의 마음을 움직입니다 JEUS 2.0 소개 정 재 웅 선임연구원 jwchung@sslab.kaist.ac.kr

기술로 고객의 마음을 움직입니다

System Architecture of JEUS

HTML

Applet

ClientApplication

(Java,CORBA)

Webto

B

JSP Engine Database

DirectoryServer

OtherORB

TPMonitor(Tmax)

JDBCConnection

Pooling

JNDI

IIOP

JTA

HTTP

RMI/IIOP

Clients

Adapta

tion L

ayer

ServletContext

Context GroupServlet Engine

EJB bean

EJB Container

EJBServer

Naming ServerNaming Server

JEUS Server

Link Manager

Multi – Node System

Node Controller

RMI/IIOP

HTTP

JEUS 2.0

Page 5: 기술로 고객의 마음을 움직입니다 JEUS 2.0 소개 정 재 웅 선임연구원 jwchung@sslab.kaist.ac.kr

기술로 고객의 마음을 움직입니다

Client

Client

Client

InternetTCP/IP

HTTP

HTTP

HTTP

WebtoB

Web ClientHandler

Web Service

CGI

PHP

HTML

JSP

Client

Client

HTTP

HTTP

Web ClientListener

Structure of WebtoB

Servlet

Web ClientHandler

Web ClientHandler

JEUS 2.0

Page 6: 기술로 고객의 마음을 움직입니다 JEUS 2.0 소개 정 재 웅 선임연구원 jwchung@sslab.kaist.ac.kr

기술로 고객의 마음을 움직입니다

Load Balancing & Fail-over

Intelligent Thread Pooling

Powerful Administration

DB Connection Pooling

Session Management

JEUS Servlet Engine

JEUS 2.0

Page 7: 기술로 고객의 마음을 움직입니다 JEUS 2.0 소개 정 재 웅 선임연구원 jwchung@sslab.kaist.ac.kr

기술로 고객의 마음을 움직입니다

Load Balancing & Failover

Listenerthread

ServletEngine

Node 1

Node 2

resp

onse

RequestsThread Thread PoolPool

Handler

Handler

Handler

ServletEngineServlet

EngineServletEngine

WebServerWeb

Server

JEUS 2.0

Page 8: 기술로 고객의 마음을 움직입니다 JEUS 2.0 소개 정 재 웅 선임연구원 jwchung@sslab.kaist.ac.kr

기술로 고객의 마음을 움직입니다

ContextGroup

Context

ContainerManager

AdministratorNode

Servlet Engine

Engine Control CommandSuspendRestartTerminateReloadUpdate parameters

State Information

Thread Pool Info.Request Info.System load

Powerful Administration

Servlet

Servlet

Context

JEUS 2.0

Page 9: 기술로 고객의 마음을 움직입니다 JEUS 2.0 소개 정 재 웅 선임연구원 jwchung@sslab.kaist.ac.kr

기술로 고객의 마음을 움직입니다

OracleDatabase

InformixDatabase

DB Connection PoolManager

Servlet Servlet

AdministratorNode

Servlet Engine

DB Connection Pooling

JEUS 2.0

Page 10: 기술로 고객의 마음을 움직입니다 JEUS 2.0 소개 정 재 웅 선임연구원 jwchung@sslab.kaist.ac.kr

기술로 고객의 마음을 움직입니다

Session Management

- - ApplicationApplication 단위의 세션관리단위의 세션관리 * 각 Web Application 단위인 컨텍스트 단위로 세션관리

- - 컨텍스트 그룹 단위의 세션관리컨텍스트 그룹 단위의 세션관리 * 컨텍스트 그룹내의 컨텍스트간의 세션 공유지원

-- Session Clustering Session Clustering * 로드밸런싱 , 장애대책을 위하여 여러 웹 컨테이너들을 클러스터링 * 클러스터링된 컨테이너들 사이의 세션 객체 공유

JEUS 2.0

Page 11: 기술로 고객의 마음을 움직입니다 JEUS 2.0 소개 정 재 웅 선임연구원 jwchung@sslab.kaist.ac.kr

기술로 고객의 마음을 움직입니다

EJB Server for Business Modules

• Enterprise JavaBeans– Specification for java-based distributed object computing

EJB bean

EJB bean

EJB remote

EJB remote

EJBhome

EJB Container

Naming Server

EJB Server

clients EJB bean

EJB bean

EJB remote

EJB remote

EJBhome

EJB Container

Registrationlookup

Methodinvocation

JEUS 2.0

Page 12: 기술로 고객의 마음을 움직입니다 JEUS 2.0 소개 정 재 웅 선임연구원 jwchung@sslab.kaist.ac.kr

기술로 고객의 마음을 움직입니다

Object Management

SessionPool

Bean & ContextPool

JEUSFile DB

DataBase

Clientrequest

EJB bean

EJB context

EJB remote

PassivationBy P. timeout

Auto RemovalBy A.R. timeout

Session bean

Entity beanActivebean

Passivatedbean

Removedbean

JEUS 2.0

Page 13: 기술로 고객의 마음을 움직입니다 JEUS 2.0 소개 정 재 웅 선임연구원 jwchung@sslab.kaist.ac.kr

기술로 고객의 마음을 움직입니다

Communication Protocol

EJB Server

EJB beanEJB remote

EJBhome

EJB Container

Skeleton

Tie

Skeleton

Tie

Server-sizeORBClient-side ORB

CORBA client

RMI Runtime

CosNaming RMI registry

JNDIJRMPIIOP

Class FTPServer

ThreadPoolRMI client

Stub

Stub

JEUS 2.0

Page 14: 기술로 고객의 마음을 움직입니다 JEUS 2.0 소개 정 재 웅 선임연구원 jwchung@sslab.kaist.ac.kr

기술로 고객의 마음을 움직입니다

…InitialContext ctx = new InitialContext();User Transaction ut = (UserTransaction) ctx.lookup(“jeus_UserTransaction”);…

Transaction Service

- Bean-Managed TransactionBean-Managed Transaction * 빈제공자가 Bean 코드에서 트랜잭션 처리 * UserTransaction Interface

- Container-Managed TransactionContainer-Managed Transaction * Deploy 파일에 트랜잭션 특성을 선언하여 컨테이너가 트랜잭션 처리 * NotSupported, Required, Supports, RequiredNew, Mandatory, Naver

- Client-Managed TransactionClient-Managed Transaction * 빈의 서비스를 이용하는 클라이언트에서 트랜잭션 처리

JEUS 2.0

Page 15: 기술로 고객의 마음을 움직입니다 JEUS 2.0 소개 정 재 웅 선임연구원 jwchung@sslab.kaist.ac.kr

기술로 고객의 마음을 움직입니다

Security Service

• Security Context PropagationSecurity Context Propagation• Programmatic Security ServiceProgrammatic Security Service

– javax.ejb.EJBContext.getCallerPrincipal()– javax.ejb.EJBContext.isCallerInRole()

• Declarative Security ServiceDeclarative Security Service

…<assembly-descriptor> <security-role> <description/> <role-name>ROLENAME</role-name> </security-role> <method-permission> <description/> <role-name>ROLENAME</role-name>

<method> <ejb-name>EJBNAME</ejb-name> <method-name>*</method-name> </method> <method-params/> </method-permission> ….

JEUS 2.0

Page 16: 기술로 고객의 마음을 움직입니다 JEUS 2.0 소개 정 재 웅 선임연구원 jwchung@sslab.kaist.ac.kr

기술로 고객의 마음을 움직입니다

Other Functionality

• Runtime Service ControlRuntime Service Control– Suspend, Resume, Undeployment

• Runtime Service ModificationRuntime Service Modification– Reload for parameter tuning or class modification

• Easy to deploy beansEasy to deploy beans– Module-level deployment– Full-deployment, Fast-deployment, Pre-deployment

• DB Connection sharingDB Connection sharing– Serialization of SQL requests

• Engine Architecture optionEngine Architecture option– EXCLUSIVE_ACCESS, SINGLE_OBJECT, MULTIPLE_OBJECT

• SQL control optionSQL control option

JEUS 2.0

Page 17: 기술로 고객의 마음을 움직입니다 JEUS 2.0 소개 정 재 웅 선임연구원 jwchung@sslab.kaist.ac.kr

기술로 고객의 마음을 움직입니다

JTS(Java Transaction Service)

Transaction Context Propagation

< JEUS Transaction System >

• JTA(Java Transaction API)– UserTransaction, TransactionManager, Transaction,

Synchronization, XAResource, XID interface

XADataSource(JDBC Driver)

XAConnectionXAConnection

Pool

Synchronization XAResource JTA Mapper between JEUS Transaction Manager and Application Server

Communication Manager(RMI or IIOP)

JEUS TransactionManager

Application Program

UserTransaction

ConnectionContainers

TransactionTransactionManager

TransactionTransactionManager

JEUS 2.0

Page 18: 기술로 고객의 마음을 움직입니다 JEUS 2.0 소개 정 재 웅 선임연구원 jwchung@sslab.kaist.ac.kr

기술로 고객의 마음을 움직입니다

JMS (Java Message Service)

Interfaces that define how a JMS client accesses Interfaces that define how a JMS client accesses Enterprise Message SystemEnterprise Message System

JEUS JEUS JMS ServerJMS Server

message

message

DB

Persistent data

Application AApplication A

JMS APIJMS API

JEUS JMS runtimeJEUS JMS runtime

Application AApplication A

JMS APIJMS API

JEUS JMS runtimeJEUS JMS runtime

JEUS 2.0

Page 19: 기술로 고객의 마음을 움직입니다 JEUS 2.0 소개 정 재 웅 선임연구원 jwchung@sslab.kaist.ac.kr

기술로 고객의 마음을 움직입니다

Naming Server

JNDI(Java Naming & Directory Interface)

JNDI (Java Naming & Directory Interface) 1.2.1 Support Specialized Naming Service in Multi-node Environment

Replicating into Clusters Auto-Initialing at Joining into Clusters Caching into JVMs Connection Management

Naming Server

JVM

SPIClient

JVM

Clusters Local Node

Replicated

Not Replicated

Local

SPIClient

SPIClient

SPIClient

JEUS 2.0

Page 20: 기술로 고객의 마음을 움직입니다 JEUS 2.0 소개 정 재 웅 선임연구원 jwchung@sslab.kaist.ac.kr

기술로 고객의 마음을 움직입니다

Security Manager

Web SecurityWeb Security SSL support for Web client

EJB, Servlet Security API EJB, Servlet Security API supportsupport

Multi-node Security Multi-node Security ManagementManagement Realm management Resource Access Control

Realm

UserGroup

RoleMap

RoleRoleRef

Realm ControlResource Access

Control

JEUS Security ManagerJEUS Security Manager

ResourceACL

ResourceACL

ResourceACL

JEUS 2.0

Page 21: 기술로 고객의 마음을 움직입니다 JEUS 2.0 소개 정 재 웅 선임연구원 jwchung@sslab.kaist.ac.kr

기술로 고객의 마음을 움직입니다

GUI-aided Configuration

JEUS 2.0

Page 22: 기술로 고객의 마음을 움직입니다 JEUS 2.0 소개 정 재 웅 선임연구원 jwchung@sslab.kaist.ac.kr

기술로 고객의 마음을 움직입니다

GUI-aided Node Management

JEUS 2.0

Page 23: 기술로 고객의 마음을 움직입니다 JEUS 2.0 소개 정 재 웅 선임연구원 jwchung@sslab.kaist.ac.kr

기술로 고객의 마음을 움직입니다

Multi-node Management

• Fault toleranceFault tolerance– Engine fail-over by JEUS Server– Multi-node monitoring network based on ‘Ring’

topology– Node fail-over by initiation of backup engines– Auto-rejoining at resurrection of the failed node

JEUS ServerJEUS Server

ServletEngineServletEngine

EJBEngine

EJBEngine

failure

Auto restartingFail-over

detected

JEUS ServerJEUS Server

ServletEngineServletEngine

EJBEngine

EJBEngine

JEUS 2.0

Page 24: 기술로 고객의 마음을 움직입니다 JEUS 2.0 소개 정 재 웅 선임연구원 jwchung@sslab.kaist.ac.kr

기술로 고객의 마음을 움직입니다

Multi-node Management

Failuredetect

Failure

Initially ring

Periodic checkingFor resurrection

Rejoining ofThe failed node

Dynamic scale-up by adding a node at runtimeDynamic scale-up by adding a node at runtime

Backup enginesstarted

ChangingNode information

By sending join signal

System scaled dynamically

JEUS 2.0

Page 25: 기술로 고객의 마음을 움직입니다 JEUS 2.0 소개 정 재 웅 선임연구원 jwchung@sslab.kaist.ac.kr

기술로 고객의 마음을 움직입니다

JEUS 2.0 Spec. (2001.04) JEUS 3.0 Spec. (2001.08)EJB (1.1 full, 2.0 partially)Servlet (2.2 full)JSP (1.1 full)JMS (1.0.3 partially)JNDI (1.2.1 partially)JAXP (1.1)JTA (1.0.1)RMI compiler(1.7)Security(realm management, SSL for web clients)JDBC Connection Pool Administration/Deployment toolFailover & load balancing in a cluster

EJB (2.0)Servlet (2.3)JSP (1.2)JMS (1.0.3)JNDI (1.2.1)XSLJTA (1.0.1)RMI compiler(1.7)Security(JAAS 1.0, SSL over a cluster) Connector (1.0)Administration/Deployment toolWeb AdministrationFailover & load balancing in a cluster

JEUS Roadmap

Dev. Test Release

VersionQ1’01

JEUS2.0

3.0

Q2’01 Q4’01Q3’011 2 3 4 5 6 7 8 9 10 11 12

JEUS 2.0