<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>DoubleCloud.org &#187; Software Development</title>
	<atom:link href="http://www.doublecloud.org/category/programming-tricks-and-tips/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.doublecloud.org</link>
	<description>Cutting Edge Technologies to Build DoubleCloud (Private + Public Clouds) with Virtualization</description>
	<lastBuildDate>Wed, 08 Feb 2012 17:06:41 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.2.1</generator>
		<item>
		<title>Chasing Moving Targets</title>
		<link>http://www.doublecloud.org/2012/02/chasing-moving-targets/</link>
		<comments>http://www.doublecloud.org/2012/02/chasing-moving-targets/#comments</comments>
		<pubDate>Wed, 08 Feb 2012 05:44:21 +0000</pubDate>
		<dc:creator>Steve Jin</dc:creator>
				<category><![CDATA[Software Development]]></category>
		<category><![CDATA[risk management]]></category>
		<category><![CDATA[software]]></category>

		<guid isPermaLink="false">http://www.doublecloud.org/?p=2862</guid>
		<description><![CDATA[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 [...]<p><a href="http://www.doublecloud.org/2012/02/chasing-moving-targets/">Chasing Moving Targets</a> originally appeared on <a href="http://www.doublecloud.org">DoubleCloud</a> by Steve Jin, author of <a href="http://www.amazon.com/gp/product/0137153635?ie=UTF8&tag=doublecloudor-20&linkCode=as2&camp=1789&creative=9325&creativeASIN=0137153635">VMware VI and vSphere SDK (Prentice Hall)</a> and creator of <a href="http://vijava.sf.net">VMware vSphere Java API</a>. Follow Steve on <a href="http://www.twitter.com/sjin2008">Twitter</a> and receive future articles via <a href="http://www.doublecloud.org/feed">RSS</a> or <a href="http://feedburner.google.com/fb/a/mailverify?uri=Doublecloud">Email</a>.
</p>
]]></description>
			<content:encoded><![CDATA[<p>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.</p>
<p>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.</p>
<p>The problem is also obvious. If the dependent product gets delayed or cancelled, you are out of luck. All your investment turns up nothing, or you have to invest more. So naturally you have to think about risk management in such cases.</p>
<p>Generally speaking, you don’t want to bet on a moving target unless the vendor has demonstrated a track record to consistently deliver products on time. It doesn’t matter the dependent product is within your organization/company or not. You may think an internal project is more dependable than external ones. But when it comes to software project, it’s not likely true.</p>
<p>To be safe, you want to work on released products. Sometimes it may not be an option. For example, you develop a device driver for next version of Windows. The stake is too high for not to support it on day one with the new Windows.</p>
<p>I have to point out that even a product is there already, there are chances for it to be phased out or replaced by a new generation of products. But then the vendor will provide a migration path to ease the issue. Therefore there should be no immediate impact.</p>
<p>Now, if you have to chase moving targets, what are the effective strategies to mitigate the risks? Here are LID (Limit/Iterate/Diversify) strategies:</p>
<ol>
<li>Limit. You project is successful only if all your dependent projects are successful. Even all the dependent products are successful, there might still be issues for them to work together. The less moving targets you depend on, the higher chance for your project to succeed. While developing the open source <a href="http://vijava.sf.net" target="_blank">vSphere Java API</a>, I decided that it only depends on dom4j 1.6.1.</li>
<li>Iterate. You don’t want to sync up with the dependent product after it’s released for sure. Instead, you get alpha, beta, RC builds so that you can try out and find potential risks early on. This allows you enough time to adjust your project plan, for example, reduce investment until the dependent products are ready. If it&#8217;s an internal project or open source project, you can have even more frequent interations.</li>
<li>Diversify. This is the same wisdom as you spread your investment portfolio into multiple stocks. The techniques are however different in software projects. You want to have an abstraction layer to cover two or more alternatives. Like it or not, the abstraction layer is an overhead and requires more effort to develop. This diversification helps not only manage risk but also expand business opportunites into multiple and sometime competing ecosystems.</li>
</ol>
<p>I summarize the LID strategies for software project management. The basic principals should be applicable for other non-software projects for risk management as well. Please feel free to give them a try.</p>
<p><a href="http://www.doublecloud.org/2012/02/chasing-moving-targets/">Chasing Moving Targets</a> originally appeared on <a href="http://www.doublecloud.org">DoubleCloud</a> by Steve Jin, author of <a href="http://www.amazon.com/gp/product/0137153635?ie=UTF8&tag=doublecloudor-20&linkCode=as2&camp=1789&creative=9325&creativeASIN=0137153635">VMware VI and vSphere SDK (Prentice Hall)</a> and creator of <a href="http://vijava.sf.net">VMware vSphere Java API</a>. Follow Steve on <a href="http://www.twitter.com/sjin2008">Twitter</a> and receive future articles via <a href="http://www.doublecloud.org/feed">RSS</a> or <a href="http://feedburner.google.com/fb/a/mailverify?uri=Doublecloud">Email</a>.
</p>
<h2  class="related_post_title">Related Posts</h2><ul class="related_post"><li><a href="http://www.doublecloud.org/2012/02/1xn-to-nx1-the-world-is-flat-in-computing/" title="1xN to Nx1: The World Is Flat In Computing">1xN to Nx1: The World Is Flat In Computing</a></li><li><a href="http://www.doublecloud.org/2012/01/why-so-many-programming-languages/" title="Why So Many Programming Languages?">Why So Many Programming Languages?</a></li><li><a href="http://www.doublecloud.org/2011/11/maven-again/" title="Maven Again">Maven Again</a></li><li><a href="http://www.doublecloud.org/2011/11/best-practices-for-best-practices/" title="Best Practices for Best Practices">Best Practices for Best Practices</a></li><li><a href="http://www.doublecloud.org/2011/02/how-i-customized-my-wordpress-blog/" title="How I Customized My WordPress Blog">How I Customized My WordPress Blog</a></li><li><a href="http://www.doublecloud.org/2010/11/critical-lessons-learned-at-facebook-on-scalability-and-reliability/" title="Critical Lessons Learned at Facebook on Scalability and Reliability">Critical Lessons Learned at Facebook on Scalability and Reliability</a></li><li><a href="http://www.doublecloud.org/2010/03/hardware-designers-vs-software-designers/" title="Hardware Designers vs. Software Designers">Hardware Designers vs. Software Designers</a></li></ul>]]></content:encoded>
			<wfw:commentRss>http://www.doublecloud.org/2012/02/chasing-moving-targets/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Why So Many Programming Languages?</title>
		<link>http://www.doublecloud.org/2012/01/why-so-many-programming-languages/</link>
		<comments>http://www.doublecloud.org/2012/01/why-so-many-programming-languages/#comments</comments>
		<pubDate>Wed, 11 Jan 2012 02:59:08 +0000</pubDate>
		<dc:creator>Steve Jin</dc:creator>
				<category><![CDATA[Software Development]]></category>
		<category><![CDATA[C#]]></category>
		<category><![CDATA[java]]></category>
		<category><![CDATA[programming language]]></category>
		<category><![CDATA[software]]></category>

		<guid isPermaLink="false">http://www.doublecloud.org/?p=2787</guid>
		<description><![CDATA[While checking out the search engine terms to my blog, I found an interesting one there: &#8220;why so many programming languages?&#8221; 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 [...]<p><a href="http://www.doublecloud.org/2012/01/why-so-many-programming-languages/">Why So Many Programming Languages?</a> originally appeared on <a href="http://www.doublecloud.org">DoubleCloud</a> by Steve Jin, author of <a href="http://www.amazon.com/gp/product/0137153635?ie=UTF8&tag=doublecloudor-20&linkCode=as2&camp=1789&creative=9325&creativeASIN=0137153635">VMware VI and vSphere SDK (Prentice Hall)</a> and creator of <a href="http://vijava.sf.net">VMware vSphere Java API</a>. Follow Steve on <a href="http://www.twitter.com/sjin2008">Twitter</a> and receive future articles via <a href="http://www.doublecloud.org/feed">RSS</a> or <a href="http://feedburner.google.com/fb/a/mailverify?uri=Doublecloud">Email</a>.
</p>
]]></description>
			<content:encoded><![CDATA[<p>While checking out the search engine terms to my blog, I found an interesting one there: &#8220;why so many programming languages?&#8221; A great question indeed. If you take a look at the <a href="http://en.wikipedia.org/wiki/List_of_programming_languages" target="_blank">Wikipedia page on programming languages</a>, 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. <img src='http://www.doublecloud.org/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' /> </p>
<p>Now let’s get to the question of why. The simple answer is because there are so many programmers who created them. This is of course not the ideal answer but heading the right direction.</p>
<p>From technical aspect, we need a variety of programming languages for a variety of projects. We cannot expect one programming language killing all. Programming languages like C are very good at lower level programs like device driver, but not much so at high level application development. A generic application programming language may not be the best for Web application development. So there is a real demand for various programming languages.</p>
<p>From historical aspect, a lot of programming languages were created over the last 60 years or so since computer was invented. Some of them are actually no longer active, or limited to very specialized community. Surprisingly, the life time of a programming language can be longer than most of us can imagine. Just think about COBOL – we’ve been thinking it’s dying in the last 20 years but it’s live and was in high demand around year 2000. This accumulated effect has definitely contributed to the sheer number of programming languages.</p>
<p>Although thousands of choices today for programming languages, you don’t need to learn all of them, but one or a few of them. You can definitely make a good living if you can program well in one programming, but most likely one is not enough if you choose to be a programmer. Ideally, you want to learn C, one of Java/C#, and one of Python/Perl/Ruby. From there, it’s very easy to learn other if needed by a project.</p>
<p>Having discussed these, it still does not really explain why so many and new programming languages keep coming. I am also surprised by some magazines’ “language of the month.” I think even once a month is not enough for the new languages, most of which are simply ignored by the programmers at large.</p>
<p>While keeping trying new languages is good, most of them are simply rehashing whatever available in other languages today. Knowing it most like not going anywhere, some programmers keep inventing new languages in a similar way as people who want to be a popular movie star someday.</p>
<p>It reminds me an article I read before (sorry that I cannot find it any more). It basically discussed the programmer visibilities per types of software. I think the programming language is listed the first there, followed by operating systems, and APIs/frameworks, and applications. Now you understand the motivations of creating new programming languages.</p>
<p>Don’t get me wrong here. Nothing is wrong for a programmer to gain visibility. Everyone needs a motivation. Be it visibility or something else is purely personal choice that we should honor. Without the motivations, we wouldn’t have a rich portfolio of programming languages to choose from. For the same token, the richness can cause some confusions as well. That is just two sides of so many programming languages. After all, too many choices is better than no choice. Agree?</p>
<p><a href="http://www.doublecloud.org/2012/01/why-so-many-programming-languages/">Why So Many Programming Languages?</a> originally appeared on <a href="http://www.doublecloud.org">DoubleCloud</a> by Steve Jin, author of <a href="http://www.amazon.com/gp/product/0137153635?ie=UTF8&tag=doublecloudor-20&linkCode=as2&camp=1789&creative=9325&creativeASIN=0137153635">VMware VI and vSphere SDK (Prentice Hall)</a> and creator of <a href="http://vijava.sf.net">VMware vSphere Java API</a>. Follow Steve on <a href="http://www.twitter.com/sjin2008">Twitter</a> and receive future articles via <a href="http://www.doublecloud.org/feed">RSS</a> or <a href="http://feedburner.google.com/fb/a/mailverify?uri=Doublecloud">Email</a>.
</p>
<h2  class="related_post_title">Related Posts</h2><ul class="related_post"><li><a href="http://www.doublecloud.org/2011/07/how-many-programming-languages-are-enough/" title="How Many Programming Languages Are Enough?">How Many Programming Languages Are Enough?</a></li><li><a href="http://www.doublecloud.org/2010/12/squares-aren%e2%80%99t-rectangles-a-common-misunderstanding-of-object-oriented-design-from-msdn-magazine/" title="Squares Aren’t Rectangles? A Common Misunderstanding of Object Oriented Design From MSDN Magazine">Squares Aren’t Rectangles? A Common Misunderstanding of Object Oriented Design From MSDN Magazine</a></li><li><a href="http://www.doublecloud.org/2011/08/hub-programming-language-does-it-matter-to-you/" title="Hub Programming Language: Does It Matter To You?">Hub Programming Language: Does It Matter To You?</a></li><li><a href="http://www.doublecloud.org/2011/07/java-se-7-released-finally/" title="Java SE 7 released, finally!">Java SE 7 released, finally!</a></li><li><a href="http://www.doublecloud.org/2010/11/really-simple-guidelines-to-write-great-code-samples/" title="Really Simple Guidelines to Write Great Code Samples">Really Simple Guidelines to Write Great Code Samples</a></li><li><a href="http://www.doublecloud.org/2010/04/top-20-most-popular-programming-languages/" title="Top 20 Most Popular Programming Languages">Top 20 Most Popular Programming Languages</a></li><li><a href="http://www.doublecloud.org/2012/02/chasing-moving-targets/" title="Chasing Moving Targets">Chasing Moving Targets</a></li></ul>]]></content:encoded>
			<wfw:commentRss>http://www.doublecloud.org/2012/01/why-so-many-programming-languages/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Setting Up IIS for ASP.Net Web Applications On Windows 7</title>
		<link>http://www.doublecloud.org/2011/12/setting-up-iis-for-asp-net-web-applications-on-windows-7/</link>
		<comments>http://www.doublecloud.org/2011/12/setting-up-iis-for-asp-net-web-applications-on-windows-7/#comments</comments>
		<pubDate>Fri, 16 Dec 2011 16:31:38 +0000</pubDate>
		<dc:creator>Steve Jin</dc:creator>
				<category><![CDATA[Software Development]]></category>
		<category><![CDATA[Microsoft]]></category>
		<category><![CDATA[Web]]></category>

		<guid isPermaLink="false">http://www.doublecloud.org/?p=2752</guid>
		<description><![CDATA[This week I spent some time deploying a Web application I developed using Microsoft Visual Web Developer 2010 Express (it&#8217;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 [...]<p><a href="http://www.doublecloud.org/2011/12/setting-up-iis-for-asp-net-web-applications-on-windows-7/">Setting Up IIS for ASP.Net Web Applications On Windows 7</a> originally appeared on <a href="http://www.doublecloud.org">DoubleCloud</a> by Steve Jin, author of <a href="http://www.amazon.com/gp/product/0137153635?ie=UTF8&tag=doublecloudor-20&linkCode=as2&camp=1789&creative=9325&creativeASIN=0137153635">VMware VI and vSphere SDK (Prentice Hall)</a> and creator of <a href="http://vijava.sf.net">VMware vSphere Java API</a>. Follow Steve on <a href="http://www.twitter.com/sjin2008">Twitter</a> and receive future articles via <a href="http://www.doublecloud.org/feed">RSS</a> or <a href="http://feedburner.google.com/fb/a/mailverify?uri=Doublecloud">Email</a>.
</p>
]]></description>
			<content:encoded><![CDATA[<p>This week I spent some time deploying a Web application I developed using Microsoft <a href="http://www.microsoft.com/visualstudio/en-us/products/2010-editions/express">Visual Web Developer 2010 Express</a> (it&#8217;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.</p>
<p>But it didn’t work for my ASP.Net Web application. To run it, I had to go through extra steps. I figure I would probably set up an IIS server on other servers later, therefore better document it for future. To make it simple, I omitted the error messages and how I researched the issues. It would be great if you also find it helpful.</p>
<p>Here are extra steps after the default installation:</p>
<ol>
<li>By default, ASP.Net is not turned on. I had to go back to the Windows Features dialog box and click down the Internet Information Service – World Wide Web Services – Application Development Features. There are several items including ASP.Net. To make it simple, I just checked them all.</li>
<li>Afterward, I got an issue with targetFramework value in the Web.config. My Web application defaults it to 4.0, but it’s not recognized. To fix that, open the IIS manager (just type in inetmgr upon clicking Start). Click on the Application Pools in the left side tree, then double click DefaultAppPool. In the Edit Application Pool dialog box, from the .Net Framework version dropdown list, pick .Net Framework v4.0.30319.</li>
<li>It still didn’t work. It turned out that ASP.Net needs to be registered per <a href="http://wishmesh.com/2010/08/iis-7-5-error-handler-pagehandlerfactory-integrated-has-a-bad-module-managedpipelinehandler-in-its-module-list/">this article</a>. Running the following two commands should do the trick.</li>
</ol>
<pre>%windir%\Microsoft.NET\Framework\v4.0.30319\aspnet_regiis.exe -i
%windir%\Microsoft.NET\Framework64\v4.0.30319\aspnet_regiis.exe –i</pre>
<p>You need to change the path to the specific versions of .NET on your machine.</p>
<p><a href="http://www.doublecloud.org/2011/12/setting-up-iis-for-asp-net-web-applications-on-windows-7/">Setting Up IIS for ASP.Net Web Applications On Windows 7</a> originally appeared on <a href="http://www.doublecloud.org">DoubleCloud</a> by Steve Jin, author of <a href="http://www.amazon.com/gp/product/0137153635?ie=UTF8&tag=doublecloudor-20&linkCode=as2&camp=1789&creative=9325&creativeASIN=0137153635">VMware VI and vSphere SDK (Prentice Hall)</a> and creator of <a href="http://vijava.sf.net">VMware vSphere Java API</a>. Follow Steve on <a href="http://www.twitter.com/sjin2008">Twitter</a> and receive future articles via <a href="http://www.doublecloud.org/feed">RSS</a> or <a href="http://feedburner.google.com/fb/a/mailverify?uri=Doublecloud">Email</a>.
</p>
<h2  class="related_post_title">Related Posts</h2><ul class="related_post"><li><a href="http://www.doublecloud.org/2011/10/learning-microsoft-windows-azure-cloud/" title="Learning Microsoft Windows Azure Cloud">Learning Microsoft Windows Azure Cloud</a></li><li><a href="http://www.doublecloud.org/2010/06/web-based-datastore-browser-in-vsphere/" title="Web-Based Datastore Browser in vSphere">Web-Based Datastore Browser in vSphere</a></li></ul>]]></content:encoded>
			<wfw:commentRss>http://www.doublecloud.org/2011/12/setting-up-iis-for-asp-net-web-applications-on-windows-7/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Cisco UCS Management APIs</title>
		<link>http://www.doublecloud.org/2011/11/cisco-ucs-management-apis/</link>
		<comments>http://www.doublecloud.org/2011/11/cisco-ucs-management-apis/#comments</comments>
		<pubDate>Mon, 14 Nov 2011 05:01:50 +0000</pubDate>
		<dc:creator>Steve Jin</dc:creator>
				<category><![CDATA[Software Development]]></category>
		<category><![CDATA[Virtualization]]></category>
		<category><![CDATA[cisco]]></category>
		<category><![CDATA[ucs]]></category>
		<category><![CDATA[vSphere API]]></category>

		<guid isPermaLink="false">http://www.doublecloud.org/?p=2699</guid>
		<description><![CDATA[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 [...]<p><a href="http://www.doublecloud.org/2011/11/cisco-ucs-management-apis/">Cisco UCS Management APIs</a> originally appeared on <a href="http://www.doublecloud.org">DoubleCloud</a> by Steve Jin, author of <a href="http://www.amazon.com/gp/product/0137153635?ie=UTF8&tag=doublecloudor-20&linkCode=as2&camp=1789&creative=9325&creativeASIN=0137153635">VMware VI and vSphere SDK (Prentice Hall)</a> and creator of <a href="http://vijava.sf.net">VMware vSphere Java API</a>. Follow Steve on <a href="http://www.twitter.com/sjin2008">Twitter</a> and receive future articles via <a href="http://www.doublecloud.org/feed">RSS</a> or <a href="http://feedburner.google.com/fb/a/mailverify?uri=Doublecloud">Email</a>.
</p>
]]></description>
			<content:encoded><![CDATA[<p>After <a href="http://www.doublecloud.org/2011/11/cisco-ucs-emulator/" target="_blank">installing the UCS emulator</a>, I started to read and try UCS management APIs. I found the following two documents very helpful: <a href="http://developer.cisco.com/documents/2048839/2049143/Cisco+UCS+Manager+API+Management+Information+Model+Guide.pdf" target="_blank">Cisco UCS Manager API Management Information Model</a>, and <a href="http://developer.cisco.com/documents/2048839/2049143/Cisco+UCS+Manager+XML+API+Programmer's+Guide.pdf" target="_blank">Cisco UCS Manager XML API Programmer’s Guide</a>.</p>
<p><strong>Key Concepts</strong></p>
<p>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.</p>
<p>The managed objects form the inventory tree. In UCS terms, it’s called management information tree. Given Cisco’s root in networking space, it should not be a surprise to see the strong influence from SNMP world. The following is a sample inventory tree I copied from the programmer’s guide.</p>
<p><a href="http://www.doublecloud.org/wp-content/uploads/2011/11/ucs_inv_tree_sample.png"><img class="aligncenter size-full wp-image-2700" title="ucs_inv_tree_sample" src="http://www.doublecloud.org/wp-content/uploads/2011/11/ucs_inv_tree_sample.png" alt="" width="486" height="266" /></a></p>
<p>Every management object is identified by a unique distinguished name (DN), i.e., sys/chassis-1/locator-led. The strings between “/” are called relative names (RN), which is unique among all children of its parent node. Note that the tree’s root is called topRoot, and not included in the DNs. If you are familiar with vSphere API, you can think of the DN as the inventory tree path.</p>
<p>If you view the Emulator Control Panel, you can easily find dn of a managed object from the Managed Object Browser (does it sound familiar to you? Check out the <a href="http://www.doublecloud.org/2010/02/a-little-known-secret-of-vsphere-managed-object-browser/" target="_blank">VMware MOB</a>.)</p>
<p><strong>API Method Overview</strong></p>
<p>By invoking APIs, you read and write objects to the inventory tree of the management information model (MIM). Some writing may trigger certain operations as result.</p>
<p>Here is a list of API calls in four types:</p>
<p><em>Authentication methods</em></p>
<ul>
<li>aaaLogin—Initial method for logging in.</li>
<li>aaaRefresh—Refreshes the current authentication cookie.</li>
<li>aaaLogout—Exits the current session and deactivates the current authentication cookie.</li>
</ul>
<p><em>Query methods</em></p>
<ul>
<li>configResolveDn—Retrieves objects by DN.</li>
<li>configResolveDns—Retrieves objects by a set of DNs.</li>
<li>configResolveClass—Retrieves objects of a given class.</li>
<li>configResolveClasses—Retrieves objects of multiple classes.</li>
<li>configFindDnsByClassId—Retrieves the DNs of a specified class.</li>
<li>configResolveChildren—Retrieves the child objects of an object.</li>
<li>configResolveParent—Retrieves the parent object of an object.</li>
<li>configScope—Performs class queries on a DN in the management information tree.</li>
</ul>
<p><em>Configuration methods</em></p>
<ul>
<li>configConfMo—Affects a single subtree (for example, a DN).</li>
<li>configConfMos—Affects multiple subtrees (for example, several DNs).</li>
<li>configConfMoGroup—Makes the same configuration changes to multiple subtree structures (DNs) or managed objects.</li>
</ul>
<p><em>Event Subscription Methods</em></p>
<ul>
<li>eventSubscribe — Subscribe change events. To receive event notifications, keep the HTTP/HTTPS session open. UCS sends all new events in the system.</li>
</ul>
<p><strong>Some Samples</strong></p>
<p>It’s not that clear with the overview. The following are a few XML request samples included in the emulator that I found give better idea. Most of them are straight-forward enough that I don’t need to explain at all. If not, I will add a little comment.</p>
<p><em>Sample 1. Login request</em></p>
<pre class="brush: xml; title: ; notranslate">
&lt;?xml version=&quot;1.0&quot;?&gt;
&lt;aaaLogin inPassword=&quot;admin&quot; inName=&quot;admin&quot;/&gt;
</pre>
<p><em>Sample 2. Query for children of an adaptor of a blade</em></p>
<pre class="brush: xml; title: ; notranslate">
&lt;?xml version=&quot;1.0&quot;?&gt;
&lt;configResolveChildren inHierarchical=&quot;false&quot; inDn=&quot;sys-machine/chassis-1/blade-2/adaptor-1&quot;
cookie=&quot;1214933755/7bc19b1f-332e-40b5-9520-d75f72ed3da9&quot; classId=&quot;adaptorHostEthIf&quot;&gt;
&lt;/configResolveChildren&gt;
</pre>
<p><em>Sample 3 Reset the power of a server</em></p>
<pre class="brush: xml; title: ; notranslate">
&lt;?xml version=&quot;1.0&quot;?&gt;
&lt;configConfMos inHierarchical=&quot;no&quot; cookie=&quot;2/10/2/24&quot;&gt;
  &lt;inConfigs&gt;
    &lt;pair key=&quot;org-root/ls-testLS1/power&quot;&gt;
       &lt;lsPower status=&quot;modified&quot; state=&quot;hard-reset-immediate&quot; dn=&quot;org-root/ls-testLS1/power&quot;/&gt;
    &lt;/pair&gt;
  &lt;/inConfigs&gt;
&lt;/configConfMos&gt;
</pre>
<p>Notice the <em>&lt;pair&gt;</em> tag. It’s just a simple container for the parameters because one can send multiple set of parameters for some operations. Also, the cookie seems having been modified becuase it&#8217;s not in the right format.</p>
<p><em>Sample 4 register for events</em></p>
<pre class="brush: xml; title: ; notranslate">
&lt;eventSubscribe
cookie=&quot;&lt;real_cookie&gt;&quot;&gt;
&lt;/eventSubscribe&gt;
</pre>
<p>If you need more samples, you can download it from the emulator Web GUI. On the left side tree, you can click on the “API Schema &amp; Samples.” I didn’t find any schema file there but 18 XML sample requests. These samples requests seem not recorded as they are but modified afterwards.</p>
<p><strong>Language Bindings and Tools</strong></p>
<p>XML is nice but not really what we want while scripting and coding. I found several nice language bindings or command line tool:</p>
<p>UCS PowerShell Toolkit (PowerTool) and .NET SDK<br />
<a href="http://developer.cisco.com/web/unifiedcomputing/pshell-download">http://developer.cisco.com/web/unifiedcomputing/pshell-download</a></p>
<p>Ruby API for the UCS API by Steve Chambers. <a href="https://github.com/UCSAPI/UCSAPI">https://github.com/UCSAPI/UCSAPI</a></p>
<p>UCS Automation Tool (goUCS)<br />
<a href="http://developer.cisco.com/web/unifiedcomputing/goucs">http://developer.cisco.com/web/unifiedcomputing/goucs</a></p>
<p>Hold on, where is Java binding? Unfortunately I didn’t find one. Should you have any clue, just share it in comment.</p>
<p><strong>Other Resources</strong><br />
<a href="http://developer.cisco.com/web/unifiedcomputing/blogroll/-/blogs/ucs-xml-api-hello-world" target="_blank">UCS XML API “Hello World”</a>, by John McDonough</p>
<p><a href="http://developer.cisco.com/web/unifiedcomputing/labs-wiki" target="_blank">UCS Lab Wiki</a>.</p>
<p>Note: if you want to try beyond the emulator, you can request (see more on wiki page) from Cisco a hosted test bed backed by a real UCS. It sounds like a <em><strong>great service empowering the community</strong></em>, but I haven’t tried that. If you do, feel free to share your experience.</p>
<p><a href="http://www.doublecloud.org/2011/11/cisco-ucs-management-apis/">Cisco UCS Management APIs</a> originally appeared on <a href="http://www.doublecloud.org">DoubleCloud</a> by Steve Jin, author of <a href="http://www.amazon.com/gp/product/0137153635?ie=UTF8&tag=doublecloudor-20&linkCode=as2&camp=1789&creative=9325&creativeASIN=0137153635">VMware VI and vSphere SDK (Prentice Hall)</a> and creator of <a href="http://vijava.sf.net">VMware vSphere Java API</a>. Follow Steve on <a href="http://www.twitter.com/sjin2008">Twitter</a> and receive future articles via <a href="http://www.doublecloud.org/feed">RSS</a> or <a href="http://feedburner.google.com/fb/a/mailverify?uri=Doublecloud">Email</a>.
</p>
<h2  class="related_post_title">Related Posts</h2><ul class="related_post"><li><a href="http://www.doublecloud.org/2012/01/physical-is-new-virtual/" title="Physical is New Virtual">Physical is New Virtual</a></li><li><a href="http://www.doublecloud.org/2011/11/cisco-ucs-emulator/" title="Cisco UCS Emulator">Cisco UCS Emulator</a></li><li><a href="http://www.doublecloud.org/2012/01/why-vsphere-propertycollector-is-hard-by-design/" title="Why vSphere PropertyCollector Is Hard By Design?">Why vSphere PropertyCollector Is Hard By Design?</a></li><li><a href="http://www.doublecloud.org/2011/11/red-hat-enterprise-virtualization-management-apis/" title="Red Hat Enterprise Virtualization Management APIs">Red Hat Enterprise Virtualization Management APIs</a></li><li><a href="http://www.doublecloud.org/2011/09/one-more-secret-about-session-management-in-vsphere/" title="One More Secret About Session Management in vSphere">One More Secret About Session Management in vSphere</a></li><li><a href="http://www.doublecloud.org/2011/09/fixed-a-bug-in-client-rest-api/" title="Fixed a Bug in Client REST API">Fixed a Bug in Client REST API</a></li><li><a href="http://www.doublecloud.org/2011/08/simplified-vsphere-5-0-api-reference-online/" title="Simplified vSphere 5.0 API Reference Online">Simplified vSphere 5.0 API Reference Online</a></li></ul>]]></content:encoded>
			<wfw:commentRss>http://www.doublecloud.org/2011/11/cisco-ucs-management-apis/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Eclipse: 10 Years of Excellence</title>
		<link>http://www.doublecloud.org/2011/11/eclipse-10-years-of-excellence/</link>
		<comments>http://www.doublecloud.org/2011/11/eclipse-10-years-of-excellence/#comments</comments>
		<pubDate>Tue, 08 Nov 2011 07:35:03 +0000</pubDate>
		<dc:creator>Steve Jin</dc:creator>
				<category><![CDATA[News & Events]]></category>
		<category><![CDATA[Software Development]]></category>
		<category><![CDATA[eclipse]]></category>
		<category><![CDATA[open source]]></category>
		<category><![CDATA[software development]]></category>

		<guid isPermaLink="false">http://www.doublecloud.org/?p=2688</guid>
		<description><![CDATA[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: Eclipse has an [...]<p><a href="http://www.doublecloud.org/2011/11/eclipse-10-years-of-excellence/">Eclipse: 10 Years of Excellence</a> originally appeared on <a href="http://www.doublecloud.org">DoubleCloud</a> by Steve Jin, author of <a href="http://www.amazon.com/gp/product/0137153635?ie=UTF8&tag=doublecloudor-20&linkCode=as2&camp=1789&creative=9325&creativeASIN=0137153635">VMware VI and vSphere SDK (Prentice Hall)</a> and creator of <a href="http://vijava.sf.net">VMware vSphere Java API</a>. Follow Steve on <a href="http://www.twitter.com/sjin2008">Twitter</a> and receive future articles via <a href="http://www.doublecloud.org/feed">RSS</a> or <a href="http://feedburner.google.com/fb/a/mailverify?uri=Doublecloud">Email</a>.
</p>
]]></description>
			<content:encoded><![CDATA[<p>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!</p>
<p><a href="http://www.eclipse.org/org/press-release/20111102_10years.php" target="_blank">This news release</a> summarizes some of the key accomplishments:</p>
<blockquote>
<ul>
<li>Eclipse has an estimated 65% market share in the Java IDE space and over 6 million users. Since its inception, Eclipse has driven the consolidation of what was once a highly fragmented Java tools market. It has been instrumental in the worldwide success and adoption of Java itself.</li>
<li>The Eclipse C/C++ IDE (CDT) has become the de facto standard developer IDE in the embedded and real-time operating system market. At least 50 companies are building their developer tool solutions based on CDT.</li>
<li>The Eclipse Modeling community has grown to become the largest and most innovative community at Eclipse. The vast majority of UML modeling vendors worldwide base their solutions on Eclipse.</li>
<li>The Eclipse Mylyn project is now the industry hub for integrating tools across the application lifecycle. There are over 70 Mylyn connectors that integrate different ALM solutions into the Eclipse developer&#8217;s desktop.</li>
<li>The annual Eclipse Release Train has demonstrated how open source communities can deliver in a predictable and reliable manner. For the last eight years, Eclipse has shipped a major release at the end of June, on time to the day. The 2011 release train, Indigo, included 62 project teams, 408 developers, 49 organizations, and 46 million lines of code.</li>
<li>The Eclipse ecosystem has millions of individuals, thousands of companies, and thousands of universities and research institutes that have grown up around the Eclipse industry platform.</li>
</ul>
</blockquote>
<p>I was lucky to have more than 10 years of experience with Eclipse. This may invite drill down questions if written as such on resume. :-) In 2000, I was working at Rational Software and got invited to IBM Silicon Valley Lab for a training to develop plug-ins because Rational XDE I worked on ran on Eclipse, one of the two “shells” along with Microsoft VisualStudio. BTW, after IBM bought Rational, the XDE was rebranded as Rational Software Architect (RSA).</p>
<p>After that, Eclipse has been my IDE of choice for Java and other programming languages as well. Before Eclipse came out, there weren’t many choices. At one time, I used an IDE called VisualCafe, and it crashed several times a day thus was basically unusable. You can understand the excitement among developers when Eclipse was released 10 years ago. Did I also mention it&#8217;s free?</p>
<p>Eclipse IDE rooted from IBM VisualAge, a product IBM initially OEMed from OTI which was late sold to IBM. Even if you are not familiar with OTI as a company, you may have read the book by one of its employees Erich Emma who wrote the famous <a href="http://bit.ly/q1eLcX" target="_blank">Design Pattern: Elements of Reusable Object-Oriented Software</a>. I am not saying that it’s the design patterns that led to the great product, but that OTI had a very strong engineering team. The success of Eclipse is not only good timing, but also great minds behind.</p>
<p>BTW, there will be many parties around the world celebrating the 10th anniversary of Eclipse. Check out <a href="http://wiki.eclipse.org/Eclipse_DemoCamps_November_2011" target="_blank">here </a>for one close to you. I noticed there would be one in an Ebay office in San Jose on Dec 8th evening.</p>
<p><a href="http://www.doublecloud.org/2011/11/eclipse-10-years-of-excellence/">Eclipse: 10 Years of Excellence</a> originally appeared on <a href="http://www.doublecloud.org">DoubleCloud</a> by Steve Jin, author of <a href="http://www.amazon.com/gp/product/0137153635?ie=UTF8&tag=doublecloudor-20&linkCode=as2&camp=1789&creative=9325&creativeASIN=0137153635">VMware VI and vSphere SDK (Prentice Hall)</a> and creator of <a href="http://vijava.sf.net">VMware vSphere Java API</a>. Follow Steve on <a href="http://www.twitter.com/sjin2008">Twitter</a> and receive future articles via <a href="http://www.doublecloud.org/feed">RSS</a> or <a href="http://feedburner.google.com/fb/a/mailverify?uri=Doublecloud">Email</a>.
</p>
<h2  class="related_post_title">Related Posts</h2><ul class="related_post"><li><a href="http://www.doublecloud.org/2010/11/top-3-trends-every-it-professional-should-care-about/" title="Top 3 Trends Every IT Professional Should Care About">Top 3 Trends Every IT Professional Should Care About</a></li><li><a href="http://www.doublecloud.org/2010/08/eclipse-day-at-googleplex-a-brief-trip-report/" title="Eclipse Day at GooglePlex: A Brief Trip Report">Eclipse Day at GooglePlex: A Brief Trip Report</a></li><li><a href="http://www.doublecloud.org/2011/11/we-are-hiring/" title="We Are Hiring">We Are Hiring</a></li><li><a href="http://www.doublecloud.org/2011/07/three-stages-to-master-programmers/" title="Three Stages To Master Programmers">Three Stages To Master Programmers</a></li><li><a href="http://www.doublecloud.org/2011/06/in-praise-of-static-methods/" title="In Praise of Static Methods">In Praise of Static Methods</a></li><li><a href="http://www.doublecloud.org/2011/05/time-to-defocus/" title="Time to Defocus!">Time to Defocus!</a></li><li><a href="http://www.doublecloud.org/2011/05/software-processes-should-you-pick-one/" title="Software Processes: Should You Pick One?">Software Processes: Should You Pick One?</a></li></ul>]]></content:encoded>
			<wfw:commentRss>http://www.doublecloud.org/2011/11/eclipse-10-years-of-excellence/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>New Book: Enterprise Java Applications Architecture on VMware</title>
		<link>http://www.doublecloud.org/2011/11/new-book-enterprise-java-applications-architecture-on-vmware/</link>
		<comments>http://www.doublecloud.org/2011/11/new-book-enterprise-java-applications-architecture-on-vmware/#comments</comments>
		<pubDate>Fri, 04 Nov 2011 08:52:16 +0000</pubDate>
		<dc:creator>Steve Jin</dc:creator>
				<category><![CDATA[Cloud Computing]]></category>
		<category><![CDATA[Software Development]]></category>
		<category><![CDATA[Virtualization]]></category>
		<category><![CDATA[java]]></category>
		<category><![CDATA[vmware]]></category>
		<category><![CDATA[vSphere]]></category>

		<guid isPermaLink="false">http://www.doublecloud.org/?p=2678</guid>
		<description><![CDATA[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 [...]<p><a href="http://www.doublecloud.org/2011/11/new-book-enterprise-java-applications-architecture-on-vmware/">New Book: Enterprise Java Applications Architecture on VMware</a> originally appeared on <a href="http://www.doublecloud.org">DoubleCloud</a> by Steve Jin, author of <a href="http://www.amazon.com/gp/product/0137153635?ie=UTF8&tag=doublecloudor-20&linkCode=as2&camp=1789&creative=9325&creativeASIN=0137153635">VMware VI and vSphere SDK (Prentice Hall)</a> and creator of <a href="http://vijava.sf.net">VMware vSphere Java API</a>. Follow Steve on <a href="http://www.twitter.com/sjin2008">Twitter</a> and receive future articles via <a href="http://www.doublecloud.org/feed">RSS</a> or <a href="http://feedburner.google.com/fb/a/mailverify?uri=Doublecloud">Email</a>.
</p>
]]></description>
			<content:encoded><![CDATA[<p>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.</p>
<p>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 <a href="http://amzn.to/u1O0qJ">Amazon</a> or from <a href="https://www.createspace.com/3632131">publisher</a> directly. Remember to bring it to next year&#8217;s VMworld for his autograph.:-)</p>
<p><strong>Book Abstract:</strong><br />
This book is the culmination of seven years of experience in running Java on VMware vSphere, both at VMware and at many of VMware’s customer sites. In fact, many of VMware’s customers run business critical enterprise Java applications on VMware vSphere where they have achieved better TCO and SLAs. This book covers high level architecture and implementation details, such as design and sizing, high-availability designs, automation of deployments, best practices, tuning, and troubleshooting techniques of enterprise Java applications on VMware.</p>
<p><strong>Table Of Content:</strong><br />
Chapter 1: Introduction<br />
Chapter 2: Why Virtualize Enterprise Java Applications?<br />
Chapter 3: Enterprise Java Applications on VMware<br />
Chapter 4: Design and Sizing of Enterprise Java on VMware<br />
Chapter 5: High-availability Designs of Enterprise Java<br />
Chapter 6: Enterprise Java on VMware Best Practices<br />
Chapter 7: UNIX-to-Linux Migration Considerations<br />
Chapter 8: Run Effectively in Production<br />
Chapter 9: Performance Study<br />
Chapter 10: Application Modernization and vFabric<br />
Chapter 11: Troubleshooting Primer<br />
Chapter 12: FAQ—Enterprise Java Applications on vSphere</p>
<p><strong>Target Audience:</strong><br />
This book is targeted at IT professionals who are in search of implementation guidelines for running enterprise Java applications on VMware vSphere in production, and QA/Test environments. The first three chapters are beneficial to CIOs, VPs, directors, and enterprise architects looking for key high-level business propositions of Virtualizing enterprise Java applications. The remaining chapters are for developers and administrators looking for implementation details.</p>
<p><strong>About the Author:</strong><br />
Emad Benjamin has been in the IT industry for the past twenty years. He graduated with a Bachelor of Electrical Engineering from the University of Wollongong. Earlier in his career, he was a C++ software engineer, then in 1997, he switched to programming with Java, and has been focusing on Java ever since. He has extensive software development experience with companies such as, Cisco, Oracle, Citadel, BHP Steel, and others. For the past seven years, his main focus has been Java on VMware vSphere. Emad is currently at VMware focusing on all aspects of Virtualizing Java. He has presented at many conferences and workshops around the world on the topic of Virtualizing Java, where he has shared his experience and best practices. You can connect with <a href="http://www.linkedin.com/in/emadbenjamin">Emad </a>on LinkedIn.</p>
<p><a href="http://www.doublecloud.org/2011/11/new-book-enterprise-java-applications-architecture-on-vmware/">New Book: Enterprise Java Applications Architecture on VMware</a> originally appeared on <a href="http://www.doublecloud.org">DoubleCloud</a> by Steve Jin, author of <a href="http://www.amazon.com/gp/product/0137153635?ie=UTF8&tag=doublecloudor-20&linkCode=as2&camp=1789&creative=9325&creativeASIN=0137153635">VMware VI and vSphere SDK (Prentice Hall)</a> and creator of <a href="http://vijava.sf.net">VMware vSphere Java API</a>. Follow Steve on <a href="http://www.twitter.com/sjin2008">Twitter</a> and receive future articles via <a href="http://www.doublecloud.org/feed">RSS</a> or <a href="http://feedburner.google.com/fb/a/mailverify?uri=Doublecloud">Email</a>.
</p>
<h2  class="related_post_title">Related Posts</h2><ul class="related_post"><li><a href="http://www.doublecloud.org/2011/06/tagging-an-invisible-feature-in-vsphere/" title="Tagging: An Invisible Feature in vSphere">Tagging: An Invisible Feature in vSphere</a></li><li><a href="http://www.doublecloud.org/2011/06/recorded-tech-talks-are-ready/" title="Recorded Tech Talks Are Ready!">Recorded Tech Talks Are Ready!</a></li><li><a href="http://www.doublecloud.org/2011/05/vmware-apis-sdks-at-vmware-communities-roundtable/" title="VMware APIs &#038; SDKs at VMware Communities Roundtable">VMware APIs &#038; SDKs at VMware Communities Roundtable</a></li><li><a href="http://www.doublecloud.org/2011/05/new-licensing-apis-since-vmware-vsphere-4-swap-licenses/" title="New Licensing APIs Since VMware vSphere 4: Swap Licenses">New Licensing APIs Since VMware vSphere 4: Swap Licenses</a></li><li><a href="http://www.doublecloud.org/2011/05/new-licensing-apis-since-vmware-vsphere-4-check-license-expiration/" title="New Licensing APIs Since VMware vSphere 4: Check License Expiration">New Licensing APIs Since VMware vSphere 4: Check License Expiration</a></li><li><a href="http://www.doublecloud.org/2011/05/new-licensing-apis-since-vmware-vsphere-4/" title="New Licensing APIs Since VMware vSphere 4">New Licensing APIs Since VMware vSphere 4</a></li><li><a href="http://www.doublecloud.org/2011/04/introducing-vsphere-guest-api/" title="Introducing vSphere Guest API">Introducing vSphere Guest API</a></li></ul>]]></content:encoded>
			<wfw:commentRss>http://www.doublecloud.org/2011/11/new-book-enterprise-java-applications-architecture-on-vmware/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
		<item>
		<title>We Are Hiring</title>
		<link>http://www.doublecloud.org/2011/11/we-are-hiring/</link>
		<comments>http://www.doublecloud.org/2011/11/we-are-hiring/#comments</comments>
		<pubDate>Fri, 04 Nov 2011 08:02:52 +0000</pubDate>
		<dc:creator>Steve Jin</dc:creator>
				<category><![CDATA[Software Development]]></category>
		<category><![CDATA[Virtualization]]></category>
		<category><![CDATA[job]]></category>
		<category><![CDATA[software development]]></category>

		<guid isPermaLink="false">http://www.doublecloud.org/?p=2672</guid>
		<description><![CDATA[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, [...]<p><a href="http://www.doublecloud.org/2011/11/we-are-hiring/">We Are Hiring</a> originally appeared on <a href="http://www.doublecloud.org">DoubleCloud</a> by Steve Jin, author of <a href="http://www.amazon.com/gp/product/0137153635?ie=UTF8&tag=doublecloudor-20&linkCode=as2&camp=1789&creative=9325&creativeASIN=0137153635">VMware VI and vSphere SDK (Prentice Hall)</a> and creator of <a href="http://vijava.sf.net">VMware vSphere Java API</a>. Follow Steve on <a href="http://www.twitter.com/sjin2008">Twitter</a> and receive future articles via <a href="http://www.doublecloud.org/feed">RSS</a> or <a href="http://feedburner.google.com/fb/a/mailverify?uri=Doublecloud">Email</a>.
</p>
]]></description>
			<content:encoded><![CDATA[<p>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.</p>
<p>The following are just three openings we want to fill immediately: <a href="#gui">Sr. GUI Engineer</a>, <a href="#build">Sr. Build/Automation Engineer</a>, and <a href="#mgr">Sr. Software Development Manager</a> (<strong><span style="color: #0000ff;">update</span></strong>: <a href="#solu">Principal Solutions Engineer</a>). 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).</p>
<p>Note that all the positions are in VCE Santa Clara office (2831 Mission College Blvd, Santa Clara, CA). There may be exceptions for engineers but not manager and build engineer I think. When in doubt, just send me your resume anyway.</p>
<p><a name="gui"></a><br />
<strong>Title:  Senior Software Engineer (Web UI and Front-end Engineer)</strong></p>
<p>This is a senior UI and front end engineer role within the Vblock application lifecycle manager team in the VCE Santa Clara Innovation Center. This team is less than a year old and is responsible for building the next generation of data center management applications and interfaces and for delivering a single PaaS product on top of Vblock.  This role is the primary lead for building the User interfaces for our version 1.0 products &#8211; Application Lifecycle Manager and FastPath products for the Vblock Software Stack . He/She will be the principal go to person for anything UI and front end related in the team.  On the backend, we work with mostly java and hence our current UI is written in GWT but we are also getting exposed Ruby more and more &#8211; especially with CloudFoundry PaaS.</p>
<p><strong>Responsibilities</strong></p>
<ul>
<li>Develop elegant web-based UI and front end for our VCE Application Lifecycle Manager and FastPath VDI Rapid deployment products.</li>
<li>You will primarily develop the Blueprint Server UI and also contribute quite a bit to the java based Blueprint REST based API Server(backend).</li>
<li>Collaborate with the backend engineering teams – primarily orchestration, blueprint server and their REST API – while working in an AJAX style UI design.</li>
<li>Our current UI for V1.0 which is still in progress was/is being put together in GWT, with the help of a remote developer (that’s what he was most comfortable with). You will have to come on board and work on GWT to begin with and transition the work. Overtime you are free to improve upon this and re-design/rewrite the UI in native javascript frameworks (extJS, JQuery, MooTools, sproutcore) if that’s more to your liking and there is a business need.  Adobe Flex is also a possibility if we have to conform to VMware style guidelines in the future. Flexibility and ability to learn various UI frameworks will be helpful in this regard.</li>
<li>Reach out to and work with other visual design disciplines – Graphic Design, UCD and Interaction design within VCE and/or parent companies. Our current UI has no engagement with these teams and you will be expected to take lead and provide direction in engaging with these teams from within VCE or from parent companies – Cisco, EMC, and VMware.</li>
<li>You will also have ownership of a small piece of the server side and should have ability to fix some bugs and write decent amounts of java code as necessary in the Blueprint Server (which is written in java and will be the primary recipient of the REST calls from the UI).</li>
<li>Mentor and set direction to offshore teams as/when/if they are hired regarding UI issues.</li>
</ul>
<p><strong>Preferred Experience and Skills</strong></p>
<ul>
<li>Good understanding of algorithms  and data structures.</li>
<li>Requires passion for building elegant UI;  You understand the higher level concepts of  layouts, fonts, leading, kerning, color constraints , style guides and style sheets, and drop shadows ( We do not expect you to be a designer though!!)</li>
<li>Interest in working in enterprise/data center software/network management UI ( This is not a consumer internet position)</li>
<li>The ideal candidate has had experience designing web-based design time and run-time tools for various enterprises or SaaS based products.</li>
<li>3+ years  experience with programming in javascript (not just javascript frameworks) and the DOM model.  Good understanding of javascript prototype based programming model.</li>
<li>3+ years experience as part of a front-end Engineering team or as a primary Front-end developer hand-coding html/css/javascript; You are passionate about CSS3/HTML5</li>
<li>At least 1+years of experience as java UI programmer (AWT/SWT/draw2d/GWT etc) &#8211; since you will initially start working in GWT.</li>
<li>You know JQuery and other JS frameworks but are not beholden to them. Ability to write custom widgets if needed is highly valued.</li>
<li>You have heard of closure.</li>
<li>Deep knowledge of various browsers and their idiosyncrasies.</li>
<li>Understand backend MVC concepts and have some experience with Ruby on Rails and/or Spring MVC.</li>
<li>Understands Continuous integration tools like Hudson/Jenkins and the Lean startup model in general.</li>
<li>Knowledge of standard web technologies, including app servers, web servers, and databases will be beneficial.</li>
<li>Results driven, good organization skills, and detail orientation is important for this position as the candidate will need to deal with multiple projects and personalities.</li>
<li>Excellent verbal communication and interpersonal skills and the ability to work well with backend software developers and system engineers.</li>
<li>Knows web site performance issues and read Steve Souders’ book.</li>
</ul>
<p><strong>Other Desirable Skills:</strong></p>
<ul>
<li>Experience writing UI automation tests.</li>
<li>Excellent written, verbal and presentation communications skills with application developers, data center managers and executives.</li>
<li>Ability to work in a high-pressure environment.</li>
</ul>
<p><strong>Required</strong>: A passion for web development and elegant user interfaces; Bachelors in Computer Science or related disciplines is preferred but not really required.</p>
<p><a name="build"></a><br />
<strong>Title:  Senior Software Engineer (Build, Tools &amp; virtualization automation)</strong></p>
<p>This is a senior build, release and virtualization tools engineer role within the Vblock application development framework team of the VCE Santa Clara Innovation Center. This team is newly formed and responsible for building the next generation of data center management applications and interfaces. This role is the primary lead for build, release and any internal tools development for the Vblock Software Stack and will be the principal go to person for any build, release engineering and tool automation issues in the Vblock application development framework team. In addition to java build automation, this person also has to write some java code/tools for virtualization automation and deployment and consider that an additional phase of “build”.  We also work with some Ruby based products.</p>
<p><strong>Responsibilities</strong></p>
<ul>
<li>Responsible for creating/packaging deliverable ALP Server vApps out of java and Ruby source code in subversion. Your responsibility DOES NOT END at just producing .war files; It extends into connecting to vCenter and other VMware Tools in the final build phase and producing shippable vApps/OVF files  on a nightly basis.</li>
<li>You will also need to adhere/educate/pioneer continuous integration practices in a virtualized java world and be comfortable in dealing with the additional level of indirection that  virtualization causes.</li>
<li>Code/Develop  build automation and any other tools as needed.  Be comfortable or become comfortable with writing Maven phases/goals that interact with virtualization tools/products like vCenter.</li>
<li>Forking and maintaining stable open source releases of CloudFoundry in a timely fashion and maintaining out fixes/enhancements to that line. Understand Ruby/Rails build/deploy/install/release best practices and automate them using tools. Download new Ruby gems as needed.</li>
<li>The Software Engineer will have experience in project dependency management, distributed build systems, unit testing and integration and provide technical leadership for the function.</li>
<li>Responsible for maintaining the organization&#8217;s source code control, wiki, bug tracking and build management systems.</li>
<li>Document and maintain packaging and deployment of third party vendor libraries.</li>
<li>Drive towards reducing shippable software time by making constant improvements in build and release management.</li>
<li>Collaborate with open mind and collect information from engineering team about build infrastructure improvement.</li>
</ul>
<p><strong>Preferred Experience and Skills</strong></p>
<ul>
<li>Requires passion for build and test infrastructure as part of a test-driven development engineering team.</li>
<li>Ability to write java and perl/ruby scripts and build/deployment automation tools.</li>
<li>2+ years of experience writing virtualization automation and management tools.Write basic java code that interacts with vCenter to deploy virtual apps.</li>
<li>Experience writing Maven plugins.</li>
<li>5+ years of software configuration management, scripting/tools/automation,  software build &amp; release experience.</li>
<li>4+ years experience with subversion (svn), Perforce or other source code repository management experience in multiple companies.</li>
<li>4+ years experience with Maven or Ant and other java based build management systems and the ability to write ant tasks as needed.</li>
<li>2+ years of experience with Ruby/Rails/CloudFoundry gem installation/deployment and automation.</li>
<li>Ideally, candidates should have had experience delivering both java and systems software builds and understanding of the various artifacts produced as part of the build process.</li>
<li>Experience trouble-shooting server issues and build systems.</li>
<li>Experience administrating Linux/Unix/Windows systems.</li>
<li>Solid shell scripting/php/perl or python and command-line skills.</li>
<li>Understands Continuous integration tools like Hudson and the Lean startup model in general.</li>
<li>Knowledge of standard web technologies, including app servers, web servers, databases, browsers will be beneficial.</li>
<li>Subject Matter Expert on TeamCity, JIRA, Fisheye\Crucible, Archiva, VMware, etc ; candidate will be the primary expert on SCM issues.</li>
<li>Results driven, good organization skills, and detail orientation is important for this position as the candidate will need to deal with multiple projects and personalities.</li>
<li>Excellent verbal communication and interpersonal skills and the ability to work well with software developers and system engineers.</li>
</ul>
<p><strong>Other Desirable Skills:</strong></p>
<ul>
<li>Experience with GIT or Mercurial.</li>
<li>Experience with distributed or parallel build products.</li>
<li>Experience developing MSIs, vApps, InstallAnywhere projects is a plus.</li>
<li>Knowledge and familiarity with Java, Unix, Windows and Mac OSx</li>
<li>Ability to work in a high-pressure environment.</li>
</ul>
<p><strong>Required:</strong> Bachelors in technology, computer science or engineering</p>
<p><a name="mgr"></a><br />
<strong>Title:  Senior Software Engineering Manager</strong></p>
<p>This critical role within the Acadia Santa Clara Innovation Center will have the responsibility to lead and manage the software development team in design and architecture of advanced Vblock based application development framework solutions.</p>
<p><strong>Principal Duties and Responsibilities:</strong></p>
<ul>
<li>Lead and manage the software development team in the architecture, design, development, test and customer implementation / support of the Block based application development framework.  This framework will enable customer’s app development team to rapidly develop, test and deploy application modules with leading middleware and /or open source platforms on Vblock infrastructure.</li>
<li>Participate in the architecting and building of end-to-end solutions with the development team.  Work with product managers to gather requirements, drive design and specification, code review, review test plans and drive projects to completion.</li>
<li>Work with key VCE partners in technologies roadmap, both hardware and software, in the development and validation of solutions.</li>
<li>Manage cross functional internal/external and partners teams on collaborations, evangelization, and communication.</li>
<li>Coach and motivate team to ensure high productivity and team work.</li>
<li>Lead the development and field team to build prototype and conduct proof-of-concept tests both on customer site and at VCE labs to help with the successful roll out and implementation of the solution. .</li>
</ul>
<p><strong>Qualification and Experience:</strong></p>
<ul>
<li>BS in computer science or related discipline.  MS computer science is preferred.</li>
<li>10+ years of senior software development / software team management background</li>
<li>Hands on core Java J2EE software development, multi-threading, networking, security and data structure development experience.</li>
<li>Leadership role in delivery distributed and fault tolerant product with large scale deployment.</li>
<li>Practical experience with web-based application development platforms ( e.g. SpringSource), and Enterprise Service Bus technologies (e.g. BEA, Websphere, Progress Software, etc)</li>
<li>Experience with software development methodologies with emphasis on IT process automation, ITIL, hardware architecture, infrastructure design and deployment automation.</li>
<li>Knowledge of web development ( SOAP, REST)</li>
<li>Knowledge of DB design and query optimization.</li>
<li>Knowledge of network design and infrastructure security.</li>
<li>Proven expertise in the area of operating systems including VMware, Linux, Windows and/or UNIX.</li>
</ul>
<p><strong>Other Desirable Skills:</strong></p>
<ul>
<li>Excellent business acumen with a strong ability to map business requirements to technical solutions.</li>
<li>Excellent communication skills– including written and verbal communication and in presentations from application developers, data center managers to executives as audience.</li>
<li>Strong interpersonal, written and verbal communication skills.</li>
<li>Ability to work in a high-pressure environment.</li>
</ul>
<p><strong>Required</strong>: Bachelors in technology, computer science or engineering</p>
<p><a name="solu"></a><br />
<strong>Title: Principal Solutions Engineer</strong></p>
<p>This critical role in the VCE Solutions Engineering team will have responsibility for providing expertise on all aspects of storage, networking and virtualization design for System Integrator and Solution Provider offerings specifically on the Vblock. Primarily an architect role, the candidate will bring design, development and hands-on experience to support the development of Vblock service provider and system integrator solutions. She/he will interact with other members of the VCE Solution Engineering team on an on-going basis and produce documents and technical solutions in the form of whitepapers.</p>
<p><strong>Principal Duties and Responsibilities:</strong></p>
<ul>
<li>Subject matter expert on converged infrastructure technologies leading solution development efforts. </li>
<li>Technical lead on IAAS, PAAS and/or SAAS solutions. </li>
<li>Support for selected Tier 1 and Tier 2 partners answering and advising on technical projects.</li>
<li>Work with product management and marketing to develop compelling market leading solutions.</li>
<li>Support selected partners on solution applicability</li>
<li>Provide solution and technical product presentations as needed</li>
<li>Liaison with product management and solutions marketing on requirements and feasibility</li>
<li>Lead the architecting and building of end-to-end solutions and conducting the associated solution integration and validation tests.  Duties include producing guides for solutions design and implementation.</li>
<li>Translate, transfer and disseminate acquired VCE solution knowledge to both internal and external customers through the creation of white papers, presentations and customer briefings</li>
</ul>
<p><strong>Education and Experience:</strong></p>
<ul>
<li>BS/MS or technical degree in engineering, computer science or related discipline.</li>
<li>5+ years of Data Center field experience in developing solutions.</li>
<li>Prior experience working with Service Providers highly regarded. Knowledge of IAAS, PAAS and/or SAAS technologies preferred.</li>
<li>Experience as a system architect/administrator in a production environment will be highly regarded.</li>
<li>Hands-on experience with VMware, Cisco and/or EMC products and platforms including experience in installing, configuring, upgrading and maintenance of storage platforms highly regarded.</li>
<li>Experience working with VMware ESX/vSphere environments. VMware/Cisco certification is a plus. Experience in Windows, Linux, and system administration highly regarded.</li>
<li>Ability to multi-task without compromising quality.</li>
<li>Good customer service and communication (oral and written) skills.</li>
<li>Excellent troubleshooting and problem solving skills.</li>
</ul>
<p> <strong>Other Desirable Skills:</strong></p>
<ul>
<li>Experience or working knowledge of Business continuity solutions.</li>
<li>Understanding of applications such as Oracle, SAP, Microsoft Exchange, Microsoft SQL Server, VMware View etc.</li>
<li>Knowledge of chargeback, billing, resource management and ITIL</li>
<li>Strong interpersonal, written and verbal communication skills.</li>
<li>Ability to work in a high-pressure environment.</li>
</ul>
<p><a href="http://www.doublecloud.org/2011/11/we-are-hiring/">We Are Hiring</a> originally appeared on <a href="http://www.doublecloud.org">DoubleCloud</a> by Steve Jin, author of <a href="http://www.amazon.com/gp/product/0137153635?ie=UTF8&tag=doublecloudor-20&linkCode=as2&camp=1789&creative=9325&creativeASIN=0137153635">VMware VI and vSphere SDK (Prentice Hall)</a> and creator of <a href="http://vijava.sf.net">VMware vSphere Java API</a>. Follow Steve on <a href="http://www.twitter.com/sjin2008">Twitter</a> and receive future articles via <a href="http://www.doublecloud.org/feed">RSS</a> or <a href="http://feedburner.google.com/fb/a/mailverify?uri=Doublecloud">Email</a>.
</p>
<h2  class="related_post_title">Related Posts</h2><ul class="related_post"><li><a href="http://www.doublecloud.org/2011/11/eclipse-10-years-of-excellence/" title="Eclipse: 10 Years of Excellence">Eclipse: 10 Years of Excellence</a></li><li><a href="http://www.doublecloud.org/2011/07/three-stages-to-master-programmers/" title="Three Stages To Master Programmers">Three Stages To Master Programmers</a></li><li><a href="http://www.doublecloud.org/2011/06/in-praise-of-static-methods/" title="In Praise of Static Methods">In Praise of Static Methods</a></li><li><a href="http://www.doublecloud.org/2011/05/time-to-defocus/" title="Time to Defocus!">Time to Defocus!</a></li><li><a href="http://www.doublecloud.org/2011/05/software-processes-should-you-pick-one/" title="Software Processes: Should You Pick One?">Software Processes: Should You Pick One?</a></li><li><a href="http://www.doublecloud.org/2011/04/should-you-invent-a-new-wheel/" title="Should You Invent a New Wheel?">Should You Invent a New Wheel?</a></li><li><a href="http://www.doublecloud.org/2011/03/quickest-way-to-ramp-up-in-new-software-projects/" title="Quickest Way To Ramp Up In New Software Projects">Quickest Way To Ramp Up In New Software Projects</a></li></ul>]]></content:encoded>
			<wfw:commentRss>http://www.doublecloud.org/2011/11/we-are-hiring/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Maven Again</title>
		<link>http://www.doublecloud.org/2011/11/maven-again/</link>
		<comments>http://www.doublecloud.org/2011/11/maven-again/#comments</comments>
		<pubDate>Fri, 04 Nov 2011 07:01:34 +0000</pubDate>
		<dc:creator>Steve Jin</dc:creator>
				<category><![CDATA[Software Development]]></category>
		<category><![CDATA[Maven]]></category>
		<category><![CDATA[software]]></category>
		<category><![CDATA[software tools]]></category>

		<guid isPermaLink="false">http://www.doublecloud.org/?p=2668</guid>
		<description><![CDATA[Because my new team at VCE uses Maven, I just picked it up again. Last time I used it was when I helped to port the CloudTools to vSphere for the CloudFoundry demo for VMworld 2009 keynotes. Because the project founder Chris Richardson had chosen Maven, I just followed his footsteps forward. After that, I didn&#8217;t [...]<p><a href="http://www.doublecloud.org/2011/11/maven-again/">Maven Again</a> originally appeared on <a href="http://www.doublecloud.org">DoubleCloud</a> by Steve Jin, author of <a href="http://www.amazon.com/gp/product/0137153635?ie=UTF8&tag=doublecloudor-20&linkCode=as2&camp=1789&creative=9325&creativeASIN=0137153635">VMware VI and vSphere SDK (Prentice Hall)</a> and creator of <a href="http://vijava.sf.net">VMware vSphere Java API</a>. Follow Steve on <a href="http://www.twitter.com/sjin2008">Twitter</a> and receive future articles via <a href="http://www.doublecloud.org/feed">RSS</a> or <a href="http://feedburner.google.com/fb/a/mailverify?uri=Doublecloud">Email</a>.
</p>
]]></description>
			<content:encoded><![CDATA[<p>Because my new team at VCE uses Maven, I just picked it up again. Last time I used it was when I helped to port the CloudTools to vSphere for the CloudFoundry demo for VMworld 2009 keynotes. Because the project founder Chris Richardson had chosen Maven, I just followed his footsteps forward. After that, I didn&#8217;t use Maven.</p>
<p>In the last two years, however, I got a few requests from the community on supporting Maven in VI Java API project. I haven&#8217;t got time for it, but noticed it’s actually included in Hudson/Jetkins project. Using VI Java API with Maven is not hard after all. But life could be easy and I will do something there later.</p>
<p>I know developer community is divided on Maven – some love it and some hate it, all with good reasons. I think I am in the group of the others who don’t have a strong opinion about it.</p>
<p>Based on my limited experience with Maven, I think it’s definitely a good tool that makes it easy to build and manager typical projects in particular Java projects. But it seems like a magic box to users, meaning if you have special needs, you may be easily lost and ends up hours on the Web and trials researching for a solution.</p>
<p>Unlike last time I used Maven mainly with command line, I just installed the m2e plugin from from <a href="http://m2eclipse.sonatype.org/sites/m2e">its update site </a>this time. The installation process is pretty straightforward and fast. After that, I got into a trouble that Maven complains it cannot find javac compiler. Having changed the eclipse.ini and the preference page pointing to a JDK by default, I still found the same error. With a few more trials, I got it work after deleting the previous JRE entry in the Installed JREs in the Eclipse preference page. So it seems not enough to set a JDK as default – you have to delete the other JRE. It seems working fine afterwards.</p>
<p>Then, I wanted to try a bit more with something not so quite usual. I decided to create a HelloWorld project for a final jar with a timestamp suffix, such as the vijava API convention: vijava520110926.zip, in which 5 is the version number and the 20110926 is the date of the release.</p>
<p>As it’s not supported out of box, at least I thought that way initially, I got the Maven Build Number plugin. After several Web pages (I found the plugin usage page is a bit confusing) and trials, I still could not get it to work as I wanted. Basically null took the place of timestamp indicating a problem with the generation.</p>
<p>In the end it worked without the Maven Build Number plugin, a pleasant surprise. Here is the pom.xml:</p>
<pre class="brush: xml; title: ; notranslate">
&lt;project xmlns=&quot;http://maven.apache.org/POM/4.0.0&quot; xmlns:xsi=&quot;http://www.w3.org/2001/XMLSchema-instance&quot;
xsi:schemaLocation=&quot;http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd&quot;&gt;
&lt;modelVersion&gt;4.0.0&lt;/modelVersion&gt;
  &lt;groupId&gt;org.doublecloud&lt;/groupId&gt;
&lt;artifactId&gt;FirstApp&lt;/artifactId&gt;
&lt;version&gt;2.0.0&lt;/version&gt;
&lt;packaging&gt;jar&lt;/packaging&gt;
  &lt;name&gt;FirstApp&lt;/name&gt;
&lt;url&gt;http://doublecloud.org&lt;/url&gt;
  &lt;properties&gt;
&lt;project.build.sourceEncoding&gt;UTF-8&lt;/project.build.sourceEncoding&gt;
&lt;maven.build.timestamp.format&gt;yyyyMMdd&lt;/maven.build.timestamp.format&gt;
&lt;/properties&gt;
  &lt;build&gt;
&lt;finalName&gt;${project.name}-${project.version}-${maven.build.timestamp}&lt;/finalName&gt;
&lt;/build&gt;

&lt;dependencies&gt;
&lt;dependency&gt;
&lt;groupId&gt;junit&lt;/groupId&gt;
&lt;artifactId&gt;junit&lt;/artifactId&gt;
&lt;version&gt;3.8.1&lt;/version&gt;
&lt;scope&gt;test&lt;/scope&gt;
&lt;/dependency&gt;
&lt;/dependencies&gt;
&lt;/project&gt;
</pre>
<p>Here is my after-thought from trying Maven. It’s a powerful tool with many great features, some of which are just hidden or not well documented, therefore just do a disservice to users who may either skip them or keep trying but waste much time that should be saved otherwise.</p>
<p>Having said that, I don’t have a silver bullet. But I think that is definitely something all software designer should think about and pay attention to while designing their applications and APIs.</p>
<p><a href="http://www.doublecloud.org/2011/11/maven-again/">Maven Again</a> originally appeared on <a href="http://www.doublecloud.org">DoubleCloud</a> by Steve Jin, author of <a href="http://www.amazon.com/gp/product/0137153635?ie=UTF8&tag=doublecloudor-20&linkCode=as2&camp=1789&creative=9325&creativeASIN=0137153635">VMware VI and vSphere SDK (Prentice Hall)</a> and creator of <a href="http://vijava.sf.net">VMware vSphere Java API</a>. Follow Steve on <a href="http://www.twitter.com/sjin2008">Twitter</a> and receive future articles via <a href="http://www.doublecloud.org/feed">RSS</a> or <a href="http://feedburner.google.com/fb/a/mailverify?uri=Doublecloud">Email</a>.
</p>
<h2  class="related_post_title">Related Posts</h2><ul class="related_post"><li><a href="http://www.doublecloud.org/2012/02/chasing-moving-targets/" title="Chasing Moving Targets">Chasing Moving Targets</a></li><li><a href="http://www.doublecloud.org/2012/02/1xn-to-nx1-the-world-is-flat-in-computing/" title="1xN to Nx1: The World Is Flat In Computing">1xN to Nx1: The World Is Flat In Computing</a></li><li><a href="http://www.doublecloud.org/2012/01/why-so-many-programming-languages/" title="Why So Many Programming Languages?">Why So Many Programming Languages?</a></li><li><a href="http://www.doublecloud.org/2011/11/best-practices-for-best-practices/" title="Best Practices for Best Practices">Best Practices for Best Practices</a></li><li><a href="http://www.doublecloud.org/2011/03/learning-google-web-toolkit/" title="Learning Google Web Toolkit">Learning Google Web Toolkit</a></li><li><a href="http://www.doublecloud.org/2011/02/how-i-customized-my-wordpress-blog/" title="How I Customized My WordPress Blog">How I Customized My WordPress Blog</a></li><li><a href="http://www.doublecloud.org/2010/11/critical-lessons-learned-at-facebook-on-scalability-and-reliability/" title="Critical Lessons Learned at Facebook on Scalability and Reliability">Critical Lessons Learned at Facebook on Scalability and Reliability</a></li></ul>]]></content:encoded>
			<wfw:commentRss>http://www.doublecloud.org/2011/11/maven-again/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>Best Practices for Best Practices</title>
		<link>http://www.doublecloud.org/2011/11/best-practices-for-best-practices/</link>
		<comments>http://www.doublecloud.org/2011/11/best-practices-for-best-practices/#comments</comments>
		<pubDate>Wed, 02 Nov 2011 06:50:37 +0000</pubDate>
		<dc:creator>Steve Jin</dc:creator>
				<category><![CDATA[Cloud Computing]]></category>
		<category><![CDATA[Software Development]]></category>
		<category><![CDATA[best practice]]></category>
		<category><![CDATA[software]]></category>

		<guid isPermaLink="false">http://www.doublecloud.org/?p=2664</guid>
		<description><![CDATA[Like many other industries, IT industry has all sort of best practices, from how to use a product to how to design software. I have personally contributed top 10 best practices on how to use VMware vSphere APIs (part 1, part 2). Given the complexity of IT systems, it makes sense to capture the expert [...]<p><a href="http://www.doublecloud.org/2011/11/best-practices-for-best-practices/">Best Practices for Best Practices</a> originally appeared on <a href="http://www.doublecloud.org">DoubleCloud</a> by Steve Jin, author of <a href="http://www.amazon.com/gp/product/0137153635?ie=UTF8&tag=doublecloudor-20&linkCode=as2&camp=1789&creative=9325&creativeASIN=0137153635">VMware VI and vSphere SDK (Prentice Hall)</a> and creator of <a href="http://vijava.sf.net">VMware vSphere Java API</a>. Follow Steve on <a href="http://www.twitter.com/sjin2008">Twitter</a> and receive future articles via <a href="http://www.doublecloud.org/feed">RSS</a> or <a href="http://feedburner.google.com/fb/a/mailverify?uri=Doublecloud">Email</a>.
</p>
]]></description>
			<content:encoded><![CDATA[<p>Like many other industries, IT industry has all sort of best practices, from how to use a product to how to design software. I have personally contributed top 10 best practices on how to use VMware vSphere APIs (<a href="http://www.doublecloud.org/2010/01/top-10-best-practices-using-vmware-vi-and-vsphere-sdk-part-1/" target="_blank">part 1</a>, <a href="http://www.doublecloud.org/2010/01/top-10-best-practices-using-vmware-vi-and-vsphere-sdk-part-2/" target="_blank">part 2</a>).</p>
<p>Given the complexity of IT systems, it makes sense to capture the expert knowledge in the format of best practices. I think there are just too many of them and not all of them are of high qualities, thus I have a mixed feeling about best practices these days.</p>
<p>On one hand, some best practices do help design and run a good IT system. If you follow these best practices, you will have an effective and efficient system, be it software, hardware, or service. On the other hand, there are sometimes too many to pick from, and too many pages to read through, not to mention the bad advice under the name of best practices.</p>
<p>What should be best practices? It takes for sure lot of domain expertise to answer this question. I am not expert in all domains, so I would try its opposite question: what should not be best practices?</p>
<p>In the following, I list three categories of them:</p>
<ol>
<li>Bad best practices. These are namely best practices, if followed faithfully, lead to confusion and bad consequences. After all, everyone can claim best practices for what they have come up with. I’ve seen many cases in which lousy programmers talk about best practices writing code.</li>
<li>Common sense best practices. It’s good to guide by common sense in IT world. Writing down these people already know about it just does not help much, but a waste of time. Having said that, the definition of common senses may vary from person to person, depending on education and experience. Something obvious to one may not be so to others. It’s up to the author to do more homework to understand audience.</li>
<li>Programmable best practices. These are best practices indeed, but should never be documented on paper. Rather they should be coded in applications. Not all the best practices are easy – some actually involve quite some analysis and steps to switch on this, tune that, which requires good understanding of a system. Although you should have all the basics when you read the best practices, it doesn’t mean you should go through these which can be best implemented in the software.<br />
<strong>If the software can do it, it should! Don’t bother human in the form of best practices</strong>. Besides the existing software that can include best practices, I see the rise of<strong> best practice software tool</strong> on its own soon.<br />
As expected, software cannot do everything, for example, the big picture beyond the software, how to use the APIs. So there are plenty of chances to blog about best practices.</li>
</ol>
<p>I hope these rules are helpful. Aren’t they best practices for best practices? You decide.</p>
<p>Lastly, one simple but probably the most important best practice for readers: <strong>only read and follow best practices from the best practitioners</strong>. I couldn&#8217;t emphasize it more.</p>
<p><a href="http://www.doublecloud.org/2011/11/best-practices-for-best-practices/">Best Practices for Best Practices</a> originally appeared on <a href="http://www.doublecloud.org">DoubleCloud</a> by Steve Jin, author of <a href="http://www.amazon.com/gp/product/0137153635?ie=UTF8&tag=doublecloudor-20&linkCode=as2&camp=1789&creative=9325&creativeASIN=0137153635">VMware VI and vSphere SDK (Prentice Hall)</a> and creator of <a href="http://vijava.sf.net">VMware vSphere Java API</a>. Follow Steve on <a href="http://www.twitter.com/sjin2008">Twitter</a> and receive future articles via <a href="http://www.doublecloud.org/feed">RSS</a> or <a href="http://feedburner.google.com/fb/a/mailverify?uri=Doublecloud">Email</a>.
</p>
<h2  class="related_post_title">Related Posts</h2><ul class="related_post"><li><a href="http://www.doublecloud.org/2012/02/chasing-moving-targets/" title="Chasing Moving Targets">Chasing Moving Targets</a></li><li><a href="http://www.doublecloud.org/2012/02/1xn-to-nx1-the-world-is-flat-in-computing/" title="1xN to Nx1: The World Is Flat In Computing">1xN to Nx1: The World Is Flat In Computing</a></li><li><a href="http://www.doublecloud.org/2012/01/why-so-many-programming-languages/" title="Why So Many Programming Languages?">Why So Many Programming Languages?</a></li><li><a href="http://www.doublecloud.org/2011/11/maven-again/" title="Maven Again">Maven Again</a></li><li><a href="http://www.doublecloud.org/2011/02/practice-practice/" title="Best Practice vs Never Practice  ">Best Practice vs Never Practice  </a></li><li><a href="http://www.doublecloud.org/2011/02/how-i-customized-my-wordpress-blog/" title="How I Customized My WordPress Blog">How I Customized My WordPress Blog</a></li><li><a href="http://www.doublecloud.org/2010/11/critical-lessons-learned-at-facebook-on-scalability-and-reliability/" title="Critical Lessons Learned at Facebook on Scalability and Reliability">Critical Lessons Learned at Facebook on Scalability and Reliability</a></li></ul>]]></content:encoded>
			<wfw:commentRss>http://www.doublecloud.org/2011/11/best-practices-for-best-practices/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>VMware Released vFabric 5</title>
		<link>http://www.doublecloud.org/2011/09/vmware-released-vfabric-5/</link>
		<comments>http://www.doublecloud.org/2011/09/vmware-released-vfabric-5/#comments</comments>
		<pubDate>Fri, 16 Sep 2011 04:00:58 +0000</pubDate>
		<dc:creator>Steve Jin</dc:creator>
				<category><![CDATA[Cloud Computing]]></category>
		<category><![CDATA[Software Development]]></category>
		<category><![CDATA[java]]></category>
		<category><![CDATA[middleware]]></category>
		<category><![CDATA[vFabirc]]></category>

		<guid isPermaLink="false">http://www.doublecloud.org/?p=2592</guid>
		<description><![CDATA[As a developer, I’m always interested in latest development of middleware platforms. Yesterday came a big news from VMware: the vFabric 5 Cloud Application Platform reached GA. For those who might not be familiar with vFabric, it is an integrated suite of middleware for deploying and managing applications. Note that despite the version number, this [...]<p><a href="http://www.doublecloud.org/2011/09/vmware-released-vfabric-5/">VMware Released vFabric 5</a> originally appeared on <a href="http://www.doublecloud.org">DoubleCloud</a> by Steve Jin, author of <a href="http://www.amazon.com/gp/product/0137153635?ie=UTF8&tag=doublecloudor-20&linkCode=as2&camp=1789&creative=9325&creativeASIN=0137153635">VMware VI and vSphere SDK (Prentice Hall)</a> and creator of <a href="http://vijava.sf.net">VMware vSphere Java API</a>. Follow Steve on <a href="http://www.twitter.com/sjin2008">Twitter</a> and receive future articles via <a href="http://www.doublecloud.org/feed">RSS</a> or <a href="http://feedburner.google.com/fb/a/mailverify?uri=Doublecloud">Email</a>.
</p>
]]></description>
			<content:encoded><![CDATA[<p>As a developer, I’m always interested in latest development of middleware platforms. Yesterday came a big news from VMware: the vFabric 5 Cloud Application Platform reached GA. For those who might not be familiar with vFabric, it is an integrated suite of middleware for deploying and managing applications.</p>
<p>Note that despite the version number, this is the first release of the vFabric platform. I guess the version 5 may be just for aligning with vSphere 5. Also, this is a suite of products that have been there for a while.</p>
<blockquote><p>Along with the Spring Framework and STS, vFabric 5 provides application development and delivery professionals a complete set of products to build, test, deploy and manage applications. vFabric components include application server, web server, data management, messaging and more. You can learn more on the <a href="http://www.vmware.com/products/datacenter-virtualization/vfabric/overview.html" target="_blank">vFabric website</a>.</p></blockquote>
<p>This table summarizes our offerings: (via vFabric product manager <a href="http://http//twitter.com/cshanklin" target="_blank">@cshanklin</a>)</p>
<table border="0" cellspacing="0" cellpadding="0">
<tbody>
<tr>
<td width="294" valign="top"><strong>vFabric 5 Standard</strong></td>
<td width="252" valign="top"><strong>vFabric 5 Advanced</strong></td>
<td width="312" valign="top"><strong>Additional Products Not In vFabric Platform</strong></td>
</tr>
<tr>
<td width="294" valign="top">vFabric tc Server</td>
<td rowspan="6" width="252" valign="top"><strong>In addition to vFabric 5 Standard, also includes:</strong></td>
<td width="312" valign="top">vFabric GemFire Data Management Node</td>
</tr>
<tr>
<td width="294" valign="top">vFabric Web Server</td>
<td width="312" valign="top">vFabric GemFire Unlimited Client Upgrade</td>
</tr>
<tr>
<td width="294" valign="top">vFabric Hyperic</td>
<td width="312" valign="top">vFabric GemFire WAN Upgrade</td>
</tr>
<tr>
<td width="294" valign="top">vFabric GemFire (Session State Management)</td>
<td width="312" valign="top">vFabric Enterprise Ready Server</td>
</tr>
<tr>
<td width="294" valign="top">Spring Insight</td>
<td width="312" valign="top">vFabric Data Director</td>
</tr>
<tr>
<td width="294" valign="top">Elastic Memory for Java</td>
<td width="312" valign="top">vFabric SQLFire Enterprise</td>
</tr>
<tr>
<td width="294" valign="top"> </td>
<td width="252" valign="top">vFabric RabbitMQ</td>
<td width="312" valign="top"> </td>
</tr>
<tr>
<td width="294" valign="top"> </td>
<td width="252" valign="top">vFabric SQLFire Professional</td>
<td width="312" valign="top"> </td>
</tr>
</tbody>
</table>
<p>You can find the downloads for these products on the <a href="http://downloads.vmware.com/d/" target="_blank">VMware Download Center</a>. In addition RHEL / CentOS users can download this software in native RPM format from our new yum repository, see our <a href="http://pubs.vmware.com/vfabric5/index.jsp?topic=/com.vmware.vfabric.platform.5.0/vfabric/quick.html" target="_blank">quick start guide</a> for more details.</p>
<p>Additional links:</p>
<ul>
<li><a href="https://www.vmware.com/support/pubs/vfabric-pubs.html" target="_blank">Documentation Landing Page</a></li>
<li><a href="https://www.vmware.com/support/vfabric-platform/doc/vfabric-platform-rn-5.0.0.html#whatsnew" target="_blank">Release Notes</a></li>
<li><a href="https://www.vmware.com/support/vfabric-platform/doc/vfabric-platform-rn-5.0.0.html#whatsnew" target="_blank">What’s New</a></li>
<li><a href="http://www.vmware.com/products/datacenter-virtualization/vfabric/buy.html" target="_blank">Pricing and How To Buy vFabric 5</a></li>
</ul>
<p><a href="http://www.doublecloud.org/2011/09/vmware-released-vfabric-5/">VMware Released vFabric 5</a> originally appeared on <a href="http://www.doublecloud.org">DoubleCloud</a> by Steve Jin, author of <a href="http://www.amazon.com/gp/product/0137153635?ie=UTF8&tag=doublecloudor-20&linkCode=as2&camp=1789&creative=9325&creativeASIN=0137153635">VMware VI and vSphere SDK (Prentice Hall)</a> and creator of <a href="http://vijava.sf.net">VMware vSphere Java API</a>. Follow Steve on <a href="http://www.twitter.com/sjin2008">Twitter</a> and receive future articles via <a href="http://www.doublecloud.org/feed">RSS</a> or <a href="http://feedburner.google.com/fb/a/mailverify?uri=Doublecloud">Email</a>.
</p>
<h2  class="related_post_title">Related Posts</h2><ul class="related_post"><li><a href="http://www.doublecloud.org/2012/01/management-middleware-the-future-of-virtualization-and-cloud-marketecture/" title="Management Middleware: The Future of Virtualization and Cloud Marketecture">Management Middleware: The Future of Virtualization and Cloud Marketecture</a></li><li><a href="http://www.doublecloud.org/2012/01/why-so-many-programming-languages/" title="Why So Many Programming Languages?">Why So Many Programming Languages?</a></li><li><a href="http://www.doublecloud.org/2011/11/new-book-enterprise-java-applications-architecture-on-vmware/" title="New Book: Enterprise Java Applications Architecture on VMware">New Book: Enterprise Java Applications Architecture on VMware</a></li><li><a href="http://www.doublecloud.org/2011/08/hub-programming-language-does-it-matter-to-you/" title="Hub Programming Language: Does It Matter To You?">Hub Programming Language: Does It Matter To You?</a></li><li><a href="http://www.doublecloud.org/2011/08/workaround-vsphere-java-api-with-java-web-start/" title="Workaround: vSphere Java API with Java Web Start">Workaround: vSphere Java API with Java Web Start</a></li><li><a href="http://www.doublecloud.org/2011/07/java-se-7-released-finally/" title="Java SE 7 released, finally!">Java SE 7 released, finally!</a></li><li><a href="http://www.doublecloud.org/2011/07/how-many-programming-languages-are-enough/" title="How Many Programming Languages Are Enough?">How Many Programming Languages Are Enough?</a></li></ul>]]></content:encoded>
			<wfw:commentRss>http://www.doublecloud.org/2011/09/vmware-released-vfabric-5/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
	</channel>
</rss>

