Jan 09

Dreaming of Hiding the Complexity

Whilst the software products are geared towards making people executing things in a more effective way and allowing people to execute things that were not possible before (I agree, this is not always something good… we would live better without some of the software creatures…), I have always thought that the goal of the technology behind the software results (i.e. the technology that allows the production of software) would be to allow the artists (i.e. the developers) to do their job in the best possible conditions.

I remember how much I loved the VMS operating system (from Digital), the powerful CASE environment that was implemented on that operating systems (ah, Language Sensitive Editor…) and the Common Language Runtime.
I also remember how easy and natural it was, a life later, to develop distributed Service Oriented applications in the Forté environment (where Service Orientation and scalability was built inside the language framework itself). The motto from Forté was “Hiding the Complexity” and, indeed believe me, they couldn’t have been chosen a better motto!

Today I have read one of the “2008 predictions articles” and I was hit by the last item:

13. The next big thing. Software development will change to a wider use of code generators. Forget about heavy frameworks, regardless of what programming language you use.  In a simple case, use some XML style sheets combined with the metadata that describes your application objects to automatically generate the code for these objects. On a larger scale, the entire application may be described using metadata and XML, and an appropriate code generator will do the job. So programming will change from writing tedious code that requires lots of coders to describing the metadata and writing custom code generators.

I know, this will remain a dream: Rubik's Cube GameWhy steal the pleasure of fighting against the complexity of building a program that would let the author being proud of the many hours he spent in debugging it and in having a presentation that looks likee what he would have wanted ….?

 

Hiding the complexity and allowing the artist to express his creativity in addressing the solution to a problem (instead than in debugging, in challenging multithreading or fighting against the geometry manager) would be something nice to dream.

P.S.The Author has, also, some interesting observation on Java, AJAX and Flex/AIR.

Jan 02

From "You" to "Them"

Of course, this is NOT the official cover for the POY of Times. But it is a very interesting story (thanks Dvir for having sent the pointer). Quoting the article from Times:

[timePOY_coverImage.jpg]"Don’t get me wrong: all the things that made You You in 2006 are still there. All year long, You were YouTubing, Facebooking, Twittering, chronicling Your life and community, scrutinizing the candidates and the media, videotaping Yourself getting upset on behalf of Britney Spears.

But who made the big noise in the Web 2.0 world this year? It was Them. The professionals, the old-media people, the moneymen — all of Them, conscious that there was profit in Your little labor-of-love socialist paradise. Story of Your life, right? You make the discoveries, They make the Benjamins.

So if 2006 was the year of You, 2007 was the year of Them. Big media companies (like this one) stuffed their sites with blogs, podcasts and video. "

This is, actually, true. And I think that, overall, this has been a good progress for everybody.

Jan 02

How to get Immunity against e-mail?

I thought I would share another couple of sentences I read in a book have very much liked. The book is another masterpiece, The Tipping Point. In the afterword there is a little chapter, titled "Beware the Rise of Immunity". The following are excerpts from there:

The fact that anyone can e-mail us for free, if they have our address, means that people frequently and persistently e-mail us. But that quickly creates immunity, and simply makes us value face-to-face communications - and the communications of those we already know and trust - all the more.

When people are overwhelmed with information and develop immunity to traditional forms of communication, they turn instead for advice and information to the people in their lives whom they respect, admire and trust. The cure for immunity is finding Mavens, Connectors and Salesmen.

During this period I am seeing many posts around "Resolutions for the New Year" which explicitly state that inbox-zero is one of the priorities. So, we could say that

The proper use of Social Software can actually be the cure for immunity. 

social software for businessAnd Lotus Connections can actually provide a big help in looking for Mavens, Connectors and Salesmen inside your community.

Nov 21

The Power User wears Prada

The Devil Wears PradaYesterday I saw the movie “The Devil wears Prada“.

You remember when Miranda asks for the yet-to-be-published copy of Harry Potter?
The way in which Andy manages the situation, by delivering two copies of the book to the twins before they take the train and giving an additional copy to Miranda, anticipating her objection and exceeding her expectation, is so great that I could not resist from immediately thinking to a sentence that I often use in my presentations for Lotus Connections or Web 2.0:

It’s not what work you expect Employee #1234 to accomplish per person-month of work……
It’s the work you never expected would happen, that suddenly creates new business

I hope that no one has to do impossible things in order to really create a new opportunity, but the example was so sharp and sticky !
It really, I think, makes it clear that it is important, today, to be innovative and clever in whichever action we do, in order to apply the passion that is inside us.

Nov 05

Papybook

Yesterday, on my way back from Paris where I got a wonderful long week end with my wife, I was reading these sentences from the book “The Tipping Point“:

