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 !

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 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 !

Oct 09

Composite Applications, Mashups and Portals: “relay race” or “team spirit” ?

I take the time to start posting some thoughts on Composite Applications and, more specifically, on Mashups. It is some time that I have this in mind but I have always been struggling with the lack of a coherent approach in writing this down. Not that today I found this coherence or I am ready to write properly what I think… but at least I found an excuse in an article that grabbed my attention.
The article which gave me the trigger is, incidentally, AJAX Composite Apps - The Last Mile Between Your Users and Your SOA.
The article starts with an interesting sentence:

In the IT industry we also have our “last mile”: putting the right application in the hands of the end user. Composite applications address this “last mile”, combining a rich user interface with SOA-driven application integration technology.

Yes, I think that the analogy is interesting. It continues saying:

Composite applications are nothing new. Analysts have been talking about composite applications since the birth of the Internet and in more urgent tones during the Enterprise Application Integration (EAI) generation of integration technology

and, towards the end, goes deeper:

Portals were arguably the first generation of composite applications. Today composite applications can offer a much richer application development platform through service-based integration (instead of the kind of integration in the application server that runs the portal) and the highly interactive user environment offered by AJAX-enabled rich Internet applications. With this trend, some analysts have predicted that composite applications signal the beginning of the end for portal-based applications. In reality, the primary functions of portals and composite applications complement each other well. A portal can “wrap” and pass through users seamlessly to a composite application, containing it wholly. Conversely, a composite application can wrap a portal (or portlet more likely), as part of the application, perhaps even invoking it with parameters that tie it into the rest of the composite application.

As I wrote in my post titled Two faces of the same coin, the integration space is huge. In order to do a job, in order to do a task in general (I would say), everybody needs to integrate information and tools coming from different directions.

  • Some of them are mandated.
    For instance, in a working context, some of these information and tools are mandated by the company’s business process; it is the view that the company has on the activity you have to do.
    Outside of a working context, mandated information and tools are the ones that derive from experience, from common wisdom or from convention.
  • Some others are specific to each individual.
    In a working context, for instance, two enginers may do things differently because of the personal taste and experience, the curiosity, the culture.
    And this is true also outside of the working context.
    I would say that this “part” is what distinguishes an artist from an other….. and this should be well known to software engineers, right?
  • So, these two sides are really important. They complement each other. Today is hardly possible (at least in the Western world) to think to a job where an individual is not asked to bring her/his own “approach, experience, information, tool“… This is why, I think, our governements are very attentive to the school system.

    So, how this matters in the context of the Portal and Composite Applications?

    I think that a Portal is the way in which the “mandated information and tools” are made available to an individual. A Portal actually aggregates the info and tools that the “owner of the business process” delivers to someone in a given role. These info and tools are part of the arsenal of the company, either directly (because they are physically owned by the company) or indirectly (because the company believes that this material found elsewhere is useful for you… and perhaps pays a fee for making it available to you).

    A Mashup is the equivalent, in my opinion, of the “personal knowledge” that an individual brings to the table in order to do her/his job in a personal way. I may be wrong but, if you allow me for one second to escape the technical limitation imposed by today’s browsers sandboxes, a Mashup is something that I bring into my workspace in order to do things better. There is a lot of accent on the user, on the way in which each individual plays herself/himself in the context of a given activity; it is her/his “engagement”, her/hos “flavor in doing the job”.

    At this point, a Composite Application describes the way in which these two sides are combined.

    I start thinking that my previous post (and the analogy with the hemisperes) is getting more clear now. The Portal is the way in which the “company side” (I would also say, the “server side”, at least in the mahjority of situations) of the picture is delivered to you (I call it the South Hemisphere). And the Mashups is the way in which the “personal side” (I would also say the “client side”…) of the picture is used by you (I call it the North Hemisphere).

    In both situations, of course (and the author of the article is right) SOA is important.

    And it is in this context that an architecture like the one of IBM’s Managed Client (see here) will make the most of sense. Even if it does not yet brings inside the picture the concept of Mashups, i.e. the concept of components that the final user can aggregate in an autonomous way to complement what the “server” brings to her/him.

    I am not bashing AJAX here, of course. But AJAX is not always the right answer.

    Aug 27

    Two faces of the same coin

    A series of articles trigger this post. Among them, two above all:

    I could summarize the ideas behind them in the following way.

    Enterprise Mashups represent, on the desktop, what SOA represents on the server. And that what matters, on the client as well as on the server, is how these technologies allow the execution of Business Processes.

    This is great!
    In my presentation “Thoughts for a Rich Client”, I sort of developed the concept of 360 degrees integration.
    See Explanation.  Clicking on the picture will download  the highest resolution version available.Let’s represent the integration space with our Globe: we have a Southern and a Northern hemisphere.

    The Southern hemisphere represents the kind of integration that happens on th server. This integration is made possible by an architectural pattern (SOA) and conveyed to us by a Portal. Ismael’s article describes so well how this is all about Business Process, because the reason to adopt an SOA is indeed the one to automate an existing Business Process (or to implement a new one).
    By the way, I have written a little comment to Ismael’s article in which I try to explain my position.

    The Northern hemisphere is a new territory. Until recently, the desktop has been considered simply as a projection of something that was happening on the server. Infact, a Portal is aggregating content that is simply displayed inside a browser. In the Web world, the Presentation Layer of an application has normally been executed on the server, leaving to the desktops the simple task to display something happening elsewhere.
    The advent of AJAX (and of other rich client technologies, including Lotus Expeditor) and the evolution of the technologies in the browser space made it possible to actually consider the client as a first-class citizen in the SOA world; for the first time in the web era, the Presentation Layer (or a part of it) could be implemented outside of the server, “after the web server”, on the other side of the pipe….
    This makes it possible to perform aggregation also on the client. call this aggregation “enterprise mashup” or “rich portal”…. at the end, what these technologies allow, is the implementation of the client side of Business Processes.

    The Business Process can now be described and properly automated in its more natural way: a rich set of cooperating tools, information and applications allow users, from their desktop, to properly use orchestrated services. The formal, top-down processes described and executed on the servers are made available to users who can recompose them in ways that exploit the innovation and foster the flexibility required by new enterprises.

    So, BPM on one side and Enterprise Mashups on the other, can actually represent two faces of the same coin. The coin of the “enteprise business processes”.

    P.S. Other articles that contributed to this where: