With companies of all shapes and sizes looking to their software developers for productivity enhancing solutions, outsourcing continues to spark debate, while an odd mix of middleware, Web services and distributive computing may be just the solution to saving bickies. Jeanne-Vida Douglas reports
When it comes to productivity-enhancing solutions in the software development sector few solutions are without controversy. Outsourcing software development to low-wage countries such as India and China, is a case in point. Big picture economists argue that capital invested in software development should have the freedom to go where it creates the most return, and that all stand to benefit from the subsequent increase in productivity.
Even bigger picture economists point out that software developers in low-wage countries aren't any more productive per se, rather they lack the geo-political clout to secure higher wages. The essence of this argument is that outsourcing software development to lower-wage countries provides companies with an opportunity to exploit developers in a way not possible in developed countries. Developers in higher-wage countries lose out on work and find themselves surplus to requirement - either they retrain or downsize their pay claims in order to appear more productive.
This claim, in turn, is refuted by outsourcing supporters, who argue that in outsourcing the more tedious and repetitive aspects of software development to low-wage countries, they keep software developers in high-wage countries in work, providing them with more opportunities to fine-tune, enhance and support applications for specific business requirements.
And so the debate goes on - as it has since David Ricardo argued the case for free-trade in the early 19th Century.
However, rather than let concerns about job security get you down why not try to wring some extra productivity out of Sun Microsystems' latest offering. Sun is unashamedly dangling a line out to those in the Microsoft camp this month with the release of a testing program for its much-awaited Java Studio Creator. Known as Project Rave - the early-access release of Java Studio Creator is aimed at Java-centric business applications developers and promises a more visual programming experience for the rapid development of Web-based applications. As with all of the Sun Java Studio tools, Creator is based on the NetBeans (www.netbeans.org) open source platform. This is the third trial release of the tool, with the full version earmarked for around mid-year.
IBM has similarly renewed its commitment to open source platforms with the release of seven new free tools for the development of Java, XML and Unix applications. The tools have been made available on the www.alphaworks.ibm.com Web site and include an Advanced Pattern Search Toolkit, a XQuery Normalizer and Static Analyzer, a dictionary and thesaurus APIs for Java, a Command Line Bot for accessing Unix systems, a framework for Autonomic Java-Based Servers, Service Management Framework Extensions and Views for XML for developers looking for ways to trawl through large amounts of XML.
And software developers may well be trawling through large amounts of XML if they have taken the plunge into an approach to data management which promises to provide significant increases in productivity, for once without sparking controversy.
Service-oriented architectures (SOAs) have been gaining traction in the developer community over the past 12 months. Late last year the newly formed AWB Limited (formerly the Australian Wheat Board) matched its stated goal to improve the efficiency of Australian wheat exporters with the implementation of an SOA. This enabled the company to exchange data between its .Net-based Grain Centre System (GCS) which provides inventory management and its SAP-based financials focused business backend. In this case the missing link was SAP's application server middleware NetWeaver, and J2EE-based integration; however, an SOA is not limited to particular environments or products.
In fact SOAs are not even a new idea, their roots can be traced back to the early 80s when developers first began looking for ways to exchange data between different computing entities, in a manner that enabled each entity to work on that data on the other's behalf. While the idea seemed plausible, developers lacked tools to bring it to fruition; however the advent of Web services, and improvements in middleware technology, has revived interest in SOAs.
While SOAs are not necessarily Web-services based, Simple Object Access Protocol (SOAP) is providing the rules, Universal Description, Discovery, and Integrations (UDDIs) the service descriptions, and XML the means to enable SOA implementations.
And although SOAs and Web services have a lot in common, there is one key difference - the former exposes software components on the network for reuse in different applications whereas the latter provides a hard-coded point-to-point data exchange. Ask a Web service the right question, in the right way, and it will give you the right answer. SOAs on the other hand include information on how to find and query a service on the UDDI-based directory, so it is possible to hunt around for a service which best suits your purposes from amongst those already written for other tasks. With SOAs the emphasis is on flexibility, you connect to the service you require, when you require it.
Central to development of SOAs is the desire to reuse or recycle data, and the notion of loose coupling. Previous attempts to seamlessly transfer data between different file types and applications focused on standardization via complex and often bulky middleware. Loose coupling enables relevant information to be extracted from any arbitrary document format, by assuming incompatibility. It sounds too good to be true, and experts warn that it is not a cure all for incompatibilities between different formats - but a useful means to overcome syntactical differences.
According to IT research group Gartner 85 percent of development houses will be applying SOA design concepts within five years with Toyota Australia the most recent high-profile company to go down the SOA path locally. With 100 manufacturing suppliers, 220 dealers and $10 billion in annual revenues, the company was looking for a way to improve overall productivity through the integration of data created by disparate applications from a variety of software vendors. Looking to avoid proprietary headaches, the company opted for BEA's WebLogic Integration 8.1 and WebLogic Workshop 8.1 to create the backbone for J2EE applications.
As with all new technologies the SOA approach will no doubt have teething problems; however, unlike ERP and CRM, the productivity enhancing offerings which underpin SOA promise to release companies from proprietary shackles, at least at this early stage.
Nonetheless, as the wave comes to a head, make sure you know what you're doing before you jump in, and brace yourself for the botched implementations which are sure to come out in the wash.