Wednesday, November 30, 2011

What's new in Java 7? - Part four

The fourth part of my German article series on heise.de/developer went online this morning. It is all about overall integration topics with Java 7.

Starting with the updated standards and specifications (XML, Unicode, Security) this is also covering client news and other areas the former three articles left open. This is the last part of the article series. I really enjoyed doing it and I hope, you had a chance to dive into the details. Fact is, that the evolutionary release isn't packed full with new features. If you stress the details a bit, you can come up with 55 and even some more. Compared with what to expect for Java 8 this is surprisingly little. But the most important part with Plan B was to give to the community again. And this was a complete success. Java is moving forward and I really enjoy seeing all the Java based products moving their support up to the latest release.

I'm looking forward to your comments and hope you enjoy it. Read it; for free, German and online. http://heise.de/-1385757

Monday, November 28, 2011

I'm speaking at Jfokus 2012, 13th-15th February 2012 in Stockholm

Jfokus is the largest annual conference for everyone who works with Java in Sweden. The conference is arranged together with Javaforum Stockholm. Javaforum is a Swedish developer community and an official Java User Group (JUG) with premier purpose is to support Swedish developers.

During three days, 13-15 February, you will have an unique opportunity to keep yourself updated with the latest development of the Java platform through numerous interesting sessions.

Jfokus gather rock-star speakers, both from Sweden and internationally. The focus is system development with Java and surrounding techniques like dynamic languages and agile methodologies. Jfokus is the best way for you to get the latest trends and buzz about Java from people who live and breathe technology on a daily basis.

Until today I haven't seen a complete schedule but some rock-star speakers are in the program line-up already: Arun Gupta (Oracle), David Chandler (Google), Bert Ertman and Paul Bakker (Luminis Technologies), Robert Nyman (Mozilla) ,Greg Luck (Terracotta), Angelika Langer, (Angelika Langer Training/Consulting), Rebecca Parsons (ThoughtWorks), Heiko Seeberger (Typesafe), Fabiane Bizinella Nardon (RBS).

I am very very happy and honored to attend and I am really looking forward meeting all those great people! What am I presenting about?

Java 7 - State of the Enterprise
"With Java 7 being GA you can start thinking about putting it to work in the Enterprise. But what are the challenges? How does the adoption path look like? What are the reasons you should do it and when? This session looks at the details about putting Java 7 into production. Tells you about things to keep in mind and gives a brief overview about how Enterprises would put it into production."

Find JFokus on Lanyard. Read about past speakers on my related blog-post.

Tuesday, November 22, 2011

The Heroes of Java: Andrew Lee Rubinger

The seventh part in my Java interview series: "The Heroes of Java".

Andrew Lee Rubinger
is a senior Software Engineer at JBoss by Red Hat. He is primarily tasked with development usability in Enterprise Java. He is the author of "Enterprise JavaBeans 3.1" from O'Reilly Media. Prior to employment within open source, he was an early adopter of Java EE technologies and community contributor from within the private sector. Andrew's interests are in advancing the success of open standards and easing testability. His role as Core Developer within the Application Server is supplemented by leading the Embedded and ShrinkWrap subprojects.

General part
Who are you? 
How existential. :) I'm a programmer with the JBoss Community - employed by Red Hat and tasked with development usability in Enterprise Java.

Your offical job title at your company?
I put the "gin" in Senior Software Engineer.

Do you care about it?
Not tremendously. It's an internal title they assign for use inside Red Hat, and luckily I'm employed in an environment where your ability to raise technical arguments isn't impeded or bolstered by your pay scale.

Do you speak foreign languages? Which ones?
I'm mostly limited to English.

How long is your daily "bootstrap" process? (Coffee, news, email)
Email takes close to an hour each morning. News flows through the day, and I end up doing my most focused programming work in the evening or night when things have quieted down.

Twitter
You have a twitter handle? Why?
I do. @ALRubinger. Twitter's been a helpful tool in terms of recruiting and communicating with our community. In open source, accessibility and limiting the barriers to entry are very important in terms of getting a project off the ground, and Twitter is a component in that equation.

