Java Spotlight 7

[music]
Roger Brinkley: Welcome to the seventh edition of the Java Spotlight. I'm Roger Brinkley.
Terrance Barr: And I'm Terrance Barr.
Roger: On this week's edition of the podcast we'll do a news segment. We'll do a feature interview with Adam Messinger, who is the VP of Java Development. And we'll finish up with a What's Cool section. In this edition, Terrance, we're down in Brazil. We had a good opportunity, we thought we'd change things up a little bit. So in our developer panel we're bringing Arun Gupta on the EE side and Danny Coward from the SE side.

Guys, welcome.

Arun Gupta: Thank you very much.
Danny Coward: Thanks for having me.
Roger: Terrance, a lot of fun down here.
Terrance: It's been great down here in Brazil. A lot of excitement. I'm looking forward to the rest of the show.
Roger: Danny, got some exiting news this week. JSRs have been approved.
Danny: Yeah. Absolutely. There's kind of small news and big news. The last remaining four JSRs that are going to see us through the release of not just Java SE 7.0, but Java SE 8.0, have been approved for, we can start work on them in the Java community process. That happened Tuesday morning. That was the last hurdle to our roadmap, shipping Java SE 7.0 next summer. And then with a follow-on release in 2012 of SE 8.0. So that's really great news.
Roger: Now this doesn't need that they've been approved, it means that they've been approved to work on.
Danny: Right. That's right. This is the first of several stages in the Java community process. This is the approval to start work on those. Obviously for the JDK 7.0 work, there's been lots of design work that has been going on in the open JDK community already. So we're really hoping that the 7.0 work will move quickly through the process. But people can expect more draft specifications coming through the JCP up to the final vote close to ship time by the EC, hopefully in the summer.
Roger: Dalibor, while he was waiting for us for a little bit decided to put some news items in. He put something in for JDK 7.0 early access vendor properties have changed?
Danny: Yeah. On a technical level what we've done is the property names in the JDK have change from Sun's to Oracle's. I think for some of us, that's a little sad in a way, but also happy because one of the things at the show here that's been great is as we tell people about the roadmap and that we're finally going to be shipping the JDK 7.0 and Java SE 7.0 features next summer. I think that people can see that with the change in ownership and new momentum in the platform that there's going to be new features and new code there that they're going to get hold off.

So for some of us who were at Sun it's a little bit sad, but it's also kind of happy because this move means that code is actually going to get shipped, which is great.

Roger: Arun, you've got some stuff coming up. GlassFish up and running on Java.NET now.
Arun: Yes, finally, actually, we got GlassFish up and running on Java.NET. Some version is up and running, first and foremost. We'll get to Mercurial one day soon. Then we have BugTracker up and rolling as well. We've got mailing lists running now. BugTracker is really cool, because we've got G Ref support now. So that's pretty fancy. That's running on the all new Java.NET infrastructure, which if people remember, Kenai is all based upon that.

And then other than that, we have the website is now glassfish.java.net. Two key changes over there. No longer do you need dot-dev as part of the domain name. And the second thing is, there is no HTTPS. It's just HTTP:/glassfish.org. That automatically directs to glassfish.java.net.

So, yeah, we are very excited.

Roger: There were some announcements about XL Logic this last week. But you've seen some stuff, Danny, downstairs?
Danny: Yeah, I noticed in the [indecipherable 03:52] one is part of the larger Oracle Open World Conference. And downstairs they have two spanking new XL Logic boxes. And for those listeners who may not have heard about this, this is kind of data warehouse in a box. The kind of modular big box, you plug it together and you get your data warehouse. Best of all, it's running Java. It's running Web Logic as its deployment platform. So it's great to see that down in the show.
Roger: And then finally I think we've got some new developer virtual box images.
Arun: Yeah, that's right. We created these new virtual box images. They come pre-bundled with Jave, NetBeans, and GlassFish. So you download these virtual box images, you can use them, they are just ready-to-use images. You just download them and you have a virtual box ready, just import the image, and then you can do your full-blown Java EE 6.0 development. Because NetBeans and GlassFish are fully embedded in there. Go ahead, download them. We will include the link in the podcast.
Roger: OK. Let's turn our attention now to the events coming up. Next week, of course, we have Java One in China. Terrance, you're going to be there?
Terrance: Absolutely. And it's going to be a packed show from what I hear, 9, 000 attendees.
Roger: Yeah, we're kind of excited about being down there. Alexis will be down there, so he'll be back on the panel next week and we'll go from there.
Terrance: Also it's been announced, the dates for Java One Russia and Java One India.
Roger: So those two events will be in the spring. Russia will be first and followed by India. All right, Arun, you've got a big event coming up next week.
Arun: Yeah. We have a live event coming up for Eclipse audience, which basically shows how do you do full-blown Java EE 6.0 development using Eclipse. So we will start up using what you're options are. We have Oracle Enterprise Pack for Eclipse. And we will also show how you install Java EE 6.0 and GlassFish functionality in there. And then we'll go through the full development/deployment/debugging cycle for a typical Java EE 6.0 application. We've gotten some very good response for it so far, because we can always take more. This is a free webinar, and the details will be posted on GlassFish.org and as part of the podcast as well.
Roger: Earlier you said there weren't any open slots left. Are you maxed out at this point?
Arun: We can take more. There are slots, yes and no. But the response has been tremendous. It's just tremendous. We've got lots of feedback over here in terms of people who want to attend it. But, hey, this is a free event and we've committed to it, so we will fulfill the needs.
Roger: Sounds Excellent. Let's turn our attention to the feature interview. Terrance, you and I had an opportunity to interview Adam Messinger, who is the VP of Software Development for the Java Software Development at Oracle. So let's go directly into that interview. Terrance and I are here with Adam Messinger, who is the vice-president of Java Development. We are in Brazil. Have you been to Brazil before?
Adam Messinger: No, this is my first time. It's really exciting to be here.
Roger: What have you thought about the conference so far, the people you've met?
Adam: The turnout here is great. I'm really impressed by how many came to our first ever Java One outside the US. I also am impressed by the level of in Java here generally.
Roger: You are now in control of all of Java, not the SE side and the FX side. You also have the ME side.
Terrance: One of the first times I heard you talk, you gave a brief introduction to your background and where you came from. I was impressed that you had been involved with Java and Java technology for a long time. You have a long history going back, way back when. So maybe you want to introduce yourself to the listener a bit in your technology background.
Adam: Yeah, I'd be happy to. It's true, I think I wrote my first Java program in 1996, while I was working at Organic Online, which at the time sponsored JServe, the first Java servlet engine not built by Sun. I didn't work on that very much, but I remember getting involved in Java as a result of that. Then I moved to Web Logic, where I was a servlet guy. Finished the servelet stack, wrote the servlet clustering. I went on to be the EJB guy, the clustering guy, so on and so forth at Web Logic.

Got bought by BEA. I stayed there for several years. BEA bought the JRockit team. I was their point person to bring them on board into BEA. So I got to know the JVM level pretty well as well.

It's been a great ride with Java. I've been involved not exactly from the beginning, but for a while now. Now at Oracle, before Sun, I was running a few projects that used Java heavily, including the Coherent project, which is still in my portfolio now, and the XL Logic program, both of which are big Java consumers.

So it's great to be on both the consumer and the supplier side of the equation there.

Roger: It's kind of funny, because when we were interviewing Mark Reinhold, he said, "Yeah, I used to work with Adam in a JSR specification." He was the lead and you were part of the expert group.
Adam: Yeah. He and I worked together on JSR 51, the first nile. And I worked on plenty of other JSRs, too numerous to mention, but from servlets to JSPs, web service to EJB. So, yeah, I'm very familiar with the JCP and sort of the trials and tribulations thereof.
Roger: As well as many of the people that are involved with the projects that came from the Sun acquisition.
Adam: Oh yeah, for sure. I met them at Web Logic, then at BA, then at Oracle. We've had constant interaction between the companies. So in many cases it's business as usual. While the companies have come together, I've known a lot of these guys for a long time.
Roger: Let's talk about the thing that just happened just this last couple of days, the JCP approvals.
Adam: I couldn't be more pleased that the community's come together in favor of progress here. For folks that aren't aware of the news, the news is that the umbrella JSRs for Java seven and 8, Standard Edition, plus JSRs on Coin and Lambda are all approved by the Java Community Process Executive Committee to begin work. What I think is great about this is, a roadmap into the next couple of years for Java is now largely set. There's still a lot of work to be done, still more JSRs to be filed, so on and so forth. But the rough bit of the roadmap has now been endorsed by the community, the roadmap we put forward, Oracle put forward at Open World.

I'm really pleased to see that the community's come together in favor of technical progress, put a lot of the differences we've had over the years behind us, and we've got a clear path forward.

Roger: All the JSRs that were just approved, the Umbrella JSRs, Project Coin, Project Lambda, the other ones that were just approved in the last night, are they open sourced?
Adam: In reference, implementation for them is indeed open sourced. And the TCK is available to people who use that reference implementation downstream. I guess in that sense, they're very much open sourced. But different contributors under the JSPA choose different licensing terms around their JSRs. And I think if someone wanted to make an even more liberal one, in fact some people have made even more liberal grants than that. I think that's perfectly acceptable under the JSPA. Oracle's choice is to make the RI available under the GPL. And the TCK is available to people who base their functionality on top of that. And then other folks can arrange a different license with Oracle.
Roger: I think the basic thing is, in Mark's presentation, he said, the more things change, the more they stay the same. So basically what we're talking about here, from a licensing point of view, it's still GPL plus Class Path for most of the stuff that we're doing with the JDK.
Adam: Yeah. Absolutely. Our intent is to continue with JPL and so with all of the work, essentially, is going into the open JDK project, along with IBM's and Apple's contributions there. I don't see that changing anytime. I think it's working great for us. It's working great for a number of our customers. Red Hat consumes these bits into their iced tea distributions. That's all working well. I think GPL's really interesting to us because it encourages people to give back. So if you take the bits and you make a change to them you're obliged to contribute those back to the community.

Just as we contributed the IP in the first instance, people who use it downstream are required to contribute back. I think that's part of why we're comfortable with that licensing arrangement.

Roger: You talked about Apple and IBM, a couple of big wins.
Adam: Yeah. They've been great. I've been really pleased with the reception we've gotten with the open JDK projects. First IBM, they're really serious rivals with us in many fronts. But I think they, like us, see the value of having a consistent, high-performance, high-quality job at SEE implementation. They've been working with Sun for years to do that. But now it's a tighter integration. We'll be doing it together in a single open source project. And with Apple, they have been looking for a way to engage with the community to help support their porting effort.

Apple has had a history, I think everyone will admit, of being criticized by developers for having their versions of Java lag slightly behind the Java SE primary releases, and they wanted to address that. One way they felt they could address that is working with us and working with the community to apply more resources to it.

So it'll take us some time to close the gap. My intent is, over time, to ship all of Linux, Windows, and Mac OS on the same day from the open JDK projects. We won't get there immediately, but that's my intent over time. Where we continue to work closely on a couple of fronts with Apple; one is through a bilateral agreement through our TLDA it's called, our contractual agreement with them.

They've recently done a fairly major upgrade to their six train, and that's great. I'm happy to see that. I think a lot of developers are happy to see it. And then on the seven train, that's the part that's being done in open JDK, and subsequent eight train. In that case, I expect the deltas to go down even more.

Roger: Everybody knows now, Hotspot's the choice. It was the base choice. J Rocket was secondary. Was that a hard decision for you to go, "Yeah. I agree with this" because you were on the J Rocket side?
Adam: Well I don't know if its J Rocket's side is the right way to think about it. But I have a long history with the J Rocket team and I really respect their progress, what they've been able to do with a team the size that they had. There's no doubt I had a personal connection with them. That said, the way I approached the problem, actually, was to get the architects of both projects together, and make it their joint problem to come up with a recommendation. And I think the Hotspot guys were actually really, and to their credit, really respectful through this and gave the J Rocket guys a lot of room.

In the end it was the J Rocket guys who pushed for this. And it didn't...I don't think that they will stipulate that technically it's necessarily better, although they appreciate many things about the technology. But from a market perspective, it's no doubt the adoption winner. Right?

More ports are based on it, more people are familiar with the code base, so on and so forth. I mean, the reality is, both of them are really sound technically. So at that point these other considerations trump. So the J Rocket guys are learning C++, J Rocket was all in C. This convergence effort we're talking about, it's not a porting effort. It is a reimplementation of the best features in J Rocket on top of the Hotspot base.

In some cases that's really a major change and in some cases it can be more easily layered on top. But at the team level, it's a giant investment on both sides to, one side educate themselves about a new technology base. And another side, try to integrate these guys who are domain experts.

In terms of expertise in, say, serviceability, J Rocket guys actually have very market leading expertise, but they need the... Hotspot guys are making an investment in getting them up to speed on the technology so they can work together. So far, it's going really well.

Even though I was outside of Sun at the time, I heard these horror stories about the Exact VM versus Hotspot fights, and I didn't want another one of those. And many of the Hotspot guys have been through the first version of those, and didn't want to do another one of those.

I think I can say, at this point it's looking like we're not going to have another one of those, which I'm really pleased about. I know they're really smart guys. We found everyone. There's plenty of work to do, and we found, I think, a way to work together. I'm really pleased about how it's going.

Roger: Now we have some questions that came from a variety of people here. First one is from Terrance.
Terrance: Right. Naturally, a lot of people with the Sun acquisition, people are asking themselves, what are the priorities that Oracle has? And we've spoken a lot about that, and Oracle has made a lot of announcements around the Java strategy and the priorities. But what are the one, or two, or top three things that keep you, personally, awake at night when you're thinking about Java, the Java community, the Java platform? Maybe you want to share some insights.
Adam: To reiterate our general prioritization, I've got four priorities I try to drive everyday, and they are; keep Java vibrant so we can stay in the game. In that regard, a primary competitor is Done That, but we have many others as well. For that we need to continue to push the platform forward from a technical basis. Now on that front to be honest, it's not the one that worries me the most. It's a condition of being in the game, but I've got a great technical staff. That part I think, given the right business conditions, we can execute on. That, I think we're in pretty good shape on.

Second priority overall for Oracle is figuring out how to make money on the ecosystem. For Oracle, that's again, a fairly easy thing because we have a giant ecosystem of Java apps upstairs. So as long as we can keep Java vibrant, we'll make a bunch of money, somewhat of [indecipherable 17:42] .

So we have millions of man hours, millions of man years, probably, worth of Java code inside the company. We've got 15, 000 guys writing Java programs. As long as we keep Java alive, those guys will make money, and that pays for the whole endeavor.

And there again, I'm not that worried. Those businesses are doing great, making a good amount of money, and life's pretty good. So those are the first two priorities. I've got to work on them, but they're not actually worries.

When I get to worries it's down lower on my goals, but it's still quite worrying. And that is how to make the Java ecosystem both at Oracle and outside of Oracle profitable for developers, for ourselves, for our partners. Because I think what ultimately makes those other two pieces possible is profitability.

It's what allows us to drive some investment. A lot of the investment is justified just on the sort of the need for us to keep the platform whole, but it allows us to drive additional investment in certain vertical markets. It allows our partners to do investments around Java that make Java successful.

It's the reason Java developers choose the right programs by and large. I mean some...there are many people who don't need to make money, but by and large, Java developers write Java because they get paid for it one way or another, either because they sell Java programs, or because the company they work for sells Java programs, or whatever it is.

And so that is, I think, a key part of this, and figuring out how that works, how the value chain works in a way that is fair to everybody, but also give everyone an opportunity is really important to me.

And that's a part I have worries about, because while Sun I think was really great on the technical side, on the business model side, some places were very successful, and others not as successful, and I need to work through those to sort of make sure that that value chain works.

And not because we're a greedy Oracle. Don't get me wrong. Oracle is driven by profit seeking, but the thing that makes an ecosystem work ultimately, at the end of the day, is profitability.

You can see that in the Apple App Store example really clearly. The reason they have millions of apps is because people are making millions of dollars off of Angry Birds, or whatever it is, right? I mean that's why there are millions of apps over there, and I want the same thing for Java.

I want millions of apps. I want some guy to get rich on Angry Birds for Java, and I want that ecosystem to flourish, because that's what keeps the ecosystem alive, ultimately. That's what ultimately drives interest in these things.

Roger: OK. Another question here from one of our other evangelists. He said, "How can I get my JDK seven faster?
Adam: On the delivery of the JDK, we're paddling as absolutely fast as we can. While we have most of the features are implemented, we have a number of...a large backlog of bugs we want to get closed out, some of which predate Oracle, many of which predate Oracle. So we feel we have a bunch of bugs we want to triage and close out. And we have a bunch of platforms to test on.

One of the reasons it takes a while to ship a Java Standard Edition release is because of the number of platforms we certify on, so someone in the JRockit team told me the value profit is essentially we write C so you don't have to, and what part of that means is that we test everywhere, so you don't have to, or at least not have to as much.

You know this "write once, run anywhere" that applies to Java users, not [laughs] to JDK developers.

And so part of the reason it takes us so long to close down a release is because of that giant test matrix that we have to cover and triage bugs differently on difference platforms and make sure we have consistent level of quality across the huge number of platforms we run on, and all of that in the service of trying to live up to Java's promise of write once, run anywhere.

Roger: OK. One last question here. What's Oracle going to do to make Java successful on the desktop?
Adam: I think we have a number of things in there around Java FX that I can talk through in some detail, but I'll hit the highlights now. So with Java FX Oracle's reformulated that around a more pure Java story. And so there the primary use case is around high-performance graphics with Java, so graphics being an intensely desktop oriented feature, making these graphics features in the hardware available to the Java developer.

I think there are a lot of new applications you can write in Java now you couldn't have a year ago. So I think that's one way in which we're making java successful.

Another way is this strategy we have around running Java inside of a JavaScript environment. So there the Java programming language is Java, but the platform is not a JVM platform.

This is a little bit of a scary thing, honestly, for Oracle, because while the language is something we know and love, a lot of the value we have comes from the stack underneath the JVM, the library, and so on and so forth.

But we think it's something that we need to do for the community so we can make Java available more places from tablet devices like the iPad where there is not an easy way to get Java there today, to desktops where, while there are applets, some people choose not to use applets, and we want a solution that works there.

And so those...I think that's where the two prong store is. So on the one hand it's for native applications, it's graphics acceleration, access to more hardware features on the desktop and on client devices generally, and then for environments where Java is not prevalent a path to get it there via JavaScript and HTML.

Roger: Well, Adam, thank you so much for taking the time away from your very busy schedule, and hopefully by the time you get on your plane going home this podcast will be published.
Adam: Wonderful. I look forward to hearing it. Or maybe I don't, but thank you very much. I appreciate it.
Roger: Let's turn our attention then to the "What's Cool" segment. So, Arun, what's cool?
Arun: Yeah, I think what's cool this week really is on this trip, I've been out of home for about eight days. So this is my fourth conference on Java EE6 and GlassFish. The first stop really was at Rich Web Experience in Fort Lauderdale, got a good traction over there. The second was they invited us for a keynote for Devlgnition, which was in Washington, D.C. So went up there, then right from there to Fortaleza, Ceara Jug, and we...despite of being a Sunday, we got lots of audience over there and very attractive. They're not shy at all. That's the Brazilian culture.

And now we are here in Java in Brazil. Couple of keynotes, several sessions, and a hands on lab, and a customer event, so this week has been away from family, but lots of stuff for Oracle and GlassFish family.

Roger: All right, Danny, what's cool?
Danny: Well, I think the first one is that this is the first Java one we've done outside the U.S. ever, and it's really been great. You know I think people have really appreciated us coming to them instead of them coming to us in the U.S. And all my talks have been people crowded out the sides and sitting on the floor, and there's just a kind of great buzz here, so I really hope we'll be doing this here again next year.

And my second cool...what's cool thing was yesterday in Adam's keynote, we had a guest from TIM, which you may not know that TIM is one of the leading mobile phone carriers in South America. I think they have 47 million subscribers.

And they just rolled out this new app store. And what was most interesting was that 20 million of their subscribers have Java ME enabled phones, and they say that 80 percent of their content on the app store is going to be Java ME applications.

And you know this is one of those app stores...not one of those app stores where you have to pay as a developer to submit things. It's free. You just sign up and it's free, so it's really exciting to see this kind of more open app store model taking off here in Brazil.

Roger: After that keynote, we were able to go up and get an interview with the 10 people that were there. We'll have an opportunity to do a podcast in the future with them, probably in the January timeframe is what we're looking at scheduling that for, so I agree, certainly a very cool thing. Terrance, what's cool?
Terrance: Brazilian food? [indecipherable 26:00] yesterday evening, big group of people, bunch of the folks from the community, from the developer community. We had a great time chatting about various things that are happening in Brazil. And to me that's always one of the really important things coming to these conferences is just catching up with people, getting a feel for what's happening in the country in a particular area, and that's always very worthwhile.
Roger: Yeah, I kind of have to agree with you as well on the what's cool side. It's more the people we meet. It was funny, because when we were getting ready to walk out with Adam yesterday, we kept running into people, and we said, "Oh, this person does this, and this person does that." And we were explaining a little more about how they were involved with the Java development, and he was just...his eyes were just lighting up with all the developers that were there, and it's...the developers down here are really kind of the what's cool side.
Terrance: And also along those lines, I bumped into two guys from a mid-sized company quite close from where I live in southern Germany, and they're doing some really interesting stuff in sort of the ground-based satellite communication. And they're using Java in many of the places of their architecture and so that's again one of these examples where you make these unexpected connections, and we're going to talk to them later on and probably have a podcast on that particular architecture and that product line as well, so that's going to be interesting.

[music]

Roger: Thanks for listening to the seventh edition of the Java Spotlight Broadcast. I'm Roger Brinkley.
Terrance: And I'm Terrence Barr.
Roger: And send your feedback to feedback@javaspotlight.org.


Transcript by CastingWords