Skip navigation
1 5 6 7 8 9 Previous Next

Mark Little's Blog

182 posts

I'm off to Belfast this week to give a keynote at the newly opened Titanic Suite at the Titanic building in Belfast. This is going to be a first for a couple of reasons: the building only recently opened, so this will be the first Java (and JBoss) presentation there, and the organisers have arranged a Google+ hangout with the speakers after the event. We're also going to spend some time visiting the Northern Island Science Park, meeting some of the companies there and seeing what's happening in the area. I'm looking forward to that very much because I think it's a great opportunity for me to learn about some areas of our industry that I might not see otherwise. And of course I'd be lying if I said I wasn't a little excited about the venue: I've been interested in the story of the Titanic since I was a child and watched the original A Night To Remember (I'm a long time fan of Kenneth More and those "classic movies" where fairly modern when I first saw them!) Growing up I've read a lot about the Titanic, seen various films and programs, and of course built the model (several times.) So it'll be great to see what they have in the Titanic building and I'm fairly sure I'll have the opportunity to take a few photographs of the event. So if you're in the area, come along and hear the presentations, ask some questions, have good food and drink, and soak up the atmosphere.

I'm just back from giving my keynote at JAX in Mainz. I have to say that the event was well managed and there were about 2000 people there to hear about all sorts of things Java related. The only downsides were the wireless network, which appeared to be non-existant most of the time, and that I came down with a (man) flu the day before I traveled and was definitely under the weather throughout my time at JAX. That's a shame because I really wanted to experience it and Mainz much more than I was able to in the end. However, despite this I managed to give my keynote and hopefully the fact that I had cold didn't come through and impact it. The subject of the keynote (is enterprise Java ready for mobile and cloud) is something I've spoken about before, but this time I updated the talk and went into more detail about some areas where Java and the JVM need to be improved. I got the impression during the talk that it was going well and certainly afterwards the feedback was unanimously positive. However, I'd timed it for 60 minutes, when in fact I only had 45, so the last few slides were a bit rushed. But despite that, I think the message came across: Java, the JVM and Java middleware, most certainly do have a role to play in mobile and cloud; as a Java community, the future is ours to lose, and as long as we can make the necessary changes, it should be a bright future. As I said at the end of the presentation, now is probably the most interesting time to be a Java developer with the exception of 1996 when Sun released it!

 

One thing that confused me when I arrived at JAX was that the program contained presentation abstracts in either English or German. I didn't understand why until I went to a couple of the sessions, and the rule was pretty simple: if the abstract was in German (even if the title was English), then the presentation would be in German (even if the slides were in English). Fortunately the German sessions I did go to were easy to follow via the slides, since my German is almost 30 years old and rarely practiced!

 

However, the thing that impacted me the most (quite literally) about JAX was the journey back to the airport. It started by my forgetting what time the flight was, so I had to grab a taxi instead of the train. Then I got into a teleconference as we headed down the autobahn at Break Neck mph. About half way through the teleconference (yes, Craig and Rob, it was the one we were in together!) a guy in front of us ran into the back of another car. The taxi driver slammed on his breaks and managed to stop before hitting the car in front - he didn't even need to swerve to prevent hitting. So I breathed a sigh of relief and then milliseconds later thought (and you're probably already ahead of me here!) "what about the cars behind us?!" Sure enough, one car slammed into the side of the taxi followed by another car hitting that car. So like I said, it had quite an impact! Fortunately no one was hurt, but the entire autobahn was closed. After the police arrived (one officer looking like Chris Hemsworth's Thor - you know, smiling nicely but with an undercurrent of 'don't &%^* with me or I'll smash you with my hammer') they sorted things out, but there was no way I was getting another taxi for quite a while. The clock was ticking and my flight wasn't going to wait for me. But another witness happened to be heading to the airport so he gave me a lift and I thank him very much!

 

If you're interested in seeing the carnage, then the taxi is the one closest to the central reservation (almost hidden in this view). What you can't see is the two other cars further down the road that caused the incident in the first place.

 

IMG_0260.JPG

 

So all in all, JAX was a very good and interesting conference. But next time I think I can do without the excitement on the way back from the event! (I should also add that I continued on the teleconference throughout the crash, so I don't think anyone there noticed!)

I mentioned that along with a number of my team, I have the pleasure of attending JAX Mainz in just over a week's time. I'll be giving a keynote on some of the challenges facing Java and the JVM in the future, particularly in the area of cloud and mobile. I continue to believe that these new frontiers can and should benefit from the experiences the Java communities have learned over the years. Of course there are technical challenges that cloud and mobile present which we haven't always had to consider in the past, such as scalability. But sometimes I think that the challenges aren't always technical: the "not invented here" syndrome is something I've encountered throughout my three decades of software development, so it's not just the domain of these new technological waves. But it is there and hopefully we can work together to break down these barriers. I've blogged before about how I think JBoss can help a wider range of communities than we are traditionally associated with. However, a while ago I also had to write an article that made it clear that we are still very much in the Java world. This came about because there were concerns that we may be spending more time on "sexier" languages than Java or the JVM. But recently I've started to hear another concern that can probably be summarised as: JBoss is firmly in the Java arena and has very little to offer languages that don't reside on the JVM, whether they have their roots in the 20th Century, such as C or C++, or the 21st Century, such as Go.

 

Unfortunately yet again the truth is somewhat different if you stop to think about things. Anyone who has been working in the area of SOA will understand what I'm about to discuss and if you've ever used CORBA then you're probably already at the conclusion! Like it or not, CORBA and IDL were very successful in illustrating how you can have a language agnostic approach to building distributed systems. Simply define your service or object in IDL and then have a compiler produce the associated client and server stubs. From these you can construct your application and it really doesn't need to know how the constituent pieces are implemented. And CORBA has been around long enough to support many different languages, even COBOL! Despite no longer being as popular or widely used as it once was, it and the OMG are still around.

 

Now of course you may not want to use CORBA, but the principles that it illustrated (language agnostic invocations between objects or services) can be provided in a number of other ways, several of which are also standards based. These include REST (whether over HTTP or some other protocol if you want to improve performance, such as SPDY), Web Services (yes, this is another one that will split the community into supporters and detractors, but it is very widely available and deployed), or messaging implementations such as those supporting AMQP (OK not quite a standard yet, but it's heading in the right direction and will be there soon).

 

So you can construct applications, components, services etc. out of other components or services that are not necessarily implemented in the same language that you are using currently. In fact they may not be implemented in the same language as each other, if you are using several services at once. And building applications from distributed invocations (building distributed systems) is a lot less intensive than building core components from scratch (yet again). Believe me ... I've been there, done that and got several t-shirts to prove it! You really don't want to be implementing transactions, security, persistence etc. from scratch when there are perfectly good implementations out there that can be "wrapped" in your language of choice.

 

Of course there are a different set of issues to be considered when building distributed systems. These include performance and fault tolerance, but our industry (and academia) has many decades of experience in tackling these. So they should not be used as an excuse for ignoring middleware stacks, or individual components, that exist already. And yes, although I started out talking about JBoss, this really is an argument that can and should be applied much wider. I'm not suggesting we don't consider implementations from scratch, but that we don't have that as the initial reaction to every problem that comes along! So whether you're building in COBOL, C++, Java, Ruby, Lisp etc. if you've got a need for core services that we take for granted in enterprise middleware stacks such as JBoss, don't rule out either using the entire stack or cherry picking from it just because it's implemented in Java: you don't have to know Java or even use a JVM to benefit from the years of experience and maturity we offer.

marklittle

JAX Mainz keynote

Posted by marklittle Apr 7, 2012

I'm going to be doing a keynote at JAX Mainz on the 18th of April. Here's a copy of the keynote abstract:

 

"Platform as a Service has gained great popularity over the past two years. Many vendors have rewritten their middleware handbooks, and discarded existing investments in Java EE. With the rapid growth in interest around mobile, we're starting to hear the same things: that existing middleware implementations and approaches are simply not right for the mobile developer. In short, Cloud and Mobile represent the death of middleware! However, we believe that this approach may be short-sighted and risky. Not only does enterprise Java (particularly Java EE) have a critical role to play in Java-based PaaS and mobile solutions, but it can also be used as a platform for other languages such as Ruby, that are finding growing adoption in both of these areas. The requirements for real world Cloud or Mobile applications include reliability, security, fault tolerance and much more: things that your typical enterprise middleware developer has taken for granted for four decades. In this session we will discuss the needs for enterprise Java in both Cloud and Mobile. We will also suggest how Java, the JVM and associated standards and communities need to evolve in order to better serve these two growing and important aspects computing."

 

In essence the traditional role of middleware in the data center has been challenged to expand and meet the ubiquitous computing demands becoming more prevalent. The way applications are built, deployed, integrated and managed must accommodate the rapidly evolving mobile and cloud paradigms, without sacrificing security or performance. Open Standards, and a more agile stewardship of the Java Community Process will enable developers, architects and IT executives increase return on their existing IT investment and spur innovation in next generation application environments. So if you're in the area or you're going to JAX, come along and ask questions. Of course I'll use JBoss and Red Hat technologies to illustrate some points, but the fundamental issues are relevant to other platforms and frameworks.

 

JAX this year has a great contingent of JBoss people, so even if you can't make the keynote you can still hear about the innovation that's going on. For instance, there's Jay, AeroGear lead, who is talking about the project, HTML5 and other mobile technologies. Then there's Aslak who will talk about AS7, Arquillian and lightweight containers. Kris is talking about jBPM5 and other things going on in the world of BPM. And Stef will be giving an introduction to Ceylon. Definitely a lot of JBoss goodness to keep you happy!

marklittle

QCon London 2012

Posted by marklittle Mar 9, 2012

I've been going to QCon conferences for a number of years, at least from 2008 onwards. I've spoken on a range of things, from REST through transactions to the future of Java. And throughout those years QCon has never failed to be a stimulating place with people who want to cut through the hype and get to the real problems. In short, it has always been a great place to visit as well as present at. However, it's also been a relatively small venue, which helped to foster that almost 1-on-1 interaction with people that stimulates good discussion. Until this year! I don't know what they did, but QCon London 2012 was huge and yet still manages to retain the same feel as in previous years!

 

Mail Attachment.jpeg

 

I'm just back from giving a presentation (Is Enterprise Java ready for Mobile and Cloud?) and it went well. There was a lot of interest and according to the feedback I got, 92% of the audience thought it was good The presentation and video will be up eventually and I'll try to update this posting when that happens. The entire track that I was within (the Solutions Track on High Performance Systems) was very well attended and had interesting talks. For instance, I'm an F1 fan but this is the first time I've been in a presentation where someone managed to show how DevOps can learn from the F1 teams! Funny but very informative.

 

I'm looking forward to presenting at future QCon events. However, if you've never been to one before then I definitely recommend them!

Last year I mentioned that JBUGs are really important to us and that we were starting to make some changes to improve the way we work with them. Well I can now announce some more things that are happening around JBUGs.

 

For a start we are launching a series of JBUG leader calls with the JBoss core teams. Initially due to timezone constraints this will be restricted to North America, Latin America and Europe, but I hope we can offer this around the world soon. The calls will be at 12pm Eastern on the first Monday of each month, and each call will include a JBUG-focused technical presentation about some topic of interest, previews of things to come etc. During the call the JBUG leaders will be able to tell us what else we can do to help them out as well as ways in which they can collaborate. At the moment JBUGs rarely get to help each other, so we'll be looking at some online forum or mailing list where they can chat and tell each other what works and what doesn't work.

 

What qualifies you as a leader? Well if you regularly help in putting together a JBUG then you're a leader. And it doesn't matter if you are a JBoss/Red Hat employee either - you can still attend.

 

The first meeting is on the 5th of March (yes, it's close!) And in that call we'll be talking about AeroGear. The next meeting, on the 2nd of April, will be about the JBoss Developer Framework and DeltaSpike. And during that meeting we're planning on providing some discounted access to JUDCon for JBUG leaders, so you definitely don't want to miss it!

 

So how do you get involved? Well first of all you should sign up to the JBUG pages. Next you should start to follow the @JBossUG on Twitter. That account will provide us with a way to communicate. Hopefully everyone will find this a useful start to more improvements we'll be making to and for JBUGs in the near future. So come and get involved and help us shape this future.

marklittle

JBoss 3D

Posted by marklittle Mar 1, 2012

It shouldn't come as much of a surprise to anyone here given our efforts around Cloud, mobile and JBossEverywhere, but recently we introduced what I'm tentatively calling JBoss3D, or the Three Deployments. Essentially this means that from now on all of our projects will consider the three different types of deployment environment whenever developing new capabilities: mobile, cloud and traditional. Of course many of our projects have been doing this for a while, and others have started to think about it. But I wanted to formalise this so that everyone understands that our future relies in a range of environments. So if you're in the community as a contributor or user, then please help us make this a success!

There's really not a lot more I can say to describe how happy I am that we've just released AS7.1 and it's fully EE6 certified! The entire team has worked flat out for months (years!) to achieve this and not only have they done it, but they've done it with style! I'm not going to say much more because there are a plethora of blog posts out there already telling you all about AS7.1 so you should go take a look for yourselves. All I will add is that this is the start of the final lap for the EAP 6 release, so it won't be long before we'll be offering a fully supported EE6 platform to our customers as well as the community. Just watch this space!

 

Oh and for those who didn't see Jason's original email announcing the release, here it is:

 

Hi Everyone,

 

I am extremely excited to announce that JBoss AS 7.1.0.Final

"Thunderbird" has been released. This is the first JBoss AS release to

be certified under the Java EE6 Full profile. On top of that it brings

numerous management, security, and clustering enhancements. Altogether

this was a grueling release with 590 Jira issues resolved (we only set

out to do 311!), which brings us to a combined total of 1465 issues

resolved since 7.0.2.Final!

 

So, a very large thank you is in order to all of our contributors who

had a part in this release. All of those hours working around the clock

to make this happen have finally paid off!

 

Check out the extensive release notes here:

https://community.jboss.org/wiki/AS710FinalReleaseNotes

 

As always, you can download it here:

https://www.jboss.org/author/jbossas/downloads.html

 

Thanks, and as a mentor once said,

 

Onward!

It seems that my latest article on the polyglot evolution that you're seeing at JBoss/Red Hat has generated some interest, particularly the idea that this is about continuing to support Java in a major way. Well I took a few day off recently (Valentine's weekend) and got to thinking about why this seems news when I've been saying the same thing for a long time? The only conclusion I could come to is that maybe I've been using the wrong approach when describing it in the past. So to compliment what I've already written I put together another entry, this time over on my personal blog. I'll copy a few snippets here, but if you're interested in knowing more about how and why we're approaching this polyglot, go over and read the whole entry.

 

"This Polyglot movement is a reality and it's unlikely to go away any time soon. Fast forward a few years we may see a lot less languages around than today, but they will have been influenced strongly by their predecessors. I do believe that we need to make a distinction between the languages and the platforms that they inevitably spawn. And in this regard I think we need to learn from history now and quickly: unlike in the past we really don't need to reimplement the entire stack in the next cool language."

 

"I think the kind of approaches we're seeing with, say, TorqueBox or Immutant, where services implemented in one language are exposed to another in a way that makes them appear as if they were implemented natively, makes far more sense. Let's not waste time rehashing things like transactions, messaging and security, but instead concentrate on how best to offer these capabilities to the new polyglot movement that makes them fit in as first class citizens."

I mentioned the other day that Java is still incredibly important to us as a technology and community. But what about the area of standards? Well as our representative on the Executive Committee, that is something which is never far from my mind. I've spoken many times in the past about how we think the state of Java standardisation should be improved. Whether it's in the combined interviews Mark Proctor and I did for Red Monk, on the DZone Tech Chats, or on a panel session at QCon, the message is clear: the future of Java is tied critically to the future of the way in which it is governed. We're not the only ones to call attention to the often less than open ways in which the Java Community Process has been managed in the past; even Oracle did so prior to their acquisition of Sun. However, things have been improving and although the rate of change is often frustratingly slow, at least it is typically moving in the right direction.

 

As Scott mentioned last year, JSR 348 made some changes to the process that many of us have been asking for a while and we have been practicing in the JSRs that we lead. This isn't the end of changes to that process: as announced at JavaOne last year there is now the intention to merge the ME and SE/EE Executive Committees. Scott has a reference to the current discussions on that effort in his latest blog, so I encourage everyone to take a look and raise any concerns or questions through the appropriate channels. But this isn't going to be the end. For a start there's still a lot of work that we need to do on the processes, including further simplifications and more openness. Then it is likely that we'll need to look again at the merged EC: does a 25 seat body work well, for instance. So there's still a long road to travel before we reach our destination. However, I am hopeful that we'll get there and that it won't take us another 7 years.

Unless you're still recovering from Christmas, you can't fail to have noticed that we're doing quite a bit of work with languages other than Java. Those include Ruby, via TorqueBox, Clojure with Immutant, C/C++ in Blacktie, Scala in Infinispan, Ceylon and my own person favourite Erlang (ok, that's still more a pet project for me than anything else). But does this mean that we're turning our backs on Java? No, of course it doesn't! If anything it shows our continued commitment to Java and the JVM because all of these approaches to polyglot leverage our Java projects and platforms. I've said on a number of occasions that the future of middleware isn't to reinvent core services and capabilities (check out my Future of Middleware presentation, for instance). There's also a lot more that we have done so far and will be doing in the future that should show we're as committed to Java today as we've ever been:

 

 

The links are to some things I've said over the past 12 months, but the entire JBoss team has been saying and presenting on similar topics. So I'll leave it as an exercise to the reader to find those references.

 

In conclusion, for all those people who believe that we're ignoring Java, I have to say that nothing could be further from our minds.

I'm just back from the Future of Middleware (FOME) workshop at Middleware 2011, where I was presenting a paper I co-authored on "Another Look at the Middleware for Dependable Distributed Computing". As you can probably guess from the agenda, it was a very wide ranging workshop covering pretty much all aspects of middleware that you could imagine, from enterprise through to sensor networks. Overall I thought it was great to see so many challenges still remaining in the middleware area and also that there was a lot of commonality in the way the authors, both academic and industrial, were proposing solutions: it's a good time to be in middleware research and development.

 

Screen shot 2011-12-14 at 21.16.28.png

 

So it wasn't uncommon to hear terms like "the internet of things", "ubiquitous computing" and "dynamically reconfigurable middleware". As with many of these events, it wasn't just the presentations that were interesting or worth the trip, it was also meeting the attendees and sharing experiences and thoughts. There was a good mixture of academic and industrial attendees and it was good to catch up with a few friends/colleagues that I haven't seen for a while, such as Rachid Guerraoui and Steve Vinoski (OK, I saw Steve a few weeks back at QCon San Fancisco!)

 

Unfortunately due to the time of year and the amount of work that we've got going on throughout the company I wasn't able to spend as much time at the conference as I'd have liked. So I didn't see the wider conference, only the FOME workshop. Plus, I didn't get a chance to see Lisbon, which is a great city that I've visited many times over the past couple of decades. The people are great, vibrant and friendly. And usually the weather is pretty good, though this time it rained, despite what the marketing image might suggest

 

Screen shot 2011-12-14 at 21.17.51.png

All of the papers are (or will be) available for free for a very limited time from Springer, so thanks to them for doing this. I encourage you all to go and download them because there's some really good material in there. The various presentations will be available eventually too, but I'm not sure where they will be placed (probably the FOME web pages.) Until they're available, I'll leave you with a couple of the slides from my presentation to whet your appetite!

 

Screen shot 2011-12-14 at 21.22.24.pngScreen shot 2011-12-14 at 21.22.36.png

I'm a big softy at heart: whenever I see baby photos, or videos of them laughing I go all warm and fuzzy Seeing something come to life is wonderful. So you can guess how I felt when all of the work we'd been putting in to things behind the scenes finally flourished and Apache DeltaSpike was born! This is an important announcement for a number of reasons: first, it's multi-community based, with collaboration with many other CDI projects in the open source space (there are a couple of notable absentees, but hopefully they'll come along later); second, counting the time when we first thought about doing something around CDI in a vendor-neutral environment, it's been over a year in the planning. This is only the first step though, and we'll be announcing other related activities and thoughts around DeltaSpike, Seam etc. in the coming weeks and months. And we'll be asking for the community to help guide where we go with CDI at least, so if you're at all interested now is the time to put those thinking caps on.

 

As I said, this has been a collaborative effort both inside and outside of JBoss. My thanks go out to everyone who has helped to get us here and to all those people who will surely make this a success. Not only is this a good step for Seam and CDI, but hopefully it illustrates how EE6 can be a much more open effort if there's a willingness to engage in constructive dialog. So from my team and in no specific order, I want to end by thanking Pete Muir, Shane Byzak, Lincoln Baxter, Jason Porter, Dan Allen and many others. My apologies in advance if I missed your name out! And thanks to Jim Jaglieski who helped shepherd things.

It's official now: Ceylon is close to it's first beta and the team have launched the site at Devoxx. Of course we heard about Ceylon earlier this year but the curtain really came up last week. For a project that really only took off just after I took over from Sacha, Gavin and the team have done a great job. And in great JBoss tradition, I'm not just talking about the specification or implementation, but also about the thriving community that's built up in only a few short months! It's is yet another project that I wish I had more time to commit to it, so have only been able to help on the specification intermittently and only then much earlier this year, but as they say, every little helps (no pun intended!)

 

I'm really excited by Ceylon and what it might mean for other things we're doing in Cloud and JBossEverywhere. So expect to hear more about this effort in the coming months, because just like Java, it's going to continue to evolve. And can we please stop these "my language is better than your language" arguments? There's room in this evolving polyglot world for a few more, even if just to allow people to stretch their mental legs and see what works and what doesn't. Everyone is entitled to their opinions and reasoned arguments are always allowed; but flamewars, especially if they're subjectively based, don't help anyone.

 

Onward!

marklittle

QCon San Francisco

Posted by marklittle Nov 20, 2011

Just back from QCon where I was speaking about JBossEverywhere again and with help from Kevin, also trying to reproduce the original demo. Unfortunately due to issues with the new plug computers and network limitations in the room, we weren't able to show things happening live. Fortunately I brought along the video of the JBoss World demo and showed that. The feedback we received from the audience indicated that this was something that caught their imagination yet again, as well as showing us as a centre of innovation. All good stuff and it made my fourth trip to the States in as many weeks well worthwhile.

Filter Blog

By date:
By tag: