OpenClovis / SAFplus-Availability-Scalability-Platform

Middleware that provides libraries, GUI, and code generator to design multi-node (clustered) applications that are highly available, redundant, and scalable. Provides sub-second node and application fault detection and failover, and useful application libraries including distributed hash tables (checkpoint), event, logging, and communications. Implements SA-Forum APIs where applicable. Used anywhere reliability is a must -- like telecom, wireless, defense and enterprise computing. Download stable release with installer from: ftp.openclovis.com
www.openclovis.com
GNU General Public License v2.0
19 stars 13 forks source link

Isolate certain services from SAFplus #87

Open AndrewStoneOpenClovis opened 11 years ago

AndrewStoneOpenClovis commented 11 years ago

The IOC, MSG, RMD and Log services need to be runnable outside of the full SAFplus environment so that external applications can communicate with processes in the cluster.

The same source base (for each component) should be used for both in-SAFplus and out-of-SAFplus use (but a #define NO_SAFPLUS may need to be created and used to remove SAFplus API calls and eliminate some functionality).

  1. Please create a directory SAFplus/src/external that contains a Makefile and any extra source code to build an "external" package that consists of the required component libraries and "libSafplusExternal" helper library (if needed).
  2. Next create SAFplus/src/external/example that provides an example application that uses the components outside of SAFplus, but talks to a component within SAFplus and a component outside of SAFplus. So this example will contain a SAFplus model defined in "example/model" and an external process in "example/external" (or similar).

To get you started, please look at the 2 tests: SAFplus-Test/aspPerfTests/src/app/iocPerformance/*

These tests already use IOC outside of SAFplus.

Please get the above directory structure, example, etc completed for IOC and submit for review before starting on the other components.