ObjStore::ServerDB - Generic Real-Time Database Server Framework
osperlserver host:/full/path/to/db+=MyClass
An active database is an framework for tightly integrated collaboration. While implementation abstraction is preserved without hinderance, objects can easy interact in a variety of ways:
ABSTRACTION / COLLABORATION
The hash at the top of the database holds the set of cooperating objects that implement all database functionality. This hash is always accessable via $any-database_of->hash>. Furthermore, keys are populated such that they reflect the @ISA tree of object instances.
$any-
@ISA
CLIENT / SERVER
Other processes can read the database asyncronously with MVCC transactions invoke remote method invokations (RMIs) on individual objects. See ObjStore::notify.
ObjStore::notify
EVENT MANAGEMENT
The Event API is fully integrated (see ObjStore::Process). Moreover, low priority jobs can be (persistently) queued for processing with a variety of scheduling options (see ObjStore::Job).
Event
ObjStore::Process
ObjStore::Job
The $db-hash->do_boot_class> method creates arbitrary classes and populates the top-level hash. There are quite a few ways to invoke it:
$db-
COMMAND-LINE
RMI
$db->hash->boot_class('MyClass');
INHERITANCE
package MyDB::Top; require 'ObjStore::ServerDB'; use base 'ObjStore::ServerDB::Top'; sub boot { my ($o) = @_; $o->boot_class('MyClass'); } osperlserver host:/full/path/to/db=MyDB
To install ObjStore, copy and paste the appropriate command in to your terminal.
cpanm
cpanm ObjStore
CPAN shell
perl -MCPAN -e shell install ObjStore
For more information on module installation, please visit the detailed CPAN module installation guide.