Archive

Archive for August, 2006

Code Conversion Tools – VB6 to VB.NET, Java to C# and more

August 22nd, 2006 Thomas 1 comment

You might have used the VB6 to VB.NET Upgrade Wizard in Visual Studio, or maybe the Java Language Conversion Assistant (JLCA) to convert Java code to C#.  These tools have something in common - the technology comes not from Microsoft, but from a company called ArtinSoft.

This is a company with some very intriguing products based on artificial intelligence engines.  Their business is all about source code and platform conversion – VB6 to VB.NET, Java to C#, PL/SQL to T/SQL, Linc to J2EE – you name it, they can probably do it.  They have two AI-based engines, and the one called Freedom is behind JLCA and the VB.NET Upgrade Wizard.  Through a complex process, this engine creates a langage-agnostic intermediate representation of the original source code, which can then be written out in a completely different language.

Now, people tend to complain a lot about the VB.NET Upgrade Wizard, but if you stop and think about what the tool has to do, it works incredibly well.  The quality of the original source is obviously going to be a major factor.  If the VB6 source has Option Explicit off and looks, well, like most VB6 code does, it’s amazing that the wizard can make any sense of it.

One important thing to know is that ArtinSoft sells their own versions of both of these tools: the Visual Basic Upgrade Companion and the JLCA Companion.  These products are much more advanced versions of the free tools.  The VB Upgrade Companion can even convert your VB6 code to C#.  Yes, VB6 directly to C#!  How cool is that?  ArtinSoft also offers consulting services to help with your migration projects.

Sometimes the right answer is to redesign and rewrite your code.  Other (most?) times, that is very hard to justify to your CIO, and that’s when your company might want to consider ArtinSoft’s paid applications and services.  Cost may still be an issue, since I hear that these tools are licensed by number of lines of source code, but that’s something to evaluate while you look at all of the pros and cons and make a final rewrite/upgrade decision.

Categories: Development Tags:

Presenting at the Microsoft SOA & Business Process Conference

August 22nd, 2006 Thomas 1 comment

The Microsoft SOA & Business Process Conference is coming soon.  This is a great 4-day conference held at the Microsoft campus at an awesome price – only $199!  Consider that TechEd costs nearly $2,000!  Of course you have to pay to get there, but really, this is still a terrific deal.

The conference features four tracks, three technical and one business:

  • Service Oriented Architecture (incl. BizTalk 2006, WCF, WF, HIS and more)
  • Connected Systems Technology and Products (.NET 3.0 and BizTalk 2006)
  • Business Process Management (Office System 2007 and BizTalk 2006 R2)
  • Business Value (Why care and what are the opportunities)

The agenda and sessions are still being finalized, so keep checking the conference website for updates.

I’m pleased to announce that I will be presenting the following session in the SOA track, so I hope to see you there!

Effective Techniques for Working with Large Messages in a Service-Oriented Architecture

In a Service-Oriented Architecture (SOA), small messages are easy to work with and don’t create extra challenges of their own, but various issues arise when the message size grows to megabytes in size. This session will identify the issues you should consider and then explore specific techniques that you can use to work effectively with large messages in ASP.NET 2.0 Web services and BizTalk Server 2006.

Categories: BizTalk, Personal Tags:

Internal Microsoft Tools Available to the Public

August 3rd, 2006 Thomas Comments off

One of the coolest resources that Microsoft employees have is an internal website filled with hundreds and hundreds of small but useful apps and utilities, many of which were written by Microsoft employees.  Sadly, few of the tools are made available outside of Microsoft, but here are a bunch that have made it out and places to look for more.

Fiddler: In the author’s own words: “Fiddler is a HTTP Debugging Proxy which logs all HTTP traffic between your computer and the Internet. Fiddler allows you to inspect all HTTP Traffic, set breakpoints, and “fiddle” with incoming or outgoing data. Fiddler is designed to be much simpler than using NetMon or Achilles, and includes a simple but powerful JScript.NET event-based scripting subsystem.”

Sandcastle: This is the actual tool that Microsoft uses to generate the .NET Framework’s MSDN-style documentation.  NDoc works fairly well, but Sandcastle is the new tool of choice for building help files.

FxCop: The same tool behind “Code Analysis” functionality in select Visual Studio 2005 Editions, this is one of the most important tools for .NET software developers. This outstanding tool analyzes managed code assemblies for over 200 types of defects, and will point out all kinds of “gotchas” that you never would have noticed on your own.

LogParser: A truly amazing tool, LogParser allows you to write SQL queries against data stored in random files in all kinds of different formats, including XML, CSV and various IIS log formats, and it can write the results to lots of different formats — all without loading the data into a database! If it doesn’t support the format you need, you can write an extension for it.

WiX: One of the first, if not the first, internal Microsoft tool to go open-source.  A set of command-line utilities that build MSI/MSM files from XML command files.  Great for building installers in an automated build process.

RoboCopy and much more: RoboCopy is a very powerful and reliable file copy/move tool that also includes directory synchronization.  It is packaged with dozens of other great tools in the Windows Server 2003 Resource Kit Tools package.  (Many of the tools do not require Windows Server 2003.)

One of the newest and fastest-growing places to find Microsoft-created tools is CodePlex, Microsoft’s newest “community development” website. There is no good way to determine exactly which projects originate from Microsoft, but some are clearly stated. One of the tools you will find here is the Team Foundation Server Administration Tool.

Some tools turn up on the official Microsoft website as unsupported downloads.  For example, Lookout, released in early 2005, is an Outlook add-in that lets you quickly search all types of Outlook and file system data.  Not very useful, perhaps, in this age of Windows Desktop Search and Google Desktop, but it’s an example of what you can find if you dig around in Microsoft Downloads.

Browse the GotDotNet User Samples area — look for the Microsoft logo next to the sample title.  XML tools and Web Service tools are also available on GotDotNet.

Know of more useful tools that originated inside Microsoft?  Please share them!

Categories: Development, Microsoft Tags: