So this is my first keynote, and I will tell you that I’m nervous. When I was talking to Joe about it, we came up with this -- this title “Transforming Enterprise Java into an Enterprise Commodity”, there’s a lot of good buzzwords in there. I get extra credit for using “Enterprise” twice. But the way these things usually go is sort of this linear fashion of…let’s see if this works. We get this agenda, right? Lots of things to talk about. We’re going to cover all these things and we’ll have Q&A at the end. Then, somebody will usually come up with an architecture diagram. In my case, we are going to talk about service-oriented architectures with this example. There are services -- they are gray boxes in your data center. You have a couple of them. They may or may not fly around. Can anybody guess what is coming next? There is a cloud. I mean, this is…but this is the world of SOA, right? I mean, if it was the Internet, it would be cloud. When we are talking about the Web, there is a cloud too.
We are not doing this. When we thought about what to talk about, what became clear is that the one thing that distinguishes TheServerSide Symposium from other conferences -- I guess I have to say TheServerSide Java Symposium now, is that there is a community aspect to it that we forget about sometimes, that TheServerSide is not only about ServerSide technology, but it is about the community around it. Now, you are going to have three full days and nights if you attend the box to talk about technology, and there’s a great speaker lineup.
What we are going to do in the following 47 minutes is have an hour of community discussion and this is a real risk, right, because this is going to involve you. What we want to do is have everybody in this room participate, just like you do on TheServerSide. I have four friends, which may come as a surprise to some of you, and what is more surprising is they volunteered to help. Now, I want to apologize in advance to anyone who I did not ask because I actually do have more than four friends, and there is a lot of great people I could have asked, but these four understand what we are doing, and they actually are here, which was a help. What I am going to do is introduce them one at a time and I am going to ask them a question as they come up. To start, I have Cameron Purdy. Cameron, you have to stand up now and walk up to the seat here. We did not rehearse this last night. We went drinking.
Geir Magnusson: He is the CEO of Tangesol, and my question for Cameron to start it off is why do you sign your posts “Peace” on the ServerSide?
Cameron Purdy: Hopefully, my mike is on now. Well, as Hani proffered as an answer, every time I sign a post peace, some poor third world country is prevented from going to democracy by some major superpower. But the answer is actually, I think it goes back to the days of CompuServe and every thing else when -- kind of pre-Internet, when conversations and -- online conversations often lost that human feel and what I noticed was that even if you are friends with someone and when you were talking online, people took on a completely different personality. So you’d meet someone, for example, after a year of arguing with them online and obviously proving absolutely nothing, and they would have, in the meantime, basically threatened your mother, insulted your children, killed your dog in the online sense, and then you meet them and they are a 14-year-old, pimply-faced, redheaded kid, then you go, “It’s good to meet you finally” and it’s like -- I started to realize that, you know, there’s actually real people on the other end, you know, typing these responses to you. So even if I go off on a diatribe, I always like to at least end with something that says, you know, at the end of the day, we are still people, and we can still talk, so that was the answer. Geir Magnusson: Thank you. Next is Cedric Beust. I believe you know him for bunches of reasons. One of them is test NG. He is an engineer at Google and before that, he was at BEA.
Geir Magnusson: I have two questions for Cedric. One is how do you actually pronounce your last name and the second is what are you doing at Google because we never figured out what you were doing at BEA either.
Cedric Beust: Well, the first question is pretty easy to answer and I know you would like to use little tricks to remember how to pronounce names or for how to remember who is called what. I tell people to pronounce my name as if there were no ‘E’. It’s B-E-U-S-T. Usually, when I tell them that, they are like, “Okay, yeah, I think I will remember that -- Bust!” All right, closest you can go. People keep bringing that. As for what I’m doing at Google, well, of course I could tell you, I’d have to kill you after that, I’d have to kill Cameron, I’d have to kill everybody in the audience. I’d have to order a strategic strike on Las Vegas just to be sure.
Okay, in all seriousness actually what I can say is that I actually work on Java ME. I write wireless code. That may come as a surprise for someone who is sitting on an enterprise panel, but I just wanted to do something a bit different after BEA, so I decided to investigate the writer’s world, and it is quite a chance to switch from using all the latest JEE5 features and annotations and things like that and then suddenly reverting to Java ME, which has come a long way, but we are still a little bit primitive overall and, I don’t know, using hash tables and vectors is an interesting job. That’s all you get from me about this for today.
Geir Magnusson: I am happy to get that and still be alive. Next up is Hani Suleiman, who many of you will know as ‘Fate’ from the BileBlog. He is the CTO of a company called Formicary.net maybe, and there’s a question that -- so…we’ve actually rehearsed some of this. So the question I was going to ask him, when I approached him, he said “absolutely not, you can’t ask that question, nobody cares,” and then he answered it and we all started going -- that was interesting. I did not know that.
Geir Magnusson: So the question for Hani is why do you do the BileBlog?
Hani Suleiman: Well, I think that it sort of came about because I realized I was having lots and lots of conversations with different people, who are disgruntled with something or the other, and so the ideal of BileBlog is that there is a huge mass of people out there, who are less than entirely thrilled with everything that goes on, and so I figured the BileBlog is an outlet for, you know, mostly me. But those people get to, you know, think “that guy is a little weird, but some of that stuff -- I could may be if it were far more easy to read, agree with perhaps.” So, yeah, and that’s as close as you can get relating to anyone.
Geir Magnusson: Okay. Finally, our last member of the panel up here is Patrick Linskey. He is now an engineer at BEA.
Geir Magnusson: He is the ex-CTO of SolarMetric and the question for Patrick was actually pretty difficult, only because we are going off into a land where there is lots of landmines and dragons, but I am going to do it anyway and ask him why not Hibernate?
Patrick Linskey: Well. That is easy enough. You see, as an engineer, as a CTO…
Geir Magnusson: And you have to be nice, by the way.
Patrick Linskey: I had to be political and nice and everything else. But as an engineer, I can speak my heart and obviously as an engineer, my product is the best one out there. So, you know, why Hibernate would by my question. In all seriousness, I guess the reason is because my product is the best one out there. So, you know, on whatever metric you want to bring up to the table. So I would say that basically, you know, if you want high performance and you want coolness, and all that stuff you buy an expensive mashup, but if you are doing O/R mapping, you should come and use Kodo, and that’s why we’re doing the open JPA stuff. So they are…
Geir Magnusson: …at Apache.
Patrick Linskey: At Apache.
Geir Magnusson: Which is the most world’s expensive mashup?
Patrick Linskey: The world’s most expensive mashup.
Geir Magnusson: All right. So this is not going to be these four or us five talking. What we want to do is we want everybody participating somehow. This is sort of the anchor, in the sense that we’re going to always turn to you to try to keep the conversation going, but I’m not going to be standing up here. I’m going to be wandering around and finding people I know and don’t know, to either ask questions or answer questions. There are microphones for anybody that wants to stand up on your own and ask a question, participate in what we’re talking about.
To start off, we have a few poll questions and we’re not going to use the devices. This is going to be an analog poll.
Geir Magnusson: How many of you read TheServerSide? Okay. Up and there you go.
Hani Suleiman: How many don’t read TheServerSide?
Geir Magnusson: How many don’t read TheServerSide? It’s okay. I mean, you can still stay.
Hani Suleiman: I think there’s just one guy in the corner.
Geir Magnusson: The one guy right there. We know you now. You can bring the security in.
Geir Magnusson: How many of you post to the forums, participate in it? Not a lot, it looks like.
Hani Suleiman: Three people.
Geir Magnusson: Yeah. And it is hard to see by the way because we’ve got these lights right on my eyes.
Geir Magnusson: How many of you give talks? How many of you have given a talk at another conference or this conference? Okay, some, some. How many of you have used J2EE? No, have used, right? So at some point in your life, right? So how many of you have stopped using it?
Cedric Beust: On strike.
Geir Magnusson: Of you that have stopped using it, why?
Geir Magnusson: Yeah because…
Male Speaker 1: We use servlets and Web frameworks, but in my experience EJB fills a much-needed gap in the technical architecture border of most large systems.
Geir Magnusson: That means you are still using it, right? That means you are still using it. No J2EE. Okay. Oh, I see. Too slow, too complicated, too much to maintain. What’re you using instead?
Male Speaker 1: Our own persistence framework.
Geir Magnusson: Your own persistence framework.
Geir Magnusson: Okay, why don’t you want to use the existing persistence frameworks like JPA, the new one?
Male Speaker 1: (inaudible).
Geir Magnusson: Fair enough.
Hani Suleiman: Would you consider migrating to them? Would you consider migrating to JPA?
Male Speaker 1: Well, yeah…
Hani Suleiman: That’ll be a no then.
Cameron Purdy: I think homegrown ORM frameworks are actually very very common. They certainly were a few years back. I remember when we cut down on hibernating and
various JDO implementations and TopLink has basically always been there, and Cocobase was there since day one, but I remember pushing ORM out of the box solutions on people because they were spending 90% of the development cycles building custom ORM systems and then debugging them for the next five years, it’d be curious how many people actually use their own homegrown ORM versus hibernate.
Patrick Linskey: Or put it in other way. Raise your hand if you use your own ORM.
Patrick Linskey: If you’ve ever written your own? If you’ve ever used someone else’s that they wrote that wasn’t one of the products out there? If you still use it? If you write your own JDBC and skip the whole ORM crap?
Geir Magnusson: All right. I’m going to -- we have lots of these little polls we’re going to be asking, but we’ll try to mix in other things. So I’m going to ask the panel, the members of these four, for one prediction for 2006 related to Java or the enterprise or server side or you can do the wireless things you do. But if anybody else would like to offer a prediction, the microphones are right there. So we’ll start out with Patrick.
Patrick Linskey: Prediction. I predict…I have two predictions. One is that Hani will get into a big fight with somebody.
Hani Suleiman: The rest of 2006 so, yeah pretty okay, good one.
Patrick Linskey: Yeah. And my other prediction is that somebody somewhere will create a framework that makes it really easy to do all of our development and all we’ll need to do is just write some type of godawful large XML file that describes exactly what that framework has to do.
Geir Magnusson: Do you really believe that?
Patrick Linskey: What’s that?
Geir Magnusson: Do you really believe that?
Patrick Linskey: Yeah.
Cedric Beust: 2006, right in this century.
Patrick Linskey: This year.
Cedric Beust: Okay.
Geir Magnusson: Three fiscal quarters left.
Patrick Linskey: Well BEA’s fiscal quarter goes through January, so.
Geir Magnusson: Oh, I see, he’s got an extra month. Look for BEA and their XML-driven .. Hani.
Hani Suleiman: Okay, I just want to say that was the weirdest product announcement I’ve ever heard.
Patrick Linskey: You know, well.
Hani Suleiman: My prediction is that Java EE 5 will bring back all the people who are scarred and wounded and upset and saddened by J2EE as a whole, like the guy out over there I think. I think once people get past the sort of knee-jerk reaction of oh, no, it’s J2EE, you know, it’s something that’s pushed somebody from evil corporate overload. They’ll find that Java EE 5 is certainly a lot more pleasant to use, a lot more enjoyable to use, it has a sort of more natural programming style, and especially given, sort of the main feature drivers, which is ease of use, so I think that’s what is going to get a pickup a lot in 2006.
Cedric Beust: Yeah. I’m not pretty quite sure anything superexciting or superinnovative is going to happen. On TheServerSide, I think all the pieces are there and some of them are really shaping up and EJB3 is one of them. There is, however, something that has already come up in the past year, that has already created a whole new ecosystem and a whole new bunch of applications, which of course is AJAX. It’s not a prediction of course. It’s already something that’s in the past, so it’s already happening. But it is quite interesting to see that the technology that has actually been in our browsers for six or seven years, just actually started being picked up between one or one-and-a-half-year ago, and just when you thought it would just be all right, it’s just a nice technology and then we are going to move on. Actually, there is a black hole. There are more and more people who are, you know, coming to this thing and I think because it is becoming very attractive to put things on the browser, we are finally done with the boring word applications, we are going to have a whole new crop of applications that are going to leverage what we have already on the server. All these things that right now are a bit obscure, are actually going to be leveraged, and we have whole new excitement for a lot of very interesting Websites and services that we had never seen before, and mashups, things one of them, and for those of you who never heard that term, it is okay. It is just the idea of taking one service from one Website or one API and another service from another website and put them together, mash them up in another Website that combines those services.
Patrick Linskey: One of those services has to be Google maps, right?
Cedric Beust: There are plenty. We have plenty of ideas on that.
Geir Magnusson: Sort of like the base class service for everything.
Patrick Linskey: It matches something with Google map right?
Geir Magnusson: Google mash, yeah.
Cedric Beust: In a way, it is a SOA for the clients. We are already trying to pick up several services and just put them on the client so that finally, users can see that there is really some substance there and you can really help them out.
Cameron Purdy: I think Cedric’s comment that there probably won’t be a lot of groundbreaking new stuff is probably true. I mean there’s --
Geir Magnussen: Except for Patrick’s thing.
Cameron Purdy: Well yes. Actually, that would be MDA driven. I think we will see a lot of focus this year actually move back toward the desktop in that what people haven’t really realized is that over the last 12 to 18 months, there has actually been quite a battle royale brewing for the desktop. I mean you see Microsoft actually takes it seriously enough that after 4 to 5 years, they decided to upgrade Internet Explorer, which no doubt would break all those AJAX applications. You have Macintosh actually now over 1% of the market for example. So I mean, there is a --
Male Speaker 2: Because of the 86 GHz.
Geir Magnussen: Because of the 86 GHz laptops.
Cameron Purdy: And by the way, you can’t sue TSS if it actually ends up being a 1.83 GHz. There is a disclaimer just off the bottom, you didn’t see that.
Geir Magnussen: Right, your speed may vary.
Cameron Purdy: So you have the Clip Search Client Framework and then Sun, in Java 1.6, they have actually decided to make some of the things that were bugs in 1.0.2, JDK 1.0.2. They have actually decided to get some of them fixed, like this what I call the gray screen of pause. You know, various job annoyances that basically made desktop applications horrific, they have actually gone after, you know, they are working on making fonts legible on LCDs and things like that. So there is actually quite a lot of effort going into the client side of applications, but my big prediction for 2006 is I think we are going to see as well is a schism will start to appear this year. Sun is either going to significantly open up access to the control of Java, for example, allowing it to be fort, you know, assuming that the brand does not go on with the fort, things like that. Or I think you are going to start to see serious alternatives emerging as well, neither of which by the way is bad for the industry, I mean it is all part of rebirth and renewal of our industry.
Hopefully, I think Sun has been an incredible steward of Java despite all of its faults. I do not believe there is another company in the industry that could have done what they did and part of it may be the fact that as an organization, they are completely -- I got to be careful how I say this. In the areas where they really needed the partner, they may have had competing software and solutions themselves, but they proved themselves to be completely inept at actually competing against their partners in those areas. So in areas like the applications server, they allowed, you know, a variety of companies and open source projects to really flourish, and I think you see that across the whole domain of the Java space, that Sun either by purpose or by accident, has really planted a very broad garden and as an industry, we have been able to really profit from it.
Geir Magnussen: Okay, so there is a rich side of things in all of that. Nobody is standing up. So I’ve wandered out and I am just going to find people that I know and ask them how about you…do you have a prediction, James. James Strachan, responsible for all sorts of things, some of which he has just apologized for.
James Strachan: I would like to echo what Cedric was saying. I think AJAX is going to make a huge difference in how we build web-enabled applications. I think that is two big moves, AJAX and POJOs. Those are the two big big things. JPA, for example, is a much more POJO approach than entity beans. So, I think POJOs and AJAX are the two biggies.
Geir Magnussen: Okay so we’ve touched on -- we keep touching Web 2.0 sort of, right? So, this is one of my favorite questions because to me, Web 2.0 is sort of like an elephant, right -- the five blind men and everybody is touching different parts and everybody sees something different and they are all right.
Geir Magnussen: So, for Web 2.0, for -- let’s do another one of these hand analog polls, how many people think it is all about AJAX on the client side? Good. How many people see it as a server side thing, somebody? Okay, at least one person raised their hand. How about as a social phenomenon? The idea that people are interacting with each other in different ways and sharing their data in different ways. For those of you that have not raised their hand, which is --
Hani Suleiman: I have another option. How many people think what people know is about pastels and round corners, you know?
Geir Magnussen: How many of you think it is just hype? I forgot that one, you know, memory is going at this…37 years. I had down the list, so there’s some actually hype is the biggest winner here.
Patrick Linskey: You asked for predictions. I think that there is, you know, another more interesting question, which is, you know, hopes or expectations. And one of those for me at least is that somebody in 2006 will come up with a… a whole Web 2.0, what does it do and come up with a meaningful way to wire up a server side AJAX Framework with a non-web browser based client side from the picture. That is where I think Web 2.0 is just very interesting, it is when you start to not just constrain yourselves to some silly little web page that you know, your VPN goes down the whole thing has to be reloaded and when, you know, these are just writing all those crazy, you know, Java script left and right and what not, but I think that when you start breaking down the services that the server is providing for your AJAX system, and that actually put like a meaningful way, you know, whatever it is, Eclipse, SWT, AWT, whatever frontend on that is equally usable.
Geir Magnussen: So then, then it is for you not about AJAX right? Because if you have a client out there that is not browser, may not be using Java script, but still could be composing services, right?
Patrick Linskey: Yeah, it is certainly asynchronous and XML…
Hani Suleiman: Without Web 2.0, asynchronous and XML.
Patrick Linskey: Yeah, the way asynchronous, something in XML, I believe that’s right, so…
Geir Magnussen: Well, what about the AJAX clients that have stopped using XML?
Patrick Linskey: What’s that?
Geir Magnussen: What about the AJAX clients that are not using XML because there are some?
Patrick Linskey: Yeah, well they are not quite AJAX, right. They are AJAJ…
Geir Magnussen: AJAJ, you’re right…
Patrick Linskey: Yeah. Well, I think from a Web 2.0 standpoint or from the Internet 2.0 standpoint, from moving forward, what I would like to see is services that where a meaningful client not some crappy Web browser, actually shows -- like for example Google has their Google chat stuff in the mail client. It is all, you know, it is pretty cool. It seems to work surprisingly well, etc., etc., except that I have got like, you know, four Web browsers with, you know, 30 tabs in each one and when someone sends me a text message through Google mail, all that happens is like that much of my screen starts to like change color or something on the tab of the title of the one tab that happens to be the culprit. So, and then when one app goes down, when, you know, one AJAX app takes up too much, you know, just goes mad and spins the CPU, then you have to switch over to a new browser. You are back to being in this kind of least common denominator world.
Cedric Beust: Well, so I think you are already putting your finger on something that is very implementation dependent. I think the browser is still the most important thing in AJAX and that is really what people make, you know, that’s why people like it because they have their browser. They always have a browser running at any time and as much as I like also doing some you know SWT swing, RCP, client side stuff, the fact is that the reduction rate or downloading these things, updating them and keeping users updated with the features that we put in there is very hard. On the browser, we can actually push things transparently. It is a lot easier, users understand it, so the challenges now are these kinds of things that they said it is important -- then user-interface things, but nothing in AJAX that precludes from solving this. It should be transparent when the network goes down, when you are on your plan. You should be able to keep using it, but do not leave your browsers, stay in your browser, keep doing things, you just went offline for a while, and then we come back online it is going to be, you know, resolved. Well, we think the browser is still -- it is something that will keep you learning every year after year. We always try to come back on clients, may be we will eventually…
Patrick Linskey: What about a client that’s just a little browser, it’s just that separate after you run that, you know, that you’re sure that for most of your apps is cool enough to just use the browser, but the one that you use every day, that you are always using and you do not want like, you know, you went out to some, you know, porn site and it had some billion pop-unders, like -- shut down, shut down, before my manager sees.
Cedric Beust: I think that some of them have gone through this.
Geir Magnussen: So, this brings up an interesting question because I didn’t want to see where that was going to go.
Cameron Purdy: But no airplane question.
Geir Magnussen: Don’t ask me about airplanes. Inside joke.
Geir Magnussen: How many people are building applications where you worry about the client side? And I don’t mean just because you have to have Web pages, but maybe have a Swing client or a client in some other language? Okay, now, of that…I guess three biggies are what…Swing, the NetBeans Rich-Client Platform, there’s Eclipse Rich Client, what else?
Cameron Purdy: Why don’t you ask?
Geir Magnussen: I am asking. So…I’m..
Cameron Purdy: Because you got Laszlo…
Geir Magnussen: Yeah.
Cameron Purdy: …and Flash.
Geir Magnussen: So? Okay, so what are you people using say that? I notice some are trying to get…anybody that has the courage to -- oh, there is somebody standing up and coming to the mike. Maybe just going to the men’s room.
Male Speaker 3: Hi there, Ert Dredge from ABN Devices. It occurs to me that if we are talking about a world where there is all kinds of AJAX apps running in the browser and the browsers are things that people always have open, reminds of me of the ‘80s when people were talking about why we were going to have an operating system and we will have all these applications and people will download them and use bunches of those. And that happened and then people started getting worried about the security of their system. They got to start getting worried about how much effort it was to install things and now you are going to have a world where you got your word processor and your mapping application and seven other applications that you are running all in your browser, and then one crashes your browser and it takes your word processor down with it, how much can you load into a browser?
Hani Suleiman: In terms of richness of experience, I really think the desktop really is way superior to the browser and a lot of these applications are, yeah they may -- they manage to make the browser kind of work, I mean they called the Google right up there…a good example of that. They sort of work, but I personally do not actually enjoy using most of that because they just feel far more awkward than a desktop application that does the same thing.
Patrick Linskey: …pastel and round edges.
Hani Suleiman: Right, and once the novelty value wears off of having your like chat and your e-mail, and google mail, I mean, there is not much there after that, probably, I mean…
Geir Magnussen: It’s only a data.
Hani Suleiman: …data I think for may be three minutes and then it is like okay, I actually like my IM application.
Patrick Linskey: Exactly.
Cedric Beust: I beg to differ but I’d like to hear more from people on the microphone.
Male Speaker 4: Well, I had another question. We are trying to simulate desktop applications in our web browsers. We are using the web browser because of the features. We do not have to install something on the client’s side. We do not have to update it. We don’t have to, you know, it is all there for us and simplifies things for use. You click on a website and there it is you go. Is the problem that desktop application development is too difficult or that the technologies have not been there to make it easy? So, you got things like webSTAR, which makes downloading and installing an application simple and updating it simple. You have got things coming out like XUL that has been around for a while, but really has not taken off because you are doing your programming in Java script and who wants to do that, you know?
Male Speaker 4: You know, so is the problem that we have gone down this path of Web development because it is honestly easier to spit out some HTML and throw up a Web application than it is to try and build desktop application, we’ve gotten lazy and the technologies were not there and somebody should tie all this stuff together and make it explode.
Geir Magnussen: Yeah and I think you touched on something that you did not actually state, which is about deployment and management in a large organization where you have say 10,000 desktops. It is much easier if you have a browser-based application obviously then if you have to deploy binaries out to everybody’s machine.
Patrick Linskey: That is exactly what I am saying. I would like to see. My hope is that one of these days somebody will write something where you can go and you can start your company that sells widgets and that you have some cool pastel interface to it, and then if people, who use it every day, you know, people who just want to come and check it out can go to your web site. People who use it every day can click on some link which is, you know, make this available to me offline or make this available to me as a separate application, and then like Boom! the developer still is writing their, you know, AJAX style or HTML or whatever application, but the framework underlying it is in the same …
Hani Suleiman: (many people talk)
Geir Magnussen: Sort of a disconnected AJAX container.
Patrick Linskey: Exactly.
Cameron Purdy: Basically suffering is also tend to suffer from one extreme or another. For example, if you look at what happened when the application servers started to appear in say 1999, everyone was saying okay, I have got this batch application, I’ll move it into an application server, and I’ll use EJB right? Oh, I have a Web site that shows static content, I could do that with EJB say...
Patrick Linskey: Well, overall it’s a BEA requirement.
Cameron Purdy: Yes so of course, but…what you saw was just a mass of push for everything to go into an application server. Everything to be done via EJBs and now of course is the opposite we’re going to do everything with POJOs, right? All we need is a POJO and we can solve everything; and so we kind of go from one extreme to another. With user interfaces, I think the same thing occurred. The amount of complexity from managing desktop environments in large organizations is almost infinite and so what we have done is we have tried to do the same thing with the browser that we did with EJBs and application servers. We decided we would push everything into the browser and so now we end up with, you know, this chat application in a browser and we end up with word processor in a browser, you know, two things that you know make God cry. So, there’s someone way back…
Geir Magnussen: Yeah, we are going to get the aft…
Male Speaker 5: I think you have to see AJAX take a lot of the same life cycle that EJBs took. When it first came out, everybody wanted to do EJB. Let’s do everything in EJB, yeah, and check it out. Now, we realize that we made a lot of very poor architectural decisions because of that. We started making design patterns that are really not design patterns, you know, DTOs, down transfer objects, that is not really an object and no behavior associated with it. I think you are going to see that happen with AJAX. Every AJAX application that I have seen written internally in our institution so far, we have noticed major architectural decisions that were, you know, very poorly thought out, because we wanted to make it AJAX enabled, everything you know, instead of going and getting the data you need, we go out 40,000 rolls of database and put it in a drop down because hey we can Ajaxify this drop down, and people are putting that thought into it first. I think you are going to see a pretty big dip just like you saw with EJBs and then EJB 3 came out -- is coming out and everybody is going -- oh wait. No, this really is good --let’s get back on this train, so you are going to see that kind of architectural dip take place with AJAX so…
Geir Magnusson: Is that just natural evolution though, of us learning, I mean, this is a developing field, right?
Male Speaker 5: Yeah, but think about like -- with Ruby. I mean, AJAX really has not taken the buzz away from Ruby, but you know, a year ago or year-and-a-half ago, everything was Ruby. Everybody was going to bell on Java and we’re going to do Ruby. I think it is the tendency of engineers to play with the latest and greatest, not so much just even a learning curve, but “Hey! here’s something new and cool and I’m stuck on a maintenance application for the next two years.”
Male Speaker 6: Right, right.
Male Speaker 5: Let’s go do some AJAX.
Geir Magnusson: Well, we have Ruby as one of our discussion topics. Do you think that is going to be interesting?
Cedric Beust: I really think right now writing AJAX applications is a lot more challenging than writing client applications, mostly because of the tools, and if I want to ...if I need to write a Swing or RCP, I have plenty of very powerful tools, powerful languages too that go with Java, of course. Writing the equivalence in Java Script HTML, working the browser, it’s a bit like you go back in the dark ages of starting to write Enterprise applications with window 3. You are reading all Assembly language. It’s really where we are right now. So, we just started going up the stack, but it is very challenging for developers, but it is worth it because the mindshare you get with users is huge. So, we developers, get to have the hard work so that users can have it easy, and I think it’s really how it should be. There are a lot of people who choose easy ways, so I prefer to use Swing, I prefer to use RCP, it is easier for me and to come up with an application which is equally hard to do, but which on top of that will be very hard to push on users and to convince users to download and use. But we are definitely seeing lower layers on top of AJAX, and I was not interested in the lower layers of AJAX ever. I never wanted to know what is the code to determine if I’m running on IE or Netscape and all that. There is no way I’m going to deal with that. I just wanted a layer on top of that, and it’s coming. Right now, there are plenty of frameworks that do that now, where you can just ignore all those things and you have simple APIs that hide all this from you, so it is already opening up the field for a lot of people who are not Java scriptors or web developers. They are getting to feel a bit more comfortable writing applications, and we are going to keep building on that, and I’m predicting this is really going to take over the real clients, and clients have also made a lot of progress with RCP and others.
Cameron Purdy: In another 5 or 10 years, I think with the current level of investment in AJAX, we will be able to build a 3 screen application in AJAX with only about a 10x complexity over what we could do 10 years ago with VB.
Geir Magnusson: That brings up -- we’ll get to you in a second. Just a quick side question that came out of what you said. It’s a quick poll. How many -- so I want to find out what people actually do. How many people consider yourself vendors that would be building tooling and infrastructure to support people who are building apps? It doesn’t have to be in AJAX. So, a very small handful. So the rest of you use these tools for building solutions for your business? Some. All right. Good…good…good. I figured the rest of you are consultants or book authors, and I was really scared. There’s anything you want to finish on that or we go to the microphone in front.
Cameron Purdy: I just want to comment, I initially started to step up here when I heard people talking about things like Java Web Start, which I think are great tools. What – what we suffer from is not a lack of frameworks. There are way too many frameworks out there and way too much focus on frameworks. We yeah -- I mean, I’m here to, but we all spend a lot of time thinking about the technical aspects of our job and less about the business that we are trying to solve, and so that is why we end up with these overblown frameworks that you end up creating with a gigantic XML file because it is a lot more fun to write that stuff than it is to write yet another screen on top of a database, but that’s really what solves business problems. So if we -- if we ask why do we get here, I guess it’s our own fault, you know, we kind of perpetuate this year after year of focusing on these things. I just wanted to throw that out there. So how can frameworks help us out with that?
Hani Suleiman: I think...the problem is they can’t and they won’t because of the -- you know -- I mean this is one of my pet peeves, in fact, it is the personality about the framework authors, is that they want to write the stuff for no good reason.
Patrick Linskey: Well, I think that it’s ...
Hani Suleiman: There’s often no need. There’s often an existing six solutions to do the same thing, but because like you know what, I’m going to grab like these six classes from here…these 10 classes from here and it is going to be my own framework that I’m going to put out there, and then the portion across to evaluate these is like Oh darn! There’s another one I have to add to the list now, and -- but -- you know, unfortunately writing frameworks is fun, if you know, you think of it as, oh! I’m a Java developer and so I write frameworks. I don’t do any of that like high-level business processes because, you know, that’s easy. So…I mean, I don’t...
Patrick Linskey: So easy... so easy that I can’t ever get it right yet. Right. So there’s the reason I don’t want to ever do that because it is really hard.
Hani Suleiman: Yeah to actually figure out how to do it.
Cedric Beust: You know I still like that. I still like the fact that there are so many frameworks to choose from. I know a lot of people are not happy about that and keep saying what is this mess? I mean I want to write a web application, I have to buy a book that is 1500 pages long and even after that, I still won’t be sure what I need to use. I still think there is value in that. First of all, it is a good sign that Java is alive, that there are a lot of people who are thinking and trying to solve things in a…with a bigger thing. They are not just trying to solve their little problem. They have been trying to make it available to the rest of the community. As Hani said, not everybody can do that. A lot of the frameworks end up, of course, in the dark corners of Soureforge.net or Java.net, but still there is something and every time, I know one of those frameworks comes out, it is very likely that there is at least a little bit of idea there that can actually be picked up by another framework, and again, if we didn’t have that, if we were in a community where only one framework exists or one standard, and that’s how you want to have web applications, that’s the one. I would be worried. I was thinking all right…
Cameron Purdy: Yes... we got that.
Cedric Beust: I was thinking of another one.
Hani Suleiman: We got two.
Cedric Beust: I don’t think it is very healthy. It really locks everybody, the community, the developers, and the users into a mindset where there is only one solution and it can really put you in dark ages for years until somebody comes out and starts thinking of the differences. So, I encourage people to do that, but I also encourage them to keep things in mind, and very likely, their framework is not going to work, it’s not going to be adopted, no big deal. That’s how research works, that’s how science works, that’s how the JCP works, and how many GSRs are there that ended up not working at all, but it’s fine because at least 1% of them ended up being very very significant to all of us.
Male Speaker 6: So how did Linux manage to pull off the whole Red Hat phenomenon where there is kind of one stack that you can choose, but it doesn’t dominate, but it is significant enough that everyone can say, oh yeah! I will just use Red Hat and whatever tools they give me.
Patrick Linskey: I mean, I think that is also ... not very prominent in the Java world too, is that ... yeah, you have like maybe somewhere like 50 to 100 Web frameworks, but they are the big guys.
Geir Magnusson: But there are several, only several that are really used, right?
Patrick Linskey: Yeah. There I mean ...there was there, you know and across the board, you know when it goes to that persistent framework.
Male Speaker 6: Only thing it is different, that is the thing it is different in slices, right, so with Linux, you actually have these distributions, it’s like here is your whole thing. You know you are going to use this persistence framework, and this web framework, and this, you know, DGB framework and this AJAX framework and this -- you know the whole thing, this is your choices are made…
Hani Suleiman: You can change it if you want to. Yeah, it’s interesting that…but that actually doesn’t seem to or at least I think doesn’t move away from that in the Java world where you have like after or like you would use, sorry Patrick, but you would use BEA for everything, I mean, and I think now, you know and now, we’re practically worse, but now there seems to be a push, certainly I think with developers and also recognition by these companies that people actually like being able to pick their persistence and…
Patrick Linskey: I got to apologize in advance here guys, but I probably need to say that’s what is BEA’s blending strategy is all about.
Geir Magnusson: Let’s go to the front microphone.
Patrick Linskey: That’s what the corporate overlords in BEA are talking about.
Male Speaker 7: I just wanted to add one or two comments is that the way that I generally resolved the problem to build quickly is to have a project template and it may not be the sexiest thing in the world to have like a Struts, you know, projects with pitfalls but to actually present -- I may get the project running very quickly, you know, so that people aren’t building end files all the time or trying to work out how to get Swing to work with Struts, and that way you can still do job on the web, but you do it in a much reduced timeframe for projects.