SlideShare une entreprise Scribd logo
1  sur  35
© 2013 Pivotal Inc. All rights reserved. Do not distribute without permission.
The next development
generation
with Artem Bilan
by Pivotal
Spring & Messaging:
© 2013 Pivotal Inc. All rights reserved. Do not distribute without permission.
Artem Bilan
abilan@gopivotal.com
Spring Integration Team
Spring Framework
Spring AMQP
Spring XD
Reactor
https://github.com/artembilanhttp://www.linkedin.com/in/cleric
https://spring.io/team/artembilan http://stackoverflow.com/users/2756547
© 2013 Pivotal Inc. All rights reserved. Do not distribute without permission.
Messaging and why do I care?
© 2013 Pivotal Inc. All rights reserved. Do not distribute without permission.
Messaging is very simple
Headers
Payload
public static void main(String[] args) {
...
}
© 2013 Pivotal Inc. All rights reserved. Do not distribute without permission.
WEB
Controllers, REST,
WebSocket
INTEGRATION
Channels, Adapters,
Filters, Transforms
BATCH
Jobs, Steps,
Readers, Writers
BIG DATA
Ingestion, Export,
Orchestration, Hadoop
DATA
NON-RELATIONALRELATIONAL
CORE
GROOVYFRAMEWORK SECURITY REACTOR
GRAILS
Full-stack, Web
XD
Stream, Taps, Jobs
BOOT
Bootable, Minimal, Ops-Ready
© 2013 Pivotal Inc. All rights reserved. Do not distribute without permission.
Messaging in Spring IO
© 2013 Pivotal Inc. All rights reserved. Do not distribute without permission.
Spring Integration
Meet IoC!
Uses
Written
© 2013 Pivotal Inc. All rights reserved. Do not distribute without permission.
The heart of Spring Integration
– Endpoints (Filters) connected through
– Channels (Pipes) exchanging
– Message
© 2013 Pivotal Inc. All rights reserved. Do not distribute without permission.
How does it work?
© 2013 Pivotal Inc. All rights reserved. Do not distribute without permission.
• SpEL, SpEL, SpEL …
• Scripting (Groovy, JSR223)
• Request Handler Advice
• Transaction Synchronization
• Error Handling
• Channel Adapters Correlation
• Lifecycle and Control Bus
• Message Store Serialization
• JMX Exposing
Spring Integration: Advanced
• Adapter, Adapter, Adapter …
• SecurityContext Propagation
• Payload Cloning
• IMAP SearchTermStrategy
• FileLocker
• Scatter-Gather
• Routing Slip
• Message Broker
• Process Manager
• Multitenancy
© 2013 Pivotal Inc. All rights reserved. Do not distribute without permission.
Retry -> tx; tx - > Retry
inbound-adapter->poller->http-gateway1->http-gateway2->jdbc-outbound-adapter
© 2013 Pivotal Inc. All rights reserved. Do not distribute without permission.
Cache Advice
© 2013 Pivotal Inc. All rights reserved. Do not distribute without permission.
Transaction Synchronization
© 2013 Pivotal Inc. All rights reserved. Do not distribute without permission.
HTTP Proxy
© 2013 Pivotal Inc. All rights reserved. Do not distribute without permission.
• 1000 & 1 bug fix
• 256 refactoring
• 125 improvement
• 1 new feature
• Spring 4 compatibility
• Jackson 2 support
• Syslog adapters
• TCP/IP Events
• HTTP RequestMapping
• SpEL customization
• ‘id’ for chain black box
• …
Spring Integration 3.0: What’s New?
Joke!
© 2013 Pivotal Inc. All rights reserved. Do not distribute without permission.
@RequestMapping
© 2013 Pivotal Inc. All rights reserved. Do not distribute without permission.
@RequestMapping by Spring Integration
© 2013 Pivotal Inc. All rights reserved. Do not distribute without permission.
Spring Expression Language
© 2013 Pivotal Inc. All rights reserved. Do not distribute without permission.
SpEL: EvaluationContext
© 2013 Pivotal Inc. All rights reserved. Do not distribute without permission.
SpEL Customization: high-level API
© 2013 Pivotal Inc. All rights reserved. Do not distribute without permission.
SpEL Customization: high-level API
© 2013 Pivotal Inc. All rights reserved. Do not distribute without permission.
Spring XD
• Unified Platform
• Developer Productivity
• Modular Extensibility
• Distributed Architecture
• Portable Runtime
• Hadoop Distribution Agnostic
• Proven Foundation
• XD = ‘eXtreme Data’
© 2013 Pivotal Inc. All rights reserved. Do not distribute without permission.
Taps
Compute
HDFS
Workflow
Export
Spring XD Runtime
Ingest
Jobs
Export
Files Sensors Mobile Social
RDBMS
NoSQL
R, SAS
Spring XD Shell
Streams
Redis
Gemfire
Predictive modeling
Spring XD
© 2013 Pivotal Inc. All rights reserved. Do not distribute without permission.
Stream Processing Model
How can we make this easier?http | filter | file
© 2013 Pivotal Inc. All rights reserved. Do not distribute without permission.
XD Runtimes
http | filter | file
Rabbit, Redis, (Pluggable)
XD Admin
CLUSTERED NODE
Filter
Module
CLUSTERED NODE
HTTP
Module
CLUSTERED NODE
File
Module
In Memory
Transport
http | filter | file
SINGLE
NODE
All
Modules
© 2013 Pivotal Inc. All rights reserved. Do not distribute without permission.
Spring Integration 4.0: What Next?
• Spring 4 Platform
• Java DSL
• New EIP Patterns
• New Adapters
• Concurrency Improvement
• Clustering Features
• ???
© 2013 Pivotal Inc. All rights reserved. Do not distribute without permission.
© 2013 Pivotal Inc. All rights reserved. Do not distribute without permission.
Spring Framework 4.0: Websockets
© 2013 Pivotal Inc. All rights reserved. Do not distribute without permission.
Spring Framework 4.0: Websockets
© 2013 Pivotal Inc. All rights reserved. Do not distribute without permission.
• Foundation
• Distillation best-practices
• Lightweight
• Event routing
• Fully asynchronous
• Pattern based
• Clear API
Reactor
© 2013 Pivotal Inc. All rights reserved. Do not distribute without permission.
Dispatchers, Events, Selectors, Streams, Promises, etc.
© 2013 Pivotal Inc. All rights reserved. Do not distribute without permission.
Reactor – Landscape
Spring Integration
© 2013 Pivotal Inc. All rights reserved. Do not distribute without permission.
Spring Integration + Reactor
© 2013 Pivotal Inc. All rights reserved. Do not distribute without permission.
Learn More. Stay Connected.
• Spring IO: https://spring.io/platform
• GitHub: https://github.com/spring-projects
• Spring Integration: http://projects.spring.io/spring-integration
• Spring XD: http://projects.spring.io/spring-xd
• Reactor: https://github.com/reactor
• Spring WebSockets: http://assets.spring.io/wp/WebSocketBlogPost.html
• EIP: http://www.eaipatterns.com
• Spring Batch: http://projects.spring.io/spring-batch
• Spring for Hadoop: http://projects.spring.io/spring-hadoop
• Groovy: http://groovy.codehaus.org
© 2013 Pivotal Inc. All rights reserved. Do not distribute without permission.
ありがとう

Contenu connexe

Tendances

Using AREL to refactor big queries
Using AREL to refactor big queriesUsing AREL to refactor big queries
Using AREL to refactor big queriesHieu Nguyen Trung
 
CI/CD and Asset Serving for Single Page Apps
CI/CD and Asset Serving for Single Page AppsCI/CD and Asset Serving for Single Page Apps
CI/CD and Asset Serving for Single Page AppsMike North
 
Always On - Zero Downtime releases
Always On - Zero Downtime releasesAlways On - Zero Downtime releases
Always On - Zero Downtime releasesAnders Lundsgård
 
Novmeber 2015 WordPress News 'n' Stuff
Novmeber 2015 WordPress News 'n' StuffNovmeber 2015 WordPress News 'n' Stuff
Novmeber 2015 WordPress News 'n' StuffWordPress Sydney
 
Design for scale
Design for scaleDesign for scale
Design for scaleDoug Lampe
 
Apache Zeppelin & Cluster
Apache Zeppelin & ClusterApache Zeppelin & Cluster
Apache Zeppelin & ClusterJongyoul Lee
 
Zero downtime deployments with laravel envoy
Zero downtime deployments with laravel envoyZero downtime deployments with laravel envoy
Zero downtime deployments with laravel envoyTung Nguyen
 
