MemberzPlus Extensible Software Platform
“Extensibility is a software engineering and system design principle that provides for future growth. Extensibility is a measure of the ability to extend a system and the level of effort required to implement the extension. Extensions can be through the addition of new functionality or through modification of existing functionality. The principle provides for enhancements without impairing existing system functions. An extensible system is one whose internal structure and dataflow are minimally or not affected by new or modified functionality, for example recompiling or changing the original source code might be unnecessary when changing a system’s behavior, either by the creator or other programmers. Because software systems are long lived and will be modified for new features and added functionalities demanded by users, extensibility enables developers to expand or add to the software’s capabilities and facilitates systematic reuse. Some of its approaches include facilities for allowing users’ own program routines to be inserted and the abilities to define new data types as well as to define new formatting markup tags.”      - Wikipedia
When discussing MemberzPlus Extensibility, we are going to focus on the following areas:
MemberzPlus Implementation Activities
For each new client, MemberzPlus performs a GAP analysis and build-out to support client specific features and functionality. MemberzPlus practices Agile software development. This involves partitioning GAP development activities into fixed-length, small, and successive iterations. The client is heavily involved during the build and test phase to ensure that the approach taken to meet a GAP requirement will result in the desired behavior.
The GAP Project Plan is broken down into short duration work units known as “Sprints.” Each sprint is both an iterative and collaborative approach to meeting the objectives as defined in the GAP Project Plan. The MemberzPlus team will work closely with the client subject matter experts (SCRUM team) to define and implement the desired behavior. When the sprint is complete, the team will have created software that has been completely tested with the users for feature and functionality.
Regular SCRUM meetings, often daily, are held during this phase to ensure all team members, MemberzPlus and client, can contribute to the ultimate success during these critical build and test activities. It is important that both the MemberzPlus and client Project Managers attend SCRUM meetings to ensure the project stays on track and that the completion of this phase is an easy transition into the verification phase.
It should be pointed out that MemberzPlus utilizes a company developed activity management system we refer to as our “ticket” system. This system allows us to detail all activities to include description, proposed solution, actual efforts performed (integrated with our company developed time keeping system), test steps, and test results. The client is given access to this system to participate in every aspect of sprint execution and verification process.
The GAP build-out phase is considered complete when all SCRUM activity is either complete or at an acceptable state as not to delay the verification test phase.
During the verification phase, a production class environment is established with a fresh data load from the existing production environment. Shakedown tests are executed to ensure the application behaves as expected based on use case tests used during the build and test phase.
Verification testing covers the following areas of concern:
MemberzPlus Business Rules Engine
MemberzPlus provides a Business Rules engine as a means to consolidate a series of company specific policies for their software application. The engine aims to provide a consistent means for accessing business specific logic from multiple data entry or web service entry points. In addition, the engine provides built-in extensibility to create specialized logic for specific clients using conXons. Business rules are XML based and used throughout the application to effect behavior. This is used to allow the application to support varying business rules among the organizations we support. As application features are added, existing business rules are altered and new business rules are introduced. It should be noted that the application is delivered with a standard set of business rules that are considered the default application behavior. An organization may create a specific version of a business rule as an override. This is done by adding the rule with “_nnn” where nnn is the client number. This allows you to leave the default rule in place for reference while creating a client specific override. As rules are altered, a history is maintained by creating backup copies. The user may always revert back to previous versions of a rule. The engine’s power begins with its use of programmatic reflection to load a customer’s unique set of rules at runtime. This way of loading allows the rules to be toggled without a new version of the application being deployed. This can be especially useful for clients working in an environment where new ideas are piloted before being discarded or deployed at a wider scale. Since an application is always delivered with a default set of a behavior, even as new features are implemented, clients can work together where applicable to leverage these new features. While the default behavior is delivered with the application, the clients’ customized settings are stored in the database. This allows new versions to be deployed with relative ease as there is little need to review a multitude of settings simply because the latest quarterly release has arrived. The second advantage to these settings being stored in the database applies to more complex environments. A client that needs high-availability is often running multiple instance of their application, with each instance serving a specific purpose (i.e. call centers, web services, batch processing, etc…). The engine’s rule over-ride nature allows a rule to be edited for the database and the change is automatically recognized by the other instances of the application. It is even possible to apply a rule change to a single instance. This can be useful when a rule wants to be “broken” during a special marketing campaign in a specific channel, such a Web service Black Friday discount blitz. Using MemberzPlus Business Rules, we can control the behavior and/or user experience across the platform without having to recompile the software. This powerful feature sets MemberzPlus apart as a true Extensible application platform.
MemberzPlus Client Developed Sub-Systems
The MemberzPlus Private Cloud provides our clients with an open database platform from which the client is free to mine data and/or build sub-systems as they deem appropriate. In addition, the MemberzPlus platform was built on our conXons development architecture that supports feature integration. This allows you to apply MemberzPlus user interface, security, and processing capabilities to internally developed sub-systems and expose them to the user community via a common user interface Many of our clients utilize direct data access and/or replication across internal databases to support many functions including, but not limited to, business intelligence, ecommerce integration, custom reporting, and 3rd party software integration. In addition, the MemberzPlus platform supports integration of client developed screens, processes, and reports directly into the MemberzPlus menu which provides the added flexibility of exposing those features to MemberzPlus processing and security capabilities. The MemberzPlus Private Cloud open database not only guarantees that you can ensure a single point of truth regarding your members/subscribers across the enterprise, but it also supports bringing information from across your other operational systems into a 360 degree view of your member/subscriber.
ConclusionAt MemberzPlus we “partner” with clients to ensure their success while building on the many features and benefits of the MemberzPlus platform. Contact us today to learn more! 1.800.652.4985
President and CEO
Mr. Spanier has over 30 years of IT and business management and development experience. Mr. Spanier has led large development projects in the telecom, accounting and finance, banking, and membership industries. His recent projects include membership and MRM/CRM software installations for some of the nation’s largest Automobile Clubs, telecom applications for state governments, and asset management applications for the banking industry. Mr. Spanier has a Bachelor of Science degree in Systems Science from the University of West Florida and graduate work in both Systems Analysis and Business Administration.