Trends and challenges in vCenter Plugin Development

 

Trends in vCenter Plugin Development:

In the virtualization world almost everyone has a fair idea of vCenter plugin. It plays a very important role in performing various operations by integrating the storage, virtualization and networking technologies under one single user interface.

Traditional Way

New Way

All vCenter plugin code were written in plain java. Spring is used for writing the code.
Third party libraries were more in number as there weren’t any fixed framework. The number of third party libraries are reduced due to use of spring in the development.
Custom script with extra server were used for deployment of vCenter plugin on vCenter Server. Dedicated installer with cross platform are used for deployment.
Before vSphere 5.5 Update 1, developers were unable to use the HTML and Javascript which forces to implement UI in Flex. After vSphere 5.5 Update 1, developers are able to use latest UI technology like Angular JS to develop UI with the help of HTML bridge.
SDK does not provide virgo server in package hence, need to download serenity client manually. After vSphere 6.0, SDK contains virgo server for local deployment of OSGI bundles.

 

Challenges in vCenter Plugin Development:

  1. Set up dummy production environment:
  • For the sake of faster development, one cannot start implementation on the production environment directly
  • Multiple configurations of vCenters for each version of vSphere web clients SDK is needed on various platforms like Windows, Linux, Mac. It is according to the requirement of one’s client
  • Configuration and Installation of multiple flavors of vCenter on different operating systems is a lesser time consuming process
  1. Set up local development environment:
  • To develop code in the local environment, one needs to go through few steps of setup which is provided by the vSphere web client SDK
  • Setup guide provided by the vSphere web client SDK is the best way to set up one’s local environment. But at times certain problems are experienced during this configuration.
  • Following common problems are encountered during the configuration,
    • Selection of IDE :
      • One needs to select IDE carefully because when we develop vCenter plugin, we need to integrate the web server with the IDE.
      • If we want to develop a GUI with Flex then you allow to use Eclipse IDE with version 32 bit only, because flash builder is not supporting to 64 bit version of Eclipse.
      • If you are not using Flex for GUI then you can use any IDE like Eclipse, NetBeans, STS etc. but as per recommendation from vmware Eclipse is preferred for development.
    • Need to use recommended JRE version which was mentioned in vSphere web client SDK.
  1. OSGI framework and third party libraries:
  • vCenter supports the OSGI framework which deploys the code in OSGI compatible JAR/WAR called as Bundles. OSGI bundle requires all import dependencies/packages which are declared in their Manifest.mf file. Hence one needs to fulfill all the dependencies before deploying any new bundle in the web server
  • To resolve all dependencies, third party libraries need to be added into the web server and these third party libraries must be OSGI compliant. Sometimes few third party libraries also need to resolve their own dependencies with the help of other ones
  1. Integration with HTML-Bridge:
  • In vCenter plugin distinct OSGI bundle is developed – one WAR for UI and another JAR to serve and process the request which was received from this WAR
  • Integration of these two bundles with each other through the spring MVC framework is necessary
  1. Testing:
  • After development of any feature, one needs to do unit testing on each version of vSphere client SDK and on multiple vCenters having different operating systems which are slightly time consuming but can’t be avoid it
  • The quality assurance team needs to carry out the same procedures to test any feature on local as well as production environment
 
Share:

Related Posts

Product Lifecycle Management in Software Development using Large Language Models

Product Lifecycle Management in Software Development using Large Language Models

The data of any organization is of extreme value. But what happens when that data is not trustworthy and accessible to your teams? You will face challenges…

Share:
Kubernetes Introduction and Architecture Overview

Kubernetes: Introduction and Architecture Overview

Containers are taking over and have become one of the most promising methods for developing applications as they provide the end-to-end packages necessary to run your applications….

Share:
How to Perform Hardware and Firmware Testing of Storage Box

How to Perform Hardware and Firmware Testing of Storage Box

In this blog will discuss about how to do the Hardware and firmware testing, techniques used, then the scope of testing for both. To speed up your testing you can use tools mentioned end of this blog, all those tools are available on internet. Knowing about the Hardware/Firmware and how to test all these will help you for upgrade testing of a product which involve firmware

Share:
Cloud Application Development

Challenges of Cloud Application Development

Explore the challenges and solutions of cloud application development, including benefits, performance issues, and overcoming vendor lock-in for seamless cloud integration.

Share:
5 Best Practices in Cloud-native Application Development

5 Best Practices in Cloud-native Application Development

Explore the top 5 best practices in cloud-native application development to ensure your apps are robust, scalable, and efficient. Learn more now!

Share:
Anomaly Detection in Machine Learning Classification Algorithms vs Anomaly Detection

Anomaly Detection in Machine Learning: Classification Algorithms vs Anomaly Detection

Discover the power of anomaly detection in machine learning to enhance operational efficiency, reduce costs, and mitigate risks with the right algorithms and features.

Share: