Thread: [Webwork-user] Why I like WebWork
Brought to you by:
baldree,
rickardoberg
From: Mike Cannon-B. <mi...@at...> - 2002-07-09 08:18:40
|
Ok - so if you're on this list you probably don't need convincing, but I should post it anyway :) http://radio.weblogs.com/0107789/stories/2002/07/09/whyILikeWebwork.html Enjoy. -mike -- ATLASSIAN - http://www.atlassian.com Expert J2EE Software, Services and Support |
From: Rickard <ri...@dr...> - 2002-07-10 07:31:12
|
Mike Cannon-Brookes wrote: > Ok - so if you're on this list you probably don't need convincing, but = I > should post it anyway :) >=20 > http://radio.weblogs.com/0107789/stories/2002/07/09/whyILikeWebwork.htm= l Good stuff! Really well written, and actually quite balanced :-) After a long break from the world of J2EE, I'm getting into the fray=20 again, and yesterday had the pleasure of writing an RMI-stack on top of=20 WebWork (using the ClientDispatcher as transport), since we need to be=20 able to call the server from an applet through firewalls. The whole=20 thing was written in 2 hours, and was made out of three classes: 1) a RemoteServiceFactory that uses the Proxy API to create remote=20 proxies (of ANY interface, that does not need to extend Remote or use=20 RemoteExceptions). 2) Proxy InvocationHandler to handle calls on the client which delegates = to 3) a RemoteAction that carries the invocation through the=20 ClientDispatcher, executes it on the server, and then carries the result=20 back up through 2) That was that. I'm sure it will be extended in the future, but this=20 alone allowed remote calls from an applet into the server. Pretty neat.=20 And since webworkclient.jar is only 14k it's pretty small too. I'll probably be extending the ClientDispatcher stuff rather soon, since=20 for our project we need semi-asynchronous events back to the applet=20 while a call is being executed (for progress bars and such). Since all=20 communication is done through the CD this becomes trivial to implement :-= ) Me like it. /Rickard ps. and instead of EJB we're using AOP which makes the app really=20 ultracool, but that's another story.. --=20 Rickard =D6berg |
From: Christoph K. <ki...@su...> - 2002-07-10 09:10:28
|
Hi Rickard, > ps. and instead of EJB we're using AOP which makes the app really > ultracool, but that's another story.. What is AOP? ;) Greetings Christph |
From: Rickard <ri...@dr...> - 2002-07-10 09:25:40
|
Christoph Kiehl wrote: >>ps. and instead of EJB we're using AOP which makes the app really=20 >>ultracool, but that's another story.. >=20 > What is AOP? ;) Aspect Oriented Programming. The "next big thing" as they say. Been=20 using it for a couple of weeks now (no, I'm not using AspectJ) and I=20 never ever want to go back to plain old OOP again :-))) I just love the=20 flexibility I get from being able to "tack on" new interfaces and call=20 interceptors to objects without redesigning my whole app. It rocks. :-) /Rickard --=20 Rickard =D6berg |
From: Matt B. <ma...@sm...> - 2002-07-12 16:14:36
|
What are you using instead of Aspect and why did you decide not to use it? ----- Original Message ----- From: "Rickard" <ri...@dr...> To: "Christoph Kiehl" <ki...@su...> Cc: <web...@li...> Sent: Wednesday, July 10, 2002 4:22 AM Subject: Re: [Webwork-user] Why I like WebWork Christoph Kiehl wrote: >>ps. and instead of EJB we're using AOP which makes the app really >>ultracool, but that's another story.. > > What is AOP? ;) Aspect Oriented Programming. The "next big thing" as they say. Been using it for a couple of weeks now (no, I'm not using AspectJ) and I never ever want to go back to plain old OOP again :-))) I just love the flexibility I get from being able to "tack on" new interfaces and call interceptors to objects without redesigning my whole app. It rocks. :-) /Rickard -- Rickard Öberg ------------------------------------------------------- This sf.net email is sponsored by:ThinkGeek Two, two, TWO treats in one. http://thinkgeek.com/sf _______________________________________________ Webwork-user mailing list Web...@li... https://lists.sourceforge.net/lists/listinfo/webwork-user |
From: Rickard <ri...@dr...> - 2002-07-12 17:10:50
|
Matt Baldree wrote: > What are you using instead of Aspect and why did you decide not to use = it? What I'm using is already answered in other posts, but why I didn't use=20 it is for the following reasons: 1) the need for a proprietary compiler 2) the somewhat unwieldy language extensions in AspectJ 3) the inability to do runtime changes (everything in AspectJ is=20 compiletime) 4) I needed the system as a whole to be proxy-based in order to do=20 memorymanagement with object caches. Since AspectJ works on regular=20 classes that wouldn't work (AFAIK). 5) I wanted to find out if it was possible to implement AOP using plain=20 Java. That's about it I guess. /Rickard --=20 Rickard =D6berg |
From: Matt B. <ma...@sm...> - 2002-07-14 14:11:10
|
see below. ----- Original Message ----- From: "Rickard" <ri...@dr...> To: "Matt Baldree" <ma...@sm...> Cc: "Christoph Kiehl" <ki...@su...>; <web...@li...> Sent: Friday, July 12, 2002 12:07 PM Subject: Re: [Webwork-user] Why I like WebWork > Matt Baldree wrote: > > What are you using instead of Aspect and why did you decide not to use it? > > What I'm using is already answered in other posts, but why I didn't use > it is for the following reasons: > 1) the need for a proprietary compiler agree. I find this a pain but you can run the code through their compiler to produce generated code and run it through the normal compiler. > 2) the somewhat unwieldy language extensions in AspectJ agree. What do you expect from the creator of CLOS. To get a better feel of the language, I find it helpful to use their IDE plugins to see the effects of your advice. They only have plugins for Eclipse, JBuilder, Emacs, and Forte. When IntelliJ matures/releases its API, they will create a plugin for it. > 3) the inability to do runtime changes (everything in AspectJ is > compiletime) This will be changed with 2.0 release. They have chosen to not provide runtime changes because they wanted to exercise the language first. > 4) I needed the system as a whole to be proxy-based in order to do > memorymanagement with object caches. Since AspectJ works on regular > classes that wouldn't work (AFAIK). You can advise objects as well. > 5) I wanted to find out if it was possible to implement AOP using plain > Java. > Ok, I'm sure it makes sense for your project. But, I think that AspectJ will become the defacto standard in the future. > That's about it I guess. > > /Rickard > > -- > Rickard Öberg > > > |
From: Rickard <ri...@dr...> - 2002-07-15 09:39:39
|
Matt Baldree wrote: >>4) I needed the system as a whole to be proxy-based in order to do >>memorymanagement with object caches. Since AspectJ works on regular >>classes that wouldn't work (AFAIK). >=20 > You can advise objects as well. Hm.. not sure what this has to do with my 4 point. What I meant was that=20 I really needed the proxy/object separation, as in EJB, in order to do=20 memory management. I *don't* want my entire object graph to be in memory=20 all the time. > Ok, I'm sure it makes sense for your project. But, I think that AspectJ= will > become the defacto standard in the future. That is quite probable, sure. But I think there's enough room for more=20 implementations than just AspectJ. /Rickard --=20 Rickard =D6berg |