Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

Supercharge Your Integration Services

1,547 views

Published on

Red Hat Tech Exchange
Integration often involves storing, retrieving, and transforming data. Using a traditional database in your integration is likely to becomes a bottleneck that is expensive and hard to scale. By combining the agile, lightweight, Enterprise Integration pattern (EIP) based integrations using open source technology with scalable in-memory storage, it’s possible to achieve near linear scalability and boost performance of your integration services.

Published in: Technology
  • Be the first to comment

Supercharge Your Integration Services

  1. 1. Supercharge Your Integration Services Thomas  Qvarnstrom     Chris/na  Lin  
  2. 2. •  Integration with Fuse can scale horizontal easily •  Traditional datastore is difficult to scale and can become slow in performance. •  SQL store requires extra transformation INSERT  DESIGNATOR,  IF  NEEDED   2   Challenges  in  scaling  integra/on  
  3. 3. Supercharge your integration services 3   Dealing  with  large  data   •  Incoming  data     •  Processing  Data   •  Providing  output  
  4. 4. Supercharge your integration services 4   Incoming  Data   •  Schedule  Polling  consumer     •  ThroHler  PaHern   <throHle  /mePeriodMillis="10000">                  <constant>3</constant>                  …..          </throHle>  
  5. 5. Supercharge your integration services 5   Incoming  Data   Integra/on  Service   Integra/on  Service   Integra/on  Service   <route>          <from  uri="direct:start"/>          <loadBalance>                                  <roundRobin/>                  <to  uri=”direct:x"/>                                  <to  uri=”directy"/>                                <to  uri=”direct:z"/>                                            </loadBalance>      </route>   MQ  Gateway  
  6. 6. Processing  Data   INSERT  DESIGNATOR,  IF  NEEDED   6  
  7. 7. Supercharge your integration services 7   Processing  Data   •  Spli^ng  your  content   •  Enable  streaming  
  8. 8. Supercharge your integration services 8   Processing  Data   •  Filter  your  content  
  9. 9. Supercharge your integration services 9   Providing  output     •  Publish  and  subscribe(Topic)  in  messaging   •  Caching  medium  
  10. 10. JBOSS DATA GRID AS CONTENT STORE
  11. 11. INSERT  DESIGNATOR,  IF  NEEDED   11   JBoss  Data  Grid  Overview  -­‐  Modes   Embedded  cache   Remote  cache  
  12. 12. INSERT  DESIGNATOR,  IF  NEEDED   12   JDG  Client/Server  with  Fuse  
  13. 13. INSERT  DESIGNATOR,  IF  NEEDED   13   JDG  Library  Mode  with  Fuse  
  14. 14. Supercharge your integration services 14   The     Technical     Details  
  15. 15. Supercharge your integration services 15   Setup  JBoss  Data  Grid   •  Setup  Data  Grid  in  Fuse   <bean id="cacheManager" class="org.infinispan.manager.DefaultCacheManager"! ! !init-method="start" destroy-method="stop">! !<argument value="infinispan.xml" />! </bean>!
  16. 16. Supercharge your integration services 16   Setups   In  infinispan.xml   <transport>      <proper/es>                <property  name="configura*onFile"  value="jgroups-­‐tcp-­‐sample.xml"/>        </proper/es>    </transport>   <namedCache  name="stock-­‐file-­‐cache">            <jmxSta/s/cs  enabled="true"/>                  <clustering  mode="replica*on">                          <async/>                  </clustering>                  <evic/on  maxEntries="30"  strategy="FIFO"/>   </namedCache>  
  17. 17. Supercharge your integration services 17   Setups   In  infinispan.xml   <transport>      <proper/es>                <property  name="configura*onFile"  value="jgroups-­‐tcp-­‐sample.xml"/>        </proper/es>    </transport>   <namedCache  name="stock-­‐file-­‐cache">            <jmxSta/s/cs  enabled="true"/>                  <clustering  mode="replica*on">                          <async/>                  </clustering>                  <evic/on  maxEntries="30"  strategy="FIFO"/>   </namedCache>  
  18. 18. Supercharge your integration services 18   CAMEL-­‐JBOSSDATAGRID   COMPONENT       •  Support  camel  endpoints     •  Supports  both  in  library  and  in  remote/ standalone     JBoss  Fuse         JDG   JDG  
  19. 19. Supercharge your integration services 19   Camel  Endpoint  for  JBoss  Data   Grid   •  Component  for  JDG  infinispan     – URI  uses  host  and  port  for  remote(hotrod)   endpoints.     <to uri="infinispan://localhost:11222? cacheName=ConversationCache"/>! JBoss  Fuse         JDG  
  20. 20. Supercharge your integration services 20   CAMEL-­‐JBOSSDATAGRID   COMPONENT     •  Producer  are  for  PUT,  GET,  REMOVE  or  CLEAR   commands                    <to  uri="infinispan://localhost?command=GET"/>   •  Consumers  are  listeners  for  different   eventTypes  (library  mode  only)                    <from  uri="infinispan://foo?cacheContainer=#cacheManager"/>    
  21. 21. Supercharge your integration services 21   Camel  Endpoint  for  JBoss  Data   Grid   •  Uses  header  parameters  for  keys  and  values   JDG   CamelInfinispanKey   CamelInfinispanValue  
  22. 22. Supercharge your integration services 22   Se^ng  up  JDG  in  Camel   <!-- Setup DataGrid in Fuse -->! <bean id="cacheManager" ! class="org.infinispan.manager.DefaultCacheManager"! ! ! init-method="start" destroy-method="stop">! !<argument value="infinispan.xml" />! </bean>! <service ref="cacheManager" interface="org.infinispan.manager.EmbeddedCacheManager" />! Fuse  OSGi  container             cacheManager  
  23. 23. Supercharge your integration services 23   The  event  listener   Client   Client   Listener   Listener   JDG   Route  
  24. 24. Supercharge your integration services 24   Camel  Endpoint  for  JBoss  Data   Grid   •  Uses  header  parameters  for  keys  and  values   JDG   CamelInfinispanKey   CamelInfinispanValue  
  25. 25. DEMO
  26. 26. INSERT DESIGNATOR, IF NEEDED 26   DEMO   A  stock  market  broker  needs  to  provide  it's   brokers  with  historical  data  of  past  stock  close   value,  and  show  how  much  will  earn  if  customer   sell  their  stock  today.  
  27. 27. INSERT DESIGNATOR, IF NEEDED 27   The  Problem   Integra/on  Service   <  10  ms  processing  /me  
  28. 28. INSERT DESIGNATOR, IF NEEDED 28   The  Problem   Integra/on  Service   Client   Client   Client   Client   Client   Client   Historical  Data   Current  earning  
  29. 29. INSERT DESIGNATOR, IF NEEDED 29   The  Incoming  Data   Stock  Symbol   Orders    Customer    Customer    Customer    Customer    Customer    Customer    Customer   Integra/on  Service   Get  All  Historical   Order  value   Get  All   Historical  Data  
  30. 30. INSERT DESIGNATOR, IF NEEDED 30   Claim  Check  PaHern   Stock       Symbol   Orders    Customer    Customer    Customer    Customer    Customer    Customer       JDG   Stock       Symbol  
  31. 31. INSERT DESIGNATOR, IF NEEDED 31   Process  Historical  Data     Daily  Stock  quote   Daily  Stock  quote   Daily  Stock  quote   Daily  Stock  quote   Daily  Stock  quote   Daily  Stock  quote   Daily  Stock  quote   JDG  
  32. 32. INSERT DESIGNATOR, IF NEEDED 32   Remote  Event  Listener   Daily  Stock  quote   Daily  Stock  quote   Daily  Stock  quote   Daily  Stock  quote   Daily  Stock  quote   Daily  Stock  quote   Daily  Stock  quote   JDG   Client   Listener  

×