In general, people chose friends of similar age and race. But if the friend lived down the hall, then age and race became a lot less important. Proximity overpowered similarity….
We’re friens with the people we do things with, as much as we are with the people we resemble. We don’t seek out friends, in other words. We associate with the people who occupy the same small, physical spaces that we do.

I remembered those sentences when, this morning, a colleague sent me an email pointing me to this site: SAGA Zone.
It is a social site for people over 50. Hey, next year I can subscribe to it! There is also an interesting article that explains what the site is for.

Communities are springing everywhere, now that the new synthetic universe is giving the possibility for people to share. The proximity, the possibility to occupy the same space is no more limited by the typical dimensions where we live (space, time). The new universe gives the possibility to “do things together” with people that “live down the hall“…

There is, though, a sad side of this story, in my opinion; it is the sense of loneliness that these initiatives bring together. Apparently, it is more and more difficult to have normal relationships with other humans.
Don’t get me wrong. Technology is opening new frontiers that are certainly enhancing our “social attitude”. It should be “enhancing”, though, more than “substituting”. At least, this is what I would think of myself in the 3rd age…

Oct 26

Java on the desktop is already here!

I have been surprised when I read this article: James Gosling (Sun) : « Java sur le poste client n’est pas à la hauteur aujourd’hui ». It is in French, so I translate the title here:

James Gosling (Sun) : « Java is not ready today for the desktop »

Strange, isn’t it ? The “father of Java” who, 15 years after, makes such a big statement!Well, the reality is different, as we all know.
Eclipse is there and it is there since sometime now. Eclipse is no more only an “open development platform”, but has become ‘a platform for building and deploying rich client applications”: it is called Eclipse RCP. Many people are developing rich Java applications for the desktop (and for the mobile market also) based on Eclipse RCP:

And, not least, IBM is building the new generation of its products based on Eclipse RCP!

The Universal Managed Client for SOA, called Lotus Expeditor. A platform for building enterprise applications and enterprise mashups that bring the power of SOA towards the desktop and devices

The new Lotus Notes 8 client, which brings the possibility of building Composite Applications centered around the collaboration tools

Lotus Sametime, which provides a new frontier for Unified Collaboration and Communication

Sun may not be ready. But the world is not waiting in order to make Java evolving! And Java is bigger than a trade symbol.

Oct 16

Unavoidability….

Thanks to an IBM internal comment, I discovered the Did you know 2.0 video referenced by Luis in his Reminder of How Much Things Are Changing post.

I have one reaction: frightening. I am scared! I mean, of course the flow of things cannot be reversed, the earth spins from West to East regardless of my opinion (or of the collective opinion thereof…). But there is a difference between acknowledging that something is happening and not doing anything to oppose, right?
I mean, not everything that happens is “a good thing”, in my opinion. We have the right, as human beings, to oppose to things that may not go in the direction we like.

I list here few things I definitely do not like:

  • B.G. : Before Google ????
    Could not believe it!!! There was an era before Google and an era after….
    It is not that I could not believe it. This is a fact. No one can contradict this evidence. But, once spelled in that way, I think it also becomes relevant the question: “if Internet search is SO important and pervasive, could we really afford to leave it in the hands of a single private monopoly?”.

  • Today’s learners will have 10-14 jobs by the age of 38.
    I am not the person who was born in IBM; I just joined 5 years ago (yeah, I am in one of the other statistics) and have been with other 3 companies before in 25 years of work.
    But 10-14 jobs by the age of 38 means that people may change jobs as frequently as each year or 18 months. Is this what companies expect in terms of loyalty from employees? Isn’t it true that people start being really productive once they know the context and the culture of the company they work for? Does this mean we will all have “contractor jobs“, jobs based on a single task to be executed?
  • Half of what a student in a 4-years course studies will be outdated starting when starting his 3rd year.
    Ehi. Culture is not only technology that gets outdated as new inventions happen.
    I think that children and adolescents have the right to study things that will not be directly part of their CV. It is the only moment in life in which they can learn things “just for thesake of learning”, “just to shape their minds and their hearts”, “just to discover what the history has sedimented in thousands of years”.
    We will always have the time to play with the last innovation… but we will not have so much time to read Shakespeare, to learn how to love poetry, to understand how humankind got here where we are.
    Sedimentation of understanding is an important principle that we need to keep in mind. Reading, remembering… and understanding (in order to have culture permeating our lives) are still different processes in our brain, I think (at least they are in mine).
  • Young people Urgently need new skills to succeed in the global economy“.
    Learning new skills is something that has been true always, I guess. The evolution of mankind just did not start yesterday…
    The accent here, though, is on the urgency. Like “we urgently need to eat”…. Urgently!
    Urgently….
    I commented on the pace of this urgency a couple of days ago…
    And the other accent is on the “global economy”. As a big a Godzilla from which we have to defend ourselves… Or as the climate changes that will subvert the needs pyramid and change the way in which we face day-to-day life.
    Looks really like a science-fiction movie, where it seems we are starting to fear about what we are producing but we are already unable to control it.

I cannot consider that all this is unavoidable. I cannot think that we do not have a mean to adapt the pace to our biological rhythm, to the way in which our minds have been shaped and our heart loves.

Oct 16

Proud of being European

Airbus A380Yesterday the big day arrived. The Airbus A380 first shipment happened.

I cannot say if this will change the way in which civil aviation will be in the future.

But, certainly, it is the achievement of an exceptional technical challenge that the European industry took. Successful or not, it is certainly remarkable and important.

I am proud to be European today. Sometimes we are not simply followers but we keep our spirit and soul for invention and over-achievement.

Oct 15

Mashups, web2.0 and the SOA cake

I read a commentary around the recent Gartner 10 Strategic technologies to watch in 2008.
In this commentary, Evan Data Corp. Joe McKendrick and Software AG Miko Matsumura say, very high, that even in SOA is not explicitely spelled in the recent Gartner’s report, SOA itself is the basis for what we are building today and in the future. There are some interesting quotes from the commentary that I wanted to highlight here, as they have really a lot to do with what we do everyday.

  • The consumption patterns of Web 2.0 and Enterprise 2.0 are made possible by SOA in this view.
    “The architecture has no value until it’s expressed in consumptions patterns. …The underlying service is just a generic-kind of service, but it comes to life when you put an Ajax interface in front or some kind of cool mashup in front of it. Once you’ve got a platform of business services, you can make mashups or Web 2.0 or a ton of really cool things.

  • “Turning to another goodies metaphor, …SOA is invisible in the same way the recipe for a cake is invisible. Even the most proud baker wouldn’t stop people from eating his cake while he read them the recipe. The consumers of cake or Web 2.0 applications want to enjoy them not hear a dissertation on how they were made, he said.
  • The status of SOA today is similar to where e-commerce was in the late 1990s. At that time everybody was building e-commerce applications using e-commerce tools. “Now, we’re doing the same thing with SOA. We’re saying this is an SOA project or this is an SOA tool. Today, you still use content management and application servers and Java as a language and Web interfaces, but you no longer call it e-commerce because now it’s just apps. It’s just how we do it. We don’t really think of it as e-commerce any more, it’s just the typical pattern for applications these days. I think exactly the same thing will happen with SOA.”
  • “When you say SOA no longer matters, it’s everything that SOA enables that matters, I totally think that’s right because SOA is a way to achieve certain things from an architecture and an alignment and agility point of view,”

I like all these quotes, because they really make the point!

Going back to what Gartner asserts, I obviously like the presence of the following 3 items in the top-ten list:

  1. Business Process Modelling
  2. Mashups and Composite Applications
  3. Web Platform and WOA

My readers know how much I consider “Business Process Modelling”, at the point that I did not hesitate to say that it is the glorification of any SOA, the way in which Services could become useful from a Business Point of view. I am not sure, though, that BPM will emerge (finally!!!). Not because it should not deserver a shining place, but because of the power implications it brings into a company’s organization (who owns the process owns the power….).

In this context, though, the emergence of the Mashups and Composite Applications, may slightly change the picture. “They allow you to rapidly tailor the functionality you want in one place, without having to re-create the original“  is the quote from Gartner. I still think what I wrote last year in “Composite Applications, Mashups and Portals: relay race or team spirit?” . Through Mashups and Composite Applications, the user will become an actor in the SOA. SOA will not stop anymore at the beginning of the HTTP pipe on the server…. it will continue, it will encompass the desktop.

The user will be allowed to integrate what the “portal” gives him with tools and content coming from elsewhere. The “portal” will provide the official company process and the mashup will provide the creativity, the differentiator by which a user would tailor the standard process and add his own touch !

Oct 08

Is MSFT Biometric system so easy to bypass?

I happened to read the article Le système biométrique de Microsoft piraté avec de la pâte à fixe ?. It is in French, so I provide here a quick Babelfish translation of the orginal content (I changed few little words from the automatic translation):

Exclusive: French students succeed in circumventing the biometric system of Microsoft, the FingerPrint readers… with adhesive paste!
Two students found a very original means of circumventing the security system of FingerPrint readers of Microsoft. With this intention, they employed candle’s wax and adhesive paste of a very known mark. “With the means of we had we managed to circumvent a system which probably cost million dollars of development”. Most worrying is the easiness to bypass this biometric control. They moulded a print in candle’s wax, used adhesive paste to get the positive and the game is there as a video posted on DailyMotion shows. “Our next idea is the recovery of fingerprints on glass and the exploitation of those”.

