2010年11月26日 星期五

How cloud computing is related to SOA? Why Web Services standards are important to adoption of cloud computing?

Service-oriented architecture is set of design principle to provide business solution by integrating different services which is a business solution, it normally adopted by enterprise which promote loose coupling and reusability. Instead, Cloud computing is a delivery solution to provide another form of loose coupling in infrastructure level, utilizing the computing resource, providing a high level quality of service, it is a platform as a service (PaaS), some people may consider cloud computing as a evolution of SOA in the sense that service-oriented for different resource like, storage, computing and bandwidth etc. This is the basic relationship of cloud computing and SOA.

So SOA is business solution and cloud computing is a delivery solution/platform, we can simply deploy the enterprise SOA solution on the cloud, it can take the advantage of both size, we can still enjoy the loose coupled SOA solution, building different solution by reuse integrating different existing service or adding new service (business process), at the meantime, we can enjoy the quality of service of the platform, the high reliability and scalability etc., this is pretty good, isn't it? This relationship increase the value of the entire enterprise solution in many aspect

One more step forward, as with the cloud, we can expose the business solution to the public, business service/process may not restricted to internal only, it may be sensitive to some enterprise to disclose some business process to the public and security indeed is a concern, but the concept can be applied to general public as well, take the public point of view, everyone can develop their own business service and put it on the cloud, the loose coupling and reusability of SOA can be extended to an further level, if someone want to solve a business problem, he can simply integrate the existing business service on the cloud without reinvent every business process by himself, which is a more cost-effective solution in general. Going back to the enterprise point of view, they can selectively to expose their service to the public or selectively integrate the necessary service into their business solution. This approach is already developing into real business, in Apple iOS, mobile phone users buy the application in the AppStore, they buy and sell in application level , but in the newly introducing Microsoft Cloud Platform, Windows Azure Platform, Microsoft is also introducing the marketplace for developers to buy and sell many different kind of product, including the business component(service).

With the discussion of the previous paragraph, this relationship between cloud computing and SOA is very valuable and useful, which heavily adpoted the concept of SOA in the sense of loose coupling and reusability. In order to justify the value-added in this process, it is not difficult to find out that the overhead cost can be extremely high, if someone is developing a business solution by integrating different business component form the cloud, he may take a considerable time to do the interfacing work for different business component if it is not standardized. Standardization of the service interface will be an essential topic to reduce the overhead cost and justify the value of the SOA-Cloud model.

Before cloud become popular, web services have been developed for many years, web services basically comply with the SOA concept, so it would be hugely beneficial to the adoption of cloud computing, standardizing the web service standard means that every standard web service can communicate with each other, when we put all the standard web services to the cloud, the cloud is already a rich market of many business component which can be reused. That's why the standardized is so important.

Reference:

Why is HTML 5 a threat to Adobe Flash? Will HTML 5 kill Flash? What is your view?

There is a few reasons that make HTML 5 a threat to Adobe Flash, HTML5 is a open standard based on the HTML standard, but Adobe Flash is Adobe proprietary product, HTML 5's development cost and cycle is more competitive, compatibility, cross-platform issue and real world business strategy.

First of all, open standard versus proprietary, in a developer community, open standard normally will be more popular, the number of web developer with HTML/JavaScript skill is more than Flash/ActionScript developer, they would easily learn the new HTML 5, so more developer will be eligible on writing HMTL 5 application, as open standard, HTML 5 will encounter less security problem with the active contribution from the community, which is a advantage as well. Technically, the HTML 5 have considerable rich feature, a few Googlers developed Quake which run on browser using HTML 5 which is a very impressive of the demonstration of functionality. As both HTML 5 and Flash aims to create rich web application, if HTML 5 is more popular in developer community than Flash, it is definitely a threat to Flash.

For the development cost and cycle, for HTML 5, even using a notepad, a developer can develop a HTML 5 application, but this is not the case for Flash, you need to have the Flash development IDE for the development which have the cost, it already hinder some start up for the Flash development, as more HTML 5 ready developers will be in the market as mentioned in previous paragraph, company may consider hiring HTML 5 developer who may cost less to do the same application. With the open standard, application can stay at the edition without realizing the updating of the standard, or write one for all supported browser, for Flash, development and testing may need to be taken place for every version of Flash client. As cost is already in the consideration for the industry, this could be a disadvantage of Flash.