E2E Data Pipeline - Apache Spark/Airflow/Livy
E2E Data Pipeline - Apache Spark/Airflow/LivyE2E Data Pipeline - Apache Spark/Airflow/Livy
E2E Data Pipeline - Apache Spark/Airflow/LivyRikin Tanna
 
AtlasCamp 2013: A Re-Intriduction to Atlassian Connect: Add-ons for OnDemand
AtlasCamp 2013: A Re-Intriduction to Atlassian Connect: Add-ons for OnDemandAtlasCamp 2013: A Re-Intriduction to Atlassian Connect: Add-ons for OnDemand
AtlasCamp 2013: A Re-Intriduction to Atlassian Connect: Add-ons for OnDemandcolleenfry
 
Big Retail Goes Reactive at Walmart
Big Retail Goes Reactive at WalmartBig Retail Goes Reactive at Walmart
Big Retail Goes Reactive at WalmartNurun
 
Livy: A REST Web Service For Apache Spark
Livy: A REST Web Service For Apache SparkLivy: A REST Web Service For Apache Spark
Livy: A REST Web Service For Apache SparkJen Aman
 
Zeppelin meetup 2016 madrid
Zeppelin meetup 2016 madridZeppelin meetup 2016 madrid
Zeppelin meetup 2016 madridJongyoul Lee
 
Atagg2015 Continuous delivery by building environment using docker
Atagg2015 Continuous delivery by building environment using dockerAtagg2015 Continuous delivery by building environment using docker
Atagg2015 Continuous delivery by building environment using dockerAgile Testing Alliance
 
Rapid application development with spring roo j-fall 2010 - baris dere
Rapid application development with spring roo   j-fall 2010 - baris dereRapid application development with spring roo   j-fall 2010 - baris dere
Rapid application development with spring roo j-fall 2010 - baris dereBaris Dere
 
Write Once, Run Everywhere - Ember.js Munich
Write Once, Run Everywhere - Ember.js MunichWrite Once, Run Everywhere - Ember.js Munich
Write Once, Run Everywhere - Ember.js MunichMike North
 
Enterprise Integration Patterns with Apache Camel
Enterprise Integration Patterns with Apache CamelEnterprise Integration Patterns with Apache Camel
Enterprise Integration Patterns with Apache CamelIoan Eugen Stan
 
JIRA Data Center Implementation at Pitney Bowes - Peter Strickland
JIRA Data Center Implementation at Pitney Bowes - Peter StricklandJIRA Data Center Implementation at Pitney Bowes - Peter Strickland
JIRA Data Center Implementation at Pitney Bowes - Peter StricklandAtlassian
 

Tendances (20)

Using AREL to refactor big queries
Using AREL to refactor big queriesUsing AREL to refactor big queries
Using AREL to refactor big queries
 
CI/CD and Asset Serving for Single Page Apps
CI/CD and Asset Serving for Single Page AppsCI/CD and Asset Serving for Single Page Apps
CI/CD and Asset Serving for Single Page Apps
 
Always On - Zero Downtime releases
Always On - Zero Downtime releasesAlways On - Zero Downtime releases
Always On - Zero Downtime releases
 
Novmeber 2015 WordPress News 'n' Stuff
Novmeber 2015 WordPress News 'n' StuffNovmeber 2015 WordPress News 'n' Stuff
Novmeber 2015 WordPress News 'n' Stuff
 
Design for scale
Design for scaleDesign for scale
Design for scale
 
Apache Zeppelin & Cluster
Apache Zeppelin & ClusterApache Zeppelin & Cluster
Apache Zeppelin & Cluster
 
Zero downtime deployments with laravel envoy
Zero downtime deployments with laravel envoyZero downtime deployments with laravel envoy
Zero downtime deployments with laravel envoy
 
Angular animation
Angular animationAngular animation
Angular animation
 
E2E Data Pipeline - Apache Spark/Airflow/Livy
E2E Data Pipeline - Apache Spark/Airflow/LivyE2E Data Pipeline - Apache Spark/Airflow/Livy
E2E Data Pipeline - Apache Spark/Airflow/Livy
 
AtlasCamp 2013: A Re-Intriduction to Atlassian Connect: Add-ons for OnDemand
AtlasCamp 2013: A Re-Intriduction to Atlassian Connect: Add-ons for OnDemandAtlasCamp 2013: A Re-Intriduction to Atlassian Connect: Add-ons for OnDemand
AtlasCamp 2013: A Re-Intriduction to Atlassian Connect: Add-ons for OnDemand
 
Big Retail Goes Reactive at Walmart
Big Retail Goes Reactive at WalmartBig Retail Goes Reactive at Walmart
Big Retail Goes Reactive at Walmart
 
Livy: A REST Web Service For Apache Spark
Livy: A REST Web Service For Apache SparkLivy: A REST Web Service For Apache Spark
Livy: A REST Web Service For Apache Spark
 
From Heroku to Amazon AWS
From Heroku to Amazon AWSFrom Heroku to Amazon AWS
From Heroku to Amazon AWS
 
Serverless
ServerlessServerless
Serverless
 
Zeppelin meetup 2016 madrid
Zeppelin meetup 2016 madridZeppelin meetup 2016 madrid
Zeppelin meetup 2016 madrid
 
Atagg2015 Continuous delivery by building environment using docker
Atagg2015 Continuous delivery by building environment using dockerAtagg2015 Continuous delivery by building environment using docker
Atagg2015 Continuous delivery by building environment using docker
 
Rapid application development with spring roo j-fall 2010 - baris dere
Rapid application development with spring roo   j-fall 2010 - baris dereRapid application development with spring roo   j-fall 2010 - baris dere
Rapid application development with spring roo j-fall 2010 - baris dere
 
Write Once, Run Everywhere - Ember.js Munich
Write Once, Run Everywhere - Ember.js MunichWrite Once, Run Everywhere - Ember.js Munich
Write Once, Run Everywhere - Ember.js Munich
 
Enterprise Integration Patterns with Apache Camel
Enterprise Integration Patterns with Apache CamelEnterprise Integration Patterns with Apache Camel
Enterprise Integration Patterns with Apache Camel
 
JIRA Data Center Implementation at Pitney Bowes - Peter Strickland
JIRA Data Center Implementation at Pitney Bowes - Peter StricklandJIRA Data Center Implementation at Pitney Bowes - Peter Strickland
JIRA Data Center Implementation at Pitney Bowes - Peter Strickland
 

Similaire à Messaging with Spring Integration & Spring XD

Ratpack - SpringOne2GX 2015
Ratpack - SpringOne2GX 2015Ratpack - SpringOne2GX 2015
Ratpack - SpringOne2GX 2015Daniel Woods
 
API Description Languages: Which is the Right One for Me?
API Description Languages: Which is the Right One for Me?API Description Languages: Which is the Right One for Me?
API Description Languages: Which is the Right One for Me?Akana
 
API Description Languages: Which is the Right One for Me?
API Description Languages: Which is the Right One for Me?API Description Languages: Which is the Right One for Me?
API Description Languages: Which is the Right One for Me?Akana
 
Lightweight Java in the Cloud
Lightweight Java in the CloudLightweight Java in the Cloud
Lightweight Java in the CloudBruno Borges
 
Manila MuleSoft Meetup #3 December 2018
Manila MuleSoft Meetup #3 December 2018Manila MuleSoft Meetup #3 December 2018
Manila MuleSoft Meetup #3 December 2018Christopher Co
 
Building a Stock Prediction system with Machine Learning using Geode, SpringX...
Building a Stock Prediction system with Machine Learning using Geode, SpringX...Building a Stock Prediction system with Machine Learning using Geode, SpringX...
Building a Stock Prediction system with Machine Learning using Geode, SpringX...William Markito Oliveira
 
Implementing a highly scalable stock prediction system with R, Geode, SpringX...
Implementing a highly scalable stock prediction system with R, Geode, SpringX...Implementing a highly scalable stock prediction system with R, Geode, SpringX...
Implementing a highly scalable stock prediction system with R, Geode, SpringX...William Markito Oliveira
 
