Java Spotlight 19

Roger Brinkley: Welcome to the 19th edition of the Java Spotlight. I'm Roger Brinkley.
Alexis Moussine-Pouchkine: And I'm Alexis Moussine-Pouchkine.
Roger: And in this edition of the podcast we'll do a feature interview with Patrick Curran who is the Director of the JCP. So in the news this week, Alexis, you've got some pretty big news, Glass Fish 3.1 is out and ready to go.
Alexis: It is. This is delivering on the Glass Fish road map we put out I think about a year ago, which was committing Oracle to develop clustering features and to drive Java EE an app server innovation through Glass Fish. And while sharing components with Oracle with Logic Server, things that are either common, H2 kernel, shared components for JPH, XRS, GSF, [inaudible 00:50] , but back to 3.1 which we've just released, so this is Glass Fish 3.1, it's a major version. We almost could have called it 4.0 I guess. The big theme indeed is clustering. That makes Glass Fish 3.1 the first full Java EE six server to support clustering capabilities for both the web profile and the full platform, and of course it's supported by Oracle. That's the main thing but there's a lot more to this release. Things like the centralized admin which is based on I think a quite elegant SSH provisioning, which... that centralized admin was made much more scalable.

We can have lots of clusters each of them having lots of instances, way more than we use to have. Improved embedded API, there's more fidelity to the use of Glass Fish in the standard mode with regards to how you could use it in embedded mode as well. Arrest full API was improved as well, the hybrid development of OSEI applications, packaging, things like such as JP entities as always JAG bundles, that was improved as well.

The maiden plug in, I mean there's some new features as well. Things like application versioning which is actually a community contribution, a small company here out of France called Surly. The applications called Resources, this is something where you can actually bundle a resource such as a connection filter database along with the application itself. And when you deploy the application it creates the resource, and only in that application can you use that resource.

When you un-deploy the app that resource is actually being destroyed. On the theme of aligning with Web Logic server, we actually support weblogic.xml so the Web Logic specific deployment descriptor, and there's word going on the Web Logic site to support Glass Fish deployment descriptors as well. So you really have portability of your application across the two run times.

So lots of developer and they shaped performance improvements, and one final thing is the Glass Fish server control, this is a set of add on features. This is for paying customers; this is part of the Oracle Glass Fish server offering. It adds things like a performance tuner. It adds integration with Oracle access manager and also something which I look as being one of the most interesting features which is called "Active Cash For Glass Fish."

That is really integration with Coherence Web, this will require by the way Coherence 3.7 which is soon to be released in the first half of this calendar year, but this essentially off loads all the session replication you could do to this Coherence Web, which is a distributed data grid for people that are not familiar with it. But I think this is a very nice feature which shows the commitment to Glass Fish by Oracle in general. So I'm really excited.

Lots of great features, I've probably only mentioned the major ones, so I encourage to go to glassfish.org or to oracle.com/javaee and get a copy of Glass Fish 3.1 and try it out.

Roger: OK. So let's turn our attention now to a whole different area and the Sun Spots have actually done an upgrade of their release and it's a whole new piece of hardware that's been released this last week. They've increased the RAM up to one megabyte and their flash memory increased up to eight megabytes and increased their processor speed, added some new serial lines, a variety of new things and the sensor board is changed around a little bit. It's available now on the Oracle ordering page so take a look at our show notes. You can go and see there at the Oracle store and the pricing of this has actually dropped a little bit. They've come in with a significant price; I think they're $399.00. So also in the news this week, Mark Rheinhold announced that Java SE7 developer pre-release is ready and moving. It's a preview of what will occur in the final release which is targeted for July.
Alexis: Right. And this is a follow up to the feature complete announcement from a month back. There are a lot of bugs that were fixed, about 500 of them. It's really, now a good time to test this JDK7 Developer preview because the closer we get to the release the harder it's going to get to fix a bug that you would find, and now is a really good time I guess.
Roger: So, let's finish up in the news segment. There is a whole set of Web Logic, accelatory development of Oracle Web Logic Suite, and these are weekly webcasts that are going on from February 17th through the 17th of March. The prior ones that occurred in this time period you can go back and listen to, we have that on the show notes and then you can also sign up for the future webcasts as well. So let's turn now to the events section and there are actually 14 events that are coming up in the month of March. I would say the best thing to do is go take a look at the show notes and we have a complete listing of everything there. A couple of key things to take a look with, this week Terrance is in at Embedded World which is I think it's the first through the third in Nuremberg, Germany. We have an OT and Developer Days in Boston which is still available. We know we have lots of slots that are there.

