JBoss Middleware 및 Remoting 프로젝트 소개

  • 2,377 views
Uploaded on

'Introduction to JBoss Middleware and Remoting project' - presented at Korea Open Source Conference, hosted by JCO (13 October 2007)

'Introduction to JBoss Middleware and Remoting project' - presented at Korea Open Source Conference, hosted by JCO (13 October 2007)

  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Be the first to comment
No Downloads

Views

Total Views
2,377
On Slideshare
0
From Embeds
0
Number of Embeds
1

Actions

Shares
Downloads
34
Comments
0
Likes
1

Embeds 0

No embeds

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
    No notes for slide

Transcript

  • 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 통합
  • 41. 41 Remoting 3
  • 42. http://labs.jboss.com/ Q&A