[2015-11월 정기 세미나] Cloud Native Platform - Pivotal
[2015-11월 정기 세미나] Cloud Native Platform - Pivotal[2015-11월 정기 세미나] Cloud Native Platform - Pivotal
[2015-11월 정기 세미나] Cloud Native Platform - PivotalOpenStack Korea Community
 
API Description Languages: Which Is The Right One For Me?
 API Description Languages: Which Is The Right One For Me?  API Description Languages: Which Is The Right One For Me?
API Description Languages: Which Is The Right One For Me? ProgrammableWeb
 
GGX 2014 Lari Hotari Modular Monoliths with Spring Boot and Grails 3
GGX 2014 Lari Hotari Modular Monoliths with Spring Boot and Grails 3GGX 2014 Lari Hotari Modular Monoliths with Spring Boot and Grails 3
GGX 2014 Lari Hotari Modular Monoliths with Spring Boot and Grails 3Lari Hotari
 
API Description Languages
API Description LanguagesAPI Description Languages
API Description LanguagesAkana
 
API Description Languages
API Description LanguagesAPI Description Languages
API Description LanguagesAkana
 
Building Highly Scalable Spring Applications using In-Memory Data Grids
Building Highly Scalable Spring Applications using In-Memory Data GridsBuilding Highly Scalable Spring Applications using In-Memory Data Grids
Building Highly Scalable Spring Applications using In-Memory Data GridsJohn Blum
 
5 razões estratégicas para usar MySQL
5 razões estratégicas para usar MySQL5 razões estratégicas para usar MySQL
5 razões estratégicas para usar MySQLMySQL Brasil
 
Modernizing an Existing SOA-based Architecture with APIs
Modernizing an Existing SOA-based Architecture with APIsModernizing an Existing SOA-based Architecture with APIs
Modernizing an Existing SOA-based Architecture with APIsApigee | Google Cloud
 
Automating and Orchestrating Cloud Computing
Automating and Orchestrating Cloud ComputingAutomating and Orchestrating Cloud Computing
Automating and Orchestrating Cloud ComputingOstrato
 
MySQL as a Document Store
MySQL as a Document StoreMySQL as a Document Store
MySQL as a Document StoreTed Wennmark
 
Modern App Development with Oracle Cloud
Modern App Development with Oracle CloudModern App Development with Oracle Cloud
Modern App Development with Oracle CloudJuan Carlos Ruiz Rico
 
Oracle WebLogic Server 12.2.1 Do More with Less
Oracle WebLogic Server 12.2.1 Do More with LessOracle WebLogic Server 12.2.1 Do More with Less
Oracle WebLogic Server 12.2.1 Do More with LessEd Burns
 

Similaire à Messaging with Spring Integration & Spring XD (20)

Ratpack - SpringOne2GX 2015
Ratpack - SpringOne2GX 2015Ratpack - SpringOne2GX 2015
Ratpack - SpringOne2GX 2015
 
API Description Languages: Which is the Right One for Me?
API Description Languages: Which is the Right One for Me?API Description Languages: Which is the Right One for Me?
API Description Languages: Which is the Right One for Me?
 
API Description Languages: Which is the Right One for Me?
API Description Languages: Which is the Right One for Me?API Description Languages: Which is the Right One for Me?
API Description Languages: Which is the Right One for Me?
 
Lightweight Java in the Cloud
Lightweight Java in the CloudLightweight Java in the Cloud
Lightweight Java in the Cloud
 
Manila MuleSoft Meetup #3 December 2018
Manila MuleSoft Meetup #3 December 2018Manila MuleSoft Meetup #3 December 2018
Manila MuleSoft Meetup #3 December 2018
 
Building a Stock Prediction system with Machine Learning using Geode, SpringX...
Building a Stock Prediction system with Machine Learning using Geode, SpringX...Building a Stock Prediction system with Machine Learning using Geode, SpringX...
Building a Stock Prediction system with Machine Learning using Geode, SpringX...
 
Implementing a highly scalable stock prediction system with R, Geode, SpringX...
Implementing a highly scalable stock prediction system with R, Geode, SpringX...Implementing a highly scalable stock prediction system with R, Geode, SpringX...
Implementing a highly scalable stock prediction system with R, Geode, SpringX...
 
