Connection Machine Hyperspace Navigation
Relational database is the predominant way in which data is stored currently. The relational database space is searched by executing the SQL statements. The foreign key keeps relationships across different spaces. Sequential Programs transform data from input to output by getting data in result sets after executing SQL statements.
MasterKube Connection Machine is an interaction machine. MasterKube does not work on data manipulation, but works on Interaction or access/signal manipulation. I.e MasterKube creates signals by using the TELL or ASK operator. Other operator’s a.k.a Configuration operators are used to manipulate when these signals can be observed. Data is accessed by interacting with these interactions after navigating to it.
These signals are available as REST endpoints, and hence can be directly accessed by external systems. Each signal/connection can point to other signals. This interaction pointers, is how relationships are maintained (similar to Foreign Key) between entities. External systems can navigate this access space to explore data. The different ways space can be navigated are given below.
Contents
- 1 Regular navigation
- 1.1 Obtain All processes in a Domain (/general/{domain})
- 1.2 Obtain all processes id's in a Process and Domain (/general/{domain}/{process})
- 1.3 Obtain all actions in a Process id and Domain (/general/{domain}/{process}/{pid})
- 1.4 Obtain all actions in a Process id, Domain for a action type (/general/{domain}/{process}/{pid}/{action})
- 1.5 Obtain complete description of TELL signal (general/{domain}/{process}/{pid}/{action}/{id}/Tell )
- 1.6 Obtain complete description of Ask signal (general/{domain}/{process}/{pid}/{action}/{id}/Ask)
- 1.7 Obtain all actions in a domain (reports/general/{domain})
- 1.8 Obtain all action instances in a domain (reports/general/{domain}/{action})
- 2 Search navigation
- 2.1 List of all actions for search term in a particular domain (search/{domain}?element=searchterm)
- 2.2 List of all actions for search term in a particular domain and process. (search/{domain}/{process}?element=searchterm)
- 2.3 List of all actions for search term in a particular domain and process with a given view. (search/{domain}/{process}?action=actionname&element=searchterm)
- 2.4 List of all actions for search term in a particular domain and processid. (search/{domain}/{process}?pid=processid&element=searchterm)
- 3 History Space Navigation
Obtain All processes in a Domain (/general/{domain})
Purpose
Use this URL scheme to obtain all process under a particular domain. On getting a request of this type, MasterKube Connection Machine responds with the list of processes under that domain.
URI Pattern
The URI Pattern to get the list of processes under this domain is /general/{domain} The complete url pattern to is as follows
http://localhost:8080/MasterKube-Application/MasterKube/general/masterkube
Response Pattern
The complete response would be as follows:
<?xml version="1.0" encoding="UTF-8" standalone="yes"?> <Processes> <Process> <Name>User</Name> <Uri>http://localhost:8080/MasterKube-Application/MasterKube/general/masterkube/User</Uri> </Process> <Process> <Name>ConsignerList</Name> <Uri>http://localhost:8080/MasterKube-Application/MasterKube/general/masterkube/ConsignerList</Uri> </Process> </Process> </Processes>
Obtain all processes id's in a Process and Domain (/general/{domain}/{process})
Purpose
Use this URL to interrogate MasterKube Connection Machine to obtain all processes ids available now under a domain and process. On getting a request of this type, MasterKube Connection Machine responds with the list of process ids under the requested domain and process id.
URI Pattern
The URI Pattern to get the list of proces id under this domain is/general/{domain}/{process}. The complete url pattern to is as follows
http://localhost:8080/MasterKube-Application/MasterKube/general/masterkube/User
Response Pattern
The complete response would be as follows:
<?xml version="1.0" encoding="UTF-8" standalone="yes"?> <Pids> <Pid> <Name>antony</Name> <Uri>http://localhost:8080/MasterKube-Application/MasterKube/general/masterkube/User/antony</Uri> </Pid> <Pid> <Name>antony</Name> <Uri>http://localhost:8080/MasterKube-Application/MasterKube/general/masterkube/User/antony</Uri> </Pid> </Pids>
Obtain all actions in a Process id and Domain (/general/{domain}/{process}/{pid})
Purpose
With this URL pattern, all actions/signals under a domain, process and process id can be retrieved. On getting a request of this type, MasterKube responds with the list of actions under a given domain and process id.
URI Pattern
The URI Pattern to get the list of proces id under this domain is/general/{domain}/{process}/{pid}. The complete url pattern is as follows. The complete url pattern to is as follows
http://localhost:8080/MasterKube-Application/MasterKube/general/masterkube/User/isladmin
This URL is asking for all Actions under the user ISLADMIN in domain masterkube.
Response Pattern
The complete response would be as follows:
<?xml version="1.0" encoding="UTF-8" standalone="yes"?> <Actions> <Action> <Name>Admin</Name> <Uri>http://localhost:8080/MasterKube-Application/MasterKube/general/masterkube/User/isladmin/Admin</Uri> </Action> <Action> <Name>AdminTurnOff</Name> <Uri>http://localhost:8080/MasterKube-Application/MasterKube/general/masterkube/User/isladmin/AdminTurnOff</Uri> </Action> </Actions>
Obtain all actions in a Process id, Domain for a action type (/general/{domain}/{process}/{pid}/{action})
Purpose
With this URL pattern, It is possible to know all actions available under a domain, process id and an action type. This URL can be used to interrogate MasterKube for this. On getting a request of this type, MasterKube responds with the list of same type of actions under a given domain and process id.
URI Pattern
The URI Pattern to get the list of all actions of a particular type in a process id is /general/{domain}/{process}/{pid}/{action}. The complete url pattern is as follows
http://localhost:8080/MasterKube-Application/MasterKube/general/masterkube/LeasedContainerList/LeasedContainerList-28/ViewRepairs.
This URL is asking for all Actions under the container id LeasedContainerList-28 in domainmasterkube of type 'ViewRepairs'.
Response Pattern
The complete response would be as follows:
<?xml version="1.0" encoding="UTF-8" standalone="yes"?> <Names> <Name> <url>http://localhost:8080/MasterKube-Application/MasterKube/general/masterkube/LeasedContainerList/LeasedContainerList-28/ViewRepairs/32/Tell</url> </Name> <Name> <url>http://localhost:8080/MasterKube-Application/MasterKube/general/masterkube/LeasedContainerList/LeasedContainerList-28/ViewRepairs/44/Tell</url> </Name> </Names>
Obtain complete description of TELL signal (general/{domain}/{process}/{pid}/{action}/{id}/Tell )
Purpose
With this URL pattern, it is possible to obtain all the elements in a particular action instance or interaction. The elements are defined in the actions repository.
URI Pattern
The URI Pattern to get the list of all elements in an action under this domain is general/{domain}/{process}/{pid}/{action}/{id}/Tell. The complete url pattern is as follows
http://localhost:8080/MasterKube-Application/MasterKube/general/masterkube/LeasedContainerList/LeasedContainerList-28/ViewRepairs/44/Tell
This URL is asking for all elements for a signal instance under the container id LeasedContainerList-28 in domain masterkube of action 'ViewRepairs'.
Response Pattern
The complete response would be as follows:
<?xml version="1.0" encoding="UTF-8" standalone="yes"?> <TellSchema> <Element> <Name>GateInDate</Name> <Type>date</Type> <Value>Fri Mar 07 00:00:00 IST 2014</Value> </Element> <Element> <Name>GateInTime</Name> <Type>string</Type> <Value>12:00</Value> </Element> <Element> <Name>IntimatedAmount</Name> <Type>number</Type> <Value>34555.0000</Value> </Element> </TellSchema>
Obtain complete description of Ask signal (general/{domain}/{process}/{pid}/{action}/{id}/Ask)
Purpose
Use this URL pattern, to get all the details that can be exposed by the action. This is defined in the actions repository.
URI Pattern
The URI Pattern to get the list of all elements in an action under this domain is=general/{domain}/{process}/{pid}/{action}/{id}/Ask. The complete url pattern is as follows
http://localhost:8080/MasterKube-Application/MasterKube/general/masterkube/LeasedContainerList/LeasedContainerList-28/EditLeasedContainer/44/Ask
This URL is asking for all elements under the container idLeasedContainerList-28 in domain masterkube of action 'ViewRepairs'.
Response Pattern
The complete response would be as follows:
<?xml version="1.0" encoding="UTF-8" standalone="yes"?> <AskSchema> <Element> <Name>ContainerId</Name> <Type>string</Type> <elementValue>TESTING3001</elementValue> </Element> <Element> <Name>OnHireDate</Name> <Type>date</Type> <Value>Wed Jan 08 00:00:00 IST 2014</Value> </Element> <Element> <Name>Amount</Name> <Type>number</Type> <Value>34555.0000</Value> </Element> </AskSchema>
Obtain all actions in a domain (reports/general/{domain})
Purpose
Use this URL pattern, to get all the actions available in a domain. Since the actions are dynamic, this gives all actions currently available in a domain.
URI Pattern
The URI Pattern to get the list of all actions under this domain is=reports/general/{domain}. The complete url pattern is as follows
http://localhost:8080/MasterKube-Application/MasterKube/reports/general/masterkube.
This URL will provide all actions under this domain.
Response Pattern
The complete response would be as follows:
<?xml version="1.0" encoding="UTF-8" standalone="yes"?> <Actions> <Action> <Name>AddActualArrival</Name> <Uri>http://localhost:8080/MasterKube-Application/MasterKube/reports/general/masterkube/AddActualArrival</Uri> <Action> <Action> <Name>AddActualDeparture</Name> <Uri>http://localhost:8080/MasterKube-Application/MasterKube/reports/general/masterkube/AddActualDeparture</Uri> <Action> </Actions>
Obtain all action instances in a domain (reports/general/{domain}/{action})
Purpose
Use this URL pattern, to get all the action instances for an specified action {action} in a domain {domain}. Since the actions are dynamic, this gives all action instances for the specified action currently available in a domain.
URI Pattern
The URI Pattern to get the list of all actions under this domain is=reports/general/{domain}/{action}.. The complete url pattern is as follows
http://localhost:8080/MasterKube-Application/MasterKube/reports/general/masterkube/Viewtrackcontainer1
This URL will provide all action instances for an action under this domain.
Response Pattern
The complete response would be as follows:
<?xml version="1.0" encoding="UTF-8" standalone="yes"?> <Names> <Name choiceId="27"> <url>http://localhost:8080/MasterKube-Application/MasterKube/general/masterkube/LeasedContainerList/LeasedContainerList-1/ViewTrackContainer1/288/Tell</url> </Name> <Name> <url>http://localhost:8080/MasterKube-Application/MasterKube/general/masterkube/LeasedContainerList/LeasedContainerList-10/ViewTrackContainer1/56/Tell</url> </Name> </Names>
List of all actions for search term in a particular domain (search/{domain}?element=searchterm)
Purpose
Use this URL pattern, to get all the actions where the a particular data value exists.
URI Pattern
The URI Pattern search/{domain}?element=searchterm The URI Pattern to get the list of all actions that have the the value in searchterm. The complete url pattern to is as follows
http://localhost:8080/MasterKube-Application/MasterKube/search/masterkube?element=praveen
This URL will provide all actions that contains the search term “praveen” in the domain masterkube.
Response Pattern
The complete response would be as follows:
<?xml version="1.0" encoding="UTF-8" standalone="yes"?> <Actions> <Action> <Name>ChangeEmployeeInformation</Name> <Uri>http://localhost:8080/MasterKube-Application/MasterKube/general/masterkube/User/antony/ChangeEmployeeInformation</Uri> </Action> <Action> <Name>DepartmentAssociatedWith</Name> <Uri>http://localhost:8080/MasterKube-Application/MasterKube/general/masterkube/Department/Department-1/DepartmentAssociatedWith</Uri></Action> <Action> <Name>EmployeeInformation</Name> <Uri>http://localhost:8080/MasterKube-Application/MasterKube/general/masterkube/User/antony/EmployeeInformation</Uri> </Action> </Actions>
List of all actions for search term in a particular domain and process. (search/{domain}/{process}?element=searchterm)
Purpose
Use this URL pattern, to get all the actions where the a search term exists in a particular domain and process.
URI Pattern
The URI Pattern search/{domain}/{process}?element=searchterm The URI Pattern to get the list of all actions that have the the value in searchterm. The complete url pattern to is as follows
http://localhost:8080/MasterKube-Application/MasterKube/search/masterkube/Department?element=praveen
This URL will provides all actions that have the search term “Praveen” in a the domain masterkube and process Department.
Response Pattern
The complete response would be as follows:
<?xml version="1.0" encoding="UTF-8" standalone="yes"?> <Names> <Name> <url>http://localhost:8080/MasterKube-Application/MasterKube/general/masterkube/Department/Department-1/DepartmentAssociatedWith/3/Tell</url> </Name> <Name> <url>http://localhost:8080/MasterKube-Application/MasterKube/general/masterkube/Department/Department-2/DepartmentAssociatedWith/3/Tell</url> </Name> </Names>
List of all actions for search term in a particular domain and process with a given view. (search/{domain}/{process}?action=actionname&element=searchterm)
Purpose
Use this URL pattern, to get actions of a particular type (given in actionname) with in a domain and process that has the value in search term.
URI Pattern
The URI Pattern search/{domain}/{processname}?action=actionname&element=searchterm The URI Pattern gets list of all actions that have the the value in searchterm. The value is returned only for a particual domain and process and a given action. The complete url pattern to is as follows
http://localhost:8080/MasterKube-Application/MasterKube/search/masterkube/Department?action=DepartmentAssociatedWith&element=praveen
This URL will provide DepartmentAssociatedWith actions that contains the search term “praveen” in the domain masterkube. And process Department.
Response Pattern
The complete response would be as follows:
<?xml version="1.0" encoding="UTF-8" standalone="yes"?> <Names> <Name> <url>http://localhost:8080/MasterKube-Application/MasterKube/general/masterkube/Department/Department-1/DepartmentAssociatedWith/3/Tell</url> </Name> <Name> <url>http://localhost:8080/MasterKube-Application/MasterKube/general/masterkube/Department/Department-2/DepartmentAssociatedWith/3/Tell</url> </Name> </Names>
List of all actions for search term in a particular domain and processid. (search/{domain}/{process}?pid=processid&element=searchterm)
Purpose
Use this URL pattern, to get actions in a particular instance with the given search term. If the search term is not available in the process instance given then it returns empty.
URI Pattern
The URI Pattern search/{domain}/{processname}?pid=processid&element=searchterm The URI Pattern gets list of all actions that have the the value in searchterm in the given processsid. The complete url pattern to is as follows
http://localhost:8080/MasterKube-Application/MasterKube/search/masterkube/Department?pid=Department-1&element=praveen
This URL will provide all actions that contains the search term “praveen” in the process id in the given domain masterkube.
Response Pattern
The complete response would be as follows:
<?xml version="1.0" encoding="UTF-8" standalone="yes"?> <Names> <Name> <url>http://localhost:8080/MasterKube-Application/MasterKube/general/masterkube/Department/Department-1/DepartmentAssociatedWith/3/Tell</url> </Name> </Names>
History for a given process instance - (/history/general/{domain}/{process}/{pid} )
Purpose
Use this URL pattern, to get all the actions that happened in this process instance in the past.
URI Pattern
The URI Pattern The URI Pattern to get the list of all actions that transpired in this process id is/history/general/{domain}/{process}/{pid} The complete url pattern to is as follows
http://localhost:8080/MasterKube-Application/MasterKube/history/general/masterkube/user/antony
This URL will provide all actions that happened in the user process antony.
Response Pattern
The complete response would be as follows:
<?xml version="1.0" encoding="UTF-8" standalone="yes"?> <Names> <Name> <url>http://localhost:8080/MasterKube-Application/MasterKube/history/general/masterkube/user/antony/Add/12</url> </Name> <Name> <url>http://localhost:8080/MasterKube-Application/MasterKube/history/general/masterkube/user/antony/Add/11</url> </Name> </Names>
History log detail - (/history/general/{domain}/{process}/{pid}/{action}/{seqId} )
Purpose
The objective of this uri is to get information for this specific action i.e time and who did this.
URI Pattern
The URI Pattern to get the list of all actions that transpired in this process id is=/history/general/{domain}/{process}/{pid}/{action}/{seqId} The complete url pattern to is as follows
http://localhost:8080/MasterKube-Application/MasterKube/history/general/masterkube/user/antony/Add/12.
This URL will provide who and the time that this signal was interacted up on.
Response Pattern
The complete response would be as follows:
<?xml version="1.0" encoding="UTF-8" standalone="yes"?> <AskElements> <Element> <Name>FirstName</Name> <Type>String</Type> <elementValue>john</elementValue> </Element> <Element> <Name>LastName</Name> <Type>String</Type> <elementValue>Doe</elementValue> </Element> </AskElements>