Tuesday, October 26, 2010

"The UltraESB environment was a much cleaner solution for putting together the mock services, particularly with the IntelliJ IDE for writing the code"

Read the Original Comment from Jim

"Note that the leading tool for Web Services testing is SoapUI. While this product provides some powerful support for Soap based mock services, its support for REST based mock services is almost non-existent (basically, just setting up a separate test case for each endpoint and sending a file). The UltraESB environment was a much cleaner solution for putting together the mock services, particularly with the IntelliJ IDE for writing the code. I could load the payload, read it into a string, manipulate it, the write it back out to the payload. The learning curve was very minimal. Great job!"

The UltraESB recently started supporting RESTful JSON Data Services more information on the JSON support is available from http://jsonesb.org

Sunday, October 24, 2010

JSON Data Services

Want to specify an SQL statement and a corresponding URI pattern, and create a RESTful JSON Data Service with just one line of configuration?

The Free and Open Source UltraESB v1.3.0 introduces JSON Data Services which does exactly this! Create data services by specifying a SQL file and a URI pattern. The URI patterns allows you to specify variables, that correspond to the SQL statement as shown in the following example.

For example, say that you would like to expose the result of the SQL query:
SELECT * from employee where permanent = 1
and would like the Data Service to be available at URI:
/getPermanentEmployees

Or to consider a more advanced example, say that you wish to expose the results of the SQL:
SELECT * from employee where
    division = :division and department = :department 
    and sex = :sex and age > :age
and expose the Data Service with a URI as follows:
/byDeptAndDivision/<department>/<division>?age=<age>&sex=<sex>

See how easily you could create RESTful JSON Data Services using the UltraESB and a couple of lines of configuration in "JSON Data Services" published on the AdroitLogic web site.

Tuesday, October 19, 2010

Transactions spanning multiple resources - an Example with JMS, JDBC and File systems with JTA

We've written a sample that shows use of multiple JTA transactions spanning JMS, JDBC and File system resources. The sample is a solution in reply to a real user question as presented here.



The solution is presented using the Atomikos JTA libraries that allows the execution of the sample without deploying the UltraESB on a JEE application server such as JBoss. The original post requested for a sample using WebSphere MQ, and Oracle as the database, on top of JBoss.

The sample we've implemented uses an "embedded" ActiveMQ JMS server - started with just a couple of lines of Spring configuration within the UltraESB. The complete mediation is just a few lines of extremely powerful code - using the robust Spring framework JDBCTemplates. This coupled with the use of Java allows one to write powerful integration scripts, with the full power of the Java programming language or any other JSR 223 scripting language such as Ruby, Groovy, Javascript etc., without learning vendor or product specific configuration languages based on XML.

The sample shows the happy day scenarios as well as rollback of transactions, using the SOA ToolBox to fire sample JMS messages for testing.

Wednesday, October 13, 2010

Download Email and save attachments into the file system - Compare the UltraESB with Mule

For over two weeks, a user on the Mule mailing list has been looking for a way to download Email messages over POP3/IMAP and save attachments into the file system. However, as of today, the last post indicates a blocker issue MULE-5138 which needs a solution before IMAP maybe used..

I've written a simple solution over the Free and Open Source UltraESB to do the same, and it works well, and easily, with only a few lines of configuration as presented in the new ESB Comparison blog article titled "Download Email and save attachments into the file system". This example will be available as Sample #503 with future versions of the UltraESB

Monday, October 11, 2010

Web Service Proxy that emails a copy of the response passing through, using an intermediate JMS Queue

I've written an article that describes how an UltraESB Proxy Service for a SOAP service could be deployed on the Free and Open Source UltraESB, to respond back to the client immediately once the response becomes available, but then post a copy of the response via an asynchronous email - without affecting the performance of the main message flow.

This was a request for an initial proof-of-concept for a large Telecom company in the US, and shows how an embedded ActiveMQ JMS server could be started within the UltraESB using the native support for the Spring Framework

Read about it at DZone http://soa.dzone.com/news/web-service-proxy-emails-copy

This sample is now included as sample #502 with the UltraESB 1.2.0 or later