Whom are you following in general?
Primarily coworkers, colleagues, and others in the Java space, with a few limited exceptions.

Do you have a personal "policy" for twitter?
Very generally speaking, Twitter is my public-facing professional persona. Rather than wrestle with privacy and visibility settings in other social media, I exposed out different personalities through separate sites. Twitter for work, Facebook for my personal life, Google+ for...well, I haven't figured how to fit that into the workflow yet.

Does your company restricts or encourages you with your twitter ussage?
JBoss has a culture that encourages us to be public advocates for our projects. This is great at keeping us honest; when your developers are on the front lines, they get feedback early on in the design process. A lot of us like to stay engaged in that manner, and it's nice to be granted the freedom to speak in our own words for the better of our projects, the greater community, and our employer all in one go.

Work
What's your daily development setup? (OS/IDE/VC/other Tools)
I've been running some flavor of Linux for years now, and it's typically Fedora. I found Fedora's switch to Gnome3 a bit premature and lacking in support for programs I use, so for now I'm on Ubuntu. Eclipse is my standard IDE, though I'll dabble with IDEA from time to time. My projects are on a standard Maven build and backed by Git and GitHub.

Which is the tool providing most productivity to your work?
Oddly, GitHub. What I thought at first was a simple SCM change actually brought about a new league of community contributors. The social angle to coding worked for us very well, and the proof is in the commit logs.

Your prefered way of interacting with co-workers?
It's honestly situation-dependent. Day-to-day, it's IRC. For more involved high-level discussions, Google Hangout (video chat) is very nice. On the times we get together in person for meetings or conferences, we've typically stored up a lot of ideas and the face time is very efficiently-used. For design discussions with a larger group, I like the forums.

What's your favorite way of managing your todo's?
Pen and paper. I write down a couple of things to do that day, at minimum. Because with constant email it's easy to get thrown off course. And important emails I open in a new tab which I'll close after I've replied.

If you could make a wish for a job at your favorite company: What would that be?
I'm already here. I have a voice in affecting the direction of the technologies I love, and the freedom to work when I'm feeling most productive. I'm not bounded by geography, and my coworkers are some of the most inspiring in the business. Anything I can't accomplish at JBoss is probably my own fault.

Java
You're programming in Java. Why?
I started in Java, and it hasn't lost its relevance.

What's least fun with Java?
Java the language is verbose by today's standards, and lacking some key properties we've seen in newer stabs. Reified generics, immutability by default, and compiler support for hierarchical metadata are exciting concepts.

Java the standard library is riddled with complex or unintuitive APIs which we cannot ditch due to backwards-compatibility constraints. I also tend to dislike mechanisms which rely upon command-line options, one-time-only initialization, or other aspects which tie into the environment too tightly and make testing difficult.

Java the runtime, however, is just now beginning to stretch its wings.

If you could change one thing with Java, what would that be?
I honestly wouldn't seek to change the language too much. It's important that Java remain a nice common denominator that's familiar to all, while at the same time we expand upon the support for other JVM languages.

What's your personal favorite in dynamic languages?
I don't have one. Rather, if there are things I like about dynamic languages, the lack of static typing is not one of them. Passing functions as arguments is something I've always liked, however.

Which programming technique has moved you forwards most and why?
When I first joined the EJB3 project under Carlo de Wolf, he spent a few years drilling into my head the importance of separation of concerns. Down to the finest level. It's about more than code reuse; it's mostly about making sure you don't overstep your bounds and bite off more than you can chew at once. You should decompose all problems into the smallest bits; then they're easy to solve. And if you're lucky, you'll find some other sap to worry about integrating them back together later. ;)

What was the biggest project you've ever worked on?
Probably the JBoss Application Server, in that it's got a near ten-year lifespan now. But as with any decent project we rebuild from time to time. But it's definitely the biggest brand with which I've been associated.

Which was the worst programming mistake you did?
Oh, there's too many to name. I have a tendency to type before I think. I'm probably a terrible coder.

But I make up for it. With discipline. I make sure that every feature I write is tested. That's what drew me to working in development usability. Because for me, testing *is* development. And I get a lot of satisfaction seeing a little green bar in the IDE which tells me that everything is OK. I'm unsure how many true bugs have been issued against "ShrinkWrap" in total, but that number is insanely small because we prioritized the construction of a killer test suite from the project's inception.

And that's the same kind of experience I want to bring to developers of Java Enterprise applications, and it's why I work on the areas I do. If you're anything like me, you suck at programming too. Embrace it, because with the right guards we can still do some very quality work.

Wednesday, November 16, 2011

My Doag 2011 Slides

Here we go. The first presentation was a success. Thanks for all attendees. It was one of the bigger rooms and I enjoyed it :) I will upload the slides after the talks to my slideshare account. In the picture below this is me giving the talk about Java EE 7. A big thank you to Andreas Koop for taking it!!!




And the second presentation which wasn't held at all. It's only for your reference :)

DOAG 2011 vs. Devoxx - Value and Attraction

Yesterday DOAG 2011 started in Nuremberg. I am with the German Oracle Users Group since some years and it is always a pleasure to contribute to this great conference. A little drawback is, that Devoxx is going on in parallel and I am really sad to see so many people over there in Belgium which I would have loved to meet. I guess, that is what happens if you have different conferences going on in a very short time frame: you have to make hard decisions about which one to attend. And even if I have spoken to Stephan and Fried about if there is any chance to align the two conferences, it seems as if this is not going to happen. So, here are my thoughts about which of both brings more value to you.

Being a regular reader of my blog you are interested in Java EE, Oracle Middleware (WebLogic or GlassFish) and probably some other products related to the former.

DOAG is about the Oracle Community
Picture of me, drawn by an artist
sitting at the Fujitsu booth. I love it :=)
DOAG likes to call themselves the "Oracle community". The conference is the annual get-together of Oracle users for 23 years now. Three days of knowledge, current information on using oracle solutions successfully, and the exchange of hands-on experience are the values which differentiate them from others. A very special focus lies on having mostly German content. Even if this changed over the last few years and you see more and more English speakers around, it's still a mostly German speaking event. They are supported by some of the German and European based Oracle ACEs and lot of the current information comes directly from Oracle speakers coming over from the HQ for this event. The Java related content is weak. Sorry to say, but I believe that the "Java Track" suffers from having big competition with Devoxx. Another point is, that nobody is expecting pure Java content at an Oracle products focused conference. There is a little (friendly) fight with the UK'OUG going on about who held's the biggest European Oracle conference. I personally believe that they are more or less equal in size (according to the numbers I have heard). I cannot comment on quality because I have never been to the UK'OUG conference.

Devoxx is about the Java Community
The Devoxx is "The Java™ Community Conference". Rebranded from former JavaPolis it's basically the conference of the Belgian JUG. With it's no1 speakers and topics it has become one of the main Java conferences around. The Devoxx conference is a special blend of many IT disciplines, ranging from Java to Scripting, FX to RIA, Agile to Enterprise, Security to Cloud and much more. Compared to others it might only have one real competitor which is JavaOne. Stephan is doing a splendid job attracting the right kind of speakers to have a real first class line-up. One big plus is the fact, that Google isn't preventing their guys from speaking there. Even if it is in Europe this is an English speaking conference.

DOAG vs. Devoxx
What is that all about? Oracle vs. Java ?? Probably. Two of the bigger European conferences with different focus areas make it hard to decide which one to attend for people being with one feet on each side. Writing this blog post was helpful for me to decide what my personal options are for next year. I would love to be in Belgium and meet again with the Java Community. But there is also this little red devil on my right shoulder telling me, that I should keep in touch with the latest in Oracle related developments. If you are in a similar situation, you are now waiting for a recommendation, right? Here it is: It's brief and short: Looking for Oracle products, come visit Germany. Looking for the best Java related content out there beside JavaOne? Visit Devoxx. If you have interest in both areas, you will have to make your own decision and try to focus on the part that is most valuable to you.

Friday, November 11, 2011

The Heroes of Java: Michael Hüttermann

The sixth part in my Java interview series: "The Heroes of Java".

