Chungnam National University Computer Science and Engineering Database System Laboratory Database System Laboratory Seminar Chungnam National University.

Slides:



Advertisements
Similar presentations
Chungnam National University Computer Science and Engineering Database System Laboratory Database System Laboratory Seminar
Advertisements

J0 1 Marco Ronchetti - Basi di Dati Web e Distribuite – Laurea Specialistica in Informatica – Università di Trento.
11 Copyright © 2005, Oracle. All rights reserved. Creating the Business Tier: Enterprise JavaBeans.
1 Mobicents Training JSLEE & SIP Servlets Interoperability through the Mobicents Communications Platform Jean Deruelle, Mobicents SIP Servlets Lead.
Spring, Hibernate and Web Services 13 th September 2014.
Copyright © 2001 Qusay H. Mahmoud RMI – Remote Method Invocation Introduction What is RMI? RMI System Architecture How does RMI work? Distributed Garbage.
Reliability on Web Services Presented by Pat Chan 17/10/2005.
CSIS0402 System Architecture K.P. Chow University of Hong Kong.
The road to reliable, autonomous distributed systems
Approaches to EJB Replication. Overview J2EE architecture –EJB, components, services Replication –Clustering, container, application Conclusions –Advantages.
An architecture for webb applications, J2EE
Introduction to Java 2 Enterprise Edition About myself –Neutrinos, Cancer Research, IT Applications Today’s topic: J2EE –Context –Advantages –Components.
6/4/2015Page 1 Enterprise Service Bus (ESB) B. Ramamurthy.
Notes to the presenter. I would like to thank Jim Waldo, Jon Bostrom, and Dennis Govoni. They helped me put this presentation together for the field.
Sapana Mehta (CS-6V81) Overview Of J2EE & JBoss Sapana Mehta.
Introduction to Enterprise JavaBeans. Integrating Software Development Server-side Component Model Distributed Object Architecture –CORBA –DCOM –Java.
Enterprise Applications & Java/J2EE Technologies Dr. Douglas C. Schmidt Professor of EECS.
© 2005, Cornell University. Rapid Application Development using the Kuali Architecture (Struts, Spring and OJB) A Case Study Bryan Hutchinson
Basic Services: Architecture Options Vance Maverick ADAPT Bologna Feb. 13, 2003.
JSLEE. What is JSLEE ? is an event oriented application middleware. Its main job is to receive events from external resources and deliver these events.
Java 2 Platform, Enterprise Edition (J2EE). Source: Computer, August 2000 J2EE and Other Java 2 Platform Editions.
© DSRG 2001www.cs.agh.edu.pl Cross Grid Workshop - Kraków Krzysztof Zieliński, Sławomir Zieliński University of Mining and Metallurgy {kz,
© 2004 IBM Corporation BEA WebLogic Server Introduction and Training.
Understanding and Managing WebSphere V5
® IBM Software Group © IBM Corporation IBM Information Server Service Oriented Architecture WebSphere Information Services Director (WISD)
Distributed System Using Java 2 Enterprise Edition (J2EE)
© JBoss Inc JBoss Clustering An Overview Bela Ban Lead JGroups, Manager Clustering Group.
Introduction to the JBoss Presented by: Hao Shi. Agenda Application Servers What is JBoss JBoss features Architecture of JBoss Installation and running.
SOA, BPM, BPEL, jBPM.
Presented by, MySQL & O’Reilly Media, Inc. Data Services: Mashing and Shredding Data Using XAware.
EJB Overview Celsina Bignoli Distributed Business Applications Server DB Client DB Server DB.
JRun 4 & Macromedia MX Tommy Reilly JRun Engineer.
Chapter 4: Core Web Technologies
HTTP client wide area network (Internet) HTTP proxy HTTP server HTTP gateway firewall HTTP tunnel Copyright Springer Verlag Berlin Heidelberg 2004.
Original work by David Moran JMX Update Scott Molenaar 11/08/2004.
Ing. Ignacio Roqueta ARTech GeneXus and J2EE.
Bologna, 19th-20th February 20045th Plenary TAPAS Workshop JBoss Clustering and Configuration Service Implementation Giorgia Lodi
CS 493/693: Distributed Systems Programming V. “Juggy” Jagannathan CSEE, West Virginia University March 21, 2005.
Advanced Java Session 7 New York University School of Continuing and Professional Studies.
JBoss Cache. Cache A place to temporarily store data that is expensive or difficult to compute or retrieve. Caches should be fast to access. May or may.
95-843: Service Oriented Architecture 1 Master of Information System Management Service Oriented Architecture Lecture 10: Service Component Architecture.
Enterprise Java Bean Matt. 2 J2EE 3 J2EE Overview.
Enterprise JavaBeans. What is EJB? l An EJB is a specialized, non-visual JavaBean that runs on a server. l EJB technology supports application development.
JOnAS 3.2 July 1, 2003 François Exertier.
第十四章 J2EE 入门 Introduction What is J2EE ?
J2EE Structure & Definitions Catie Welsh CSE 432
Enterprise Java v120131Intro to JavaEE1 Java EE 5 TM Introduction.
J2EE Overview ver 1.0Page 1 © Wipro Technologies Talent Transformation J2EE Overview.
Source: Peter Eeles, Kelli Houston, and Wojtek Kozaczynsky, Building J2EE Applicationa with the Rational Unified Process, Addison Wesley, 2003 Prepared.
Databases JDBC (Java Database Connectivity) –Thin clients – servlet,JavaServer Pages (JSP) –Thick clients – RMI to remote databases –most recommended way.
Enterprise Java Overview Panos Konstantinidis Java Developer JUG Leader & Java Champion
충남대학교 컴퓨터공학과 데이터베이스 시스템 연구실 2017년 4월 26일 수요일
© FPT SOFTWARE – TRAINING MATERIAL – Internal use 04e-BM/NS/HDCV/FSOFT v2/3 JSP Application Models.
JMX David Moran 10/20/03. Agenda Overview Managed Beans Services Remote API J2EE Management Implementations Future Directions Demo.
Copyright 2007 SpringSource. Copying, publishing or distributing without express written permission is prohibited. Introduction to Data Access with Spring.
Introduction to EJB. What is an EJB ?  An enterprise java bean is a server-side component that encapsulates the business logic of an application. By.
1 Distributed System using J2EE. 2 What is J2EE?  J2EE (Java2 Enterprise Edition) offers a suite of software specification to design, develop, assemble.
©NIIT Introducing Enterprise JavaBeans (EJB) Lesson 1A / Slide 1 of 43J2EE Server Components Objectives In this lesson, you will learn about: The features.
EJB Enterprise Java Beans JAVA Enterprise Edition
Themabijeenkomst: WebLogic. Agenda 19:00 : Opening OGh session 19: :45: Part 1 19: :00: 20: :00: Part 2 & Questions 21:00 : The End.
Interstage BPM v11.2 1Copyright © 2010 FUJITSU LIMITED INTERSTAGE BPM ARCHITECTURE BPMS.
Apache Geronimo Open Source J2EE Application Server Getting up to speed with Apache Geronimo - Copyright 2005 Tom McQueeney 1 Getting up to speed with.
Enterprise Java Beans. Contents  Understanding EJBs  Practice Section.
J2EE Lecture 10: EJB 3.0 Overview
Open Source distributed document DB for an enterprise
The OMG Approach (continued)
Inventory of Distributed Computing Concepts and Web services
Enterprise Service Bus (ESB) (Chapter 9)
Inventory of Distributed Computing Concepts
Developing and testing enterprise Java applications
Presentation transcript:

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 임형준 충남대학교 컴퓨터공학과 데이터베이스시스템 연구실 2015년 5월 22일 금요일 2015년 5월 22일 금요일 2015년 5월 22일 금요일 2015년 5월 22일 금요일 JBoss Application Platform

Chungnam National University Computer Science and Engineering Database System Laboratory Chungnam National University Computer Science and Engineering Database System Laboratory JBoss Application Server Chungnam National University Computer Science and Engineering Database System Laboratory Chungnam National University Computer Science and Engineering Database System Laboratory JBoss Application Server 목차 JBoss Review JBoss Overview JBoss Application Platform JBoss Enterprise SOA Platform JBoss Application Platform for Portal JBoss Application Platform JBoss Enterprise Middleware System JBoss Microkernel JBoss Application Server 2

Chungnam National University Computer Science and Engineering Database System Laboratory Chungnam National University Computer Science and Engineering Database System Laboratory JBoss Application Server Chungnam National University Computer Science and Engineering Database System Laboratory Chungnam National University Computer Science and Engineering Database System Laboratory JBoss Application Server JBoss Overview 3 Operating System Windows, Unix, Other Linux Java Virtual Machine JBoss Microkernel Application Platform Other Application Server JBoss Rules JBoss jBPM JBoss Hibernate JBoss Seam SOA Platform Application Platform for Portals Enterprise PlatformsEnterprise Frameworks JBoss Enterprise Middleware System (JEMS)

Chungnam National University Computer Science and Engineering Database System Laboratory Chungnam National University Computer Science and Engineering Database System Laboratory JBoss Application Server Chungnam National University Computer Science and Engineering Database System Laboratory Chungnam National University Computer Science and Engineering Database System Laboratory JBoss Application Server JBoss Application Platform 4 Operating System Windows, Unix, Other Linux Java Virtual Machine JBoss Microkernel JBoss Application Server Java EE, Apache Tomcat, Clustering, Cache JBoss HibernateJBoss Seam JBoss Enterprise Application Platform Applications

Chungnam National University Computer Science and Engineering Database System Laboratory Chungnam National University Computer Science and Engineering Database System Laboratory JBoss Application Server Chungnam National University Computer Science and Engineering Database System Laboratory Chungnam National University Computer Science and Engineering Database System Laboratory JBoss Application Server JBoss Enterprise Frameworks 5 Operating System Windows, Unix, Other Linux Java Virtual Machine JBoss Microkernel JBoss Enterprise Application Platform JBoss Enterprise SOA Platform JBoss RulesJBoss jBPM JBoss ESB Transformation, Routing, Registry, Repository Web Services

Chungnam National University Computer Science and Engineering Database System Laboratory Chungnam National University Computer Science and Engineering Database System Laboratory JBoss Application Server Chungnam National University Computer Science and Engineering Database System Laboratory Chungnam National University Computer Science and Engineering Database System Laboratory JBoss Application Server JBoss Application Platform for Portal 6 Operating System Windows, Unix, Other Linux Java Virtual Machine JBoss Microkernel JBoss Enterprise Application Platform JBoss Portal JBoss Enterprise Application Platform for Portals Portals

Chungnam National University Computer Science and Engineering Database System Laboratory Database System Laboratory Seminar Chungnam National University Computer Science and Engineering Database System Laboratory Chungnam National University Computer Science and Engineering Database System Laboratory Chungnam National University Computer Science and Engineering Database System Laboratory Database System Laboratory Seminar Chungnam National University Computer Science and Engineering Database System Laboratory Chungnam National University Computer Science and Engineering Database System Laboratory JBoss Application Platform

Chungnam National University Computer Science and Engineering Database System Laboratory Chungnam National University Computer Science and Engineering Database System Laboratory JBoss Application Server Chungnam National University Computer Science and Engineering Database System Laboratory Chungnam National University Computer Science and Engineering Database System Laboratory JBoss Application Server JBoss Enterprise Middleware 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 JBoss App Server JBoss App Server Apache Tomcat Apache Tomcat Hibernate JBoss Cache JBoss Cache JBoss jBPM JBoss jBPM … JBoss Rules JBoss Rules Your Applications and Services JBoss Portal JBoss Portal Your Platform Services Your Platform Services JBoss Eclipse IDE JBoss Eclipse IDE #1 Multivendor Java VM, Operating System, Hardware

Chungnam National University Computer Science and Engineering Database System Laboratory Chungnam National University Computer Science and Engineering Database System Laboratory JBoss Application Server Chungnam National University Computer Science and Engineering Database System Laboratory Chungnam National University Computer Science and Engineering Database System Laboratory JBoss Application Server JEMS 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) Custom Mbeans Services beyond J2EE Persistence (Hibernate*) Clustering Caching (JBossCache*) Workflow (JBoss jBPM**) JBoss AOP* Java Applications Java Applications (EARs, WARs, JARs, JSPs, Servlets) JBoss Eclipse IDE JBoss Portal --- J2EE 1.4 Services implemented as JMX Mbeans --- JSP/Servlet (Tomcat*)JNDI (JBossNS) WS4EE (JBossWS) JDBCJMS (JBoss MQ) EJB (JBoss CMP) JTA (JBossJTA)SAAJ JACC JCA (JBossJCA) JAAS (JBossSX) RMI-IIOP (jacORB)JAX-RPCDeployment API JAXR Management API * Product can run inside JBoss AS or stand-alone ** Integration as MBean under development JAXP JBoss Remoting*

