In this interview, Jesper Joergensen talks about BEA’s involvement in open source, its approach to J2EE and the changing nature of the J2EE application servers.
He also shares his views on the Apache Beehive project and why he thinks the WebLogic Server has now reached a level of reliability and scalability that makes it capable of replacing even some of the old and reliable systems in existence today.
Jesper tells us what’s special about the new Weblogic Server 9.0 and the new WebLogic Workshop that’s being built on top of Eclipse. He also shares his thoughts on when it makes sense to adopt a commercial application server like Weblogic over its free and open source alternatives.
IndicThreads >> Hi Jesper! Thanks for being on IndicThreads. Could you introduce yourself to our readers?
Jesper Joergensen >> Hi, and thanks for inviting me. I work in product marketing for BEA systems. Product marketing is responsible for telling the world about BEA?s products and help facilitate two-way communication between BEA?s product groups and the people who use our products.
around SOA (service-oriented architecture)…
Personally, I am responsible for BEA?s product marketing efforts around SOA (service-oriented architecture). I?ve be doing this job for over two years at BEA. Before joining BEA, I was the CTO of a small ISV in Denmark that build a set of applications on WebLogic Server. In this previous job, I also coded J2EE applications myself, so I have tried a little bit of everything.
IndicThreads >> BEA has been a major J2EE player for many years now. How do you think has BEA’s approach towards J2EE evolved?
Jesper Joergensen >> I think BEA has always stood for ?pragmatic J2EE?. We were the first to provide a reliable, high-performance application server that implemented the J2EE specs, and since then we have always seen J2EE through the perspective of the programmers and administrators that are using it.
“BEA has always stood for pragmatic J2EE…
In the beginning, BEA was focused on delivering a J2EE server that was easy to use but provided the best scalability and reliability. As we achieved this goal, we shifted our focus to J2EE as a programming model itself. Years of experience showed that certain parts of J2EE were really difficult to learn and certain parts made it hard to manage the application lifecycle.
We have worked on this issue in different ways. We started the Apache Beehive project to provide a more easy-to-use programming model for J2EE that was more aligned with ?modern? needs, such as asynchronous programming and web services.
a more easy-to-use programming model for J2EE
that was more aligned with ?modern? needs…
But we have also worked on specifications to introduce things such as deployment plans (JSR 88) and we have implemented these improvements in our latest version (WebLogic Server 9.0).
We continue to see J2EE as an important standard in the enterprise software space. But BEA?s main focus is to provide enterprises with the infrastructure they need and to help create industry standards that gives our customers investment protection. Some of this work takes place outside the scope of J2EE.
with the infrastructure they need and to help create industry standards
that gives our customers investment protection…
IndicThreads >>What is BEA’s take on open source? Do you see open source as a major competitorÂ to commercial vendors like BEA?
Jesper Joergensen >> There are many different types of open source projects driven by different goals and motivations. Some of these are of minor importance to the industry while others serve as a mechanism for reusability and rationalization across the industry and these play an important role for BEA.
Once a certain computing problem has been solved enough times by different people writing different software implementations, it makes sense to collaborate on one common implementation. The problem is so well understood that everyone can agree on one way to solve it. Open source has proven to be a good vehicle for such collaboration with Linux and the Apache web server being the two oldest and most mature examples of this.
BEA expects this trend to continue and we are actively engaging in open source projects to improve our own efficiency and to contribute to the community.
to improve our own efficiency and to contribute to the community…“
Almost two years ago, BEA made a significant contribution to the open source community by donating XML Beans. It?s a great example of a well-understood problem (XML processing and Java binding) where everyone can benefit from using the same implementation.
Since then, BEA has additionally donated our new J2EE programming model under the project name Apache Beehive, and recently we decided to move our IDE platform named WebLogic Workshop to the Eclipse framework and become a major contributor to Eclipse.
When it comes to the application server itself, the problem becomes more complicated. The app server is not just a piece of code. It is a runtime environment that must work flawlessly while running any type of application in any type of environment. This is an incredibly complex task and only through a decade of maturation has WebLogic Server reach the level of reliability, scalability and ease of use that it has today.
that must work flawlessly while running any type of application
in any type of environment.…“
BEA intends to embrace open source components that can be leveraged in the application server or replace parts of it, as long as all the necessary requirements can be met. Open source, applied correctly, is a way to improve efficiency in the software manufacturing process. But as with most other popular ?trends?, it is important to avoid the hype and stick to the facts when making such decisions.
IndicThreads >> Thanks to the J2EE certifications, a lot of developers think that all application servers that are J2EE certified, are more or less the same. Do you think this perception is correct? The cost, availability of skills and the ‘cool’ factor seem to be playing a bigger role in deciding which application server to go for than the actual features of the server.
Jesper Joergensen >> It is certainly not true that all J2EE certified application servers are ?the same?. Just take a look at SPECjAppServer benchmarks to see how they perform differently and take a look at what kind of support is offered for each of them by looking at documentation web sites etc. The complexity of application servers make it difficult to make direct comparisons. It is only when the application is deployed and you begin to get a heavy load of users that you truly know if you have a good app server and by then it is usually too late to switch (easily).
and you begin to get a heavy load of users
that you truly know if you have a good app server…“
That could explain the importance of the ?cool? factor. Experienced developers and administrators know which app server works best, but they cannot always quantify it. Availability of skills is certainly also an important factor. J2EE programming is not a novice skill set and experience with specific application servers tends to play a big role too.
and experience with specific application servers
tends to play a big role…“
IndicThreads >> BEA joined Eclipse a few months back. So what’s happening on that front? When can we see the next version of Workshop and why should a developer adopt Workshop?
Jesper Joergensen >> The next version of WebLogic Workshop will be based on Eclipse and we expect to ship it at the end of 2005. WebLogic Workshop combined with Apache Beehive demonstrates how an ease-of-use programming model with a supporting IDE can drastically increase developer productivity and improve maintainability and overall cost of ownership for enterprise software projects.
will be based on Eclipse and we expect to ship it at the end of 2005…“
This removes a major obstacle to developer adoption. Many people decided not to try out Workshop because it was a separate program with different user experience. Now, developers can work with this new programming model within Eclipse and accordingly every Eclipse developer can test Workshop and Beehive in a painless way.
IndicThreads >> BEA gave Beehive to the open source community quite some time back and I remember it had generated a lot of interest at that time. There’s again some buzz about Beehive lately. So at what stage is Beehive today? When can we expect to see it ready for general use?
Jesper Joergensen >> Since we started the Beehive open source project we have come a long way. Beehive 1.0 is now available in beta and the final version will be available soon. WebLogic Server 9.0 which is expected to be released this summer will support Beehive 1.0 which means that you will be able to use Beehive based web services, controls and page flows on WLS.
IndicThreads >> The Beehive site states the project goal as “To make J2EE programming easier by building a simple object model on J2EE and Struts”. Nice and simple. However as you know, J2EE has no dearth of application frameworks and so every time a new framework is released, the most common reaction is “Another One?”. What’s special about Beehive? Can you give us a comparison with the popular frameworks of today?
Jesper Joergensen >> It is true that there is a lot of activity around various programming ?frameworks?. In the community. Beehive represents BEA?s response to a problem that has also caused many other responses. Therefore we now have a proliferation of ideas for how we can make J2EE simpler which of course is a good thing.
Most of the initiatives have not only received little attention from customers and developers in the community. But there is one project that our customers have shown particular interest in and that is Spring. Beehive and Spring have a number of similarities and differences. They both address the problem of instantiation of components and the wiring together of component instances that reference each other. The major difference is that Beehive stores the wiring metadata and other metadata as JDK 5 annotations in the code while Spring uses XML configuration. Beehive also has special focus on web services with its JSR 181 subproject.
“Beehive also has special focus on web services with its JSR 181 subproject…“
BEA is working together with the community and with our customers to find out how Beehive and Spring should be interoperable and whether in some distant future they can be closer related. Meanwhile, we are committed to supporting both programming models as well as any other J2EE programming model that our customers find valuable. We want as many developers as possible to be able to use WebLogic as their app server regardless of the programming model they choose.
IndicThreads >> The BEA site says that “WebLogic Server 9.0 is the most significant BEA application server release to date.” That’s quite a claim considering BEA’s track record.
Jesper Joergensen >> *Laughing*. We are always extremely proud of the achievements we make in our latest release. We realize that we have a very strong record regarding BEA WebLogic Server releases, but we still feel that this release will be very significant. While some people thing that app servers are ?just a commodity? or ?all the same?, we see a tremendous opportunity to make Java and J2EE available in a world that requires ?zero downtime?.
in a world that requires zero downtime…“
Until now, Java and J2EE have only been used for medium range critical systems. Super reliable systems such as telco switches are more hardware based or they are based on older and less flexible but more reliable software systems.
WebLogic Server has now reached a level of reliability and scalability that allows it to replace some of these super reliable systems. This enables our customers to build new services in a much more rapid fashion using more common J2EE skill sets.
that allows it to replace some of these super reliable systems.…“
That is truly significant.
IndicThreads >> Open source software is all over Java and now even the application server space has several good open source alternatives. So what’s BEA’s answer if a potential customer says “Why should I not just use an open source servers instead of paying you hundreds of dollars for the WebLogic server?”
Jesper Joergensen >> When you compare application servers, you are just comparing J2EE implementations and if all you need is a J2EE implementation then you can probably use an open source application server. But BEA?s customers need much more than that. The J2EE implementation is just the ?surface? of an application server.
then you can probably use an open source application server...“
Once you start a J2EE development project, the application server you use will determine how fast you can do your edit-compile-debug cycle. It will determine how easy it is to move you J2EE application from development to staging to production. Once you need to deploy, operate and maintain your J2EE application, your J2EE application server plays an even bigger role. It determines how easy it is to update the application, how easy it is to scale up and down (if possible at all), and it determines how much visibility you have into the operation of your application.
All of these things add up to much more than the cost of just writing the code. In fact, the costs of maintaining application lifecycle and of managing a runtime environment easily dwarves the costs of the software you are using.
Â and of managing a runtime environment
easily dwarves the costs of the software...“
But of course these requirements vary from project to project and you should always make sure that you understand what your requirements are and what infrastructure you need for a particular project so that you can make cost-efficient decisions.
IndicThreads >> SOA seems to be a major focus area for BEA. What do you think is the real value of SOA in a J2EE application? What is your vision for a service driven enterprise?
Jesper Joergensen >> SOA is certainly a major focus area for us. It adds value to the business in many different ways and it is also important to consider SOA at the J2EE application level.
J2EE is a great way to build service-oriented applications. It has many of the requirements built-in already. Most importantly, J2EE specifies how and application should be a collection of components that are deployed as and independent unit inside an infrastructure that includes a web services stack. This is almost everything you need to build service-oriented applications that use SOAP and WSDL.
J2EE applications are not necessarily service-oriented. SOA?s real value to J2EE is that it provides some guiding principles for how to write J2EE applications that are more decoupled and more reusable.
it provides some guiding principles for how to write J2EE applications
that are more decoupled and more reusable...“
IndicThreads >> What role does the application server play in implementing an SOA application and how much of SOA is based on how the system is designed and developed?
Jesper Joergensen >> The type of applications that application servers are designed for very closely resembles services already. They are running 24/7 and accessed remotely through some interface, usually HTTP. Therefore application servers are a great way to run SOA applications as well. The most popular type of SOA applications uses SOAP and WSDL and these technologies are built into application servers today. Most SOA applications need to be scalable and reliable and they need all the types of connectivity to enterprise systems that application servers provide today. The J2EE application server is indeed a very close match for a SOA application server.
and it exposes a well-defined contract, it is a service-oriented application....“
Whether an application is ?SOA? or not depends mostly on design and not so much on how it is developed. Service-orientation is a characteristic of the interfaces and contracts of the application as well as how it is made available to a client. It doesn?t matter if the application was written in C, Java or something else and it doesn?t matter if it is using function programming principles, object-oriented principles or anything else. As long as it can be operated as an independent runtime unit and it exposes a well-defined contract, it is a service-oriented application.
IndicThreads >> We have now started to hear a lot of talk about application server platforms. What are application platforms and what does BEA offer in this space?
Jesper Joergensen >> Application (server) platforms provide more infrastructure for building applications than just the application server. An application platform suite (APS) as Gartner calls it is an application server with additional integration and portal capabilities.
with additional integration and portal capabilities....“
These additional capabilities makes it simpler to write applications because most applications today require some degree of integration and they almost always require a user interface that can be personalized and delivered over the web. BEA has 1000s of customers that are building ?composite applications? using our application platform suite.
building ?composite applications? using our application platform suite...“
IndicThreads >> Wonderful. Thanks Jesper. Its been good talking to you. Based on what you have told us, we sure are looking forward to trying out the new Weblogic Server, Beehive and Workshop.
Jesper Joergensen >> You?re welcome. It has been a pleasure.
IndicThreads >> Dear reader, you can keep up with Jesper at: Jesper Joergensen’s Blog. Thanks for reading this interview and please share your comments and suggestions on this as well as other content on the site.
- BEA WebLogic Platform
- BEA WebLogic Workshop
- BEA WebLogic Server 9.0
- BEA WebLogic Integration
- BEA WebLogic Portal
- Apache Beehive
- Apache XMLBeans
- SOA Resource Center
- The ABCs of SOA
- WebLogic Developer Journal
- Weblogic Pro