Remote Action Interface (RAI) email@BiraRai.com
As the Internet expands due to the addition of new systems, applications and users the need for efficient communication between all these entities increases. The Remote Action Interface Architecture (RAI) achieves loose coupling among internet entities. Any system which is network addressable is considered an entity. In order to simplify entity to entity communication there is a need to abstract away the complexity of the network. By eliminating the knowledge of the network from the implementation layer the RAI architecture is able to move data from one entity to another seamlessly. Implementing a solution built on the principles of Remote Action Interface (RAI) provides the ability for entities to self manage their own data without human intervention.
Within the RAI Architecture there are three classifications actions, entity and containers. The classifications are organized in a hierarchical tree structure. All leaf nodes are entities while all paths starting from the tree root (domain) are containers.
Actions: The four basic actions which can be preformed on an entity are view, delete, update, and add. From these four actions additional actions can be derived. Data sent to entity is contained within xml tags. Syntax: action@
Entity:
The entity defines what time of actions it will perform. The entity must reside within a container. Syntax: action@entity
Container: Containers hold zero or more entities. The classification changes between entity and container depending on the manner in which the entity or container is being referenced. Syntax: action@entity.container
RAI Definition A request is sent to discovery@entity.container the response is a RAI definition, which lists all entities and actions.
RAI Architecture Implementation
RAI Server Today the communication and programming are two distinct layers. The RAI server functions as a mail and web server, which allows fusion of the network and the implementation layers. The RAI server is not able to hold the requester's state information; therefore security access verification is done on each request.
RAI Language Extension In order to support the paradigm shift in computing architecture, programming languages must support embedded communication. Data within the application is passed to method using either the RAI request or conventional memory stack.
The first
Implementation Example
Wal-Mart purchases products from hundreds of vendor world wide. Many of Wal-Mart's suppliers' change mailing addresses frequently. Every time a supplier changes its mailing address Wal-Mart must locate the supplier in their supplier database and manually update the address information. Having to manually find and update information costs Wal-Mart time and money. Costs are reduced by implementing a RAI solution. In the following example Wal-Mart initials are request to fedex ever week requesting FedEx to update their mailing address.
Sample RAI Definition entity FedEx.com { Entity address.FedEx.com; // entity declaration public view; // action declaration // input: none // returns: website };
entity address.FedEx.com
{
public view;
// input: none
// returns: company address information
//
Fedex Source Code
Public view@address.Fedex.com { String streetNumber = "7”; String streetName; = "Long Tail Drive”;
// load data in to entity update@streetNumber.address.Fedex.com = streetNumber; update@streetName.address.Fedex.com = streetName;
// from is global variable // from variable can contains update@fedex.address.accounting.walmart.com return from = address.Fedex.com; }
Wal-Mart Source Code
Public update@fedex.address.account.walmart.com { // from is global variable // from variable can contains view@address.fedex.com
String Number = streetNumber.from; String Name = streetName.from; Return; }
birarai
Business Systems Analyst