“Develop Once, Run Everywhere”
Adobe Flex has done a fairly good job for Web. Even better the same code can be easily tweaked to run as a standalone application with Adobe AIR. This was once an expectation for Java when it first came out to run as an Applet. Somehow it didn’t succeed in its birth place, but gained its ground at the server side instead.
JavaFX from Sun is a nice try but too late in the game. More importantly, Sun is not a client software company like Microsoft who was also late with SliverLight but has client side expertise and managed to compete. I don’t think Sun will reclaim its already lost client market at all, and therefore JavaFX is likely a candidate to be axed after Oracle’s acquisition. The investment on JavaFX should have gone to Java Swing, which is a lackluster compared with IBM SWT. Read more...
Posted in Software Development
Tagged applet, application, eclipse, flex, java, RIA, sun, swing, swt, thought, vSphere API, xaml
Done with the four day training, finally! It’s pretty exhausting given that I had to get up two hours earlier to match the Central time schedule.
JavaServer Faces (JSF) technology was created to solve this problem. It a server-side framework, which provides GUI components, manages their states from the server side, handles events, and etc. You can then develop a web app more like the standalone application in some sense. Because JSF manages the state from the server side, it uses more resources and less performant than it’s JS/AJAX equivalent.
Spring Faces is not a replacement for JSF, but complements in the “Spring” way. It facilitates deeper JSF and Web Flow integration, manages JSF components’ states, and provides more lightweight JSF components. Therefore, you can get leaner web application than using pure JSF.
Several tools can be handy for your debugging: Read more...
Web flow is the most confusing part so far in RIA with Spring training, therefore a whole day was dedicated to this.
From a very high level, a Web flow is just like a wizard in a stand-alone application. It guides a user through several steps of interactions. Complicated wizards may branch out depending on the information entered in early steps, so do the Web flows.
Well, Web environment has its uniqueness and challenges. Spring Web Flow is designed to ease it. Like any other framework, you have to overcome the learning curve before you can really take advantage of it.
The good news is the Web Flow still fits in the MVC framework overall, just with a new set of handler mapping, handler adapter, plus the new flow executor. Read more...
It’s the second day of the four day training. A lot of things were covered:
- Modern Web UI including progressive enhancement, accessibility, and design.
- Applying Spring JS, an abstraction around other AJAX toolkit. The coverage includes AJAX events, client side validation, and rich widgets.
- Working directly with Dojo Toolkit, including DOM scripting and Dojo widgets (Dijit).
Today is my first day in a four day training – Rich Web Applications With Spring. It’s a pretty intensive day from 7AM to 3PM which covered the following:
- Quick start with Spring Tool Suite and reference application.
- Spring MVC essentials, including architecture, controllers, conventions.
- Using layouts and views, including composite views with Apache Tiles, and multiple rendering technologies like Excel, PDF in addition to the HTML.
- Processing form pages, including data binding, validation, and form tags.
I used Java Servlet and JSP about 10 years ago while working on a NMS project. At that time, there was no good MVC framework for developing a large web application. You had to program against the Java Servlet APIs directly. Jason Hunter’s book Java Servlet Programming was my favorite book. Read more...
Since joining VMware two and half years ago, I have been working like a consultant on partner enablement projects in various technical areas like SDK, SRM array adapter, VI Client plug-in, DRS clustering, etc. While working on these engagements, I always think about more efficient and more effective ways to get my work done and grow our developer ecosystem.
To summarize what I learned and thought, I decide to use CO2 as the success formula because it fits well when we talk about an ecosystem. The CO2 here means differently though. It represents Cash + Open source + Open communication. Read more...
Besides the talks on VMware APIs, two self paced labs are there for you to try out the vSphere SDK and PowerShell at PEX. More details are quoted in later part.
As a bonus, you will get a chance to learn VI Java API in the SDK lab. Thanks to VMware TAM Alton Yu for making this happen! I will be there when I am not presenting my talk “Architecting Your Applications for VMware Cloud”, or helping on the BOF, genius bar, etc. Read more...
Search has been a hot topic since Google successfully monetized it with advertising business model. Besides general Web content search like Google does, there are many other types of searches needed for other Internet companies.
LinkedIn.com, with which most of us have created profiles, offers search capabilities based criteria like keywords, names, location, industry, companies currently with and before, school, etc. Because what Linkedin.com has is well structured data, you and I expect it to do a better job than Web searches. In fact, it does. Read more...
Today I read a posting at VMware community forum about the weird code required by C# Web Service. If the following line is missing, then the vSphere API call to get properties doesn’t work:
VimApi.VimService.PropertySpec.allSpecified = True
But the problem is that there isn’t any property defined as allSpecified in the object PropertySpec according to vSphere API Reference.
So, where does the allSpecified come from? and why is it needed? Read more...
After setting up this blog site, I updated my LinkedIn profile. This morning, my colleague Gilbert left me a comment saying “why not hybrid cloud?” I know he was kidding, but it’s a good time to explain why I got this name.
The basic idea behind the name is the following equation:
DoubleCloud = PublicCloud + PrivateCloud
or as some people prefer
DoubleCloud = ExternalCloud + InternalCloud Read more...
Among many well know improvements like huge performance boost, VI Java API 2.0 has a big feature that we don’t talk much. It’s the full compatibility: one library for all the existing version from 2.0, 2.0 to 4.0. Read more...
As mentioned in previous blog, REST is a style than a systematic way defining distributed interfaces. Given how it’s used today, there is a big gap between how it’s used and sophisticated software system development.
The gap between REST and OO Read more...
REST or SOAP?
REST is acronym for Representational state transfer (REST). It is a software architecture style for distributed computing system such as Web.
For whatever reason, it got so popular today that many people equals the future of Web Services to REST. It’s true that REST based API is easy to understand with simple HTTP request/response messages in XML format. You can get some work done using text editor plus web browser. Read more...