Your SlideShare is downloading. ×

Spring & messaging

705
views

Published on

Show how messaging is involved in the Spring projects. Demonstrate Spring Integration advanced topics, What's New, What Next. Introduction to Spring XD, Web Sockets and Reactor

Show how messaging is involved in the Spring projects. Demonstrate Spring Integration advanced topics, What's New, What Next. Introduction to Spring XD, Web Sockets and Reactor

Published in: Technology

0 Comments
4 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total Views
705
On Slideshare
0
From Embeds
0
Number of Embeds
1
Actions
Shares
0
Downloads
22
Comments
0
Likes
4
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
  • 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
  • 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.
  • Distributed mode, process boundaries
  • Transcript

    • 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. ありがとう