Java Spotlight 15

Roger Brinkley: Welcome to the 50th edition of the Java Spotlight Podcast. I am Roger Brinkley.
Terrence Barr: And I'm Terrence Barr.
Roger: And in this edition of the podcast we'll do a feature interview with Bruno Souza. But let's go first to the news and in the news we've got a Glass Fish 3.1 Release Candidate one that's coming up.
Terrence: Indeed we do. This is Release Candidate so this means that in theory that could go out as is. But I'm sure we'll find things to fix that will justify maybe a couple more Release Candidates before we ship the final version later this month. And that is February 2011. We are integrating a number of new versions for sub-projects such as a new version of Mojarra, that's JSF, a new version of Grizzly, a new version of Jersey 1.5. It sounds very, very stable at this point but we still see some bugs being reported as we speak. So stay tuned for how many more Release Candidates we need to get out the door before we hit that final release button...I'm all excited about it.
Roger: OK. So we do have a number of events. So the February 1st, 10th, 17th and 24th, Oracle Web Logic Server and Java EE six - Free OTN Virtual Developer Days. Go through our show notes and you can see where you can register for those. Then on February 10th we are currently in the process of working something out with the Norway JUG and hopefully that comes together. If it does we'll make sure that that's there. Check the show notes for sure because I am fairly sure that that's going to happen. February 14th, Arun Gupta is going to be with a Vaadin Meetup in the snowy Baltic. I believe that they are actually taking a cruise for this from Norway over to Sweden.

And then J-Fokus, there will be a whole bunch of us there. Arun will be there, I'll be then and Alexis will be there as well. And then the 14th through the 16th, Mobile World Congress down in Barcelona. You can find some of our evangelists there as well as a whole host of mobile developers. They're going to be there from the Sun side and seeing what we're actually doing there.

On the 15th at 10 am, Pacific time, our boss Ajay Patel will be doing a Special Tech Cast called, "Java and Oracle - One Year Later". He is the VP of product development. Look forward to the opportunity of Oracle being able to present their view of where things are one year later. And then finally are a couple of other events here. On the 17th I will be down in the Netherlands JUG and then finally in St. Petersburg there is an all day Java event in St. Petersburg if you're in there in Russia.

So let's turn now to our feature interview and last week we had the opportunity to speak with Bruno Souza. As many of you know he was nominated for the JCP Executive Committee for the Standard Edition and Enterprise Edition. So let's go directly into that interview.

I'm here at Oracle User Group Leader Summit with Bruno Souza. And big announcement this week, Steve Harris got up in his session said SouJava is going to be nominated for the JCP SE/EE Executive Committee position. And you will be the person that will be sitting in that particular position.

Bruno Souza: Hi Roger, hi everybody. It's been an honor for SouJava to be selected. The JCP is the most important feature of Java and to be involved into the JCP process will be an excellent experience. I hope we can add a lot to value to the process. But we still have some ways to go, right? The JCP has to hold an election and we're going to have to be ratified by the members and still have some ways to go.
Roger: So let's do a little bit of background history, a little bit about you and a little bit about SouJava.
Bruno: My personal experience of Java started in 1995, a week before John Gage announced the Java, I started working for Sun Microsystems and I had this wonderful opportunity of starting working with Java on the day I joined Sun. And two weeks later John Gage made a presentation about Java and the technology exploded in the following years. And because of that I have become known as the Brazilian Java Man because I've been advocating Java since 1995. I've been through a lot of things in regards to Java from evangelism, development. I've participated in some of the largest Java projects in Brazil. Some of the projects that I participate in ended up winning Duke Awards that Java won. I have been working a lot with the Brazilian government in defining Java as the main language for government development. And I have also participated a lot on the Java in open source discussion.

So actually SouJava was able to merge the free software and the Java community down in Brazil. Had a lot of discussions around the open sourcing of Java and that helped a lot to influence eventually Sun to release OpenJDK. I was one of the signatories of the letter that started the Harmony Project at Apache. And so I've been through a lot in the Java world.

