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


Visitors: 258

Remote Action Interface (RAI)

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@


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 interaction directed at an entity is the RAI discovery request sent to 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 action@entity. container. 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 { Entity address.; // entity declaration public view; // action declaration // input: none // returns: website };

entity address. { public view; // input: none // returns: company address information // 43 // wall street };

Fedex Source Code

Public view@address. { String streetNumber = “7”; String streetName; = “Long Tail Drive”;

// load data in to entity update@streetNumber. address. = streetNumber; update@streetName. address. = streetName;

// from is global variable // from variable can contains update@fedex. address. accounting. return from = address.; }

Wal-Mart Source Code

Public update@fedex. address. account. { // from is global variable // from variable can contains view@address.

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


Business Systems Analyst


Article Source:

Rate this Article: 
How to Change Anything: The Chain Reaction of Action
Rated 4 / 5
based on 5 votes

Related Articles:

C2030-283: Foundations of IBM Cloud Computing Architecture V3

by: Steve M. Schafer (April 23, 2014) 
(Computers and Technology/Certification Tests)

Remote Computing Affordable For the Hobbyist

by: Chris Moheno (July 04, 2008) 
(Computers and Technology/Software)

Mobile Computing With Remote Administration Solutions

by: Chris Moheno (July 04, 2008) 
(Computers and Technology/Mobile Computing)

Cloud Hosting,Cloud Computing and Cloud Architecture the Fast Emerging ..

by: Loren Cooper (June 02, 2009) 
(Internet and Businesses Online/Web Hosting)

Will the iPhone Change the Face of Personal Computing?

by: Sandy Cosser (July 21, 2008) 
(Computers and Technology/Mobile Computing)

Not Satisfied With Where You Are; STOP - Change The Action Change The Outcome

by: BZ Riger-Hull (April 20, 2005) 
(Self Improvement/Goal Setting)

Do You Have Big Feet? Change Your Shoes, Change Your Life

by: Alicia Isaacs (April 20, 2007) 
(Self Improvement)

Contemplating Change And Moving Into Action

by: Annette Colby (August 16, 2005) 
(Self Improvement/Motivation)

A Personal Action Plan for Change

by: Paul McNeese (May 26, 2005) 
(Self Improvement/Organizing)

How to Change Anything: The Chain Reaction of Action

by: Steve Errey (November 22, 2005) 
(Self Improvement/Positive Attitude)