Chungnam National University Computer Science and Engineering Database System Laboratory Database System Laboratory Seminar Chungnam National University Computer Science and Engineering Database System Laboratory Chungnam National University Computer Science and Engineering Database System Laboratory Chungnam National University Computer Science and Engineering Database System Laboratory Database System Laboratory Seminar Chungnam National University Computer Science and Engineering Database System Laboratory Chungnam National University Computer Science and Engineering Database System Laboratory JBoss Microkernel

Chungnam National University Computer Science and Engineering Database System Laboratory Chungnam National University Computer Science and Engineering Database System Laboratory JBoss Application Server Chungnam National University Computer Science and Engineering Database System Laboratory Chungnam National University Computer Science and Engineering Database System Laboratory JBoss Application Server JMX Architecture: Microkernel A stripped down core capable of Loading services dynamically (classes included) Manage services lifecycle Provide naming and lookup Provide an invocation bus Decouples the services That role in JBoss is taken by JMX MBean server JBossMX at the core JMX architecture provides the decoupling 11

Chungnam National University Computer Science and Engineering Database System Laboratory Chungnam National University Computer Science and Engineering Database System Laboratory JBoss Application Server Chungnam National University Computer Science and Engineering Database System Laboratory Chungnam National University Computer Science and Engineering Database System Laboratory JBoss Application Server JMX Architecture: MBean Server MBean Server acts as a mediator Services are referenced via object names MBean Server contains a registry of services 12 Service B MBean Server JBoss:name=ServiceC JBoss:name=ServiceB JBoss:name=ServiceA Service A Service C

