This document provides an overview of integrating with VMware vCenter Orchestrator (vCO). It discusses what orchestration is and the benefits it provides. It describes how vCO is distributed and its architecture. It covers the two main ways to integrate with vCO: the web service API and the plugin API. The web service API allows remote workflow execution and status checks. The plugin API allows exposing external systems for use in vCO workflows. It provides examples of using the Java bindings for the web service API and discusses the structure of a vCO plugin.
2. This session may contain product features that are currently under development. This session/overview of the new technology represents no commitment from VMware to deliver these features in any generally available product. Features are subject to change, and must not be included in contracts, purchase orders, or sales agreements of any kind. Technical feasibility and market demand will affect final delivery. Pricing and packaging for any new technologies or features discussed or presented have not been determined. Disclaimer “These features are representative of feature areas under development. Feature commitments are subject to change, and must not be included in contracts, purchase orders, or sales agreements of any kind. Technical feasibility and market demand will affect final delivery.”
3. Follow Us Facebook Search for VMware Partner Network TwitterSearch for VMware_Partners http://blogs.vmware.com/powerofpartnership/ Linkedin Search for VMware Partner Network t Join the conversationGet the latest scoopBe a part of the network Subscribe to RSS Follow this event LIVE! #VMwarePEX2010 Help us help you! Please fill out the survey at the end of the course.
4. Agenda What is Orchestration? Product overview Web Service API Plug-in API Q&A
11. What is Orchestration? Watch DVD TV: turn on Amp: turn on DVD: turn on TV: AUX input Talk to all sorts of devices Configure for devices Program Activities Amp: DVD input
12. What is Orchestration? Talk to all sorts of devices Configure for devices Program Activities Use
46. vCOServer: Library of Workflows Browser Access Client Application Access Directory Services Web Service Access Workflow Library vCO Database
47. vCOServer: Provision for 3rd Party Extensions Browser Access Client Application Access Web Service Access 3rd party custom 3rd party Webview 3rd party Workflow Workflow Library 3rd party Plug-in
51. Authoring Using the Integrated Workflow Environment Drag and drop interface to workflow building 400 Out-of-box workflows & building blocks All VI and ESX functions available in API, CLI, and VC UI. SSH WMI SMTP SNMP Databases Service desk and change control systems Ability to export and share workflows Schedule workflows
62. Examples - Java Run a workflow with no inputs private static final String username = “xxx”; private static final String password = “yyy”; private static final String workflowID = "9C808080808080808080808080808080D18080800124022711707067fa027b2e8"; private static final String endpoint = “http://vco:8280/vmware-vmo-webcontrol/webservice”; // vCO Web Service control VSOWebControl vco = new VSOWebControlProxy(endpoint); // Start workflow WorkflowToken token = vco.executeWorkflow(workflowID, username, password, null); // Wait for completion while (token.getGlobalState().equals("running")) { Thread.sleep(100); token = vco.getWorkflowTokenForId(token.getId(), username, password); } // Status is in getGlobalState() // Output parameters WorkflowTokenAttribute[] attributes = vco.getWorkflowTokenResult(token.getId(), username, password);
63. Examples - Java Run a workflow with a String as input private static final String username = “xxx”; private static final String password = “yyy”; private static final String workflowID = "9C808080808080808080808080808080D18080800124022711707067fa027b2e8"; private static final String endpoint = “http://vco:8280/vmware-vmo-webcontrol/webservice”; // vCO Web Service control VSOWebControlvco = new VSOWebControlProxy(endpoint); // Input parameters WorkflowTokenAttribute[] inputParameters = new WorkflowTokenAttribute[1]; inputParameters[0] = new WorkflowTokenAttribute(); inputParameters[0].setName(“text”); inputParameters[0].setType(“String”); inputParameters[0].setValue(”Hello World!"); // Start workflow WorkflowToken token = vco.executeWorkflow(workflowID, username, password, inputParameters); // Wait for completion …
64. Examples - Java Run a workflow with a String as input – get types from workflow private static final String username = “xxx”; private static final String password = “yyy”; private static final String workflowID = "9C808080808080808080808080808080D18080800124022711707067fa027b2e8"; private static final String endpoint = “http://vco:8280/vmware-vmo-webcontrol/webservice”; // vCO Web Service control VSOWebControlvco = new VSOWebControlProxy(endpoint); // Workflow Workflow wf = vco.getWorkflowForId(workflowID, username, password); // Input parameters descriptions WorkflowParameter[] params = wf.getInParameters(); // Input parameters WorkflowTokenAttribute[] inputParameters = new WorkflowTokenAttribute[1]; inputParameters[0] = new WorkflowTokenAttribute(); inputParameters[0].setName(params[0].getName()); inputParameters[0].setType(params[0].getType()); inputParameters[0].setValue(”Hello World!"); // Start workflow WorkflowToken token = vco.executeWorkflow(workflowID, username, password, inputParameters); // Wait for completion …
65. Web Service API: Conclusion Allows to run workflows Allows to find inventory objects used as input to workflows Standard WSDL 1.1 definition Supports Java and .Net bindings Java bindings provided as part of the samples documentation pack
71. Provide a library of workflows and other objects to use against the exposed API: add planet, destroy planet
72.
73.
74. Hitchhiker’s Guide to the Solar System Creating plugins in a few steps Create the vso.xml Create the lpluginAdaptor Create the IpluginFactory Map scripting objects to your Java classes Optionally create the configuration adaptors for use configuration such as the name of vSphere server- (IConfigurationAdapter & WebConfigurationAdaptor) Optionally create trigger events Create the plug-in package file (*.dar) Load the plugin Write workflows that demonstrate the functionality of your plugin and provide users with building blocks to their custom workflows Re-package the plugin with the workflow
75.
76.
77. Structure – VSO.XML File Java vCO plugin API Mapping between scripting object prototypes and Java classes
96. Ready. Set. Go! Take Action GO! Get Educated Visit Partner University for information on partner programs and resources Access to VMware Partner Exchange presentations GO! Get Competent Enroll in training and certification that counts toward earning competencies GO! Register Your Deals to Earn More Margin Visit Partner Central to learn about VMware’s registration programs
VMware recognizes the critical role our partners play in analyzing, recommending and delivering customer solutions.Last year, based on feedback we received from customers, partners and our own sales teams, we re-structured our overall partner program, now called VMware Partner Network. We did this to ensure we not only provided customers with world-class solutions, but that we provided partners with one of the best partner programs in the industry. We believe the tools, education and incentives available to you will help you increase your profitability as you solve your customers’ business challenges through VMware virtualization solutions.The VMware Partner Network provides programs to support many different partner business models. This presentation will be focused on Solution Providers. If you’re interested in learning more about the other partner types, please go to vmware.com/partners for more information.