|
Sponsored Links
Resources
Enterprise Java Research Library
Get Java white papers, product information, case studies and webcasts
|
News
News
News
|
Messages: 19
Messages: 19
Messages: 19
Printer friendly
Printer friendly
Printer friendly
Post reply
Post reply
Post reply
XML
XML
XML
|
 |
AspectJ 5 final has been released.
The release of AspectJ 5 final has been announced. This is probably the most significant milestone in the history of AOP (so far). Finally the AOP community has a standardized language and toolkit, a unified platform that can allow it to move in the same direction, both in terms of usage, research and adoption - instead of fighting over semantics, APIs and user base.
This also means that the merger with AspectWerkz is complete, almost exactly one year after it was announced. Might sound like a long time, but was a huge task to take on, not only the merger with AspectWerkz but full Java 5 support, including generics.
From Adrian Colyer's blog announcement:AspectJ 5 breaks new ground for the world of AOP in a number of areas including (afaik - please correct me if this is not the case): * The first AOP language to fully support Java 5 * The first implementation of generic aspects (using type parameters in pointcuts, advice, and ITDs in addition to regular generics features) * The first aspect language to provide a full reflection API (AjTypeSystem) * The first aspect language to offer code-style, annotation-style (@AspectJ) and XML based configuration with the same weaver and semantics On top of this the release includes support for AspectWerkz style load-time weaving and excellent IDE support (Eclipse AJDT) with among other features a cross-cutting diff tool.
Spring is one of the first to embrace AspectJ 5 and the upcoming Spring 2.0 will have native support for running @AspectJ aspects, configuring Spring AOP using the AspectJ pointcut language, dependency injection of aspects along with many other cool features.
You can choose to download either the stand alone compiler or the AJDT IDE toolkit (with an embedded compiler).
|
|
Message #194993
Post reply
Post reply
Post reply
Go to top
Go to top
Go to top
|
 |
AspectJ 5 final has been released.
Congratulations guys, thanks for all of your great work!
|
|
Message #195001
Post reply
Post reply
Post reply
Go to top
Go to top
Go to top
|
 |
AspectJ 5 final has been released.
An amazing success story of the open source community. Congratulations.
|
|
Message #195051
Post reply
Post reply
Post reply
Go to top
Go to top
Go to top
|
 |
Congrats!
Thanks for this Christmas gift! :-) Well done guys!!!
Do you have any more info on tool support? My view (and experience) is that AOP is only really useful in non-trivial apps if you have tool support for visualization. Eclipse is great, but are there any standalones too for us who are hooked on other IDE's? Something like Javadoc++ for example?
|
|
Message #195065
Post reply
Post reply
Post reply
Go to top
Go to top
Go to top
|
 |
Congrats!
Thanks Rickard.
There is a lot of new stuff in the latest AJDT, cross-cutting ref markers for annotation defined aspects, cross-cutting diff tool (thanks for the idea :-)), aspect visualizer (not new but good stuff) etc.
There is (and has been for the last years) a JavaDoc tool called ajdoc. It is part of the distribution.
If you want to discuss things in detail, including what can be done for other ideas etc., talk to Matt Chapman (leading the AJDT effort) or Mik Kersten (original implementor of AJ tools including ajdoc etc.).
|
|
Message #195082
Post reply
Post reply
Post reply
Go to top
Go to top
Go to top
|
 |
AspectJ 5 final has been released.
Jonas, I wonder if we (you, myself, Adrian, Andy, Mik, Wes, and Erik) have been the first in the OSS world to actually merge with our peers that had been both friends and competitors for more than 2 years.
I see so many disparate voices in the OSS world these days... There is more OSS J2EE app server than commercial one - isn'it ? Going thru a merger means going beyond personnal hard feelings of sharing the project lead, going beyond never ending architectural discussion but focussing on uses cases and community.
I wish as much success to the Struts/Webwork merger - and I can now certify this was really a challenge to get it done! Farewell my AspectWerkz!
|
|
Message #195086
Post reply
Post reply
Post reply
Go to top
Go to top
Go to top
|
 |
Outstanding Release
I have to say that AspectJ 5 is a very slick release. But prehaps more impressive is the new AJDT. It still has a few worts and wrinkles, but compared to other IDE plugins for AOP development, nothing can compare. The plugin shows where advice is being applied if you're using code-style or annotation-style development. Last I checked, JBoss IDE only works off of the jboss-aop.xml file. If you develop JBoss AOP aspects using annotions, you don't get advice markers. Now only if JBoss and Eclipse could consolidate their AOP implementions :) Even if not, AspectJ 5 is shaping up to be the future of AOP on the Java platform.
Ryan-
|
|
Message #195087
Post reply
Post reply
Post reply
Go to top
Go to top
Go to top
|
 |
Congrats!
cross-cutting diff tool (thanks for the idea :-)) I'm happy to see my ranting about it had the desired effect >:-) Excellent!
There is (and has been for the last years) a JavaDoc tool called ajdoc. It is part of the distribution. Ah, then all is well. Pardon my ignorance.
If you want to discuss things in detail, including what can be done for other ideas etc., talk to Matt Chapman (leading the AJDT effort) or Mik Kersten (original implementor of AJ tools including ajdoc etc.). Well, with all of the above in place I'm basically happy.
Again, well done guys.
|
|
Message #195088
Post reply
Post reply
Post reply
Go to top
Go to top
Go to top
|
 |
AspectJ or Spring AOP
Being new to Aspects, I would like to understand the pros of using AspectJ over Spring AOP. I am currently using Spring as a part of my software stack. I am trying to determine if there are enough reasons to introduce AspectJ.
Thanks for your advise Anuj
|
|
Message #195099
Post reply
Post reply
Post reply
Go to top
Go to top
Go to top
|
 |
AspectJ or Spring AOP
AspectJ is full featured aop framework for java. Spring AOP is simple enouph intercepting framework using proxies. If you don't plan to program in AOP style, but want aop services to be provided, you can use out of the box Spring AOP with already implemented interceptors for transactions, security or others. If you wanna dive deeply in AOP, aspectJ is choise. But.. wait.. soon many spring's out-of-the-box aop services will be implemented as Aj aspects, and spring's own AOP framework will receive powerfull AJ's pointcuts definitions... Spring and AJ will definately complement each other in near future...
|
|
Message #195120
Post reply
Post reply
Post reply
Go to top
Go to top
Go to top
|
 |
AspectJ or Spring AOP
The strategy for Spring AOP and AspectJ is to make them work together as seamlessly as possible, making it easy to use just as much or as little AOP as your application needs. I wrote a summary of the integration and what we've been doing in Spring AOP for 2.0 a couple of weeks ago here (scroll down past the AspectJ 5 RC1 subheading and you'll see the "Spring 2.0 M1" heading).
Here's the closing paragraph from that piece:
Spring AOP as a framework is not growing beyond its original boundaries. Instead we've simplified the configuration and enabled the use of the AspectJ pointcut language and even @AspectJ aspects. Instead of replacing Spring AOP with AspectJ, or growing the capabilities of Spring AOP beyond its current bounds, we believe in providing a seamless roadmap from using the out-of-the-box Spring aspects (such as the transaction management support), thru writing your own Spring aspects and advisors, and onto AspectJ aspects, without any jarring discontinuities. Thus you can use as little or as much of the capabilities as you need, and as your requirements change there will be a solution available to support you.
|
|
Message #195124
Post reply
Post reply
Post reply
Go to top
Go to top
Go to top
|
 |
AspectJ 5 final has been released.
AspectJ, AJDT, and (former) AspectWerkz team,
Indeed, this must be a proud moment for you guys. Instead of fighting the "ours is better that yours" war, you took a bold decision to merge your strengths and worked together to create the best AOP implementation ever!
This release is, without a doubt, the most significant milestone in the history of AOP.
-Ramnivas
|
|
Message #195169
Post reply
Post reply
Post reply
Go to top
Go to top
Go to top
|
 |
Certification
Is it possible to get AspectJ certification for WebSphere or WebLogic - that we can run Aspected software on them? Congratulation to team for their huge effort. Best gift for christmas. I will have full week to play with it.
|
|
Message #195171
Post reply
Post reply
Post reply
Go to top
Go to top
Go to top
|
 |
Certification
There are two distinct ways to run AspectJ-based applications on an appserver.
The first way is simply to compile your application into regular .class files using the AspectJ compiler (or use the weaver to link aspects with your application jars, producing a new set of woven jars). All the app server sees here is a regular application with regular .class files - nothing to certify! In fact, there's less going on here than if you use one of the many tools (such as Hibernate for example) that now do on-the-fly bytecode generation using libraries such as cglib.
The second way is to use load-time weaving. Here you configure the app server so that it weaves one or more aspect libraries with your application as it is loaded into the server. Since this changes the app servers behaviour with respect to application loading certification for using this technique in production can become an issue. Note that AspectJ is still using e.g. the standard Java 5 agent interface so if a vendor allows use of the -javaagent flag, they are allowing AspectJ to be used in this way. For the time being, my recommendation is to use load-time weaving as a convenience during iterative development and testing, but to use offline weaving and just deploy the woven app. when going into production. This is as much a statement about the startup performance and increased memory usage that is inevitable with LTW (though in 1.5.1, we'll be making some significant optimisations in that area) as it is about certification.
|
|
Message #195784
Post reply
Post reply
Post reply
Go to top
Go to top
Go to top
|
 |
Accepted uses of aspects?
From experience Aspects are pretty powerful (you can do almost anything with them). Before we go mad and use them for things better done in 'ordinary' Java, what are their generally accepted uses as part of an Enterprise Java architecture?
I'm thinking of areas where the cross-cutting is especially beneficial, such as:
- Security - Profiling tools - Logging - Introducing new functionality to code where you do not have access to the source (for legal or technical reasons)
Any other ideas?
Paul
|
|
 |
New content on TheServerSide.comNew content on TheServerSide.comNew content on TheServerSide.com |
 |
 |
Reza Rahman continues to explore the features of the proposed JSR 299, Contexts and Dependency Injection for Java EE (CDI). When approved, it promises to be a key feature of Java EE 6.
(January 21, Article)
Ted Neward is an independent consultant specializing in high-scale enterprise systems, and an authority in Java and .NET technologies. He is the author and co-author of several books, including Effective Enterprise Java. At TheServerSide Java Symposium in March, he will be presenting sessions on pragmatic architecture, ECMAScript and Scala.
(January 15, Article)
Now that Oracle is absorbing Sun Microsystems, there mixed views on what should come of the Java Community Process (JCP). While some say Oracle should become the new steward of Java and keep the JCP much as it was, others argue that it may be time to open-source this widespread language.
(November 24, Article)
Reza Rahman explores the features of the proposed JSR 299, Contexts and Dependency Injection for Java EE (CDI). When approved, it promises to be a key feature of Java EE 6.
(November 2, Article)
SAML is an XML-based standard for exchanging authentication and authorization data between security domains. The single most important problem that SAML was created to solve is the Web browser Single Sign-On problem. Many organizations are debating whether to stay with version 1.1 or move to 2.0. This article makes observations about both options.
(September 28, Article)
Joe Ottinger takes a look at how people learn, and applies it to the practice of programming. He notes that understanding how people learn is an essential part of working in a programming team.
(September 22, Article)
Stephen Maryka gave us an article about the Asynchronous Web and posed a number of questions that get examined like an approach to delivering Asynchronous Web capabilities through extensions to existing Java EE technologies.
(July 14, Article)
JavaServer Faces Flex goal is to provide users capability in creating standard Flex components, part of flexSDK which is open sourced through MPL license, as normal JSF components. This article by Ji Hoon Kim will provide an overview of creating a simple multilingual JSF page consisting of JSF Flex tags.
(June 29, Article)
In this session Jeff explores the key characteristics of successful SOA projects. He covers some of the patterns, and anti-patterns, tool sets, and strategies that he himself learned the hard way. Last, he provides a strategy and blueprint for achieving a high likelihood of success in your SOA project.
(June 23, Tech Talk)
Ari Zilka, CTO of Terracotta, Inc., talks about the new features in Terracotta 3.1, announced during JavaOne and available now.
(June 15, Tech Talk)
In this Tech Talk, Josh Long explores an integration challenge using Spring Integration and walks through the implementation, employing and expanding on the basic patterns of Enterprise Application Integration to tie together components into a function integration solution, and then demonstrates how Spring Integration helps address the integration requirements.
(June 15, Tech Talk)
In this Tech Talk, David Geary teaches you: The basics of Google Web Toolkit; How to implement Ajax-enabled applications in Java; Internationalization; Hooking into the browser history mechanism; Remote procedure calls.
(June 4, Tech Talk)
Jon Kern discusses the best architecture/technical solutions and ensure that they are repeated by all developers. By tackling the architecture up-front in a serial manner, subsequent parallel development will be much more manageable and predictable.
(May 28, Tech Talk)
This keynote describes the frustrations of modern knowledge workers in their quest to actually get some work done, and solutions for how to guard yourself against all those distractions. Neal Ford talks about environments, coding, acceleration, automation, and avoiding repetition as ways to defeat the misguided attempts to sap your ability to produce good work.
(May 26, Tech Talk)
Gil demonstrates how new, aggressive uses of already abundant compute capacity by common applications offer competitive value for application designers.
(May 21, Tech Talk)
Chris Keene introduces WaveMaker as a new way to automate the ability to generate Hibernate classes in order to more quickly bring OR mapping into an application.
(May 19, Article)
Mastering EJB was one of the original and most influential EJB books in the industry. Mastering EJB III now returns with two new expert co-authors, updated for EJB 2.1 and 30% new chapters including security, integration, best practices, open source, and more.
(Book PDF Download)
The Application Server Matrix is a detailed listing of J2EE vendors and their application server products, with information on latest version numbers, J2EE spec support and licensing, pricing, platform support, and links to product downloads and reviews.
(Application Server Comparison Matrix)
|
|