Information-technology workflows using executable tiles with plural user interfaces
A workflow is expressed as an arrangement of a set of executable tiles. In some embodiments, the tiles include operations expressed in different programming languages. A tile can include a declarative specification of datatypes so that external agents, e.g., workflow services, can identify the datatypes and schemas required as arguments and produced as result; this simplifies the defining of a workflow, e.g., by a workflow coder. A tile can have zero, one, or plural user interfaces; selection of a user interface from plural user interfaces can be based on a user selection, on user roles, or on tile lifecycle stage. Workflow services can communicate with each other so that workflows can be distributed and shifted among processor nodes.
1. A computer implemented process comprising:
accessing at a first computer, by a first user, a computer-executable tile using a first user interface of the computer implemented tile;
accessing at a second computer, by a second user different from the first user, the computer-executable tile using a second user interface of the computer-executable tile;
selecting, by a user, one of plural user interfaces of a computer-executable tile for accessing the computer-executable tile; and
executing a workflow including the computer-executable tile in part by executing an operation of the computer-executable tile, and wherein said computer-executable tile at least partially configures a virtual network according to provided specifications; and
wherein executing the workflow further comprises executing a second computer-executable tile, said second computer-executable tile designed to provision a virtual machine for said virtual network, said second computer-executable tile configured to access a tool for provisioning said virtual machine during said provisioning of said virtual machine for said virtual network.
2. The computer implemented process of claim 1 wherein the first user interface is expressed using a first UI framework, the second user interface being expressed using a second UI framework different from the first UI framework.
3. The computer implemented process of claim 1 further comprising selecting a user interface for a user based on an identity or role assigned to the user.
4. The computer implemented process of claim 1 further comprising selecting a user interface for a user based on a lifecycle state of the computer-executable tile.
5. The computer implemented process of claim 1 further comprising selecting a user interface for a user based at least in part on whether the computer-executable tile is or is not arranged in a workflow.
6. A system comprising non-transitory media encoded with code that, when executed using hardware, implements a process including:
accessing, by a first user, a computer-executable tile using a first user interface of the computer-executable tile;
accessing, by a second user different from the first user, the computer-executable tile using a second user interface of the computer-executable tile;
selecting, by a user, one of plural user interfaces of a computer-executable tile for accessing the computer-executable tile; and
executing a workflow including the computer-executable tile in part by executing an operation of the computer-executable tile, and wherein said computer-executable tile at least partially configures a virtual network according to provided specifications; and
wherein executing the workflow further comprises providing a second computer-executable tile configured for provisioning a virtual machine for said virtual network, said second computer-executable tile designed to provision a virtual machine for said virtual network and access a tool for provisioning said virtual machine during said provisioning of said virtual machine for said virtual network.
7. The system of claim 6 wherein the first user interface is expressed using a first UI framework, the second user interface being expressed using a second UI framework different from the first UI framework.
8. The system of claim 6 further comprising selecting a user interface for a user based on an identity or role assigned to the user.
9. The system of claim 6 further comprising selecting a user interface for a user based on a lifecycle state of the computer-executable tile.
10. The system of claim 6 further comprising selecting a user interface for a user based at least in part on whether the computer-executable tile is or is not arranged in a workflow.
11. The system of claim 6 further comprising the hardware.