aspose file tools*
The moose likes Java in General and the fly likes Evolution of distributed applications Big Moose Saloon
  Search | Java FAQ | Recent Topics | Flagged Topics | Hot Topics | Zero Replies
Register / Login
JavaRanch » Java Forums » Java » Java in General
Bookmark "Evolution of distributed applications" Watch "Evolution of distributed applications" New topic
Author

Evolution of distributed applications

Juan Pablo Crossley
Ranch Hand

Joined: Oct 16, 2007
Posts: 128
Hi, the last days I was thinking about something and I think this is the best site to share it and discuss about it.

The evolution of the applications were from a Client/Server to a Web Tier using EJBs as distributed and transactional components (with a lot of steps between them), from this point of view the applications passed from heavy clients to a heavy servers, and now the applications are using some frameworks to increase the power in the client, I'm talking about jsf, ajax, etc, and seems that the natural evolution of the applications goes to a new "heavy" clients distributing the responsabilities between the client and the server, using the client as view (off course) and the server to process the heavy work, like queries to the db, massive process, etc.

The JavaWeb Start technology is a very good approach to create new applications with "smart" clients, and the security of web, right? why this is not well adopted as the new approach of the application over internet? if the applets were adopted because they have the sandbox (which jws has) and were nice clients to do some kind of work, why not use a similar technology to create new powerful applications that can be updated (as internet does in the dynamic pages) and rely the problems to a good design using well known patterns like Value Objects, List Handlers, and so on?

Off course... this is just an idea... I don't think all the applications can apply to this approach (google is a good example of a pure web application), but must of them can.

I really want to hear your opinions about this.


SCJP, SCBCD, SCEA 5, MCP

How to pass SCEA 5 | 2, 3, N-tier which one should I pick? | Analysis of persistence layer from SCEA 5 perspective | Swing... why not?
Ulf Dittmer
Marshal

Joined: Mar 22, 2005
Posts: 42648
    
  65
Offhand I can think of at least two reasons why JWS applications haven't taken the world by storm.

First, they are even less integrated into web pages than applets are. They exist outside of the browser and can't affect the web page they're launched from, or be affected by it. This limits the appeal of JWS in the context of web apps.

Second, they're based on the JVM. While JVMs start up a lot faster than they used to, the delay is still very noticeable. Plus, not nearly everybody has a JVM installed, or is using a recent version. This limits the reach of JWS.
[ February 18, 2008: Message edited by: Ulf Dittmer ]

Ping & DNS - my free Android networking tools app
Juan Pablo Crossley
Ranch Hand

Joined: Oct 16, 2007
Posts: 128
But, what if you use the jws to be the client of a distributed application, maybe in the Intranet, and just some corporate clients in the Internet. I mean, everybody is working on web applications to support all kind of problems, I don't see why the people don't use to take the jws as frontend for must of the corporate applications. Seems that everybody want a WEB application even for a inhouse applications.

The main idea of the JWS is a quite different approach to the applets, because the applets works inside the web pages, and interacts with other components, but that's not the idea, I suggest the use of JWS as deattached front end that uses the EJB as the background power.

The jvm is not installed in all the machines, but for a corporate application you could ask for it, and just put it in a link.

IMHO.
Ulf Dittmer
Marshal

Joined: Mar 22, 2005
Posts: 42648
    
  65
If you see JWS as a centralized distribution system for Swing apps -which it is-, then the question becomes: why hasn't Swing taken over as the preferred choice for enterprise applications?

One reason, again: slow startup. Much better than it used to be, but the perception is there, and hard to shed.

Another one: slow performance. It's perfectly possible to write well-performing Swing apps, but the slowness of the Swing toolkit early on (long since improved) plus developers that initially didn't know how to write such apps contributed to this. Here, too, the perception is set.

Another one: You're going to need people working on web apps anyway for your various company web sites (be they internet, intranet or extranet). Why invest in knowledge and code for a different GUI technology (Swing) that integrates less well (or rather, not at all) with the web sites?