Michael Hüttermann
is a developer and coach on Java/JEE, SCM/ALM, SDLC-Tooling and agile software development. A Java Champion, he is certified as SCJA, SCJP, SCJD and SCWCD, a member of the JCP and Agile Alliance, java.net JUGs Community Leader and founder of the Cologne Java User Group.

General part
Who are you?
I'm self-employed consultant on Java, Agile and build-, config-, deploy-, requirements-, release-management, what I sum up with "ALM" (a bit simplified here). In most of the projects I'm engaged as a developer, build/release engineer, or coach. I also give seminars on these topics.

Your offical job title at your company?
I'm freelancer thus I implement all possible roles myself.

Do you care about it?
No. In projects though, it can be essential to define roles and shape responsibilities. Many projects feel comfortable with driving an integrated approach to roles, for example aligning the technical staff to be "the team", coders and testers to be "developers" or developers and operation staff to form "DevOps". This is a good approach to foster communication and improve collaboration. Some situations require a more structured setting though.

Do you speak foreign languages? Which ones?
Besides English I speak Kölsch, although the latter is not foreign if you live in Cologne. My lessons in French are too long ago unfortunately. I find it crucial to learn and speak at least one foreign language: to express yourself in other languages, and to keep busy with other countries and cultures, all that helps you to develop yourself forward.

How long is your daily "bootstrap" process? (Coffee, news, email)
That depends on the situation. Reading the newspaper and having a coffee takes some time, but actually, I don't have a "daily bootstrap process" in that sense. Often I don’t read mails in the morning in order to focus on other activities first, for example development. I try to find a smart and productive way to start the day.

Twitter
You have a twitter handle? Why?
Yes, @huettermann. "Why" is a good question. Maybe the reason is that Twitter is a convenient way to inform the world about something that it did not wait for or already knows from other communication channels.

Whom are you following in general?
Basically, I follow people who add value to my Twitter timeline based on my current interests and activities. I try to manage an individual value stream, not a heavy loaded wave that I can only follow technically without following the real content of its tweets. Thus maybe there are many people I should follow, but in practice I don’t. Twitter can be a productivity killer if you are watching a scrolling timeline all day long. It is so easy to just be “busy” without focusing on effectivity and efficiency.

Do you have a personal "policy" for twitter?
General communication rules apply to Twitter too including "Don't tweet something about others that you don't want them to tweet about you". Another policy for me is "Don't bash other technologies or concepts" because that's not constructive and is just boring. Regarding Twitter, in particular: "avoid tweeting about your visible appearance in the early morning".

Does your company restricts or encourages you with your twitter ussage?
Nowadays it is more and more important to discuss with others and foster knowledge transfer and knowledge sharing, on many different channels.

Work
What's your daily development setup? (OS/IDE/VC/other Tools)
The setup totally depends on the project context and individual requirements. I like best-of-breed tools that allow to work in a productive way. You get a good impression about what dev environment I personally prefer from having a look into my recent book Agile ALM. There I cover version control systems like Subversion and Git, continuous integration servers like Jenkins/Hudson, TeamCity, Bamboo, and many other handy tools.

Which is the tool providing most productivity to your work?
Coffee.

Your prefered way of interacting with co-workers?
Face to face. I still believe in the value of direct and personal communication. Other channels including mails and meetings are the more appropriate solution in specific cases though. Many topics can be clarified asynchronously, thus a mail is a good fit. Meetings should be avoided whenever possible. If a meeting is really necessary, it should be well prepared including sending an agenda before the meeting takes place. Otherwise, a meeting can result in just being “busy” without focusing on concrete tasks and concrete results. By the way, just using many different communication channels in parallel does not necessarily mean that you work with your colleagues in a collaborative or somehow better way.

What's your favorite way of managing your todo's?
Personally I define goals for weeks, months and years. I assign priorities and try to find out context parameters, restrictions, relations and so on. I try to avoid adhoc activities, though there is a reserved slot for that too. In projects, the favorite way of managing tasks depends on the situation and the overall context: using a type of backlog is often an approriate solution. Sometimes a WBS is most useful, sometimes a more heavy-weight project planning vehicle. If you could make a wish for a job at your favorite company: What would that be? I'm already doing what I like most. No further room for improvement.

