Slide 1

Slide 1 text

INTEGRATION

Slide 2

Slide 2 text

From an IDEA to a PRODUCT

Slide 3

Slide 3 text

NoSQL RDBMS or

Slide 4

Slide 4 text

or

Slide 5

Slide 5 text

? ? ? Web API Persistence Flexible business logic Integration in an existing environment

Slide 6

Slide 6 text

Spring Projects Grails Batch Data Commons Data JDBC Extensions Data Neo4J Data Solr for Apache Hadoop Integration Mobile Security Oauth Social Facebook Web Services Reactor Project Boot Data Gemfire Data JPA Data Redis Flex Framework IO Platform Roo Shell Social Twitter XD AMQP Cloud Connectors DATA JDBC Extensions Data MongoDB Data REST for Android HATEOAS Security Social Web Flow

Slide 7

Slide 7 text

Spring Framework Spring Data JPA Spring Integration

Slide 8

Slide 8 text

Spring Integration Promote loose-coupling between components. The Message Channel plays an important role in that producers and consumers do not have to know about each other

Slide 9

Slide 9 text

http://www.eaipatterns.com Enterprise Integrations Patterns Spring Integration is aligned with Message Send it Use it Transform it Route it channel channel channel

Slide 10

Slide 10 text

No content

Slide 11

Slide 11 text

Generate an alert and store it on the filesystem Development

Slide 12

Slide 12 text

Development public class Generator { public Alert generate(Context context) { return new Alert(context); } } public class Filestore { public void store(Alert alert) { FileUtils.save(alert); } }

Slide 13

Slide 13 text

Customer 1 Generate an alert and send it using a push API

Slide 14

Slide 14 text

Generate an alert, push it and store it in the database Customer 2

Slide 15

Slide 15 text

asynchronous made easy channel as a Java method Highlights

Slide 16

Slide 16 text

Direct channel (FIFO), generator and pushapi run in the same thread Publish Subscribe channel, generator and pushapi run in separate threads asynchronous made easy

Slide 17

Slide 17 text

Aggregator to wait for the asynchronous tasks to complete or timeout asynchronous made easy

Slide 18

Slide 18 text

public class MyUnitOfWork { private MyService service; public String generate(String message) { return service.render(message); } } public interface MyService { String render(String message); } channel as a Java method Spring to provide the implementation              

Slide 19

Slide 19 text

Demo

Slide 20

Slide 20 text

Rich set of endpoints AMQP, File, FTP, Gemfire, HTTP, Mail, JDBC, JPA, JMS, MongoDB, REDIS, RMI, TCP, UDP, Websocket and more Pay attention to Transactions' scope when using asynchronous channels Summary

Slide 21

Slide 21 text

Configuration can be verbose Spring Integration Java DSL released Refrain from over engineering channels and endpoints Balance flexibility and readibility Summary

Slide 22

Slide 22 text

No content