Aug 1, 2011

AIM - Application infrastructure and middleware - Cloud and Appliance

AIM

Application infrastructure and middleware you can right it or buy it.

The AIM solutions provided by most major vendors like Oracle , IBM and Microsoft.
The products that out in the market contains many features that suppose to make the AIM solutions easy to handle.
You must not forget that the purpose of those products not only to create the solutions but also to provide an easy maintenance for the solutions.

The SMB market preferred not so far to do the integration by custom code because the AIM products were not so cost affective. If you need to do several integration processes a year why to spend tens of thousands on it? This was right in the past.

Today you can find a good products out there that will not only speed the integration process but also will provide good platform for maintenance.

If you don't have the man power or the resources you can get an appliance solution or a cloud.
appliance solution can be very easy to use , but keep in mind that it is an appliance , the update process can hard and you can have problems to scale your solution.

Cloud is the world that everyone use , and you can do integration as a service , INaaS.

some INaas vendors that you should check when seeking for integration solution for your business :

- Dell boomi
- WebSphere Cast Iron
- Mule Cloud connect
- Progress

Mar 13, 2011

Handling binary data in SOAP - WMB V7 and MTOM/XOP

If you need to send large binary files over SOAP I suggest to use MTOM/XOP and not the common base64 encoding. ( One of the common types to transfer binary data over SOAP).
The benefit of using MTOM is that it not increasing the size of the original message. base64 converts each 6 bits to 8. if working with UTF-8 the encoded data will be larger in about 33%.
The data will be transfered as binary over soap. no conversion.
When setting type of an element as base46binary the Axis2 framework ( Web services in WMB handled by Axis2).

From Alex Linder's Blog - C&SI

Archive Service - Soap --> File

I made a sample project to test this technology with WMB V7.0.2.
I implemented an archive service, using SOAP Input node and FileOutput node.
The consumer invoke the service with file name and file data attached to soap using MTOM.
for the testing I worked with SoapUI, great testing tool for Web Services. use the following link to configure SoapUI work with MTOM : Adding Headers and Attachments

I exposed the following WSDL

The method get to input parameters, fileName and fileBuffer ( base64binary type).
here the image of soapUi console with the request and mtom configuration

From Alex Linder's Blog - C&SI
.

When invoking the WS the binary data sent in binary mode ( MIME).

From Alex Linder's Blog - C&SI


On the server side, the base64binary is encoded as BLOB, you can see this in the following debug screen shot :

From Alex Linder's Blog - C&SI


to save the file buffer to disk I create an output message of BLOB domain in the compute node.

From Alex Linder's Blog - C&SI


don't forget to built the soap reply message.

During my testing I notice that when handling files over 1 MB during debug mode the message flow use about 50% CPU and crash.
When not in debug mode I sent files over 6 MB with no problem.

links for the tester projects:
message flow project
message set project