SlideShare une entreprise Scribd logo
1  sur  42
Télécharger pour lire hors ligne
Red Hat의 JBoss 미들웨어 및
JBoss Remoting 프로젝트 소개

          이희승
        tlee@redhat.com

        레드햇 코리아
2



    목차
 JBoss 소개
    회사
    제품군
    JBossAS


 JBoss Remoting 소개
    개요
    예제
    메커니즘
    기능


 JBoss Remoting 3
3



                    JBoss, Inc.
  JBoss History
  JBoss는 1999년 EJB 오픈소스 프로젝트를 통하여 개발되었으며, 2007년 현재 오픈소스 기반의 SOA를 구현할 수 있는 플
  랫폼으로 발전하여 기업 IT 환경의 TCO 절감을 위한 솔루션으로 주목받고 있습니다.

             JBoss 진화과정

             •   1999   :   EJB 오픈소스 프로젝트
             •   2000   :   교육 및 컨설팅
                                                                                                       JBoss Network
             •   2001   :   판매를 위한 문서화
Enterprise




                                                                                                JEMS
             •   2002   :   JBoss Group LLC 및 기술 지원
             •   2003   :   새로운 오픈소스 프로젝트 기반의 확장
                                                                                      파트너
             •   2004   :   JBoss Inc 설립 및 J2EE 1.4 인증
             •   2005   :   JEMS, JBoss Network 제공                      제품 기술 지원
                            (JBoss Enterprise Middleware System)
Tactical




                                                               개발자 지원
                                                                                       JBoss inc
                                                  컨설팅
                                                                               Professional Open Source
                                    문서화
Developer




                   교육
                                                  JBoss Group
                 Small Consultancy

                 2000/10          2001/6        2002/1             2002/9   2003/9     2005/1           2005/6
4



       Red Hat + JBoss
Red Hat의 JBoss 인수
Red Hat은 2006년 오픈소스 기반 SOA 플랫폼 솔루션의 선도업체인 JBoss를 인수하여 웹 어플리케이션 개발과 구축을 위
한 비용을 획기적으로 절감할 수 있는 제품 라인업을 구축하였습니다.

  JBoss 인수 효과




 기업고객을 대상으로 Service Oriented Architectures 플랫폼 구축을 위한 저비용의 솔루션 라인업 제공
   • JBoss는 SOA를 위한 오픈소스 미들웨어의 선도업체
   • Red Hat과 JBoss는 어플리케이션 개발에서 구축까지 오픈소스 솔루션 제공

 JBoss는 OS 플랫폼 독립적인 소프트웨어를 지속적으로 제공
    • Red Hat Enterprise Linux
    • SuSe Linux
    • Sun Solaris
    • Microsoft Windows
    • HP-UX
    • AIX, ...
5



          Red Hat+JBoss=Value2
                             • JBoss Enterprise
                                                      • JBoss Enterprise
                               Application Platform
          • JBoss                                       Application Platform
                             • Red Hat Developer
            Seam 출시                                     for Portals
                               Subscriptions

                     07. 3    07. 4      07. 6/7       07. Q3         07. Q4
 06. 10    06. 12


• Red Hat            • JBoss        • Red Hat Developer Studio • JBoss Enterprise
                       Hibernate 출시 • Red Hat Application Stack
  Application                                                     SOA Platform
                                                                • Red Hat Messaging
  Stack                               신규버전
                                    • JBoss jBPM 출시
                                    • JBoss Rules 출시
                                    • JBoss Seam 신규버전

                    Developer Solutions, Enterprise Platform 및
                           Framework 분야에 역량 집중
6



  JBoss 개요 – SOA
SOA Redefined: Simple, Open, Affordable
7



        JBoss 개요 – 제품군
JBoss 제품군은 오픈소스 기반의 SOA 플랫폼을 구축하기 위한 솔루션으로 구성되어 있으며, 오픈소스 개발 프로젝트를
통하여 지속적으로 추가 솔루션을 출시하고 있습니다.

  JBoss Solution Stack



                                                                                Processes
               Applications                         Web Services
                                      Portals
                              Applications, Services, Business Processes
                                 ate
                         To ache




                                                                 s
      AS s




                                                  Ca ss



                                                              on




                                                                               j BP s s
                                                                     Po ss
                                                   ns ss




                                                                                            Ru ss
                                at
         os




                                                                                                     …
                                                        e




                                                                           l
                              rn
                   g




                                                                                    M
                                                       o




                                                                                     o




                                                                                              l es
                                                                         o
                                                                       rta
                                                          cti
                                                Tra Bo




                                                                                                o
                             mc




                                                     ch
                rin
      JB




                                                    JB




                                                                                  JB
                                                                      JB
                           Ap




                                                                                             JB
                            be
                +




                                                     a
                                                    J
             ste




                         Hi
             Clu




                              #1      #1
            #1
                                           JBoss Microkernel
                                   Multi-Vendor JVM, OS, Platform
   기업환경 변화에 민첩하게 대응하기 위한 표준기반의 솔루션군으로 개발 및 구축 기간 및 비용 절감