Maybe another one: If you want desktop GUI apps, it's easier/cheaper to get developers cranking out Windows native apps in VC++/VB/.Net than to get Swing developers. Let's face it, Windows compatibility is what most companies -that actually develop desktop apps in-house- care about.
Juan Pablo Crossley
Ranch Hand

Joined: Oct 16, 2007
Posts: 128
Originally posted by Ulf Dittmer:
One reason, again: slow startup. Much better than it used to be, but the perception is there, and hard to shed.
Another one: slow performance. It's perfectly possible to write well-performing Swing apps, but the slowness of the Swing toolkit early on (long since improved) plus developers that initially didn't know how to write such apps contributed to this. Here, too, the perception is set.

what if you use the SWT components? as Eclipse does, its faster than swing, its full featured and its portable too, and there's a lot of techniques to improve the behavior of Swing applications like threads to build asyncronous the screen, and so on.
And talking about the developers, that's true in web applications too, the developers always do wrong and heavy things, its up to the team to produce any framework components to avoid that.
Originally posted by Ulf Dittmer:

Another one: You're going to need people working on web apps anyway for your various company web sites (be they internet, intranet or extranet). Why invest in knowledge and code for a different GUI technology (Swing) that integrates less well (or rather, not at all) with the web sites?

touch´┐Ż, I think Swing is not well know because the people still thinks the Swing applications must build in the notepad as used to be long time ago, Netbeans has a great tool to build swing applications pain-less, its as simple as write VB applications, maybe simpler than it, because have a lot of templates to build your ejb lookups and others. btw, I work in java and .net all the time, and netbeans its a very good IDE, thousand times better than Visual Studio, and have a lot of things that improve your debug, and other things as well.

And thinking in that, that's a plus if you work with Swing, the debug time, and maintainability its much better in swing applications than in web, don't you think that?
Originally posted by Ulf Dittmer:

Maybe another one: If you want desktop GUI apps, it's easier/cheaper to get developers cranking out Windows native apps in VC++/VB/.Net than to get Swing developers. Let's face it, Windows compatibility is what most companies -that actually develop desktop apps in-house- care about.

As I said, the Netbeans IDE its faster, easier and featured than any Visual Studio version I ever used. (more even than the lastest one.)
Ulf Dittmer
Marshal

Joined: Mar 22, 2005
Posts: 42648
    
  65
You seem to have gotten the idea that I'm arguing the technical merits of Swing - I'm not. I'm saying why these merits may not matter much at this point in time. Introducing yet another toolkit (containing native components, no less) doesn't change this fundamentally.

You also need to keep in mind that which technologies developers prefer, or are comfortable with, doesn't necessarily play much of a role if a company is trying to decide whether to develop Windows native apps, Swing apps or web apps. More important is what matters to the company's (or the IT department's) strategic direction and bottom line.
Juan Pablo Crossley
Ranch Hand

Joined: Oct 16, 2007
Posts: 128
yes, you are right, the swing has advantages and everything depends on the company direction. But I think must of these directions are because the misinformation existing about this technology, don't you think that?

I mean, must of the developers seems to have the idea Swing is a pain, and its easier to do everything as web components, or so, mainly because they knew Swing from the days when they need to code it in a notepad IDE, the things has changed and some of them didn't realize that. And you know, if the IT manager will develop a new application he will ask his team stuff which technology is faster and better for something and then the developers will say WEB just because they don't know the improves Swing has. Because of that I started this topic, just because I think most of the Swing problems are not caused by the technology itself but the misinformation of the developers, I will be millionaire if I get a coin every time I hear "Its fast to develop an VB application than a Swing application", some of my coworkers said the same before met the netbeans features (I mention it, just because its the best swing IDE I know, maybe there's more in the market).
[ February 18, 2008: Message edited by: Juan Pablo Crossley ]
 
With a little knowledge, a cast iron skillet is non-stick and lasts a lifetime.
 
subject: Evolution of distributed applications