
ReSTNSX Architecture
API-Driven Unified Management
VMware's NSX platform represents next generation software defined security and networking where IT organizations are able to provision and automate simple or complex network and security objects very easily in a single pane of glass. NSX also enables next generation services such as micro-segmentation and service-insertion in the most secure and performance driven location - the VM hypervisor.
Because VMWare NSX is GUI driven, one of the biggest challenges is bulk provisioning of objects, policies and services. A ReST Application Programming Interface (API) is exposed to the system administrator for programmatic access to all object calls to overcome these obstacles. For example, if an organization needs to create thousands of security tags, security groups, or IPSets. The effort to accomplish these tasks via a traditional GUI is daunting and is best left to scripting.
The problem that often arises is that the NSX ReST API is not easy to consume. The documentation is geared towards those who live and breath API calls and does not provide guidance around error-handling. In many cases, duplicate objects are allowed and executing incorrect API calls would create havoc on your configurations. In addition, NSX API calls do not align with native vCenter objects without learning and implementing another completely separate list of ReST calls.
ReSTNSX removes all the complexity through a straight forward architecture for easily consuming NSX services. The foundation of ReSTNSX is to provide a very simple interface with the ability to create NSX objects one at a time or in bulk. With no ReST or programming experience, an administrator can create thousands of objects such as security groups, Edge Services Gateways, and Firewall Rules in just a few minutes with direct insight into vCenter objects for association
Flexible ReST Engine for Lifecycle Support of Objects and Policies

Database Driven
ReSTNSX provides the administrator the ability to create custom wizards in which they can select the ReST API calls needed. Each step of the process is tracked for easy recall of information and linking of complex tasks, such as creating logical networks. Each call is presented in human language but stored in the database using the ReST API syntax.
Every NSX Rest API call is added as a menu of selectable objects. Once the wizard is started, the administrator fills in the predefined fields that will be used to construct the ReST API call for review and execution. This process includes bulk object creation - whether the objects are loaded via .csv import or from looking into other systems objects such as vCenter - within a few clicks.
ReSTNSX tracks each call to be made to NSX Manager before executed. This creates a record for easy rollback should problems arise from the ReST API execution. Administrators can rollback each and every call with verbose logging of all actions executed. This alone would take very complex programming to achieve for custom ReST API calls.
User experience before ReST NSX:
<securityTag> <objectTypeName></objectTypeName> <type> <typeName></typeName> </type> <name></name> <description></description> <extendedAttributes/> </securityTag>
User experience after ReST NSX:

Native ReST Client
Unlike most scripting solutions on the market, ReSTNSX leverages a custom ReST Client that is integrated into the solution. Administrators no longer need to load ReST client libraries into their scripts or leverage 3rd party clients to consume the NSX ReST API.
Flexible Export
Once the NSX objects and policies are defined through the ReSTNSX wizard process, the user is presented with the ability to fully review the XML calls prior to execution; export to XML or JSON* for 3rd party client execution and/or leverage the embedded ReST Client for code execution.
* available in a future release