The Artima Developer Community
Sponsored Link

Weblogs Forum
Software as Services

6 replies on 1 page. Most recent reply: Feb 21, 2006 1:56 PM by Tim Almond

Welcome Guest
  Sign In

Go back to the topic listing  Back to Topic List Click to reply to this topic  Reply to this Topic Click to search messages in this forum  Search Forum Click for a threaded view of the topic  Threaded View   
Previous Topic   Next Topic
Flat View: This topic has 6 replies on 1 page
Dale Asberry

Posts: 161
Nickname: bozomind
Registered: Mar, 2004

Software as Services (View in Weblogs)
Posted: Nov 11, 2005 2:39 PM
Reply to this message Reply
Summary
As developers get more savvy in using small-grained requests and web browsers get more powerful as general-purpose processors, this atomization will enable higher-order layering of behavior into rich, value-added applications.
Advertisement

Atomization of Software

One of my web acquaintances, Dave Pollard - author of the How to Save the World blog, recently posted an entry titled The Atomization of Software. His entry has spurred me into writing down my own thoughts which have been gelling in the back of my mind the last few months. A number of things have been coming together lately that are significantly changing the way software is used and, hence, developed.

To summarize, Dave suggests that software will atomize into 'microapplications' where businesses and their customers will co-design and 'peer produce' applications that build upon other microapplications. Google and Amazon are the archetypes of this philosophy with their highly successful webservice APIs. In fact, a whole new round of internet businesses are taking those examples and creating highly compelling desktop-like browser-based applications.

Why do I think that these changes are significant and not just an illusion? First off - because my 'gut' says so :-) Many software developers chide me on making such non-rational judgements, but I don't care since my gut has taken me on an interesting journey so far (early Java, web-server-based applications, and Jini adopter). In addition, I've seen software, blog entries, and articles where the authors' excitement to describe their thinking has resulted in new words : Ajax, web 2.0, semantic web, web services, mashup, social software, etc. I love the word 'mashup' - it's richly suggestive of alchemists (or cooks) messily throwing a bunch of stuff into a pot and out pops something magical.

Software As Services

Dave focuses in on standards and protocols such as Ajax as to what is leading this sea-change. I differ slightly with his opinion in that the biggest revelation is developers seeing the importance of 'software as services'. Tools, standards, and protocols have existed for some time to support this way of developing software. In fact, software as services is the critical piece making Ajax useful.

However, this is not how software is usually developed. Most software has been written as all-inclusive applications where the client interface is tightly coupled to the server interface(s). This means that each of the parts are useless without the whole. The crux of the problem is that software designers have spread "state" - what the user is doing - through all the software layers.

Over time, the best designers recognized solutions to the coupling problem and learned the importance of atomizing service requests. What this new crop of Ajax applications does is give more developers a view into the patterns that the best software architects discovered decades ago. In other words, only recently have the majority of web developers had exposure and the ability to learn from this model.

Although an example of the "layering microapplications to create more complex applications" pattern already exists in Unix command line piping, the purpose of most applications has been simply to capture and manage large amounts of information that didn't need to be shared. However, the need for data management is getting to be less and less important while sharing data is getting more and more important. This situation is true in general but even more so with web applications.

Conclusion?

Being a Jini-head for a number of years has given me the opportunity to discover the importance of 'software as services'. However, those Jini-based systems that I've architected were never really intended to be shared. The extension of sharing and layering to the software as services concept is bringing out some very exciting ideas (albeit in a different technology stack than Jini.) Which makes me wonder... what would happen if the web becomes more Jini-like and Jini becomes more web-like?


Gregg Wonderly

Posts: 317
Nickname: greggwon
Registered: Apr, 2003

Re: Software as Services Posted: Nov 14, 2005 2:47 PM
Reply to this message Reply
Being a Jini-head for a number of years has given me the opportunity to discover the importance of 'software as services'. However, those Jini-based systems that I've architected were never really intended to be shared. The extension of sharing and layering to the software as services concept is bringing out some very exciting ideas (albeit in a different technology stack than Jini.)


This is the important thing Dale. In this day and age, we are trying to make information available because we don't know when it will be needed, or how it can best be used.

Read this page: http://www.edge.org/3rd_culture/dyson05/dyson05_index.html

There is a world of important information. Something you consider unimportant may be the answer to a very important question that you had no idea should be asked.

Which makes me wonder... what would happen if the web becomes more Jini-like and Jini becomes more web-like?

I think there are some interesting issues with "the web."

Predominately, I sense that "the web" is the focus of development because it was the first application environment that included some remedial form of application level autentication and authorization as part of the transport specification.

The fact that any language can read and write HTTP control statements, makes people feel like they are language independent. But, they've still invested in the technology at a non-zero cost, so they are locked in by that cost at some level. There is no "freedom" from cost with any technology.

If I asked the question, I would ask:

What would happen if people knew there was more to the web then HTTP, and can we wrap Jini in a form that it can be a part of making that happen?

Gregg Wonderly

Posts: 317
Nickname: greggwon
Registered: Apr, 2003

Re: Software as Services Posted: Nov 14, 2005 3:01 PM
Reply to this message Reply

