I looking for a way to develop components using Component-based Software Engineering techniques, such that the software components are portable between platforms. I once developed software components using The Java Beans Model, but of course they are compatible to only Java Beans compliant Environments.