Before I get into the new stuff, here is a quick introduction. iBeans is a project I've been working on that aims to make integration for web applications much easier than it is today. It does this by focusing on simplicity and task-based integration and avoids technical jargon and new concepts wherever possible. In a nutshell iBeans offers –
- Easy to use integration for doing things like -
- publishing and subscribing to JMS queues and topics
- Sending and receiving email
- Polling resources such as Databases and ATOM feeds
- Scheduling tasks
- Creating HTTP/Rest Services
- Consuming external services such as Amazon EC2 and S3, Twitter, Flickr, Google and lots more
- A Tomcat distribution which drops straight into tomcat, no need to mess with your project dependencies and works with developer tooling for Tomcat or Tcat
- A really simple API using annotations. This means iBeans can be plugged into your existing web apps easily
- Easy unit and mock testing using JUnit
- IBeans Central offers a great place to discover and try new iBeans in your applications
What's new in 1.0-beta-9
- An iBeans plugin for Eclipse makes it really easy to create and debug web projects that use iBeans. The plugin works with the JEE distribution of Eclipse, enabling you to create and test a web application on Tomcat or MuleSoft Tcat in minutes. See iBeans Eclipse plugin for more information.
- Support for XML-to-object binding using JAXB. iBeans offers automatic transformations of XML to JAXB objects, which provides a powerful way to easily marshal/unmarshal objects to and from XML. See XML Bindings for more information.
- Support for JSON-to-object binding. Works in the same way as XML bindings but allows developers to marshal/unmarshal objects to and from JSON using the excellent Jackson framework. This is really useful for interacting with REST services since many services serve their data in JSON format. See JSON Bindings for more information.
- The new ATOM connector makes it really easy to poll ATOM publishing protocol feeds and work with contents. See the ATOM Channel for more information.
- The new
@Interceptorannotation allow developers to intercept the call flow of an iBean and plug in additional logic.
- New debugging capabilities make it really easy to plug a proxy into iBeans to watch HTTP traffic flow in and out. Also, the new Log Responses interceptor will log all response data to files. These can be used for debugging but also provide a really easy way to create the stub data for Mock testing. See Debugging iBeans for more information.
- HTTP multi-part support allows parts to be sent and read as attachments. This makes it really easy to create methods that upload image and file data to external services.
- Transformers now support generic collections matching and multiple source types. This makes life very easy when dealing with different input source types for the same transformer and dealing with transformers that consume or produce typed collections. See Working with Transformers for more information.
@Returnannotation can be used on an iBean method to execute an expression on the return data. This is very useful for extracting response data and passing back something more useful to the user. For example, when a REST PUT service is invoked, it is usually desirable is to pass back the URL of a newly created object, not the XML/JSON response text.
There are also several new iBeans you can use to get up and running quickly:
- Amazon S3 iBean - makes working with Amazon S3 data stores a breeze
- WhoIs iBean - look up domain name information
- IP Info iBeans - find the Geo Location for a given IP address
- Twitter iBean - now supports full search and account management methods
- Flickr iBean - complete search support and authentication
First, download iBeans. There are two screen casts to get you going: iBeans Introduction and Getting Started with Eclipse. I presented iBeans at Devoxx a couple of weeks ago, and the slides from that session are available here. When you're ready for more info, see the iBeans documentation.
If you have any issues or questions, email the user list at email@example.com or forums.
Thanks to everyone who provided feedback and ideas for this release. Please keep them coming.