SlideShare una empresa de Scribd logo
1 de 49
Descargar para leer sin conexión
Session ID
vSphere Client Plug-ins



              Nimish Sheth
            Manas Kelshikar
Disclaimer


 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.
About Us

   Nimish Sheth, MTS
     I have been at VMware for more than 2 years now
     I work for vSphere UI team
     I have been working on vSphere client plug-ins right from the 2.5 days
     I worked on devolopment of vNetwork Distributed Switch, Fault
     Tolerance, Storage vMotion in vSphere 4.0
   Manas Kelshikar, MTS
     I have been at VMware for more than 2 years now
     I work for vSphere UI team
     I worked on vSphere client plug-ins in vSphere 4.0
Overview

     Two flavors of vSphere client plug-ins
     What plug-ins can do and can’t do?
     Extension Points
     Walk-through a couple of partner plug-ins
     Web plug-ins
       Key features
       How to create and deploy web plug-ins
     C# plug-ins
       API discussion
       Deployment methods
     Plug-ins Roadmap
     Plug-ins style scorecard
     Resources
     Questions
Two flavors of Plug-ins




   Web plug-ins.                          .Net plug-ins.
     Embed an Internet Explorer             All the rich functionality of a thick
     browser within vSphere Client.         client.
     Make it easy to integrate existing     Similar look and feel to vSphere
     web apps.                              Client.
What plug-ins can and can’t do.

      Plug-ins can
         Create new home view items
         Create vSphere Client context menu items.
         Display browser panes within vSphere Client.
         Create new toolbar items with graphics.
      Plug-ins cannot
         Change the behavior of vCenter.
         Extend existing tables, summaries or reports in vSphere Client.
         Add to the inventory tree shown in vSphere Client.
Plug-in extension points




    To get the list of all the extension points, go to http://www.vmware.com/support/developer/vc-
        sdk/vcplugin/vSphere_Plugin_40_Technote.pdf
Plug-in extension points
Let’s look at web plug-ins.
What is a web plug-in?

   Web plug-ins are deployed as XML files.
        The web plug-in contents are later interpreted by vSphere Client.
        Based on the plug-in contents, new menus and tabs are created.
        Each action or element points to an external web server.
   Sample plug-in file:
