A couple Day employees that are active in the open source community gave talks at this year's ApacheCon (US) in Atlanta. They covered a wide range of topics (from architecture to new Apache projects and Java libraries). Find some of the abstracts and slides below. Also, during the conference the Apache podcast "FeatherCast" interviewed Felix Meschberger about Sling.
Bertrand Delacretaz: XSLT and XPath - Without the Pain!
XPath expressions, the underlying tree model and the node type definitions are essential knowledge for writing efficient XSLT transforms. Yet, many people use XSLT without really understanding these important concepts. In this talk we present these essential elements, and help the audience focus on what is important to learn XPath and XSLT. We also define a minimal "learning subset" of XSLT instructions, which is sufficient for many transforms, and helps in preventing the overuse of procedural constructs. Forget about xsl:if and xsl:choose! Our real-life code examples will show you how to avoid writing procedural XSLT code, in order to efficiently use this powerful XML transformation language.
Carsten Ziegeler: Getting Up to Speed with Apache iBatis
Getting data from a database and storing information into a database is a very common task for a Java developer. Possible solutions range from JDBC to full-blown object-relational mappers like Hibernate or OJB. The Apache iBatis project is another choice which provides more sophisticated support than JDBC but is lightweight compared to ORMs. This session introduces the idea behind iBatis and demonstrates the basic mapping features. The session will provide valuable information when to choose iBatis over other persistence solutions and how to get it running quickly and efficiently.
Carsten Ziegeler and Bertrand Delacretaz: JCR in Action - Content-based Applications with Apache Jackrabbit
The Java Content Repository API (JCR) is the ideal solution to get hierarchical structured content from various content repositories. The provided API allows the development of content based applications which are independent from the repository, being it a database, some legacy storage or the file system. To demonstrate the basic architecture of such applications, an example content management application will be developed during the session. Basic techniques will be explained including navigation, searching and observations by using the Apache Jackrabbit project.
Carsten Ziegeler: Apache Sanselan - A Pure-Java Image Library (Fast Feather Track)
Felix Meschberger: Apache Sling - A Content Based Web Application Framework (Fast Feather Track)
Building on top of Java Content Repositories, implemented as OSGi Bundles, Sling is an extensible Web Application framework enabling quick development of flexible content based applications. Sling has the persistence layer already built in, still the developer is not forced into using low level persistence API by employing the flexible, configurable the Jackrabbit Object Content Mapping. Extensibility of the framework to build and extend applications is provided by employing the OSGi specification to build a modular and highly dynamic system: Extensions can be installed, updated and uninstalled at runtime without forcing the developer and system administrator into time consuming and error prone stop-build-start cycles. This presentation highlights the goals of the project and shows how these goals are met.
Jukka Zitting: Apache Tika - An extensible, configurable content-analysis framework (Fast Feather Track)
Tika is a new content analysis framework borne from the desire to factor our commonality from the Apache Nutch search engine framework. Tika provides a mime detection framework, an extensible parsing framework and metadata environment for content analysis. Though in its nascent stages, progress on Tika has recently taken shape and the project is nearing a stable 0.1 release.
Roy T. Fielding: A little REST and Relaxation
Representational State Transfer (REST) is an architectural style that I developed while improving the core Web protocols (URI, HTTP, and HTML) and leading them through the IETF standardization process. I later described REST as the primary example in my dissertation. Since then, REST has been used (and sometimes abused) by many people throughout the world as a source of guidance for Web application design. But is the REST that we hear about today the same as what I defined in my dissertation, or has it taken on the baggage that comes with an industry buzzword? This talk will provide a real introduction to REST and the design goals behind its evolution as the Web's arhitectural style. This is not about XML-over-HTTP as an alternative to SOAP, nor about "resource-oriented" frameworks that help simplify CRUD operations, but rather about the design goals and trade-offs that influence the development of network-based applications. I will also describe what happens when we relax some of the REST constraints, and how such relaxation is impacting the design of the waka protocol as a replacement for HTTP.