Hello,

today we released SRM: Script Running Machine version 0.6.0. This release
is the first public beta. The following functions are implemented in this
release:

- Session management
- Remote functions
- Application level variables
- Remote objects

For a full feature list please see:
http://www.vl-srm.net/newsitem.php?id=1 or the attached announcement.

SRM is downloadable from http://www.vl-srm.net/download.php and _requires_
the latest CVS version of PHP. For documentation see the website.


With kind regards,

Derick Rethans
Vulcan Group

---------------------------------------------------------------------
             SRM: Site Resource Manager - www.vl-srm.net
---------------------------------------------------------------------


Release: SRM 0.6.0 Spring Nights

SRM as session handler

   This is the first implemented feature, and should be gamma quality. It
   works just like the 'files', 'mm' or 'pgsql' session handler. The only
   thing  you  need  to do is change session.save_handler in php.ini . At
   this  moment  the location is hardcoded (a shame, but an easy fix). It
   defaults to 'localhost'.

Calling remote functions in SRM

   There are two different situations that can occur here:
    1. The  remote  function  is  defined  in a module, written in C. For
       example   from   the   standard   module:  get_function_list()  or
       get_application_keys().  The module API is quite easy (easier than
       PHP  modules),  and  it  should  therefore not be a problem to add
       other  modules.  One of the included modules is the 'auth' module,
       which  makes  it possible to authenticate users with PAM, password
       files, or for example a Challenge-Response protocol (this last one
       is finished, but it should be merged into the auth module).
    2. Functions   defined   in  PHP  function  libraries.  PHP  function
       libraries  are  loaded  at  startup of the daemon. The PHP scripts
       that  are  part of this library get compiled and executed. Because
       the  compiled scripts are not destroyed after that, it is possible
       to  call  them from a client side PHP script again, without having
       to parse/compile them.

   Both types of functions are called in the same way, and are run in the
   SRM daemon:
<?php
   $srm_obj = new SRM ('srm.vl-srm.net', 7777);
   $ret = $srm_obj->function_name($var1, $var2);
?>

Application level variables

   Application  level  variables  are variables stored in the SRM daemon,
   persistent across requests. This means that you can use these in every
   script, using them is very easy:
<?php
    $obj = new SRM ('localhost', 7777);
    $obj->globals['var'] = $data;
    $data2 = $obj->globals['var'];
?>

   Namespaces   should   be  implemented  here,  so  that  you  can  have
   application variables for every different application you have.

Remote objects

   Remote objects are PHP scripts, running permanently in the SRM Daemon.
   We  call  these remote objects SRMApps, or Bananas. You can instatiate
   them just like a normal object, as is done in this example:
<?php
    $srm = new SRM ('localhost', 7777);
    $uptime = new SRMApp ($srm, 'Uptime');
?>

   You  now can use the $uptime object like a normal PHP object, with the
   exception that it is run remotely.

Roadmap:

0.6.0-beta

     * Beta release including features above.

0.6.1

     * Get  rid of the srm_dll code, and improve datatypes to reflect PHP
       datatypes.
     * Implement timed events for Bananas.
     * Accessing session vars from Bananas.

0.7.0

     * Bananas for a session.
     * Protected properties and member functions in Bananas.
     * Make use of ADT.
     * Rewrite  the  connection  handling  code  to have threads handling
       connection.

0.8.0

     * All exciting ideas we might get, either by ourselves, or from you.

Derick Rethans
© 2000, 2001, 2002 by The Vulcan Logic Group
-- 
PHP Development Mailing List <http://www.php.net/>
To unsubscribe, visit: http://www.php.net/unsub.php

Reply via email to