From 41450109b1d035fece78ca7feeb7a29420574069 Mon Sep 17 00:00:00 2001 From: Gary Russell Date: Sat, 7 Sep 2013 16:22:18 -0700 Subject: [PATCH] Add project page --- _config.yml | 10 +-- _includes/build.gradle | 3 + _includes/pom.xml | 18 ++++ img/project-icon-large.png | Bin 0 -> 8919 bytes index.html | 178 +++++++++++++++++++++++++++++++++++++ 5 files changed, 204 insertions(+), 5 deletions(-) create mode 100644 _includes/build.gradle create mode 100644 _includes/pom.xml create mode 100644 img/project-icon-large.png create mode 100644 index.html diff --git a/_config.yml b/_config.yml index bc1bafcadb..a23a620267 100644 --- a/_config.yml +++ b/_config.yml @@ -10,20 +10,20 @@ redcarpet: ### The following properties will change on a project-by-project basis # Context path in the remote website (usually /), will be prepended to absolute URLs for static resources -baseurl: /gh-pages +baseurl: /spring-integration # Name of the project for display in places like page titles -name: Spring Framework +name: Spring Integration # ID of the project in the metadata API at spring.io (if this is not a # valid project ID the javascript widgets in the home page will not work) -project: spring-framework +project: spring-integration # Project github URL -github_repo_url: http://github.com/spring-projects/spring-framework +github_repo_url: http://github.com/spring-projects/spring-integration # Project forum URL -forum: http://forum.spring.io/forum/spring-projects/container +forum: http://forum.spring.io/forum/spring-projects/integration ### The following properties are constant for most projects diff --git a/_includes/build.gradle b/_includes/build.gradle new file mode 100644 index 0000000000..bdefeccdfc --- /dev/null +++ b/_includes/build.gradle @@ -0,0 +1,3 @@ +dependencies { + compile '{@= groupId @}:spring-integration-core:{@= version @}' +} diff --git a/_includes/pom.xml b/_includes/pom.xml new file mode 100644 index 0000000000..5a2d7473c3 --- /dev/null +++ b/_includes/pom.xml @@ -0,0 +1,18 @@ + + + {@= groupId @} + spring-integration-core + {@= version @} + + +{@ if (repository) { @} + + + {@= repository.id @} + {@= repository.name @} + {@= repository.url @} + + {@= repository.snapshotsEnabled @} + + +{@ } @} diff --git a/img/project-icon-large.png b/img/project-icon-large.png new file mode 100644 index 0000000000000000000000000000000000000000..75831bacb67daccbaea9144bf2a577f4b758cf20 GIT binary patch literal 8919 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 literal 0 HcmV?d00001 diff --git a/index.html b/index.html new file mode 100644 index 0000000000..ad883affef --- /dev/null +++ b/index.html @@ -0,0 +1,178 @@ +--- +# The name of your project +title: Spring Integration + +badges: + + + # Customize your project's badges. Delete any entries that do not apply. + custom: + - name: Source (GitHub) + url: https://github.com/spring-projects/spring-integration + icon: github + + - name: Issues (JIRA) + url: http://jira.springsource.org/browse/INT + icon: tracking + + - name: CI (Bamboo) + url: https://build.springsource.org/browse/INT + icon: ci + + - name: Forum + url: http://forum.spring.io/forum/spring-projects/integration + icon: forum + + - name: StackOverflow + url: http://stackoverflow.com/questions/tagged/spring-integration + icon: stackoverflow + + - name: Metrics (SonarQube) + url: https://sonar.springsource.org/dashboard/index/org.springframework.integration:spring-integration + icon: metrics + +--- + + + + + + +{% capture billboard_description %} + +Extends the Spring programming model to support the well-known +[Enterprise Integration Patterns](http://www.eaipatterns.com). Spring Integration enables lightweight messaging +within Spring-based applications and supports integration with external systems via declarative adapters. +Those adapters provide a higher-level of abstraction over Spring's support for remoting, messaging, +and scheduling. Spring Integration's primary goal is to provide a simple model for building enterprise +integration solutions while maintaining the separation of concerns that is essential for producing +maintainable, testable code. + +{% endcapture %} + +{% capture main_content %} + +Using the [Spring Framework](/spring-framework/) encourages developers to code using interfaces and +use dependency injection (DI) to provide a Plain Old Java Object (POJO) with the dependencies it needs +to perform its tasks. __Spring Integration__ takes this concept one step further, where POJOs are wired +together using a messaging paradigm and individual components may not be aware of other components in +the application. Such an application is built by assembling fine-grained reusable components to form +a higher level of functionality. WIth careful design, these flows can be modularized and also reused +at an even higher level. + +In addition to wiring together fine-grained components, Spring Integration provides a wide selection of +channel adapters and gateways to communicate with external systems. Channel Adapters are used for one-way +integration (send or receive); gateways are used for request/reply scenarios (inbound or outbound). +For a full list of adapters and gateways, refer to the reference documentation. + +The [Spring XD](/spring-xd/) project builds on Spring Integration, where Spring Integration modules +are assembled into an XD Stream. + +## Features + +* Implementation of most of the [Enterprise Integration Patterns](http://www.eaipatterns.com) + * Endpoint + * Channel (Point-to-point and Publish/Subscribe) + * Aggregator + * Filter + * Transformer + * Control Bus + * ... +* Integration with External Systems + * ReST/HTTP + * FTP/SFTP + * Twitter + * WebServices (SOAP and ReST) + * TCP/UDP + * JMS + * RabbitMQ + * Email + * ... +* The framework has extensive JMX support + * Exposing framework components as MBeans + * Adapters to obtain attributes from MBeans, invoke operations, send/receive notifications + + +## Quick Start + +{% include download_widget.md %} + +In the following "quick start" application you can see that the same gateway interface is +used to invoke two completely different service implementations. To build and run this program +you will need the __spring-integration-ws__ and __spring-integration-xml__ modules as described +above. + +````java +public class Main { + + public static void main(String... args) throws Exception { + ApplicationContext ctx = + new ClassPathXmlApplicationContext("context.xml"); + // Simple Service + TempConverter converter = + ctx.getBean("simpleGateway", TempConverter.class); + System.out.println(converter.fahrenheitToCelcius(68.0f)); + // Web Service + converter = ctx.getBean("wsGateway", TempConverter.class); + System.out.println(converter.fahrenheitToCelcius(68.0f)); + } +} +```` + +````java +public interface TempConverter { + + float fahrenheitToCelcius(float fahren); + +} +```` + +````xml + + + + + + + + + + + + + + + + + + +```` + +{% endcapture %} + +{% capture related_resources %} + +### Sample Projects + +An extensive array of [sample applications](https://github.com/SpringSource/spring-integration-samples) is available. + +### Other Resources + +* A number of additional adapters and gateways have been [provided by the community](https://github.com/SpringSource/spring-integration-extensions). +* Contributions are always welcome, either new modules in the [extensions repository](https://github.com/SpringSource/spring-integration-extensions) +or new features for the core project. For more information see the [Contributor Guidelines](https://github.com/SpringSource/spring-integration/blob/master/CONTRIBUTING.md). +* [Spring Integration in Action](http://www.manning.com/fisher/) by project founder [Mark Fisher](https://spring.io/team/mfisher) et al. + +{% endcapture %} + + +{% include project_page.html %} + \ No newline at end of file