JBoss Middleware Red Hat, Inc. 2013 All Rights Reserved 0
Computing models: A bit of history 70 년대 80 년대 90 년대 00 년대 ( 전반 ) 00 년대 ( 후반 ) 2010 년대 메인프레임 DB/DC [IBM IMS] 데이터베이스분리시스템간트랜잭션 (transaction) 연계 TP 모니터 [ Tuxedo, ENCINA ] 다운사이징 통싞형태의패턴화 (RPC/ 비동기 ) 데이터베이스연계방식표준화 (XA) 웹서비스기술등장 다양한웹서비스표준정립서비스기반연계엔터프라이즈시스템통합 클라우드홖경과융합 오픈소스프레임워크확대 개발생산성향상 AP 서버의 Commodity 화 분산오브젝트 [RMI, CORBA] 프로그램통합표준통싞프로토콜시큐러티통합 Java 등장다양한웹기술 /XML 홗용표준 API/binary level compatibility 컴포넌트지향등장 Red Hat, Inc. 2013 All Rights Reserved 1
Red Hat, Inc. 2013 All Rights Reserved 2
Development Tools Management Tools JBoss Middleware MIDDLEWARE JBoss Developer Studio User Interaction Business Process Management JBoss Portal JBoss BRMS JBoss BPM Suite JBoss Operations Network Application Integration JBoss Fuse JBoss A-MQ JBoss Fuse Service Works Data Virtualization JBoss Data Virtualization Foundation JBoss EAP JBoss Web Server JBoss Data Grid Red Hat, Inc. 2013 All Rights Reserved 3
Middleware Stack Open Source Alternative 제품 Red Hat Oracle IBM 어플리케이션서버 JBoss EAP WebLogic Server WebSphere AS 포탈 JBoss Portal Platform Oracle WebCenter WebSphere Portal 데이터그리드 JBoss Data Grid Coherence WebSphere extreme Scale 서비스버스 Fuse Service Works JBoss Fuse Service Bus WebSphere ESB, Message Broker, Data Power 메세징서버 JBoss A-MQ Oracle AQ WebSphere MQ 데이터서비스 ( 가상 DB) JBoss Data Virtualization (Oracle Data Integration Suite) IBM InfoSphere Federation Server BPM JBoss BPM BPM Suite BPM 비즈니스룰엔진 JBoss BRMS (BRM) JRules(ILOG) 통합관리도구 JBoss ON Enterprise Manager Tivoli Red Hat, Inc. 2013 All Rights Reserved 4
Developer Tools JBoss Developer Studio JBOSS MIDDLEWARE Unified Interaction JBoss Portal Platform Business Process Management JBoss Business Rules Management System Service Virtualization/Integration JBoss Fuse, JBoss A-MQ, JBoss SOA Platform Data Virtualization/Integration JBoss Data Services Platform Management Tools JBoss Operations Network Application Server & Data Grid JBoss Enterprise Application Platform, JBoss Enterprise Web Server, JBoss Data Grid Private Cloud Red Hat Enterprise Linux Red Hat Enterprise Virtualization Public Cloud Red Hat OpenShift Enterprise Red Hat, Inc. 2013 All Rights Reserved 5
JBoss 비즈니스모델의특징 JBoss 매출 무료소프트웨어라이센스 JBoss 서브스크립션 ( 기술지원 ) 컨설팅서비스 / 교육서비스 핵심개발자는레드햇직원 제품로드맵결정 JBoss 의 120 여개이상프로젝트리딩 각프로젝트에대한유지 / 관리책임 투명한제품개발 JBoss 커뮤니티를통한제품개발 - http://wildfly.org/ 제품로드맵, 릴리스시점을커뮤니티에서실시갂공유 버그리포트, 버그트랙킹, 새로운기능요구등을공유 Red Hat, Inc. 2013 All Rights Reserved 6
JBoss 구축사례 GS 샵 - 스케일아웃용이한공개 SW 로고효율 스프린트 - 비즈니스중심 IT 기회를고갈시키는비싼미들웨어를공개 SW 로전홖 WebLogic CPU 1,000 개, WebSphere PVU 100,000 개를사용한 100 개이상을 JBoss EAP 로젂홖 연간 40 억원이상절감 미션크리티컬애플리케이션홖경표준화및현대화 공개 SW 중심의인프라구축 유닉스장비에서 X86 장비중심으로전홖 독점형미들웨어의과도한라이선스및유지관리비용을지불하는데지친 Sprint 는비용의획기적인절감과동시에회사의미션크리티컬한비즈니스애플리케이션에향상된유연성과민첩성을제공하는 Jboss 로전홖 정부통합전산센터 - 공개 S/W 비중 50% 늘린다. LG 전자 - 공개 SW 를홗용한 Multi Platform 구현 클라우드컴퓨팅 Web WAS JBoss EWS JBoss EAP 싞규시스템의 60% 이상이공개SW기반플랫폼으로구현 기존대비최소 37%, 최대 70% 의 Cost 절감 스마트전자정부 예산젃감 DBMS 가상화 OS ( 운영체계 ) Cubrid/Tibero/Altibas RedHat Virtualization Windows 2008 RedHat Linux 시스템의중요도와무관한고비용의 Platform 홗용 대형서버의과다비용발생 서버비용의역젂현상 ( 다수의중형서버 < 단일대형서버 ) 하드웨어 X86 서버 제조사기술에대한종속현상발생 Red Hat, Inc. 2013 All Rights Reserved 7
JBoss EAP6 Red Hat, Inc. 2013 All Rights Reserved 8
Days to Hours - 가상화를통한인스턴스확장 WAS 서버 - 기존방식의 WAS 확장 WAS VM - 가상화를통한 WAS 확장 싞규서버증설시벤더별엔지니어가작업 인프라별로사전에구성, 테스트, 표준화되고 자원추가, 변경및반홖시많은비용과리소스소요 최적화된가상화템플릿을통한확장 3 일이상 WAS 서버 WAS 서버 WAS VM Application WAS VM Application 30 분 3 시갂 (5 분 ) App 배포및구성 App 배포 30 분 Application Application JBoss Instance JBoss Instance 90 분 WAS 인스턴스구성 WAS 구성 90 분 JBoss Instance JBoss Instance JBoss JBoss JBoss 설치 2 시갂 JBoss JBoss Java Java 60 분 OS 및네트워크홖경구성 Java 설치 2 시갂 Java Java Linux Linux OS 설치 1 일 Linux Linux VM Template Pool 3 초 VM Thin Provisioning 하드웨어설치 1 일 WEB VM Template WAS VM Template Virtualization DB VM Template Network 구성 2 시갂 사젂최적화 Red Hat, Inc. 2013 All Rights Reserved 9
Enterprise Java Changing Landscape Enterprise Java Yesterday Enterprise Java Today & Tomorrow Red Hat, Inc. 2013 All Rights Reserved 10
애플리케이션라이프사이클 운영 / 테스트홖경개발지원홖경개발홖경 WAS VM WAS VM Maven repository management Developer Application Application JBoss Instance JBoss Instance Publish source JBoss Java JBoss Java Version Control Repository Eclipse plugin Linux Linux Gets last Release from trunk Local test server VM Template Pool WEB VM Template WAS VM Template Virtualization DB VM Template Continuous Integration Bug Tracking Publish last stable build Manually Test last stable release Testers QA Server Red Hat, Inc. 2013 All Rights Reserved 11
JBoss EAP6 주요컴포넌트 Native 컴포넌트 - APR API 를이용한 Native 커넥터 Web Connector - mod_jk, mod_cluster 등 Apache HTTP Server - 웹서버 JBoss Web Framework Kit 다양한오픈소스프레임워크지원 - RichFaces, Snowdrop, Hibernate, Errai, TorqueBox, Seam, Spring, Apache Struts, Google Web Toolkit, Arquillian JBoss EAP6 Subscription 범위 User Load Balancer Web Server Web Connector App Server Database Server 데이터베이스를제외한웹 /WAS 시스템에구축에필요한주요컴포넌트를 JBoss EAP6 서브스크립션으로지원 Apache Web Server Web Connector JBoss Web Framework JBoss EAP6 Native Library Red Hat, Inc. 2013 All Rights Reserved 12
JBoss EAP 6 Performance - Lightweight Container 클라우드운영홖경에서싞속한구성지원빠르고가벼운 WAS Red Hat, Inc. 2013 All Rights Reserved 13
JBoss EAP 6 Introduction : 집적도가높은마이크로인스턴스관리 50 초 고비용고사양 Unix 장비 기존 WAS 150M Scale Up 느린부팅시갂과많은메모리사용 부팅시많은시갂소요 Unix 장비중심 기존 WAS 기존 WAS WAS 관리작업시많은시갂소요 Unix 장비 - 고비용고사양장비 Java EE 스펙지원에필요한모든클래스로딩 기존 WAS 기존 WAS 4 개인스턴스 / Rolling Restart 시 3 분 33 초 4 초 30M Commodity X86 장비 Scale Out 초경량 / 초고속어플리케이션서버 몇십메가 / 몇십초 GC 횟수감소에의한성능향상 빠른시작 / 정지 마이크로인스턴스관리./ 리소스사용효율화 Blade 급서버추가 단일파일설정으로맞춤형프로파일작성 X86 장비중심 20 개인스턴스 / Rolling Restart 시 1 분 33 초 Red Hat, Inc. 2013 All Rights Reserved 14
JBoss EAP 6 Introduction : 혁싞적인 WAS 관리방앆 WAS 관리의현실 System 관리자와 WAS 관리자분리의어려움 System ID/PWD 를 WAS 관리자에게노출 Machine #1 Machine #2 Machine #3 Machine #N 수작업에의한 Configuration 관리 WAS 1-1 WAS 2-1 WAS 3-1 WAS N-1 Groupware Human Error WAS 1-2 WAS 1-3 CRM WAS 2-2 WAS 2-3 WAS 3-2 WAS 3-3 SCM WAS N-2 WAS N-3 Account HR 로그파일분산 서버홖경동기화의어려움 동일작업을 N 번반복 WAS 1-4 WAS 2-4 WAS 3-4 WAS N-4 ERP 현대화된 WAS 관리방앆 CLI Web Console Server-Group #1 stop/start Server-Group #1 hq.war deploy Server-Group #2 restart REST API 중앙에서서버관리일원화 서버그룹단위관리 서버그룹단위의 start /stop 서버그룹단위의 Application 배포 통합모니터링 Machine #1 Machine #2 Machine #3 Machine #N Shell 이아닌웹콘솔이나 CLI 도구를통한관리 Domain CTL Domain CTL Domain CTL Domain CTL WAS 1-1 WAS 1-2 WAS 1-3 WAS 1-4 Server Group #1 WAS 2-1 WAS 2-2 WAS 2-3 WAS 2-4 WAS 3-1 WAS 3-2 WAS 3-3 WAS 3-4 Server Group #6 WAS N-1 WAS N-2 WAS N-3 WAS N-4 Server Group #2 Server Group #5 Server Group #3 Server Group #4 WAS 내부구조를노출하지않음 외부도구를위한 RESTful API 제공 다양한도구를통하여 WAS 관리자동화 클라우드홖경에맞는구성관리 통합된설정정보들 Red Hat, Inc. 2013 All Rights Reserved 15
JBoss AS7 JBoss AS7 소개서 ( 번역서 ) Red Hat, Inc. 2013 All Rights Reserved 16
JBoss AS7 Java EE 개발가이드 ( 번역서 ) Red Hat, Inc. 2013 All Rights Reserved 17
JBoss EAP 6 ( AS7) 실무운영지침서 Red Hat, Inc. 2013 All Rights Reserved 18
JBoss Data Grid Red Hat, Inc. 2013 All Rights Reserved 19
What is a Data Grid In memory storage engines Distributed across a cluster providing networked memory Pacemakers to databases Provide simple key,value storage Linear scalability and elasticity due to distributed a lgorithms Red Hat, Inc. 2013 All Rights Reserved 20
NO SQL Data Model Takes care of data-scaling Distributed by nature (mostly) Can scale up-to thousands of nodes Complements SQL not replacing it Key / Value Column Document { } name : uri, ssn : 213445, hobbies :[, ], : { : : } { } { } {... } {... } Red Hat, Inc. 2013 All Rights Reserved 21
Evolving DB Landscape the NoSQL databases, designed to meet the scalability requirements of distributed architectures, and/or schemaless data management requirements, the NewSQL databases designed to meet the requirements of distributed architectures or to improve performance such that horizontal scalability is no longer needed the Data grid/cache products designed to store data in memory to increase application and database performance Data grid/cache products designed to store data in memory to increase application and database performance, covering a spectrum of data management capabilities from non-persistent data caching to persistent caching, replication, and distributed data and compute grid functionality Matthew Aslett, senior analyst at the 451 group Source : NoSQL, NewSQL and Beyond: The answer to SPRAINed relational databases Red Hat, Inc. 2013 All Rights Reserved 22
운영현황 커스텀으로개발된노드간데이터동기화구조 구현방법 Hashmap 을이용하여 LocalCache 형태로구션 코딩을통한 Data 동기화 Data Cleansing 을위한별도의 Batch 작업을수행중임 단말기으 Firmware update 를위한세션정보를보관 노드갂동기화를위한방법으로 JGroups Framework 을사용중임 Firmware update 를위한사이즈는?kbyte ~?mb bye 이나평균 12k 정도임 개발측면이슈 노드갂동기화 /expiration Rule/cleansing 등을코드로구현 변경관리및해당분야의젂문적인지식을갖기어려움 운영측면이슈 노드들에대한효율적인메모리관리 사용현황에대한모니터링이어려움 장애원인파악이어려움 노드의수가증가할수록성능의저하발생 젂체노드에대한데이터동기화이슈존재 JGroups 현재구현홖경 Red Hat, Inc. 2013 All Rights Reserved 23
Datagrid for Service Platform 서비스플랫폼을위한다양한데이터그리드적용케이스 Restful SOA Datagrid Architecture Caching for Service Data, Session Data, Database Data 비용효율적인확장성제공 JQuery Ajax Service Application Service Manager Rest API Session Status Database Access Service Manager Content Cache Session Cache Data Cache Datagrid Cluster User Tier Application and Caching Tier Database Tier Red Hat, Inc. 2013 All Rights Reserved 24
데이터베이스의성능종속성탈피방앆 사용자응답속도와서비스품질보장방앆 데이터베이스이슈 고가의데이터베이스시스템에성능이나장애로부터어플리케이션서버를분리하여고앆정성을보장을할수있는방앆은? 고가의데이터베이스확장에대한비용부담으로부터저비용고효율시스템아키텍처로젂홖하려는요구는? 스케일아웃형이슈 DB 병목 DB 성능과응답시간 예측가능한확장 데이터베이스의 DB I/O 증가에따른 데이터베이스의성 데이터양의증가나 스케일아웃구조로 성능감소 능에영향없이일정 사용자증가에따른 인한비용부담 DB 라이선스비용 불필요한중복쿼리발생 한서비스응답속도를보장방앆있는가? 예측가능한확장성확보방앆이있는가? 오래걸리는쿼리 DB 성능에따라전체서비스의응답속도와장애가발생되는가? Red Hat, Inc. 2013 All Rights Reserved 25
Cache 적용방앆과이슈 No Cache 지연시간 Read 지연시간 Read Local Cache 지연시간 Read A A B C D A A B C D A B C D Application Application Cache WAS Cache Consistency Issue Distributed Cache Step1 : UPDATE SET... A A Application Step2 : put() WAS #1 A B C Cache D 캐쉬불일치 (Incoherent) DB 와불일치 (Inconsistency) A 지연시간 Read DataGrid #1 A C DataGrid #2 B D A Application WAS #2 A B C Cache D A B C D Application WAS DataGrid #3 C B DataGrid #4 D A A B C D Red Hat, Inc. 2013 All Rights Reserved 26
분산데이터그리드를통한 DB 부하절감 - 콘텐트 DB 병목.. 최다조회뉴스실시갂급상승뉴스최다코멘트뉴스추천뉴스포토뉴스분야별주요뉴스가장많이본뉴스 사용자증가에따른데이터베이스의부하증가 페이지의동적인정보는모두데이터베이스로쿼리 기존어플리케이션을수정하지않고메모리캐쉬적용요구 효율적인투자모델및계획요구 데이터그리드기반의쿼리오프로드.. 최다조회뉴스실시갂급상승뉴스최다코멘트뉴스추천뉴스포토뉴스분야별주요뉴스가장많이본뉴스 DataGrid #1 A C DataGrid #2 B D DataGrid #3 C B DataGrid #4 D A 5초단위로데이터베이스요청감소 캐쉬 Flush를통한데이터베이스와자동동기화 캐쉬에대한로컬 / 분산 / 하이브리드형태의다양한저장구조확보 손쉬운캐쉬적용 Red Hat, Inc. 2013 All Rights Reserved 27
데이터그리드를통한 GeoLocation 서비스 - DB 부하절감 DB 기반 GeoLocation 정보 Datagrid 기반 GeoLocation 정보 GeoLocation 은웹브라우저 / TV/ 모바일디바이스에서접속시 IP 정보를통해접속위치를파악하여서비스가능여부를파악 TV 나모바일디바이스의경우페이지요청시마다데이터베이스에 GeoLocation 을요청하여불필요한부하발생 Service Platform GeoLocation table GeoLocation table Service Platform JBoss DataGrid 데이터그리드에조건을주어지역별서비스가능여부를파악 매일오젂에 GeoLocation 테이블로부터데이터그리드로 GeoLocation 정보를업데이트 불필요한 DB 부하제거 Red Hat, Inc. 2013 All Rights Reserved 28
WAS 클러스터링이슈 WAS 고가용성실현을위한방앆수립 현재 WAS 에서제공하는세션클러스터링으로는해결이어렵다. 과도한세션사용으로긴 GC 시간과 OOM 장애발생 WAS 작업시세션데이터동기화와복제에따른부하발생 어플리케이션간세션공유를통한싱글로그온구현 중복로그인방지나강제로그아웃등세션을통한보앆강화 Real Voice Red Hat, Inc. 2013 All Rights Reserved 29
세션클러스터링구성방식별차이점 WAS 간구성세션서버구성세션데이터그리드구성 WEB WEB WEB WEB WEB WEB WEB WEB WEB WEB WEB WEB Session Clustering WAS WAS WAS WAS 백업 WAS WAS Session Clustering WAS 세션서버 WAS WAS WAS WAS Session Clustering WAS 데이터그리드 항목 WAS 내장세션관리별도세션관리서버데이터그리드기반세션관리 구현방법 세션데이터별 Primary/Backup 인스턴스를지정하여공유 별도의세션서버운영 데이터그리드에세션정보를저장하여운영 장점 별도의서버와인프라없이가능 인스턴스갂어플리케이션갂세션공유설정이용이 인스턴스와어플리케이션갂세션공유용이 Elasitc 확장성과앆정성부장 단점 세션데이터의백업및동기화이슈 WAS 인스턴스장애와함께세션복제의이슈가발생 단일장애지점과별도의서버구성에따른비용 제한적인앆정성 낮은성능 별도의서버구성으로인한비용발생 관리포인트증가 메모리기반고성능 제품 Weblogic WebSphere JEUS JBoss EAP ( JBoss Data Grid) Datagrid*Web Red Hat, Inc. 2013 All Rights Reserved 30
JBoss Data Grid6 제품비교 vs. WAS 클러스터링 Data Grid vs. WAS Session Clustering 항목 WAS 세션클러스터링데이터그리드기반세션클러스터링 아키텍처 WEB WEB WEB WEB WAS WAS WAS WAS WEB WEB WEB WEB WAS WAS WAS WAS 데이터그리드 Session Clustering 앆정성 성능 해당인스턴스와다른인스턴스에세션데이터를복제하고동기화하여관리 과도한세션사용시 OOM 메모리장애발생 세션데이터에의한 GC 가장시갂발생 WAS 인스턴스관리세션복제와동기화에따른성능이슈 확장성 WAS 인스턴스확장 세션관리 WAS 인스턴스재시작시세션동기화와복제 어플리케이션배포시세션동기화와복제 어플리케이션별세션정보관리 세션데이터를데이터그리드에저장하고공유하기때문에거래가증가되어도가용성을유지한채앆정적으로분산관리 가능 WAS 노드장애시상호공유된세션정보를통해세션유실방지 세션복제나동기화과정이생략되어싞속한 WAS 관리작업이가능 어플리케이션메모리와세션메모리를분리하여예측가능한확장성보장 WAS 인스턴스재시작시세션복제작업제거 어플리케이션재배포시세션복제작업제거 복수의어플리케이션갂세션정보공유 Red Hat, Inc. 2013 All Rights Reserved 31
JBoss Data Grid ( Infinispan) Infinispan 개념및소개 ( 번역서 ) Red Hat, Inc. 2013 All Rights Reserved 32
JBoss Fuse Service Works Red Hat, Inc. 2013 All Rights Reserved 33
Distributed Cache Enterprise Complexity Online Applications Web Store Financial and Business Data Sources External Interfaces io S Data Virtualization Data Integration Mediate Route Transform Connect Financial Applications Billing Messaging / Integration Business Services Fulfillment, Shipping Field devices, sensors, embedded devices. Stores / Distributors CRM / Data Customer Support Red Hat, Inc. 2013 All Rights Reserved 34
Why the name Camel? a Camel can carry 4 times the load of other beasts of burden a Camel can travel for great distances without water; similarly a Camel does not require bucket loads of XML as you can use a pure Java DSL Concise Application Messaging Exchange Language Apache Camel is a powerful Open Source Integration Framework based on known Enterprise Integration Patterns http://camel.apache.org/why-the-name-camel.html Red Hat, Inc. 2013 All Rights Reserved 35
What is Apache Camel Summary Integration framework System A Enterprise Integration Patterns (EIP) DSL을이용한 Integration 표현 손쉬운구성 (endpoints as URIs) 메시지채널, Endpoint No heavy specification Light Weight - Any 컨테이너 거의모든자바기반컨테이너에배포 100+ Camel 컴포넌트, 타입변홖 System B The Swiss army knife of Open source integration Red Hat, Inc. 2013 All Rights Reserved 36
Code 로 Camel 이해하기 File 복사 순수자바코드로작성 Java DSL 로작성 Red Hat, Inc. 2013 All Rights Reserved 37
Code 로 Camel 이해하기 복잡한 File 복사요건들 그런데, 보통은좀더요건이복잡 1분마다파일이있는지체크하는것 날짜로파일명만들기.doc 로확장자가붙은파일은무시하기 동일한파일명이있는경우는무시하는것 서브폴더도검색 복사가아니고이동으로변경하고백업도수행 등등. Red Hat, Inc. 2013 All Rights Reserved 38
Apache Camel - File Component The File component provides access to file systems, allowing files to be processed by any other Camel Components or messages from other components to be saved to disk. 확장명이.doc 인파일은무시 1 분마다파일유부확인.done 폴더에백업 public class FileToFileRoute extends RouteBuilder { @Override public void configure() throws Exception { from( file:data/inbox?delay=60000 & exclude=*.doc$ & move=.done & noop=false& idempotent=true & recursive=true"). to("file:data/outbox?filename=${date:now:yyyy-mm-dd}_${file:name}"); }} 복사가아닌파일옮기기 동일한파일명이있는경우는무시 출력파일명에는일자를부여 서브폴더도검색 Red Hat, Inc. 2013 All Rights Reserved 39
Apache Camel Camel provides an embedded DSL (in Java & Spring) for implementing enterprise integration patterns The DSL uses URIs to define endpoints which are combined by form integration flows Order Entry Order Messages Content Based Router Widget Inventory Gadget Inventory from("activemq:topic:quotes ).filter().xpath("/quote/product = widget ).to("mqseries:widgetquotes").filter().xpath("/quote/product = gadget ).to("mqseries:gadgetquotes"); Red Hat, Inc. 2013 All Rights Reserved 40
DSL (Domain Specific Language) 을이용한 Integration 표현 (1) Enterprise Integration Pattern - Content Based Router Content Based Router XML DSL Content Based Router Java DSL <camelcontext> <route> <from uri="activemq:neworders"/> <choice> <when> <xpath>/order/product = 'widget'</xpath> <to uri="activemq:orders.widgets"/> </when> <otherwise> <to uri="activemq:orders.gadgets"/> </otherwise> </choice> </route> </camelcontext> from("activemq:neworders").choice().when().xpath("/order/product = 'widget'").to("activemq:orders.widget").otherwise().to("activemq:orders.gadget"); Red Hat, Inc. 2013 All Rights Reserved 41
DSL (Domain Specific Language) 을이용한 Integration 표현 (2) Enterprise Integration Pattern - Content Based Router Endpoints - File Endpoints - parameters Use file instead parameters from("file:inbox/orders").choice().when().xpath("/order/product = 'widget'").to("activemq:orders.widget").otherwise().to("activemq:orders.gadget"); from("file:inbox/orders?delete=true").choice().when().xpath("/order/product = 'widget'").to("activemq:orders.widget").otherwise().to("activemq:orders.gadget"); Red Hat, Inc. 2013 All Rights Reserved 42
Camel Patterns Messaging Channels System Management Message Channel Request-Reply Guaranteed Delivery Wire Tap Message Store Control Bus Data Type Channel Publish-Subscribe Channel Adapter Message Translation Invalid Message Channel Dead Letter Channel Messaging Bridge Messaging Endpoints Message Construction Message Routing Message Translator Message Endpoint Event-Driven Consumer Return Address Message Router Message Aggregator Envelope Wrapper Messaging Gateway Competing Consumers Message Sequence Message Filter Resequencer Content Filter Messaging Bridge Message Dispatcher Recipient List Composed Msg Proc Content Enricher Polling Consumer Service Activator Message Splitter Routing Slip Normalizer http://camel.apache.org/enterprise-integration-patterns.html Red Hat, Inc. 2013 All Rights Reserved 43
미국연방항공청 (Federal Aviation Administration, FAA) Real-Time Weather Tracking, Big Data, and Camel Conversion of a legacy system to a modern SOA-based system utilizing FuseSource. Real-time weather events distributed from sensor to external users in less than 1 second (average). Compressed data stream is approximately 1 Megabit per second, streaming constantly (approximately 9 Gigabytes per day). Data is processed and distributed by an ActiveMQ broker network. Very high throughput with ActiveMQ. All data is stored permanently. All data is accessible through HBase FAA s SWIM (System Wide Information Management) Program FAA s ITWS (Integrated Terminal Weather System) Program Red Hat, Inc. 2013 All Rights Reserved 44
SWIM ITWS weather feed and store it in Hbase Tables Integration Solution # 1 JMSTopic STOMP ActiveMQ Thrift Adapter THRIFT HBase Tables Integration Solution # 2 External Wx Feed Camel AHC Endpoint ActiveMQ Thrift Adapter Camel AHC Endpoint HBase Tables JMS Topic Integration Solution # 3 Camel JMS Endpoint Camel HDFS Adapter Camel HDFS Endpoint HBase Tables Read the data from Hbase Tables and display it on Google Maps public class ServerRoutes extends RouteBuilder { Integration Solution # 3 - Code @Override public void configure() throws Exception { from("jms:topic:foo.zip.out").unmarshal().zip().to("hdfs://ip-address/output?splitstrategy=messages:1&replication=3").to("log:camel"); } } Red Hat, Inc. 2013 All Rights Reserved 45
Distributed Cache Enterprise Complexity Online Applications Web Store Financial and Business Data Sources External Interfaces io S Data Virtualization Data Integration Mediate Route Transform Connect Financial Applications Billing Messaging / Integration Business Services Fulfillment, Shipping Field devices, sensors, embedded devices. Stores / Distributors CRM / Data Customer Support Red Hat, Inc. 2013 All Rights Reserved 46
JBoss BRMS (Drools ) 비즈니스룰샘플 ( 번역서 ) Red Hat, Inc. 2013 All Rights Reserved 47
Red Hat, Inc. 2013 All Rights Reserved 48
Presenter Title Date TITLE SLIDE: HEADLINE Red Hat, Inc. 2013 All Rights Reserved 49