Chungnam National University Computer Science and Engineering Database System Laboratory Chungnam National University Computer Science and Engineering Database System Laboratory JBoss Application Server Chungnam National University Computer Science and Engineering Database System Laboratory Chungnam National University Computer Science and Engineering Database System Laboratory JBoss Application Server JMX Architecture: Invocation Invocation has no direct reference, services are loosely coupled Kernel manages the service references in case of updates, etc. 13 lookup MBean Server JBoss:name=ServiceC JBoss:name=ServiceA Service A Service C Version 1.0 Service C Version 1.0 setAttribute(ObjectName, Attribute) JBoss:name=ServiceC Java Reference JBoss:name=ServiceA... MBean Registry JBoss:name=ServiceC Service C Version 1.1 Service C Version 1.1

Chungnam National University Computer Science and Engineering Database System Laboratory Chungnam National University Computer Science and Engineering Database System Laboratory JBoss Application Server Chungnam National University Computer Science and Engineering Database System Laboratory Chungnam National University Computer Science and Engineering Database System Laboratory JBoss Application Server JMX Architecture: Metadata Service exposes its interface as metadata No compile-time typed Java interfaces Metadata can be extended to clarify the interface contract Interfaces can evolve at run-time without recompilation 14 Attributes Operations Notifications getMBeanInfo MBean Server JBoss:name=ServiceA Service A JBoss:name=ServiceC Service C