Java
You're programming in Java. Why?
Java is an all-purpose business language but also a platform and a set of APIs. This makes up a great ecosystem and a great, mature infrastructure. The language Java is powerful and innovative, and thanks to Oracle, it's developed further in an attractive way.

What's least fun with Java?
Java is slow. Stop, that was a joke, sorry about that, although I still hear this statement from time to time. Honestly: the bootstrapping process is sometimes suboptimal meaning achieving first good solutions while starting from scratch. Here I don't mean to hack together some HelloWorld classes to show that an API works, rather to design and code enterprise-ready solutions in a real- world project context.

If you could change one thing with Java, what would that be?
Java is moving forward, that's good. Instead of dreaming of new specific features for next Java versions, I more prefer improvements in the process itself that should result in transparent, collaborative and frequent new Java versions. JCP.next/JSR348 is a very good step in this direction, and Oracle does a great job in bringing Java to the next level. What I’d like to add regarding specific new future Java features: as a matter of fact, having Java on the market for so many years now, any new language feature can’t be that killer feature that would save the world. Additionally, using other languages on the JVM already enables us to use other features and other styles without using the language Java itself.

What's your personal favorite in dynamic languages?
First answer is Groovy because of it's powerful adoption level and ecosystem, for instance the build system Gradle. Abstracting away from the typing system, also Scala is a "dynamic language" for me in its classic sense. That's the reason why I cover these two languages, Groovy and Scala, in my book "Agile ALM". I find it helpful to develop solutions in a collaborative, dynamic way, and to set up a mash-up of tools and languages that best fit to a given task. That's what makes up an Agile AlM.

Which programming technique has moved you forwards most and why?
It's more a zoo of many different complement techniques instead of the one that rules them all. Many agile practices influenced me including TDD and pair programming. On a meta level, the technique of "continuous improvement" adds much value by reviewing what you and the team have done continuously. Of course there are many other influencing aspects. One crucial aspect is experience.

What was the biggest project you've ever worked on?
The answer depends on how you define "big". I'd prefer to talk about "challenging" instead of "big". Lucky enough I had the opportunity to support many different projects that were challenging regarding team size or team setting, challenging regarding the non-functional requirements, and so on. Besides that, I'm not proud of any "biggest solution" or find that of any special interest, rather it is more satisfying and interesting for me to help to create solutions (not only some random increments) that provide a great mapping from the problem domain to the solution domain. That also conists of providing a simple solution with minimal accidental complexity and maximal value for all stakeholders, especially for the person with the money (the customer) and the person who is affected by or affects the solution (the user).

Which was the worst programming mistake you did?
Generally, the next one is always the most annoying. :-) Hopefully many of the defects are identified early by the respective process, thus a mistake should never become "the worst one", rather just a learning opportunity. You should also keep in mind that a “mistake” is often just the result of a wrong or incomplete understanding, of requirements for example, or a defect in the development process. The worst case that can happen with mistakes is that you and the team repeat them: repeating mistakes is really something that you should avoid.

Monday, November 7, 2011

Review: "Oracle Weblogic Server 11gR1 PS2: Administration Essentials" by Michel Schildmeijer

Oracle's WebLogic 11g Server is an application server for running your enterprise Java EE applications. WebLogic's infrastructure supports the deployment of many types of distributed applications and is a foundation mission critical applications. This book is promising to guide you through the important administration aspects of WebLogic server.

Oracle WebLogic Server 11gR1 PS2: Administration Essentials is announced as a focused step-by-step tutorial that provides an overview of the important administrative tasks performed by WebLogic Server administrators.

Abstract: This book will teach administrators the techniques for installing and configuring Oracle WebLogic Server and how to deploy Java EE applications using the Administration Console, command-line interface, and scripting tools such as WLST. It starts with a good overview of the techniques needed in the middleware world of today. Clear explanations of definitions and concepts of Java EE and how Oracle WebLogic fits into this picture are also provided. The book then dives into performing routine Oracle WebLogic server administration functions, and how to deploy different types of Java EE applications to WebLogic server.