Of course, breaking security is illegal. I do not want here to spread some illegal information.
Also, having weak, breakable security systems is not a privilege of Microsoft only….

But, it is fun anyway! I mean, you invest a lot of money in securing something that your children could compromise so easily….

Aug 30

Trading Java ?

I could not believe it when I read Jonathan Schwartz’s (Sun CEO and President) recent post about changing the trade name for Sun Microsystems from SUNW to JAVA.
I hear that most of the comments are hostile to this. Some of them loose even time in going in the semantic of associating the slowness of Java to a rapidly declining company.
There is some summary of the most interesting entries in Sam Ruby’s blog.

What I think of this story it is that it is just another example of abusing of addiction (see my post on gBrowser here).

  • If Java is what Java proponents always say “an open technology”, how could it become the identifier of a private company?
    This is a great mistake in my opinions. It will benefit the ones who oppose Java, such as Microsoft…
  • this move shows no respect for all the companies (and individuals) that built the success of Java.
    Java did not become widely used for anything that Sun did. Sun’s Java products are trailing everywhere and their marketshare is far from being predominant.
    The success of Java was built by the IBM and Oracle and BEA and Open Source….
  • Given this, I fear (or hope) that this move could lead to a diaspora on Java, where at this point everybody will feel free to abandon the Logo and to perfect (wow…) the platform according to its own customer needs.

So, it is very sad to see someone counting on the popularity and addiction on something … to steal the attention of the community and impose himself as the gatekeeper (or keymaster… both of them were no so nice characters in Ghostbusters, right?).

Having a pony-tail does not equate to have all the rights!

Aug 30

Speculations on Google Browser (GBrowser) ?

I have read this morning an article speculating on the arrival of a new Browser on the market, a Browser labelled “Google” (or Gbrowser).
The few readers of my blog can immediately imagine that this is not the kind of news that I would have liked to hear. I personally do not like this invasion of things from Google which, under the cover of being “free for everybody”, tie us to a new monopoly (see my previous post “Internet Search should be property of no one“).
I state this even if I have no problem admitting that most of the technologies that Google, in its immense altruism, offers us are very cool and really innovative and really pushing for significant progress in the Web space.
The problem is not around how cool the presents from Google are… it is about the concept of “present” itself !

Anyway, in this specific case (GBrowser… yes, you can see that the domain name has already been registered by Google!) I think that, if the speculation actually reflects a reality, it may become something very significant, and perhaps not completely bad.

If really Google will put on the market its own branded Browser, I think that :

  1. Google will finally admit that some “footprint” is required in order to properly run today’s internet applications (this will have consequences on AJAX as we see it today, I think)
  2. Google will automatically transform what they published as “contribution” into a de-facto standard (because it will be working naturally with the new browser….)
  3. Google will create a platform onto which developers will build RIA applications

Yes, in the last bullet I wrote “RIA applications“. Because, if the Browser from Google will become true, it will obviously promote the use of Google Gears and of all the other G* things that invaded the web. A couple of months ago, I wrote my first reaction to Google Gears:

[with Google Gears] Google starts to install something else than the browser in order to keep the browser relevant”

The advent of Apollo AIR (paved by Flex) and the approaching of Vista (via Silverlight) may create serious alternatives for running applications delivered over the internet (see here and here and here for a summary of my opinion on this topic); the default mean to access to applications delivered over the net, will no more be the browser, at least when some significant experience and richness of functionality will be required.

Will Google redefine what we know today as “the browser”? Will Google remove the impedance that somehow forced the two main actors in this space (IE and Firefox) to comply (at least formally) to standards?

Again, if Google will indeed go into the Browser business, all what it gave away so far could be interpreted as a way to create “addiction, so that people will find it normal that Google will also revolutionize the browser space. After all, Google is not perceived as the “bad boys in the block“, so it is likely that this move will find only few opposers.

Despite these considerations, though, I initially wrote that this may not be a bad outcome for the web. My readers know that I consider that the browser needs a big evolution in order to support the new challenges and the execution of applications delivered over the internet. So, this move may represent a shock that will benefit the whole community.

I wished Firefox and XUL could have become this shock!!!! Perhaps they will anyway (why wouldn’t the GBrowser be based on Firefox after all?)

Of course, this is all speculation at this moment….

May 11

Does JavaFX Spell The End Of ….?