Chungnam National University Computer Science and Engineering Database System Laboratory Chungnam National University Computer Science and Engineering Database System Laboratory JBoss Application Server Chungnam National University Computer Science and Engineering Database System Laboratory Chungnam National University Computer Science and Engineering Database System Laboratory JBoss Application Server JMX Microkernel Architecture All services in JBoss are JMX MBeans Services 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 parts All invocations to MBeans should go through the MBean server GOF: 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 itself Instead the kernel internally handles references and uses logical object names 15

Chungnam National University Computer Science and Engineering Database System Laboratory Chungnam National University Computer Science and Engineering Database System Laboratory JBoss Application Server Chungnam National University Computer Science and Engineering Database System Laboratory Chungnam National University Computer Science and Engineering Database System Laboratory JBoss Application Server JBoss Microkernel & JMX JBoss Microkernel Separates a minimal functional core from extended functionality and customer- specific parts Independent cycling and loading Monolithic → modular Loading services dynamically Manage services lifecycle Use JMX Benefit Easily remove the services you don’t need Tight footprint and modular codebase and hot deploy/remove/redeploy JBoss is a TRUE Service Oriented Architecture (SOA) MBean Server (JBoss Microkernel + Naming, Logging) MBean Server (JBoss Microkernel + Naming, Logging) Service Mbean (Java EE Services) Service Mbean (EJB Container) Service Mbean (Tx Manager) RAR 3 Custom SAR Data Sources Microkernel DeploymentScanner MainDeployer EARDeployer SARDeployer Naming Service Security Service Transaction Service Transaction Service JAR 1 *.xAR 16

Chungnam National University Computer Science and Engineering Database System Laboratory Database System Laboratory Seminar Chungnam National University Computer Science and Engineering Database System Laboratory Chungnam National University Computer Science and Engineering Database System Laboratory Chungnam National University Computer Science and Engineering Database System Laboratory Database System Laboratory Seminar Chungnam National University Computer Science and Engineering Database System Laboratory Chungnam National University Computer Science and Engineering Database System Laboratory JBoss Application Server

Chungnam National University Computer Science and Engineering Database System Laboratory Chungnam National University Computer Science and Engineering Database System Laboratory JBoss Application Server Chungnam National University Computer Science and Engineering Database System Laboratory Chungnam National University Computer Science and Engineering Database System Laboratory JBoss 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 Management Web-console provides real-time graphs & alerts Scriptability of JMX modifications and invocations Enterprise-Ready Clustering Simple cluster-wide deployment Dynamic cluster composition Fault tolerance Silent failover State replication (HttpSession, SFSB) 18

Chungnam National University Computer Science and Engineering Database System Laboratory Chungnam National University Computer Science and Engineering Database System Laboratory JBoss Application Server Chungnam National University Computer Science and Engineering Database System Laboratory Chungnam National University Computer Science and Engineering Database System Laboratory JBoss Application Server JBoss AS Architecture 19 Operating System Windows, Unix, Other Linux Java Virtual Machine JBoss Microkernel JBoss Application Server JBoss HibernateJBoss Seam JBoss Enterprise Application Platform JBoss Microkernel EJB Containers EJB Containers Security Manager Security Manager Transaction Manager Transaction Manager Connection Pools Connection Pools Message Server Message Server Servlet Engine Servlet Engine Connectors Invokers Connectors Invokers Embedded Databases Embedded Databases

Chungnam National University Computer Science and Engineering Database System Laboratory Chungnam National University Computer Science and Engineering Database System Laboratory JBoss Application Server Chungnam National University Computer Science and Engineering Database System Laboratory Chungnam National University Computer Science and Engineering Database System Laboratory JBoss Application Server Monitoring 20 Operating System Windows, Unix, Other Linux Java Virtual Machine JBoss Microkernel JBoss Application Server JBoss HibernateJBoss Seam JBoss Enterprise Application Platform

Chungnam National University Computer Science and Engineering Database System Laboratory Chungnam National University Computer Science and Engineering Database System Laboratory JBoss Application Server Chungnam National University Computer Science and Engineering Database System Laboratory Chungnam National University Computer Science and Engineering Database System Laboratory JBoss Application Server Enterprise JavaBeans (EJB) 3.0 Enterprise JavaBeans (EJB) 클라이언트 / 서버 모델의 서버 부분에서 운영되는 자바 프로그램 컴포넌트들을 설정하기 위한 아키텍처 Session Bean, Message Driven Bean, Entity Bean 을 사용하기 위한 EJB API 의 단순화 Java Annotation, Dependency Injection Optional Callbacks, Entity Manager API 단순화된 영속성 기능과 개선된 쿼리들 21 Servlet EJB Servlet EJB DB JBoss Application Server

Chungnam National University Computer Science and Engineering Database System Laboratory Chungnam National University Computer Science and Engineering Database System Laboratory JBoss Application Server Chungnam National University Computer Science and Engineering Database System Laboratory Chungnam National University Computer Science and Engineering Database System Laboratory JBoss Application Server Application Framework 복잡한 웹 어플리케이션 개발의 단순화 Annotation 기반의 프로그래밍 모델 전통적인 J2EE 개발자의 공통적인 이슈와 불편사항 극복 JSF, EJB 3.0, Hibernate, AJAX, Web Services, Workflow 의 유 연한 통합 단일 사용자 세션에서 동시에 복수의 작업 처리 가능 Conversation 과 Process 를 위한 새로운 context 추가 22 Invocation Point Rich Clients Flex / Swing /.NET Rich Clients Flex / Swing /.NET Web Clients JSF / AJAX Web Clients JSF / AJAX Web Services EJB / JBI Web Services EJB / JBI JBoss Seam Business Logic EJB3 / POJO / Rules Business Logic EJB3 / POJO / Rules Orchestration Work Flow / Page Flow / ESB Orchestration Work Flow / Page Flow / ESB Data Access Layer EJB3 / POJO / Hibernate / JCA Data Access Layer EJB3 / POJO / Hibernate / JCA

Chungnam National University Computer Science and Engineering Database System Laboratory Chungnam National University Computer Science and Engineering Database System Laboratory JBoss Application Server Chungnam National University Computer Science and Engineering Database System Laboratory Chungnam National University Computer Science and Engineering Database System Laboratory JBoss Application Server JGroups Toolkit for reliable multicasting Fragmentation Message retransmission Ordering Group membership, membership change notification LAN or WAN based Like JMS Receive a message Retrieve membership Disconnect from the group Close the channel Be notified when members join, leave (including crashes) 23 Group topology

Chungnam National University Computer Science and Engineering Database System Laboratory Chungnam National University Computer Science and Engineering Database System Laboratory JBoss Application Server Chungnam National University Computer Science and Engineering Database System Laboratory Chungnam National University Computer Science and Engineering Database System Laboratory JBoss Application Server JBoss Cache Reduce Database & Network Traffic By caching frequently used objects Less Database calls = Less Network Traffic = Faster Applications Simplification No interfaces to implement! Write <10 lines of code State Replication Synchronous/Asynchronous/Queue based replication Transactional changes across the cluster TreeCacheAOP only replicates changes & not the whole object again! Persistence Preload from file, SleepyCat or JDBC Defined by eviction policies Reliability Built on JGroups technology 24

Chungnam National University Computer Science and Engineering Database System Laboratory Chungnam National University Computer Science and Engineering Database System Laboratory JBoss Application Server Chungnam National University Computer Science and Engineering Database System Laboratory Chungnam National University Computer Science and Engineering Database System Laboratory JBoss Application Server JBoss Cache Feature A replicated, transactional, persistency and fine-grained cache system Transactional or non-transactional Non-Transactional Replication after each modification Transactional Replication at TX commit DB isolation levels supported Support for pluggable TxManagers 25

Chungnam National University Computer Science and Engineering Database System Laboratory Chungnam National University Computer Science and Engineering Database System Laboratory JBoss Application Server Chungnam National University Computer Science and Engineering Database System Laboratory Chungnam National University Computer Science and Engineering Database System Laboratory JBoss Application Server Clustering 상태 복제 (State Replication) – 아래 항목에 대해 Synchronous & Asynchronous Replication 모드 지원 HTTP Session Stateful Session Bean Entity Bean Plain Old Java Bean (POJO) 부하 분산 (Load Balancing) HTTP Load-balancing via Apache Plug-in EJB Load-balancing via Dynamic Proxy Message-Driven Bean Load-balancing via Queue 자동 장애 복구 (Silent Failover) HTTP failover via Apache Plug-in EJB failover via Dynamic Proxy 26

Chungnam National University Computer Science and Engineering Database System Laboratory Chungnam National University Computer Science and Engineering Database System Laboratory JBoss Application Server Chungnam National University Computer Science and Engineering Database System Laboratory Chungnam National University Computer Science and Engineering Database System Laboratory JBoss Application Server Clustering Expression 27 JBossWeb SFSB EJB 3 Entity Bean POJO SFSB EJB 3 Entity Bean POJO JBoss instance Fat Client ApacheThin Client Remoting HTTP

Chungnam National University Computer Science and Engineering Database System Laboratory Chungnam National University Computer Science and Engineering Database System Laboratory JBoss Application Server Chungnam National University Computer Science and Engineering Database System Laboratory Chungnam National University Computer Science and Engineering Database System Laboratory JBoss Application Server JBoss Clustering Includes Cluster Set of nodes with a common goal - Homogeneous Partition - Group of nodes Not statically defined Defined by a name Node can join and leave as needed Automatic cluster membership discovery HA-Singleton Only node is running at the same time in a cluster Fault Tolerant – Failover Load balancing Replicating Resources Stateful Session Bean Replication Entity Bean Replication HTTP Session Replication JNDI Tree Replication Farming : Distributed Cluster-wide hot deployment 28

Chungnam National University Computer Science and Engineering Database System Laboratory Chungnam National University Computer Science and Engineering Database System Laboratory JBoss Application Server Chungnam National University Computer Science and Engineering Database System Laboratory Chungnam National University Computer Science and Engineering Database System Laboratory JBoss Application Server SFSB 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. register 1. new 3. Notify to other node TreeCacheAOP 5. update 4. Update state 6. Notify to other node TreeCacheAOP Automatic TreeCacheAOP Notification

Chungnam National University Computer Science and Engineering Database System Laboratory Chungnam National University Computer Science and Engineering Database System Laboratory JBoss Application Server Chungnam National University Computer Science and Engineering Database System Laboratory Chungnam National University Computer Science and Engineering Database System Laboratory JBoss Application Server Entity Bean Replications Hibernate IS EJB 3.0 CMP Hibernate caches are being integrated with JBossCache 30 Cache TreeCacheAOP

Chungnam National University Computer Science and Engineering Database System Laboratory Chungnam National University Computer Science and Engineering Database System Laboratory JBoss Application Server Chungnam National University Computer Science and Engineering Database System Laboratory Chungnam National University Computer Science and Engineering Database System Laboratory JBoss Application Server JBoss Remoting Framework with a single, simple API for making network based invocations and other network related services Like RMI Goals Use POJOs not APIs No extending of UnicastRemote No precompilation (rmic) Protocol independent Protocol isolation Designed after dotNetRemoting 31 NET Remoting - Channels and Formatters