Book: Oracle Weblogic Server 11gR1 PS2: Administration Essentials
Language : English
Paperback : 304 pages [ 235mm x 191mm ]
Release Date : September 2011
ISBN : 1849683026
ISBN 13 : 978-1-84968-302-9

About the author
Michel (@MNEMONIC01) was born in the Netherlands in 1966. He studied pharmaceuticals, and after military duty he started in industrial and hospital pharmacy. Because he got more involved in computers, he made the change to IT in 1996. At this moment he is an Oracle Fusion Middleware Architect at AMIS, with focus on technical infrastructure, server-side solutions, installing, administering, and configuring the Oracle Fusion Middleware stack. His experience is from integrations at telco's using Oracle AIA, Oracle Portal, OID, Forms & Reports, and Discoverer up to the latest Oracle WebLogic 11g releases with practically all Oracle products running on top of it.

He has a special interest in developing tools for administrators and automation of common administration task, so he has in-depth knowledge of the Oracle WebLogic server and its hidden secrets.

The content
First thing to notice is, that my most hated short form of Java EE is used through out the book. You find JEE all over the place. This really looks weird to me and still makes me believe, that someone isn't actually caring here.
But let's start with the content. On page 7 you start over with chapter one.

Chapter 1: Oracle WebLogic: Your First Step into the Middleware World!
All the basics about middleware servers, Java EE (!) and it's contained specifications in a very condensed fashion on 20 pages. You also get a brief introduction into WLS concepts and the overall architecture of WLS.

Chapter 2: The Beginning: Planning and Installation
This chapter circles around the right hardware to use, the system requirements and the different types of installations.

Chapter 3: Oracle WebLogic Software Installed; What's Next?
Looks at WLS domain concepts and how to configure them. You learn about administration modes, templates and domain creation.

Chapter 4: Getting in Control
Is all about system administration and it's tools. You learn how to fire-up your server, get to know about server states and limiting load on the instances. Even WLDF is introduces very briefly.

Chapter 5: Managed Servers and the Node Manager
As the name already states, this is about instances and controlling them. How to configure managed servers, start-up and shut-down and even briefly how to run this stuff on windows as a service.

Chapter 6: Deploy your Applications in Oracle WebLogic
Everything you need to know about deploying your applications to WLS. JSR-88 deployment, exploded, archived, and deployment-tools are scratched here on 20 pages.

Chapter 7: Connecting to the Outside World: JDBC and JMS
20 more pages (10 for each topic part) guide you through connection pools, data sources and monitoring for JDBC and JMS servers, connection factories, queues and topics.

Chapter 8: Making your WebLogic Mission-Critical: Clustering
Learn about clusters, cluster communications, session failover and load balancing with WLS in this chapter.

Chapter 9: The Heart of Oracle WebLogic Server: The JVM
The Java Virtual Machine is obviously the heart of WLS. Learn about the differences between HotSpot and JRockit, HeapSizes and JVM arguments in this chapter.

Chapter 10: What if Something Goes Wrong?
The most valuable chapter in any application server book. This is about diagnostics. Diagnostic core server problems related to linux or JVM problems and also some additional WLS specific information is available here.

Chapter 11: Configuring and Analyzing Logging
This chapter guides you through another hot topic for any WLS admin. Learn about WLS Logging Services, filters, WLDF interaction, logiles and how to configure that.

Chapter 12: Keeping your WebLogic Secure
Next to last is security. Learn about general security mechanisms and other ways of protecting your WLS instances. Even some attacks are mentioned and addressed here.

Chapter 13: WLST: Makes an Administrator's Life Easie
The final chapter introduces you to the WebLogic Scripting Tool and it's languages (Python and Jython). Learn about different modes and how to make best use of it in daily business.

Writing and style
The book is organized around a "Case". In this book you will be an employee of a fictive company, where you act as a senior technical consultant leading your boss through the struggles of selecting and running the "right middleware" server. This case is introduced on page 10 and reading it for the first time and being remembered of the fact that there is a case around every few pages gave me a split feeling. I was expecting a technical and not trivial content. I can't say, that it actually makes this a bad book. It probably gives the first time reader a more complete understanding about what could be the motivations behind selecting and running WLS. BUT: I personally don't like it. The overall writing is easy to follow, at least for non native speakers like me. And you find the commonly used terms of the WLS world across the book. The book is full of screenshots, as expected. The web-based administration console is stressed for most of the configuration. But you also have some handy examples of WLST usage. The ebook PDF is roughly 5,5MB in size and easy to navigate.

