Full OSS solution vs OSS/commercial solution mix

Filed on January 19th, 2007 at 3:51 pm under , , , , , , , | 5 Comments 

I wanted to leave a comment in this Bill Dollin's post, but after that it came out to my mind to leave a trackback to it, and going with a my own post on this subject as far as I have several things to discuss about.

In the OSS jungle, it looks there are in the last times more and more solutions and projects based on commercial closed-code software. For example zigGIS, the Open Source ArcGIS connector for PostGIS, in which I am involved, is by itself an OS project tied to proprietary frameworks (Microsoft and Esri). This is many times not so good, as I cannot dig, for example, in Esri ArcObjects core code for understanding why a particular issue is coming out.
At my office we are in the process of taking an important strategic decision.
We are going to replace our actual commercial closed-source CMS (Content Managment System) - that we were using for some portals we manage for several years - for an Open Source solution.
Read more

For .NET developers a very usefull and free framework for unit testing is NUnit, that is a .NET implementation of the popular JUnit for Java.

I am using this for unit testing zigGIS, the Open Source ArcGis Desktop connector for PostGIS in which I am currently involved.

I will show you in this post how easy and powerfull is to create, run and debug unit test for a .NET library or application.

After installing NUnit, you can add a reference to it in your VS solution. After doing so you are ready to implement one or more classes (fixtures) for performing unit tests.
Read more

COM ArcObject passed to .NET library: how to cast, access and debug it

Filed on January 4th, 2007 at 1:49 pm under , , , , , | Comments Off 

Generally when developing your .NET ArcObjects library you are managing all .NET objects, because the ArcObjects are wrapped by the RCW, Runtime Callable Wrapper (preferably created by Esri, using the Primary Interoperability Assemblies, PIA, installed with ArcGIS desktop in the GAC).
You can then expose your .NET library to COM by a CCW, COM callable wrapper, creating a tlb with regasm (automatically done using Visual Studio if you check the 'Register for COM interop' option, under the Build tag of project's property dialog).

Using the RCW ArcObjects we are always using Managed code, so we don't get in troubles.

But what if a COM ArcObject is calling a method, sinking an event, or setting/getting a property from our .NET library?
Read more