Skip to main content

SOA, is it a fad?

Now that we have nearly finished our first SOA project using Sun Microsystems JCAPS platform we have some hands-on feel of this latest trend. Being our first project it definitely took more time than expected to deliver the solution (apart from busted weekends) when compared to traditional development approaches, especially when looking at the new rapid application development environments such as Netbeans 5.5.

The main advantage we experienced is that by adopting such a solution the end user benefits from a single desktop environment, something that in large organizations can be quite rare in practice. From a technical perspective an SOA solution introduced a standard enterprise platform that can act as the main backbone for application development, transaction management and standard interfacing across multiple heterogeneous backend systems.

Our experience so far has showed that SOA has to be seen as a long term strategic decision which can prove to be quite challenging to show immediate returns and as an approach follows more the economic law of increasing returns. Apart from the fact that such a solution involves a paradigm shift in the software development approach, technical teams have to go through a painstaking baggage of new technologies and thus involves quite a steep learning curve. However once the team is steered towards this new philosophy and the SOA platform starts becoming richer in terms of its penetration through the backend systems and exposed webservices/business processes thats the time one starts to see the returns. Patience is the rule of the game and for sure one cannot judge the investment/return after the initial few applications written using such an approach. Definitely however, SOA as an area is still maturing both in terms of technologies/standards and in terms of software engineering design/approach/project management. Will keep you posted on further developments ...

Comments

Popular posts from this blog

Interfacing C# .Net and R - Integrating the best of both worlds

In specific software areas like in quantitative finance or else in other mathematical domains, data centric programming typically requires a good balance between three requirements - (1) a solid platform with rich mathematical/statistical functionality (2) having an easy to use, contemporary, programming environment which permits easy and flexible front end code development and (3) an easy to use interface between the two environments.
In this artcile I am going to explain how such a balance can be attained by using two of the best products in their specific worlds - using the rich R library as the mathematical/statistical component but then interfacing with C# for the front end application design. As an interfacing option I banked on using R (D)COM which provides an easy to use interfacing method which keeps you away from spending hours identifying interfacing problems.
The software required for this tutorial is the following: 1. R software (download from here) 2. R (D)COM Interface (dow…

Interfacing C# .Net and R - Integrating the best of both worlds (Part 3) - Trader Desk Example

In this third and final part of the series (Part 1, Part 2), I am going to continue shaping the examples in the previous posts by quickly building a small application - a simple Trading Desk application. In the example I will use the same C# and R interface method together with a specific Quantitative Financial Modelling R library called Quantmod.
Example Objective In the example the objective is to build a C# Web Form which acts as the main application controller that captures various user option parameters with the main functions being:
1. To automatically kick off an R routine to download data from Yahoo Finance. 2. To select specific dates of interest 3. To add or udpate different charts 4. To add different chart indicators
5. To calculate Period Return Statistics
Most of these functions are provided through the set of R functions exposed by the Quantmod R library.
Additions under the hood
Below I am showing some of the salient additions done to the code over and above the code in the pr…

Interfacing C# .Net and R - Integrating the best of both worlds (Part 2)

This post is a continuation from the previous post (Part I) focusing on interfacing C# with R using the R (D)COM. In this post I am going to enhance my previous exercise by creating a Facade .Net Class which facilitates access to specific functions in R.
Creating the R Facade Class
Creating a Facade Class (or a set of .Net classes) which acts as a .Net wrapper to R functions greatly facilitate the use of R functions and their integration within the .Net programming environment. Below I am showing an excerpt from the class RFacade that I have created in this example.
using System;

using System.Collections.Generic;
using System.Linq;
using System.Text;
using StatConnectorCommonLib;
using STATCONNECTORSRVLib;
using System.Runtime.InteropServices;


namespace R
{


class RFacade : IDisposable
{


     private StatConnector rconn;
     private bool disposed = false;


     public RFacade()
     {
          rconn = new STATCONNECTORSRVLib.StatConnector();
          rconn.Init("R");
     }


     public void D…