diff --git a/README.md b/README.md index ef69b7a9..c3ff5944 100644 --- a/README.md +++ b/README.md @@ -15,18 +15,50 @@ Below is a short description of each category. This is a good place to get started. The samples here are technically motivated and demonstrate the bare minimum with regard to configuration and code to help you to get introduced to the basic concepts, API and configuration of Spring Integration. For example if you are looking for an answer on how to wire service-activator to a channel or how to apply Gateway to your message exchange or how to get started with using MAIL or XML the module, this would be the right place to find a relevant sample. The bottom line is that this is a good starting point. +* **control-bus** - demonstrates the functionality of the **Control Bus** +* **feed** - demonstrates the functionality of the **Feed Adapter** (RSS/ATOM) +* **file** - demonstrates aspects of the various File Adapters (e.g. **File Inbound/Outbound Channel Adapters**, file **polling**) +* **ftp** - demonstrates the **FTP support** available with Spring Integration +* **helloworld** - very simple starting example illustrating a basic message flow (using **Channel**, **ServiceActivator**, **QueueChannel**) +* **http** - demonstrates request/reply communication when using a pair of **HTTP Inbound/Outbound gateways** +* **jms** - demonstrates **JMS** support available with Spring Integration +* **jmx** - demonstrates **JMX** support using a **JMX Attribute Polling Channel** and **JMX Operation Invoking Channel Adapter** +* **mail** - example showing **IMAP** and **POP3** support +* **oddeven** - Example combining the functionality of **Inbound Channel Adapter**, **Filter**, **Router** and **Poller** +* **quote** - Example demoing core EIP support using **Channel Adapter (Inbound and Stdout)**, **Poller** with Interval Trigers, **Service Activator** +* **sftp** - demonstrating SFTP support using **SFTP Inbound / Outbound Channel Adapters** +* **tcp-client-server** - demonstrates socket communication using **TcpOutboundGateway**, **TcpInboundGateway** and also uses a **Gateway** and a **Service Activator** +* **testing-examples** - A series of test cases that show techniques to **test** Spring Integration applications. +* **twitter** - Illustrates Twitter support using the **Twitter Inbound Channel Adapter**, **Twitter Inbound Search Channel Adapter**, **Twitter Outbound Channel Adapter** +* **ws-inbound-gateway** - Example showing basic functionality of the **Web Service Gateway** +* **ws-outbound-gateway** - Shows outbound web services support using the **Web Service Outbound Gateway**, **Content Enricher**, Composed Message Processor (**Chain**) +* **xml** - Example demonstrates various aspects of the **Xml** support using an **XPath Splitter**, **XPath Router**, **XSLT Transformer** as well as **XPath Expression** support +* **xmpp** - Show the support for [**XMPP**](http://en.wikipedia.org/wiki/Extensible_Messaging_and_Presence_Protocol) (formerly known as Jabber) using e.g. GoogleTalk + ## Intermediate This category targets developers who are already familiar with the Spring Integration framework (past getting started), but need some more guidance while resolving more advanced technical problems that you have to deal with when switching to a Messaging architecture. For example, if you are looking for an answer on how to handle errors in various scenarios, or how to properly configure an Aggregator for the situations where some messages might not ever arrive for aggregation, or any other issue that goes beyond a basic understanding and configuration of a particular component to address "what else you can do?" types of problems, this would be the right place to find relevant samples. +* **async-gateway** - Example shows usage of an **Asynchronous Gateway** +* **errorhandling** - Demonstrates basic **Error Handling** capabilities of Spring Integration +* **file-processing** - Sample demonstrates how to wire a message flow to process files either sequentially (maintain the order) or concurrently (no order). +* **multipart-http** - Demonstrates the sending of HTTP multipart requests using Spring's **RestTemplate** and a Spring Integration **Http Outbound Gateway** +* **travel** - More sophisticated example showing the retrieval of weather (SOAP Web Service) and traffic (HTTP Service) reports using real services + ## Advanced This category targets advanced developers who are quite familiar with the Spring Integration framework but looking to address a specific custom need by extending from the Spring Integration public API. For example, if you are looking for samples showing you how to implement a custom Channel or Consumer (event-based or polling-based), or you are trying to figure out what is the most appropriate way to implement a custom BeanParser on top of the Spring Integration BeanParser hierarchy when implementing a custom namespace, this would be the right place to look. Here you can also find samples that will help you with adapter development. Spring Integration comes with an extensive library of adapters that allow you to connect remote systems with the Spring Integration messaging framework. However you might have a need to integrate with a system for which the core framework does not provide an adapter, so you have to implement your own. This category would include samples showing you how to implement various adapters. +* **advanced-testing-examples** - Example test cases that show advanced techniques to test Spring Integration applications + ## Applications This category targets developers and architects who have a good understanding of Message-driven architecture and Enterprise Integration Patterns, and an above average understanding of Spring and Spring integration and who are looking for samples that address a particular business problem. In other words, the emphasis of samples in this category is 'business use cases' and how they can be solved via a Messaging architecture and Spring Integration in particular. For example, if you are interested to see how a Loan Broker process or Travel Agent process could be implemented and automated via Spring Integration, this would be the right place to find these types of samples. +* **cafe** - Emulates a simple operation of a coffee shop combining various Spring Integration adapters (Including **Router** and **Splitter**) see [Appendix A of the reference documentation](http://static.springsource.org/spring-integration/docs/latest-ga/reference/html/samples.html) for more details +* **loan-broker** - Simulates a simple banking application (Uses **Gateway**, **Chain**, **Header Enricher**, **Recipient List Router**, **Aggregator**) see [Appendix A of the reference documentation](http://static.springsource.org/spring-integration/docs/latest-ga/reference/html/samples.html) for more details +* **loanshark** This extension to the loan broker sample shows how to exchange messages between Spring Integration applications (and other technologies) using **UDP**. + #Resources For more information, please visit the Spring Integration website at: [http://www.springsource.org/spring-integration](http://www.springsource.org/spring-integration) diff --git a/advanced/README.md b/advanced/README.md index c853efbd..c48f3367 100644 --- a/advanced/README.md +++ b/advanced/README.md @@ -1,13 +1,8 @@ +Advanced Samples +================ - $$ ADVANCED Samples $$ +This category targets advanced developers who are well familiar with the [Spring Integration](http://www.springsource.org/spring-integration) framework but are looking to extend it to address a specific custom need by extending from Spring Integration's public API. -This category targets advanced developers who are well familiar with Spring Integration framework but looking to -extend it to address a specific custom need by extending from Spring Integration public API. -For example; if you are looking for samples showing you how to implement a custom Channel or -Consumer (event-based or polling-based), or you trying to figure out what is the most appropriate way to implement -custom BeanParser on top of Spring Integration�BeanParser�hierarchy when implementing custom name space, -this would be the right place to look. -Here you can also find samples that will help you with adapter development. Spring Integration comes with an extensive -library of adapters that allow you to connect remote systems with Spring Integration messaging framework. -However you might have a need to integrate with system for which the core framework does not provide an adapter. -So you have to implement your own. This category would include samples showing you how to implement various adapters. +For example; if you are looking for samples showing you how to implement a custom **Channel** or **Consumer** (event-based or polling-based), or if you trying to figure out what is the most appropriate way to implement a custom **BeanParser** on top of the Spring Integration BeanParser hierarchy when implementing custom namespaces, this would be the right place to look. + +Here you can also find samples that will help you with adapter development. Spring Integration comes with an extensive library of adapters that allow you to connect remote systems with Spring Integration messaging framework. However you might have a need to integrate with systems for which the core framework does not provide an adapter and consequently you may have to implement your own adapter. This category would include samples showing you how to implement various adapters. diff --git a/applications/README.md b/applications/README.md index b38e22fd..859ccbfd 100644 --- a/applications/README.md +++ b/applications/README.md @@ -1,9 +1,5 @@ +Applications Samples +==================== - $$ APPLICATIONS Samples $$ +This category targets developers and architects who have a good understanding of the Messaging architecture, EIP and above average understanding of Spring and Spring integration and are looking for samples that address a particular business problem. In other word the emphasis of samples in this category is 'business use cases' and how it could be solved via Messaging architecture and Spring Integration in particular. For example; If you are interested to see how a Loan Broker process or Travel Agent process could be implemented and automated via Spring Integration this would be the right place to find these types of samples. -This category targets developers and architects who have a good understanding of the Messaging architecture, -EIP and above average understanding of Spring and Spring integration and are looking for samples that -address a particular business problem. In other word the emphasis of samples in this category is 'business use cases' -and how it could be solved via Messaging architecture and Spring Integration in particular. -For example; If you are interested to see how a Loan Broker process or Travel Agent process could be implemented and -automated via Spring Integration this would be the right place to find these types of samples. diff --git a/basic/README.md b/basic/README.md index 11fcadff..70455749 100644 --- a/basic/README.md +++ b/basic/README.md @@ -1,10 +1,6 @@ +Basic Samples +============= - $$ BASIC Samples $$ +This is a good place to get started. The samples here are technically motivated and demonstrate the bare minimum with regard to configuration and code to help you to get introduced to the basic concepts, API and configuration of [Spring Integration](http://www.springsource.org/spring-integration) and how they relate to [Enterprise Integration Patterns](http://www.eaipatterns.com/) (EIP). -This is a good place to get started. The samples here are technically motivated and demonstrate -the bare minimum with regard to configuration and code to help you to get introduced to the basic -concepts, API and configuration of Spring Integration and how they relate to Enterprise Integration Patterns (EIP). - -For example; if your are looking for an answer on how to wire service-activator to a channel or how to -apply Gateway to your message exchange or how to get started with using MAIL or XML module etc., -this would be the right place to find a good sample. This category of samples is this is a good place to start. \ No newline at end of file +For example; if your are looking for an answer on how to wire a **Service Activator** to a **Channel** or how to apply a **Gateway** to your message exchange or how to get started with using the **Mail** or **XML** module etc., this would be the right place to find a good sample. \ No newline at end of file diff --git a/intermediate/README.md b/intermediate/README.md index ae886d27..4aebbe7b 100644 --- a/intermediate/README.md +++ b/intermediate/README.md @@ -1,11 +1,6 @@ +Intermediate Samples +==================== - $$ INTERMEDIATE Samples $$ +This category targets developers who are already familiar with the [Spring Integration](http://www.springsource.org/spring-integration) framework (past getting started), but need some more guidance while resolving more advanced technical problems that they have to deal with once having switched to a Messaging architecture. -This category targets developers who are already familiar with Spring Integration framework (past getting started), -but need some more guidance while resolving Êmore advanced technical problems that you have to deal with -once switch to a Messaging architecture. -For example; If you are looking for an answer on how to handle errors in various -scenarios or how to properly configure Aggregator for the situations where some messages might not ever arrive -for aggregation etc,. and any other issue that goes beyond a basic understanding and configuration of a -particular component and addresses "what else you can do with it" type of problem this would be the right place -to find these type of samples. +For example; If you are looking for an answer on how to handle errors in various scenarios or how to properly configure the **Aggregator** for the situations where some messages might not ever arrive for aggregation etc., and any other issue that goes beyond a basic understanding and configuration of a particular component and addresses "what else you can do with it" type of problem, this would be the right place to find these type of samples.