Friday, March 27, 2009

Get Ready For Java On AppEngine

As techcrunch reports yesterday, Google AppEngine, a platform for building and hosting web applications in the cloud, will begin letting developers write applications in Java in the near future. Until now only Python applications were supported. The announcement should come at the Google I/O conference in late May.

Java applications are extremely popular, particularly for business applications, and it is one of the internally supported languages at Google.

I am excited to see, what happens. As reported in january, Oracle Weblogic Server is already available in Amazon's EC2. Can't wait to see Glassfish (?) in the Google AppEngine :)

Thursday, March 26, 2009

Understanding Caching in Hibernate

Hibernate provides powerful caching mechanisms which can help increasing performance and scalability of your application. However besides the benefits there are also pitfalls, which can only be avoided if one understands the inner workings of Hibernate and the dynamics of it's caching behavior.
Dynatrace has a three part series on Hibernate caching mechanisms on their blog.

Wednesday, March 25, 2009

Oracle Enterprise Pack for Eclipse 11g

Yesterday was day 2 of EclipseCon 2009. That was the morning, Oracle released a major update to the Oracle Enterprise Pack for Eclipse (OEPE) -- which is freely available and can be installed via Oracle's Eclipse Update site or getting an all-in-one from OTN.

What's New in Oracle Enterprise Pack for Eclipse 11g?

Object Relational Mapping and Database Tools

JPA Support

New JPA entity generation and management tools, built on WTP Dali, are included for EclipseLink, Kodo, and generic JPA providers. These new tools provide entity generation wizards supporting both Top-Down (Start from Java) and Bottom-Up (Start from Schema) JPA entity development.

In addition, the Entities Editor graphically represents relationships between existing JPA entities in the project. Combined with the JPA Details view, the Entities Editor provides a single view to manage multiple JPA entities and their relationships.

Spring ORM Generation and SpringIDE

New Spring ORM Generation tools create Spring DAO and Service classes from existing entities. These Spring DAOs include standard CRUD operations for easy data access. SpringIDE is bundled and integrated with OEPE 11g providing enhanced editing and validation of Spring configuration files.

Oracle Database Tools

New Plugins for Oracle Database development, built on Eclipse DTP, are available in OEPE 11g.

JAX-WS Web Services Tools

New JAX-WS and JAXB development tools are included supporting both Top-Down (Start from Java) and Bottom-Up (Start from WSDL) web service development for Weblogic Server. These new tools includes features for Java Web Service and WSDL generation, client generation, JAXB types generation, testing with the Web Service Test Client, and deployment tools for Weblogic Server.

Support for Weblogic Server

Oracle Enterprise Pack for Eclipse continues to provide tools for local and remote development, deployment, and debugging on Weblogic Server. OEPE 11g supports Weblogic Server value added features such as shared libraries, Fast Swap, deployment plans, and more.

OEPE 11g includes new editors for common Weblogic Server deployment descriptors, weblogic.xml and weblogic-application.xml. These new editors include wizards, validation, and code completion to streamline application configuration. Context sensitive help (hit the F1 key) has been added for every field in the editors to help users understand the semantics of these descriptors.

New Facets and Project Types

New facets and project wizards have been added to OEPE 11g in support of the new features mentioned above.

(Source: Oracle Team Blog)

Transactional File System in Java

If you have to operate on files and cannot afford to loose data, seriously consider using one of the available frameworks. If you search the net, you come a cross some. One of the best is the Apache commons-transactions package. And of course it is probably better then any custom mechanism you can come up with.
Found this blogpost about using commons-transactions today. It is a step by step description about installation and ussage. Give it a try!

What can you administrate in 60 Minutes?

Inspired by Adam's Blogpost to his famous "What You Can Build In 50 Minutes With Java EE 5/6?" Session, I tried the other side of software development yesterday. My talk at the DOAG SIG Fusion Middleware was about clustering and scaling Oracle Weblogic server. After a (too long) slide oriented presentation about some basic concepts I tried to setup a Weblogic cluster in 60 minutes. Two nodes and one administrative server. Guess what? I did not finish. Maybe, I talked too much and clicked to less ;) But anyway .. it was quite an experience and the only two tasks missing were to define replication groups and start the cluster over to deploy the sample applications.