Then in Thailand there's a Java workshop in Bangkok and there's going to be a lot of other Java workshops coming up. I know on the eighth, there's one in the Philippines and in Indonesia there's one on the 10th. And then down in Bangalore Pune and Shenai from the 22nd through the 24th. So that's some highlight things to take a look at, there's also a variety of other conferences where we're speaking. So let's turn now to our fea5ture interview and a few weeks ago had the opportunity to speak with Patrick Curran who is the JCP Director, so let's go directly into that interview.

...here with Patrick Curran who are the JCP Chairman and the Director of the Program Manager Office. I guess the main thing about the JCP the first positive thing that happened during the transition during the change of command between Sun and Oracle is the fact you're still here and the JCP organization is still here.

Patrick Curran: Yes. And I am pleased and relieved about that. I have to be honest, it's been a rough couple of years. I don't want to put all this on Oracle. Oracle at least was able to bring the situation to a head and to get us past the dead lock that has been really holding us up for a couple of years now. But I must admit for the first few months it wasn't clear that we were going to succeed and were actually going to be able to move forward. But we did and I'm still here and the organization is still here and I think the good news is that Oracle has demonstrated that they have a strong commitment not to just to job and the job of community, but to the JCP. I think they wouldn't have tried so hard to solve the problems if they did not believe that the JCP was worth promoting and encouraging.
Roger: We've seen a lot of changes at least as far as members on the executive committee for various reasons, various groups have decided to come and go. But there's still a very much strong commitment to the development of the Java specifications from an Oracle perspective as well as from a community perspective.
Patrick: Yeah. I think that's true. Clearly Oracle wanted to move things forward, that was the argument that they made when we were discussing whether or not people could support us. What they said was, "We can't let things stagnate any further. It's important to move the platform forward." And in the end the majority of both executive committees said, "Yes. We may not be entirely happy about the stance that Oracle is taking, we might prefer that they do things differently. However, the most important thing is to move the platforms forward and we're very glad that you're doing that." And certainly that message has come clearly from the EC members. They recognized that Oracle is making a significant commitment here and they're very glad about that.
Roger: So Oracle has put forward some people in the past to be part of the SE EE Executive committee.
Patrick: I think it's very significant as you were referring to the situation we had in the election back in October, which was the annual elections. And Oracle proposed at that time, nominated two ratified seats. Because they have the right to nominate the majority of the members, 10 out of 15 in fact on each executive committee, but each year that amounts to either two or three. And they nominated Apache which was interesting in itself because some people may think that there was such a dispute between Oracle and Apache that Oracle would not do so, but they did. And the second candidate Hologic who was basically an Oracle customer and for the first time ever a ratified candidate promoted by either Sun or Oracle was actually voted down. The community said, "Who is Hologic? We've never heard of them. They seem to be a Oracle customer but they don't seem to be big in the Java space."

So that was an interesting lesson for Oracle that even though in theory they get to nominate who sits on the executive committee they have to pay attention to what the developer community feels. And that lesson has been very much taken to heart which is why we're several months on, and we still haven't settled the date for the special election to fill all those seats because they're working very hard to find an alternative corporate candidate and they clearly want a corporate for one of the two nominations. But it must be someone who has a strong reputation within the Java community and the person who will represent that company they want to be someone who is visible and well known.

But perhaps in an attempt to redress the balance somewhat we persuaded them to nominate a Java user group, So Java, for the second of the two seats on the executive committee. This in practice is a replacement for Apache, so we're very sorry to see Apache go but it's good that they are hopefully going to be replaced by another community organization. So Java is probably the biggest Java user group in the world. It was certainly the first Java user group to join the JCP as an organization back in 2005 I think.

And they will be represented by Bruno Souza who most people know as the Brazilian Java man or the guy with the flag. Very strong passionate supporter of open source and Java. He was probably one of the first individuals ever to join the JCP. He claims that he was the only individual ever to pay dues back in the days we used to charge a $100.00 a year for individuals.

And he says he actually paid and as far as we know nobody else ever did so that's a sign of his commitment. So I've been colleagues for a long time and very glad of the opportunity to bring him into the organization. He'll be, I think very pragmatic. He's not always going to support what Oracle wants.

He's not afraid to speak up, speak his mind. But at the same time he's more interested in working within the organization than standing outside and complaining. He's promised me that he will help us as we work over the next year or so to introduce changes into the way the organization functions, which I can say a little more about later.

Roger: Most people may not understand the JSR process. You have a proposal that you put forward, it moves on to initial approval that you can start working on things and then you go through and develop reviews, you do some public reviews and then you come through with the final ballot vote where the EC that you're working underneath does the review. This process is normally applied and mostly applied to the specifications about how we're going to run Java, the API's and what we're doing, but you actually use this process for the JCP itself as well.
Patrick: Yeah. That's right, since about '92 I think. The defined way for modifying the way the organization functions is the JSL process itself. It's like the American Constitution; you have to have a well defined mechanism for modifying the constitution itself. Well, this is our mechanism we decided since we have this JSR process and that's well defined, let's use that to modify the process itself. So in order to change the way the JCP operates or to change the JSPA which is the legal contact between members of the organization and Oracle. We actually file a JSR, we take that JSR through the process of reviewing and voting and so on. The expert group for that JSR is the members of the executive committee are themselves. So I am the spec lead and the executive committee forms the expert group.

So we have started work already, we're planning to file... I'm planning to file two JSRs in the next few weeks to start working on changes to the process and to the JSPA, the legal background to the process. The first of these will be, it's analogous to what SE guys have done with SE seven and eight. They basically said, "We'll time constrain SE7, we'll say we want to get that finished in this amount of time and we'll do whatever we can fit into that amount of time. Anything that doesn't fit there we'll put off until eight and take more deliberative process over it."

Well it's the same here. So the stuff that we think we can do relatively easily, the stuff that's non-contentious, the stuff on which everybody agrees we will put into the first JSR. And we aim to finish the net around about the middle of 2011. And the other stuff we will put into the second JSR which we'll probably finish early spring say, of 2012.

So I'm going to file these JSRs in the next few weeks. And we are in the process of working on the content, so I can't say too much at the moment about what changes exactly we'll be introducing.

But it's long overdue. It's been several years since we've had major revisions to the process. Times have changed and there's plenty for us to do. That's going to keep us busy for the next year or so.

Roger: There will be a time for public comment, so other people outside of the ECs will be able to comment on the changes that you're making here as well.
Patrick: Yeah, absolutely. I mean we've, one of the major changes we've made over the past few years is an increasing insistence, maybe is the word I should use, on doing things out in the open in a transparent manner. At the moment we simply, "strongly recommend" that expert groups behave in this way. But I expect that the next revision in the process document will mandate it.

Obviously, you meet as a group and you have telephone conferences. You don't necessarily invite the world into them. But you published the minutes of your meetings for everyone to read. You provide a way for everybody to comment on the drafts of the documents you produce. And that you do this continuously through the process, not just at the defined review stages that the process defines.

So, since we are probably going to be mandating that everybody behaves in an open manner, it would be hypocritical of us to make those decisions behind closed doors. So these expert groups themselves will be operating out in the open.

We haven't figured out all the logistics yet. But, yeah, we'll operate out in the open. We'll seek import and feedback from the broader community.

Roger: Now one of the things that happened a few years ago, it was that you opened up the JCP process to jugs.
Patrick: Yes. We have jugs as members but so far they haven't, as jugs, taken any more active role in the process. So during this conference this morning, I took the opportunity to encourage them, first of all to remind them, that because once a jug is a member, then anyone who is a member of that jug has membership privileges within the organization. They can participate just as any other member. They don't get a separate vote. That would be crazy. Otherwise SouJava would have 40,000 votes and they would run the whole show. They get one vote, same as IBM gets one vote in elections.

But their members, just as IBM's employees do, have the right to participate in expert groups, to file JSRs and be a spec lead if they wish. And as I pointed out this morning, a more light weight way to participate, particularly since many projects, many JSRs now are run as open source projects including, of course, Java SE and Java EE platforms.

