Java Spotlight 2

[intro music]
Roger Brinkley: Welcome to the second edition of the Java Spotlight podcast. I'm Roger Brinkley, and Terrence Barr is on vacation this week. In this edition of the podcast, we'll do a short news segment, we'll do a feature interview with Steve Harris, who's the senior VP of application server development, and we'll finish up with a "What's Cool" section.

In the news, let's start off by bringing in our all-star panel. Once again, this week Alexis and Dalibor Topic will be serving the EE and the SE side of the house. Alexis, first of all, we've got the adoption of Java EE six has increased from two vendors to eight vendors. That looks really promising at this point.

Alexis Moussine-Pouchkine: Yes, it does, actually. Java EE six was released in December last year, and we've seen a number of application servers commit to supporting Java EE 6. The Aquarium,, has a post on the details of where each vendor stands, and it's looking really good, obviously. GlassFish supports the full platform today, but you can see where the other vendors stand. I think it's good for the technology. We want broader adoption, because this means more choice and probably more innovation happening there.
Roger: And then we take a look at another type of release that has occurred recently. You've got a new GlassFish release, 2.1.1 patch 8. Any major changes in there, or is this just a patch release that's going on?
Alexis: Yeah, it is a patch release, actually: 2.1.1 patch 8. We have patches going out just about every six weeks to paying customers of the Oracle GlassFish Server release. This is patch eight of the 2.1 train. Nothing really major, just all the bugs that have been fixed since the last release are being integrated into this one.
Roger: From a development point of view, we've got NetBeans 7.0, a milestone release that's come out here, as well. It looks like there are a lot of things for everybody in there. It's not just the EE side, but it looks like we've got some new stuff with HTML five editing and some Maven three inputs there, as well. I think some of this goes beyond just what we have in the GlassFish community. Am I correct there?
Alexis: Yes, you are. There's a lot of server-side Java or Java EE six features in there as well, because it's improved Java EE six support. Certainly CDI, context and dependency injection, is better there. There's support for GlassFish 3.1, the upcoming release. There's support for WebLogic as well, and you can find screen caps in the show notes for both of those, GlassFish 3.1 and WebLogic support.

But as you said, it's also about supporting Maven 3, which NetBeans has been supporting for a while already. I think NetBeans has very good support for Maven and now for Maven 3. And HTML five editing -- there are a number of new tags that show up as part of HTML 5, and these are now supported as part of NetBeans.

So, yes, there are still a lot of enhancements in the server-side space, but I think there's something for everyone.

Roger: Now Dalibor, last week at Mark's talk we talked a little bit about open positions that have come up, and it looks like those are finally hitting the surface.
Dalibor Topic: Right. I did a casual search on the Oracle careers website for open positions at Oracle that are OpenJDK related because Mark mentioned this. I found three positions in Santa Clara in California that mentioned OpenJDK in the additional details sections. Two of them say "Strong preference in hands-on OpenJDK and Mercurial development experience." Another one says -- one of the responsibilities in there is to work with the OpenJDK community to develop new Java language and platform features.

You can find all three in a blog post that I wrote on November 1. It's in show notes. You can click through to get all the details about the jobs.

Roger: Let's turn the attention just a little bit here, kind of a panel type of question here. Last week, when we were sitting down talking, this group, we just heard the Apple issue come up, and all of us went, not sure we want to handle that. It's a week later. A few people have spoken out on a few things. What do you think we can say at this particular point?
Dalibor: This bit of news caused quite a bit of discussion and debate on the Internet, and it also caused a sudden surge in interest in OpenJDK suddenly. The OpenJDK Twitter account actually got a lot of messages from developers wishing for an OpenJDK port for the Mac. That told me that a lot of developers aren't sure if such a port exists, and if it exists, what its current state is. The first bit of good news is, of course, that an OpenJDK port for the Mac actually exists. It's got a bit of a obvious name. It's called the OpenJDK BSD port, and that's part of its history, because it came from the efforts of the BSD community to port the JDK to FreeBSD and then NetBSD, OpenBSD.

Then Landon Fuller joined the efforts with SoyLatte and ported that code to Mac OS X. That's why you can find in the BSD port a port of OpenJDK to Mac OS X on both Intel and AMD 64 platforms.

Roger: But did you get a lot of response this last week about, well, this is here now? Are there many people that are looking at, OK, we're willing to go off and do some of this work to move this forward?
Dalibor: Right. The interesting thing for me was to see how much community enthusiasm resulted in interesting things happening. Firstly, Landon Fuller posted on the main list a laundry list of things he would like to see happen to get the BSD port up to production level on Mac OS X, which includes things like, for example, updating it to the latest JDK seven code from the mainline. A few days after he posted that, Greg Lewis, another one of the original porters, already updated the port with the latest code base.

Similar, on a different main list, somebody proposed to contribute some implementation, and then there are some other efforts around proposals for implementing [inaudible 6:17] . You can find the links to all these in the latest OpenJDK news from today that has a summary of what's been happening on the main list.

But they've been very active, and the conversation has been very exciting to watch and to participate in.

Alexis: Right. I guess the question is, really, how far along is the port? Are we going to have a server-side VM that runs just fine? Because I, myself, and a number of people have used server-side software running on SoyLatte, which is the port you were talking about for Mac OS. But anything GUI-related, is this going to require X 11? I think that's the biggest question at this point.
Dalibor: Yeah, absolutely. Last Friday I was on a call with the JUG leaders. Of course, the JUG leaders had the same questions: What's happening with the Mac? What I can say is that the [inaudible 7:11] messenger commented there that we are aware of the issue. We're working on it. So stay tuned.
Roger: In the event section this week, we've got two events that are coming up: J-Fall and the New York City OTC. We mentioned those last week, but this week we want to feature Oredev, which is in Malmo, Sweden. I know that that's been a big event in the past. I know that Terrence has been there for the last couple of years. I know that as speakers, it's really ideal. Alexis, are you going to Oredev?
Alexis: Well, no, actually. I'm not going to Oredev, but Arun Gupta will be going there, so he will be covering everything you want to know about Java EE and GlassFish.
Roger: Dalibor, what about you? Anyone from the SE side going up to Oredev this year?
Dalibor: Yes. We have Marcus Hirt, of the JRockit book fame, who will be speaking there as well about virtual machines.
Roger: And then also the week after that, November 15, which is on a Monday, Devoxx in Antwerp, Belgium, a great conference. I know we have a lot of speakers that are speaking at that event. If you're in the area, it's a good chance to go and learn some things. We look forward to hearing what's happening. Any one of us that's actually on this podcast or any one of the evangelists as well, if you have something that you think would be of interest to the general community, please come up and talk to us about it, and we might do a recording of it as well.

Let's turn to the next segment, which is the feature interview with Steve Harris. Terrence Barr had an opportunity to speak with Steve a couple weeks ago. Steve's the senior VP of application server development. Basically, he's Alexis's boss. Let's go into that interview right away.

Terrence Barr: I'm here on Skype with Steve Harris, who is the senior VP of product development for the App Server at Oracle. Steve, welcome to the program. Do you want to introduce yourself briefly?
Steve Harris: Sure. Hi, Terrence. I've been at Oracle for quite a long while now. Actually, I came into Oracle to work on Java, actually, specifically on the Java Virtual Machine that stills runs in the database today. These days, I have the WebLogic Server team, the original Oracle App Server team, and the GlassFish team within my organization.
Terrence: We thought it might be useful to maybe share some perspectives of how the acquisition felt when Sun came to Oracle and how that felt from the Java EE side of the house, and your team in particular.
Steve: It's interesting. With acquisitions, there are always difficulties and so on. I think this was a particularly complex one for Oracle. It spanned large segments of the company, it went outside of specific lines of business, and there certainly are cultural differences between people who have come in from Sun and Oracle and so on. But one of the reasons to do these acquisitions, aside from the people and the technology and so on that it brings to the table, is to mix the DNA of the companies in some ways. The things that the GlassFish team in particular, I think, brought into the enterprise space with us is just incredibly valuable.

There's the talent. There's the insight. There's what it means to be the stewards of Java and help coordinate and drive where the platform goes, how to communicate with developers, and so on. It's the sort of thing that the acquisition has helped really reinforce and strengthen in our organization.

It's taking us a while, actually, as a company to try to, let's say, loosen up and take advantage of this kind of combination of stuff. I think JavaOne was great. It was very hectic. Hopefully, a lot of people could see how the mixture of the cultures and the people came together to add value to Java overall.

Terrence: Yeah, coming in from Sun, coming to Oracle. One thing I've found consistent throughout the whole acquisition process and as I get to know more people at Oracle is that everybody's very willing to learn. They're all willing and eager to understand where Sun came from, what made Sun special, and how they can learn to interact with the community and differentiate products that way. In fact, people on the outside might not realize that that sort of process is happening very rapidly, getting to know each other, and starting to mesh the processes and the understanding and the mindset. Of course, that takes some time until that's visible outside, but that's going on very quickly as far as I can tell.
Steve: Absolutely. One of the things I think that we had to learn very quickly on the GlassFish side was just how important that interaction with the community is on it. We came to realize I think very, very quickly that having a public road map out there, even committing to having a public road map out there and so on, and making progress on the project visible to developers, visible to people who had committed to it and so on, and then helping people to understand how GlassFish as product, GlassFish as project fits in our overall strategy.

Because, of course, just saying it, putting up web pages and PowerPoint slides is not enough. You actually have to live it, eat it, breathe it, demonstrate it, and it has to actually make sense to people. They have to understand how that fits in, why it's valuable to us when we have such a strong presence already in the marketplace with WebLogic Server and overall Middleware stacks.

It clearly has a place. It's been something we've been paying a lot of attention to try to get the message across, make people see our commitment to it and help them understand how it fits in.

Terrence: Right. That brings up a good point. Obviously, Oracle has a big franchise around the WebLogic stack, and Sun came along and brought GlassFish. Now we have two application servers. Maybe you could just spend a minute or so talking about the relationship between the two and how they complement each other and what particular markets you're going after with each one of those.
Steve: Maybe just to drop back a bit, when we acquired BEA, we announced that the Oracle Application Server that we had produced would not have another release. We committed to WebLogic as our strategic application server. There was a lot of angst, actually, and understandably, when I think you look in and don't know the mechanics, that somehow GlassFish would be relegated to an afterthought or something. But the situation is totally different for us with GlassFish and WebLogic for a number of reasons.

GlassFish has a special place for us, which is that it's the vehicle to deliver the reference implementation for Java EE. That is not a role WebLogic plays nor WebLogic will play. Now WebLogic is on the path to being EE six compliant as we speak, but GlassFish is already there.

That's the vehicle through which the RI is delivered. It's delivered to many partners and so on across the world. The RI is an RI. It doesn't imply that it's a strategic product in and of itself.

But there are lots of people who have committed to GlassFish, who develop on GlassFish, who want to feel comfortable that the applications they built on it can be deployed on it and supported on that. That's also a critical part of what we're doing, because GlassFish is lightweight, fast, developer friendly. People like it. It's EE six compliant already and so on.

It's clearly supported and being driven forward. In fact, if you look at GlassFish 2, which was an EE five reference implementation, 2.1 was add certain quality-of-service features to it. So it was important to us, and I think important to the community and consumers of GlassFish, that we lay out a road map and deliver on GlassFish 3.1, which adds quality-of-service features to the EE six 3.0 release.

That's what's underway. There are milestones that are being delivered on and then demonstrated on, and we're doing things like doing coherence integration with it and things like that, which also make it more powerful and useful for existing GlassFish customers.

And then the other part that's very important to us is the connection with the developer community. We are getting something on the order of 10 million downloads a year. We're monitoring that. We want to make sure that that stays very healthy.

GlassFish really has shown some of the great things that EE six has brought to the table in terms of dependency injection, extensibility, more POJO-based models for doing development and so on. So it really truly shows how the EE platform's evolved in response to things like ease of use, new servlet models, so on and so forth. It's got a lot of power that's been brought to the table in that regard, too.

And then there's one last thing that's maybe worthwhile mentioning, which is that GlassFish and WebLogic also share a lot of technologies. That's some that existed before the acquisition; that's going to be even more true moving forward.

