Category Archives: Software Development

Common Pitfalls When Developing Virtual Appliances

A virtual appliance is a virtual machine preinstalled with operating system, middleware, and applications. It’s ready to run after a few configurations after powering up.

The benefit of delivering a virtual appliance is obvious – it offers better out of box experience due to simplified installation/configuration and complete isolation from other applications. The disadvantage is also obvious in that it potentially uses much more system resources than sharing a virtual machine with other applications. Like any solution, it’s all about when and how you use it with what for best results. This can be a long discussion by itself.

Also posted in Virtualization | Tagged , | Leave a comment

Random Thoughts on Software Design

Three months ago, I wrote an article Random Thoughts on IT Automation. I think it’s a pretty good style for capturing ideas without worrying much about content organization and flow. So I decide to use it again on software design which I have been practicing and thinking for many years.

Process

Posted in Software Development | Tagged , , | Leave a comment

Recent Hot Topics in Software Development

InfoQ, one of my favorite sites on software, recently posted an article Key Takeaway Points and Lessons Learned from QCon London 2012. If you missed the conference but are still interested in recent trends of software development, it’s definitely a great read.

I browsed through the article, and found several interesting points there including the comments on Spring framework that VMware bought in 2009. In the following, I just list a few interesting or surprising comments and tweets from the article. If you are interested who made the comments based on which session, just check the original article.

Posted in Software Development | Tagged , , , | Leave a comment

IT Infrastructure: A Software Perspective

Weeks ago, ThoughtWorks published a new issue of Technology Radar compiled by its senior tech leaders. It has done a great job to track latest technology and market trends since 2010 (for archives, scroll to the bottom of this page).

Also posted in Virtualization | Tagged , | Leave a comment

Learning Netbeans Platform For Building Java Applications

Recently I started to build a stand-alone Java application. The first thing I thought of was to use Eclipse, which I have been using since 2000. As you may know, the Eclipse family has a framework called Eclipse RCP (Rich Client Platform) for building standalone application. In fact, Eclipse IDE is now built on top of the Eclipse RCP framework.

Posted in Software Development | Tagged , , | 4 Responses

vSphere APIs for Guest Operating System Management: What’s Special and When to Use It?

This is a wrap-up post of recent series on vSphere guest operating system management APIs. If you missed them, here are a few links to related posts: [Note: these are not related to the vSphere Guest API.]

Also posted in vSphere API | Tagged , , , | 13 Responses

How to Upload File to Guest Operating System on VMware

My last post explained how to download file from a guest operating system. Naturally this post is about how to upload file. After a quick sample code, I will discuss how to extend the capability of existing APIs that run program inside guest operating system. My next post will wrap up this series of guest related APIs in vSphere API.

Let’s take a look at a sample code: (To run it, first check out the simple prerequisites in a previous post)

Also posted in vSphere API | Tagged , , , | 31 Responses

How to Download File from Guest Operating System on VMware

In my last few posts I discussed how to use the Guest Operating System Management API to run program, set/read environment variables. From this post, I will talk about how to move files to and from a Guest Operating System, and advanced features like moving whole directory only implemented in the Guest Operating System Management API.

Also posted in vSphere API | Tagged , , , | 23 Responses

Set Environment Variables in Guest Operating System on VMware

While reading my last post on reading environment variables from a guest operating system, you may wonder how to set environment variables. Don’t be disappointed if I tell you that there is NO direct support for setting an environment variable.

However, you have a workaround – use a command directly. Unlike reading variables, there is no standard ways to do it for different operating systems. You have to first figure out what type of operating system and then run different commands. For example, if you are targeting Windows family of operating systems, you simply run the following:

Also posted in vSphere API | Tagged , , , , | Leave a comment

Read Environment Variables in Guest Operating System on VMware

My last post explained how to run, kill, and list programs in guest operating system on VMware. In that post, I mentioned that you can actually use the same API, GuestProgramDirector in particular, to read environment variables. I think the explanation is detailed enough for an implementation.

Still, a good sample provides more details. That is why I decided to write a quick sample just to show how to read environment variables. While trying the sample by myself, I did find more that I will discuss after the sample code.

Also posted in vSphere API | Tagged , , , , | 14 Responses

Run, Kill, and List Programs in Guest Operating System on VMware

In my last article, I announced the Guest Operating System Management API for vSphere. As promised, I will write samples to show how to use the APIs. This post explains the GuestProgramDirector type with an example.

Let’s take a quick look at the following sample:

Also posted in vSphere API | Tagged , , , | 29 Responses

Announcing Guest Operating System Management API for vSphere

