| By Java News Desk | Article Rating: |
|
| July 29, 2004 12:00 AM EDT | Reads: |
38,981 |
Is middleware becoming commoditized, as Sun's Jonathan Schwartz contends? Or is it a continuing growth area, as "professional open source" advocate Marc Fleury, CEO of JBoss Inc., maintains?
Fleury is not the first to disagree with Schwartz. Salil Deshpande, CEO of The Middleware Company said, in response to his remarks about the "end" of middleware:
"Saying that middleware is history is like saying our nation's highways, railways, and waterways are history. They are boring when working well, maybe, but not history. On the contrary, middleware is the future."
Now Fleury is saying much the same thing, saying in an interview that "Middleware is still in its infancy."
In particular, Fleury believes, Aspect Oriented Programming (AOP) - a development methodology that means changes made in one part of an application ripple through the whole application, using a series of task-specific subprograms, or "aspects" - will help simplify the J2EE framework and enterprise Java programming itself.
JBoss has a vested interest in middleware, it should be said, since the company is working with other JCP members on the next version of Enterprise Java Beans (EJBs), part of the J2EE platform.
J2EE is inherently complex, according to Fleury, and its complexity can only be masked by innovations like Sun's Java Studio Creator. What is needed to improve its speed and to accelerate programming is for it to move toward the AOP model championed by JBoss.
AOP; which came out of Xerox PARC a few years ago and is just now becoming mature and mainstream, is in Fleury's view a natural complement to object-oriented programming, and has the promise of easing the management of complex systems and making their organization much more intuitive, extendable, and flexible.
JBoss's chief architect Bill Burke has explained the essence of AOP, in JDJ:
"What is an Aspect? An Aspect is a common functionality that's scattered across methods, classes, object hierarchies, or object models. Functionality that your class or object model shouldn't be concerned about, functionality that doesn't belong as it's not what the object is all about. The AOP-ites like to call this type of functionality crosscutting concerns, as the behavior is cutting across multiple points in your object models, and yet is distinctly different from the classes it's crosscutting. AOP allows you to abstract and seamlessly componentize these concerns and apply them to your applications in a unique way that regular object-oriented programs cannot achieve very easily."Developers can apply these same techniques to a multitude of middleware technology like remoteness, ACID, replicated caching, oneway, simple asynchronous invocations, role-based security, and persistence, Burke contends.
"AOP prevents system programming from intruding into your object model," he adds. "It has the potential to completely separate the concern of middleware from your application logic. This can make your code easier to maintain and read, and more flexible as you can make system architecture decisions later on in the development process. It's a pure layered approach to applying middleware."
Burke and Fleury eagerly await the infant's continuing growth into adolescence and adulthood. The technology community itself, of course, will have the final say.
Published July 29, 2004 Reads 38,981
Copyright © 2004 SYS-CON Media, Inc. — All Rights Reserved.
Syndicated stories and blog feeds, all rights reserved by the author.
- It's the Aspects
- Flashback: The End of Middleware – Exclusive 2004 Perspective by Sun President, Jonathan Schwartz
- "Middleware Is Alive and Well, Thanks!" Says TMC's Deshpande
- Creative Science Systems: Middleware for the Masses
- Flashback: Investing in 'Professional Open Source' - Exclusive 2004 Interview with David Skok, Matrix Partners
- Open Source Middleware: "Professional Open Source" Continues To Grow
More Stories By Java News Desk
JDJ News Desk monitors the world of Java to present IT professionals with updates on technology advances, business trends, new products and standards in the Java and i-technology space.
![]() |
Patrick Balm 07/30/04 05:15:44 AM EDT | |||
I cannot believe the statement of Schwartz! So I can agree with the article and concur on AOP practice! |
||||
- Microsoft Tries Hadoop on Azure
- Asynchronous Logging Using Spring
- StorSimple Supports OpenStack
- What to Expect in 2012: Cloud Computing and Open Source Software
- Will PaaS Finally Bring Open Source Love to the Enterprise?
- AT&T Joins OpenStack, Floats Cloud Architect
- Red Hat Sets Up GlusterFS Advisory Board
- Linux Virtualization and Tired Open Source Myths
- OpenOffice.com Lives
- Cloud Computing: A Platform-First Approach
- Powering the Cloud with Open Source
- Acquia Announces Two New Board Members
- Adobe Sends Flex to the Apache Foundation
- i-Technology in 2012: Five Industry Predictions
- Microsoft Tries Hadoop on Azure
- OpenXava 4.3: Rapid Java Web Development
- Asynchronous Logging Using Spring
- StorSimple Supports OpenStack
- What to Expect in 2012: Cloud Computing and Open Source Software
- Will PaaS Finally Bring Open Source Love to the Enterprise?
- AT&T Joins OpenStack, Floats Cloud Architect
- More Use Cases for Big Data Analytics
- Red Hat Sets Up GlusterFS Advisory Board
- Linux Virtualization and Tired Open Source Myths
- After Ubuntu, Windows Looks Increasingly Bad, Increasingly Archaic, Increasingly Unfriendly
- SCO CEO Posts Open Letter to the Open Source Community
- Simula Labs Launches Hosted Delivery Platform To Enable Enterprise Open Source Adoption
- Where Are RIA Technologies Headed in 2008?
- Source Claims SCO Will Sue Google
- How Open Is "Open"? – Industry Luminaries Join the Debate
- Latest SCO News is Plain Weird
- SCO Claims Linux Lifted ELF
- IBM Tells SCO Court It Can't Find AIX-on-Power Code
- Flashback: Investing in 'Professional Open Source' - Exclusive 2004 Interview with David Skok, Matrix Partners
- Developing an Application Using the Eclipse BIRT Report Engine API
- HP Starts Pushing Desktop Linux






