Conclusion and recommendation
Usually I find myself being able to write some kind of recommendation at the end of any book review I do. To be honest, this is hard for me with this book. It's a very brief overview of WLS and after you have read the 262 real content pages you have a good basic understanding about what WLS is able to do for you. My expectations were a little bit higher. This might be related to the fact, that I know WLS since ages and I was really looking for a book with more detailed insights. It all comes down to a book for real beginners. If you have installed and administrated the WLS in the past, you probably know a lot about what Michel is writing about already. If you are looking for WLS debug flags or the tiniest screws to seize, this isn't the right book for you.

Friday, November 4, 2011

Oracle 2008 - 2011 in Gartners Magic Quadrant for Enterprise Application Servers

Gartner publishes their Magic Quadrants for different areas since years. They are basically good for positioning a specific technology players within a specific market. Clients often use Magic Quadrants as a first step to understanding the technology providers they might consider for a specific investment opportunity. Magic Quadrants provide a graphical competitive positioning of four types of technology providers. Leaders, Visionaries, Niche Players and Challengers. It's important to notice, that it's not only the visionary leaders which may be your only choice from a special market. Sometimes niche players or even challengers could make a better fit according to your needs.

EAS - Enterprise Application Servers
Recently the new Magic Quadrant for Enterprise Application Servers (EAS) was updated again. After doing a very short post about the 2009 version and Gartner skipped one in 2010. So it's finally time to talk about the 2011 version again. Let's look at it:
In 2011, the leaders in the EAS market (listed in alphabetical order) are:
IBM
Microsoft
Oracle
Red Hat

What Changed?
Compared with the MQ's from 2008 2Q08 (Salesforce Link, PDF) and 2009 Sept (Caucho Link, PDF) this did not change a lot. BEA was bought by Oracle and so both merged into a single "dot" on the matrix.

In 2008, the leaders in the EAS market were:
• BEA Systems
• IBM
• Microsoft
• Oracle
• Red Hat

In 2009, the leaders in the EAS market were:
• IBM
• Oracle
• Microsoft
• Red Hat

