Platinum Sponsors

SUN

ELCA

Gold Sponsors

AdNovum

Credit-Suisse

Silver Sponsors

SAP

SyBOR AG

Partners

Netcetera AG

JUGS - Java User Group Switzerland

Stadt Z├╝rich Wirtschaftsf├Ârderung

cR Kommunikation

Eveni AG

LiSoG - Linux Solutions Group e.V.

Star Alliance

ICTnet

simsa

Creatronic Media Supply

Media Partners

Netzwoche

inside-it.ch

javamagazine

InfoWeek

IT Reseller

JavaSPECTRUM

APRESS

Day 2: What happened on Tuesday, 2007-06-26

Roy T. Fielding, Chief Scientist Day Software, delivered the first keynote address this morning with the title "A little REST and Relaxation". Dr. Fielding started working on web infrastructure as a graduate student at the University of California at Irvine in 1993 when there were about 50 web sites worldwide. He eventually gained the trust of then-competing web development factions (i.e. NCSA, CERN) that led to his selection to serve as independent editor of the HTTP protocol specification. In this keynote, he described the architectural motivation underlying the HTTP protocol, which he named REST (REpresentative State Transfer) in his PhD dissertation back then. The rationale for the "REST way" of developing distributed web applications was primarily to maximize reuse, minimize coupling, eliminate partial failures, and to scale. It set out to achieve this by defining a constrained framework: resources are identified by only one mechanism (URI), access methods (actions) are the same for all resources, manipulation of resources occurs through the exchange of representations and actions are exchanged in self- descriptive messages. He suggests that constraints are what make an architecture useful - non-constrained architectures (such as SOAP-based SOA) don't support higher-level reasoning that is often the benefit of undergoing such abstraction; however, he points out that while these constraints have supported a great many unforeseen applications over the years, it can also be worthwhile to consider "relaxing" various characteristics to explore possible benefits that might result. It is often easy to see which of the constraints shouldn't be relaxed, but possibly worthwhile exploring some of the others.

Philipp H. Oser, Lead Architect Elca Informatik, followed with his talk, "Fighting Java heterogeneity - a system integrator's perspective". He started by applauding one aspect of Java's "coolness factor" - that the community is allowed to participate in the development of the language and its features and supporting frameworks, which results in useful 3rd party technologies making their way into the language: e.g. Hibernate-style O/R mapping to JPA, dependency injection to EJB, Dynamic scripting to Groovy/JRuby, etc. However, this leads to sometimes problematic heterogeneity: for example, there are more than 50 Java web frameworks, 4000 java development tools hosted on sourceforge, etc. To work around the architecture problems caused by this, he considers 5 approaches that are currently taken: 1) "Get a dictator." Microsoft dictates the direction of .Net, which is good in some ways (imposing homogeneity) but bad in others (quashing good 3rd party software like NUnit) 2) "Going meta." Model Driven Architecture shows promise but still has unresolved problems such as round-trip consistency and loss of low-level control. 3) "New and Improved frameworks ." Developing something might solve and immediate problem but often is only marginally better and just adds to the heterogeneity problem by adding yet another possibility. 4) "Integration framework." Examples like Spring and jMaki actually seem to have been unifying and helpful. 5) Using standard technology stacks like LAMP. His conclusion was that the dictator and "new and improved" approaches are doomed to failure and while the "go meta" approach may have promise it is certainly not as effective as the combination of the "integration framework" with the use of standard technology stacks.