chungnam national university computer science and engineering database system laboratory database...

38
Chungnam National University Computer Science and Engineering Database System Laboratory Database System Laboratory Seminar Chungnam National University Computer Science and Engineering Database System Laboratory Database System Laboratory Seminar 임임임 ([email protected] ) 임임임임임 임임임임임임 임임임임임임임임임 임임임 22-6-11 임임임 JBoss Application Platform JBoss Application Platform

Upload: simon-cross

Post on 18-Dec-2015

233 views

Category:

Documents


2 download

TRANSCRIPT

Page 1: Chungnam National University Computer Science and Engineering Database System Laboratory Database System Laboratory Seminar Chungnam National University

Chungnam National UniversityComputer Science and EngineeringDatabase System Laboratory

Database System Laboratory Seminar

Chungnam National UniversityComputer Science and EngineeringDatabase System Laboratory

Database System Laboratory Seminar

임형준 ([email protected])충남대학교 컴퓨터공학과

데이터베이스시스템 연구실23-4-18 화요일

JBoss Application PlatformJBoss Application Platform

Page 2: Chungnam National University Computer Science and Engineering Database System Laboratory Database System Laboratory Seminar Chungnam National University

Chungnam National UniversityComputer Science and EngineeringDatabase System Laboratory

Chungnam National UniversityComputer Science and EngineeringDatabase System Laboratory

JBos

s Ap

plica

tion

Serv

er

Chungnam National UniversityComputer Science and EngineeringDatabase System Laboratory

Chungnam National UniversityComputer Science and EngineeringDatabase System Laboratory

JBos

s Ap

plica

tion

Serv

er

목차목차

JBoss Review JBoss OverviewJBoss Application PlatformJBoss Enterprise SOA PlatformJBoss Application Platform for Portal

JBoss Application PlatformJBoss Enterprise Middleware SystemJBoss MicrokernelJBoss Application Server

2

Page 3: Chungnam National University Computer Science and Engineering Database System Laboratory Database System Laboratory Seminar Chungnam National University

Chungnam National UniversityComputer Science and EngineeringDatabase System Laboratory

Chungnam National UniversityComputer Science and EngineeringDatabase System Laboratory

JBos

s Ap

plica

tion

Serv

er

Chungnam National UniversityComputer Science and EngineeringDatabase System Laboratory

Chungnam National UniversityComputer Science and EngineeringDatabase System Laboratory

JBos

s Ap

plica

tion

Serv

er

JBoss OverviewJBoss Overview

3

Operating SystemWindows, Unix, Other Linux

Java Virtual Machine

JBoss Microkernel

Application PlatformOther

Application Server

JBoss Rules

JBoss jBPM

JBoss Hibernate

JBoss Seam

SOAPlatform

Application Platformfor Portals

Enterprise Platforms Enterprise Frameworks

JBoss Enterprise Middleware System (JEMS)

Page 4: Chungnam National University Computer Science and Engineering Database System Laboratory Database System Laboratory Seminar Chungnam National University

Chungnam National UniversityComputer Science and EngineeringDatabase System Laboratory

Chungnam National UniversityComputer Science and EngineeringDatabase System Laboratory

JBos

s Ap

plica

tion

Serv

er

Chungnam National UniversityComputer Science and EngineeringDatabase System Laboratory

Chungnam National UniversityComputer Science and EngineeringDatabase System Laboratory

JBos

s Ap

plica

tion

Serv

er

JBoss Application PlatformJBoss Application Platform

4

Operating SystemWindows, Unix, Other Linux

Java Virtual Machine

JBoss Microkernel

JBoss Application ServerJava EE, Apache Tomcat, Clustering,

Cache

JBoss Hibernate

JBoss Seam

JBoss Enterprise Application Platform

Applications

Page 5: Chungnam National University Computer Science and Engineering Database System Laboratory Database System Laboratory Seminar Chungnam National University

Chungnam National UniversityComputer Science and EngineeringDatabase System Laboratory

Chungnam National UniversityComputer Science and EngineeringDatabase System Laboratory

JBos

s Ap

plica

tion

Serv

er

Chungnam National UniversityComputer Science and EngineeringDatabase System Laboratory

Chungnam National UniversityComputer Science and EngineeringDatabase System Laboratory

JBos

s Ap

plica

tion

Serv

er

JBoss Enterprise FrameworksJBoss Enterprise Frameworks

5

Operating SystemWindows, Unix, Other Linux

Java Virtual Machine

JBoss Microkernel

JBoss Enterprise Application Platform

JBoss Enterprise SOA Platform

JBoss RulesJBoss jBPM

JBoss ESBTransformation, Routing, Registry,

Repository

Web Services

Page 6: Chungnam National University Computer Science and Engineering Database System Laboratory Database System Laboratory Seminar Chungnam National University

Chungnam National UniversityComputer Science and EngineeringDatabase System Laboratory

Chungnam National UniversityComputer Science and EngineeringDatabase System Laboratory

JBos

s Ap

plica

tion

Serv

er

Chungnam National UniversityComputer Science and EngineeringDatabase System Laboratory

Chungnam National UniversityComputer Science and EngineeringDatabase System Laboratory

JBos

s Ap

plica

tion

Serv

erJBoss Application Platform for JBoss Application Platform for PortalPortal

6

Operating SystemWindows, Unix, Other Linux

Java Virtual Machine

JBoss Microkernel

JBoss Enterprise Application Platform

JBoss Portal

JBoss EnterpriseApplication Platform for Portals

Portals

Page 7: Chungnam National University Computer Science and Engineering Database System Laboratory Database System Laboratory Seminar Chungnam National University

Chungnam National UniversityComputer Science and EngineeringDatabase System Laboratory

Database System Laboratory Seminar

Chungnam National UniversityComputer Science and EngineeringDatabase System Laboratory

Chungnam National UniversityComputer Science and EngineeringDatabase System Laboratory

Chungnam National UniversityComputer Science and EngineeringDatabase System Laboratory

Database System Laboratory Seminar

Chungnam National UniversityComputer Science and EngineeringDatabase System Laboratory

Chungnam National UniversityComputer Science and EngineeringDatabase System Laboratory

JBoss Application PlatformJBoss Application Platform

Page 8: Chungnam National University Computer Science and Engineering Database System Laboratory Database System Laboratory Seminar Chungnam National University

Chungnam National UniversityComputer Science and EngineeringDatabase System Laboratory

Chungnam National UniversityComputer Science and EngineeringDatabase System Laboratory

JBos

s Ap

plica

tion

Serv

er

Chungnam National UniversityComputer Science and EngineeringDatabase System Laboratory

Chungnam National UniversityComputer Science and EngineeringDatabase System Laboratory

JBos

s Ap

plica

tion

Serv

erJBoss Enterprise Middleware JBoss Enterprise Middleware System (JEMS)System (JEMS)

Open source middleware platform for SOA-based enterprise applications and services

Plug-and-play architecture enables standardizing on JEMS products at your own pace

Focused on simplifying development

8

JBoss Microkernel

JBossApp

Server

JBossApp

Server

ApacheTomcatApacheTomcat

HibernateHibernate JBossCacheJBossCache

JBossjBPMJBossjBPM

…JBossRulesJBossRules

Your Applications and Services

JBossPortalJBossPortal

Your Platform Services

Your Platform Services

JBossEclipse

IDE

JBossEclipse

IDE

#1 #1 #1

Multivendor Java VM, Operating System, Hardware

Page 9: Chungnam National University Computer Science and Engineering Database System Laboratory Database System Laboratory Seminar Chungnam National University

Chungnam National UniversityComputer Science and EngineeringDatabase System Laboratory

Chungnam National UniversityComputer Science and EngineeringDatabase System Laboratory

JBos

s Ap

plica

tion

Serv

er

Chungnam National UniversityComputer Science and EngineeringDatabase System Laboratory

Chungnam National UniversityComputer Science and EngineeringDatabase System Laboratory

JBos

s Ap

plica

tion

Serv

er

JEMS ArchitectureJEMS Architecture

9

Operating System (Windows, Unix = Linux, Solaris, AIX, etc.)

Hardware (CPU + Storage + Memory)

Java Virtual Machine (Sun JVM, BEA JRockit, IBM VM, etc.)

JBoss Application Server 4.x (JMX Microkernel : JBossMX)

Cu

sto

m M

be

an

s

Services beyond J2EE

Pe

rsis

ten

ce (

Hib

ern

ate

*)

Clu

ste

ring

Ca

chin

g (

JBo

ssC

ach

e*)

Wo

rkflo

w (

JBo

ss jB

PM

**)

JBo

ss A

OP

*

Java

Ap

plic

atio

ns

Java Applications (EARs, WARs, JARs, JSPs, Servlets)

JBo

ss E

clip

se I

DE

JBoss Portal

--- J2EE 1.4 Services implemented as JMX Mbeans ---

JSP

/Se

rvle

t (T

om

cat*

)

JND

I (J

Bo

ssN

S)

WS

4E

E (

JBo

ssW

S)

JDB

C

JMS

(JB

oss

MQ

)

EJB

(JB

oss

CM

P)

JTA

(JB

oss

JTA

)

SA

AJ

JAC

C

JCA

(JB

oss

JCA

)

JAA

S (

JBo

ssS

X)

RM

I-II

OP

(ja

cOR

B)

JAX

-RP

C

De

plo

yme

nt

AP

I

JAX

R

Ma

na

ge

me

nt

AP

I

* Product can run inside JBoss AS or stand-alone** Integration as MBean under development

JAX

P

JBo

ss R

em

otin

g*

Page 10: Chungnam National University Computer Science and Engineering Database System Laboratory Database System Laboratory Seminar Chungnam National University

Chungnam National UniversityComputer Science and EngineeringDatabase System Laboratory

Database System Laboratory Seminar

Chungnam National UniversityComputer Science and EngineeringDatabase System Laboratory

Chungnam National UniversityComputer Science and EngineeringDatabase System Laboratory

Chungnam National UniversityComputer Science and EngineeringDatabase System Laboratory

Database System Laboratory Seminar

Chungnam National UniversityComputer Science and EngineeringDatabase System Laboratory

Chungnam National UniversityComputer Science and EngineeringDatabase System Laboratory

JBoss MicrokernelJBoss Microkernel

Page 11: Chungnam National University Computer Science and Engineering Database System Laboratory Database System Laboratory Seminar Chungnam National University

Chungnam National UniversityComputer Science and EngineeringDatabase System Laboratory

Chungnam National UniversityComputer Science and EngineeringDatabase System Laboratory

JBos

s Ap

plica

tion

Serv

er

Chungnam National UniversityComputer Science and EngineeringDatabase System Laboratory

Chungnam National UniversityComputer Science and EngineeringDatabase System Laboratory

JBos

s Ap

plica

tion

Serv

er

JMX Architecture: MicrokernelJMX Architecture: Microkernel

A stripped down core capable of Loading services dynamically (classes included) Manage services lifecycleProvide naming and lookupProvide an invocation busDecouples the services

That role in JBoss is taken by JMX MBean serverJBossMX at the coreJMX architecture provides the decoupling

11

Page 12: Chungnam National University Computer Science and Engineering Database System Laboratory Database System Laboratory Seminar Chungnam National University

Chungnam National UniversityComputer Science and EngineeringDatabase System Laboratory

Chungnam National UniversityComputer Science and EngineeringDatabase System Laboratory

JBos

s Ap

plica

tion

Serv

er

Chungnam National UniversityComputer Science and EngineeringDatabase System Laboratory

Chungnam National UniversityComputer Science and EngineeringDatabase System Laboratory

JBos

s Ap

plica

tion

Serv

erJMX Architecture: MBean JMX Architecture: MBean ServerServer

MBean Server acts as a mediatorServices are referenced via object namesMBean Server contains a registry of services

12

Service B Service B

MB

ea

n Se

rver

MB

ea

n Se

rver

JBoss:name=ServiceC

JBoss:name=ServiceB

JBoss:name=ServiceA

Service A Service A

Service C Service C

Page 13: Chungnam National University Computer Science and Engineering Database System Laboratory Database System Laboratory Seminar Chungnam National University

Chungnam National UniversityComputer Science and EngineeringDatabase System Laboratory

Chungnam National UniversityComputer Science and EngineeringDatabase System Laboratory

JBos

s Ap

plica

tion

Serv

er

Chungnam National UniversityComputer Science and EngineeringDatabase System Laboratory

Chungnam National UniversityComputer Science and EngineeringDatabase System Laboratory

JBos

s Ap

plica

tion

Serv

er

JMX Architecture: InvocationJMX Architecture: Invocation

Invocation has no direct reference, services are loosely coupled

Kernel manages the service references in case of updates, etc.

13

lookup

MB

ea

n Se

rver

MB

ea

n Se

rver

JBoss:name=ServiceC

JBoss:name=ServiceA

Service A Service A

Service CVersion 1.0

Service CVersion 1.0

setAttribute(ObjectName, Attribute)

JBoss:name=ServiceC Java Reference

JBoss:name=ServiceA ...

......

MBean RegistryJBoss:name=ServiceC

Service CVersion 1.1

Service CVersion 1.1

Page 14: Chungnam National University Computer Science and Engineering Database System Laboratory Database System Laboratory Seminar Chungnam National University

Chungnam National UniversityComputer Science and EngineeringDatabase System Laboratory

Chungnam National UniversityComputer Science and EngineeringDatabase System Laboratory

JBos

s Ap

plica

tion

Serv

er

Chungnam National UniversityComputer Science and EngineeringDatabase System Laboratory

Chungnam National UniversityComputer Science and EngineeringDatabase System Laboratory

JBos

s Ap

plica

tion

Serv

er

JMX Architecture: MetadataJMX Architecture: Metadata

Service exposes its interface as metadataNo compile-time typed Java interfacesMetadata can be extended to clarify the interface contractInterfaces can evolve at run-time without recompilation

14

Attributes

Operations

Notifications

getMBeanInfo

MB

ea

n Se

rver

MB

ea

n Se

rver

JBoss:name=ServiceA

Service A Service A

JBoss:name=ServiceC

Service C Service C

Page 15: Chungnam National University Computer Science and Engineering Database System Laboratory Database System Laboratory Seminar Chungnam National University

Chungnam National UniversityComputer Science and EngineeringDatabase System Laboratory

Chungnam National UniversityComputer Science and EngineeringDatabase System Laboratory

JBos

s Ap

plica

tion

Serv

er

Chungnam National UniversityComputer Science and EngineeringDatabase System Laboratory

Chungnam National UniversityComputer Science and EngineeringDatabase System Laboratory

JBos

s Ap

plica

tion

Serv

er

JMX Microkernel ArchitectureJMX Microkernel Architecture

All services in JBoss are JMX MBeansServices are registered to the MBean Server

MBean Server acts as an invocation bus between the services

Decouples the services enabling hot- and redeployment of all server partsAll invocations to MBeans should go through the MBean serverGOF: Mediator pattern

Service interfaces are defined via run-time object structure

Services don’t expose Java interfaces MBean should not expose a Java reference to

itselfInstead the kernel internally handles references and uses logical object names

15

Page 16: Chungnam National University Computer Science and Engineering Database System Laboratory Database System Laboratory Seminar Chungnam National University

Chungnam National UniversityComputer Science and EngineeringDatabase System Laboratory

Chungnam National UniversityComputer Science and EngineeringDatabase System Laboratory

JBos

s Ap

plica

tion

Serv

er

Chungnam National UniversityComputer Science and EngineeringDatabase System Laboratory

Chungnam National UniversityComputer Science and EngineeringDatabase System Laboratory

JBos

s Ap

plica

tion

Serv

er

JBoss Microkernel & JMXJBoss Microkernel & JMX JBoss Microkernel

Separates a minimal functional core from extended functionality and customer-specific partsIndependent cycling and loading Monolithic → modularLoading services dynamicallyManage services lifecycleUse JMX

BenefitEasily remove the services you don’t needTight footprint and modular codebase and hot deploy/remove/redeployJBoss is a TRUE Service Oriented Architecture (SOA)

MBean Server (JBoss Microkernel + Naming, Logging)

MBean Server (JBoss Microkernel + Naming, Logging)

Serv

ice M

bean

(Jav

a EE

Ser

vices

)

Serv

ice M

bean

(EJB

Con

tain

er)

Serv

ice M

bean

(Tx

Man

ager

)

RAR 3RAR 3

Custom SARCustom SARData SourcesData Sources

Microkernel

DeploymentScannerDeploymentScanner

MainDeployerMainDeployer EARDeployerEARDeployer

SARDeployerSARDeployer

Naming ServiceNaming Service

Security ServiceSecurity Service

TransactionService

TransactionService

JAR 1JAR 1

*.xAR 16

Page 17: Chungnam National University Computer Science and Engineering Database System Laboratory Database System Laboratory Seminar Chungnam National University

Chungnam National UniversityComputer Science and EngineeringDatabase System Laboratory

Database System Laboratory Seminar

Chungnam National UniversityComputer Science and EngineeringDatabase System Laboratory

Chungnam National UniversityComputer Science and EngineeringDatabase System Laboratory

Chungnam National UniversityComputer Science and EngineeringDatabase System Laboratory

Database System Laboratory Seminar

Chungnam National UniversityComputer Science and EngineeringDatabase System Laboratory

Chungnam National UniversityComputer Science and EngineeringDatabase System Laboratory

JBoss Application ServerJBoss Application Server

Page 18: Chungnam National University Computer Science and Engineering Database System Laboratory Database System Laboratory Seminar Chungnam National University

Chungnam National UniversityComputer Science and EngineeringDatabase System Laboratory

Chungnam National UniversityComputer Science and EngineeringDatabase System Laboratory

JBos

s Ap

plica

tion

Serv

er

Chungnam National UniversityComputer Science and EngineeringDatabase System Laboratory

Chungnam National UniversityComputer Science and EngineeringDatabase System Laboratory

JBos

s Ap

plica

tion

Serv

er

JBoss Application ServerJBoss Application Server J2EE 1.4 Certified

EJB, JSP/Servlets, Web Services, Messaging, etc.

100% Pure Java Any hardware and OS with compliant JVM

JMX-Microkernel Customizable middleware footprint Enhanced performance via co-located services

Administration, Monitoring, and ManagementWeb-console provides real-time graphs & email alertsScriptability of JMX modifications and invocations

Enterprise-Ready ClusteringSimple cluster-wide deploymentDynamic cluster compositionFault tolerance Silent failover State replication (HttpSession, SFSB)

18

Page 19: Chungnam National University Computer Science and Engineering Database System Laboratory Database System Laboratory Seminar Chungnam National University

Chungnam National UniversityComputer Science and EngineeringDatabase System Laboratory

Chungnam National UniversityComputer Science and EngineeringDatabase System Laboratory

JBos

s Ap

plica

tion

Serv

er

Chungnam National UniversityComputer Science and EngineeringDatabase System Laboratory

Chungnam National UniversityComputer Science and EngineeringDatabase System Laboratory

JBos

s Ap

plica

tion

Serv

er

JBoss AS ArchitectureJBoss AS Architecture

19

Operating SystemWindows, Unix, Other Linux

Java Virtual Machine

JBoss Microkernel

JBoss Application Server

JBoss Hibernate

JBoss Seam

JBoss EnterpriseApplication Platform

JBoss MicrokernelJBoss Microkernel

EJB Containers

EJB Containers

Security ManagerSecurity Manager

TransactionManager

TransactionManager

Connection Pools

Connection Pools

Message Server

Message Server

ServletEngine

ServletEngine

ConnectorsInvokers

ConnectorsInvokers

EmbeddedDatabasesEmbeddedDatabases

Page 20: Chungnam National University Computer Science and Engineering Database System Laboratory Database System Laboratory Seminar Chungnam National University

Chungnam National UniversityComputer Science and EngineeringDatabase System Laboratory

Chungnam National UniversityComputer Science and EngineeringDatabase System Laboratory

JBos

s Ap

plica

tion

Serv

er

Chungnam National UniversityComputer Science and EngineeringDatabase System Laboratory

Chungnam National UniversityComputer Science and EngineeringDatabase System Laboratory

JBos

s Ap

plica

tion

Serv

er

MonitoringMonitoring

20

Operating SystemWindows, Unix, Other Linux

Java Virtual Machine

JBoss Microkernel

JBoss Application Server

JBoss Hibernate

JBoss Seam

JBoss EnterpriseApplication Platform

Page 21: Chungnam National University Computer Science and Engineering Database System Laboratory Database System Laboratory Seminar Chungnam National University

Chungnam National UniversityComputer Science and EngineeringDatabase System Laboratory

Chungnam National UniversityComputer Science and EngineeringDatabase System Laboratory

JBos

s Ap

plica

tion

Serv

er

Chungnam National UniversityComputer Science and EngineeringDatabase System Laboratory

Chungnam National UniversityComputer Science and EngineeringDatabase System Laboratory

JBos

s Ap

plica

tion

Serv

erEnterprise JavaBeans (EJB) Enterprise JavaBeans (EJB) 3.03.0

Enterprise JavaBeans (EJB)클라이언트 /서버 모델의 서버 부분에서 운영되는 자바 프로그램 컴포넌트들을 설정하기 위한 아키텍처

Session Bean, Message Driven Bean, Entity Bean을 사용하기 위한 EJB API 의 단순화

Java Annotation, Dependency Injection Optional Callbacks, Entity Manager API 단순화된 영속성 기능과 개선된 쿼리들

21

ServletServlet EJBEJB

ServletServlet EJBEJBDB

JBoss Application Server

Page 22: Chungnam National University Computer Science and Engineering Database System Laboratory Database System Laboratory Seminar Chungnam National University

Chungnam National UniversityComputer Science and EngineeringDatabase System Laboratory

Chungnam National UniversityComputer Science and EngineeringDatabase System Laboratory

JBos

s Ap

plica

tion

Serv

er

Chungnam National UniversityComputer Science and EngineeringDatabase System Laboratory

Chungnam National UniversityComputer Science and EngineeringDatabase System Laboratory

JBos

s Ap

plica

tion

Serv

er

Application FrameworkApplication Framework

복잡한 웹 어플리케이션 개발의 단순화 Annotation 기반의 프로그래밍 모델 전통적인 J2EE 개발자의 공통적인 이슈와 불편사항 극복 JSF, EJB 3.0, Hibernate, AJAX, Web Services,

Workflow 의 유연한 통합 단일 사용자 세션에서 동시에 복수의 작업 처리 가능 Conversation 과 Process 를 위한 새로운 context

추가

22

Invocation PointInvocation PointRich Clients

Flex / Swing / .NET

Rich ClientsFlex /

Swing / .NET

Web ClientsJSF / AJAX

Web ClientsJSF / AJAX

Web ServicesEJB / JBI

Web ServicesEJB / JBI

JBoss SeamJBoss Seam

Business LogicEJB3 / POJO / Rules

Business LogicEJB3 / POJO / Rules

OrchestrationWork Flow / Page Flow /

ESB

OrchestrationWork Flow / Page Flow /

ESB

Data Access LayerEJB3 / POJO / Hibernate / JCA

Data Access LayerEJB3 / POJO / Hibernate / JCA

Page 23: Chungnam National University Computer Science and Engineering Database System Laboratory Database System Laboratory Seminar Chungnam National University

Chungnam National UniversityComputer Science and EngineeringDatabase System Laboratory

Chungnam National UniversityComputer Science and EngineeringDatabase System Laboratory

JBos

s Ap

plica

tion

Serv

er

Chungnam National UniversityComputer Science and EngineeringDatabase System Laboratory

Chungnam National UniversityComputer Science and EngineeringDatabase System Laboratory

JBos

s Ap

plica

tion

Serv

er

JGroupsJGroups

Toolkit for reliable multicastingFragmentationMessage retransmissionOrderingGroup membership, membership changenotification

LAN or WAN based Like JMS

Receive a messageRetrieve membershipDisconnect from the groupClose the channelBe notified when members join, leave (including crashes)

23

Group topology

Page 24: Chungnam National University Computer Science and Engineering Database System Laboratory Database System Laboratory Seminar Chungnam National University

Chungnam National UniversityComputer Science and EngineeringDatabase System Laboratory

Chungnam National UniversityComputer Science and EngineeringDatabase System Laboratory

JBos

s Ap

plica

tion

Serv

er

Chungnam National UniversityComputer Science and EngineeringDatabase System Laboratory

Chungnam National UniversityComputer Science and EngineeringDatabase System Laboratory

JBos

s Ap

plica

tion

Serv

er

JBoss CacheJBoss Cache Reduce Database & Network Traffic

By caching frequently used objects Less Database calls = Less Network Traffic = Faster Applications

SimplificationNo interfaces to implement!Write <10 lines of code

State ReplicationSynchronous/Asynchronous/Queue based replicationTransactional changes across the clusterTreeCacheAOP only replicates changes & not the whole object again!

PersistencePreload from file, SleepyCat or JDBCDefined by eviction policies

ReliabilityBuilt on JGroups technology

24

Page 25: Chungnam National University Computer Science and Engineering Database System Laboratory Database System Laboratory Seminar Chungnam National University

Chungnam National UniversityComputer Science and EngineeringDatabase System Laboratory

Chungnam National UniversityComputer Science and EngineeringDatabase System Laboratory

JBos

s Ap

plica

tion

Serv

er

Chungnam National UniversityComputer Science and EngineeringDatabase System Laboratory

Chungnam National UniversityComputer Science and EngineeringDatabase System Laboratory

JBos

s Ap

plica

tion

Serv

er

JBoss Cache FeatureJBoss Cache Feature

A replicated, transactional, persistency and fine-grained cache system

Transactional or non-transactionalNon-Transactional Replication after each modification

Transactional Replication at TX commit DB isolation levels supported Support for pluggable TxManagers

25

Page 26: Chungnam National University Computer Science and Engineering Database System Laboratory Database System Laboratory Seminar Chungnam National University

Chungnam National UniversityComputer Science and EngineeringDatabase System Laboratory

Chungnam National UniversityComputer Science and EngineeringDatabase System Laboratory

JBos

s Ap

plica

tion

Serv

er

Chungnam National UniversityComputer Science and EngineeringDatabase System Laboratory

Chungnam National UniversityComputer Science and EngineeringDatabase System Laboratory

JBos

s Ap

plica

tion

Serv

er

ClusteringClustering

상태 복제 (State Replication) – 아래 항목에 대해 Synchronous & Asynchronous Replication 모드 지원

HTTP SessionStateful Session BeanEntity BeanPlain Old Java Bean (POJO)

부하 분산 (Load Balancing)HTTP Load-balancing via Apache Plug-inEJB Load-balancing via Dynamic ProxyMessage-Driven Bean Load-balancing via Queue

자동 장애 복구 (Silent Failover)HTTP failover via Apache Plug-inEJB failover via Dynamic Proxy

26

Page 27: Chungnam National University Computer Science and Engineering Database System Laboratory Database System Laboratory Seminar Chungnam National University

Chungnam National UniversityComputer Science and EngineeringDatabase System Laboratory

Chungnam National UniversityComputer Science and EngineeringDatabase System Laboratory

JBos

s Ap

plica

tion

Serv

er

Chungnam National UniversityComputer Science and EngineeringDatabase System Laboratory

Chungnam National UniversityComputer Science and EngineeringDatabase System Laboratory

JBos

s Ap

plica

tion

Serv

er

Clustering ExpressionClustering Expression

27

JBossWeb

JBossWeb

SFSB

EJB 3

Entity Bean

POJO

SFSB

EJB 3

Entity Bean

POJO

JBoss instance

JBoss instance

Fat Client

ApacheThin Client

Remoting

HTTP

Page 28: Chungnam National University Computer Science and Engineering Database System Laboratory Database System Laboratory Seminar Chungnam National University

Chungnam National UniversityComputer Science and EngineeringDatabase System Laboratory

Chungnam National UniversityComputer Science and EngineeringDatabase System Laboratory

JBos

s Ap

plica

tion

Serv

er

Chungnam National UniversityComputer Science and EngineeringDatabase System Laboratory

Chungnam National UniversityComputer Science and EngineeringDatabase System Laboratory

JBos

s Ap

plica

tion

Serv

er

JBoss Clustering IncludesJBoss Clustering Includes

ClusterSet of nodes with a common goal - HomogeneousPartition - Group of nodes Not statically defined Defined by a name Node can join and leave as needed Automatic cluster membership discovery

HA-SingletonOnly node is running at the same time in a cluster

Fault Tolerant – Failover Load balancing Replicating Resources

Stateful Session Bean ReplicationEntity Bean Replication HTTP Session ReplicationJNDI Tree Replication

Farming : Distributed Cluster-wide hot deployment

28

Page 29: Chungnam National University Computer Science and Engineering Database System Laboratory Database System Laboratory Seminar Chungnam National University

Chungnam National UniversityComputer Science and EngineeringDatabase System Laboratory

Chungnam National UniversityComputer Science and EngineeringDatabase System Laboratory

JBos

s Ap

plica

tion

Serv

er

Chungnam National UniversityComputer Science and EngineeringDatabase System Laboratory

Chungnam National UniversityComputer Science and EngineeringDatabase System Laboratory

JBos

s Ap

plica

tion

Serv

er