WebLogic, we have a big investment in modularity, building on an OSGi micro-kernel. At this point in our road map, on the WebLogic side, between WebLogic and GlassFish they will share the same micro-kernel, and then the bundles and components built on top of it and delivered on top of it in many cases are also shared.

For example, web services is shared between them. In fact, some of the work we've done on WebLogic on atomic transactions and web services is being pushed into the open source Metro stack that's part of GlassFish. Similarly, the JPA stuff, the EclipseLink stuff that's part of GlassFish done as an open source project. Eclipse is part of the WebLogic run-time.

You'll see more and more of this sharing of technologies and components in areas where it makes sense, higher investment on our side in terms of quality of service and support for the entire larger-scale Fusion Middleware stack on WebLogic, and using GlassFish as a way to also help drive and demonstrate where the platform is going, needs to be going in conjunction with [inaudible 18:21] and our partners.

Terrence: You touched on all the important points, I think, that developers out there should wrap their mind around. GlassFish is definitely here to stay. It has a very important role for Oracle to play. As you say, there will be a common infrastructure and shared components, shared infrastructure between GlassFish and WebLogic going forward.

GlassFish is really the delivery vehicle for the new Java EE six and going forward standards in technology. So if people want to get started with some of the features in Java EE 6, like the web container and the POJO model and the full REST support as a first-class citizen, GlassFish is the way to go.

You can get started knowing that in the future, WebLogic will incorporate Java EE six features, and then you have this world-class run-time for WebLogic that you can use for your big infrastructure deployments going forward.

I think that makes a lot of sense from a developer perspective in how the two go to market together So I think that makes a lot of sense from a developer perspective in how that you go to market together.

Steve: And the other challenge I think that we face is where is the platform going. What's next? It is one of the big challenges. We just delivered EE6 in December in final form and so on. So now is the time when I think it's all of our responsibilities to chart out where the platform needs to go in response to sort of the trends that we are seeing. The most obvious thing I think is what does the platform need to do to support Cloud and platform as a service, as a development model, as a deployment model management wise and things like that moving forward.
Terrence: So let's talk about the future a little bit, the future of Enterprise Infrastructure, keywords, Cloud Computing and things like that. Do you want to share some thoughts on that?
Steve: This has been really obvious to us as a Enterprise supplier that you can see people who run the IT department wanting to kind of deliver value to their internal customers and their external customers in the ways that kind of mirror the things you see in public Clouds like Amazon and so on. And so much like you saw the e-platform move forward to support web services really well, even though web service is nothing specifically to do with Java as a language or the Java platform specifically. The same thing really needs to happen with Cloud and platform as a service.

If you look in large scale data centers you see customers investing in either specific technologies on their own around how to manage the larger scale data center and get better utilization or elasticity in terms of deployment and so on. They are going to invest in their own technology so they start to invest in vendor specific technology.

So one of the big challenges for EE over the next year is to define and drive how the platform steps up to start to address some of those things in terms of how to expose common services, better manageability in ways that are not vendor specific. Serviceability sort of APIs for managing and exposing and knitting together of services across, flexibly deployed and managed computer nodes in a large scale Cloud the type of environment.

So, these are I think the big challenges that we face. We have a lot of the tools in the platform already. We just need to figure out together with our partners and the community how to drive the platform up a little bit so those become more common, not vendor specific and that the e-platform kind of continues to stay well placed to develop applications moving forward.

One of the things that drives this is sort of what we see in some of our larger scale enterprise deployments, very large scale high demand type of deployments. And then we can also use Glassfish and the open source community. And our ability to move faster and innovate in that forum to help drive some of these ideas forward and coordinate them with the community and partners.