During the research for this session I examined the examples delivered with the Weblogic server. You can find them in your local installation at \wlserver_10.3\samples\server\examples\src\examples.
There are two cluster examples available. First one is about a statefull session bean and the second one about HTTP Session Failover.
If you run the statefull session bean example, you will notice that you don't see any message about a happening failover. I need to digg into this a bit deeper, cause the documentation states, that you should (!) see a message. Anyway: If you would like to find out, on which node you are running, you can simply use a weblogic server MBean to find out:


InitialContext ic = new InitialContext();
MBeanHome mbeanHome = (MBeanHome) ic.lookup("weblogic.management.home.localhome");
String nodeName = mbeanHome.getMBeanServer().getServerName();


And yes, I know, that the MBeanHome interface is deprecated since the 9.0.0.0 ;) But it's a quite short way to figure it out. It was replaced by standard JMX design patterns in which clients use the javax.management.MBeanServerConnection interface to discover MBeans, attributes, and attribute types at runtime.

10 Must-Know Topics For Software Architects In 2009

In the last year or so, the software architecture business has gotten especially interesting again says enterprise architect and ZDNet blogger Dion Hinchcliffe in his new 10 Must-Know Topics in Software Architecture in 2009. The industry is finally seeing major new topics emerging into the early mainstream that are potential game-changers, while at the same time a few innovations that have been hovering in the margins of the industry are starting to break out in a big way.

These innovations in software architecture are beginning to change the industry in significant ways this year: Cloud computing, non-relational databases (CouchDB, Drizzle), new distributed computing models such as Hadoop, social architectures, and more are on the must-know list while older platforms such as .NET and Java reinvent themselves to remain relevant.



In fact, there's so much new going on that the process of taking many of these ideas into our organizations and integrating them into our thought processes and architectural frameworks and bringing them to bear to solve problems and provide value will take more time than most expect.
(source: Theserverside.com)

Friday, March 20, 2009

building OSGi applications

In the recent days, I've seen an increasing amount of interest in building solutions for applications made up of OSGi bundles. So far I was a true believer, that OSGi and bundles will not play a big part in Enterprise Java. But who knows? If you try to develop your own OSGi Application at the moment, you come across several problems.
An article from Rob Harrop discusses some of them and point out the main challanges to face.

Thursday, March 19, 2009

Peer-to-Peer Interview in Oracle Magazin March/April 2009


I was interviewed for the Peer-to-Peer section in the March/April 2009 issue of the Oracle Magazin.

If you like to, you can find the four short questions and my answers on the ora mag website.

Wednesday, March 18, 2009

IBM in Talks to Buy Sun

The Washington Post reports, that IBM is talking to SUN about bying them.

At the moment nobody talks about the rumor.

Ian Colley, a spokesman for IBM, declined comment on questions about any talks with Sun. A spokesman for Sun didn't return calls requesting comment.


There could be several problems with this possible merger.

A combination would require melding companies with distinct, dissimilar cultures.
[...]
Any transaction would strengthen IBM's position against rival H-P. It could be the largest acquisition in IBM's history, surpassing the acquisition of Cognos Inc. last year.
[...]The deal could face regulatory hurdles. IBM and Sun make many overlapping products, and the two of them have dominant market shares in servers that run the Unix operating system. The two companies also have overlapping products in areas that include software and tape storage systems.


After all: Let's hope, that this will never happen. I can't imagine a JEE world without Sun and the JCP. And at the end of the day I personaly do not like the IBM Websites at all. Beside the great content of the developerworks section, navigation is a mess and product documentation is distributed over many pages.
What do you think about a possible java.ibm.com ??

Friday, March 13, 2009

IBM hashing out WebSphere plans

Paul Krill from Infoworld interviewed Savio Rodrigues, IBM product manager for WebSphere Application Server at the SD West 2009 conference in Santa Clara, Calif. about the future directions the WebSphere Application Server will go.

