Blog Archives

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.

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 !

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…

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 technology to support Web2.0

  • I subcribe because, as the New York Times reader example shows, the risk is that we will not compete on the AJAX battleground in the future:
    • Microsoft with Windows Presentation Foundation is pushing for a convergence between standard applications and internet applications
    • and Adobe with Project Apollo is freeing Flex from the constraints of the Browser

    The battleground is already shifting!

  • I subscribe because of the laws of evolution.
    I think that the only reason to keep the “browser as it is today” alive is that it took so much effort to arrive to an agreement! All that effort sorts of prevents people to recognize that the laws of evolution apply in this domain also… and that the glorious browser has made its time.

Certainly, the “Browser as it is today” will stay, probably forever (after all, the reason for not driving all on the right side of the road is because of too much legacy 😉 ). A “cheap”, “ubiquitous” layer to access the information everywhere will always be required:

  • certainly to support the access to static, REST, stateless content.
  • Perhaps to support many of the pervasive Web2.0 things…

But real-world application development leveraging the Internet that goes unnoticed by the photo-sharing, music-downloading, blogging masses” may really benefit from a quantum-leap in this area.

Why not starting from XUL? It is declarative, it can be hosted in browsers….

Internet and freedom… and Google?

Just happened to read this little report on Google’s CEO Eric Schmidt: Google CEO: Internet’s role in freedom still expanding
I just wanted to read as I was immediately surprised by the fact that Google has something to say in that domain. My curiosity did not come without an answer 😉 .
It was interesting reading the following:

Some governments will struggle with how much free expression is too much, he said. Even in Western democracies, such as France and Germany, posting information about the Nazi Party is prohibited, Schmidt said, and other governments will struggle with what expression to allow.

Hey! It is not the first time that I see comparing apples and oranges, but I do not think that it is fair to compare revisioninsm with what happens somewhere else with the support of Google !

Do I need a Second Life?

Few years ago, when I bought my first PC, I saw many friends and colleagues that were spending part of their time playing with videogrames. I always wanted to try and, actually, I even bought some game for the PC…
I think they are still in their original boxes. I never had time to play, and even to install them. Or, let’s state it better: I always found something different to do with a PC than playing a game. There were things to learn!

The PC also brought into the game a new profile: the people who invent viruses (and similar stuff). I realized that writing viruses or exploting weaknesses in the installed software is, actually, not trivial. And it certainly requires time (I imagine this, obviously I never developed a virus!). I have always been asking myself: aren’t there so many interesting things to do with the computer instead of “wasting time” to offend what others try to do?

Now, I am reading about SecondLife and all the new Virtual Reality games and environments. And, once again, I am behind. I am tempted, I really would like to know more….

…. but in this case, it is not simply the “lack of time” or the different prorities that are slowing me down. This time I am sort of “blocked” by something different.

I have not enough time and energy to live my primary life, that I do not see the need to start living a secondary one.

I understand that there is a lot of fun and of cool things in this technology. And this “technological aspect” is really thrilling…. but, am I the only one who would rather try to live better his primary life?

I know that ignoring new technologies is not a good approach. But, isn’t there a limit? I do not want to become the old guy who thinks that there is too much modernization and that the world is going to fall…. All things may have a good and a bad use….

But, I prefer to write this post myself instead of having my avatar writing it on my behalf.

Or not?

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:

  • RSSRSS
  • Social Slider
  • RSS
show
 
close
rss Follow on Twitter facebook linkedin