chungnam national university computer science and engineering database system laboratory database...
TRANSCRIPT
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
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
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)
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
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
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
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
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
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*
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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.
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
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
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