8



       JBoss 개요-Subscription
등급에 따른 기술지원 서비스 및 범위는 Platinum, Gold, Silver로 분류되며 지원 내역은 다음과 같습니다.

  Subscription 지원내역

                        Developer        Developer       Production       Production
     JBoss 기술지원
                       Professional      Enterprise       Standard         Premium
                      월요일 ~ 금요일                        월요일 ~ 금요일
        지원 시간                               24x7                             24x7
                       9 AM ~ 5 PM                      9 AM ~ 5 PM
        응답 시간              2일               4일             4 시간             1 시간
        지원 방법          웹 / 전화 지원       웹 / 전화 지원        웹 / 전화 지원        웹 / 전화 지원


    • JBoss Professional Support Engineer 는 모두 Java EE 전문가로 구성되어 있습니다.

    • Developer Subscriptions은 JBoss Enterprise Middleware 제품군, RHEL, RHEL을 제외한 다른 Red Hat
    제품에 대한 지원을 합니다.

    • 지원 횟수에는 제한이 없습니다.
9



         JBossAS
JBoss Application Server는 업계 선도의 오픈소스 J2EE 어플리케이션 서버입니다. JBoss AS는 e-Business 어플리케이션
을 개발하고 배포하기 위한 고성능의 엔터프라이즈급 플랫폼을 제공하여, 견고하면서도 유연한 아키텍처와 오픈소스 소
프트웨어 라이센스를 결합시킴으로써, 개발와 ISV 그리고 기업 고객 모두에게 단기간내에 가장 선호받는 웹 어플리케이
션 미들웨어가 될 수 있었습니다.

  JBoss AS 구조

  JBoss AS는 Single node/cluster 내에 서비스들을 임베드할 수 있음
    • HTTP, DB Connection Pool, Transation Manager 등
    • 서버내에 서로 다른 서비스들을 함께 통합
    • 개발자를 위한 어플리케이션 프로그래밍 모델 제공 – Servlet 컴포넌트, EJB 컴포넌트


                      EJB                Security        Transaction   Connection
                   Containers            Manager          Manager        Pools




                                             JBoss Microkernel


                    Message           Tomcat Servlet    Connectors &   Embedded
                     Server              Engine           Invokers     Databases
10



       JBossAS – 시장 평가
JBoss AS는 2005년 12월 BZ Research 조사에 의하면 북미 WAS 시장 점유율 1위를 달리고 있으며, TCO 절감 차원에서 가
장 선호하는 솔루션으로 평가받고 있습니다.

  북미 WAS 시장 점유율
11



         JBossAS – Gartner 평가
JBoss AS는 2005년 4월, 2006년 8월 Gartner에서 발표한 ”Enterprise Application Server Magic Quadrant” 에서 2년 연속
leader group에 위치하고 있으며 회사 규모 및 제품 완성도 측면에서 시장 선도 제품으로 평가받고 있습니다.

   Gartner Magic Quadrant 2005 ~ 2006
12



       JBossAS – 성능 평가
JBoss AS는 2006년 10월 세계 TOP 10 WAS 제품을 대상으로 테스트를 시행한 EDC (Evans Data Corp.)의 조사 결과를 보
면 상용 WAS 대비 우수한 성능을 제공하는 것으로 나타나 있습니다.

  성능 비교
13



