Here’s something interesting Ice for PHP.
What is ICE?
Ice, the Internet Communications Engine, is middleware for the practical programmer. A high-performance Internet communications platform, Ice includes a wealth of layered services and plug-ins. Ice means simplicity, speed, and power.
It seems to be largely inspired by CORBA but developed out of a very specific need – bringing some serious collaboration to WISH – an online massively multiplayer game. Support for PHP (as a client only) was an objective from the start, to allow administration of the game via the web and comes in the form of an extension for PHP5 (required).
Anyway – haven’t got it all entirely worked out yet – there’s alot to read but so far it looks very promising as a mechanism to get PHP talking to remote systems, when you need something more powerful / performant than, say, XML based web services. The first impressions are ZeroC know what they’re doing.
An interesting snippet from the Massively Multiplayer Middleware whitepaper;
Persistence. To provide object persistence, we extended the object model to permit the definition of persistence attributes for objects. To the developer, making an object persistent consists of defining those attributes that should be stored in the database. A compiler processes these definitions and generates a runtime library that implements associative containers for each type of object.
Developers access persistent objects by looking them up in a container by their keys