Briefly explained at above, compatibility will be a concern, HTML 5 will be compatible for all supported browser, this is not a problem, in contrast, Flash is a platform-dependent software, you need the Flash client to play Flash, if the Flash client is not available on specific platform, it will be out of the business, Apple iOS will be the case, Flash totally cannot gain any market share in iPhone/iPad section (and iPhone/iPad own a big lot market share in the market), a company would more likely to develop the application once and put it in all platform, instead of asking developer to develop one version for Flash and one version for iOS. If there is bug of Flash client, you need to wait Adobe and it may not easily workaround, if there is version upgrade, you also need to verify your application carefully to check no break in it. HTML 5 won't have these kind of problem.

In real business world, Google and Apple is actively contributing and promoting HTML 5, as these two technology giants have their business motivation (Revenue driven by advertisement, browser market share, etc.), it is not easy for Adobe to win, Adobe already cannot enter iOS market which greatly lower their market share in smart phone business.

No matter in technical sense or business sense, Adobe Flash is in the lower ground, if there is nothing dramatically change, the market share of Flash will be decreased significantly, however, it don't be it will be “killed”, but it will change form majority to minority in the rich web application market. It is not the fault of Adobe, it is the technology trend of computer industry.


Reference:

What is your vision on Web 3.0? What are the key technologies that will make it happen?

For web technology’s future, turning to Web 3.0 will be the trend and semantic web will definitely be the answer. Though there may be a long long way to go, I think Web 3.0 will soon replace Web 2.0 and pave the way for semantic web.

Definition of Web 2.0 is vague, but we all agree that it is about users' participation. Not only did users consume resources, but they also produced. Semantic web utilizes the web resource and integrates “web” into our daily life for everything. My vision on Web 3.0 is in between, users will still consume and produce resource, but they don’t realize that the “web” is already surrounding us. Users may not be able to notice that they are using “computer” and “web”, which no longer appear in the old form, but present in form that comfort everyone, no matter they use computer or not. Resource will be consumed from and produced to the web under unawareness, which can contribute to a better and more effective world in terms of information transfer, utilizing computing resource and lifestyle. Essential factors of Web 3.0 include ubiquitous computing and cloud computing together with some thin client like Web OS.

Ubiquitous computing, which is about human-computer interaction, is a rapidly developing area of computing. Though we may not be aware of, many devices are already running to this direction. For example, smart phone like iPhone and Gphone (Android) etc, gaming machine like Wii, PlayStation Move and Xbox Kinect. By using these devices, the traditional forms of input are reformed, we can now use movement, gesture, voice, and the picture we saw (by capturing using camera is one of the form) to produce input. If you have experienced Google Goggle, you will realize that how mobile device and web have produced some new web experience under no awareness. There are two main feature of Goggle, voice search and image search, under the traditional voice recognition technology, user need to read a considerably long article to create sample for the computer to analyze for future use. However, in Goggle, your search is not only a input for your query, but it also provides sample for Google computation. As many users contribute the sample, now you can just speak out what you want and it can recognize your search in many different languages. It is the future and the power of the web. As we can see the improvement of user-friendliness, and the trend of push/pull resource from web, this could boost the Web 3.0.

Cloud Computing is about using the computing resource from the cloud which is not heavily rely on your only computing device. With cloud, users do not need to have a powerful computer anymore. Smart phone mentioned above can be illustrated as an example, although smart phone is pretty powerful indeed and can do a lot of fancy graphic, it is not designed for heavy computing because of the battery constraint. It is more desirable to send the request to the back-end, most likely to the cloud for computing. Moreover, those thin client can boost the Web 3.0 by changing everything into web-compliance device, as you may see that Google and Apple are developing their TV business, which is actually a computer with thin client. They are going to the direction of Web OS, a very light-weighted OS, which actually run application on the cloud and on the web. Following this direction, we may turn anything in your home (like wardrobe)to a web-connected device without using heavy computing power, which save power and money.

Finally, with the ubiquitous computing and cloud computing, I believe my vision of Web 3.0 will come true very soon. We will have a more user-friendly in term of human-interface, a cheaper but better electronic home and world in the future.

Reference: