Runtime - The Software Outsourcing Newsletter
for Executives and Investors
from Accelerance and Steve MezakIn this issue: Programming well in Java requires a team of expert engineers. Is it possible to do this offshore? Yes—if you can find the right vendor.
How to Find an Expert Java Offshore Outsourcing Vendor
The popularity of the Java™ programming platform remains high. One reason is the wide variety of open source tools and environments for productive programming with larger teams. However, building a team of engineering employees that can program Java well isn’t easy and takes several months. And finding a quality offshore vendor that can deliver expert Java programmers can also be difficult. Until now.
First of all, programming in Java is considered too complex by some. The language and some of the application programming interfaces (APIs) are criticized for the amount of time it takes to learn them. It can take a long time for a team of engineers to design and develop a running Java application.
Indeed, many simple web applications are more easily built by a couple of programmers with a scripting language like PHP, or a modern new framework like Ruby on Rails.
But scripting languages do not have a development environment that can support a large number of programmers working together on the same code base. You can also have challenges supporting a large number of users on a complex web application implemented in a scripting language and running on multiple servers.
One approach to improving scalability and reliability is to implement a distributed architecture. The objects or components of a distributed application can run on one or more different servers. This can enable greater scalability - you just add more servers. It can give you greater reliability, like when a server fails - the others can pick up the processing, sometimes even without the user noticing.
The J2EE, or Java 2 Enterprise Edition platform has excellent support for distributed applications, primarily through Enterprise JavaBeans (EJB). But distributed applications are complex and take extra programming effort to develop and test. Performance can suffer from the additional overhead needed for distributed EBJs. And testing of distributed applications is more complex too.
Whether you want your Java application to be distributed is a fundamental decision. But creating distributed applications with EJBs is not the only game in town. You can achieve acceptable levels of performance and reliability on a single server, or a few servers, running separate pieces of your application communicating with web services using the simple object access protocol (SOAP).Or you may take a simpler approach and favor plain old Java objects (POJO) over EJB. Make sure your offshore vendor does not increase the scope of your software development to include the more complex technologies when you do not really need them.
But wait! Let’s not get caught up in these technical details here.
You can read more about the tradeoffs of several J2EE architectural approaches in this excellent book, Expert One-on-One J2EE Design and Development by Rod Johnson, available on Amazon. Clearly programming in Java is a powerful approach to creating software applications. Let’s assume you have already decided on using Java. Chances are you also want to use multiple programmers to develop your software too. And if you also want to outsource to a team of programmers offshore, you have the challenge of finding a qualified vendor.
You will have to screen your prospective vendors carefully to make sure they understand and are experienced with the complexities of Java programming. If you need a highly scalable distributed Java application, make sure your vendor has the experience developing and deploying this kind of Java application with other clients, ideally on the same kind of application server that you are using (BEA WebLogic, JBoss, etc.)
Several months ago, Runtime subscribers were asked which regions of the world and/or programming technologies were of highest priority in making outsourcing decisions. 21% of the respondents said Java was their preferred technology. In response, Accelerance is now offering the Java version of the Outsourcing Jumpstart service.
Outsourcing Jumpstart – Java gives you the contact information for five pre-screened and expert Java vendors in China, India, Mexico and Russia. You also get a 15-page guide to selecting your vendor and an hour of consulting with Accelerance to help you make your final choice.
The best way to jumpstart your offshore outsourcing is with the Accelerance Outsourcing Jumpstart services. The short list of pre-qualified vendors and the included advice is all you need to start your outsourcing quickly and safely. Guaranteed.
See http://www.accelerance.com/osjstech.htm for details on the special Outsourcing Jumpstart – Java service.
***
The Runtime Bottom Line: Java is a powerful programming platform for creating sophisticated software applications. Expert teams of offshore engineers are available to implement your Java applications. But you need to know where to look. Accelerance gets you started quickly and safely with pre-screened Java expert vendors offshore.
Until next time,
Steve Mezak
Accelerance, Inc.
Risk-Free Outsourcing
213 Garcia Avenue
Half Moon Bay, CA 94019
1-650-712-8990(c) 2006 Accelerance, Inc. All rights reserved. You are free to use material from the "Runtime" eZine in whole or in part, as long as you include complete attribution, including live web site link. Please also notify me where the material will appear.
The attribution should read:
"By Steve Mezak, CEO of Accelerance, Inc. Please visit the Accelerance web site at http://www.Accelerance.com for more information and resources on outsourcing and creating great software."