Possibilities
                                                                        ServerEngines
                                                                        vMaestro software is a
                                                                        means for customers to
                                                                        create/deploy and
                                                                        manage virtual network
                                                                        and storage interfaces
                                                                        in a unified way, by
                                                                        integrating this
                                                                        management in the
                                                                        virtual infrastructure
                                                                        client. It also allows
                                                                        administrators to
                                                                        manage iSCSI storage
                                                                        targets from within VI
                                                                        client, and allows them
                                                                        to tie storage resources
                                                                        to virtual machines.




 Screenshot Courtesy ServerEngines LLC (http://www.serverengines.com)
Key features


      Localization support


      Display Constraints


      Nested Menus


      Data channel


      Navigate within vSphere client inventory
Localization support


      By defining multiple title nodes for an extension
      vSphere client will pick the correct title based on the current
      locale

      <extension parent="InventoryView.VirtualMachine" treestyle="Virtual">
        <title locale="en">vCenter MOB</title>
        <title locale=“de">German title for vCenter MOB</title>
        <title locale=“fr">French title for vCenter MOB</title>
        <url>file://C:/mob.html</url>
       </extension>
Display Constraints

  A way to express when the extension should be shown to the user

  Sort of a filtering mechanism, for e.g. a certain extension should
  only be seen by the administrator
    To do so, a privilege constraint can be used

  Three types of constraints
    Inventory view constraint
    Privilege-based constraint
    Custom-value based constraint
    Arbitrary constraints defined by plugin themselves (only available with C#
    plugins)

  One or more constraints can be used in combination for a single extension
  as well
Display constraints
  Types
    Inventory view constraint
       By default an extension is shown in all inventory views
    <extension parent="InventoryView.VirtualMachine" treestyle="Virtual">
      <title locale="en">vCenter MOB</title>
      <url>file://C:/mob.html</url>
    </extension>
    Permission based constraint
      Filtering based on specific vCenter permissions
    <extension parent="InventoryView.HostSystem" privilege="Host.Config.Connection,
       Host.Config.Storage">
       ….
    </extension>
    Custom-value based constraint
    <extension parent="InventoryView.VirtualMachine">
      <customAttribute name="attrName">VMware</customAttribute>
      …
    </extension>
Nested Menus

  Complex nesting supported (upto any number of levels)
  <!-- Nested Menus -->
   <extension parent="InventoryMenus.Datacenter">
     <title locale="en">vCenter MOB Nested</title>
     <!---URL will be ignored for the root level menu-->
     <url display="window">file://C:/mob.html</url>
     <!-- Child menus, parent attribute not required-->
     <extension>
       <title locale="en">vCenter MOB1</title>
       <url display="window">file://C:/mob.html</url>
     </extension>
     <extension>
       <title locale="en">vCenter MOB2</title>
       <url display="window">file://C:/mob.html</url>
     </extension>
   </extension>
Data channel
    Extremely loosely coupled with the vSphere client


    Contextual data passed to the plug-in
      Moref (e.g. VirtualMachine:vm-23)
      vCenter Server guid
      Locale
      vCenter Session id
      vCenter Service url


    Url looks like
      http://<Plug-in URL>/?moref=Folder:ha-folder-
      root&serverGuid=&sessionId=523cc164-77d4-8c77-8e95-
      28e19be1363f&locale=en_US&serviceUrl=https://10.20.104.142/sdk
Navigate

    Uses a javascript bridge


    Navigate to a specific object
      window.external.NavigateTo(‘HostSystem:host-23’)


    Navigate to a specific object and select a tab (like summary,
    performance etc.)
      window.external.Navigate(‘HostSystem:host-23’, ‘Summary’)
Installing web plug-ins.

   Note: vCenter never calls out
   to the 3rd Party Web Server.


                      Step 2:
                      Step 1:
          Register the XML3 plug-in
         Install the plug-in XMLWeb Server
       VMware vCenter     vS  Party
                             ph     file              rd


         configuration with vCenter
                                er
         on a 3rd party web server.
                                  e
                                      AP
                                        I
           using the vSphere API.
                                      Admin Station
Deploying web plug-ins to clients.
Note: vCenter has still not talked
to the 3rd Party Web Server.

                    Step 3:
                    Step 2:
     vSphere Client downloads the
                    Step 1:
      vCenter assemblesrd list of
                               a
                        vS




                                            S
                         ph




                                         TP
       plug-ins from the 3 Party
        vSphere Client logs in to
     VMware vCenter          3 Party Web Server rd


                           er




                                      HT
                             e
     web plug-ins and returns them
                               AP
                     vS


                                  I
                       A
                        ph

     Webserver vCenter. registered
                    that was
                           e re

              to vSphere Client.
                               AP
                                  I

                    earlier.
                         VMware vSphere Client
Using web plug-ins.


                       Step 1:
                         vSphere API

      When youStep 2: a plug-in
                        click 4:
                              on
                         vSphere API


    TheThe 3rd Party3: 3 Client,Server
      element in Stephostedapp the
            application Web on a
     VMware vCenter
                       vSphere Party Web    S
                                         TPrd
                                       HT S
    3rd vCenter respondslogstoken. to
      processes the response and
         Party request is made.in
           web Webserver to the          TT
                                      User
                                        H
                                            P

                                      Object selected (MoRef)
    makes its responsehasvSphere
    vCenter using the user’s token
           Note: vCenter to Action selected.
                      request.         no
              knowledge of this!
                  (and vSphere Client
                       Client.
                   VMware
                          identity).
Web plug-in best practices.

    Creating a new tab is the fastest way to create a new plug-in.
         This approach relies on an existing web application.
         You can embed an existing Java applet or ActiveX control.
         If you don’t have a web app, consider tools such as Google Web
         Toolkit.

    Creating menu items provides deeper integration and more
       value.
         This approach usually requires new development.
         This approach requires little web programming skill, but deep
         understanding of vSphere API.
User experience of web plug-ins.




  The look and feel are not
  identical.
  Rich graphical elements
  such as pop-ups and
  wizards are difficult to
  create.
Let’s look at .net plug-ins.
vSphere 4: .net Plug-in Support

       Create .net plug-ins like vCenter Update Manager and
       vCenter Converter.
         Plug-in has control over its lifetime.
         Dynamically introduce UI elements
         Custom configuration of added UI element’s visibility.
         Rich client and plug-in interaction
         Integrated look and feel of the vSphere Client.
         Possible to access vSphere Client internal cache.
         Plugin Manager allows for centralized plugin deployment.
Possibilities




Screenshot Courtesy NetApp (http://www.netapp.com/us/)
.Net Plug-in API
Plug-in API


      VMware.VIClient.Plugins2.Plugin
      Primary handle to a plug-in instantiated by the vSphere Client.


         Load(VIApp app)
         Entry point into plug-in code and is invoked by the vSphere Client when
         a plug-in is to be enabled. This is a good time to add extensions, hooks
         onto some vSphere Client events exposed through the VIApp.


         Unload()
         Counterpart part of the load method invoked when the plug-in is to be
         disabled. Suggested to close out utilized resource like file handles,
         network connections etc. Don’t worry about removing extensions as
         the client will handle that for the plug-in.
Plug-in API

      VMware.VIClient.Plugins2.VIApp

        NewExtension()
        Factory method that returns Extension objects. This also means that the
        vSphere Client always creates Extension objects and the plug-in is not
        expected to implement the interface.

        AddExtension(string parentId, Extension extension)
        Add an extension to the vSphere Client.

        Unload(..)
        Means for a plug-in to Unload i.e disable itself in case some conditions
        arises that the plug-in is no longer relevant. Note once Unloaded this
        way the plug-in will only be loaded if the user chooses to or the client is
        restarted.
Plug-in API

     VMware.VIClient.Plugins2.Extension
     Wrapper for actual UI elements.
        AddNewDisplayConstraint<ConstraintType>()
        Add a vSphere define constraint on an Extension
        AddCustomDisplayConstraint()
        Add a plug-in defined constraint on an Extension
        Context
        The managed object context in which the UI element is visible. This is
        set by the vSphere Client.
        Content
        This is the actual UI elements and is to be filled by the plug-in.
        Activated
        Event fired when extension comes into view. Recommended to fill up
        Content the first time this event is fired.
Plug-in API

    VMware.VIClient.Plugins2.DisplayConstraint
    To control conditional display of extensions.
        Evaluate
        Based on the value of this property the vSphere Client determines if the
        extension is to be shown or hidden.
        DisplayStatusChanged
        Event fired by a constraint if some condition has caused the display
        status of an extension to change.

  vSphere Client provide a few pre-canned DisplayConstraint’s. We recommend a
   plug-in to implement its own DisplayConstraint if they would like to have some
   other conditional control over display of extensions.

  Note : Multiple constraints can be apply to a single extension which are logically
   and’ed by the vSphere client.
Plug-in API

     VMware.VIClient.Plugins2.Inventory
     Represents vSphere Client inventory.

        GetName(ManagedObjectReference)
        Utility method for cheap retrieval of a managed object’s name.

        NavigateTo(..)
        Use these methods to navigate to various objects in the vSphere Client
        inventory. Use this method in conjunction with strings defined in
        NavigationKeys class.
Plug-in API

     VMware.VIClient.Plugins2.ExtensionContext
       Contains a reference to the VIM SDK object currently in focus.

     VMware.VIClient.Plugins2.ManagedObjectReference
       Uniquely identifies the server object and usually passed to a plug-in
       embedded in the ExtensionContext.


     VMware.VIClient.Plugins2.ServerInfo
       Information of the vSphere server that the client is connect with.
       vSphere client will only supply relevant ServerInfo’s.


     VMware.VIClient.Plugins2.UserSession
       Contains details of the logged-in user and a handle to the current users
       session cookie with the connected server. (Use this to impersonate the
       client log-in)
Using .net plug-ins.




                   Shares vSphere Client’s login
                                vSphere API


      VMware vCenter                     VMware vSphere Client
Assembly Attributes
   Assembly attributes informs the vSphere Client of necessary global details.
      VCOnlyPluginAttribute
      If defined the plug-in is only loaded if the client has connected to a vCenter
      Server otherwise the plug-in is loaded even if it is connected to an ESX/ESXi
      server.
      MultiVCSupported
      Indicates to the vSphere Client that a single plug-in object can handle
      contexts from multiple VC server part of the linked VC group.
      CompatiblePluginApiSupported
      The client plug-in API this plug-in supports. Is a CSV therefore a plug-in can
      support multiple client plug-in API versions.
      ExtensionKeyAttribute
      Indicates to the client to load the plug-in only if a server extension identified by
      the specified key exists.
      SupportedServerApiVersionAttribute
      API of the server extension the plug-in support. If not defined client will
      assume plug-in supports all versions of matching extension servers.
Other Goodies
vSphere Client Controls


      VMware.CustomControls
          ViewEx
          ListViewEx
          GridViewEx


      VpxClientCommon
          ViewData
          ListViewData

      (You will find the relevant libraries in the vSphere Client installation folder)
Inventory Cache

 How do I get from ManagedObjectReference to name of a vSphere
   Managed Object?
   vSphere Client maintains a cache of server data which can also be used by plug-
    ins.
    Step 1: Get the matching VcService from AllServices.
         VmomiSupport.VcService service =
         VmomiSupport.VimServiceManager.AllServices[0];


    Step 2 : Convert ManagedObjectReference to ManagedObject
         VirtualInfrastructure.ManagedObject mo =
         service.ManagedObjects[…];


    Step 3 : Get access to an InventoryNode and its name property.
         mo.Service.Inventory.GetNode(mo).Name;

     (Look for these interfaces in VimVmomi.dll and VI.dll)
How do I deliver my plug-in to the
        vSphere Client?
Deploying .net plug-ins: method 1.

                 Internet                       Deployment Server




         Pull from the                                 Push from a
           Internet                 OR              deployment server




Note: vCenter does not
 help this install in any
          way!
                            VMware vSphere Client
Deploying .net plug-ins: method 2.




VMware vSphere Client                  VMware vCenter




                              Hooks in to vCenter’s
                                “Available” tab.
Deployment

       Deployed as DLLs


       .Net plug-ins should be deployed in a folder alongside vSphere
       Client installation. Typically this folder is found at a path similar to
       C:Program FilesVMwareInfrastructureVirtual Infrastructure
       ClientPlugins.


       Possible plug-in delivery mechanisms
           Drop plug-in libraires in appropriate directory
           Register server extension with its client info pointing to a host
           installer on a web-server.
vSphere Client Action

          The vSphere Client introspects the plug-in dll to identify the plug-in
          types
          Based on the plug-in contents, new menus and tabs are created.
          Plug-in has complete control of how to handle the action and does
          not necessarily have to access a network resource

     Typical Plug-in code -
      using VMware.VIClient.Plugins2;
      namespace vSphereClientPlugin {
           public class MyPlugin : Plugin {
               public void Load(VIApp app) {
                   AddSomeUIExtensions(app);
                   RegisterVIAppEvents(app);
               }
           }
      }
Caveats

   Caveats while developing .net plug-ins
          Support for developing is forum-based only.
          We will not consider feature requests.
          Only critical bug fixes will be considered.
Roadmap


 1H 2008: Web plug-ins.           Future: Flex-based portal.




      2008            2009                 Future


                                       The Flex model is not yet
        1H 2009: .net plug-ins.        committed to a release.
Plug-in style scorecard.

   If…                                           Web         .net
   You have an existing web app.                 Easy        Hard
   You have a .net 2.0 based thick client.       Hard        Medium
   You have a Java applet.                       Easy        Very Hard
   You have a Java-based thick client.           Very Hard   Very Hard
   You plan to develop something from scratch.   Med-Hard    Easy-Med
   You need thick-client like functionality.     Hard        Easy
   You need look-and-feel like vSphere Client    Hard        Easy
   Your investment horizon is 3 years or less.   Yes         Yes
   Your investment horizon is longer than 3      Yes         No
   years.
Resources available for plug-ins.

    Plug-in documentation.
         http://www.vmware.com/support/developer/vc-sdk/vcplugin-exp/


    Plug-in community.
         http://communities.vmware.com/community/developer/viclientplugins


    Plug-in FAQs.
         http://communities.vmware.com/docs/DOC-4510
         http://communities.vmware.com/docs/DOC-4551


    Plug-in quick start guide.
         http://communities.vmware.com/docs/DOC-4861
Next Steps…

       Get access to a vSphere environment consisting of vCenter Server,
       ESX/ESXi hosts and a few Vmware Virtual Machines
       Download the plug-in documentation and sample code
       Deploy your sample plug-in in the ‘plugins’ folder.
       Launch the vSphere Client and see you plug-in appear
       Modify code and redeploy to see how your changes manifest
       Convert your ideas into vSphere Plug-ins
       Ship it!
Questions?

Más contenido relacionado

La actualidad más candente

Dynacache in WebSphere Portal Server
Dynacache in WebSphere Portal ServerDynacache in WebSphere Portal Server
Dynacache in WebSphere Portal ServerRohit Kelapure
 
Adrian Stoian - Manage Private and Public Cloud Services with System Center 2...
Adrian Stoian - Manage Private and Public Cloud Services with System Center 2...Adrian Stoian - Manage Private and Public Cloud Services with System Center 2...
Adrian Stoian - Manage Private and Public Cloud Services with System Center 2...ITSpark Community
 
vFabric - Ideal Platform for SaaS Apps
vFabric - Ideal Platform for SaaS AppsvFabric - Ideal Platform for SaaS Apps
vFabric - Ideal Platform for SaaS AppsVMware vFabric
 
Www.vmware.com support developer_windowstoolkit_wintk10_doc_viwin_admin
Www.vmware.com support developer_windowstoolkit_wintk10_doc_viwin_adminWww.vmware.com support developer_windowstoolkit_wintk10_doc_viwin_admin
Www.vmware.com support developer_windowstoolkit_wintk10_doc_viwin_adminVenkata Ramana
 
WAS Support & Monitoring Tools
WAS Support & Monitoring ToolsWAS Support & Monitoring Tools
WAS Support & Monitoring ToolsRoyal Cyber Inc.
 
Automating Windows Server 2008 R2 Administration with Windows PowerShell
Automating Windows Server 2008 R2 Administration with Windows PowerShellAutomating Windows Server 2008 R2 Administration with Windows PowerShell
Automating Windows Server 2008 R2 Administration with Windows PowerShellalexandair
 
Vtguru v mware-v-sphere-administration-training
Vtguru v mware-v-sphere-administration-trainingVtguru v mware-v-sphere-administration-training
Vtguru v mware-v-sphere-administration-trainingfosilalive2
 
Websphere Application Server V8.5
Websphere Application Server V8.5Websphere Application Server V8.5
Websphere Application Server V8.5IBM WebSphereIndia
 
V mware view 4.5
V mware view 4.5V mware view 4.5
V mware view 4.5bestip
 
How to Containerize WebSphere Application Server Traditional, and Why You Mig...
How to Containerize WebSphere Application Server Traditional, and Why You Mig...How to Containerize WebSphere Application Server Traditional, and Why You Mig...
How to Containerize WebSphere Application Server Traditional, and Why You Mig...David Currie
 
IBM WebSphere Application Server Introduction for Lotus
IBM WebSphere Application Server Introduction for LotusIBM WebSphere Application Server Introduction for Lotus
IBM WebSphere Application Server Introduction for Lotusdominion
 
Big Gains With Little Virtual Machines Sumeet Mehra
Big Gains With Little Virtual Machines Sumeet MehraBig Gains With Little Virtual Machines Sumeet Mehra
Big Gains With Little Virtual Machines Sumeet MehraJay Leone
 
VMworld 2013: vSphere UI Platform Best Practices: Putting the Web Client SDK ...
VMworld 2013: vSphere UI Platform Best Practices: Putting the Web Client SDK ...VMworld 2013: vSphere UI Platform Best Practices: Putting the Web Client SDK ...
VMworld 2013: vSphere UI Platform Best Practices: Putting the Web Client SDK ...VMworld
 

La actualidad más candente (18)

Dynacache in WebSphere Portal Server
Dynacache in WebSphere Portal ServerDynacache in WebSphere Portal Server
Dynacache in WebSphere Portal Server
 
Adrian Stoian - Manage Private and Public Cloud Services with System Center 2...
Adrian Stoian - Manage Private and Public Cloud Services with System Center 2...Adrian Stoian - Manage Private and Public Cloud Services with System Center 2...
Adrian Stoian - Manage Private and Public Cloud Services with System Center 2...
 
vFabric - Ideal Platform for SaaS Apps
vFabric - Ideal Platform for SaaS AppsvFabric - Ideal Platform for SaaS Apps
vFabric - Ideal Platform for SaaS Apps
 
Vsp 40 admin_guide
Vsp 40 admin_guideVsp 40 admin_guide
Vsp 40 admin_guide
 
Www.vmware.com support developer_windowstoolkit_wintk10_doc_viwin_admin
Www.vmware.com support developer_windowstoolkit_wintk10_doc_viwin_adminWww.vmware.com support developer_windowstoolkit_wintk10_doc_viwin_admin
Www.vmware.com support developer_windowstoolkit_wintk10_doc_viwin_admin
 
WAS Support & Monitoring Tools
WAS Support & Monitoring ToolsWAS Support & Monitoring Tools
WAS Support & Monitoring Tools
 
Automating Windows Server 2008 R2 Administration with Windows PowerShell
Automating Windows Server 2008 R2 Administration with Windows PowerShellAutomating Windows Server 2008 R2 Administration with Windows PowerShell
Automating Windows Server 2008 R2 Administration with Windows PowerShell
 
Vtguru v mware-v-sphere-administration-training
Vtguru v mware-v-sphere-administration-trainingVtguru v mware-v-sphere-administration-training
Vtguru v mware-v-sphere-administration-training
 
Websphere Application Server V8.5
Websphere Application Server V8.5Websphere Application Server V8.5
Websphere Application Server V8.5
 
V mware view 4.5
V mware view 4.5V mware view 4.5
V mware view 4.5
 
How to Containerize WebSphere Application Server Traditional, and Why You Mig...
How to Containerize WebSphere Application Server Traditional, and Why You Mig...How to Containerize WebSphere Application Server Traditional, and Why You Mig...
How to Containerize WebSphere Application Server Traditional, and Why You Mig...
 
IBM WebSphere Application Server Introduction for Lotus
IBM WebSphere Application Server Introduction for LotusIBM WebSphere Application Server Introduction for Lotus
IBM WebSphere Application Server Introduction for Lotus
 
Prudhvi
PrudhviPrudhvi
Prudhvi
 
1812 icap-v1.3 0430
1812 icap-v1.3 04301812 icap-v1.3 0430
1812 icap-v1.3 0430
 
WAS 8 Webcast
WAS 8 WebcastWAS 8 Webcast
WAS 8 Webcast
 
Big Gains With Little Virtual Machines Sumeet Mehra
Big Gains With Little Virtual Machines Sumeet MehraBig Gains With Little Virtual Machines Sumeet Mehra
Big Gains With Little Virtual Machines Sumeet Mehra
 
VMworld 2013: vSphere UI Platform Best Practices: Putting the Web Client SDK ...
VMworld 2013: vSphere UI Platform Best Practices: Putting the Web Client SDK ...VMworld 2013: vSphere UI Platform Best Practices: Putting the Web Client SDK ...
VMworld 2013: vSphere UI Platform Best Practices: Putting the Web Client SDK ...
 
100 most vmware q&a
100 most vmware q&a100 most vmware q&a
100 most vmware q&a
 

Destacado

Newspaper society database
Newspaper society databaseNewspaper society database
Newspaper society databaseamertamer
 
Hindustan Media Ventures - IPO Note
Hindustan Media Ventures - IPO NoteHindustan Media Ventures - IPO Note
Hindustan Media Ventures - IPO NoteAngel Broking
 
Misty Weaver LavaCon Empathy in Editorial Strategy 2014
Misty Weaver LavaCon Empathy in Editorial Strategy 2014Misty Weaver LavaCon Empathy in Editorial Strategy 2014
Misty Weaver LavaCon Empathy in Editorial Strategy 2014Misty Weaver
 
Vigmo &amp; bradley open education global conference krakow 2016
Vigmo &amp; bradley open education global conference krakow 2016Vigmo &amp; bradley open education global conference krakow 2016
Vigmo &amp; bradley open education global conference krakow 2016alibra01
 
Xalok - The Newsroom Integrated System (Editorial CMS)
Xalok - The Newsroom Integrated System (Editorial CMS)Xalok - The Newsroom Integrated System (Editorial CMS)
Xalok - The Newsroom Integrated System (Editorial CMS)Amelia Roversi-Mónaco
 
Bá Tiến - Price War
Bá Tiến - Price WarBá Tiến - Price War
Bá Tiến - Price WarIceCy Min
 
20 Tips to Help Job Seekers Prepare for an Interview at VMware
20 Tips to Help Job Seekers Prepare for an Interview at VMware20 Tips to Help Job Seekers Prepare for an Interview at VMware
20 Tips to Help Job Seekers Prepare for an Interview at VMwareVMware
 
Interview presentation
Interview presentationInterview presentation
Interview presentation07557510283
 
The ins and outs of project based learning
The ins and outs of project based learningThe ins and outs of project based learning
The ins and outs of project based learningMontse Irun
 
Plug-ins & Third-Party SDKs in UE4
Plug-ins & Third-Party SDKs in UE4Plug-ins & Third-Party SDKs in UE4
Plug-ins & Third-Party SDKs in UE4Gerke Max Preussner
 
Virtualization Questions
Virtualization QuestionsVirtualization Questions
Virtualization QuestionsTrupti Jethva
 
Ethics and Conduct Policy for Cooperatives
Ethics and Conduct Policy for CooperativesEthics and Conduct Policy for Cooperatives
Ethics and Conduct Policy for CooperativesJo Balucanag - Bitonio
 
Indian newspaper industry
Indian newspaper industryIndian newspaper industry
Indian newspaper industryMd Mangukiya
 

Destacado (20)

plug ins
plug insplug ins
plug ins
 
Define plugins
 Define  plugins Define  plugins
Define plugins
 
Newspaper society database
Newspaper society databaseNewspaper society database
Newspaper society database
 
Hindustan Media Ventures - IPO Note
Hindustan Media Ventures - IPO NoteHindustan Media Ventures - IPO Note
Hindustan Media Ventures - IPO Note
 
Misty Weaver LavaCon Empathy in Editorial Strategy 2014
Misty Weaver LavaCon Empathy in Editorial Strategy 2014Misty Weaver LavaCon Empathy in Editorial Strategy 2014
Misty Weaver LavaCon Empathy in Editorial Strategy 2014
 
Launching A Venture
Launching A VentureLaunching A Venture
Launching A Venture
 
Vigmo &amp; bradley open education global conference krakow 2016
Vigmo &amp; bradley open education global conference krakow 2016Vigmo &amp; bradley open education global conference krakow 2016
Vigmo &amp; bradley open education global conference krakow 2016
 
Xalok - The Newsroom Integrated System (Editorial CMS)
Xalok - The Newsroom Integrated System (Editorial CMS)Xalok - The Newsroom Integrated System (Editorial CMS)
Xalok - The Newsroom Integrated System (Editorial CMS)
 
Bá Tiến - Price War
Bá Tiến - Price WarBá Tiến - Price War
Bá Tiến - Price War
 
20 Tips to Help Job Seekers Prepare for an Interview at VMware
20 Tips to Help Job Seekers Prepare for an Interview at VMware20 Tips to Help Job Seekers Prepare for an Interview at VMware
20 Tips to Help Job Seekers Prepare for an Interview at VMware
 
Interview presentation
Interview presentationInterview presentation
Interview presentation
 
The Future of Check ins
The Future of Check insThe Future of Check ins
The Future of Check ins
 
Vmware v-sphere
Vmware   v-sphereVmware   v-sphere
Vmware v-sphere
 
The ins and outs of project based learning
The ins and outs of project based learningThe ins and outs of project based learning
The ins and outs of project based learning
 
Vmware interview
Vmware interviewVmware interview
Vmware interview
 
Vmware inter
Vmware interVmware inter
Vmware inter
 
Plug-ins & Third-Party SDKs in UE4
Plug-ins & Third-Party SDKs in UE4Plug-ins & Third-Party SDKs in UE4
Plug-ins & Third-Party SDKs in UE4
 
Virtualization Questions
Virtualization QuestionsVirtualization Questions
Virtualization Questions
 
Ethics and Conduct Policy for Cooperatives
Ethics and Conduct Policy for CooperativesEthics and Conduct Policy for Cooperatives
Ethics and Conduct Policy for Cooperatives
 
Indian newspaper industry
Indian newspaper industryIndian newspaper industry
Indian newspaper industry
 

Similar a Creating v sphere client plug ins

Exploring VMware APIs by Preetham Gopalaswamy
Exploring VMware APIs by Preetham GopalaswamyExploring VMware APIs by Preetham Gopalaswamy
Exploring VMware APIs by Preetham GopalaswamyAlan Renouf
 
Vmware virtualization in data centers
Vmware virtualization in data centersVmware virtualization in data centers
Vmware virtualization in data centersHarshitTaneja13
 
Pengertian Virtualisasi.pptx
Pengertian Virtualisasi.pptxPengertian Virtualisasi.pptx
Pengertian Virtualisasi.pptxfredysitorus0706
 
TECHNICAL WHITE PAPER▸ NetBackup 7.6 Plugin for VMware vCenter
TECHNICAL WHITE PAPER▸ NetBackup 7.6 Plugin for VMware vCenterTECHNICAL WHITE PAPER▸ NetBackup 7.6 Plugin for VMware vCenter
TECHNICAL WHITE PAPER▸ NetBackup 7.6 Plugin for VMware vCenterSymantec
 
V mware course contents copy
V mware course contents   copyV mware course contents   copy
V mware course contents copyRakesh Puppala
 
Networker integration for optimal performance
Networker integration for optimal performanceNetworker integration for optimal performance
Networker integration for optimal performanceMohamed Sohail
 
Vmware view overview
Vmware view overviewVmware view overview
Vmware view overviewManny Singh
 
Scvmm Technical Overview.Son Vu
Scvmm Technical Overview.Son VuScvmm Technical Overview.Son Vu
Scvmm Technical Overview.Son Vuvncson
 
VMware vCloud Director Technisch Overzicht
VMware vCloud Director Technisch OverzichtVMware vCloud Director Technisch Overzicht
VMware vCloud Director Technisch OverzichtArjan Hendriks
 
vSphere integrated containers
vSphere integrated containersvSphere integrated containers
vSphere integrated containersAtul Srivastava
 
vFabric for i ISVs and MSPs
vFabric for i ISVs and MSPsvFabric for i ISVs and MSPs
vFabric for i ISVs and MSPsVMware vFabric
 
"Running Node.js in your browser with WebContainers", Oleksandr Zinevych
"Running Node.js in your browser with WebContainers", Oleksandr Zinevych "Running Node.js in your browser with WebContainers", Oleksandr Zinevych
"Running Node.js in your browser with WebContainers", Oleksandr Zinevych Fwdays
 
Server Virtualization With VMware_Project Doc [Latest Updated]
Server Virtualization With VMware_Project Doc [Latest Updated]Server Virtualization With VMware_Project Doc [Latest Updated]
Server Virtualization With VMware_Project Doc [Latest Updated]Smit Bhilare
 
VMware vSphere technical presentation
VMware vSphere technical presentationVMware vSphere technical presentation
VMware vSphere technical presentationaleyeldean
 
vmwarevspheretechnicalpresentation-100822072122-phpapp01.pdf
vmwarevspheretechnicalpresentation-100822072122-phpapp01.pdfvmwarevspheretechnicalpresentation-100822072122-phpapp01.pdf
vmwarevspheretechnicalpresentation-100822072122-phpapp01.pdfsamarth97
 
VMware vCloud Director
VMware vCloud DirectorVMware vCloud Director
VMware vCloud DirectorErik Bussink
 

Similar a Creating v sphere client plug ins (20)

Exploring VMware APIs by Preetham Gopalaswamy
Exploring VMware APIs by Preetham GopalaswamyExploring VMware APIs by Preetham Gopalaswamy
Exploring VMware APIs by Preetham Gopalaswamy
 
Vmware virtualization in data centers
Vmware virtualization in data centersVmware virtualization in data centers
Vmware virtualization in data centers
 
VSICM8_M02.pptx
VSICM8_M02.pptxVSICM8_M02.pptx
VSICM8_M02.pptx
 
Pengertian Virtualisasi.pptx
Pengertian Virtualisasi.pptxPengertian Virtualisasi.pptx
Pengertian Virtualisasi.pptx
 
TECHNICAL WHITE PAPER▸ NetBackup 7.6 Plugin for VMware vCenter
TECHNICAL WHITE PAPER▸ NetBackup 7.6 Plugin for VMware vCenterTECHNICAL WHITE PAPER▸ NetBackup 7.6 Plugin for VMware vCenter
TECHNICAL WHITE PAPER▸ NetBackup 7.6 Plugin for VMware vCenter
 
V mware course contents copy
V mware course contents   copyV mware course contents   copy
V mware course contents copy
 
Networker integration for optimal performance
Networker integration for optimal performanceNetworker integration for optimal performance
Networker integration for optimal performance
 
Vmware view overview
Vmware view overviewVmware view overview
Vmware view overview
 
Scvmm Technical Overview.Son Vu
Scvmm Technical Overview.Son VuScvmm Technical Overview.Son Vu
Scvmm Technical Overview.Son Vu
 
VMware vCloud Director Technisch Overzicht
VMware vCloud Director Technisch OverzichtVMware vCloud Director Technisch Overzicht
VMware vCloud Director Technisch Overzicht
 
VMware
VMwareVMware
VMware
 
Cloud reference model session3
Cloud reference model session3Cloud reference model session3
Cloud reference model session3
 
vSphere integrated containers
vSphere integrated containersvSphere integrated containers
vSphere integrated containers
 
vFabric for i ISVs and MSPs
vFabric for i ISVs and MSPsvFabric for i ISVs and MSPs
vFabric for i ISVs and MSPs
 
"Running Node.js in your browser with WebContainers", Oleksandr Zinevych
"Running Node.js in your browser with WebContainers", Oleksandr Zinevych "Running Node.js in your browser with WebContainers", Oleksandr Zinevych
"Running Node.js in your browser with WebContainers", Oleksandr Zinevych
 
Server Virtualization With VMware_Project Doc [Latest Updated]
Server Virtualization With VMware_Project Doc [Latest Updated]Server Virtualization With VMware_Project Doc [Latest Updated]
Server Virtualization With VMware_Project Doc [Latest Updated]
 
VMware vSphere technical presentation
VMware vSphere technical presentationVMware vSphere technical presentation
VMware vSphere technical presentation
 
vmwarevspheretechnicalpresentation-100822072122-phpapp01.pdf
vmwarevspheretechnicalpresentation-100822072122-phpapp01.pdfvmwarevspheretechnicalpresentation-100822072122-phpapp01.pdf
vmwarevspheretechnicalpresentation-100822072122-phpapp01.pdf
 
01 v mware overview
01  v mware overview01  v mware overview
01 v mware overview
 
VMware vCloud Director
VMware vCloud DirectorVMware vCloud Director
VMware vCloud Director
 

Más de Pablo Roesch

VMware Partner Exchange - 2014 Meet our Product Experts Hands-on Labs
VMware Partner Exchange - 2014 Meet our Product Experts Hands-on LabsVMware Partner Exchange - 2014 Meet our Product Experts Hands-on Labs
VMware Partner Exchange - 2014 Meet our Product Experts Hands-on LabsPablo Roesch
 
vCloud SDK for PHP - Introduction
vCloud SDK for PHP - IntroductionvCloud SDK for PHP - Introduction
vCloud SDK for PHP - IntroductionPablo Roesch
 
V c loudapi_coffeetalk__pimplaskar_may2010
V c loudapi_coffeetalk__pimplaskar_may2010V c loudapi_coffeetalk__pimplaskar_may2010
V c loudapi_coffeetalk__pimplaskar_may2010Pablo Roesch
 
vCenter Orchestrator APIs
vCenter Orchestrator APIsvCenter Orchestrator APIs
vCenter Orchestrator APIsPablo Roesch
 
Building vSphere Perf Monitoring Tools
Building vSphere Perf Monitoring ToolsBuilding vSphere Perf Monitoring Tools
Building vSphere Perf Monitoring ToolsPablo Roesch
 
Vmware vSphere Api Best Practices
Vmware vSphere Api Best PracticesVmware vSphere Api Best Practices
Vmware vSphere Api Best PracticesPablo Roesch
 

Más de Pablo Roesch (6)

VMware Partner Exchange - 2014 Meet our Product Experts Hands-on Labs
VMware Partner Exchange - 2014 Meet our Product Experts Hands-on LabsVMware Partner Exchange - 2014 Meet our Product Experts Hands-on Labs
VMware Partner Exchange - 2014 Meet our Product Experts Hands-on Labs
 
vCloud SDK for PHP - Introduction
vCloud SDK for PHP - IntroductionvCloud SDK for PHP - Introduction
vCloud SDK for PHP - Introduction
 
V c loudapi_coffeetalk__pimplaskar_may2010
V c loudapi_coffeetalk__pimplaskar_may2010V c loudapi_coffeetalk__pimplaskar_may2010
V c loudapi_coffeetalk__pimplaskar_may2010
 
vCenter Orchestrator APIs
vCenter Orchestrator APIsvCenter Orchestrator APIs
vCenter Orchestrator APIs
 
Building vSphere Perf Monitoring Tools
Building vSphere Perf Monitoring ToolsBuilding vSphere Perf Monitoring Tools
Building vSphere Perf Monitoring Tools
 
Vmware vSphere Api Best Practices
Vmware vSphere Api Best PracticesVmware vSphere Api Best Practices
Vmware vSphere Api Best Practices
 

Último

Call Girls In Hauz Khas 8375860717 Escorts Service Free Home Delivery
Call Girls In Hauz Khas 8375860717 Escorts Service Free Home DeliveryCall Girls In Hauz Khas 8375860717 Escorts Service Free Home Delivery
Call Girls In Hauz Khas 8375860717 Escorts Service Free Home Deliverydoor45step
 
Call Girls In Laxmi Nagar 8375860717 Escorts Service Free Home Delivery
Call Girls In Laxmi Nagar 8375860717 Escorts Service Free Home DeliveryCall Girls In Laxmi Nagar 8375860717 Escorts Service Free Home Delivery
Call Girls In Laxmi Nagar 8375860717 Escorts Service Free Home Deliverydoor45step
 
8377087607, Door Step Call Girls In Gaur City (NOIDA) 24/7 Available
8377087607, Door Step Call Girls In Gaur City (NOIDA) 24/7 Available8377087607, Door Step Call Girls In Gaur City (NOIDA) 24/7 Available
8377087607, Door Step Call Girls In Gaur City (NOIDA) 24/7 Availabledollysharma2066
 
Jvc Call Girl +971528604116 Indian Call Girl in Jvc By Dubai Call Girl
Jvc Call Girl +971528604116 Indian Call Girl in Jvc By Dubai Call GirlJvc Call Girl +971528604116 Indian Call Girl in Jvc By Dubai Call Girl
Jvc Call Girl +971528604116 Indian Call Girl in Jvc By Dubai Call Girllijeho2176
 
Govindpuri Call Girls : ☎ 8527673949, Low rate Call Girls
Govindpuri Call Girls : ☎ 8527673949, Low rate Call GirlsGovindpuri Call Girls : ☎ 8527673949, Low rate Call Girls
Govindpuri Call Girls : ☎ 8527673949, Low rate Call Girlsashishs7044
 
Retail Store Scavanger Hunt - Foundation College Park
Retail Store Scavanger Hunt - Foundation College ParkRetail Store Scavanger Hunt - Foundation College Park
Retail Store Scavanger Hunt - Foundation College Parkjosebenzaquen
 
How to order fake Lakeland University diploma?
How to order fake Lakeland University diploma?How to order fake Lakeland University diploma?
How to order fake Lakeland University diploma?melodolykelton
 
Value Aspiration And Culture Theory of Architecture
Value Aspiration And Culture Theory of ArchitectureValue Aspiration And Culture Theory of Architecture
Value Aspiration And Culture Theory of ArchitectureDarrenMasbate
 
Escort Service in Abu Dhabi +971509530047 UAE
Escort Service in Abu Dhabi +971509530047 UAEEscort Service in Abu Dhabi +971509530047 UAE
Escort Service in Abu Dhabi +971509530047 UAEvecevep119
 
Kristy Soto's Industrial design Portfolio
Kristy Soto's Industrial design PortfolioKristy Soto's Industrial design Portfolio
Kristy Soto's Industrial design PortfolioKristySoto
 
Jlt Call Girl +971509430017 Indian Call Girl in Jlt By Dubai Call Girl
Jlt Call Girl +971509430017 Indian Call Girl in Jlt By Dubai Call GirlJlt Call Girl +971509430017 Indian Call Girl in Jlt By Dubai Call Girl
Jlt Call Girl +971509430017 Indian Call Girl in Jlt By Dubai Call Girllijeho2176
 
A Selection of Tim Walsh's Recent Paintings
A Selection of Tim Walsh's  Recent PaintingsA Selection of Tim Walsh's  Recent Paintings
A Selection of Tim Walsh's Recent PaintingsTim Walsh
 
Al Barsha Housewife Call Girls +971509530047 Al Barsha Call Girls
Al Barsha Housewife Call Girls +971509530047 Al Barsha Call GirlsAl Barsha Housewife Call Girls +971509530047 Al Barsha Call Girls
Al Barsha Housewife Call Girls +971509530047 Al Barsha Call Girlshayawit234
 
Kashmiri Gate Call Girls : ☎ 8527673949, Low rate Call Girls
Kashmiri Gate Call Girls : ☎ 8527673949, Low rate Call GirlsKashmiri Gate Call Girls : ☎ 8527673949, Low rate Call Girls
Kashmiri Gate Call Girls : ☎ 8527673949, Low rate Call Girlsashishs7044
 
Escort Service in Ajman +971509530047 UAE
Escort Service in Ajman +971509530047 UAEEscort Service in Ajman +971509530047 UAE
Escort Service in Ajman +971509530047 UAEvecevep119
 
The Masque of the Red Death Storyboard 2023
The Masque of the Red Death Storyboard 2023The Masque of the Red Death Storyboard 2023
The Masque of the Red Death Storyboard 2023magalybtapia
 
Abu Dhabi Housewife Call Girls +971509530047 Abu Dhabi Call Girls
Abu Dhabi Housewife Call Girls +971509530047 Abu Dhabi Call GirlsAbu Dhabi Housewife Call Girls +971509530047 Abu Dhabi Call Girls
Abu Dhabi Housewife Call Girls +971509530047 Abu Dhabi Call Girlshayawit234
 
Zagor VČ OP 055 - Oluja nad Haitijem.pdf
Zagor VČ OP 055 - Oluja nad Haitijem.pdfZagor VČ OP 055 - Oluja nad Haitijem.pdf
Zagor VČ OP 055 - Oluja nad Haitijem.pdfStripovizijacom
 
The Hooper Talk (drama/comedy board sample)
The Hooper Talk (drama/comedy board sample)The Hooper Talk (drama/comedy board sample)
The Hooper Talk (drama/comedy board sample)DavonBrooks
 

Último (20)

Call Girls In Hauz Khas 8375860717 Escorts Service Free Home Delivery
Call Girls In Hauz Khas 8375860717 Escorts Service Free Home DeliveryCall Girls In Hauz Khas 8375860717 Escorts Service Free Home Delivery
Call Girls In Hauz Khas 8375860717 Escorts Service Free Home Delivery
 
Call Girls In Laxmi Nagar 8375860717 Escorts Service Free Home Delivery
Call Girls In Laxmi Nagar 8375860717 Escorts Service Free Home DeliveryCall Girls In Laxmi Nagar 8375860717 Escorts Service Free Home Delivery
Call Girls In Laxmi Nagar 8375860717 Escorts Service Free Home Delivery
 
8377087607, Door Step Call Girls In Gaur City (NOIDA) 24/7 Available
8377087607, Door Step Call Girls In Gaur City (NOIDA) 24/7 Available8377087607, Door Step Call Girls In Gaur City (NOIDA) 24/7 Available
8377087607, Door Step Call Girls In Gaur City (NOIDA) 24/7 Available
 
Jvc Call Girl +971528604116 Indian Call Girl in Jvc By Dubai Call Girl
Jvc Call Girl +971528604116 Indian Call Girl in Jvc By Dubai Call GirlJvc Call Girl +971528604116 Indian Call Girl in Jvc By Dubai Call Girl
Jvc Call Girl +971528604116 Indian Call Girl in Jvc By Dubai Call Girl
 
Govindpuri Call Girls : ☎ 8527673949, Low rate Call Girls
Govindpuri Call Girls : ☎ 8527673949, Low rate Call GirlsGovindpuri Call Girls : ☎ 8527673949, Low rate Call Girls
Govindpuri Call Girls : ☎ 8527673949, Low rate Call Girls
 
Retail Store Scavanger Hunt - Foundation College Park
Retail Store Scavanger Hunt - Foundation College ParkRetail Store Scavanger Hunt - Foundation College Park
Retail Store Scavanger Hunt - Foundation College Park
 
call girls in Noida New Ashok Nagar 🔝 >༒8448380779 🔝 genuine Escort Service 🔝...
call girls in Noida New Ashok Nagar 🔝 >༒8448380779 🔝 genuine Escort Service 🔝...call girls in Noida New Ashok Nagar 🔝 >༒8448380779 🔝 genuine Escort Service 🔝...
call girls in Noida New Ashok Nagar 🔝 >༒8448380779 🔝 genuine Escort Service 🔝...
 
How to order fake Lakeland University diploma?
How to order fake Lakeland University diploma?How to order fake Lakeland University diploma?
How to order fake Lakeland University diploma?
 
Value Aspiration And Culture Theory of Architecture
Value Aspiration And Culture Theory of ArchitectureValue Aspiration And Culture Theory of Architecture
Value Aspiration And Culture Theory of Architecture
 
Escort Service in Abu Dhabi +971509530047 UAE
Escort Service in Abu Dhabi +971509530047 UAEEscort Service in Abu Dhabi +971509530047 UAE
Escort Service in Abu Dhabi +971509530047 UAE
 
Kristy Soto's Industrial design Portfolio
Kristy Soto's Industrial design PortfolioKristy Soto's Industrial design Portfolio
Kristy Soto's Industrial design Portfolio
 
Jlt Call Girl +971509430017 Indian Call Girl in Jlt By Dubai Call Girl
Jlt Call Girl +971509430017 Indian Call Girl in Jlt By Dubai Call GirlJlt Call Girl +971509430017 Indian Call Girl in Jlt By Dubai Call Girl
Jlt Call Girl +971509430017 Indian Call Girl in Jlt By Dubai Call Girl
 
A Selection of Tim Walsh's Recent Paintings
A Selection of Tim Walsh's  Recent PaintingsA Selection of Tim Walsh's  Recent Paintings
A Selection of Tim Walsh's Recent Paintings
 
Al Barsha Housewife Call Girls +971509530047 Al Barsha Call Girls
Al Barsha Housewife Call Girls +971509530047 Al Barsha Call GirlsAl Barsha Housewife Call Girls +971509530047 Al Barsha Call Girls
Al Barsha Housewife Call Girls +971509530047 Al Barsha Call Girls
 
Kashmiri Gate Call Girls : ☎ 8527673949, Low rate Call Girls
Kashmiri Gate Call Girls : ☎ 8527673949, Low rate Call GirlsKashmiri Gate Call Girls : ☎ 8527673949, Low rate Call Girls
Kashmiri Gate Call Girls : ☎ 8527673949, Low rate Call Girls
 
Escort Service in Ajman +971509530047 UAE
Escort Service in Ajman +971509530047 UAEEscort Service in Ajman +971509530047 UAE
Escort Service in Ajman +971509530047 UAE
 
The Masque of the Red Death Storyboard 2023
The Masque of the Red Death Storyboard 2023The Masque of the Red Death Storyboard 2023
The Masque of the Red Death Storyboard 2023
 
Abu Dhabi Housewife Call Girls +971509530047 Abu Dhabi Call Girls
Abu Dhabi Housewife Call Girls +971509530047 Abu Dhabi Call GirlsAbu Dhabi Housewife Call Girls +971509530047 Abu Dhabi Call Girls
Abu Dhabi Housewife Call Girls +971509530047 Abu Dhabi Call Girls
 
Zagor VČ OP 055 - Oluja nad Haitijem.pdf
Zagor VČ OP 055 - Oluja nad Haitijem.pdfZagor VČ OP 055 - Oluja nad Haitijem.pdf
Zagor VČ OP 055 - Oluja nad Haitijem.pdf
 
The Hooper Talk (drama/comedy board sample)
The Hooper Talk (drama/comedy board sample)The Hooper Talk (drama/comedy board sample)
The Hooper Talk (drama/comedy board sample)
 

Creating v sphere client plug ins

  • 1. Session ID vSphere Client Plug-ins Nimish Sheth Manas Kelshikar
  • 2. Disclaimer 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.
  • 3. About Us Nimish Sheth, MTS I have been at VMware for more than 2 years now I work for vSphere UI team I have been working on vSphere client plug-ins right from the 2.5 days I worked on devolopment of vNetwork Distributed Switch, Fault Tolerance, Storage vMotion in vSphere 4.0 Manas Kelshikar, MTS I have been at VMware for more than 2 years now I work for vSphere UI team I worked on vSphere client plug-ins in vSphere 4.0
  • 4. Overview Two flavors of vSphere client plug-ins What plug-ins can do and can’t do? Extension Points Walk-through a couple of partner plug-ins Web plug-ins Key features How to create and deploy web plug-ins C# plug-ins API discussion Deployment methods Plug-ins Roadmap Plug-ins style scorecard Resources Questions
  • 5. Two flavors of Plug-ins Web plug-ins. .Net plug-ins. Embed an Internet Explorer All the rich functionality of a thick browser within vSphere Client. client. Make it easy to integrate existing Similar look and feel to vSphere web apps. Client.
  • 6. What plug-ins can and can’t do. Plug-ins can Create new home view items Create vSphere Client context menu items. Display browser panes within vSphere Client. Create new toolbar items with graphics. Plug-ins cannot Change the behavior of vCenter. Extend existing tables, summaries or reports in vSphere Client. Add to the inventory tree shown in vSphere Client.
  • 7. Plug-in extension points To get the list of all the extension points, go to http://www.vmware.com/support/developer/vc- sdk/vcplugin/vSphere_Plugin_40_Technote.pdf
  • 9. Let’s look at web plug-ins.
  • 10. What is a web plug-in? Web plug-ins are deployed as XML files. The web plug-in contents are later interpreted by vSphere Client. Based on the plug-in contents, new menus and tabs are created. Each action or element points to an external web server. Sample plug-in file:
  • 11. Possibilities ServerEngines vMaestro software is a means for customers to create/deploy and manage virtual network and storage interfaces in a unified way, by integrating this management in the virtual infrastructure client. It also allows administrators to manage iSCSI storage targets from within VI client, and allows them to tie storage resources to virtual machines. Screenshot Courtesy ServerEngines LLC (http://www.serverengines.com)
  • 12. Key features Localization support Display Constraints Nested Menus Data channel Navigate within vSphere client inventory
  • 13. Localization support By defining multiple title nodes for an extension vSphere client will pick the correct title based on the current locale <extension parent="InventoryView.VirtualMachine" treestyle="Virtual"> <title locale="en">vCenter MOB</title> <title locale=“de">German title for vCenter MOB</title> <title locale=“fr">French title for vCenter MOB</title> <url>file://C:/mob.html</url> </extension>
  • 14. Display Constraints A way to express when the extension should be shown to the user Sort of a filtering mechanism, for e.g. a certain extension should only be seen by the administrator To do so, a privilege constraint can be used Three types of constraints Inventory view constraint Privilege-based constraint Custom-value based constraint Arbitrary constraints defined by plugin themselves (only available with C# plugins) One or more constraints can be used in combination for a single extension as well
  • 15. Display constraints Types Inventory view constraint By default an extension is shown in all inventory views <extension parent="InventoryView.VirtualMachine" treestyle="Virtual"> <title locale="en">vCenter MOB</title> <url>file://C:/mob.html</url> </extension> Permission based constraint Filtering based on specific vCenter permissions <extension parent="InventoryView.HostSystem" privilege="Host.Config.Connection, Host.Config.Storage"> …. </extension> Custom-value based constraint <extension parent="InventoryView.VirtualMachine"> <customAttribute name="attrName">VMware</customAttribute> … </extension>
  • 16. Nested Menus Complex nesting supported (upto any number of levels) <!-- Nested Menus --> <extension parent="InventoryMenus.Datacenter"> <title locale="en">vCenter MOB Nested</title> <!---URL will be ignored for the root level menu--> <url display="window">file://C:/mob.html</url> <!-- Child menus, parent attribute not required--> <extension> <title locale="en">vCenter MOB1</title> <url display="window">file://C:/mob.html</url> </extension> <extension> <title locale="en">vCenter MOB2</title> <url display="window">file://C:/mob.html</url> </extension> </extension>
  • 17. Data channel Extremely loosely coupled with the vSphere client Contextual data passed to the plug-in Moref (e.g. VirtualMachine:vm-23) vCenter Server guid Locale vCenter Session id vCenter Service url Url looks like http://<Plug-in URL>/?moref=Folder:ha-folder- root&serverGuid=&sessionId=523cc164-77d4-8c77-8e95- 28e19be1363f&locale=en_US&serviceUrl=https://10.20.104.142/sdk
  • 18. Navigate Uses a javascript bridge Navigate to a specific object window.external.NavigateTo(‘HostSystem:host-23’) Navigate to a specific object and select a tab (like summary, performance etc.) window.external.Navigate(‘HostSystem:host-23’, ‘Summary’)
  • 19. Installing web plug-ins. Note: vCenter never calls out to the 3rd Party Web Server. Step 2: Step 1: Register the XML3 plug-in Install the plug-in XMLWeb Server VMware vCenter vS Party ph file rd configuration with vCenter er on a 3rd party web server. e AP I using the vSphere API. Admin Station
  • 20. Deploying web plug-ins to clients. Note: vCenter has still not talked to the 3rd Party Web Server. Step 3: Step 2: vSphere Client downloads the Step 1: vCenter assemblesrd list of a vS S ph TP plug-ins from the 3 Party vSphere Client logs in to VMware vCenter 3 Party Web Server rd er HT e web plug-ins and returns them AP vS I A ph Webserver vCenter. registered that was e re to vSphere Client. AP I earlier. VMware vSphere Client
  • 21. Using web plug-ins. Step 1: vSphere API When youStep 2: a plug-in click 4: on vSphere API TheThe 3rd Party3: 3 Client,Server element in Stephostedapp the application Web on a VMware vCenter vSphere Party Web S TPrd HT S 3rd vCenter respondslogstoken. to processes the response and Party request is made.in web Webserver to the TT User H P Object selected (MoRef) makes its responsehasvSphere vCenter using the user’s token Note: vCenter to Action selected. request. no knowledge of this! (and vSphere Client Client. VMware identity).
  • 22. Web plug-in best practices. Creating a new tab is the fastest way to create a new plug-in. This approach relies on an existing web application. You can embed an existing Java applet or ActiveX control. If you don’t have a web app, consider tools such as Google Web Toolkit. Creating menu items provides deeper integration and more value. This approach usually requires new development. This approach requires little web programming skill, but deep understanding of vSphere API.
  • 23. User experience of web plug-ins. The look and feel are not identical. Rich graphical elements such as pop-ups and wizards are difficult to create.
  • 24. Let’s look at .net plug-ins.
  • 25. vSphere 4: .net Plug-in Support Create .net plug-ins like vCenter Update Manager and vCenter Converter. Plug-in has control over its lifetime. Dynamically introduce UI elements Custom configuration of added UI element’s visibility. Rich client and plug-in interaction Integrated look and feel of the vSphere Client. Possible to access vSphere Client internal cache. Plugin Manager allows for centralized plugin deployment.
  • 26. Possibilities Screenshot Courtesy NetApp (http://www.netapp.com/us/)
  • 28. Plug-in API VMware.VIClient.Plugins2.Plugin Primary handle to a plug-in instantiated by the vSphere Client. Load(VIApp app) Entry point into plug-in code and is invoked by the vSphere Client when a plug-in is to be enabled. This is a good time to add extensions, hooks onto some vSphere Client events exposed through the VIApp. Unload() Counterpart part of the load method invoked when the plug-in is to be disabled. Suggested to close out utilized resource like file handles, network connections etc. Don’t worry about removing extensions as the client will handle that for the plug-in.
  • 29. Plug-in API VMware.VIClient.Plugins2.VIApp NewExtension() Factory method that returns Extension objects. This also means that the vSphere Client always creates Extension objects and the plug-in is not expected to implement the interface. AddExtension(string parentId, Extension extension) Add an extension to the vSphere Client. Unload(..) Means for a plug-in to Unload i.e disable itself in case some conditions arises that the plug-in is no longer relevant. Note once Unloaded this way the plug-in will only be loaded if the user chooses to or the client is restarted.
  • 30. Plug-in API VMware.VIClient.Plugins2.Extension Wrapper for actual UI elements. AddNewDisplayConstraint<ConstraintType>() Add a vSphere define constraint on an Extension AddCustomDisplayConstraint() Add a plug-in defined constraint on an Extension Context The managed object context in which the UI element is visible. This is set by the vSphere Client. Content This is the actual UI elements and is to be filled by the plug-in. Activated Event fired when extension comes into view. Recommended to fill up Content the first time this event is fired.
  • 31. Plug-in API VMware.VIClient.Plugins2.DisplayConstraint To control conditional display of extensions. Evaluate Based on the value of this property the vSphere Client determines if the extension is to be shown or hidden. DisplayStatusChanged Event fired by a constraint if some condition has caused the display status of an extension to change. vSphere Client provide a few pre-canned DisplayConstraint’s. We recommend a plug-in to implement its own DisplayConstraint if they would like to have some other conditional control over display of extensions. Note : Multiple constraints can be apply to a single extension which are logically and’ed by the vSphere client.
  • 32. Plug-in API VMware.VIClient.Plugins2.Inventory Represents vSphere Client inventory. GetName(ManagedObjectReference) Utility method for cheap retrieval of a managed object’s name. NavigateTo(..) Use these methods to navigate to various objects in the vSphere Client inventory. Use this method in conjunction with strings defined in NavigationKeys class.
  • 33. Plug-in API VMware.VIClient.Plugins2.ExtensionContext Contains a reference to the VIM SDK object currently in focus. VMware.VIClient.Plugins2.ManagedObjectReference Uniquely identifies the server object and usually passed to a plug-in embedded in the ExtensionContext. VMware.VIClient.Plugins2.ServerInfo Information of the vSphere server that the client is connect with. vSphere client will only supply relevant ServerInfo’s. VMware.VIClient.Plugins2.UserSession Contains details of the logged-in user and a handle to the current users session cookie with the connected server. (Use this to impersonate the client log-in)
  • 34. Using .net plug-ins. Shares vSphere Client’s login vSphere API VMware vCenter VMware vSphere Client
  • 35. Assembly Attributes Assembly attributes informs the vSphere Client of necessary global details. VCOnlyPluginAttribute If defined the plug-in is only loaded if the client has connected to a vCenter Server otherwise the plug-in is loaded even if it is connected to an ESX/ESXi server. MultiVCSupported Indicates to the vSphere Client that a single plug-in object can handle contexts from multiple VC server part of the linked VC group. CompatiblePluginApiSupported The client plug-in API this plug-in supports. Is a CSV therefore a plug-in can support multiple client plug-in API versions. ExtensionKeyAttribute Indicates to the client to load the plug-in only if a server extension identified by the specified key exists. SupportedServerApiVersionAttribute API of the server extension the plug-in support. If not defined client will assume plug-in supports all versions of matching extension servers.
  • 37. vSphere Client Controls VMware.CustomControls ViewEx ListViewEx GridViewEx VpxClientCommon ViewData ListViewData (You will find the relevant libraries in the vSphere Client installation folder)
  • 38. Inventory Cache How do I get from ManagedObjectReference to name of a vSphere Managed Object? vSphere Client maintains a cache of server data which can also be used by plug- ins. Step 1: Get the matching VcService from AllServices. VmomiSupport.VcService service = VmomiSupport.VimServiceManager.AllServices[0]; Step 2 : Convert ManagedObjectReference to ManagedObject VirtualInfrastructure.ManagedObject mo = service.ManagedObjects[…]; Step 3 : Get access to an InventoryNode and its name property. mo.Service.Inventory.GetNode(mo).Name; (Look for these interfaces in VimVmomi.dll and VI.dll)
  • 39. How do I deliver my plug-in to the vSphere Client?
  • 40. Deploying .net plug-ins: method 1. Internet Deployment Server Pull from the Push from a Internet OR deployment server Note: vCenter does not help this install in any way! VMware vSphere Client
  • 41. Deploying .net plug-ins: method 2. VMware vSphere Client VMware vCenter Hooks in to vCenter’s “Available” tab.
  • 42. Deployment Deployed as DLLs .Net plug-ins should be deployed in a folder alongside vSphere Client installation. Typically this folder is found at a path similar to C:Program FilesVMwareInfrastructureVirtual Infrastructure ClientPlugins. Possible plug-in delivery mechanisms Drop plug-in libraires in appropriate directory Register server extension with its client info pointing to a host installer on a web-server.
  • 43. vSphere Client Action The vSphere Client introspects the plug-in dll to identify the plug-in types Based on the plug-in contents, new menus and tabs are created. Plug-in has complete control of how to handle the action and does not necessarily have to access a network resource Typical Plug-in code - using VMware.VIClient.Plugins2; namespace vSphereClientPlugin { public class MyPlugin : Plugin { public void Load(VIApp app) { AddSomeUIExtensions(app); RegisterVIAppEvents(app); } } }
  • 44. Caveats Caveats while developing .net plug-ins Support for developing is forum-based only. We will not consider feature requests. Only critical bug fixes will be considered.
  • 45. Roadmap 1H 2008: Web plug-ins. Future: Flex-based portal. 2008 2009 Future The Flex model is not yet 1H 2009: .net plug-ins. committed to a release.
  • 46. Plug-in style scorecard. If… Web .net You have an existing web app. Easy Hard You have a .net 2.0 based thick client. Hard Medium You have a Java applet. Easy Very Hard You have a Java-based thick client. Very Hard Very Hard You plan to develop something from scratch. Med-Hard Easy-Med You need thick-client like functionality. Hard Easy You need look-and-feel like vSphere Client Hard Easy Your investment horizon is 3 years or less. Yes Yes Your investment horizon is longer than 3 Yes No years.
  • 47. Resources available for plug-ins. Plug-in documentation. http://www.vmware.com/support/developer/vc-sdk/vcplugin-exp/ Plug-in community. http://communities.vmware.com/community/developer/viclientplugins Plug-in FAQs. http://communities.vmware.com/docs/DOC-4510 http://communities.vmware.com/docs/DOC-4551 Plug-in quick start guide. http://communities.vmware.com/docs/DOC-4861
  • 48. Next Steps… Get access to a vSphere environment consisting of vCenter Server, ESX/ESXi hosts and a few Vmware Virtual Machines Download the plug-in documentation and sample code Deploy your sample plug-in in the ‘plugins’ folder. Launch the vSphere Client and see you plug-in appear Modify code and redeploy to see how your changes manifest Convert your ideas into vSphere Plug-ins Ship it!