Blog Post RSS ?

Blogs » PHP » IcePHP - some serious RPC for PHP?
 

IcePHP - some serious RPC for PHP?

by Harry Fuecks

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.

Update
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—if an object is not yet in memory, it is transparently loaded from the database. To update objects, developers simply assign to their state attributes. Objects are automatically written to the database by the Ice runtime. (Various policies can be used to control under what circumstances a physical database update takes place.)

What that seems to be saying (for PHP) is instead of talking directly to a DB, you can talk to a remote server which gives you objects to work with while taking care of keeping them current with your DB.

This post has 5 responses so far

  1. Cant quite figure out the specifics from the site, but is this serious competition for the SRM project?

    Could this be the application server for PHP that developers have been looking for?

     
  2. Another quality post, Harry. Very interesting stuff indeed.

     
  3. It seems to me that anything is serious competition for SRM. The last time I checked it’s been two years since an i was dotted or a t was crossed over there. And that’s a crying shame too as SRM is a fantastic idea.

     
  4. As it goes think SRM is more an alternative to Tomcat and Java servlets - a container for running PHP scripts as “servlets”. But as BDKR says, doubtful it’s ever going to be finished.

    ICE seems to be two things (from a PHP persective);

    - a powerful way to get PHP talking to other systems (RPC). The remote servers need to be written with C++ or Java. In other words competition to SOAP or XML-RPC. It would also be effectively be competition to this CORBA extension or other mechanisms like using Java’s RMI via the PHP / Java extension.

    - it also seems to offer a persistance mechanism - a remote layer of objects above a DB. This could be useful for object modelling (in C++ or Java) and also for fault tolerance and reducing load on a DB. That’s also interesting because you could build, say, a Java desktop GUI which talks to the same remote objects. Whether this really “works” remains to be seen. Experience with CORBA has made the “conventional wisdom” that publishing a fine grained API over a network “fails” when it comes to performance. ICE is seems to be an attempt to “fix” CORBA, and make this possible. Very interesting if it works.

     
  5. To fully understand the author, it’s best that you try to write a Singleton object using languages like PHP

     

Sponsored Links

Leave a response

You are not logged in, log in with your SitePoint Forum username and password.

-OR- Post Anonymously

* Make sure any code samples are escaped (i.e. ‘<b>’ becomes ‘&lt;b&gt;’).

If not logged in, your comments will be placed in a moderation queue. This means your comment may not appear until one of our moderators approves it.

SitePoint Marketplace

Buy and sell Websites, templates, domain names, hosting, graphics and more.

New Release!

The Principles Of Successful Freelancing

Book Cover: The Principles of Successful Freelancing

Become a successful freelancer TODAY!

Find out how!