views:

28

answers:

1

We're starting to work with a new project and seeking an advice on what technology/platform to use for it. This system is going to be an aggregator of "objects" written in different languages and on different platforms (C++, Java, PHP, Python, whatever). These objects will have to communicate with each other through a centralized object space, which will have a strict class hierarchy and strong typing mechanism. All objects will have to adhere to this class hierarchy and will implement abstract classes from it.

We will have to be able to add new objects and extend the class hierarchy fast and easily. Preferably without re-compilation of the core platform.

The core platform should be web-accessible. Also, every object should have its own web interface, probably through the core platform.

What do you think would be a good choice for this core platform? What technologies to use, what frameworks? Thanks in advance!

+1  A: 

I think a good choice would be to ask yourselves what problem you are trying to solve. Duct-taping different OO languages tightly together like this is insanely ambitious, and unlikely to work, since they all have different semantics even for simple things like primitive data types, not to mention instance lifecycles.

Why do you want to support different OO languages? Why can't you standardize on one? Solving people problems with technology is never a good idea. Why do you want every object to have a web interface? Object interfaces seldom scale well when exposed to network traffic.

For the rest of what you're describing, have you investigated any prior art? What you're trying to do has been attempted repeatedly: with CORBA, with (D)COM, with Java RMI, Java EJB (for various subsets of your requirements)... and never quite fulfilled its promise. So far. But, hey, maybe this time you'll get it right... but after how many man-millenia of work?

Pontus Gagge