Sales Performance Improvement Framework - RockPLACE

Transcription

JBossMiddlewareRed Hat, Inc. 2013 All Rights Reserved 0

Computing models: A bit of history 70년대80년대90년대메인프레임 DB/DC00년대(전반)[IBM IMS]00년대(후반)2010년대웹서비스 기술 등장데이터베이스 분리시스템간 트랜잭션(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

JBoss MiddlewareMIDDLEWARE JBoss PortalBusiness ProcessManagement JBoss BRMS JBoss BPM SuiteApplicationIntegration JBoss Fuse JBoss A-MQ JBoss Fuse Service WorksData Virtualization JBoss Data VirtualizationFoundation JBoss EAP JBoss Web Server JBoss Data Grid JBossOperationsNetworkManagement ToolsDevelopment Tools JBossDeveloperStudioUser InteractionRed Hat, Inc. 2013 All Rights Reserved 3

Middleware Stack – Open Source Alternative제품Red HatOracleIBM어플리케이션 서버JBoss EAPWebLogic ServerWebSphere AS포탈JBoss Portal Platform Oracle WebCenterWebSphere Portal데이터그리드JBoss Data GridCoherenceWebSphere eXtremeScale서비스 버스Fuse Service WorksJBoss FuseService BusWebSphere ESB,Message Broker,Data Power메세징서버JBoss A-MQOracle AQWebSphere MQ데이터서비스(가상DB)JBoss DataVirtualization(Oracle DataIntegration Suite)IBM InfoSphereFederation ServerBPMJBoss BPMBPM SuiteBPM비즈니스 룰엔진JBoss BRMS(BRM)JRules(ILOG)통합 관리 도구JBoss ONEnterprise ManagerTivoliRed Hat, Inc. 2013 All Rights Reserved 4

JBOSS MIDDLEWAREUnified InteractionBusiness Process ManagementManagement ToolsJBoss Operations NetworkDeveloper ToolsJBoss Developer StudioJBoss Portal PlatformJBoss Business Rules Management SystemService Virtualization/IntegrationJBoss Fuse, JBoss A-MQ , JBoss SOA PlatformData Virtualization/IntegrationJBoss Data Services PlatformApplication Server & Data GridJBoss Enterprise Application Platform, JBoss Enterprise Web Server, JBoss Data GridPrivate CloudRed Hat Enterprise LinuxRed Hat Enterprise VirtualizationPublic CloudRed Hat OpenShift EnterpriseRed 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개, WebSpherePVU 100,000개를 사용한 100개 이상을 JBoss EAP로 젂홖 연간 40 억원 이상 절감 미션 크리티컬 애플리케이션 홖경표준화및 현대화 공개 SW 중심의 인프라 구축 유닉스 장비에서 X86 장비 중심으로 전홖정부통합전산센터 - “공개S/W비중 50% ��부예산젃감독점형 미들웨어의 과도한 라이선스 및 유지 관리 비용을 지불하는 데 지친Sprint는 비용의 획기적인 절감과 동시에 회사의 미션크리티컬한 비즈니스애플리케이션에 향상된 유연성과 민첩성을 제공하는 Jboss 로 전홖LG전자 - 공개 SW를 홗용한 Multi Platform 구현WebJBoss EWSWASJBoss EAPDBMSCubrid/Tibero/Altibas 시스템의 중요도와 무관한 고비용의 Platform 홗용가상화RedHat Virtualization 대형서버의 과다 비용 발생OS ( 운영체계)하드웨어 싞규시스템의 60% 이상이 공개SW기반 플랫폼으로 구현 기존 대비 최소 37%, 최대 70%의 Cost 절감 서버비용의 역젂현상Windows 2008RedHat LinuxX86 서버(다수의 중형 서버 단일 대형 서버) 제조사 기술에 대한 종속현상 발생Red Hat, Inc. 2013 All Rights Reserved 7

JBoss EAP6Red Hat, Inc. 2013 All Rights Reserved 8

Days to Hours - 가상화를 통한 인스턴스 확장WAS VM - 가상화를 통한 WAS 확장WAS 서버 - 기존 방식의 WAS 확장 싞규 서버 증설 시 벤더 별 엔지니어가 작업 자원 추가, 변경 및 반홖 시 많은 비용과 리소스 소요3일 이상 인프라 별로 사전에 구성, 테스트, 표준화되고최적화된 가상화 템플릿을 통한 확장WAS VMWAS VMWAS 서버WAS 서버ApplicationApplication App 배포30 분ApplicationApplicationJBoss InstanceJBoss Instance WAS구성90 분JBoss InstanceJBoss InstanceJBossJBoss JBoss설치2시갂JBossJBossJavaJava Java설치2시갂JavaJavaLinuxLinux OS 설치1일LinuxLinux 하드웨어설치1일 Network구성2시갂3시갂(5분)30분90분 WAS 인스턴스구성60분 OS 및 네트워크홖경 구성3초VM Template PoolWEB VMTemplateWAS VMTemplate App 배포 및구성 VM ThinProvisioningDB VMTemplateVirtualization사젂 최적화Red Hat, Inc. 2013 All Rights Reserved 9

Enterprise Java – Changing LandscapeEnterprise Java YesterdayEnterprise Java Today & TomorrowRed Hat, Inc. 2013 All Rights Reserved 10

애플리케이션 라이프 사이클개발 지원 홖경운영 / 테스트 홖경WAS VMWAS VMApplicationApplicationJBoss InstanceJBoss InstanceJBossJBossJavaJavaLinuxLinuxVM Template PoolWEB VMTemplate개발 홖경DeveloperMaven repositorymanagementPublish sourceVersion ControlRepositoryEclipse pluginLocal test serverGets lastRelease from trunkBug TrackingWAS VMTemplateVirtualizationDB VMTemplateContinuousIntegrationPublish last stablebuildTestersManually Test laststable releaseQA ServerRed 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, ArquillianJBoss EAP6 Subscription 범위UserLoadBalancer데이터베이스를 제외한웹/WAS 시스템에 구축에필요한 주요 컴포넌트를JBoss EAP6 rAppServerDatabaseServerJBoss WebFrameworkApacheWeb ServerWebConnectorJBoss EAP6Native LibraryRed Hat, Inc. 2013 All Rights Reserved 12

JBoss EAP 6 Performance - Lightweight Container클라우드 운영 홖경에서 싞속한 구성 지원빠르고 가벼운 WASRed Hat, Inc. 2013 All Rights Reserved 13

JBoss EAP 6 Introduction : 집적도가 높은 마이크로 인스턴스 관리50 초고비용 고사양 Unix 장비150M기존 WAS기존 WAS기존 WASUnix 장비 중심 Scale Up 느린 부팅 시갂과 많은 메모리 사용 부팅 시 많은 시갂 소요 WAS 관리 작업 시 많은 시갂 소요 Unix 장비 - 고비용 고사양 장비 Java EE 스펙 지원에 필요한 모든 클래스 로딩기존 WAS기존 WAS4개 인스턴스 / Rolling Restart 시 3분 33초Commodity X86 장비4초30M 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 관리자에게 노출 수작업에 의한 Configuration 관리Machine #1Machine #2Machine #3Machine #NWAS 1-1WAS 2-1WAS 3-1WAS N-1GroupwareWAS 2-2WAS 3-2WAS N-2AccountWAS 1-3WAS 2-3WAS 3-3WAS N-3HRWAS 1-4WAS 2-4WAS 3-4WAS N-4ERPWAS 1-2CRMSCM Human Error 로그 파일 분산 서버 홖경 동기화의 어려움 동일 작업을 N 번 반복현대화된 WAS 관리 방앆CLIWeb Console 중앙에서 서버 관리 일원화REST APIServer-Group #1 stop/startServer-Group #1 hq.war deployServer-Group #2 restartMachine #1Machine #2Machine #3Machine #NDomain CTLDomain CTLDomain CTLDomain CTLWAS 2-1WAS 3-1WAS 2-2WAS 3-2WAS 1-3WAS 2-3WAS 3-3WAS N-3WAS 1-4WAS 2-4WAS 3-4WAS N-4WAS 1-1WAS 1-2ServerGroup #1WAS N-1ServerGroup #6WAS N-2 서버 그룹 단위 관리 서버 그룹 단위의 start /stop 서버 그룹 단위의 Application 배포 통합 모니터링 Shell 이 아닌 웹콘솔이나 CLI 도구를 통한 관리 ServerGroup #2ServerGroup #5ServerGroup #3ServerGroup #4WAS 내부 구조를 노출하지 않음 외부 도구를 위한 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 GridRed Hat, Inc. 2013 All Rights Reserved 19

What is a Data GridIn memory storage enginesDistributed across a cluster providing “networked memory”Pacemakers to databasesProvide simplekey,value storageLinear scalability andlgorithmselasticitydue to distributed aRed 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 itKey / :”213445”,“hobbies”:[” ”,“ ”],“ ”: {“ ”:” ”“ ”:” ”}}{{ . }}{{ . }}Red Hat, Inc. 2013 All Rights Reserved 21

