Isect Middleware How-To - Future

Go to the first, previous, next, last section, table of contents.

# Future

LDAP and Username/Passwords

`isectd` should provide a mechanism that implements username/password security for clients. Rather than implement its own `isectd` should be able configurable to use already-existing LDAP-enabled directories. For sites without directories but the desire to implement security a template schema file should be provided.

Encryption

The layer should be created on top of the existing API that automatically encrypts/decrypts messages between clients, workers, and isectd. It's reasonable to expect this layer would be compatible with prevalent RFCs.

Redundancy

The weakest link in a fault-tolerant sense is `isectd`. If it crashes all the information currently in-transit between clients and workers is lost. This is unlikely because `isectd`'s job is fairly straight-forward but there's no guarantee.

A couple of ways to improve this situation is to log the messages to disk, or a memory-mapped file so in the case of its inconvenient crash, some type of state could be recovered. It doesn't seem to make sense (at this point at least) to log every message to a file for performance reasons.

A more interesting approach would be for multiple `isectd`s to cooperate, allowing one to do all the work while informing others of the sockets it's connected and the messages it's sent. In the event of its death a mirror `isectd` could properly dispose or flag the offending message and continue where its predecessor left off.

Clean-up

Currently, the workerid is the memory address of the worker structure which was valuable during debugging, but not so in production. I hate having to enter six, seven, or even eight-digit worker IDs in isectd. I'd prefer if worker IDs incremented in the same manner as client IDs

The "CONFIG SERVICE" command should be obsolete. Configuring workers with a new service name should automatically create the service. The only reason to keep the separate statements is if isdexecd were to restrict creating workers to existing services. Not a bad idea to reduce service name typos...

Go to the first, previous, next, last section, table of contents.