SFSB ReplicationsSFSB Replications

After each invocation of a SFSB, if the bean changed, a message is broadcast to the cluster

The message contains the serialized state of the session bean

The broadcast operation is synchronous (blocking) with acknowledgements from all the nodes of the cluster

29

TreeCacheAOP

SFSB

2. register1. new 3. Notify to other node TreeCacheAOP

5. update4. Update state 6. Notify to other node TreeCacheAOP

Automatic TreeCacheAOP Notification

Page 30: Chungnam National University Computer Science and Engineering Database System Laboratory Database System Laboratory Seminar Chungnam National University

Chungnam National UniversityComputer Science and EngineeringDatabase System Laboratory

Chungnam National UniversityComputer Science and EngineeringDatabase System Laboratory

JBos

s Ap

plica

tion

Serv

er

Chungnam National UniversityComputer Science and EngineeringDatabase System Laboratory

Chungnam National UniversityComputer Science and EngineeringDatabase System Laboratory

JBos

s Ap

plica

tion

Serv

er

Entity Bean ReplicationsEntity Bean Replications

Hibernate IS EJB 3.0 CMP Hibernate caches are being integrated with

JBossCache

30

CacheCache

TreeCacheAOP

Page 31: Chungnam National University Computer Science and Engineering Database System Laboratory Database System Laboratory Seminar Chungnam National University

Chungnam National UniversityComputer Science and EngineeringDatabase System Laboratory

Chungnam National UniversityComputer Science and EngineeringDatabase System Laboratory

JBos

s Ap

plica

tion

Serv

er

Chungnam National UniversityComputer Science and EngineeringDatabase System Laboratory

Chungnam National UniversityComputer Science and EngineeringDatabase System Laboratory

JBos

s Ap

plica

tion

Serv

er

JBoss RemotingJBoss Remoting

Framework with a single, simple API for making network based invocations and other network related services

Like RMI

GoalsUse POJOs not APIsNo extending of UnicastRemoteNo precompilation (rmic)Protocol independentProtocol isolationDesigned after dotNetRemoting

31

NET Remoting - Channels and Formatters

Page 32: Chungnam National University Computer Science and Engineering Database System Laboratory Database System Laboratory Seminar Chungnam National University

Chungnam National UniversityComputer Science and EngineeringDatabase System Laboratory

Chungnam National UniversityComputer Science and EngineeringDatabase System Laboratory

JBos

s Ap

plica

tion

Serv

er

Chungnam National UniversityComputer Science and EngineeringDatabase System Laboratory

Chungnam National UniversityComputer Science and EngineeringDatabase System Laboratory

JBos

s Ap

plica

tion

Serv

er

Client-Server CommunicationClient-Server Communication

The clients downloads an “intelligent” stub from the server and uses it to access the bean

The stub encapsulates the load balancing policy and the failover mechanism

JBoss provides load balance policies:RoundRobinFirstAvailable (Sticky Sessions)FirstAvailableIdenticalAllProxies

The stubs maintains a list of server addresses which is updated on each request

32

Client

Inte

llige

nt S

tub

: Server Address List

: Server Address Reference

InvokeInvokeNode 1Node 1

Node 2Node 2RM

I D

ispatc

her fault

Page 33: Chungnam National University Computer Science and Engineering Database System Laboratory Database System Laboratory Seminar Chungnam National University

Chungnam National UniversityComputer Science and EngineeringDatabase System Laboratory

Chungnam National UniversityComputer Science and EngineeringDatabase System Laboratory

JBos

s Ap

plica

tion

Serv

er

Chungnam National UniversityComputer Science and EngineeringDatabase System Laboratory

Chungnam National UniversityComputer Science and EngineeringDatabase System Laboratory

JBos

s Ap

plica

tion

Serv

er

Dynamic Cluster DefinitionDynamic Cluster Definition

33

If any node fails, the cluster will identify the failure and remove that node from the cluster definition of every

node and all client proxies.

If any node fails, the cluster will identify the failure and remove that node from the cluster definition of every

node and all client proxies.

All nodes in a JBoss cluster are peers. There is no central director of the

cluster, which eliminates any single point of failure.

All nodes in a JBoss cluster are peers. There is no central director of the

cluster, which eliminates any single point of failure.

To add a node to the cluster simply duplicate a drive of an existing node, give the

node a unique name/IP, and connect it to the network.

To add a node to the cluster simply duplicate a drive of an existing node, give the

node a unique name/IP, and connect it to the network.

Now all of the nodes in the cluster and all client proxies are aware of the new cluster member. Node five is now

included in all state replication operations as

well.

Now all of the nodes in the cluster and all client proxies are aware of the new cluster member. Node five is now

included in all state replication operations as

well.two

one

fourthree fourfive

five

one

Cluster Definitiononetwo

threefour

Cluster Definitiononetwo

threefourfive

Cluster Definitiontwo

threefourfive

Page 34: Chungnam National University Computer Science and Engineering Database System Laboratory Database System Laboratory Seminar Chungnam National University