So. No change at all? What's this all about? It's about the details. And Market analysis. Only looking at the "visionary leaders" probably does not make sense. But there is one interesting part in here. The single vendor analysis. Let's look at the "cautions" Gartner positions for Oracle:
Cautions 2008:
• Althoug growing, industry support and market awareness of Oracle EAS technology is still lower than for its primary competitors.
• Oracle EAS technology doesn't have the same amount of large business-critical projects in production as its primary competitors.
• Late in devlivering support for Java EE 5 to be introduced with Oracle Application Server 11g R1 (not before 3Q08)
• Announced acquisition of BEA Systems creates dualism in Oracles EAS strategy between proprietary Oracle Application Server and leading, popular BEA Systems' WebLogic Server.
• Vision for SaaS-style application deployments is till in the initial stages of evolution.
(Source: MQ EAS 2008)
Cautions 2009:
• Both WLS and Oracle Application Server are frequently used to support opportunistically oriented products. However, pending the Sun GlassFish integration in the offering, Oracle doesn't yet have specific EAS products focused on addressing the fastproductivity, low-cost requirements of mass-market developers, nor does it support Web 2.0-style or opportunistically oriented application projects.
• The demotion of Oracle Application Server to a nonstrategic role creates opportunities for both closed-source and open-source Java EE vendors. Should the transition to WLS prove too expensive or too difficult or undesirable for other technical or commercial factors, competitors may be able to attract Oracle Application Server customers (especially those not locked into Oracle via packaged applications or other OFM layers).
• Despite Oracle's track record in managing acquisitions, the many potential challenges of the forthcoming acquisition of Sun may distract Oracle's management or slow down the company's EAS plans, and may create new business and technical discontinuities.
(Source: MQ EAS 2009)
Cautions 2011:
• Oracle's ever-growing technology portfolio raises concerns among its largest customers about the company's excessive influence on their IT strategy. Therefore, these users may look to balance their IT investments using the offerings of Oracle's competitors. This could potentially threaten Oracle's EAS installed base, which is technically relatively easy to replace, given its compliance with the most relevant industry standards, like Java EE.
• Oracle's policy to support Oracle IAS user migration to Oracle WebLogic Server in some cases requires a significant investment in software license upgrades, in addition to the application conversion costs. This, coupled with a general perception of Oracle charging high and growing costs, makes migration to closed and open-source alternatives appealing for budget constrained organizations.
• Oracle Exalogic Elastic Cloud current limitations (e.g., lack of support for virtualization, likely to be available by YE11/1Q12) and the small number of real-life, production deployments to date, could hinder the adoption of the Oracle WebLogic offering for the most demanding private cloud deployments.
(Source: MQ EAS 2011)
What are the real issues with Oracle?
As expected in 2008, Gartner reflected on the late standards adoption and the missing market awareness of Oracles former iAS. in 2009 the announced acquisitions were the main issues they were looking at. In 2011 this changed a bit. Seeing the warnings from earlier years not coming through Gartner now focuses on the overall market power of Oracle. With all it's acquisitions and complete stack approach it's most likely, that customers are going to prevent themselves from a vendor-lock-in situation and try to make their blueprints a little less dependent on Oracle. My personal feelings tend to see the same. It's a big challenge for Oracle to be a "complete stack" and packaged applications vendor and have a broad base of individual products at hand which still could be used without "buying into the whole Oracle world". Seeing history repeating itself with regard to late Java EE spec adoption of WebLogic server and seeing (far too) many Oracle products being build on top of WebLogic I fear that the WebLogic server is going to become the new iAS. A platform for running Oracle products on. WebLogic server as the product that is influenced by internal belongings and requirements of Oracle Fusion Applications and Exa*Anything maschines. No longer the high value, highly available and stable application-server that can carry any kinds of individual Java EE applications. All this could be good, if you are an Oracle shop. If not ... you have to keep the cautions in mind before making decisions.

What could Oracle do better with WebLogic Server?
It's not a big secret. I love this application server. Since ages. Having to wait for years to get the latest Java EE release productive with it is a big treat to me. I am glad that there is something called GlassFish which is taking over the lead in this field as a reference implementation. To me it seems as if the only product Oracle is treating as a valuable single product is the Database. I would love to see comparable attention and marketing with WebLogic server, too. Whatever else is out there and build on top could be bundled with any kind of WLS version. But both Database and application server are the core products around and both have a right to be pushed separately from the complete stack or any boxes. I personally will never ever have an Exalogic running in the cellar. And I am only partly interested in public cloud offerings which do not adopt latest Java EE specifications. What I need is different. It's a stable base for any kind of Java EE applications. Even mission critical ones. And that is, where WebLogic server is good at. Still. I hope to finally see an updated version of the WLS out in the field. Being able to bring it to customers again.

EclipseCon Europe - Java 7 in the Enterprise

Yesterday at EclipseCon Europe 2011, I gave two talks about Java 7 use in the enterprise. Both had their attendees (around 40 to 50) and I think the input I gave was quite valuable to them. The motivation of both talks was to actually show, how and where to apply the 55 new things in Java 7 and try to write down what you need to keep in mind doing migration projects. This was also thought of as a decision helper for choosing the right Java SE version to start with these days. Thanks again for anybody attending! It was a pleasure to be there. My first time at EclipseCon Europe and I liked what I have seen. Thanks to Donald and Dalibor for jumping in on questions regarding "official dates" :)
Both presentations are uploaded to slideshare. I heard that there will be an audio recording available some time soon, I'll keep you updated!





Donald took a picture of me, doing the talks. Thanks Donald ;)

UPDATE 28.11.2011:
The recordings have been published:
http://www.fosslc.org/drupal/content/java-7-state-enterprise
http://www.fosslc.org/drupal/content/practical-migration-java-7-small-codeexamples