Having created a sample to run a program in guest operating system using GuestProgramManager, I started to write a similar one to show how to use the GuestFileManager. Compared with the GuestProgramManager, the GuestFileManager is much more complicated to use.

Also posted in vSphere API | Tagged , , , | 15 Responses

Java Code Style and Formatter

While writing samples for my book VMware VI and vSphere SDK, I developed a Java code formatter within Eclipse. Although there are several built-in formatters like Java conventions, Eclipse, and Eclipse 2.1, I still decided to create my own partially due to the special requirements by Prentice Hall, but mostly due to my personal flavor for Java code.

Posted in Software Development | Tagged , , | Leave a comment

Chasing Moving Targets

As John F. Kennedy put it, “everything changes but change itself.” This is particularly true in computer industry where things move faster than other industries. It’s further complicated when you also have dependencies that also move fast.

A good example is that your software project depends on another product which is also under development. Sometimes we call it synchronous development. The payoff could be huge if you can ship your product at the same time as the dependent product which presumably has bigger user base. You can then leverage the go-to market opportunity as first player in the bigger community.

Posted in Software Development | Tagged , | Leave a comment

Why So Many Programming Languages?

While checking out the search engine terms to my blog, I found an interesting one there: “why so many programming languages?” A great question indeed. If you take a look at the Wikipedia page on programming languages, you will be surprised by the number of programming languages today. To give you a hint, the languages are categorized into different sections by their first letters. When I browsed the page, I found most of them were new to me and will definitely remain so in the future. :-)

Posted in Software Development | Tagged , , , | Leave a comment

Setting Up IIS for ASP.Net Web Applications On Windows 7

This week I spent some time deploying a Web application I developed using Microsoft Visual Web Developer 2010 Express (it’s free). For that, I installed Microsoft Internet Information Service (IIS) on my Windows 7 enterprise edition. This turned out pretty straight-forward: Control Panel – Programs – Turn Windows Features on or off. In the Windows Features dialog box, just locate the Internet Information Service and check on it. After a click on the OK button, the IIS (version/build is IIS 7.5.7600.16385) was installed.

Posted in Software Development | Tagged , | 1 Response

Cisco UCS Management APIs

After installing the UCS emulator, I started to read and try UCS management APIs. I found the following two documents very helpful: Cisco UCS Manager API Management Information Model, and Cisco UCS Manager XML API Programmer’s Guide.

Key Concepts

The key concepts of the APIs are pretty similar to VMware vSphere API. For example, it has managed objects which represent UCS resources like chassis, blades, fabric interconnects, etc. They contain administrative states and operational state.

Also posted in Virtualization | Tagged , , | 4 Responses

Eclipse: 10 Years of Excellence

This month Eclipse turns 10 years old. Ten years ago, IBM donated the initial Eclipse Java IDE, which was then estimated $40M, to Eclipse Foundation. It has since grown to 273 open source projects and $800M portfolio today. Quite an achievement by any standard!

This news release summarizes some of the key accomplishments:

Also posted in News & Events | Tagged , , | 1 Response

New Book: Enterprise Java Applications Architecture on VMware

My former colleague Emad Benjamin at VMware has just published a new book on running Java on vSphere. When I was still there, I had the opportunity to review the Chapter 5 of his book.

As many of you know, Emad is a well-known expert on this subject who has spoken at various events like VMworld and helped numerous customers. You can buy his book at Amazon or from publisher directly. Remember to bring it to next year’s VMworld for his autograph.:-)

Also posted in Cloud Computing, Virtualization | Tagged , , | 5 Responses

We Are Hiring

I think it’s going to be the longest single post I have ever done because we have quite a few openings in our VCE team. We are building our software capability for what I called turnkey software stack for cloud computing on Vblock.

The following are just three openings we want to fill immediately: Sr. GUI Engineer, Sr. Build/Automation Engineer, and Sr. Software Development Manager (update: Principal Solutions Engineer). We also have more software engineer and QA positions whose descriptions are not listed here. If you are interested in any position, please feel free to email me (firstname.lastname@vce.com).

Also posted in Virtualization | Tagged , | 1 Response
  • NEED HELP?


    My company has created products like vSearch ("Super vCenter"), vijavaNG APIs, EAM APIs, ICE tool. We also help clients with virtualization and cloud computing on customized development, training. Should you, or someone you know, need these products and services, please feel free to contact me: steve __AT__ doublecloud.org.

    Me: Steve Jin, VMware vExpert who authored the VMware VI and vSphere SDK by Prentice Hall, and created the de factor open source vSphere Java API while working at VMware engineering. Companies like Cisco, EMC, NetApp, HP, Dell, VMware, are among the users of the API and other tools I developed for their products, internal IT orchestration, and test automation.