IBM plans more componentizing of its WebSphere Java application server as well as additional dynamic language support. This will continue with extensions to the existing version 7 of WebSphere or with other upgrades.


In future versions, we're going to extend our work with OSGi to further componentize the app server so that finer-grain components are started up



Support for dynamic languages helps with developing situational applications that need to be completed in days, said Rodrigues. "[For] that type of application, something like PHP or Groovy is much better for [that]," he said.



Well, I think that over the last 10 years with Java technology, we've really taken Java to the core of server-side applications. Application servers now appear not only as the foundation for end-user custom applications, but also are the foundation for a whole series of other programming models," such as enterprise service buses

So, what should you really focus on?

I recently read three posts about the future skills needed in webdevelopment. One was written by Marco van Hylckama Vlieg (The death of web development and design, and what to do next.), one by Chris Heilmann (Web Development is Moving On - Are you?) and the last one by Robert Nyman in respond to the first two (What to know, what to learn). Chris and Marco work at Yahoo Robert is a leading Web Developer and Interface Architect.

Chris and Marco complain about the more or less "lego-style" web application building these days. All the "battle‐hardened masters of the command line" and the "old school" web developers (using Vim, plain HTML and tables) will need to change their skills in order to be prepared for the next five years.
What they call "lego-style" is reflecting to prepackaged solutions like blog software and online services (e.g. different Google APIs). This is all summed up by one qoute of Chris:


Our craft is becoming a commodity and people in charge don’t care about the quality of the markup, CSS or how short our JavaScript is. What matters is how fast you can get it to market, how many people it reaches and how cheaply it can be built.


This is, where Robert joins the discussion. While Chris and Marco are more or less refering to the individual developer and smaler companys I beliefe, that Robert has something else in mind, when he points out:


From what I see, most companies still want to do it themselves, host it themselves and generally adapt it themselves. They use libraries, public APIs etc to a certain extent, but the vast majority of what they have is produced by their own developers and/or consultants they hire.


From a developer point of view I am with Chris and Marco. I strongly believe, that building webapplikations for home users and beginners has become more easier and of course much less challenging with all those pluggable parts available from great companys like Yahoo! and Google for example. BUT, if you follow from this facts, that Web- or more general development skills of the individuall need a refocus into this direction, this could be a failure.
From a company's point of view the usage of prepackaged solutions is a risk. Sometimes because of the license (e.g. GPL) or missing support, sometimes because of the technology (e.g. SSO and AJAX) and sometimes because of other more political thoughts (e.g. Google and privacy).
This is why I strongly believe that there are comanys out there, who "do it themselves" and they probably always will.

Let's finish with a quote from Marco's post. That gives confidence to all those masters of the command line ;)


It will be a while before hardcore web development really becomes irrelevant so there's some time.

Thursday, March 12, 2009

70 New, Useful AJAX And JavaScript Techniques

As the Web grows and becomes more dynamic, more and more websites have user-generated content and tools that greatly improve the user experience in terms of usability and accessibility.
Interactive solutions for lightboxes, form validation, navigation, upload, auto-complete, image cropping, slideshows, tool tips, sliders and tables are being developed that use nifty JavaScript and AJAX scripts.
When using these, developers have to carefully consider many subtle techniques to help users get things done. In an article published by the Smashing Magazin, 70 new and useful JavaScript and AJAX techniques are presentet,
You will also find some very useful but better known techniques to use on almost any project you work on.
You can find examples and demos for the following 15 categories. All of them done with jQuery, MooTools, Prototype and script.aculo.us.


  • Calendars and Timelines

  • Navigation

  • Tool Tip

  • Menu

  • Slider

  • Slideshow

  • Image Cropping

  • Image Previewing

  • File Upload

  • Auto-Complete

  • Lightbox

  • Form

  • Table

  • Worth Checking Out

  • AJAX



Read the full story here

Wednesday, March 11, 2009

GENIVI ALLIANCE

On Mar. 2, 2009 leading automobile manufacturers and suppliers announced
the formation of the GENIVI Alliance (pronounced gen-ee-vee), a non-profit organization committed to driving the development and broad adoption of an open source In-Vehicle Infotainment (IVI) reference platform.

GENIVI Alliance founding members BMW Group, Delphi, General Motors Corp., Intel,
Magneti Marelli, PSA Peugeot Citroën, Visteon Corp., and Wind River are collaborating to create a shared GENIVI platform - a common software architecture that is scalable across product lines and generations. The GENIVI platform will accelerate the pace at which automakers can deliver new solutions, bringing them closer to the lifecycle of consumer devices, and accelerating new business models, such as connected services.

Development of the open source GENIVI platform is well underway, with a summer
2009 launch for the first technical deliverable.
This deliverable will be based on a tested automotive prototype – running on the Intel® Atom™ processor and Wind River Linux - that was developed over the last 18 months by GENIVI members. The reference implementation will be made available as open source code to stimulate innovation among developers.

You can find the technical documentation here later.

If you take a look at the high level platform viel, published in the technical facts sheet:



You could imagine, that this bear analogy to something we know since a few months: The Andoid OS.



Comparing high level architecture is of course not the only hint on any possibly similarities. Second evidence could be Windriver's membership in both organizations. They are on board with the Genivi project and also a member of the Open Handset Alliance that defined Android.
I am very curious about the further information on Genivi.

Tuesday, March 10, 2009

LEGO’s Building Block For Good Experiences

Found this post by Bruce Temkin this morning. He describes a a tool LEGO uses to enhance the customer experience. It is called the "experience wheel".
The example of the output after a couple of steps; shows an approach to design a "WOW experience" for a flight to NYC.
Its an example that emphasizes the need to design for the whole experience. The emphasis here is on the “make or break” moments as well as the places/moments where additional data/information may be necessary.



You can find more details about the design concept looking at Cecilia Weckstrom's related blog post.


Experiences are tricky because at the heart of them are intangible things - feelings and emotions, but these often arise from very practical things. Frustations abound when we aren’t treated the way we expect we should be and equally, when our needs are anticipated and addressed, creating a positive surprise - we are wowed, as simple as that.

Monday, March 9, 2009

First feedback from project Coin

Starting in december 2008 Joseph D. Darcy announced Project Coin. The goal of Project Coin is to determine what set of small language changes should be added to JDK 7. A call for proposals period will run until March 30, 2009.
The first 17 proposals are now available at Darcy's blog.

Friday, March 6, 2009

Nine Browsers of Today and Tomorrow Compared

Counting public betas and release candidates, there are a whopping nine different web browsers out today with enough market share to be considered mainstream. Maximum PC explains the differences between the browsers, future and present, so that you can make a more informed decision about the primary tool you use to browse the web. From the rendering engines used to the features that set the different browsers apart, this is a comprehensive, blow-by-blow battle between Safari 3, Internet Explorer 7, Firefox 3, Opera 9.6, Google Chrome, Firefox 3.1, IE 8, Safari 4, and Opera 10.


Thursday, March 5, 2009

Rainer Singvogel@SE09 about EPF

As stated in a post a couple of days ago, my boss was speeking at the Software Engineering Conference 09.

Here are the slides (German only, 550kb pdf)
"Effective and efficient: Software development processes based on Eclipse EPF"

Thanks to Rainer for having the chance to publish them here.
As always: All images, sounds, text, and data copyright (c) 2009, Rainer Singvogel.

Tuesday, March 3, 2009

Microsofts Future Vision

Found this video this morning. It's an highly impressive vision about what our live will look in the future.
How will emerging technology improve our productivity in the years ahead? What opportunities will arise from evolving trends and global change? Microsoft has collaborated with customers, partners, and thought leaders across multiple disciplines to develop scenarios that explore how long-term trends, customer challenges, and emerging technologies might converge to improve our lives, both at work and home.


See the original post:
http://www.officelabs.com/projects/futurevisionmontage/Pages/default.aspx

<a href="http://video.msn.com/?mkt=en-GB&playlist=videoByUuids:uuids:a517b260-bb6b-48b9-87ac-8e2743a28ec5&showPlaylist=true&from=shared" target="_new" title="Future Vision Montage">Video: Future Vision Montage</a>