Thursday, March 1, 2007

REST vs ?

It is nice to read the blogs that I have missed for almost two months and write something on my own. I found many guys raised another tons of discussion about REST and web services. As I remember, they compared REST and SOAP at first, then REST and web services, and then REST and SOA. I do not know what is the next to be compared with REST.

Many like to predict the technical changes in the coming year. In his post, Carlos predicted that
"WS-* and its corresponding specifications like SOAP and WSDL will be declared dead by year end."

It is interesting that the technology is considered hopeless when the developers of SOAP engines are struggling to improve its performance. What I hope is by the end of 2007 the debate about REST vs ? will stop. Obviously, the "dead of web services" cannot assure that.

Mark Nottingham listed the "real and imagined issues" here. I agree with most of them. However, I still think that the following is really an issue when interpreting the REST as the Web technological style.
"False Choice: Machines vs. People
There’s an insistence from some quarters that somehow, HTTP and REST are only good for people sitting behind browsers. I think that this has been solidly and obviously disproven, and find it difficult to believe that such continued, vigorous assertions are anything other than FUD. *shrug*"

Why? It is because "one of the deeper REST constraints is using hypertext as the engine of application state". The Web is the space of information, or the virtual state machine of web pages. Mark Baker believes "the Web, since its inception, has always been about services, and therefore that “Web services” are redundant." Of course, that depends on how to define the "service". The success of Web results from its architecture, REST, or more concretely, client-server, request-response messaging, and loose-coupling by HTML, XML, and widely accepted scripts. To make all this happen, the browsers are the heroes in the background. The browsers are the agents working for people. People with the browsers trigger the state transfer of the Web as a virtual state machine. In the service scenarios, every service can trigger the state transfer of the virtual state machine of services. If a long long URL with all the request information encoded inside is tolerant and no MEP's other than request-response are needed, fine, let's just call it "services" not "web services", and make it just like a web page.

Wednesday, February 28, 2007

Intense discussion about performance of Java SOAP stacks

Stefan Tilkov posted an article about the discussion about Java SOAP stack performance on InfoQ. It seems that some developers of the three major Java SOAP stack projects, Axis2, Xfire, and JAX-WS, are really concerned about the topic. Although part of it was not so comfortable, the discussion can still help to improve the development of those projects. I think Steve did tell the essentials of SOAP performance that developers need to care about.

I have tried to learn all the three frameworks. To me, the learning curve and tools are also important for an open-source project to be accepted by the developers besides code reliability.



Tuesday, February 27, 2007

Switching to Google Reader

Not surprisingly, I switched to Google Reader as the tool to read blog feeds. I used to use the Sage plugin for firefox. The features of Sage are enough for my requirements. However, it is difficult to synchronize my readings (both subscriptions and reading progress) on various machines. From time to time, I need to remotely connect to the machine at office to synchronize. Google Reader is the solution if you need to read feeds from different machines. To switch from Sage to Google Reader is very easy, just export the OPML file from sage and import it in Google Reader. And then you can start to enjoy the new reader.

Wednesday, February 7, 2007

Interesting points from Grady Booch

I guess everyone using UML know Booch. Several years ago, he joined IBM when the Rational was sold. Gervas Douglas just posted some tidbits from his discussion with Booch.
Functional programming languages (like LISP, Scheme and SML) failed largely because they made it very easy to do very difficult things, but it was too hard to do the easy things.

Recently, I am reviewing and writing about the continuation and its applications to service orchestration or work flow implementations. The continuation is natively supported by LISP, Scheme and SML, but not by Java. I have no experience on those old languages, but I suspect that they must deal with the highly abstracted aspect of continuations.
The next big challenge in software architecture is concurrency. Raw clock speed has just about reached its physical limit. Chip companies are now putting multiple copies of the same CPU onto a single chip. The result is that applications can no longer just be run faster. They have to be run in parallel in some way.

I think concurrency and asynchronism are the major power and challenge of the SOA world.

Thursday, November 30, 2006

Collecting and sharing your notes by using Google Notebook

Google Notebook is a service being developed in Google Labs. I have used it for a couple of weeks, and enjoy it a lot. Now there is no need for me to take the paper notebook around the office and home. Its valuable features include:
1. Collecting the points not just the links from the web, and
2. Easy sharing and collaborating.
The web-based applications like Google Notebook are perfect for team work of research and development projects. They would be efficient tools for organizations to collect knowledge from individuals and the web at large. I think the areas like E-leaning and knowledge management will see many such applications soon.

Wednesday, October 25, 2006

Spellcheck in Firefox 2.0

The Spellbound add-on does not work on Firefox 2.0, and I installed a new add-on named United States English Dictionary. It works just like Spellbound. There is also a British English Dictionary available.

Tuesday, October 24, 2006

IBM's patents

Just heard that IBM Files Patent Infringement Lawsuits Against Amazon.com. I am really curious to know these patents refer to what applications Amazon has done. The following is my guess:
"Presenting Applications in an Interactive Service" -- web application or web services or Amazon E-Commerce Service (ECS)?
"Storing Data in an Interactive Network" -- database or Amazon Simple Storage Service (Amazon S3)?
"Presenting Advertising in an Interactive Service" -- all the Ads on the web?
"Adjusting Hypertext Links with Weighted User Goals and Activities" -- personalized recommendations?
"Ordering Items Using an Electronic Catalogue" -- the whole Amazon website?