Strange logic in this article titled Does JavaFX Spell The End Of AJAX? After reading it I would think that the title would better be Does JavaFX Spell The End of Swing?

Apr 26

Flex opensourced: the battle of the giants. Towards a new Rich Client?

So, just few days after Microsoft announced its SilverLight platform, Adobe answered making Flex an Open Source platform. I suggest you have a look at Scoble’s page “Adobe opensources Flex“, especially for the two videos he recorded with some of the Adobe thinking heads.

Wow! How things are changing fast!

There is one consideration that I want to make here. Now, both Adobe and Microsoft have the following approach to their flagship UI technology:

Microsoft Adobe
Express - Entry Point SilverLight Flex
Full Product Vista -
Windows Presentation
Foundation
Apollo
  • An “entry point” offer, freely available or even Open Sourced, which paves the road to the flagship product.
  • In both cases, the technology behind is the same (MXML/ActionScript for Adobe and XAML for Microsoft). In both cases, the technology behind is Declarative!
  • In both cases, the Entry Point offer is helping making more popular, especially with developers, the technology, so that it can be more used as the basis for building applications using the Full Product version.
  • in both cases, the Entry Point makes a tactical use of the Browser (at least, in the Full Product version the browser is not playing the important role that we are used to)
  • in both cases, AJAX is used as a programming approach instead than as the overarching foundation.
  • Apr 26

    SilverLight

    I have been reading about SilverLight, the new technology from Microsoft that has been labeled as the Flash-Killer.
    What I find interesting is that the positioning of SilverLight on respect to Windows Presentation Foundation (and Vista in general) from Microsoft seems, to me, very similar to the positioning of Flex with respect to Apollo from Adobe..

    It is very much another example of a client-side container that replaces the role played by the Browser so far. With this move, not only Microsoft provides container functuionalities inside the Operating System itself (WPF) but, also, provides an “express version” of it (SilverLight), which does not require Vista and that can work on the Mac.

    I am still unclear why Microsoft does not also target Linux. But, probably, there will be someone who will do on their behalf….

    Apr 18

    IBM Lotus Connections Demo - The Real Thing!

    I want here to promote the excellent article of my friend Luis: IBM Lotus Connections Demo - The Real Thing .
    This post introduces Lotus Connections, the new Social Networking product that IBM announced at Lotusphere.

    In this quote from Luis’s post, please find the details about how to get to the live screencast that IBM made available:

    As you may be able to see from the Web site where the screencast is stored, you can watch the demo live or rather download it
    so that you can view it a later time offline. Whatever is easier for
    you. And also for those folks who may be looking for the script of the
    screencast you can also download it from here.

    Thus without much further ado and without taking too much time off from you for the demo itself, I would strongly encourage you all to take a look into the screencast on Lotus Connections and find out some more as to how IBM
    is planning to progress further into adopting social computing within
    the Enterprise and beyond. I bet that you will find it quite
    entertaining and enlightening. Because, above all, you will be able to
    see something very important and which may not be just related to
    Connections, nor to IBM itself: the fact that you can conduct effective business
    using social computing to address real customers issues and find
    solutions for them in the shortest time possible by empowering people
    to reach out for information and connect with other knowledge workers.
    Yes, that is right. Putting together the best of both worlds: knowledge and the people behind that knowledge. Can social computing get better than this? I doubt it.

    Apr 17

    Internet Search should be property of no one

    For the people that start fearing about Google, I suggest reading the following article: Google goes click.
    Among the others, I liked this quote:

    Further proof, if any were needed, that Google
    isn’t a technology company that makes money from ads, it’s an
    advertising company that uses technology to lure eyeballs

    I start to believe that Internet Search is too delicate a feature, is so important that it cannot be left in the hands of a monopoly.
    Internet Search should be property of no one or real competition and alternatives should be promoted.

    Mar 12

    Future jobs

    Few months ago, I was reading an article describing a deviation that the new electronic, synthetic world brought over:  people that pay other people to play electronic games. ;-)
    In that case, we could say that someone (with probably too much money to waste) payed other people (humans) to play the role of avatars.

    Today, I received a mail from a friend in which there was a reference to an article describing a form of vandalism on SecondLife. I am not interested if this really happened in the way it is described…What is true is that this could actually happen (after all, with all the interesting things to read, learn, produce.. aren’t there people that spend (waste) their time creating viruses ? ).

    So, I can imagine that a new kind of job may soon be on demand: the virtual bouncer or the virtual security guard. Someone who is payed to control our synthetic house or look the shoulders of our synthetic life…. Cool, isn’t it?

    Mar 08

    Are Mashups Web-based only offering?

    An interesting article “Barrelling Through The Web 2.0 World” highlights parts of a recent Gartner’s report on Web2.0. The article features my friend and IBM colleague Dan Gisolfi.

    I extrapolated the sentence

    Who is to say the mashup has to remain a Web-based offering ?

    because I think that it is very interesting… Not because of its “Web 2.0″ bias (as the article implies) but because of the implications that the mashup technology could have well outside pure browser-based technologies.

    Web-based technologies go well beyond their utilisation in browsers. I think that they have their place in Rich Client applications also.

    I am thinking here to technologies I know, such as Lotus Expeditor or Lotus SameTime. Where the Composite application model actually allows the integration of content and application delivered over the internet with content and application aggregated from the enterprise SOA.

    Mar 08

    Thoughts around REST

    It is quite sometimes that I have in mind to write down this little comment. I know that, in doing this, I am probably going to be ignored or to be blamed.
    But, for all my readers, I am doing this exercise with true humble and open spirit; I am sure that many things I write here represent only a part of the truth, perhaps so little a part…. or perhaps no part at all :-( My objective is to understand where I am wrong: so, please, accept my apologies in advance. After all, the motto of this blog is to have “opinions”…. not “truths” ;-) !

    So, here is what I do not like in the REST Hype that is around.

    • despite it is “de facto” the way the Web works, REST is counter-intuitive to me.
      It is counter-intuitive because since when I first started to program, I was told to use “subprograms”.
      And, when I moved to Object Orientation, I was told to invoke methods on objects.
      In summary: if we need to use an “addressing space” that is as wide as the whole Internet (and, not simply constrained by the virtual memory given to my executable), I do not see why I should change the way in which I am programming…why should I avoid the “invocation” paradigm ?
    • I think that REST does not add anything on the top on SOAP (or its XML-RCP ancestor).
      It is isomorphic to SOAP. Just using “nouns” instead of “verbs” simply shifts the complexity from one part to the other…. with the side effect of making the things less clear (at least for me, as I am used to add meaning to the verbs I use to describe “actions”)
    • I think that REST assumes that the world is painted with one color only: stateless.
      The reality is seldomly “stateless.
      A lot of times, it is “stateful”. And, maybe I am wrong, but I think that it is better to consider “stateless” as a subcase of “stateful” than the viceversa.
      Statelessness is great for scalability; of course! The Web is so scalable because it is stateless; sure! But, here we are not talking about pages, we are talking about an “addressing space as wide as the whole internet. We are talking about applications that use such a big space.
      I understand that the use of REST makes it possible the different caching levels the internet provides; but in so many cases, the data that are manipulated by internet-wide applications are changing so frequently that caching is not an option.
    • With REST, the “state transition” is in the protocol. I am used to manage the “state transitions” in my code.
    • I fear that REST brings back two-tiers architecture.
      Issuing GET, POST, PUT and DELETE operations on remote resources looks, to me, very much like performing CRUD operations on a remote database: something we have learned not to do.
      I understand that the implementation of a REST service makes sure I am not actually accessing the physical row in a database… but this is true for any RDBMS, actually.

    I realize that an important part of the hype on REST is due to the fact that SOAP is so complex!

    And I agree that REST is, certainly, a great way to address resources; it is really great when you can easily put an URL into some code and create those cool mashups!
    But I would not like to extrapolate that, since something is so easy to use, then it is the only way (or the correct way) to accomplish a given task.

    As I said, these are just few thoughts that I have in mind on this subject. I know that there will be arguments to address each of those concerns and to take me back on the “right way of thinking“….

    P.S. : By the way; few of the previous thoughts would also apply in favor of an RPC approach to WebServices!

    Mar 07

    BPM **is** a mashup

    Wow! I think this is an interesting quote from the BPM and Enterprise 2.0 panel:

    My favourite quote from the panel, from Phil Larson when speaking about mashing up BPM data: “BPM *is* a mashup”.

    I never thought in this way, but this is certainly very stimulating as a concept. It is the way in which I always thought to this topic (BPM) in my mind; taking services and visually composing them together in a network in order to create a Composite, Multi-Role and Multi-Step Application.

    Feb 21

    AJAX second’s birthday. What’s next ?

    Today is AJAX’s second birthday, as this article remembers us.

    I remember when I started blogging on this topic. And, in all honesty, I have to admit that I got in love with AJAX when it happened. I liked very much the idea of building web applications that “last longer”, that provide a fluid experience to the user and that do not require additional plugins. At that time, in my previous team, we were trying to understand how things like Flex, OpenLaszlo and other technologies would impact the way in which our customers think to Web applications.

    Today, after two years and some posts… I changed my mind. I start thinking that AJAX has been artifically keeping the browser alive:

    • regardless of the merits of some of the AJAX technologies that were developed so far
    • beyond the excellents things we see around (more or less everywhere on the web, today! even if one of my favorites is still Zimbra)
    • despite the fact that the emergence of the Web2.0 phenomenon is certainly due to the availability of the AJAX technology (which made people caring of Web2.0 because they could immediately see the advantages)

    well, today I am more prone to think that AJAX represents the swan song of the “browser as a mean to execute applications delivered over the web“. The arguments that make me thinking that way have been often posted in this blog.

    In the previously mentioned article on AJAX Birthday, I think I agree with what Richard Monson-Haefel wrote:

    • While AJAX has set the world on fire and caused a renaissance in user experience, it’s not the best Rich Internet Application (RIA) technology available today.The technology, or “approach” as some like to say, suffers from serious problems….
    • ….The fact that AJAX has ignited a renewed interest in making the Web a much better user experience is to be applauded, but don’t confuse the hype around the technology with the basic facts about the strengths and weakness of AJAX compared to its counterparts…
    • ….Another area where AJAX really needs to advance is in terms of tooling…
    • …the number of code-level AJAX frameworks and APIs available today is ridiculous. At my last count (August 2006) there were something like 160 AJAX frameworks….
    • …Here is another problem with AJAX, it’s not very deep

    Ditto !

    Now, I would like to take this opportunity, AJAX’s birthday, to comment on an excellent article, Web 2.0 Re-examined, from Coach Wei, the founder of NexaWeb.

    One of the interesting concepts introduced by Coach Wei is the one of “Architecture of Partition“.

    The truth of the matter is that neither server centric nor client centric architecture is always appropriate. Unfortunately developers never had the flexibility to deciding the right architectural partition for their applications. Web 2.0 brings architectural partition flexibility to developers for the first time in history. With web 2.0, developers can partition the application in a way that is best appropriate for the application, rather than trying to fit into a pre-determined architecture. Some applications are best served by leaving only user interface and some UI logic on the client side. Some applications require all UI logic on the client side to deliver optimal result. For even more sophisticated applications, there is requirement to have a certain business logic and data on the client side as well. Web 2.0 technologies enable developers to decide how much computation stays on the client side and how much stays on the server side, delivering optimal results.

    Somehow, if “Architecture of Participation” represents an Usage Paradigm Shift, the “Architecture of Partition” represents a Technology Paradigm Shift.

    This Architecture of Partition is, actually, realized by means of the 3 components drawn by Coach Wei in the picture on the left.

    The way in which Coach Wei describes  the Application Client Container (ACC) has many of the points that I try to push since few months:

    1. ACC is stateful. A web browser is designed to be stateless … …but Applications are inherently stateful.
    2. ACC supports asynchronous interactions by default while browsers require careful developer coding to do so
    3. ACC can support offline computing while web 1.0 applications are online only
    4. ACC supports mobile computing as a first class citizen
    5. ACC supports accessibility
    6. ACC supports rich user experience.

    We start seeing instances of ACC appearing. Not necessarily, hopefully, in standard browsers!

    As to the third component described by coach Wei, I personally think that the “Enterprise Mashup Server” is a component that is realized partly by a Portal (on the Server) and, partly, by some clver use of the ACC. See my post Composite Applications, Mashups and Portals: “relay race” or “team spirit” ? for more details.

    In any case, Coach Wei’s paper is the first one I read in which some architectural foundation for the new generation of Web-based applications is depicted.

    Today, AJAX’s second birthday, these concepts make a lot of sense to me. Perhaps, the future of AJAX may be in some ACC !

    Feb 20

    SOA + AJAX = The client layer ?

    The CBDi Forum feeds are always very valuable. Yesterday I was able to find an interesting post from David Sprott, titled SOA Plus AJAX. What hit me most was:

    1. David asserts very clearly that “it’s essential to avoid coding business logic into the client layer“.
      Why? What’s wrong with coding some business logic into the client layer?
      • What is wrong is, imho, trying to defeat the principles of physics by mixing and shortcutting layers in a multi-layer architecture.
      • What is wrong also is mixing the business logic and the presentation

      But this does not have much to do with coding business logic in the client.
      A statement like the one of David sounds, to me, one of the myths that populate our IT culture (such as “open source is great” or “Linux is better than Windows”)

    2. David also says “I have always been more than a little uncomfortable with composite applications because they are a kluge – to the extent that many refer to mash-ups and composite applications in the same breath“.
      That’s interesting.
      I have sent David a mail asking him to read my comments titled  Composite Applications, Mashups and Portals: “relay race” or “team spirit” ? and Two faces of the same coin.
      I hope this could be useful for triggering some more discussion.
    3. David also mentions, in his post, an article from John Crupi, AJAX + SOA: The Next Killer App. I have met John when we both worked for Sun.
      I do not agree with everything John wrote…. but I certainly agree when he makes a distinction between free-services and business-oriented services, for which a contract is required!


    Update from February 22.

    I have just read an interesting article from David Linthicum: Enterprise mashups meet SOA. I want to quote a couple of interesting sentences:

    • Mashups and SOA are part of the same continuum. By linking the new components of Web 2.0 with our own sets of information and services, mashups provide a quick and easy way to solve many of today’s simple business problems — and should scale nicely to solve more complex and far-reaching problems in the future. They make the value of an SOA much more visible over a much shorter term.

    • An enterprise that can’t see the new Web will have a huge strategic disadvantage in the years to come.

    Let’s see…

    Feb 19

    Will browsers ever deliver applications instead of documents?

    Finally I found it spelled the way I thought. Great article, Beyond HTTP; something that made me thinking again.

    Just yesterday evening, I received a mail from a colleague asking me what did I think about Windows Presentation Foundation and if I have seen the New York Times Reader application.
    I replied to him pointing to a series of internal posts I wrote on this subject, especially one in which I was quoting “The browser has a terminal illness and is dying” and another one in whihc I quoted “Death to the Browser“.

    What is needed is the Post Browser, the Next Browser, whatever name you want to give to it. Sure, it can still run HTML (the old stuff), in a container that is essentially the same as today’s browser. However it should be capable of complete look-and-feel customization via a standard markup language. It should provide a rich set of custom controls and be able to access the desktop (with appropriate security, of course). It should have a native, secure, bidirectional mechanism, and one that supports multiple connections so that we can access services from multiple sources in a composite application. It should also have extensible controls so that we can extend and improve the behavior of controls and applications as needed.

    Ajax is certainly great, but its reality is very much what the author of “Beyond HTTP” says:

    I find myself in a bizarre position. The fact that I’m an expert in this kind of thing and have the technical know-how and aptitude to design and pull off such a complex beast on time and as designed means that I got paid quite well for the six months it took to develop, and I’ll continue to get paid as and when upgrades are needed. If any old John Doe could have opened up Visual Studio and slapped it together then I probably wouldn’t find myself getting paid quite so much for my services….
    ….Compare the Visual Studio .NET Windows Datagrid with its Web-based counterpart. There’s no comparison: a confident user of the former wouldn’t immediately be able to even recognize the latter.

    But, even beyond the intricacies of AJAX programming, the real issue is the REST architecture laying behind “the Web as we use it today“:

    Finally we get to the rub: The document-based Web as we know it is not a platform for developing complex applications; sure it’s possible and there are plenty of bright people working at places like Google who are doing it as we speak and creating frameworks to make it easier. But is this really the way forward? A tree-based object model accessed by an interpreted scripting engine tacked onto a specification designed for static read-only documents?

    So we need to avoid any dogmatism. Again, the author of the article asserts:

    Now would be a really good time in history to stop, step back, and look at what we have and what could be done better. What we need is a Web browser that doesn’t just server up documents, but serves up applications: full screen native GUI, network-transparent and, most important, fast, lightweight, real-time applications. Ideally we’d want to start over, build a whole new spec running on an entirely new platform and set of protocols….

    it should have state, and that state should begin by initializing the application’s main source file on the server when the client first connects. The application would maintain state between calls, allowing the use of global variables and custom classes that persist…..a move away from the top-heavy and stateless HTTP protocol to a true lightweight binary client/server relationship between the user and the application…

    …All it takes is the will to step away from the Web browser and start something new.

    I subscribe! :-)

    • I subscribe because I am not against the browser, do not get me wrong! I am in favor of the browser for when it needs to support what it was born for: supporting the delivery of documents and supporting the REST (stateless) model.

    • I subscribe because an evolution of the browser is the only possibility to save it (or to save its central position in the Internet).
      Windows Presentation Foundation” (WPF) seems to be the way that MSFT is taking to make the browser irrelevant. WPF Applications can be delivered as Web Browser Applications : “…from the user’s point of view, no installation occurred, but rather an application was “ephemerally” loaded into the user’s browser in much the same way an HTML page is loaded. In a sense, it feels as though the user simply “visited” the application…

    • I subscribe even if I find that “AJAX is a cool thing“.
      But, somehow, AJAX (with which I got in love a couple of years ago), seems to me today the swan song of the “browser as it is today“.

    • I subscribe because I start suffering from the limitations of an AJAX model which forces me to open a new browser tab to cope with anything I need.
      Web2.0 and AJAX are different things!
      AJAX may not be always the best technolo