[2015-11월 정기 세미나] Cloud Native Platform - Pivotal
[2015-11월 정기 세미나] Cloud Native Platform - Pivotal[2015-11월 정기 세미나] Cloud Native Platform - Pivotal
[2015-11월 정기 세미나] Cloud Native Platform - Pivotal
 
API Description Languages: Which Is The Right One For Me?
 API Description Languages: Which Is The Right One For Me?  API Description Languages: Which Is The Right One For Me?
API Description Languages: Which Is The Right One For Me?
 
IIMB presentation
IIMB presentationIIMB presentation
IIMB presentation
 
GGX 2014 Lari Hotari Modular Monoliths with Spring Boot and Grails 3
GGX 2014 Lari Hotari Modular Monoliths with Spring Boot and Grails 3GGX 2014 Lari Hotari Modular Monoliths with Spring Boot and Grails 3
GGX 2014 Lari Hotari Modular Monoliths with Spring Boot and Grails 3
 
API Description Languages
API Description LanguagesAPI Description Languages
API Description Languages
 
API Description Languages
API Description LanguagesAPI Description Languages
API Description Languages
 
Building Highly Scalable Spring Applications using In-Memory Data Grids
Building Highly Scalable Spring Applications using In-Memory Data GridsBuilding Highly Scalable Spring Applications using In-Memory Data Grids
Building Highly Scalable Spring Applications using In-Memory Data Grids
 
5 razões estratégicas para usar MySQL
5 razões estratégicas para usar MySQL5 razões estratégicas para usar MySQL
5 razões estratégicas para usar MySQL
 
Modernizing an Existing SOA-based Architecture with APIs
Modernizing an Existing SOA-based Architecture with APIsModernizing an Existing SOA-based Architecture with APIs
Modernizing an Existing SOA-based Architecture with APIs
 
Automating and Orchestrating Cloud Computing
Automating and Orchestrating Cloud ComputingAutomating and Orchestrating Cloud Computing
Automating and Orchestrating Cloud Computing
 
MySQL as a Document Store
MySQL as a Document StoreMySQL as a Document Store
MySQL as a Document Store
 
Modern App Development with Oracle Cloud
Modern App Development with Oracle CloudModern App Development with Oracle Cloud
Modern App Development with Oracle Cloud
 
Oracle WebLogic Server 12.2.1 Do More with Less
Oracle WebLogic Server 12.2.1 Do More with LessOracle WebLogic Server 12.2.1 Do More with Less
Oracle WebLogic Server 12.2.1 Do More with Less
 

Dernier

A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)Gabriella Davis
 
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024BookNet Canada
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking MenDelhi Call girls
 
Unblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesUnblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesSinan KOZAK
 
My Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationMy Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationRidwan Fadjar
 
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationBeyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationSafe Software
 
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...shyamraj55
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationSafe Software
 
SIEMENS: RAPUNZEL – A Tale About Knowledge Graph
SIEMENS: RAPUNZEL – A Tale About Knowledge GraphSIEMENS: RAPUNZEL – A Tale About Knowledge Graph
SIEMENS: RAPUNZEL – A Tale About Knowledge GraphNeo4j
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonetsnaman860154
 
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 3652toLead Limited
 
Install Stable Diffusion in windows machine
Install Stable Diffusion in windows machineInstall Stable Diffusion in windows machine
Install Stable Diffusion in windows machinePadma Pradeep
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking MenDelhi Call girls
 
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure serviceWhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure servicePooja Nehwal
 
Enhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for PartnersEnhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for PartnersThousandEyes
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdfhans926745
 
Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Allon Mureinik
 
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Patryk Bandurski
 
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | DelhiFULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhisoniya singh
 
Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsMark Billinghurst
 

Dernier (20)

A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)
 
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
 
Unblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesUnblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen Frames
 
My Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationMy Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 Presentation
 
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationBeyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
 
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
 
SIEMENS: RAPUNZEL – A Tale About Knowledge Graph
SIEMENS: RAPUNZEL – A Tale About Knowledge GraphSIEMENS: RAPUNZEL – A Tale About Knowledge Graph
SIEMENS: RAPUNZEL – A Tale About Knowledge Graph
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonets
 
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
 
Install Stable Diffusion in windows machine
Install Stable Diffusion in windows machineInstall Stable Diffusion in windows machine
Install Stable Diffusion in windows machine
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men
 
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure serviceWhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
 
Enhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for PartnersEnhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for Partners
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf
 
Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)
 
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
 
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | DelhiFULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
 
Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR Systems
 

Messaging with Spring Integration & Spring XD

  • 1. © 2013 Pivotal Inc. All rights reserved. Do not distribute without permission. The next development generation with Artem Bilan by Pivotal Spring & Messaging:
  • 2. © 2013 Pivotal Inc. All rights reserved. Do not distribute without permission. Artem Bilan abilan@gopivotal.com Spring Integration Team Spring Framework Spring AMQP Spring XD Reactor https://github.com/artembilanhttp://www.linkedin.com/in/cleric https://spring.io/team/artembilan http://stackoverflow.com/users/2756547
  • 3. © 2013 Pivotal Inc. All rights reserved. Do not distribute without permission. Messaging and why do I care?
  • 4. © 2013 Pivotal Inc. All rights reserved. Do not distribute without permission. Messaging is very simple Headers Payload public static void main(String[] args) { ... }
  • 5. © 2013 Pivotal Inc. All rights reserved. Do not distribute without permission. WEB Controllers, REST, WebSocket INTEGRATION Channels, Adapters, Filters, Transforms BATCH Jobs, Steps, Readers, Writers BIG DATA Ingestion, Export, Orchestration, Hadoop DATA NON-RELATIONALRELATIONAL CORE GROOVYFRAMEWORK SECURITY REACTOR GRAILS Full-stack, Web XD Stream, Taps, Jobs BOOT Bootable, Minimal, Ops-Ready
  • 6. © 2013 Pivotal Inc. All rights reserved. Do not distribute without permission. Messaging in Spring IO
  • 7. © 2013 Pivotal Inc. All rights reserved. Do not distribute without permission. Spring Integration Meet IoC! Uses Written
  • 8. © 2013 Pivotal Inc. All rights reserved. Do not distribute without permission. The heart of Spring Integration – Endpoints (Filters) connected through – Channels (Pipes) exchanging – Message
  • 9. © 2013 Pivotal Inc. All rights reserved. Do not distribute without permission. How does it work?
  • 10. © 2013 Pivotal Inc. All rights reserved. Do not distribute without permission. • SpEL, SpEL, SpEL … • Scripting (Groovy, JSR223) • Request Handler Advice • Transaction Synchronization • Error Handling • Channel Adapters Correlation • Lifecycle and Control Bus • Message Store Serialization • JMX Exposing Spring Integration: Advanced • Adapter, Adapter, Adapter … • SecurityContext Propagation • Payload Cloning • IMAP SearchTermStrategy • FileLocker • Scatter-Gather • Routing Slip • Message Broker • Process Manager • Multitenancy
  • 11. © 2013 Pivotal Inc. All rights reserved. Do not distribute without permission. Retry -> tx; tx - > Retry inbound-adapter->poller->http-gateway1->http-gateway2->jdbc-outbound-adapter
  • 12. © 2013 Pivotal Inc. All rights reserved. Do not distribute without permission. Cache Advice
  • 13. © 2013 Pivotal Inc. All rights reserved. Do not distribute without permission. Transaction Synchronization
  • 14. © 2013 Pivotal Inc. All rights reserved. Do not distribute without permission. HTTP Proxy
  • 15. © 2013 Pivotal Inc. All rights reserved. Do not distribute without permission. • 1000 & 1 bug fix • 256 refactoring • 125 improvement • 1 new feature • Spring 4 compatibility • Jackson 2 support • Syslog adapters • TCP/IP Events • HTTP RequestMapping • SpEL customization • ‘id’ for chain black box • … Spring Integration 3.0: What’s New? Joke!
  • 16. © 2013 Pivotal Inc. All rights reserved. Do not distribute without permission. @RequestMapping
  • 17. © 2013 Pivotal Inc. All rights reserved. Do not distribute without permission. @RequestMapping by Spring Integration
  • 18. © 2013 Pivotal Inc. All rights reserved. Do not distribute without permission. Spring Expression Language
  • 19. © 2013 Pivotal Inc. All rights reserved. Do not distribute without permission. SpEL: EvaluationContext
  • 20. © 2013 Pivotal Inc. All rights reserved. Do not distribute without permission. SpEL Customization: high-level API
  • 21. © 2013 Pivotal Inc. All rights reserved. Do not distribute without permission. SpEL Customization: high-level API
  • 22. © 2013 Pivotal Inc. All rights reserved. Do not distribute without permission. Spring XD • Unified Platform • Developer Productivity • Modular Extensibility • Distributed Architecture • Portable Runtime • Hadoop Distribution Agnostic • Proven Foundation • XD = ‘eXtreme Data’
  • 23. © 2013 Pivotal Inc. All rights reserved. Do not distribute without permission. Taps Compute HDFS Workflow Export Spring XD Runtime Ingest Jobs Export Files Sensors Mobile Social RDBMS NoSQL R, SAS Spring XD Shell Streams Redis Gemfire Predictive modeling Spring XD
  • 24. © 2013 Pivotal Inc. All rights reserved. Do not distribute without permission. Stream Processing Model How can we make this easier?http | filter | file
  • 25. © 2013 Pivotal Inc. All rights reserved. Do not distribute without permission. XD Runtimes http | filter | file Rabbit, Redis, (Pluggable) XD Admin CLUSTERED NODE Filter Module CLUSTERED NODE HTTP Module CLUSTERED NODE File Module In Memory Transport http | filter | file SINGLE NODE All Modules
  • 26. © 2013 Pivotal Inc. All rights reserved. Do not distribute without permission. Spring Integration 4.0: What Next? • Spring 4 Platform • Java DSL • New EIP Patterns • New Adapters • Concurrency Improvement • Clustering Features • ???
  • 27. © 2013 Pivotal Inc. All rights reserved. Do not distribute without permission.
  • 28. © 2013 Pivotal Inc. All rights reserved. Do not distribute without permission. Spring Framework 4.0: Websockets
  • 29. © 2013 Pivotal Inc. All rights reserved. Do not distribute without permission. Spring Framework 4.0: Websockets
  • 30. © 2013 Pivotal Inc. All rights reserved. Do not distribute without permission. • Foundation • Distillation best-practices • Lightweight • Event routing • Fully asynchronous • Pattern based • Clear API Reactor
  • 31. © 2013 Pivotal Inc. All rights reserved. Do not distribute without permission. Dispatchers, Events, Selectors, Streams, Promises, etc.
  • 32. © 2013 Pivotal Inc. All rights reserved. Do not distribute without permission. Reactor – Landscape Spring Integration
  • 33. © 2013 Pivotal Inc. All rights reserved. Do not distribute without permission. Spring Integration + Reactor
  • 34. © 2013 Pivotal Inc. All rights reserved. Do not distribute without permission. Learn More. Stay Connected. • Spring IO: https://spring.io/platform • GitHub: https://github.com/spring-projects • Spring Integration: http://projects.spring.io/spring-integration • Spring XD: http://projects.spring.io/spring-xd • Reactor: https://github.com/reactor • Spring WebSockets: http://assets.spring.io/wp/WebSocketBlogPost.html • EIP: http://www.eaipatterns.com • Spring Batch: http://projects.spring.io/spring-batch • Spring for Hadoop: http://projects.spring.io/spring-hadoop • Groovy: http://groovy.codehaus.org
  • 35. © 2013 Pivotal Inc. All rights reserved. Do not distribute without permission. ありがとう

Notes de l'éditeur

  1. Unified platform across big data domainsStream processing: ingestion & analyticsBatch processing workflow orchestration & exportProductivityHigh level DSL for managing streams and jobsProven foundation Built on existing assets: Spring Batch, Integration, DataExtensibleDI, Test friendly…DistributedA | B | C - Pluggable transports: Rabbit, Redis, …Portable Runtime Standalone – Simplicity and testabilityYARN –Fault Tolerance and ScalabilityIn-memory data grids – co-location of reference data.PAASHadoop Distribution Agnostic
  2. Now have a unified platform that handle the whole thing.TODO – get rid of mobile?....XD runtime address both stream and batch processing in a unfired manner.XD runtime address both stream and batch processing in a unfired manner.
  3. Distributed mode, process boundaries