Chungnam National University Computer Science and Engineering Database System Laboratory Chungnam National University Computer Science and Engineering Database System Laboratory JBoss Application Server Chungnam National University Computer Science and Engineering Database System Laboratory Chungnam National University Computer Science and Engineering Database System Laboratory JBoss Application Server Client-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: RoundRobin FirstAvailable (Sticky Sessions) FirstAvailableIdenticalAllProxies The stubs maintains a list of server addresses which is updated on each request 32 Client Intelligent Stub : Server Address List : Server Address Reference Invoke Node 1 Node 2 RMI Dispatcher fault

Chungnam National University Computer Science and Engineering Database System Laboratory Chungnam National University Computer Science and Engineering Database System Laboratory JBoss Application Server Chungnam National University Computer Science and Engineering Database System Laboratory Chungnam National University Computer Science and Engineering Database System Laboratory JBoss Application Server Dynamic 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. 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. 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 four three fourfive one Cluster Definition one two three four Cluster Definition one two three four five Cluster Definition two three four five

Chungnam National University Computer Science and Engineering Database System Laboratory Chungnam National University Computer Science and Engineering Database System Laboratory JBoss Application Server Chungnam National University Computer Science and Engineering Database System Laboratory Chungnam National University Computer Science and Engineering Database System Laboratory JBoss Application Server State Replication Across Cluster 34 one five two four three :::::::::::::::::::::::::::::::::: :: :::::: 4 4 QTY $2.25Coffee Mugs25 $1.99Coffee Filters #42 $6.59Coffee Beans (1lb)1 Unit Price Product DescriptionLine # Shopping Cart 10 Now all nodes in the cluster are in sync with the updated state of the shopping cart. Replicated Objects HttpSessions Stateful Session Beans HA-JNDI tree

Chungnam National University Computer Science and Engineering Database System Laboratory Chungnam National University Computer Science and Engineering Database System Laboratory JBoss Application Server Chungnam National University Computer Science and Engineering Database System Laboratory Chungnam National University Computer Science and Engineering Database System Laboratory JBoss Application Server Silent Failover via Dynamic Proxies 35 two one five fourthree Dynamic Proxy Client Application = replicated stateful object (e.g. Stateful Session Bean) Current Cluster Nodes one two three four 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 University Computer Science and Engineering Database System Laboratory Chungnam National University Computer Science and Engineering Database System Laboratory JBoss Application Server Chungnam National University Computer Science and Engineering Database System Laboratory Chungnam National University Computer Science and Engineering Database System Laboratory JBoss Application Server Features Server identification A simple String identifier which allows for remoting servers to be identified and called upon Pluggable transports Can use different protocol transports, such as: Socket, RMI, http, etc Pluggable data marshallers Can use different data marshallers and unmarshallers to convert the invocation payloads into desired data format for wire transfer Automatic discovery Can detect remoting servers as they come on and off line Server grouping Ability to group servers by logical domains, so only communicate with servers within specified domains Callbacks Can receive server callbacks via push and pull models Asynchronous calls Can 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 University Computer Science and Engineering Database System Laboratory Chungnam National University Computer Science and Engineering Database System Laboratory JBoss Application Server Chungnam National University Computer Science and Engineering Database System Laboratory Chungnam National University Computer Science and Engineering Database System Laboratory JBoss Application Server JBoss Architecture 37 Transacted Acid sessions Secure access Monitor Model time Cached model configuration Service layer Aspect layer Application layer Monitor data time (dynamic insertion) Cache Persistent data Clustered Remote webservice Clustering Remote Invokers ACIDMonitoringPersistenceTransactionCacheSecurity JBoss Microkernel (JMX) Microkernel layer

Chungnam National University Computer Science and Engineering Database System Laboratory Chungnam National University Computer Science and Engineering Database System Laboratory JBoss Application Server Chungnam National University Computer Science and Engineering Database System Laboratory Chungnam National University Computer Science and Engineering Database System Laboratory JBoss Application Server 요약 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