YOUR FEEDBACK
johnpetersen wrote: Great post. You hit some good points, and hopefully me sending this post. It wil...
Cloud Computing Conference
November 19-21 San Jose, CA
Register Today and SAVE !..


2008 East
DIAMOND SPONSOR:
Data Direct
Frontiers in Data Access: The Coming Wave in Data Services
PLATINUM SPONSORS:
Red Hat
The Opening of Virtualization
Intel
Virtualization – Path to Predictive Enterprise
Green Hills
IT Security in a Hostile World
JBoss / freedom oss
Practical SOA Approach
GOLD SPONSORS:
Software AG
The Art & Science of SOA: How Governance Enables Adoption
PlateSpin
Effective Planning for Virtual Infrastructure Growth
Fujitsu
Automated Business Process Discovery & Virtualization Service
Ceedo
Workspace Virtualization
Click For 2007 West
Event Webcasts

2008 East
PLATINUM SPONSORS:
Appcelerator
Think Fast: Accelerate AJAX Development with Appcelerator
GOLD SPONSORS:
DreamFace Interactive
The Ultimate Framework for Creating Personalized Web 2.0 Mashups
ICEsoft
AJAX and Social Computing for the Enterprise
Kaazing
Enterprise Comet: Real–Time, Real–Time, or Real–Time Web 2.0?
Nexaweb
Now Playing: Desktop Apps in the Browser!
Sun
jMaki as an AJAX Mashup Framework
POWER PANELS:
The Business Value
of RIAs
What Lies Beyond AJAX?
KEYNOTES:
Douglas Crockford
Can We Fix the Web?
Anthony Franco
2008: The Year of the RIA
Click For 2007 Event Webcasts
SYS-CON.TV
TOP LINKS YOU MUST CLICK ON


The Best of Both Worlds
Debugging Linux/Unix code using Windows XP software development tools

These days the size of almost all the resources available to a programmer (memory volume, CPU speed, etc.) are on the rise except for one: the time required to complete a project, which is shrinking. So it's important to work with tools that are convenient and make you productive. It's also important to keep the cost of software development in check by keeping as much as possible of the investments that were already made.

Windows - and currently XP Home and Professional are the most widespread versions - has a huge number of installed copies that can be measured in the hundreds of millions. Linux, on the other hand, is supported by a dedicated community of developers and often provides high-quality software. At the moment Unix operating systems (like Solaris 9 and 10) are widespread for servers.

That's why questions related to inter-system communication between Windows and Linux/Unix (including but not limited to virtualization) are attracting growing attention from developers and businesses.

A good chunk of software development tools for XP is customizable so you can create a configuration (hot keys, macros, menus, commands, customizable syntax, highlighting, etc.) that suits your specific needs. Many developers invested time in such customization.

Suppose you work for a Windows shop and put a lot of time in customizing such tools and then your shop starts a Linux or Unix project. Well, this article will teach you how to save your investment and apply Windows XP software development tools to debugging Linux or Unix code with the originally developed technology of inter-system communications between Windows and Linux/Unix.

Making Your Own IDE
You're not going to compete with big companies like Microsoft, IBM, or Borland, just make yourself a convenient tool. However, manufacturers will be able to apply the proposed technology to their integrated development environments (IDEs) or other software development tools (say editors with extended syntax checking) as described below. Let's consider how your typical IDE works, generally speaking. The programmer creates/edits code using an IDE editor then complies it using a build-in or external compiler that's called with a menu selection (like, for example, the Build | Build solution) and gets compilation results right in front of his eyes in the IDE. Now, why not to apply the same idea to a mixed Linux or Unix-Windows XP development environment? This article will show you how to do it.

What If the External Compiler Works Under a Different Operating System
In our case the external compiler works under a different operating system. The system for the compiler can be run in the same computer as XP (if virtualization is used) or on a different computer on the other side of the planet. It really doesn't matter as long as you can transfer the code from your favorite XP software development tools to the external compiler that works under Linux/Unix and get back compilation results.