JBossAS – 성능 평가
 중국 화웨이 (http://www.huawei.com/) 에서 실시한 벤치마크 자료
14



        JBossAS – 기능 비교
JBoss AS는 북미 시장 점유율 1위를 차지하고 있는 제품으로 이미 제품 기능 및 성능에서 안전성을 인정받고 있습니다.
상용 WAS 대비 기능과 성능에 대한 비교는 다음과 같습니다.

 기능 비교

           기능                       JEUS 5.0                        WebLoigic 9.2                     JBoss AS 4.0
                                                             Windows 2000/2003, HP-UX 11i,
                          Windows NT/2000/2003, HP-UX
                                                              AIX 5.2/5.3, SUSE 9/10, Red Hat         100% Pure Java
          지원 OS             11.0, AIX 4.x/5L, Linux kernel
                                                                  3.0/4.0, Solaris 8/9/10          Linux, Unix, Windows
                                         2.4+

         J2EE 인증                        1.4                                1.4                              1.4

          JDK 버전                    1.3, 1.4, 5.0                          5.0                            1.4, 5.0
                                                               Servlet/JSP, EJB, JMS, JDBC
   Cluster 지원 component           Servlet/JSP, EJB                                              Servlet/JSP, EJB, JMS, POJO
                                                                        Connection
                                                                  Web, EJB 자동 failover             Web, EJB 자동 failover
          Failover            Web, EJB 자동 failover
                                                                   Database failover                Database failover
                                                               Apache 2.0.48+, IIS 5.0/6.0,
        지원 웹서버                   Apache, WebToB                                                 Apache, IIS, SunOne(limited)
                                                                   SunOne 6.0 SP1+

      Excellent Feature                국산                         Management Console                  Flexibility, Cost

            IDE             WebInOne Studio, JBuilder          Eclipse, JBuilder, JDeveloper    Eclipse, JBuilder, JDeveloper

            AOP                      3rd Party                   3rd Party (AspectWerkz)                 JBoss AOP
15



            JBossAS vs. Tomcat
JBossAS는 JSP/Servlet 엔진으로 Tomcat을 이용하고 있으나, 기업 어플리케이션을 위한 EJB, JMS를 비롯한 모든 J2EE 기능
을 제공하고 있습니다. 또한 고가용성을 위한 다양한 클러스터링 기능을 지원하고 있습니다.

  기능 비교

     기능                           설명                              Tomcat                      JBoss AS
   Servlet/JSP             JBoss는 Tomcat을 내장                         O                             O
      JNDI              Tomcat은 읽기 기능만을 제공                       O (limited)                O (clusterwide)
    Database
   Connection                                             Not built-in (using DBCP)                O
     Pooling
      JTA         Tomcat은 별도 제품을 통해 Transaction Service              X                             O
      JMX                                                            O                             O
      JMS        Tomcat은 독립적인 3rd Party 제품과 연동해서 사용                  X                             O
      EJB        Tomcat은 독립적인 3rd Party 제품과 연동해서 사용                  X                             O

     JAAS                                                            X                             O
                 JBoss는 farm 디렉토리에 component를 복사/ 삭제
   Hot deploy                                                        O                O (more simple, clusterwide)
                 할 때 클러스터의 모든 서버에 deploy / undeploy 됨

   Clustering                                                        O                O (improved performance)

  Web Service     Tomcat은 별도 라이브러리를 통해 Service 가능               Not built-in                       O
16



       JBossAS - 구축사례
JBoss 서브스크립션 고객들은 JBoss AS 환경을 모니터링하고 관리하기 위해서 JBoss Operations Network (JBoss ON)에 접
근할 수 있습니다. JBoss ON은 고객이 어플리케이션을 디자인하고 개발하는 시점부터 그것을 테스트, 배포하는데 까지 고
객의 어플리케이션을 지속적으로 관리하고 모니터링 할 수 있도록 도와줍니다.

   JBoss AS 국내외 구축사례

                        해외 사례                                     국내 사례
17



  Remoting – 개요
네트워크 기반 호출에 대한 단일 API 제공
18



  Remoting – 개요 (계속)
 고객
  EJB 2.x – JBossAS 4.2 & 5.0
  EJB 3
  JBoss Messaging
  JBossWS
  JBoss ESB
  기타 JBoss 외부 프로젝트
19



 Remoting–예제(Client)

String locatorURI = “socket://localhost:5400”;
InvokerLocator locator = new InvokerLocator(locatorURI);

Client remotingClient = new Client(locator);
remotingClient.connect();
Object response = remotingClient.invoke(quot;Do somethingquot;);

System.out.println(quot;Invocation response: quot; + response);
20



 Remoting–예제(Server)

String locatorURI = “socket://localhost:5400”;
InvokerLocator locator = new InvokerLocator(locatorURI);
Connector connector = new Connector(locator);
connector.create();

SampleInvocationHandler invocationHandler =
                  new SampleInvocationHandler();
connector.addInvocationHandler(
                  quot;samplequot;, invocationHandler);

connector.start();
21



     Remoting–예제(Server)

    public class SampleInvocationHandler
                                   implements ServerInvocationHandler {
        public Object invoke(InvocationRequest invocation) {
            System.out.println(
                quot;Invocation request is: quot; + invocation.getParameter());
            return “This is the response”;
        }

       public void addListener(
                        InvokerCallbackHandler callbackHandler) { … }
       public void removeListener(
                         InvokerCallbackHandler callbackHandler) { … }
       public void setMBeanServer(MBeanServer server) { … }
       public void setInvoker(ServerInvoker invoker) { … }

}
22



      Remoting – 메커니즘
                 Invoker              Remoting Client
                 Registry

                            Client
             Client
                                            Marshaller
                            Invoker
  Payload
                       (transport)
Invocation

                                           UnMarshaller
23



Remoting – 메커니즘
       Invoker              Remoting Client
       Registry

                  Client
   Client
                                 Marshaller
                  Invoker
             (transport)



                                UnMarshaller
24



Remoting – 메커니즘
       Invoker
                            Remoting Client
       Registry

                  Client
   Client
                                 Marshaller
                  Invoker
             (transport)



                                UnMarshaller
25



Remoting – 메커니즘
       Invoker
                            Remoting Client
       Registry

                  Client
   Client
                                 Marshaller
                  Invoker
             (transport)                       Socket



                                UnMarshaller
26



Remoting – 메커니즘
       Invoker
                            Remoting Client
       Registry

                  Client
   Client
                                 Marshaller
                  Invoker
             (transport)                       Socket



                                UnMarshaller
27



Remoting – 메커니즘
       Invoker
                            Remoting Client
       Registry

                  Client
   Client
                                 Marshaller




                                               10
                  Invoker




                                                 01
                                                 10
             (transport)                              Socket



                                UnMarshaller
28



     Remoting – 메커니즘
Remoting                             Remoting Server
 Client
                                             Server
                            Client                       Invocation
                           UnMarshaller
                      10
                                            Invoker        Handler
                    01
                    10




                                           (transport)
           Socket



                            Marshaller
29



     Remoting – 메커니즘
Remoting                      Remoting Server
 Client
                                      Server
                     Client                       Invocation
                    UnMarshaller
                                     Invoker        Handler
                                    (transport)
           Socket



                     Marshaller
30



     Remoting – 메커니즘
Remoting                      Remoting Server
 Client
                                      Server
                     Client                       Invocation
                    UnMarshaller
                                     Invoker        Handler
                                    (transport)
           Socket



                     Marshaller
31



     Remoting – 메커니즘
Remoting                      Remoting Server
 Client
                                      Server
                     Client                       Invocation
                    UnMarshaller
                                     Invoker        Handler
                                    (transport)
           Socket



                     Marshaller
32



     Remoting – 메커니즘
Remoting                      Remoting Server
 Client
                                      Server
                     Client                       Invocation
                    UnMarshaller
                                     Invoker        Handler
                                    (transport)
           Socket



                     Marshaller
33



     Remoting – 메커니즘
Remoting                           Remoting Server
 Client
                                           Server
                          Client                       Invocation
                         UnMarshaller
                                          Invoker        Handler
                                         (transport)
           Socket
                    10
                    11




                          Marshaller
34



Remoting – 메커니즘
       Invoker
                            Remoting Client
       Registry

                  Client
   Client
                                 Marshaller
                  Invoker
             (transport)                               Socket




                                                  11
                                               10
                                UnMarshaller
35



Remoting – 메커니즘
       Invoker
                            Remoting Client
       Registry

                  Client
   Client
                                 Marshaller
                  Invoker
             (transport)                       Socket



                                UnMarshaller
36



Remoting – 메커니즘
       Invoker
                            Remoting Client
       Registry

                  Client
   Client
                                 Marshaller
                  Invoker
             (transport)



                                UnMarshaller
37



Remoting – 메커니즘
       Invoker
                            Remoting Client
       Registry

                  Client
   Client
                                 Marshaller
                  Invoker
             (transport)



                                UnMarshaller
38



    Remoting – 메커니즘
               Invoker
                                    Remoting Client
               Registry

                          Client
           Client
                                          Marshaller
                          Invoker
Response
                     (transport)



                                        UnMarshaller
39



   Remoting – 기능
 다양한 트랜스포트 지원 (+ SSL)
   Socket / Bisocket
   HTTP / Servlet
   RMI
 다양한 Marshaller
   Serializing – Default & JBoss
   Compressing
   Encrypting
40



   Remoting 3
 Remoting 2의 차세대 버전 (rewrite)
 Apache MINA 적극 활용
 사용자 의견 취합중
   단방향 메시징
   스트리밍
   Local transport
   JCA 통합
41



Remoting 3
http://labs.jboss.com/
         Q&A

Contenu connexe

En vedette

Camunda BPM 7.2: Performance and Scalability (English)
Camunda BPM 7.2: Performance and Scalability (English)Camunda BPM 7.2: Performance and Scalability (English)
Camunda BPM 7.2: Performance and Scalability (English)camunda services GmbH
 
공짜 경제에서 어떻게 돈을 버는가?(How to Make Money in Free Economy)
공짜 경제에서 어떻게 돈을 버는가?(How to Make Money in Free Economy)공짜 경제에서 어떻게 돈을 버는가?(How to Make Money in Free Economy)
공짜 경제에서 어떻게 돈을 버는가?(How to Make Money in Free Economy)Sangkyu Rho
 
Benchmarck 2014 Bonita Activiti Jbpm
Benchmarck 2014 Bonita Activiti JbpmBenchmarck 2014 Bonita Activiti Jbpm
Benchmarck 2014 Bonita Activiti JbpmKarim Baïna
 
Open Source BPM in Java
Open Source BPM in JavaOpen Source BPM in Java
Open Source BPM in JavaDavid Noble
 
WebSocket 기반 쌍방향 메시징
WebSocket 기반 쌍방향 메시징WebSocket 기반 쌍방향 메시징
WebSocket 기반 쌍방향 메시징trustinlee
 
톰캣 #09-쓰레드
톰캣 #09-쓰레드톰캣 #09-쓰레드
톰캣 #09-쓰레드GyuSeok Lee
 
사용자 경험 극대화를 위한 웹 서버 아키텍처
사용자 경험 극대화를 위한 웹 서버 아키텍처사용자 경험 극대화를 위한 웹 서버 아키텍처
사용자 경험 극대화를 위한 웹 서버 아키텍처trustinlee
 
톰캣 #06-db 연동
톰캣 #06-db 연동톰캣 #06-db 연동
톰캣 #06-db 연동GyuSeok Lee
 
톰캣 #11-팁
톰캣 #11-팁톰캣 #11-팁
톰캣 #11-팁GyuSeok Lee
 
자바 네트워킹 기초에서 응용까지
자바 네트워킹 기초에서 응용까지자바 네트워킹 기초에서 응용까지
자바 네트워킹 기초에서 응용까지trustinlee
 
Open source APM Scouter로 모니터링 잘 하기
Open source APM Scouter로 모니터링 잘 하기Open source APM Scouter로 모니터링 잘 하기
Open source APM Scouter로 모니터링 잘 하기GunHee Lee
 
[오픈소스컨설팅]Java Performance Tuning
[오픈소스컨설팅]Java Performance Tuning[오픈소스컨설팅]Java Performance Tuning
[오픈소스컨설팅]Java Performance TuningJi-Woong Choi
 
[오픈소스컨설팅]Scouter 설치 및 사용가이드(JBoss)
[오픈소스컨설팅]Scouter 설치 및 사용가이드(JBoss)[오픈소스컨설팅]Scouter 설치 및 사용가이드(JBoss)
[오픈소스컨설팅]Scouter 설치 및 사용가이드(JBoss)Ji-Woong Choi
 

En vedette (13)

Camunda BPM 7.2: Performance and Scalability (English)
Camunda BPM 7.2: Performance and Scalability (English)Camunda BPM 7.2: Performance and Scalability (English)
Camunda BPM 7.2: Performance and Scalability (English)
 
공짜 경제에서 어떻게 돈을 버는가?(How to Make Money in Free Economy)
공짜 경제에서 어떻게 돈을 버는가?(How to Make Money in Free Economy)공짜 경제에서 어떻게 돈을 버는가?(How to Make Money in Free Economy)
공짜 경제에서 어떻게 돈을 버는가?(How to Make Money in Free Economy)
 
Benchmarck 2014 Bonita Activiti Jbpm
Benchmarck 2014 Bonita Activiti JbpmBenchmarck 2014 Bonita Activiti Jbpm
Benchmarck 2014 Bonita Activiti Jbpm
 
Open Source BPM in Java
Open Source BPM in JavaOpen Source BPM in Java
Open Source BPM in Java
 
WebSocket 기반 쌍방향 메시징
WebSocket 기반 쌍방향 메시징WebSocket 기반 쌍방향 메시징
WebSocket 기반 쌍방향 메시징
 
톰캣 #09-쓰레드
톰캣 #09-쓰레드톰캣 #09-쓰레드
톰캣 #09-쓰레드
 
사용자 경험 극대화를 위한 웹 서버 아키텍처
사용자 경험 극대화를 위한 웹 서버 아키텍처사용자 경험 극대화를 위한 웹 서버 아키텍처
사용자 경험 극대화를 위한 웹 서버 아키텍처
 
톰캣 #06-db 연동
톰캣 #06-db 연동톰캣 #06-db 연동
톰캣 #06-db 연동
 
톰캣 #11-팁
톰캣 #11-팁톰캣 #11-팁
톰캣 #11-팁
 
자바 네트워킹 기초에서 응용까지
자바 네트워킹 기초에서 응용까지자바 네트워킹 기초에서 응용까지
자바 네트워킹 기초에서 응용까지
 
Open source APM Scouter로 모니터링 잘 하기
Open source APM Scouter로 모니터링 잘 하기Open source APM Scouter로 모니터링 잘 하기
Open source APM Scouter로 모니터링 잘 하기
 
[오픈소스컨설팅]Java Performance Tuning
[오픈소스컨설팅]Java Performance Tuning[오픈소스컨설팅]Java Performance Tuning
[오픈소스컨설팅]Java Performance Tuning
 
[오픈소스컨설팅]Scouter 설치 및 사용가이드(JBoss)
[오픈소스컨설팅]Scouter 설치 및 사용가이드(JBoss)[오픈소스컨설팅]Scouter 설치 및 사용가이드(JBoss)
[오픈소스컨설팅]Scouter 설치 및 사용가이드(JBoss)
 

JBoss Middleware 및 Remoting 프로젝트 소개

  • 1. Red Hat의 JBoss 미들웨어 및 JBoss Remoting 프로젝트 소개 이희승 tlee@redhat.com 레드햇 코리아
  • 2. 2 목차  JBoss 소개  회사  제품군  JBossAS  JBoss Remoting 소개  개요  예제  메커니즘  기능  JBoss Remoting 3
  • 3. 3 JBoss, Inc. JBoss History JBoss는 1999년 EJB 오픈소스 프로젝트를 통하여 개발되었으며, 2007년 현재 오픈소스 기반의 SOA를 구현할 수 있는 플 랫폼으로 발전하여 기업 IT 환경의 TCO 절감을 위한 솔루션으로 주목받고 있습니다. JBoss 진화과정 • 1999 : EJB 오픈소스 프로젝트 • 2000 : 교육 및 컨설팅 JBoss Network • 2001 : 판매를 위한 문서화 Enterprise JEMS • 2002 : JBoss Group LLC 및 기술 지원 • 2003 : 새로운 오픈소스 프로젝트 기반의 확장 파트너 • 2004 : JBoss Inc 설립 및 J2EE 1.4 인증 • 2005 : JEMS, JBoss Network 제공 제품 기술 지원 (JBoss Enterprise Middleware System) Tactical 개발자 지원 JBoss inc 컨설팅 Professional Open Source 문서화 Developer 교육 JBoss Group Small Consultancy 2000/10 2001/6 2002/1 2002/9 2003/9 2005/1 2005/6
  • 4. 4 Red Hat + JBoss Red Hat의 JBoss 인수 Red Hat은 2006년 오픈소스 기반 SOA 플랫폼 솔루션의 선도업체인 JBoss를 인수하여 웹 어플리케이션 개발과 구축을 위 한 비용을 획기적으로 절감할 수 있는 제품 라인업을 구축하였습니다. JBoss 인수 효과  기업고객을 대상으로 Service Oriented Architectures 플랫폼 구축을 위한 저비용의 솔루션 라인업 제공 • JBoss는 SOA를 위한 오픈소스 미들웨어의 선도업체 • Red Hat과 JBoss는 어플리케이션 개발에서 구축까지 오픈소스 솔루션 제공  JBoss는 OS 플랫폼 독립적인 소프트웨어를 지속적으로 제공 • Red Hat Enterprise Linux • SuSe Linux • Sun Solaris • Microsoft Windows • HP-UX • AIX, ...
  • 5. 5 Red Hat+JBoss=Value2 • JBoss Enterprise • JBoss Enterprise Application Platform • JBoss Application Platform • Red Hat Developer Seam 출시 for Portals Subscriptions 07. 3 07. 4 07. 6/7 07. Q3 07. Q4 06. 10 06. 12 • Red Hat • JBoss • Red Hat Developer Studio • JBoss Enterprise Hibernate 출시 • Red Hat Application Stack Application SOA Platform • Red Hat Messaging Stack 신규버전 • JBoss jBPM 출시 • JBoss Rules 출시 • JBoss Seam 신규버전 Developer Solutions, Enterprise Platform 및 Framework 분야에 역량 집중
  • 6. 6 JBoss 개요 – SOA SOA Redefined: Simple, Open, Affordable
  • 7. 7 JBoss 개요 – 제품군 JBoss 제품군은 오픈소스 기반의 SOA 플랫폼을 구축하기 위한 솔루션으로 구성되어 있으며, 오픈소스 개발 프로젝트를 통하여 지속적으로 추가 솔루션을 출시하고 있습니다. JBoss Solution Stack Processes Applications Web Services Portals Applications, Services, Business Processes ate To ache s AS s Ca ss on j BP s s Po ss ns ss Ru ss at os … e l rn g M o o l es o rta cti Tra Bo o mc ch rin JB JB JB JB Ap JB be + a J ste Hi Clu #1 #1 #1 JBoss Microkernel Multi-Vendor JVM, OS, Platform  기업환경 변화에 민첩하게 대응하기 위한 표준기반의 솔루션군으로 개발 및 구축 기간 및 비용 절감
  • 8. 8 JBoss 개요-Subscription 등급에 따른 기술지원 서비스 및 범위는 Platinum, Gold, Silver로 분류되며 지원 내역은 다음과 같습니다. Subscription 지원내역 Developer Developer Production Production JBoss 기술지원 Professional Enterprise Standard Premium 월요일 ~ 금요일 월요일 ~ 금요일 지원 시간 24x7 24x7 9 AM ~ 5 PM 9 AM ~ 5 PM 응답 시간 2일 4일 4 시간 1 시간 지원 방법 웹 / 전화 지원 웹 / 전화 지원 웹 / 전화 지원 웹 / 전화 지원 • JBoss Professional Support Engineer 는 모두 Java EE 전문가로 구성되어 있습니다. • Developer Subscriptions은 JBoss Enterprise Middleware 제품군, RHEL, RHEL을 제외한 다른 Red Hat 제품에 대한 지원을 합니다. • 지원 횟수에는 제한이 없습니다.
  • 9. 9 JBossAS JBoss Application Server는 업계 선도의 오픈소스 J2EE 어플리케이션 서버입니다. JBoss AS는 e-Business 어플리케이션 을 개발하고 배포하기 위한 고성능의 엔터프라이즈급 플랫폼을 제공하여, 견고하면서도 유연한 아키텍처와 오픈소스 소 프트웨어 라이센스를 결합시킴으로써, 개발와 ISV 그리고 기업 고객 모두에게 단기간내에 가장 선호받는 웹 어플리케이 션 미들웨어가 될 수 있었습니다. JBoss AS 구조  JBoss AS는 Single node/cluster 내에 서비스들을 임베드할 수 있음 • HTTP, DB Connection Pool, Transation Manager 등 • 서버내에 서로 다른 서비스들을 함께 통합 • 개발자를 위한 어플리케이션 프로그래밍 모델 제공 – Servlet 컴포넌트, EJB 컴포넌트 EJB Security Transaction Connection Containers Manager Manager Pools JBoss Microkernel Message Tomcat Servlet Connectors & Embedded Server Engine Invokers Databases
  • 10. 10 JBossAS – 시장 평가 JBoss AS는 2005년 12월 BZ Research 조사에 의하면 북미 WAS 시장 점유율 1위를 달리고 있으며, TCO 절감 차원에서 가 장 선호하는 솔루션으로 평가받고 있습니다. 북미 WAS 시장 점유율
  • 11. 11 JBossAS – Gartner 평가 JBoss AS는 2005년 4월, 2006년 8월 Gartner에서 발표한 ”Enterprise Application Server Magic Quadrant” 에서 2년 연속 leader group에 위치하고 있으며 회사 규모 및 제품 완성도 측면에서 시장 선도 제품으로 평가받고 있습니다. Gartner Magic Quadrant 2005 ~ 2006
  • 12. 12 JBossAS – 성능 평가 JBoss AS는 2006년 10월 세계 TOP 10 WAS 제품을 대상으로 테스트를 시행한 EDC (Evans Data Corp.)의 조사 결과를 보 면 상용 WAS 대비 우수한 성능을 제공하는 것으로 나타나 있습니다. 성능 비교
  • 13. 13 JBossAS – 성능 평가 중국 화웨이 (http://www.huawei.com/) 에서 실시한 벤치마크 자료
  • 14. 14 JBossAS – 기능 비교 JBoss AS는 북미 시장 점유율 1위를 차지하고 있는 제품으로 이미 제품 기능 및 성능에서 안전성을 인정받고 있습니다. 상용 WAS 대비 기능과 성능에 대한 비교는 다음과 같습니다. 기능 비교 기능 JEUS 5.0 WebLoigic 9.2 JBoss AS 4.0 Windows 2000/2003, HP-UX 11i, Windows NT/2000/2003, HP-UX AIX 5.2/5.3, SUSE 9/10, Red Hat 100% Pure Java 지원 OS 11.0, AIX 4.x/5L, Linux kernel 3.0/4.0, Solaris 8/9/10 Linux, Unix, Windows 2.4+ J2EE 인증 1.4 1.4 1.4 JDK 버전 1.3, 1.4, 5.0 5.0 1.4, 5.0 Servlet/JSP, EJB, JMS, JDBC Cluster 지원 component Servlet/JSP, EJB Servlet/JSP, EJB, JMS, POJO Connection Web, EJB 자동 failover Web, EJB 자동 failover Failover Web, EJB 자동 failover Database failover Database failover Apache 2.0.48+, IIS 5.0/6.0, 지원 웹서버 Apache, WebToB Apache, IIS, SunOne(limited) SunOne 6.0 SP1+ Excellent Feature 국산 Management Console Flexibility, Cost IDE WebInOne Studio, JBuilder Eclipse, JBuilder, JDeveloper Eclipse, JBuilder, JDeveloper AOP 3rd Party 3rd Party (AspectWerkz) JBoss AOP
  • 15. 15 JBossAS vs. Tomcat JBossAS는 JSP/Servlet 엔진으로 Tomcat을 이용하고 있으나, 기업 어플리케이션을 위한 EJB, JMS를 비롯한 모든 J2EE 기능 을 제공하고 있습니다. 또한 고가용성을 위한 다양한 클러스터링 기능을 지원하고 있습니다. 기능 비교 기능 설명 Tomcat JBoss AS Servlet/JSP JBoss는 Tomcat을 내장 O O JNDI Tomcat은 읽기 기능만을 제공 O (limited) O (clusterwide) Database Connection   Not built-in (using DBCP) O Pooling JTA Tomcat은 별도 제품을 통해 Transaction Service X O JMX   O O JMS Tomcat은 독립적인 3rd Party 제품과 연동해서 사용 X O EJB Tomcat은 독립적인 3rd Party 제품과 연동해서 사용 X O JAAS   X O JBoss는 farm 디렉토리에 component를 복사/ 삭제 Hot deploy O O (more simple, clusterwide) 할 때 클러스터의 모든 서버에 deploy / undeploy 됨 Clustering   O O (improved performance) Web Service Tomcat은 별도 라이브러리를 통해 Service 가능 Not built-in O
  • 16. 16 JBossAS - 구축사례 JBoss 서브스크립션 고객들은 JBoss AS 환경을 모니터링하고 관리하기 위해서 JBoss Operations Network (JBoss ON)에 접 근할 수 있습니다. JBoss ON은 고객이 어플리케이션을 디자인하고 개발하는 시점부터 그것을 테스트, 배포하는데 까지 고 객의 어플리케이션을 지속적으로 관리하고 모니터링 할 수 있도록 도와줍니다. JBoss AS 국내외 구축사례 해외 사례 국내 사례
  • 17. 17 Remoting – 개요 네트워크 기반 호출에 대한 단일 API 제공
  • 18. 18 Remoting – 개요 (계속)  고객  EJB 2.x – JBossAS 4.2 & 5.0  EJB 3  JBoss Messaging  JBossWS  JBoss ESB  기타 JBoss 외부 프로젝트
  • 19. 19 Remoting–예제(Client) String locatorURI = “socket://localhost:5400”; InvokerLocator locator = new InvokerLocator(locatorURI); Client remotingClient = new Client(locator); remotingClient.connect(); Object response = remotingClient.invoke(quot;Do somethingquot;); System.out.println(quot;Invocation response: quot; + response);
  • 20. 20 Remoting–예제(Server) String locatorURI = “socket://localhost:5400”; InvokerLocator locator = new InvokerLocator(locatorURI); Connector connector = new Connector(locator); connector.create(); SampleInvocationHandler invocationHandler = new SampleInvocationHandler(); connector.addInvocationHandler( quot;samplequot;, invocationHandler); connector.start();
  • 21. 21 Remoting–예제(Server) public class SampleInvocationHandler implements ServerInvocationHandler { public Object invoke(InvocationRequest invocation) { System.out.println( quot;Invocation request is: quot; + invocation.getParameter()); return “This is the response”; } public void addListener( InvokerCallbackHandler callbackHandler) { … } public void removeListener( InvokerCallbackHandler callbackHandler) { … } public void setMBeanServer(MBeanServer server) { … } public void setInvoker(ServerInvoker invoker) { … } }
  • 22. 22 Remoting – 메커니즘 Invoker Remoting Client Registry Client Client Marshaller Invoker Payload (transport) Invocation UnMarshaller
  • 23. 23 Remoting – 메커니즘 Invoker Remoting Client Registry Client Client Marshaller Invoker (transport) UnMarshaller
  • 24. 24 Remoting – 메커니즘 Invoker Remoting Client Registry Client Client Marshaller Invoker (transport) UnMarshaller
  • 25. 25 Remoting – 메커니즘 Invoker Remoting Client Registry Client Client Marshaller Invoker (transport) Socket UnMarshaller
  • 26. 26 Remoting – 메커니즘 Invoker Remoting Client Registry Client Client Marshaller Invoker (transport) Socket UnMarshaller
  • 27. 27 Remoting – 메커니즘 Invoker Remoting Client Registry Client Client Marshaller 10 Invoker 01 10 (transport) Socket UnMarshaller
  • 28. 28 Remoting – 메커니즘 Remoting Remoting Server Client Server Client Invocation UnMarshaller 10 Invoker Handler 01 10 (transport) Socket Marshaller
  • 29. 29 Remoting – 메커니즘 Remoting Remoting Server Client Server Client Invocation UnMarshaller Invoker Handler (transport) Socket Marshaller
  • 30. 30 Remoting – 메커니즘 Remoting Remoting Server Client Server Client Invocation UnMarshaller Invoker Handler (transport) Socket Marshaller
  • 31. 31 Remoting – 메커니즘 Remoting Remoting Server Client Server Client Invocation UnMarshaller Invoker Handler (transport) Socket Marshaller
  • 32. 32 Remoting – 메커니즘 Remoting Remoting Server Client Server Client Invocation UnMarshaller Invoker Handler (transport) Socket Marshaller
  • 33. 33 Remoting – 메커니즘 Remoting Remoting Server Client Server Client Invocation UnMarshaller Invoker Handler (transport) Socket 10 11 Marshaller
  • 34. 34 Remoting – 메커니즘 Invoker Remoting Client Registry Client Client Marshaller Invoker (transport) Socket 11 10 UnMarshaller
  • 35. 35 Remoting – 메커니즘 Invoker Remoting Client Registry Client Client Marshaller Invoker (transport) Socket UnMarshaller
  • 36. 36 Remoting – 메커니즘 Invoker Remoting Client Registry Client Client Marshaller Invoker (transport) UnMarshaller
  • 37. 37 Remoting – 메커니즘 Invoker Remoting Client Registry Client Client Marshaller Invoker (transport) UnMarshaller
  • 38. 38 Remoting – 메커니즘 Invoker Remoting Client Registry Client Client Marshaller Invoker Response (transport) UnMarshaller
  • 39. 39 Remoting – 기능  다양한 트랜스포트 지원 (+ SSL)  Socket / Bisocket  HTTP / Servlet  RMI  다양한 Marshaller  Serializing – Default & JBoss  Compressing  Encrypting
  • 40. 40 Remoting 3  Remoting 2의 차세대 버전 (rewrite)  Apache MINA 적극 활용  사용자 의견 취합중  단방향 메시징  스트리밍  Local transport  JCA 통합