Next Big Change in Computing Architecture – Remote Action Interface – RAI

Nancy B. Alston

Remote Action Interface (RAI)
[email protected]

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: [email protected]

RAI Definition
A request is sent to [email protected] 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 interaction directed at an entity is the RAI discovery request sent to [email protected]. The response will contain the entity’s RAI Definition. The RAI definition is simple and universally available to all requesters. The requester is free to invoke any discovered action. The requester invokes an action by sending a request to [email protected]. Data is sent to the RAI action in the format specified by the RAI definition. The RAI response is the result of a RAI request made by a remote entity. The format of the RAI response is outlined in the RAI action definition.

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
// 43number>
// wall street
;

Fedex Source Code

Public [email protected]

String streetNumber = “7”;
String streetName; = “Long Tail Drive”;

// load data in to entity
[email protected] = streetNumber;
[email protected] = streetName;

// from is global variable
// from variable can contains [email protected]
return from = address.Fedex.com;

Wal-Mart Source Code

Public [email protected]

// from is global variable
// from variable can contains [email protected]

String Number = streetNumber.from;
String Name = streetName.from;
Return;

birarai

Next Post

Watch Soccer Live - Real Time Soccer Action

With the warm acceptance and love of people around the world with the sport soccer, no wonder that they like to watch soccer live. There are a wide variety of mediums that people can use to watch soccer like live TV telecast, Internet through video streaming and of course the […]