Roger: You also do the track, one of the Java track [inaudible 05:30] .
Bruno: SouJava runs the Javali Event, that's a Java track inside the International Forum of Free Software down in Porto Alegre, Brazil. It's one of the largest free software events in the world. So that's part of the work that we're doing in actually getting the Java community into free software and also the free software community into Java.
Roger: Tell us a little bit about the user group down there.
Bruno: SouJava formed in 1998. It was a merge of several Java specialists that were working together for two years. So people just started working with Java around 1996-97. We got together and created this user group, so it was mot the first user group in the country but it's very fast become one of the most important. And SouJava was incorporated, so it is a non-profit, incorporated organization. And it has done a whole lot of activities in Brazil for many years now. We host some of the most important Java events in the country. So we have for example Just Java, it's a large event that showcases Brazilian success and Brazilian projects around Java. We have the Javali event that we just mentioned. That's a Java Livre event that discuss Java in free software. We also have Sou Plus Java, that's an international Java conference. We run Abaporu, that is a Java for universities event that's very large. The last edition had a couple of thousand people.

It's a very active group. It has physical presence in five cities in Brazil and it hosts...In each one of the cities it hosts at least one or two presentations a month for user groups. So we have a few dozens presentations throughout the year and we are participating in a lot of discussions inside Brazil about Java and development.

We have been supporting the Brazilian government in its decisions about using Java in open source. We have participated in the discussions in supporting the usage of OpenJDK in Brazil.

So the group is very active, it's very organized. It has a whole lot of activities and a strong presence. In terms of the JCP, SouJava was the first Java User Group to join the JCP. Before the group joined the JCP several of the directors were already involved with JCP/JSR's. So it is a group that has the knowledge and the contacts to actually understand the needs of developers, governments and companies in Brazil.

And also has very good contacts with Java User Groups around the world so it does understand all these interactions. And has experience in the JCP itself with people that are participating in JSR's, people have contributed things back and to actually do a good work.

Roger: Tell me a little bit about the cape, why the cape? Because you don't ever wear the cape when you're in Brazil. Tell me about the reasons behind the cape.
Bruno: So it's not a cape it's a Brazilian flag and it actually started in a very innocent and non-thought way. I had to meet a group of Brazilians at JavaOne a few years ago, actually a several years ago now. And of course being Brazilians we scheduled a time and no one showed up. So I told everyone I was going to have a Brazilian flag with me so they could easily find the spot that we scheduled, because several of them had never been to JavaOne. So I wasn't sure they would know exactly where we could meet.

So since no one showed up and I had to find a way to find those people. Some of them didn't even have their tickets to JavaOne, so they actually needed to find me to get inside. So I was, "What do I do now?" And I thought about just carrying the flag with me in my hand and it didn't work very well. So I just tied the flag on my back and that's how it started. And it got to a point that the flag becomes so recognizable and I kind of tell everyone that I'm known as the Brazilian Java Man, the guy with the flag.

Roger: Now it's not necessarily, I mean the persona of you is loud and boisterous and that's the JavaOne persona because you're really trying to attract the attention of Brazilian developers to the Java platform. But that's completely different than what it's like...I mean you do a ton of work when you're in Brazil.
Bruno: Yes. It's funny that a lot of people that see the Java Man figure or the Java Man brand, I guess, think that it is a marketing effort and that it's just to promote Java and all of that. But actually especially because of SouJava, I have been the President of SouJava for many years. I'm not anymore but I was President of SouJava for many years. What happens is that there is a whole lot of activities that we have to work with. We participate on government discussions in a lot of different ways. We do lobby governments and companies and in government agencies for the usage of Java.

We do actually participate with other open source organizations in Brazil like the Free Soft Association down in south of Brazil and several other free software user groups and associations in the country to prepare and organize and describe what the reasons are for the Brazilian government and Brazilians companies to actually use and support open source.

We do prepare events and all that. And all of these are voluntary activities, right? Because I'm a Java consultant, I do Java development and I do help a lot of companies to actually implement their Java solutions. And so on my day job I have to work with Java EE, in a lot of enterprise technologies. I work with open for business that are Apache's EFP, Java based system; it's a lot of juggling I guess.

Roger: So tell me what you want to accomplish as a JCP Executive Committee member?
Bruno: So assuming that the JCP members see that the participation of SouJava is a valuable thing, what we're looking for is joining JCP to promote more participation from developers in general, and actually to promote the participation of the open source communities into the JCP. And that's like a broad statement but it means a lot of things. It means that there are issues in the JCP today, of course we all know that the TCK issue of Apache's is a strong one. But there are other issues of the JCP today that makes it harder for open source and its communities in general to participate. So for example the JSR's and expert groups, not all of them ...And actually the JCP doesn't have a mandate right now for that. Not all of them are actually participative or open, transparent discussions.