That's an easy way for you to participate without having to necessarily spend, you know, 50 percent of your time. You can get the source code, you can comment on it, you can play with it, you can test it, you can make suggestions for changes and so on.

The initial impetus for jugs joining was that many individuals felt that the process of signing the legal contract which they needed to sign as individuals was more heavyweight than they wanted to go through. And what we realized was, well if a jug signs, they do that once and then all these members kind of can draft behind and become sort of subsidiary members in their own right.

The same applies to jugs as members of what we call umbrella jugs. So the jug USA was formed specifically so that anyone affiliated with it, could get the membership privileges, since jug USA is a member of the JCP. Similarly in Japan and Africa and I think those are the three umbrellas we have at the moment.

So total number of affiliated members, if SouJava alone has 40,000 and I don't know how many members, how many jugs are members of Jug USA, but we must be pushing 100,000 jug individual members. Who have directly or indirectly become members of the JCP. Now all we've got to do is harness that energy.

Roger: Now, of course, this doesn't stop somebody from becoming an individual member as well.
Patrick: No. Indeed they can and I'm sure some do. Some people want to join in their own right and I encourage them to do so. This was simply a short hand way, an easy way, for someone to join if they didn't want to go through the formal process themselves.
Roger: You talked a little bit about trying to do things in a transparent environment. What about JCP and open source?
Patrick: This is probably been the major change over the past few years. And it's clear that open source development processes and open source licensing has become increasingly popular as a way to do software development. It's not the only way. It's not the only model that works. But for many people, it's what they want. And what I've noticed is that over the years an increasing number of JSRs are being run as open source projects. And the results are being licensed under open source licenses. Probably about 50 percent of all currently active JSRs are being run in an open source manner. And the percentage is increasing yearly.

We did decide back at Sun, two or three years ago, that we needed to set an example here. That it was all very well to kind of legislate something or to mandate it. Or to state in the process document, we encourage people to use open source processes. But we decided that, you know, that was worth doing. But it would be even better if we just set an example.

That's what Sun and now Oracle has been doing, certainly with Project Glassfish and Java EE. I think it's true to say that just about all EE development is now done through open source processes. And with open JDK, we're now seeing that a significant portion of the SE development is also being done in this way.

Roger: What keeps you awake at night with the JCP process?
Patrick: Well, I'll be honest. You know, we've had a rough couple of years. We have some trust issues. We've got to rebuild trust. We've got to reach out again to the development community. We've got to start building some bridges. And we have to get things moving again. We've been almost stagnant for a couple of years and that's not good because the world doesn't stand still. So for me it has been how we can get started again. And I think now we are beginning to do that. How we can reform the organization, the extent to which we can do so. And we've got to be honest, Oracle has made it very clear that they own Java. They bought the Java assets. They are very interested in advancing it. They are willing to invest significantly in it but they expect a return on their investment.

And that doesn't always sit well with everybody out there. Although I think there is an increasing recognition that, OK. That's fair. Tell us what the rules are. Tell us how this process works. Tell us where you want us to get involved and we will do so.

So, trying to work this stuff out, trying to build the bridges, trying to reach out to developers and just getting things moving again, that's what I'm worrying about.

Roger: And you've got your passport? Are you ready?
Patrick: I told the guys today, just give me an invitation and I'll come and visit you. I want to spend a fair amount of time over the next year kind of traveling around the US and around the world, visiting user groups and developer conferences and events. And just trying to reinvigorate the organization, trying to let them know, we're back and we need you.
Roger: Patrick, thanks so much for your time.
Patrick: You're welcome. Thank you.
Roger: So the thing I liked about this particular interview was a couple of things to go back and just kind of highlight. I thought that what were important here were the changes. And that were moving forward with the JCP process, a little more the open source and more importantly the transparency as we're developing our JSRs, so. And then I think the key part there in the end was also his comments on the trust issues. That has been a big concern for a while and this is a big step forward with Patrick. He's available to go off and come and speak at jug meetings and at conferences.

So those of you who are listening that are heading up jugs or heading up conferences, Patrick would love to come and speak. He's, as he says, he's got his passport available and ready to go.

So let's turn now to the mailbag segment. Had an email this last week from Gabe R. Grossman who says, I think Java FX in Hungary doesn't have any good 250 to 300 page long free books in the markets. It's harder to begin with Java FX, SE or EE for total beginners. Microsoft has them for their own products and they're free.