General Description of Proposed Technology
The idea is simple. We'll use the following components that together will compose a technology for transferring code from the XP software development tools to Linux/Unix, run the Linux/Unix compiler and get back the results of the compilation:

  • A browser on the Windows XP side that will be automatically pointed to a Web page described below from the Windows XP software development tool. You will find a description on how to do it.
  • A Web server that runs the different operating system (Linux or Unix). The operating system in question will be referred to as the server operating system. In fact, any operating system that can host the appropriate Web server can be used with the proposed technology. The Web server just has to be able to handle a FILE input type in an HTML form and some kind of server-side software (Perl scripting, PHP, servlets, JSP, etc.) that's capable of performing the operations described below. Most Web servers these days (like Apache and Sun One) easily fit this requirement.
  • A specially designed Web page that will be automatically filled with code from the Windows XP software development tool that will be put in a FILE input type of the appropriate HTML form. This page will be filled out by a special application that is described in the next bullet. It will be deployed on the server operating system, but will be accessible from XP and serve as a "bridge" between the two.
  • An application that is called from the Windows XP software development tool and automatically fills out the appropriate fields on the Web page. The application will use the Web browser of your choice to do that. In the example below the application is written in Visual Basic.NET (in a way that's compatible with VB.Net 2003 and 2005). But, of course, any language that lets you send keys to the browser (consider C#, for example) can be used for the application.
  • Server-side software that gets the code from the Web page, writes it into a file on the server operating system, calls the external compiler in the system, and sends the results of the compilation back to the browser. In this article a Perl script will be used for this purpose as an example but, as mentioned, one can use any number of technologies (servlets, JSP, PHP) to do the same.
Enough theory, let's do something for real.

Putting It All Together: An Example of the Described Technology
Suppose you use Fedora Core 5 running under XP via VMWare Workstation 5 or 5.5 (i.e., virtualization will be used). Please see my LinuxWorld magazine article "Running Fedora Core 5 Under Windows XP - Tips and Tricks" on virtual machine settings and other useful information (http://linux.sys-con.com/read/219966.htm).


About Anatoly Krivitsky
Anatoly Krivitsky has a PhD in computer science and has more than 24 years of working experience in the IT field. He's the author of 20 published papers and books and five patents. For more information, please visit http://www.myjavaserver.com/~akrivitsky/index.html.

YOUR FEEDBACK
Linux News Desk wrote: These days the size of almost all the resources available to a programmer (memory volume, CPU speed, etc.) are on the rise except for one: the time required to complete a project, which is shrinking. So it's important to work with tools that are convenient and make you productive. It's also important to keep the cost of software development in check by keeping as much as possible of the investments that were already made.
LATEST ECLIPSE STORIES . . .
ILOG has announced ILOG JViews 8.5, the latest version of ILOG’s Java-based visualization suite, with new features that enhance the creation of Rich Internet Applications as well as desktop applications. ILOG JViews 8.5 adds support for the Eclipse platform including the new ILOG JVi...
"More than a half dozen conferences and events targeting Virtualization and Cloud Computing canceled in the past two months," said Fuat Kircaali, CEO of SYS-CON Media. "We predicted that this would be the outcome for many competing shows due to the current economic conditions," he adds...
The new LISA Eclipse Edition offers deep integration with many aspects of the platform, including the IDE, Source Control, Lifecycle Management, SWT interface elements, and other tools that operate inside of Eclipse. LISA test case documents can be stored and executed within the workfl...
There is much debate raging over whether cloud computing and grid computing are one and the same. In fact, there are many similarities and one key difference separating these burgeoning fields. Both cloud and grid propose an architecture that masks the complexity of managing thousands ...
XAware has announced its upgraded support for Eclipse 3.4. This enhancement gives developers and architects the ability to use the latest version of the Eclipse development environment as they create composite data services for service-oriented architecture (SOA), rich Internet applica...
On Monday October 20 in San Jose, California, the top Rich Internet Applications event of the Fall opens its doors: the 6th International AJAX World RIA Conference & Expo, with top industry keynotes from Microsoft's Silverlight supremo Scott Guthrie and Adobe's Chief Technology Officer...
SUBSCRIBE TO THE WORLD'S MOST POWERFUL NEWSLETTERS
SUBSCRIBE TO OUR RSS FEEDS & GET YOUR SYS-CON NEWS LIVE!
Click to Add our RSS Feeds to the Service of Your Choice:
Google Reader or Homepage Add to My Yahoo! Subscribe with Bloglines Subscribe in NewsGator Online
myFeedster Add to My AOL Subscribe in Rojo Add 'Hugg' to Newsburst from CNET News.com Kinja Digest View Additional SYS-CON Feeds
Publish Your Article! Please send it to editorial(at)sys-con.com!

Advertise on this site! Contact advertising(at)sys-con.com! 201 802-3021


SYS-CON FEATURED WHITEPAPERS

MOST READ THIS WEEK
ADS BY GOOGLE