Evolving DB Landscape the NoSQL databases, designed to meet the scalability requirements ofdistributed architectures, and/or schemaless data management requirements, the NewSQL databases designed to meet the requirements of distributedarchitectures or to improve performance such that horizontal scalability is nolonger needed the Data grid/cache products designed to store data in memory to increaseapplication and database performanceData grid/cache products designed to store data inmemory to increaseapplication and database performance, covering aspectrum of data managementcapabilities from non-persistent data caching topersistent caching,replication, and distributed data and compute gridfunctionality– Matthew Aslett,senior analyst at the 451 groupSource : NoSQL, NewSQL and Beyond: The answer toSPRAINed relational databasesRed 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 비용 효율적인 확장성 제공JQueryAjaxService aCacheDatagrid ClusterUserTierApplication and CachingTierDatabaseTierRed Hat, Inc. 2013 All Rights Reserved 24

데이터베이스의 성능 종속성 탈피 방앆사용자 응답 속도와 서비스 품질 보장 방앆 – 데이터베이스이슈 고가의 데이터베이스 시스템에 성능이나 장애로부터 어플리케이션 서버를 분리하여 고 앆정성을 보장을 할 수 있는방앆은? 고가의 데이터베이스 확장에 대한 비용 부담으로 부터 저비용고효율 시스템 아키텍처로 젂홖하려는 요구는 ?스케일아웃형 이슈 데이터베이스의스케일아웃 구조로인한 비용 부담 DB 라이선스 비용DB 병목 DB I/O 증가에 따른성능 감소 불필요한 중복 쿼리발생DB 성능과 응답시간예측 가능한 확장 데이터베이스의 성 데이터 양의 증가나능에 영향 없이 일정사용자 증가에 따른한 서비스 응답 속도예측 가능한 확장성를 보장 방앆 있는가?확보 방앆이 있는가? 오래 걸리는 쿼리DB 성능에 따라 전체 서비스의 응답속도와 장애가 발생되는가?Red Hat, Inc. 2013 All Rights Reserved 25

