Monday, January 03, 2005

Happy new Year and Welcome ECO II

Long time I was away from Borland's ECO (Enterprise Core Objects) aka Bold for Delphi in Delphi 7.
Now I'm playing around it in the new Borland IDE - Delphi 2005.
I downloaded the architect trial version, and recalled my OCL ability.

ECO II impressed me, however there are some bugs in the IDE when I try to make complex EcoSpace with .NET's namespaces and Eco's packages. The Delphi 2005's Model View doesnot refresh properly. I hope this is fixed by the update 1 patch :), but I cannot test it because there is no update 1 of Delphi trial version.

I did not follow the first version of ECO which is bundled with Delphi 8, thus I dont know its improvements. But comparing with Bold for Delphi, I found that ECO has been simplified very much. The coolest feature found in ECO II is the ability to use EcoSpace in distributed environment, and now it's time for me to try it.

Great job!! the Borland MDA team :)

Monday, November 22, 2004

Introducing Galvanium Framework

Galvanium Framework
Introduction
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.

Features

  • 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

Components
  • ClientProxyFactory
  • BeanDescriptor
  • BeanCollection
  • GxControl

Software Architecture


License
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.

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

cvs -d:pserver:anonymous@cvs.sourceforge.net:
/cvsroot/boldsoapserver login

cvs -z3 -d:pserver:anonymous@cvs.sourceforge.net:
/cvsroot/boldsoapserver co galvanium

Friday, November 19, 2004

Hessian Client for .NET

In order to interoperate with J2EE, I port Hessian (client classes) to be .NET library.

Hessian is small, and not complex enough to be compiled with IKVM. After removing its server-side part, and working around regarding GNU Classpath's URLConnection bug, Hessian works for me from .NET side. This library will be used as a transport to communicate with JBoss, and Hibernate. I'll have a complete tutorial soon.

Surely, my GUI client is scritable MyXaml :)

Tuesday, November 16, 2004

Expose Single Bean

Again with Java-style Bean properties in .NET. Now I have a class to help one exposing Jave setter/getter as a .NET property.

For example, I have a bean:


public class Bean {
private string _name;
public string getName() {
return _name;
}
public void setName(string value) {
_name = value;
}
}


I can expose a single Bean to the Text property of a TextBox txtTestProp using the BeanDescriptor as follows:


Bean b = new Bean();
b.setName("ck");
BeanDescriptor bd = new BeanDescriptor(b);
txtTestProp.DataBindings.Add("Text", bd, "Name");