Most of the work of the JCP happens inside the expert groups. And once the expert groups don't allow people to participate, or people to actually look inside what's going on in the expert groups, then the whole process becomes less transparent because of that.

So I know the JCP has done some interesting steps in the past to actually increase transparency, and I think that right now, transparency, in terms of the Executive Committee, it's actually reasonable. All the meetings are published, and most of the discussions are available. But, the bulk of the work of JCP actually happens inside the expert groups.

So if we don't actually have a mandate, and not only mandate but actually the support, for the expert groups to be out in the open, to be discussed in the open, then it means that anyone that wants to participate on the technical discussions and wants to take a look at how things happen, they have to go through this process of actually joining the expert group.

And joining the experts group is not an easy thing to do, not only because it's hard work and has a lot of things to be done, but also because to participate in an expert group is something that is decided by the spec lead. So it means that not everyone that wants or actually can participate gets access to it.

So I think there are a lot of small changes that can be done to JCP, and I think that Oracle and other companies have already been discussing this for some time. And I think that this year, where the whole discussion of the next version of the JCP is going to happen, I think it's a good moment for us to try to nail down all this transparency and participatory issues of the JCP.

Of course, that means that, at some point, we're going to have to deal with the TCK issues and the Apache issue. I'm very, very passionate for Apache. Apache has been a model organization for me for many years, and I always loved the work that Apache did at the JCP. For me, it was really sad to see Apache step down.

And I understand and respect the reasons. So if Java can add, to solve all those issues, we can actually have not only Apache but other open-source organizations participating, I think that will only be good for the future of Java.

So that's, in a broad way, the things that we have been discussing inside SouJava right now, in terms of the JCP. And one of the things that we want to do is make sure that we can hear and make our participation a participatory activity, right? You can hear what Brazilian developers want, what Brazilian companies want, and what other Java SE groups are thinking, so we can bring all of this information, all of those contacts, all of these discussions into the JCP.

Roger: How important is it to move the platform forward? Is that the most important thing we need to do?
Bruno: If there is not an excitement around Java, if the kids in universities, in college, are not learning Java, if there are not new developers actually wanting to use the Java technology, then there's nothing for us to fight about, right? I'm not sure if the most important thing for Java is to move the platform forward. But I do think that we have to address all the issues that are preventing Java to be an exciting and thought-of technology, technology people want to learn and want to participate in.

I don't think the JCP is the only place that this needs to be done. I think that a lot of this depends on the success of OpenJDK, for example, and the success of other important Java projects, and I think that it also depends a lot on Oracle's effort into the client side of Java.

So, there are a lot of things that need to be done. But I think that the JCP itself is an important part of this, because if the new version of Java doesn't come out, if the whole process is stuck, right, then on the outside, all of us have this huge impression that nothing is happening. And I think that this is important, to move the platform forward in a broad way. And that does not mean only a new JSR, only get the JSRs done, but also all those other things I'm talking about.

One important thing that we have to understand is the JCP is a standards process. That means, a standards process is always a little bit behind what's going on on the bleeding edge of the technology, right? We should not be using the JCP, or actually any standards process, to create new technology. We should be using the JCP as a place to standardize technology.

So I think that one of the things that's really, really important for Java is the fact that we have important open-source projects where those innovations are happening, and there are people using it and there are people that can experiment with all those new ideas, so we can use the JCP to actually standardize those things. And standardizing all of those initiatives is an important step, because governments and large companies require some level of stability and standardization to actually choose a technology.

I think the model at this year's JavaOne was "I Am the Future of Java." That's the most important thing that we have is every one of us, all the developers, everyone working on open-source projects, everyone working on standardizing and evolving the technology, we are all the future of Java. And I think this is a large difference that Java has in terms of other technologies, that, actually, we can participate in the future of Java.

Roger: Bruno, thanks so much for your time. Best of luck in the nomination process.
Bruno: Thank you, Roger, and thank you, all the team that does the podcast. Thank you.
Alexis: So maybe one thing that is worth saying here at this point is that, while Bruno has been a Sun employee a while back now, he is currently the founder of a company called ToolsCloud, so he's certainly not working for Sun Oracle. I've seen people asking the question on various mailing lists, so I thought we would set the record straight on that one. And also, I think what Bruno says about the JCP being a standards body and process, as opposed to an open-source community or project, as we see them and like them, is, I think, very important, because you don't want to expect the same thing from a standards body, as open as it is.

