The next generation of Web components

The next generation of Web components

Summary: Easy software assembly out of pre-existing pieces has been a holy grail of software development for decades. Along these lights, many of us have been tracking the mashup phenomenon and the associated innovation including the bustling mashup ecosystem that has been one of the big stories of the last year so. You can see the results yourself by visiting the terrific MashupFeed directory of current mashups, or just the raw material by looking at all the reusable Web services listed on Programmable Web.

SHARE:
TOPICS: Tech Industry
10

Easy software assembly out of pre-existing pieces has been a holy grail of software development for decades.  Along these lights, many of us have been tracking the mashup phenomenon and the associated innovation, including the bustling mashup ecosystem that has been one of the big stories of the last year or so.  You can see the results yourself by visiting the terrific MashupFeed directory of current mashups, or view the raw material by looking at all the reusable Web services listed on Programmable Web.

Never before in the history of software has such a rich palette of elements been available to so easily assemble new software. But the story is as much a supply side affair as a demand side one.  The data and services are finally available in raw form and people are not only building with them, but using them as well.  A new article in the New York Times has some very good coverage of the emergence of Web components, particularly the growing trend (yes, still leading edge) away from monolithic, single source PC software to truly federated, componentized software online.

Software reuse and the wiring together of software out of off-the-shelf components is not anything new, of course.  But it's never really taken off despite the advent over the years of objects, distributed objects, components, services, and SOAs.  Yet something is undeniably happening these days that's making reuse take place at a deeper level than ever before.  While GUI widgets were often the biggest practical use of components in previous years, and are again with Ajax libraries (along with something I call the Ajax design spectrum), it seems that at least two forces are at work :

1) Data has become increasingly available and central on the Web as a service and;

2) Cleaner, more lightweight, and easy to use Web service models like JSON, RSS, and REST are making the composition of software in the browser extremely easy.

The Times piece makes the excellent point that corporate software development has often co-opted the component revolution, often successfully diverting work from community and requirements-driven models into ones that are more self-serving to software vendors.  You can argue this has indeed happened with distributed objects and SOAs, two technological approaches that work very well but are not flourishing anything like the mashosphere on the Web.

 Web 2.0 Components

In any case, I do believe we're witnessing a remaking of not only Web-based software but the way in which software is composited.  It's being driven by the Web, the large numbers of available services and vast, ready supply of world-class server-side and browser-side components.  It's this last piece that's particularly important.  Never before in the history of software has such a rich palette of elements been available to so easily assemble new software.  It's virtually certain that we're seeing the dawn of a new time in software development.

What do you think?  Are Ajax and mashups overblown or just beginning?

Topic: Tech Industry

Kick off your day with ZDNet's daily email newsletter. It's the freshest tech news and opinion, served hot. Get it.

Talkback

10 comments
Log in or register to join the discussion
  • Growing Trend

    I keep reading about this on ZDNET. Isn't about time to start reading about some companies or products that are actually making money with Mashups? It is hard to understand how so much press can be devoted to something that appears to produce so little.
    Designtime
    • Just like the WWW

      >It is hard to understand how so much press can be
      >devoted to something that appears to produce so little

      That was the common response when the WWW became popular 10 years ago too. And we all know what a flop the WWW turned into!
      cwgmpls
      • Ok, I will modify my quote

        I have never seen so much made of a technology that is not even new, or even disruptive!
        Designtime
  • High speed internet is a bigger factor.

    Without high speed, always on, internet connnections, software as a service would be impractical.

    Also, SOA is not the silver bullet as so many excited project managers would have us believe. There is still plenty of software that requires a responsive, rich UI and availability of local machine resources. I think smart clients will become increasingly common in the future also.

    -Splekem
    Jake Danger
    • SOA and rich client software are not mutually exclusive.

      A SOA architecture doesn't mean that everything should happen in a browser, there's still plenty of room for traditional client software.

      Client software will remain a big part of the future, but it will be more connected than today. It will use more and more web services.

      You'll still be able to use it offline like today, but it will be more useful when connected to the Internet.

      SOA, client software and web applications can all work together to create one integrated platform connected through web services.
      Gert Van Waelvelde
  • Mashups are nearly wrothless for real applications

    Why? Because they rely upon useless languages like JavaScript! JavaScript is a horrible language. Difficult to debug, poor tools to write it, differences between interpreters, slow interpreters... why would I punch myself in the forehead trying to write an "application" in JavaScript, when I could consume the same data feeds in a better language, like Perl or Java or VB.Net or C# or WHATEVER?

    Anyone who thinks they can build a real application in JavaScript is a fool. Anyone who does not understand the inherent problems with AJAX exposes themselves as a high-level sucker who beleives everything that Gartner or some marketing grinning idiot told them.

    Your programmers will revolt when you tell them that they have to write a full blown application in JavaScript...

    J.Ja
    Justin James
    • AJAX will get easier

      I agree that JavaScript is a poor language compared to, say, VB.NET or C#, but with JavaScript you can create user experiences that you cannot create using VB.NET or C# on the server.

      I also agree that there aren't many good tools to write JavaScript, but if you use VB.NET or C# and like to create an AJAX web application, you can create one in ASP.NET without writing any JavaScript with Microsoft's AJAX framework called 'Atlas' (http://atlas.asp.net).

      Other web development tools and platforms have, or will have, similar ways to create AJAX applications without manually writing JavaScript.
      Gert Van Waelvelde
    • Google is a fool & a high-level sucker?

      Gmail is all javascript. Those programmers are revolting by adding more and more features all the time, I guess?
      lhcrouch
  • Ajax is a UI tool

    It makes interacting with the application nicer for the end user, but it does nothing to make applications more functional. I love AJAX, but I contend that all of these people claiming that it will change the world don't know anything about writing software.
    Designtime
  • Programmers revolt!

    AS far as I'm concerned, mashup refers to the code you have to write. This is a de-evolution in coding driven by marketing and sales managers and a number of hype merchants.

    Ajaz is the last desperate attempt to make the browser the only thing on your system and Web 2.0 is just scribblings on a tablecloth being passed off as a business plan. Suddenly your high-end PC is just a terminal and all your eggs are in someone else's basket relying on the security and reliability of the Internet.

    This doesn't mean you can't do some useful things with Ajax, but it's hampered by its very environment. Instead of one interface you have thousands - what anyone wants to put on a web page (sure the back button on the browser might be there, but the UI compnents will be whatever some 'web designer' puts up).

    The oft quoted example is Google maps. Well I use that data professionally and Google Earth, (still not a shining example of UI but much better than maps - probably written in Java) which is a LOCAL app running at full speed on my powerful machine, that makes the best use of the Internet - for communicating data.

    Mashups and Ajax remind me of Excel. There are millions of lines of code for Excel out there (and some of them actually work), but no-one seriously belives you can write enterprise applications in it. (though I'm sure there'll be plenty of people who've tried it).

    Essentially if you've only got a hammer, (one where the head and handle are only loosely coupled) everything looks like a nail.
    TonyMcS