Today I’m at an offsite meeting, talking about a new project. I won’t get into too many specific details, but we have to pull data from a web service and update an Oracle database. We can use a vendor provided Java API that runs on a Unix box to do the updates, or we can write to the database directly as long as we handle integrity issues.
So we spent the day brainstorming, to come up with possible solutions. Here is the list of contenders:
- Write a Java app that runs on Unix that uses the vendor API’s.
- Write a Java app that runs on Unix and updates the database directly.
- Write a C# app that runs on a Windows Server, where a Batch Scheduler will kick it off.
- Write a C# app that runs as a Windows Service under XP (we haven’t taken the Vista plunge at work yet).
- Write a SQL Server Integration Services package that is run by the SQL Server job scheduler. It will use the web service as the input and update Oracle.
- Use one of the above methods to pull the data then let BizTalk process it from there.
We haven’t made a decision yet, and my point was not so much to talk about the pro’s and cons of each solution. Instead it’s to get you to think creatively when it comes to new solutions for your company. Sitting down and cranking out yet another C# or VB.Net app may not always be the best approach. You may have a task you can accomplish with less code by using SQL Server Integration Services. Or maybe BizTalk might fit the bill.
All too often as programmers our first answer to any solution is to pull up Visual Studio and start grinding out code. Take some time though, to explore a few other options. There’s a rich set of tools out there, and sometimes the best solution to a programming problem may not be programming.