Terrence: Well that's always been one of the major benefits of open sources in general. To me as a developer advocate and an engineer, it dramatically improves the feedback loop between the people who are building the product, who are writing the code and the users who are trying to apply that technology. Because now instead of going through forums and filing service tickets and feature requests, you can actually sit down and talk about the code and make changes. Maybe implement something on your own quick and dirty to show how it is supposed to work, how you think you want it to work. And so you are now talking much more concrete about details and the turn around time is much faster. And I think that's just a huge benefit of open source in general. And that's were Glassfish and WebLogic I think also fit together perfectly in that sense.
Steve: That's right. And you couple that innovation in forum for doing that kind of work with the setting of standards and driving those forward is just as valuable to customers and you get a combination that's worth a lot more than the parts.
Roger: So Alexi this interview is really good. Can I highlight some of the stuff that we were talking about last week when I was up in Ann Arbor Michigan talking to the JUG group in kind of preparing for some talks there. And how we have this three tier type of system to provide Java EE implementations. One is you can just get Glassfish open source and you can get WebLogic as well. But then in between you've got this Glassfish server piece. So I think it is a good compliment of tiers that we have there.
Alexis: I think so. It is quite different from the acquisition of BA which clearly at the time said that WebLogic was the way forward than whatever Oracle had before was pretty much faded away. Glassfish because it is the reference implementation, it is actually way more than just that. I think as Steve said, is lightweight, fast and developers actually like it. And then it is modular. There is OSGi and there is Java EE6 today. So because of all those reasons, it really brings a lot of value to the bigger middleware family that Steve is looking after at Oracle. There are a lot of things that work well between Glassfish and WebLogic and some of the things that the Glassfish team is looking at doing is making sure applications run unmodified on Glassfish and WebLogic. And that has to do with supporting deployment descriptors from one on the other and vice versa. So, yes I think there is a good story to be told there.
Roger: And certainly development is not done now that we are EE6. There is further work that's occurring now.
Alexis: I think we can start calling it Java EE7 at this point. I think Roberto Chinnici who is the spec lead has started talking about it as Java EE7. It has to do with things like the Cloud obviously which is the thing everybody has above his head. So elasticity, manageability, serviceability, all of those things are important. And while we have an app server which is a managed environment, we still can improve things. And I think that's what the platform as such, not just Glassfish as an implementation but the platform as such needs to move forward to.

And I think the discussions have actually started between the different people who are part of the previous expert group. And I think you should see results of that in the near future in terms of where we are headed.

Roger: Let's turn our attention then to the what's cool section. So Dalibor, what's cool?
Dalibor: Well for me the cool thing of this week is pretty much one of the cool things for me every week, there is a new JDK seven building 10 on build 16. Again available as usual for Windows, for Linux and for Solaris. This one contains a whole bunch of changes on the language tools side. For example fixes for Java C and Java tool for annotation processing, as well as the whole set of changes in the gloss library side like for rebranding changes. This is something that was sorted a while ago. Then performance enhancements like improvements to the dual-pivot quick sort or to the GCF implementation in core glosses with the Direct ByteBuffer and a whole bunch of other fixes and then changes in the glass library. And you can get as usual the whole list of changes for all the details and the patches and the source code.

And the other thing that I think was cool was that in Project Lambda Brian Goetz published an updated draft version three of the State of the Lambda document which describes how closures, as we call them in Project Lambda, lambdas should be implemented in work in JK tentatively.

And Moussine-Pouchkine has already has been working with the notation. He has updated the corresponding prototype to reflect those changes. And he also posted informal and basic guide to the syntax of the current prototype so that you can actually go in and play with this and give us feedback on what it's like and then how it works for you. Please do so. And if you have feedback, send it to lambda-dev mailing list on openjdk.

Terrence: Hi Alexi, what's cool. I think what's cool is the overall attendance in Java conferences. Now Deveaux is sold out weeks ahead of the conference. Every conference I had been to recently is sold out.
Roger: What's cool for me was the JUG meetings that I was at this last week, in Ann Arbor, Michigan and down in Cincinnati. And hats off to the Cincinnati Insurance Group. They have their own JUG within the company. In Ann Arbor, people in the US will recognize us. In one of Mark's slides he has the noclasspath in red. And course one of Ann Arbor is in University of Michigan, they are always in blue. And one of their big rivals is Ohio State which is always in red.

And when I got there to do the presentation, the red no sign for the classpath just came up in black. So I swear it had something to do with the location because it worked perfectly fine when I was in Ohio.

[end music]

Thanks for listening to the second edition of the Java Spotlight podcast. I am Roger Brinkley. And send your feedback to

Transcription by CastingWords