So we kind of passed this around to a few of the people. I kind of liked what Simon Ritter had to say. Simon's comment was that, you know, we have a lot of demos that are available in a variety of the products that we have, that are in the free nature.

But there are a variety of books that are out, I know, on Java FX. And Alexis, you know of a lot of books that are available in the EE marketplace, as well.

Alexis: Right, although they're not free books. But there are a lot of very good books. And I think that books have value and as such it's hard to build such value and not have people pay for it. So we provide tutorials and if you're talking about two to three hundred pages long books, the Java EE tutorial is actually more than that. And it's very good, I think.

It's available as a book and you can buy it but you can also download it for free. I think that also comes down to how the communities are structured differently in the Java and in the Microsoft camp.

In the Java world everything is not centralized and it's not one company issuing products and the books that go along with it, whether they're free or not. So yeah, it takes maybe a bit more research to find the good books. But certainly for Java EE, there are a lot of them.

I know there are a number of them being written as we speak for Java SE, with Java SE7 coming out and eight, so. I think we're doing good on quality books. Whether they're free or not is probably a different topic.

Roger: Now of course there is another aspect of this, as well. And there's other ways of getting training material. I mean you have a whole series of webinars that have been based on EE.
Alexis: Right. So that's back to my point about the information being provided by different companies or even different parts of the same company, and Oracle in this case. So yeah, we have a lot of material. It might be a matter of finding it. A lot of it is free, of course. We believe adoption is key. And the documentation as well, let's not forgets about documentation. If we're talking about a product specifically, then you know, we have documentation and that is available for free.
Roger: And going back to the FX sites in specific, when we take a look at, I've been playing with the early access release. And I know that the documents inside that and some of the new applications and demos that they have there are quite good. And giving you little snippets of how things were done and directions there. So that's a great tool as well. Then a couple of weeks ago, I was in the NL jug in the Netherlands and doing the FX 2.0 early access presentation. And there were a few questions that came up that I couldn't answer.

So, first is, is there support for JMF Media in Java FX 2.0? And thanks to Brian Burkhalter, do you mean that were using JMF or do we support some format of JMF?

The answer to that question is no. We have a total new media stack in Java FX. It was written starting in November of 2009. And there were no formats to find in JMF, so no as well.

Second question was what a graphic acceleration is based upon. And it's D3D on Windows, Open GL on Mac and Linux.

What's the difference between AWT and the Java FX threads? And there is no AWT used including threads for Java FX 2.0 applications. The Java FX thread is essentially the same as AWT event dispatch thread, except that it's not, we don't do any rendering on that.

And related to that, so what happens if we have a swing of Java FX in an application? Do we have two threads working then? And the answer is yes. The Java FX thread and the rendering threads and so forth carry on as before. But the synchronization with AWT event dispatch thread is handled necessarily, is handled behind the scenes as is necessary.

So let's turn to our What's Cool section. And Alexis, do you have anything that's cool this week?

Alexis: Well I really can't get my head off our 3.1 release. So it really has to do with the fact that a very large number of the engineers on the Glassfish group actually spent time in cycles participating in what we call a blog fest. So there are just way too many blogs to count. And people are just blogging about what they contributed to the platform, or, you know, just features they really like about the product. And they're usually really short and sweet type of blog entries.

You know, it's going to take a well for me to read them all even. And I'm learning things every day. I still read them.

And a number of them have even gone through the process of creating screen casts. So we have more than a dozen screen casts coming out. And they're also highlighting several parts of new features in the product.

So really, kudos to the engineering group who's really involved, not just in building the product but, you know, getting the word out. It's great to see that.

Roger: So my What's Cool for the week, is DF jug which is down in Brasilia, Brazil, is celebrating 13 years of activity. So congratulations to that group. I've actually spoken down there once before. And great organization, great set of people and a great set of activities that they have going. So congratulations to that group as well. Thanks for listening to the 19th edition of the Java Spotlight Podcast. I'm Roger Brinkley.
Alexis: And I'm Alexis Moussine-Pouchkine.
Roger: And send your feedback, to feedback@javaspotlight.org.


Transcript by CastingWords