Platinum Sponsors

SUN

ELCA

Gold Sponsors

Silver Sponsors

Partners

Partner events

Day 1: What happened on Tuesday, 2008-06-24

The conference opened with a brief address by Juerg Eberhard, CEO of Keynode and conference organizer, who described the successful tutorial sessions given the previous day and encouraged attendees to go beyond being merely spectators and to interact with each other and take advantage of the face-to-face opportunity presented by Jazoon.

The first keynote address was given by Prof. Dr. Martin Odersky, of the Ecole Polytechnique Fédérale de Lausanne (EPFL). Dr. Odersky, who is the creator of the Scala programming language, described "scalable programming languages" as languages that can scale to cover a wide range of problem domains such that both small programs and large programs can be easily written using a single programming language. He said that the predominant paradigm today is almost an anti-movement: a "Tower of Babel" with many languages that play together only more-or-less well at best -- Java on the server, a scripting language on the browser, perhaps Java FX, database access through SQL, etc.

He believes that this state of affairs complicates deployment, make systems more fragile, and is a source of misunderstandings. For example, cross-language communication is not subject to a common type system, whether static or dynamic, so that when objects are passed between the layers of the system, they are composed of low-level representations such as XML trees or strings.

Dr. Odersky then introduced Scala as a "Java of the future" that builds on the facilities that Java has now and is constructed as a clean melding of object-oriented and functional precepts. Scala has support for closures, traits (an extension of the notion of an interface that supports mixins), and pattern-matching, runs on the JVM, and whose design is governed by two core design principles:

  1. Focus on abstraction and composition so that users can implement their own specialized features as needed.
  2. Have the same sort of constructs work for very small as well as very large programs.

As a result, he feels that necessary and important new programming paradigms can be built out of the primitives provided by Scala as first-class language elements. A sophisticated example he provided was the addition of Erlang-style "actors" as an approach to concurrent programming by using Scala's closures and partial functions.

In the second keynote address, Simon Phipps, Chief Open Source Officer at Sun Microsystems, gave a talk on "The Adoption-Led Market". Phipps, who has been involved with Java since he was one of those who introduced Java at IBM in 1995, described the convergence of trends in enterprise software development and in the development of new software business models around Open Source. Phipps described three "waves" or generations of open source, each of which being driven by different motivations.

The first wave was introduced by people such as Richard Stallman, who followed the principle of "software liberty" to create first GNU Emacs and later the rest of the GNU project and the Free Software Foundation. At the same time, Bill Joy of the University of California at Berkeley (and later Sun Microsystems) and others were working on Berkeley Unix and developing the BSD License in order to further the goal of "Easy Collaboration".

Phipps described the second wave as containing parallel but contrasting approaches: that of the democratic community effort as implemented by the Apache Software Foundation, and the "visionary autocracy" exemplified by Ubuntu Linux, many of whose primary developers work for Canonical Ltd. and follow the vision of Mark Shuttleworth, its founder.

Phipps believe that the third wave is upon us, and with the increasing span of the Open Source market, will partly consist of people moving in who don't share the values of these previous waves and will be largely governed by commercial pressures. He commented that when you create a system, you create the game that plays it, and that as a result, people are already trying to game the system by creating systems that try to take advantage of the market power of Open Source while changing it in fundamental and sometimes hidden ways.

But at the same time, Phipps indicated that the availability of open source and the options and freedom that it extends to developers are inducing enterprises to want to consume software in a different way. Historically this was done through perpetual licenses, but more and more, enterprises do not wish to be tied down in this way. They wish to pick and choose amongst the software services they require and and to pay for them only when a particular piece of acquired functionality is deployed.

Thus, software acquisition goes from the traditional "procurement-led" model, which is monolithic, leads to the customer committing to entire systems early in the process, and where the software vendor largely drives the process, to a new "adoption-led" model where systems are assembled piece by piece and useful bits can be acquired per-solution or even per-component. This aligns well with the subscription model that Open Source vendors must use where the subscription covers the "business necessity" elements that licenses cover today, including services such as support, or defect resolution, and legal requirements such as indemnity.

Phipps then described how Sun's software business is moving in this direction through its implementation of an Open Source model. He mentioned that their choice of Open Source licensing (in this case, the GNU Public License version 3) was driven by the communities in which they wished to participate even more than by specific features of the license. He closed with a reminder that the "intellectual property problem" (including trademarks, copyrights, patents, and trade secrets) will continue to be a challenge to address in the Open Source world, but that some aspects of it, particularly trademarks, may help clarify some matters that currently create confusion as well. He illustrated this with examples that included recent controversies around Firefox and OpenSSH.

The third keynote address was given by Rod Johnson, the President and CEO of SpringSource and the creator of the Spring system, who discussed innovation in Enterprise Java: where it has come from historically and what will drive it in the future. Johnson described the trends in enterprise development that create the need for innovation: the requirement for productivity growth, the need for modularity, and new requirements being created by the movement to Service-Oriented Architectures (SOAs), Web 2.0 features, and the increasing use of virtualization and commodity hardware rather than large servers.

Johnson quoted Gartner to support the idea that Java EE and .Net in their current forms are inadequate to meet today's application needs, which include extensive scalability, event-based programming, the use of SOA, and dynamic application development. He pointed out that this inadequacy is leading programmers to try other tools such as Ruby on Rails, which apply "common sense" by employing methods such as code generation to simplify the construction of applications, while Java has not seen significant improvement in productivity since Spring and Hibernate arrived on the scene several years ago.

He reminded us that J2EE was initially conceived a decade ago and in the intervening years has accreted a large amount of functionality, some of which is useful, but some of which is not. The features still in the system that are not being used have a significant cost associated with them and should be harvested: our "systems need a regular clean-out". In addition, Johnson believes that new requirements in the enterprise make it impossible for a monolithic application environment to provide all of the features necessary for all applications; each problem domain will require features not required by others, and that it does not make sense to try to carry all of them around all the time -- this is difficult for the developer of the environment, for the users of the environment, and for potential innovators to fit into.

Johnson described how standards are useful to developers but also how they can promulgate untested designs or become stultifying to innovation; he believes that the institutions that controlled the development of Java EE need to (and are beginning to) release some of the constraints on the process that have existed in the past in order to innovate in ways that address these challenges. He sees signs that this is beginning to happen with respect to the Java Community Process, and pointed at OASIS and OSGi and examples of other standardization bodies that are having some success at developing useful standards, and provided a checklist of questions that could be used to consider whether a standardization effort is likely to be helpful.

He also indicated that the Java EE 6 effort, through its "radical rethink of the platform" and its embrace of extensibility and the notion of "profiles" (see JSR-316), may lead to significant improvements in Enterprise Java's ability to evolve to meet the rapidly changing requirements in the market.

Media Partners

APRESS
inside-it
netzwoche
developpez
MokaByte