Archive for March 2011

Let’s say you need to convert data from a remote XML file (located on a remote server) into business object. In our scenario we have a Customer business object (schema) and CustomerInterface which are defined like this:

Input parameter will be used in part 2 and will define XML file URL. In this part XML file URL will be statically configured. Output is a Customer business object that we need in our service or process.

On the server we have the following XML file:

So how to deserialize data form a remote XML file into a business object over HTTP?
The most elegant solution is to use HTTP Import component (HTTP binding overview can be found here):

  1. Make sure remote XML file is accessible and valid.
  2. Create a HTTP Import Service with an interface (more info).
  3. In the properties window of HTTP Import component we must define:
    • Endpoint URL (XML file URL in our case)
    • HTTP version and method
    • Default data format handler – we will use UTF8XMLDataHandler (more info). It converts UTF-8 encoded XML data into business object and vice versa.
    • In the Method Bindings section you can also set: data serialization data handlers (for input and output), HTTP Header (character set, media type, etc.), HTTP Proxy, Security and Performance (read timeout and number of retries). In our case we will leave the default settings.


When endpoint URL and proper data handlers (UTF8XMLDataHanler in our case) are configured, we can test our component. Content of the input message is irrelevant since endpoint URL is statically configured. Let’s see the result:

We have successfully deserialized a Customer business object from a remote XML file. In part 2, we will include mediation component that will allow us to dynamically set endpoint URL for the XML file.

, , , , , , , , , , Hide

Microsoft’s Windows Azure turns one

In February this year we marked one-year anniversary of Microsoft’s Azure platform being available for public consumption. To celebrate, Microsoft has announced two additional companies that have made use of the platform for consumer- and business-facing services. One of those is T-Mobile, which used Azure to speed up the development time for its Family Room collaboration tool for mobile phones. The other is Xerox, which used Windows Azure and SQL Azure to help build its cloud-based printing service dubbed Cloud Print.

Microsoft first unveiled its Windows Azure platform a little more than two years ago at PDC 2008. The product, which lets developers write programs that live inside Microsoft’s data centers, competes with similar offerings from cloud heavyweights like Amazon Web Services, Salesforce, and Google App Engine. Microsoft has pushed it to both developers and customers alike, as a way to get the latest version of its server technologies on demand, and in a way that can be scaled up or down depending on the size of their business, or the needs of their applications. Microsoft has continued to make improvements and additions to the service, as well as to work toward moving Azure beyond its own data centers, with plans to let businesses run their own private clouds with on-premises Azure appliances.

Shortly after the free trial for businesses ended, Microsoft had said that many of the free-trialers had stayed on as paying customers, but it would not go into specifics. According to The Seattle Times, the official number now stands at 31,000 customers, up from 20,000 last July; that’s a 55 percent increase inside of seven months. Prior to that, Microsoft said during its fiscal first-quarter earnings call that it had seen Azure subscriptions grow 40 percent quarter-over-quarter.

Windows Azure's data center

, , , Hide

A few days ago Microsoft released Windows Intune, their brand new cloud-based desktop management and maintenance software.

Windows Intune is a one-place solution for management of business client machines running Windows. With help of a client application deployed to PCs in the organisation, it allows

  • update deployment
  • malware protection
  • fault identification
  • remote assistance
  • security policy management
  • inventory management and
  • asset management

Management console is web-based and hosted on Microsoft Windows Azure cloud, which allows management of organizations client PCs from any location with online access without dedicated on-site servers. Management is independent of organizations infrastructure, which means Windows domains are not required for Windows Intune to work.

For Intune to work, client PCs have to run Windows 7 (Enterprise, Professional or Ultimate), Windows Vista (Enterprise, Business or Ultimate) or Windows XP Professional with at least SP2 and have access to always-on internet connection.

Windows Intune browser console

Windows Intune management console

Windows Intune will most likely appeal to small businesses and larger IT providers, since it does not require any special infrastructure setup on-site and it also allows for remote centralized management of several workstation environments without the need for Active Directory setup. So far the licensing costs are $11 per PC administered per month and the license includes upgrade to Windows 7 Enterprise edition for that PC. For businesses considering the implementation of Intune, 30-day free trial is also available for up to 25 clients.

, , Hide

The use of OSB 11g service result caching feature

OSB 11g (Oracle Service Bus 11g ) provides an interesting feature called service result caching through the use of Oracle Coherence in-memory data grid solution. In this way we can dramatically improve performances of business services if the response  is relatively static.

To enable the use of service result caching globally using the OSB console, we have to open the Operations | Global Settings and set the Result Caching to true.

To enable service result caching on a particular business service, we open the Project Explorer and click on the business service. On the Configuration Details tab, we scroll down and edit the Message Handling Configuration. Then we expand the Advanced Settings. We select the Result Caching checkbox. Next, we have to specify the cache token, which uniquely identifies a particular cache result. This is usually an ID field.  We can also set the cache expiration time.


Then we click Next and Save.

Now if the business service locates cache result through a cache key, it returns this result to the client instead of invoking an external service. If the result is not cached (or has expired), the business service invokes the external service, returns the result to the client, and stores the result in cache.

Service result caching works only when the business service is invoked from a proxy service!

, , , , , Hide

Program of DSI conference, which will be held from 18th to 20th April in Portorož, Slovenia, is finally released. The DSI conference will bring together many excellent speakers from different IT areas, such as Cloud Computing, Business Intelligence, eBusiness, Business Process management, etc.


, , , , Hide

Our centre on IBM Software (video)

IBM published video statements on experience with IBM Software. Representatives of our Centre shared our experience in two video interviews:

, , Hide