Interoperability and GINA™
All but the smallest organizations have interoperability issues. Although the largest organizations, such as Fortune 500 companies or the US Government, have the most difficult problem – and receive the highest payback for solving it, all organizations regardless of size require facilities that will allow access and manipulation of their data and the data of their partners, customers, suppliers. Ideally, these facilities would have the following characteristics:
Organizations need an environment that provides for consistent management of any information or services on any network, whether their own or those of partners, customers, or suppliers.
This consistent management of information should apply to any information or services, regardless of type or form.
3) Support multiple uses with differing semantics
Within any large organization there are multiple groups of individuals that are looking at information with multiple intents and with differing semantics. For instance, the US Army Reserves can look at an officer at any given time as an employee, a combatant, a civilian, or as an expert, all with differing semantics. Organizations need information management facilities that support multiple, user-group-specific vocabularies over the same information space.
4) Accessible under multiple models for control
In practice, organizations not only classify people by group, but also by role, by organization, and even by the activity they are performing. Each of these classifications carries their own structure for controlling access. Moreover, when the data being accessed is that if partners, customers, and/or suppliers, the problems of access control expand exponentially.
In large organizations, the systems that are deployed change rapidly, and the way that they are configured and used can change every day. If an interoperability platform cannot respond to changes quickly, then it rapidly becomes the perfect solution to yesterday’s (obsolete) problem.
GINA™ is a patented environment that provides a coherent, universal configurable model that allows the consistent specification and use of all of the information resources of any organization, including that of partner organizations, whether large or small. It was designed from the ground up to be the ubiquitous, agnostic, semantically-driven, accessible under control, agile platform for universal access of information and services.
GINA™ provides complete facilities for managing information and services available on accessible networks. It can aggregate and objectify information from a virtually limitless set of information sources or service providers into a common information space. These aggregated information objects and services can be combined, referenced, transformed, and/or presented in any way the user requires. Finally, if the presentation desired is to a user, GINA provides configurable presentation capabilities that allow the user to access and manipulate information objects and services, either in their original format, or under some set of transformations, through standard browser facilities.
To bring data into the information space GINA™ uses “ContentServers” to interoperate with any of the information or service sources on the network. Sources can be as varied as the output of a video camera, control over a door switch, or more common network-resident information sources like databases or Web services. GINA™ brings all of these information or service resources into the common information space with common interoperability capabilities over common or differential semantics.
One of the most important capabilities provided by GINA™ is the ability to navigate from one information object to another, a concept called “Vector-Relational Data Modeling” (VRDM) . The central concept behind VRDM is that relationships between information objects can be information objects in their own right. Although this concept is deceptively simple in its statement, it enables the information space to be a fully configured environment for managing information object definition, relationships, behavior, transformation, and presentation (to both humans and machines).
Using GINA™ facilities any information or service source can be configured as is required to support is use as is appropriate for any domain where its services or information are relevant. Just as VRDM is configured, information object definitions are also configured.
Within the information space GINA™ information objects can be configured to specify transformations between information objects. Standard transformations are automatically supported, such as referencing another object, addition, concatenation, lookup, etc., while programmable exits are supported for any custom transformations. Using the GINA™ transformation capabilities virtually any transformation of incoming data to presentable data, either to another system or to a user, is possible.
GINA™ uses presentation objects, VRDM, definitions, and presentation definitions to provide either user-oriented displays or application-appropriate interfaces to allow information to be viewed or used by users or other applications. The information can be provided in virtually any way required.
Update and Audit
GINA™ provides facilities not only for presentation, but also for performing updates, and providing audit trails for those updates. These facilities even provide for two-phase commit of transactions across multiple objects in multiple information sources. In reality, entire applications can be configured through GINA, typically faster and more accurately than conventional approaches.
GINA™ embodies new concepts and approaches that enable it to provide facilities that extend well beyond those that are currently offered by other interoperability environments. Some of these differences are detailed below.
Deep Configuration for High Extensibility and Reliability
Two of the most important differences between GINA™ and conventional approaches are that (1) GINA is reflexive, i.e., GINA™ is a GINA™ application, and, (2) by design, everything in GINA™ is done by configuration, even GINA™ and the GINA™ interactive development environment (IDE) themselves. Hence, a GINA™ information space is configured, but the definition of information space itself is configured, and ultimately, the definition of “definition” itself. In practice, implementing this approach is very intellectually challenging, but it pays off in allowing virtually unlimited extensibility with greater reliability than is possible with conventional approaches, surprisingly so. It also means that developed applications and the IDE itself operate in the same way, minimizing training costs.
Executable Configurations for Maximum Accuracy
GINA™ uses these configurations as the instructions to assemble GINA™ components into GINA™ applications, whether user applications or GINA ™or the GINA™ IDE. Because these GINA™ applications are assembled to configuration from generalized components, user-group specific applications with user-group specific information access are now just a matter of definition, not of programming. Moreover, these user-specific applications with user-specific access don’t hide or expose functionality or data as is true with traditional approaches – with corresponding vulnerabilities, they simply don’t have those capabilities or data! In addition, because they are assembled, rather than programmed, they are more reliable and extensible that the traditional applications – in most cases just requiring a change in configuration to change or enhance functionality.
Model-based for Optimized Integrity under Change
GINA™ embraces the most modern approach to programming: model-based software engineering (MBSE). However, GINA™ takes MBSE to its ultimate level because the GINA™ model defines GINA™ modeling. Hence, all GINA™ applications are by necessity model-based, since they are just differing configurations of components within the GINA™ model. In effect, GINA™ specifies a vocabulary for GINA™ modeling!
Practitioners have embraced MBSE for its contributions to accuracy, reliability, and extensibility. With GINA™ these virtues are an automatic consequence.
Bootstrapping and Layering
These advantages are possible because of the GINA™ multi-layered bootstrap process. A minimal, hard-coded bootstrap is started up with just enough capability to read the initial configuration and instantiate it. This initial configuration then reads and assembles GINA™, which, in turn, assembles the GINA™ model for applications. GINA™ then reads and assembles any user applications based on that model, and does the same thing for the GINA™ IDE. Because every layer except for the first one is assembled through configuration, not only can GINA™ change the behavior of an application, as is true of conventional systems, but the application itself can be changed, the way all applications behave can be changed, the way GINA™ defines applications can be changed, and even the meaning of applications can be changed, all through configuration.
This deep configuration with bootstrapping means that (1) applications can be assembled to meet the specific arbitrarily complex access control systems required by any organization no matter how large or complex, and (2) these configurations can be assembled without any cross talk or vulnerabilities.
There is one more concept that enables GINA™ to represent the information management environment for information sources on the network: GINA™ resides on the network. An instance of GINA™ running on a computer is dependent only on a small configuration file on that machine to tell it where to go to start assembling itself, Hence, the instructions for assembling GINA™ can reside anywhere, and an infinite number of machines can run an infinite number of configurations an infinite number of times to provide unparalleled scalability.
These capabilities are combined with a model that defines a broad set of facilities: information acquisition and update, transformation, controlled access and presentation. Hence, GINA™ can be used to meet any organization’s real interoperability problems.
GINA™, the Network and NCT™
Because GINA™ is network-resident and deals with information anywhere on the network, we recognized early on that integrating GINA™ with network control could be a valuable extension of the GINA™ value as an information management environment. Just as the GINA™ IDE was created as a GINA™ application for managing GINA™ applications, we created a Network Clustering Technology™ (NCT™) as a GINA™ application for managing the network on which GINA™ resided. Since both GINA™ and NCT™ are GINA™ applications, we could then use relationships between GINA™ information sources to optimize the network for managing information access. Moreover, because GINA™ is network-resident, changes can be made to the rules for managing the network to optimize information access. The combination of GINA™ and NCT™ not only provides a very efficient way to manage the network itself, but also to make sure that the network is meeting the information requirements of its users in the most efficient way possible.