AOP: AspectWerkz 0.10 released, articles, & Dependency-Oriented

Discussions

News: AOP: AspectWerkz 0.10 released, articles, & Dependency-Oriented

  1. The AspectWerkz team has released a final 0.10 version. They have also written up an article on AspectWerkz and JRockit on dev2dev. We can also get excited about a new buzzword Dependency Oriented Programming, coined after hearing recent examples of how AOP can handle dependencies.

    AspectWerkz News

    AspectWerkz 0.10 final released

    Enabling Aspect-Oriented Programming in WebLogic Server using the JRockit Management API

    Dependency Oriented Programming

    Dependency Oriented Programming, by Filipo Diotalevi.

    Re: Dependency-Oriented Programming, by Carlos Villela.

    Making programs simpler, and AOP without the buzzwords, by Adrian Colyer.

    Threaded Messages (22)

  2. Jroller[ Go to top ]

    Is JRoller down?
  3. Jroller[ Go to top ]

    Is JRoller down?

    Lately it has been down quite a bit. The Roller 0.99 release is being "beta tested" on the jroller site, with some relatively bad side-effects such as major outages. Hopefully it will smooth out as Dave gets the kinks worked out.

    Peace,

    Cameron Purdy
    Tangosol, Inc.
    Coherence: Clustered JCache for Grid Computing!
  4. When associations are factored out into helper classes, then truly encapsulation is compromised. Dying too would be information models such as class and ER diagrams.
  5. new buzzword Dependency Oriented Programming
    Oooh, no...
  6. FYI, here's a link to some thoughts on Dependency Injection and AOP by Jon Tirsen, which is also related to the subject.
  7. I don't care how good AspectWerkz is. Their documentation on the site is abysmal and a lack of a "hello world" is very frustrating for someone trying to get it going for the first time. If the project leads aren't interested in providing a 5 minute guide to their project they're either arrogant or sloppy, neither of which is a good prognosis for the long term viability of the project.

    Unless their documentation has improved dramatically I see no point in looking at this.

    Sorry to vent but I lost half a day trying to get their framework working by piecing the shreds of information from their website and some Power Point slides but to no avail. Perhaps I'm dumb...
  8. Unless their documentation has improved dramatically I see no point in looking at this.
    A good thing. Go look at whatever you are interested in. Who the hell said you should look at Aspect Werkz ?
    Sorry to vent but I lost half a day ...
    This is just a start if you're really interested. Keep digging. Some things don't come for free. You should consider making a 'Hello world' example and post it to the site. And help those like you. Put an END to it. Stop whining.
    Perhaps I'm dumb...
    Who knows. Are you ?
  9. Unless their documentation has improved dramatically I see no point in looking at this.
    A good thing. Go look at whatever you are interested in. Who the hell said you should look at Aspect Werkz ?
    Sorry to vent but I lost half a day ...
    This is just a start if you're really interested. Keep digging. Some things don't come for free. You should consider making a 'Hello world' example and post it to the site. And help those like you. Put an END to it. Stop whining.
    Perhaps I'm dumb...
    Who knows. Are you ?
    Good documentation is key in the acceptance of new technologies.

    I think indeed that the documentation should be improved to get general acceptance by the development community.
  10. I found the aspectwerkz documentation pretty useful. It also comes with a nice set of samples, one can use to start with (I guess the logging is the HelloWorld of AOP). Maybe look at http://cvs.aspectwerkz.codehaus.org/aspectwerkz2/src/samples/examples/logging.

    Also, the aspectwerkz user and developer list is pretty responsive and helpful if you have questions.
  11. Software Documentation[ Go to top ]

    A piece of software is only as strong as it's weakest link. In this case, the weakest link is the documentation.

    For those of you in the USA that watched the game show "The Weakest Link", I only have this to say: "AspectWerkz, you are the weakest link, Goodbye!"

    All joking aside, the greatest piece of software doesn't do anyone anygood without a tutorial, proper documentation, and working examples. For an example who did this the right way, look at the Springframework.org site. They have some really nice documentation.

    Just my late night ramblings from Tampa Florida, USA (maybe the heat & humidity has fried my brain ;-))

    Kindest Regards,
    Tom Pridham
  12. It's really your choice. One person's hardship/headache can be someone else's gem. Your tolerance level is 1/2 day. Someone else could be a few days. Choose the tool that suit you best, if you have the choice to choose.

    That said, having tried out AspectWerkz ver 0.7 to 0.8, I find it to be quite promising, once you get pass thru the minimal docs available. And it took me more than a day to complete my first rnd, and I sincerely believe it's worthwhile all the effort. It is my 1st choice for runtime weaving, whilst AspectJ is my 1st choice for compile time weaving.
  13. Honestly I thought the documentation was sufficient. Please give us direct feedback , we need to improve in this area.

    I did a quick look and currently we have 51 pages of pure docs. That is more than you find in most OSS projects...but..

    ...you are right, we are lacking a very simple, introductory tutorial. I'll try to put one together. In the meantime take a look at the new dev2dev article (it at least should be for complete beginners).
    You can find it http://dev2dev.bea.com/technologies/soa/businesslogic/articles/boner_vasseur.jsp">here</a>

    /Jonas
  14. Honestly I thought the documentation was sufficient. Please give us direct feedback , we need to improve in this area.

    I did a quick look and currently we have 51 pages of pure docs. That is more than you find in most OSS projects...but..

    ...you are right, we are lacking a very simple, introductory tutorial. I'll try to put one together. In the meantime take a look at the new dev2dev article (it at least should be for complete beginners).
    You can find it here

    /Jonas
  15. Jonas, I'm trying to use AspectWerkz ver 0.10 and saw your dev2dev article but was put off when I have to use Bea Weblogic to try it out. It's not you. It's just me :) I prefer Tomcat or Jetty.

    It would be good to have a few tutorials that goes from really basic to advance level that also shows different capabilities of AspectWerkz. 3 is usually sufficient.

    Anyway, thanks for a fantastic AOP product.
  16. AspectWerkz and Tomcat[ Go to top ]

    The concepts described in the article are generic (even though the example script is not) and should be possible to apply to any application server.

    For example Tomcat.

    Take a look at Alex's blog post on the subject (how to enable AW in Tomcat):
    http://blogs.codehaus.org/people/avasseur/archives/000743_aop_integration_in_tomcat_5.html

    The concepts are similar for all application servers and AspectWerkz has been tested to work fine on: WLS, WebSphere, JBoss, Tomcat, Orion, OC4J
  17. JBoss AOP better doco?[ Go to top ]

    Cezar,

    I put some time into JBoss AOP beta2's documentation and wrote an extensive tutorial and examples that comes with the framework. I'd be curious if it meets your standards.

    http://www.jboss.org/products/aop

    We just had a Beta3 release last week and another significant release back at the end of March that included support for JDK 1.5 annotations within the pointcut expression language, as well as pluggable pointcuts and dynamic control flows. Currently I have a couple of guys working on Eclipse integration and we hope to have that for the JBoss AOP 1.0 release 2 weeks after JDK 1.5 goes final.

    Bill

    P.S. I'm glad that at least AspectWerkz is getting some press from TSS as an alternative to AspectJ.
  18. In response to the bad feedback we got considering our lack of introductory tutorials, I have not put together a series of tutorials on how to get started with AspectWerkz.

    I hope that you will find these valuable:

    1. http://docs.codehaus.org/display/AW/Hello+World
    2. http://docs.codehaus.org/display/AW/Hijacking+Hello+World

    /Jonas
  19. In response to the bad feedback we got considering our lack of introductory tutorials, I have not put together a series of tutorials on how to get started with AspectWerkz. I hope that you will find these valuable: 1. http://docs.codehaus.org/display/AW/Hello+World2. http://docs.codehaus.org/display/AW/Hijacking+Hello+World/Jonas
    Jonas,

    Thank you. Your tutorial is exactly what I was missing. It pieces all the tools and I can now make sense of all the parts (for instance, earlier I was confused as to why there is a need for an xml file when using annotations). It clarified that and some other questions I had and I can move on to actually evaluating AspectWerkz in the context of our project.

    Once again thanks for such a positive response and (without a doubt) a great framework.
  20. Does signify a more stable period of Aspectwerkz development? Since writing the OnJava article the code base has been refactored twice between .8 and .9 and again between .9 and .10? Are you happy with the stability of the new definition model?

    In terms of documentation, Aspectwerkz does mention that it is not designed to teach AOP, rather show the workings of the framework. Keeping that in mind, the examples that have been provided are very simple when you are familiar with the concepts.
  21. Graham, the answer is yes. We believe that we have reached a pretty solid API and that the concepts are clean, (both runtime API and defintion API (annotations and XML)). This means an API which will stay the same even if we are adding new features and are extending it (something that we will and can not stop doing). We are planning on releasing 1.0 in the summer and a beta is on its way.
  22. The bad thing about buzzwords like "dependency oriented programming" is that people tend to believe it is actually good because there is a name for it. I find this quite frightening. Managing relationships using aspects is about as effective - and probably harder to read - than managing relations using relationmanager classes (for lack of a better name) in the first place.

    Apart from that it opens an interesting train of thought. In the good old days of AOP, the plain dumb programmer was only concerned with the business logic, while the clever AOP programmers did the cross cutting concerns. Suddenly everything including business relations are a cross cutting concern, so the business programmer needs to be aware of the AOP thing. Alternatively, he can happily cast Customer to HasAccount and leave it to the bright AOP programmer to create the introduction that the CODE depends on in the first place. What a mess!
  23. I just hope that not too many people will get addicted to DOP ;-)

    I don't think that implementing all associations with AOP is good. I can see the need to decouple using these AOP technique for inter-component associations (but then one need to think how to persist this "dynamic" association using framework like Hibernate), but to implement any association within a component using AOP is just plain crazy!

    This is a "pretty" example of over-design (something that AOP is meant to solve.... not create). It will just make the code less intuitive to write, read and, most importantly, test.

    I also don't really see the benefit of using AOP to implement what is really an simple association class. One can easily solve this problem using plain old OO technique by creating a generic association class that can be extended to provide more specialized association.

    But then, do you really need to have that flexibility... Why not just add a new association to you UML model, regenerate code and then your done!