Chungnam National UniversityComputer Science and EngineeringDatabase System Laboratory

Chungnam National UniversityComputer Science and EngineeringDatabase System Laboratory

JBos

s Ap

plica

tion

Serv

er

Chungnam National UniversityComputer Science and EngineeringDatabase System Laboratory

Chungnam National UniversityComputer Science and EngineeringDatabase System Laboratory

JBos

s Ap

plica

tion

Serv

erState Replication Across State Replication Across ClusterCluster

34

one

fivetwo

fourthree

::::::::::::::::::::::::::::::::::::::::::::::::

4

4

QTY

$2.25Coffee Mugs25

$1.99Coffee Filters #42

$6.59Coffee Beans (1lb)1

Unit Price

Product DescriptionLine#

Shopping Cart

1 0

Now all nodes in the cluster are in sync with the updated state of the

shopping cart.

Now all nodes in the cluster are in sync with the updated state of the

shopping cart.

Replicated ObjectsHttpSessions

Stateful Session BeansHA-JNDI tree

Page 35: Chungnam National University Computer Science and Engineering Database System Laboratory Database System Laboratory Seminar Chungnam National University

Chungnam National UniversityComputer Science and EngineeringDatabase System Laboratory

Chungnam National UniversityComputer Science and EngineeringDatabase System Laboratory

JBos

s Ap

plica

tion

Serv

er

Chungnam National UniversityComputer Science and EngineeringDatabase System Laboratory

Chungnam National UniversityComputer Science and EngineeringDatabase System Laboratory

JBos

s Ap

plica

tion

Serv

erSilent Failover via Dynamic Silent Failover via Dynamic ProxiesProxies

35

two

one

five

fourthree

DynamicProxy

ClientApplication

= replicated stateful object (e.g. Stateful Session Bean)

Current Cluster Nodes

onetwo

threefour

Dynamic proxies are provided out-of-box in

JBoss. The client application does not know or care that the

server has failed-over.

Dynamic proxies are provided out-of-box in

JBoss. The client application does not know or care that the

server has failed-over.

Page 36: Chungnam National University Computer Science and Engineering Database System Laboratory Database System Laboratory Seminar Chungnam National University

Chungnam National UniversityComputer Science and EngineeringDatabase System Laboratory

Chungnam National UniversityComputer Science and EngineeringDatabase System Laboratory

JBos

s Ap

plica

tion

Serv

er

Chungnam National UniversityComputer Science and EngineeringDatabase System Laboratory

Chungnam National UniversityComputer Science and EngineeringDatabase System Laboratory

JBos

s Ap

plica

tion

Serv

er

FeaturesFeatures Server identification

A simple String identifier which allows for remoting servers to be identified and called upon

Pluggable transportsCan use different protocol transports, such as: Socket, RMI, http, etc

Pluggable data marshallersCan use different data marshallers and unmarshallers to convert the invocation payloads into desired data format for wire transfer

Automatic discoveryCan detect remoting servers as they come on and off line

Server groupingAbility to group servers by logical domains, so only communicate with servers within specified domains

CallbacksCan receive server callbacks via push and pull models

Asynchronous callsCan make asynchronous, or one way, calls to server

Local invocation If making an invocation on a remoting server that is within the same process space, remoting will automatically make this call by reference, to improve performance

36

Page 37: Chungnam National University Computer Science and Engineering Database System Laboratory Database System Laboratory Seminar Chungnam National University

Chungnam National UniversityComputer Science and EngineeringDatabase System Laboratory

Chungnam National UniversityComputer Science and EngineeringDatabase System Laboratory

JBos

s Ap

plica

tion

Serv

er

Chungnam National UniversityComputer Science and EngineeringDatabase System Laboratory

Chungnam National UniversityComputer Science and EngineeringDatabase System Laboratory

JBos

s Ap

plica

tion

Serv

er

JBoss ArchitectureJBoss Architecture

37

TransactedAcid sessions

Secureaccess

MonitorModel time

Cached model configuration

Service layer

Aspect layer

Application layer

Monitordata time

(dynamic insertion)

CachePersistent data

ClusteredRemote webservice

ClusteringRemoteInvokers ACID MonitoringPersistenceTransaction CacheSecurity

JBoss Microkernel (JMX)Microkernel layer

Page 38: Chungnam National University Computer Science and Engineering Database System Laboratory Database System Laboratory Seminar Chungnam National University

Chungnam National UniversityComputer Science and EngineeringDatabase System Laboratory

Chungnam National UniversityComputer Science and EngineeringDatabase System Laboratory

JBos

s Ap

plica

tion

Serv

er

Chungnam National UniversityComputer Science and EngineeringDatabase System Laboratory

Chungnam National UniversityComputer Science and EngineeringDatabase System Laboratory

JBos

s Ap

plica

tion

Serv

er

요약요약

Open-Source, Zero-cost Product License Built for Standard Enterprise-class Reliability Embeddable, Service-Oriented Architecture Consistent Manageability Middleware Services for any Java Object Enhanced Interoperability

38