Spring Framework author offers Java outlook
InfoWorld - Rod Johnson, founder of the Spring Framework for Java, CEO of Interface21 and a consultant, holds a prominent status in the Java development community. He is also the author of Expert One-on-One J2EE Design and Development and Expert One-on-One J2EE Development without EJB. InfoWorld spoke with Johnson during TheServerSide Java Symposium in Las Vegas last week about simplifying and open-sourcing Java, aspect-oriented programming, the Spring Framework and how .Net stacks up as a competitor to Java.
What obstacles do you see to simplifying Java programming and how much simplification does it need? In terms of simplification, I think the Java language itself did a pretty good job of simplifying a lot of constructs, certainly compared to the history behind it with C++. And I think that [with] Java 5, the language level continues that. In terms of where we find the greatest complexity, it's really in the area of server-side Java, and I think we've made huge progress in the last few years toward POJO-based [Plain Old Java Objects] development. I think that certainly the reality is server-side Java development today is much simpler than it was with the original J2EE model.
What are the main benefits of aspect-oriented programming and why should developers hop on the bandwagon if they haven't already done so? The main benefit of aspect-oriented programming is that it complements object-oriented programming. Object-oriented programming has spread into a very, very successful paradigm, and one of the great things about it is the way in which it helps you foster reuse and remove duplication. So, for example, if you have an account class and you [extend] from that savings account, checking account and credit account, you have a very nice way of using that hierarchy to encapsulate logic that you want to reuse.
Where it does, fall down, however, [is] in addressing what we call crosscutting concerns. Crosscutting concerns are pieces of functionality that may apply to a whole system that would, if they're implemented in the traditional object-oriented way, affect multiple classes and methods. Let's take, as an example, the notion of auditing. There is, of course, the ability to have helper functionality in a base class, like a base account class, that will, for example, run auditing behavior. But what happens if we say that every method that can lead to a change in the state of the savings account should be audited? There is no way in classic OO-modeling to avoid duplication in doing that. You will end up with the auditing code scattered between multiple methods. And, of course, it gets much worse when you say that auditing should apply to savings accounts, that it also should apply to different areas of functionality, such as inventories and addresses. The problem of duplication becomes still worse.
- The 20 Best iPhone/iPad Games of 2013 So Far
- 9 Steps to Build Your Personal Brand (and Your Career)
- 7 Consumer Technologies Coming to an Enterprise Near You
- 11 Signs Your IT Project is Doomed
- A walking tour: 33 questions to ask about your company's security
- 15 social media scams
- The 7 elements of a successful security awareness program
- IT Certification Study Tips
- Register for this Computerworld Insider Study Tip guide and gain access to hundreds of premium content articles, cheat sheets, product reviews and more.
- The Five Big Lies the C-Suite Hears About "Going Mobile" Mobile has already made a tremendous impact-to the tune of 29 billion apps downloaded in 2011. With such a new technology, it's not...
- mPayment Scenario Planning and Recommendations The mPayment industry is predicted to reach $1.3 trillion by 2017. This report offers conclusions into the impact mobile will have on businesses...
- Is Your App Getting Used? Understanding UX and Your Audience Want your app to be one of the 70 percent that is opened but never used again? If not, then you need to...
- Harness IT -- An Introduction to Business Intelligence Solutions Learn the key selection criteria required to provide your organization with the capability to address structured data, unstructured data and mobile demands so...
- Becoming An Analytics Driven Organization Join us on Tuesday, June 18, 2013, 11:00 AM EDT and learn how your agency can create an analytics culture that will enable...
- 3 Reasons Why Sepaton is the World's Fastest Backup Solution Leading analyst, Storage Switzerland learns how Sepaton backs up and deduplicates massive data volumes while maintaining the industry's fastest performance - all in... All App Development White Papers | Webcasts
Our weekly newsletter will cover a wide range of topics and trends related to consumerization. Stay up to date with news, reviews and in-depth coverage of BYOD, smartphones, tablets, MDM, cloud, social and how consumerization affects IT. Subscribe now!