> Dave focuses in on standards and protocols such as Ajax
> as to what is leading this sea-change. I differ slightly
> with his opinion in that the biggest revelation is
> developers seeing the importance of 'software as
> services'. Tools, standards, and protocols have existed
> for some time to support this way of developing software.
> In fact, software as services is the critical piece
> e making Ajax useful.

> However, this is not how software is usually developed.
> Most software has been written as all-inclusive
> e applications where the client interface is tightly
> coupled to the server interface(s). This means that each
> of the parts are useless without the whole. The crux of
> the problem is that software designers have spread
> "state" - what the user is doing - through all
> the software layers.

> Over time, the best designers recognized solutions to
> the coupling problem and learned the importance of
> atomizing service requests. What this new crop of Ajax
> applications does is give more developers a view into the
> patterns that the best software architects discovered
> decades ago. In other words, only recently have the
> majority of web developers had exposure and the ability to
> learn from this model.

Ajax is just a remanifestation of the Java APPLET world. The power of Javascript has finally provided the ability to control enough of the web page that it can be rendered by dynamic programming. Javascript supports dynamic extension through downloading scripts. This put's it on par with Java's dynamic code loading.

As you probably known, javascript has all the same security issues that the Java security model was designed to address by not allowing connections to arbitrary addresses, only back to the host that the page came from.

The fact that the HTML environment is independent from the Javascript environment in the web browsers is what is providing the richness of the applications.

Java has been in a position to do this, already. But, browser creators just could not find themselves tied to "Java." But, over time, they've each bought into Javascript and the cost of maintaining their on version of that language.

If the Java applet frame size was dynamic and the browser supplied a scroll bar and the JTextArea supported the full complement of current HTML standards, and we had Javascript integration in Java (as will be there soon), then we wouldn't need browsers, we'd only need the Java desktop "container". We'd be able to use scripting and programming to create very rich applications and do all kinds of integrations.

The problem we have is that HTML is the container, instead of part of the content. So, without an HTML document, we can't have an AJAX solution. As you know, Jini's ServiceUI makes it possible for the container to be arbitrary.

Dan Creswell

Posts: 49
Nickname: dancres
Registered: Apr, 2003

Re: Software as Services Posted: Nov 16, 2005 12:25 PM
Reply to this message Reply
"what would happen if the web becomes more Jini-like and Jini becomes more web-like?"

An interesting question for sure - here's an observation which may or may not interact/change the question:

There are fundamental differences between life outside the firewall and life inside the firewall in terms of what works well and what's common place.

From my own experience many people attempt to use the same approach and/or assumptions on both sides of the wall which leads to a less than optimal solution.

So I wonder if having web and jini move closer to each other is a good thing or whether they should actually continue to be treated as separate whilst finding good ways to mix them together.....

George Patton

Posts: 1
Nickname: gcpatton
Registered: Dec, 2005

Re: Software as Services Posted: Dec 17, 2005 11:07 PM
Reply to this message Reply
Although I am not in disagreement with Gregg Wonderly's statements, there are some problems. I was reading last night, at http://www.geocities.com/tablizer/oopbad.htm, strong criticism about O-O programming and programmers, and how they/we are blinded by their one-side view. I happen to be one of the many admirers of Java technology since it came out in the nineties but I have to agree that some points brought out by the gentleman in the URL above deserve further study.

Don't discard it as just another blah-blah article. Read it through and see what you think of particular points he brings to focus. I am not qualified to do it myself but most of the persons reading this post are. Thanks.

gcpatton12@hotmail.com

AppOnKeyWM WM

Posts: 1
Nickname: apponkey
Registered: Jan, 2006

Re: Software as Services Posted: Jan 18, 2006 3:44 PM
Reply to this message Reply
AppOnKey brings you a unique platform for your working environment to use on your portable storage device. Use your favorite applications, your own personal settings, emails, documents, pictures, music and data wherever you go.
http://www.apponkey.com

Tim Almond

Posts: 2
Nickname: timalmond
Registered: Feb, 2006

Re: Software as Services Posted: Feb 21, 2006 1:56 PM
Reply to this message Reply
The key thing is web services and browser-based services. The reason it's going to get bigger is more than "gut" to me. It's simple, flexible, cheap and effective.

I think we'll see a lot more business-function specific applications, but with hooks. Let's take invoicing. You could have a service for recording clients, then invoicing them (which gets automatically delivered), and automatically chases them, collects payments, and notifies you of any seriously overdue clients. All for a monthly fee.

But, it doesn't do everything. You'd like to know each month who your best clients are in terms of value and payment, using a custom formula. That's where the API fits in, giving you the data to produce your own reports.

The ever lowering costs of bandwidth, increasing speed and availability of connections, web service standards, and tools like AJAX are making all this possible.

It's been happening for as long as I can recall, the switch from software to web. Initially, applications with large data volumes and low importance, like the IMDB appearing, and Cinemania disappearing.

As people learn to trust that they'll always have a connection, and trust that external services are secure enough, they'll grow.

Flat View: This topic has 6 replies on 1 page
Topic: Flex Sample - A rich RDF/RSS reader in 50 lines of code Previous Topic   Next Topic Topic: The Two Problems of the Joy Programming Language


Sponsored Links



Google
  Web Artima.com   

Copyright © 1996-2014 Artima, Inc. All Rights Reserved. - Privacy Policy - Terms of Use - Advertise with Us