And I think the JCP can improve, but it's already pretty open, as Patrick Curran wrote in a recent blog, as you would from an open-source project. Which, code rules, basically, in open-source projects. JCP, well, there's a bit more to it. I think the specification and the documents are at least as important as the code, or the reference implementations in this case.

Terrence: It's really, really important that, for the first time, really, a large organization, a large body of users and developers, such as the Brazilian JUGs, get a direct representation into the JCP. I think that's really, really important. And the second thing, and that's speaking to what Alexis said. Bruno is a very smart guy. He's been in the space for a number of years now. He understands the complexities of writing software, and sometimes the politics behind technologies and standards.

And I'm sure he's going to speak his mind, and he's going to hold the JCP to the fire if he thinks it's necessary and relevant on a certain topic. So I do believe he brings a very balanced view of what it takes to move the JCP and the Java standards forward. So I'm really happy that he's been nominated.

Roger: We wanted to present him, from a developer to developers, in this particular environment. I mean, that's pretty much what this podcast is all about as well, anyway, is for developers, by developers, and give you guys an opportunity to listen to his voice and to be able to hear his stance and his position. So, hopefully you've got an opportunity to do that, to hear what he had to say. Certainly, if you have any questions for him, I would certainly direct them directly to him, or you can ask them through us if you'd like to do that as well. I agree with the rest of you guys. I think he's an excellent choice here and an excellent move going forward.

Let's turn to our mailbag, then. And we had an interesting question. Dramil Dodeja was asking, "I'm looking for sample applications in GlassFish three and EJB three and JavaServer Faces 2." So, Alexis, you probably know the answer to that question.

Alexis: Yes. Let's see. So, everybody knows about the Pet Store. And the Pet Store, to be honest, hasn't been reviewed or updated in a long while, and that's years for now. So I wouldn't recommend this at this point. Now, the other thing is that the question mentions GlassFish 3, EJB 3, JSF 2. So, EJB three is part of Java EE 5, while JSF two is part of Java EE 6. So if the question specifically relates to EJB three and JSF 2, I don't think I have an obvious answer. If this is about recently technologies, as in EJB 3.X...So that would include 3.1, which has a lot of new features, and basically the Java EE six platform...I would recommend a number of places.

So, there are two projects on Kenai that we will have links in the show notes for. The first one is "Design Best Practices, " and that's what Adam Bien is doing. He has lots of small working code snippets to illustrate specific areas, and I'm sure he has something on EJB plus JSF.

The other project is called "Beginning EE 6, " and that's what Antonio Goncalves started off, when he was writing his book on Java EE 6. And that one has all the samples from his book, and actually a lot more. I worked with Antonio to build hands-on labs and a tutorial, which has somewhere in the 15 different samples, and certainly we do have examples for EJB and JSF.

So hopefully, between those two, you would have yourself covered in terms of samples for Java EE six in general and JSF and EJB specifically.

Roger: Turning now to the "What's Cool" section. So, I think what's cool...We talked about this a little bit last week...Was the Oracle Java User Group leaders meeting, the summit that we went to. And that was definitely a great opportunity. There are a lot of things that came out of that. I think Angela was talking to some people from down in Costa Rica and Central America, talking about the possibilities of coming down and doing some sessions with them. Great opportunity there. I was talking with some people down in Australia as well about doing stuff. The Netherlands JUG meeting that I'm going to on the 17th, which is going to be right after we do the JFocus thing, all came about from this Oracle User Group meeting.

So it's a great opportunity. We look forward to seeing that in the future, having more JUG leaders involved with that process. I know the guys that were there were very excited about it. So it was a great conference to be able to go to.

Alexis: So, what's cool on my side is that we finally got a fairly decent webinar out the door last week. We actually managed to have...I don't have the final numbers, but I think had close to 500 people connecting, if not more, and it actually went fine. We had a number of technical difficulties. I think last week's was the best one so far. And certainly, we've had replays for all of them. So whether this is for Java EE six and Eclipse, Java EE six and NetBeans, or building web applications with Java EE and all the upcoming webinars, we'll have the replays on the YouTube channel for GlassFish. The live part, I think, is interesting, because you get that live Q&A session as the session evolves, and there are a number of people standing by to answer your questions. Last week's was, I'd say, an OK experience, and hopefully it will only get better from there.


Roger: Thanks for listening to the 15th edition of the Java Spotlight Podcast. I'm Roger Brinkley.
Terrence: And I'm Terrence Barr.
Roger: And send your feedback to

Transcript by CastingWords