Cache 적용 방앆과 이슈No CacheLocal tributed CacheCache Consistency IssueStep1 : UPDATE SET .‟A” 지연시간AStep2 : put()A’BDCDataGrid #1ACacheApplicationABCDataGrid #2BDDataGrid #3DApplicationCCacheApplicationADB와 불일치(Inconsistency)WAS #1ARead캐쉬 불일치(Incoherent)CDA’BCWASBADBCDataGrid #4DAWAS #2Red Hat, Inc. 2013 All Rights Reserved 26

분산 데이터그리드를 통한 DB 부하 절감 - 콘텐트DB 병목최다조회뉴스 사용자 증가에 따른 데이터베이스의 부하 증가실시갂 급상승 뉴스 페이지의 동적인 정보는 모두 데이터베이스로쿼리최다 코멘트 뉴스 기존 어플리케이션을 수정하지 않고 메모리 캐쉬추천 뉴스적용 요구포토 뉴스 . 효율적인 투자 모델 및 계획 요구분야별 주요 뉴스가장 많이 본 뉴스데이터그리드 기반의 쿼리 오프로드최다조회뉴스실시갂 급상승 뉴스최다 코멘트 뉴스추천 뉴스포토 뉴스 .분야별 주요 뉴스가장 많이 본 뉴스 5초 단위로 데이터베이스 요청 감소DataGrid #1ACDataGrid #2BD 캐쉬 Flush를 통한 데이터 베이스와 자동 동기화 캐쉬에 대한 로컬/분산/하이브리드형태의 다양한 저장 구조 확보 손쉬운 캐쉬 적용DataGrid #3CBDataGrid #4DARed Hat, Inc. 2013 All Rights Reserved 27

데이터그리드를 통한 GeoLocation 서비스 - DB 부하 절감DB 기반 GeoLocation 정보GeoLocation은 웹브라우저/ TV/ 모바일 디바이스에서 접속 시 IP 정보를 통해 접속 위치를파악하여 서비스 가능여부를 파악Datagrid 기반 GeoLocation 정보데이터그리드에 조건을 주어 지역별 서비스 가능 여부를 파악Service PlatformService PlatformTV 나 모바일 디바이스의 경우 페이지 요청 시마다 데이터베이스에GeoLocation을 요청하여 불필요한 부하 발생매일 오젂에 GeoLocation 테이블로 부터 데이터그리드로GeoLocation 정보를 업데이트JBoss DataGridGeoLocation tableGeoLocation table불필요한 DB 부하 제거Red Hat, Inc. 2013 All Rights Reserved 28

WAS 클러스터링 이슈WAS 고가용성 실현을 위한 방앆 수립현재 WAS에서 제공하는 세션 클러스터링으로는 해결이 어렵다.과도한 세션 사용으로긴 GC 시간과OOM 장애 발생WAS 작업 시 세션데이터 동기화와 복제에 따른 부하 발생어플리케이션간 세션 공유를 통한 싱글로그온 구현중복로그인 방지나강제 로그아웃 등 세션을 통한 보앆 강화Real VoiceRed Hat, Inc. 2013 All Rights Reserved 29

세션 클러스터링 구성 방식 별 차이점WAS 간 구성WEBWASWEBWEBSession ClusteringWASWAS항목세션 서버 구성WEBWASWEBWEBWEBWEBWASWASWASWAS백업WAS 내장 세션 관리세션 데이터그리드 구성WEBWEBWEBWEBWASWASWASWAS세션서버Session Clustering별도 세션 관리 서버데이터그리드 기반 세션 관리SessionClustering데이터그리드구현 방법 세션데이터별Primary/Backup인스턴스를 지정하여 공유 별도의 세션 서버 운영 데이터그리드에 세션 정보를저장하여 운영장점 별도의 서버와 인프라 없이가능 인스턴스갂 어플리케이션갂세션 공유 설정이 용이 인스턴스와 어플리케이션 갂세션 공유 용이 Elasitc 확장성과 앆정성 부장단점 세션데이터의 백업 및동기화 이슈 WAS 인스턴스 장애와 함께세션 복제의 이슈가 발생 단일 장애 지점과 별도의 서버구성에 따른 비용 제한적인 앆정성 낮은 성능 별도의 서버 구성으로 인한 비용발생 관리 포인트 증가 메모리 기반 고성능제품 Weblogic WebSphere JEUS JBoss EAP ( JBoss Data Grid) Datagrid*WebRed Hat, Inc. 2013 All Rights Reserved 30

JBoss Data Grid6 제품 비교 – vs. WAS 클러스터링Data Grid vs. WAS Session Clustering항목WAS 세션 SWEBWASWEBWASWEBWASWEBWASWEBWASSession 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 WorksRed Hat, Inc. 2013 All Rights Reserved 33

Enterprise ComplexityOnline ApplicationsWeb StoreFinancial and BusinessData SourcesiOSDistributed CacheExternal InterfacesData VirtualizationData IntegrationFinancial onnectMessaging /IntegrationField devices, sensors,embedded devices.Stores /DistributorsBusiness ServicesFulfillment, ShippingCRM / DataCustomer SupportRed Hat, Inc. 2013 All Rights Reserved 34

Why the name Camel? a Camel can carry 4 times the load of otherbeasts of burden a Camel can travel for great distances withoutwater; similarly a Camel does not require bucketloads of XML as you can use a pure Java DSL ConciseApplicationMessagingExchangeLanguageApache Camel is a powerful OpenSource Integration Frameworkbased on known EnterpriseIntegration .htmlRed Hat, Inc. 2013 All Rights Reserved 35

What is Apache CamelSummary Integration framework Enterprise Integration Patterns (EIP) System ADSL을 이용한 Integration 표현손쉬운 구성 (endpoints as URIs) 메시지 채널, Endpoint No heavy specification Light Weight - Any 컨테이너 거의 모든 자바 기반 컨테이너에 배포System B 100 Camel 컴포넌트, 타입 변홖The Swiss army knife of Open source integrationRed 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 beprocessed by any other Camel Components or messages from othercomponents to be saved to disk.확장명이 .doc인 파일은 무시1분 마다 파일 유부 확인.done 폴더에 백업public class FileToFileRoute extends RouteBuilder {@Overridepublic 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 implementingenterprise integration patterns The DSL uses URIs to define endpoints which are combined by formintegration flowsWidgetInventoryOrder quote/product r().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 RouterContent Based Router – XML DSLContent Based Router – Java DSL camelContext route from uri "activemq:NewOrders"/ choice when xpath /order/product 'widget' /xpath to uri "activemq:Orders.Widgets"/ /order/product 'widget'") /when .to("activemq:Orders.Widget") otherwise .otherwise() to uri "activemq:Orders.Gadgets"/ /otherwise .to("activemq:Orders.Gadget"); /choice /route /camelContext Red Hat, Inc. 2013 All Rights Reserved 41

DSL (Domain Specific Language)을 이용한 Integration 표현(2)Enterprise Integration Pattern- Content Based RouterEndpoints - FileUse file insteadEndpoints - "file:inbox/orders?delete uct 'widget'").when().xpath("/order/product );Red Hat, Inc. 2013 All Rights Reserved 42

Camel PatternsMessaging ChannelsSystem ManagementMessage ChannelRequest-ReplyGuaranteed DeliveryWire TapData Type ChannelPublish-SubscribeMessage StoreControl BusChannel AdapterMessage TranslationInvalid Message Channel Dead Letter ChannelMessaging EndpointsMessaging BridgeMessage RoutingMessage TranslatorMessage ConstructionEnvelope WrapperMessage EndpointMessage RouterEvent-Driven ConsumerMessage AggregatorReturn AddressContent FilterMessage FilterMessaging Gateway Competing ConsumersResequencerMessage SequenceMessaging BridgePolling ConsumerMessage DispatcherService ActivatorRecipient ListMessage SplitterComposed Msg ProcRouting SlipContent se-integration-patterns.htmlRed 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 amodern SOA-based system utilizingFuseSource.FAA’s SWIM (SystemWide InformationManagement)Program Real-time weather eventsdistributed from sensor to externalusers in less than 1 second (average). Compressed data stream isapproximately 1 Megabit per second,streaming constantly (approximately 9Gigabytes per day). Data is processed and distributed by anActiveMQ broker network. Very high throughput with ActiveMQ. All data is stored permanently. All data is accessible through HBaseFAA’s ITWS(Integrated TerminalWeather System)ProgramRed Hat, Inc. 2013 All Rights Reserved 44

SWIM ITWS weather feed and store it in Hbase TablesIntegration Solution # 1JMSTopicSTOMPActiveMQ ThriftAdapterTHRIFTHBaseTablesActiveMQ ThriftAdapterCamel AHCEndpointHBaseTablesIntegration Solution # 2ExternalWxFeedCamel AHCEndpointIntegration Solution # 3JMSTopicCamel JMSEndpointCamel HDFSAdapterCamel HDFSEndpointHBaseTablesRead the data fromHbase Tables anddisplay it on GoogleMapspublic class ServerRoutes extends RouteBuilder {Integration Solution # 3 - Code@Overridepublic void configure() throws Exception o("hdfs://ip-address/output?splitStrategy MESSAGES:1&replication 3").to("log:camel");}}Red Hat, Inc. 2013 All Rights Reserved 45

Enterprise ComplexityOnline ApplicationsWeb StoreFinancial and BusinessData SourcesiOSDistributed CacheExternal InterfacesData VirtualizationData IntegrationFinancial onnectMessaging /IntegrationField devices, sensors,embedded devices.Stores /DistributorsBusiness ServicesFulfillment, ShippingCRM / DataCustomer SupportRed 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

TITLE SLIDE: HEADLINEPresenterTitleDateRed Hat, Inc. 2013 All Rights Reserved 49

Business Process Management Application Integration Foundation . IBM InfoSphere Federation Server BPM JBoss BPM BPM Suite BPM 비즈니스 룰엔진 JBoss BRMS (BRM) JRules(ILOG) . TorqueBox, Seam, Spring, Apache Struts, Google Web Toolkit, Arquillian