The Economics of Open Source: Free to Choose Again - Simon Phipps, Sun Microsystems, Inc.
Mr. Phipps started out by saying that we are living in a massively connected era. Everybody is as reasonably connected as they want to be. The connected infrastructure has become something that we take for granted. Web Services are becoming part of the fabric of computing. This rapid evolution has happened in only a decade.
He cited the success in the evolution of the Internet as being enabled by shared, open, royalty-free standards. This works because we have a growing number of connections with a linear cost of connecting. He is worried that the industry is losing sight of this vision, allowing a few large companies to drive the Internet away from the open royalty-free infrastructure that has existed until now.
Simon went on to state that he believes that Sun was correct with their slogan, "The network is the computer." He believes that, if the network is the computer then software would become services, software would be licensed on scale not implementation details, system stakeholders would be enfranchised in development and software would be created by an enfranchised community. If the network is the computer then we need Open Source Software (OSS) and Web Services (WS).
He went on to describe the Open Source methodology as "Agile development done by a community." He mentioned a whitepaper by Yochai Benkler that argues that Open Source is a new mode of production and that OS applies outside of software to other areas. According to Mr. Phipps, OSS is extremely structured and controlled and is not a free for all. OSS leads to very high quality, loosely-coupled software. One of the most important aspects is the right to fork a project. OSS is facilitated by commons-creating licenses. The community is essential and it is the OSS licenses that facillitate the community. The best OSS projects implement recognise open standards in an interoperable way. He sees the future communities around OSS as being massive.
Mr. Phipps maintains that cost won't be the primary driver for OSS. OSS adopters will soon be turning to integrators to package and support OSS, instead of trying to do it themselves. When asked about the reasons behind OSS adoption the number one factor cited is choice and freedom. The next reason is quality. OSS is like eXtreme Programming on steroids, stable and reliable code, with mass inspection. The third reason for OSS adoption is that it is more secure. Security through obscurity has been totally discredited. Cost of course is also a reason for switching to OSS. This isn't because OSS is free, it's due to the costs being shared and controlled by the community. OSS is all about community development. Openness is a product of open standards, software portability, interoperability, and open licensing.
Mr. Phipps oulined some of the benefits that Sun Microsystems has realized from their ventures in OSS. The community is the chief asset, savings take time to realize, software quality is better, lock-in is avoided, and there is no single dominant force. OSS is the methodology of the massively connected era. Standards plus OSS equals freedom. The watchword of OSS is not "free" but "freedom."
The Web Services Programming Model: JAX/RPC and JSR 109 - Denise Hatzidakis, Perficient, Inc.
Ms. Hatzidakis started out explaining that there are three parts to a web services solution, a programming model, a deployment model, and a web services engine. JAX/RPC and JSR-109 are the Java standard programming model and deployment model. JAX/RPC defined the statnd Java APIs for XML based RPC. It defineds a standardized mapping model from Java artifact, client APIs to acces a web service for non-container based clients and a handler model. She walked us through a WSDL example and explained the features of JAX/RPC and how they relate to JAXB. She continued with an explanation of roles under JSR-109 and much of the mechanics of implementing under the spec. An interesting point that I caught for the first time was the 3 possible client UI's for SOAP, Static, Dynamic Proxy, and DI. Static is used when you know the service location is unlikely to change. Dynamic Proxy allows you to use a service endpoint interface without a generated stub class. Dynamic Invocation is used when you need to determine the service location.
What's New in the Servlet and JSP Specifications - Bryan Basham, Sun Microsystems, Inc.
Mr. Basham reviewed the current J2EE programming model so that we were sure to understand what effect the changes in JSP 2.0 and Servlets 2.4 would have. He highlighted some of the history of both specs. He then went into to changes to the Servlet spec. Since it is mature and stable the changes are a refining only. Changes have been made to the web event model, filters and request dispatchers, deployment descriptor. The single thread model has been deprecated.
JSPs have been changed more significantly. There is now a jsp-config tag structure in web.xml for readability and clarity. Changes have been made to the Expression Language to make it easier to output XML from a JSP and also to make it easier for non-Java programmers to code JSPs. There are two new tag alternatives, Simple Tag Handlers and Tag Files. Classic tags are the richest of course but the new tag alternatives are also meant to simplify programming. Changes also include alignment with JSP 2.0 and the addition of pre-defined functions in the Expression Language.
JNDI - Noel J. Bergman, DevTech
I've attended presentations by Mr. Bergman in each of my 4 years here at the summit. They are always full of info, well organized, and chock full of good code to use later, when I get back to my office. He went through most of the capability in the JNDI spec very quickly in order to get to the main demo. In the main demo he used JNDI to constructed an LDAP directory using, in combination, many of the JNDI operations. He then used the directory he created and demonstrated how to query the data including forcing exceptions and returning no data.