Monday, November 22, 2004

Introducing Galvanium Framework

Galvanium Framework
Integrating.NET with J2EE via Web Service framework may encounter something that is not smooth. For example, Axis cannot serialize java.util.List, and this type of collection cannot be consumed, directly, by .NET. Moreover, using Web Services to interoperate in LAN dramatically decreases performance of the system.

Hessian protocol introduced by Caucho Technogy is a kind of binary transportation over HTTP. Its Java implementation as Servlet provides lightweight communication comparing to SOAP. Hessian came with a complete set of serializers/deserializers that work smoothly for Java types. Additionally, it is small enough to be compiled with IKVM, and used in the .NET side via IKVM runtime. Using IKVM and Hessian lead to a fast and flexible way to interoperate .NET with Java. It eliminates a lot of type mapping issues, and works through firewall.

Galvanium framework is built on this idea, plus the get/set simulator of Java Bean for .NET. The get/set simulator utilizes the data binding feature of .NET to display data from enterprise J2EE backend in .NET GUI.


  • Fast, and Lightweight Protocol
  • Seamless Integration of J2EE objects and .NET GUI
  • Direct .NET/Java type mapping
  • Display/Edit Java objects in Databinding Controls of .NET
  • Works behind Firewall
  • Support Mock Object technique via ClientProxyFactory

  • ClientProxyFactory
  • BeanDescriptor
  • BeanCollection
  • GxControl

Software Architecture

Galvanium Framework itself is ASF's Apache License 2.0. However, if it is used by GxControl which is based on MyXaml, it will be GPLed.

Galvanium framework is hosted as a part of BoldSoap project. It can be donwloaded form SourceForge’s CVS repository.

/cvsroot/boldsoapserver login

cvs -z3
/cvsroot/boldsoapserver co galvanium


patrick said...

What ever happened to this framework? I can find very little info on it online.

I know its 3 years since you created this post but I am thinking that with the recent .Net 3.0 WPF release this stuff could see a renewed interest.

I have exactly the business problem you describe: Hibernate POJOs being sent to a .Net (WPF) Client via IKVM EJB 3.0 interface invocations.... last question for me...whats the best way to bind these POJOs to my UI?

WPF Xaml bindings are pretty compelling but the effort of custom wrapping all my clr/pojos is what I am hoping to avoid.

Can you point me in the right direction of where this Galvanium effort is presently at? Or any advice on where else I might look.


chanwit said...

Hi Patrick,

I've been doing it slowly as my current research's focusing on other area.

Anyway, what you've mentioned about WPF client is quite interesting. I never tried binding POJOs to WPF layer. I'll give it a try and see what I can do with WPF+Galvanium.

Beside my work, IKVM itself can generate .NET properties for you with some (undocumented) options. I'm not sure it's still supported or not, you can check about this with the author.



patrick said...

Thanks for your prompt response.

I am trying to locate the Galvanium code base which you mentioned is hosted with BoldSoap. I pulled down BoldSoap but can t find any mention of Galvanium etc.

I would really like to experiment with your implementation and learn from your approach. Can you help me get my hands on your framework?