- From: Gerald Bauer <luxorxul@yahoo.ca>
- Date: Mon, 14 Feb 2005 22:09:44 -0500 (EST)
- To: www-forms@w3.org
Hello, Welcome back to the XForms Titan Interview series. Today let's welcome Chiba project lead Joern Turner. Q: Can you tell us a little bit about yourself? Joern Turner: Leaving the ancient days of the C64 aside i started to work on (and earning money with) computers in the late 80s. These were the days of 4GLs and i spent about 5 years in developing database applications which financed my studies on Information Science and Philosophy at the University of Berlin, Germany. Thanks to the great infrastructure there i started to explore the Internet in the early 90s and was soon infected with the exciting possiblities the web offered. I started working in web development and as soon as Java arrived worked on applets and servlet applications. After finishing my studies i founded my first company for Web and Java Development. Since then i worked as Project manager, IT Consultant, Software Architect and Senior Java Developer in and for several companies. Since the second half of the 90s my work focussed more and more on multi-tiered Java Enterprise applications. Q: How did you get started on W3C's XForms? Joern Turner: My first contact with XForms was motivated by some really practical problem: i had to find a way to manage structured requirement documents and share them among a team of developers and consultants in a more consistent way than simply setting up a file-server with a bunch of Office documents. After the first prototype with typical web-technologies like servlets, jsps and the like i was unhappy with the effort such a small application required. After searching the web for better ways i stumbled about XForms. I was impressed by the ideas expressed therein and decided to give it a try. Q: How did you get started on Chiba? Joern Turner: Even though XForms was promoted as a client-side technology back in these days i saw no reason why a server-side implementation shouldn't work and be usefull for a large range of enterprise applications. Nearly all these application require structured data input along with validations and calculations and potentially have to support different clients. One of the most important goals of Chiba was (and is) to keep it independent from a specific client. This enforced a server-side architecture and coming from the server-side Java world it was natural to start with that approach anyway. Q: Can you tell us a little bit about Chiba's history? Joern Turner: In February 2001 Chiba was accepted as Sourceforge project and after i managed to implement a first running prototype i quickly found some supporters and fortunately also a sponsor that paid the work for about one and a half year. Gregor Klinke and later Ulrich Nicolas Lissé joined the project and together we rolled the first versions out and integrated them in a CMS system for our sponsor. In the middle of 2002 Uli became second project administrator and we started working closely together. Since then the project has received countless big and small contributions and now has 21 members with project level access. Q: Can you briefly sketch out Chiba's architecture and its building blocks? Joern Turner: Chiba consists of 4 major pieces: ChibaBean provides the core implementation of XForms. It implements the complete XForms processing model, the action and event-handling, the dependency module and all other bells and whistles of XForms. As ChibaBean is designed as a typical JavaBean it can be integrated in any Java environment either client- or server-side. Second important building block is the Adapter interface which connects ChibaBean to its application or server platform. In the standard Chiba distribution this is represented by ChibaServlet and ServletAdapter. TheAdapter works as controller for ChibaBean and can handle state changes inside the processor either by accessing DOM directly or by listening to the defined events. Third there's our Connector layer which allows to read data from or submit data to arbitrary sources. The standard XForms protocols file, http, https are implemented as Connectors as well as some extensions such as XMLRPC or SMTP. As Connectors are pluggable and very easy to implement Chiba can be connected to virtually any datasource. Fouth component is optional and its usage depends on the architecture you'd like to use. The UIGenerator is an interface to generate code understood by the respective client connecting. Currently Chiba offers a XSLTGenerator to transform XForms to html4. The standard stylesheets are generic and can be patched or extended for customization. Client-side implementations may choose to drop the UIGenerator and connect eventlisteners to the processor to handle UI changes. Q: Can you tell us some challenges you faced building Chiba using Java and XSLT? Joern Turner: First of all we're very happy to do it in Java - without all these wonderfull Apache libs we'd never have come that far. A potential problem is that Chiba is still tied to DOM which happens to be memory-hungry and not that fast. XSLT was a different story. It turned out to be hard to transform XForms directly into client-renderable markup. We ended up with huge stylesheet that became nearly unreadable. After we decided to proxy the model state and instance values in our UI the task became significantly easier and now we ended up with a reasonably good HTML4 output that gives quite a few options for layout and CSS styling. Q: Can you tell us what Chiba can do today? What works and what needs to be done? Joern Turner: Chiba just released version 1.0.0 a few days ago which we consider production quality. It's a full implementation of the XForms 1.0 standard and can be embedded either client- or server-side. Besides that it provides some additional interfaces to plugin your own connectors or extension functions. There's already a bunch of serious, production quality applications that embed Chiba and we used it ourselves successfully in our customers' projects for quite a while. There's a growing list of operating systems, servers and frameworks that make use of Chiba. Of course, there still will be issues and a few gaps should also be noted. We don't have support for the 'copy' element yet and for select1 selection="open". There are a few less important attributes that aren't understood yet and the event handling does not implement the full XForms Event Spec yet. We try to document these gaps on our homepage where you can find a status page listing these issues. Q: Can you tell us a little bit about Chicoon and how it all got started and how it builds on Chiba? Joern Turner: Several requests for Chiba as part of the Cocoon platform started the discussion in early 2002. Thorsten Mauch and others raised this topic on our mailinglist and about one year later we released a first version. This consisted of only a handfull of classes and a sitemap but was already fully functional. After that Uli and me didn't found time again to update it with latest Chiba core and it got outdated. Nevertheless there were always some people around that still worked with it and even enhanced it for their projects. When Andrzej Jan Taramina joined our team in late 2003 he picked up the project and worked out an adapted version which a slightly patched version of our core. To avoid the patches i reworked Andrzej's version and version 0.9.9 is now our current download. It's our intend to keep Chicoon in sync with Chiba from now on. Chicoon wraps ChibaBean inside a single Cocoon Action and makes it available in any pipeline you have. A file demo of Chicoon can be accessed at http://81.169.173.189:8080/cocoon/chicoon/index. Q: Can you highlight some more Chiba goodies or addons besides Chicoon? Joern Turner: We have 'Convex' which is an faceless java applet running in IE6 with java plugin currently and has been released as preview back in December. This is able to process XForms fully client-side (and offline) and render HTML in the browser. Due to an unfortunate bug in Mozilla Liveconnect loading it has not yet been released for Firefox/Mozilla yet. It's quite similar to the formplayer. We've using that currently in customers projects. Another popular tool is the Schema2XForms builder. Although it's not supporting the full Schema syntax there are lots of users using it or being interested in this automated generation facility. Q: Can you tell us how popular Chiba is? (e.g. How many downloads? Are there any applications/projects using Chiba? What's the interest in the XForms/Java community? etc.) Joern Turner: Chiba has now been downloaded over 20.000 times from the beginning of the project. We have about 180 people subscribed to our mailing lists with about 100 messages a month. 21 people are members in our project and while not all of them are comitting we think we can Chiba call 'alive' at least. Q: Who else is behind Chiba? Do you work on your own? How much time do you spend on chiba development? How can someone get involved in Chiba? Joern Turner: First of all, there's Ulrich Nicolas Lissé (Uli) my partner at Chibacon and second admin of the project. We're working closely together (actually in pair-programming often) to improve Chiba and 'stay on the scene'. He implemented big parts of the hard core stuff and we're constantly discussing XForms and Chiba. Many others have contributed code during the life-time of the project. The list is too long to be mentioned here. An up-to-date list of our authors and contributors is part of every release. Q: Can you tell us what professional services you offer for Chiba? Joern Turner: We offer years of XForms and Java development practice for users that have a serious application to build or maintain and need professional help to get started with the powerfull XForms features. We provide help on XForms development in general and offer integration strategies for the Chiba component and toolset in specific application scenarios. As Chiba is designed to be plugged into applications or platforms one main focus of our work is the implementation of customer-specific Connectors and Adapters. XForms is still young and you just can't expect any developer or architect to know it in detail - therefore we offer teaching of the XForms basics, working out 'XForms patterns' for specific customer requirements and the development of more advanced add-on tools like form generators or adaption of Chiba to a new device. For strategic users of Chiba who need in-time response to their requests we offer individual support contracts. Later this year Chibacon will start an enterprise version with value-added tools and other goodies to simplify XForms development and maintainance. Q: What's next for Chiba? Joern Turner: Now that the 1.0.0 release is out, the API has been stabilized so far that further enhancements and the new XForms 1.1 features have a solid ground. Besides ongoing quality improvements, fixes and the like we plan to provide better interactivity for the html client through javascript code-generation. The current Chiba distribution will be split up into a core part and the servlet/Adapter classes which are currently the default integration. Future releases of ChibaServlet, Chicoon and Convex will incorporate the core module and be offered as a standalone download. The Schema2XForms tool is already quite powerfull but has a few quircks and does not fully support Schema syntax. We plan to work on this. And further it's likely that more integrations will be offered during 2005. Thanks Joern Turner. Links: * Chiba Project - http://chiba.sourceforge.net ______________________________________ XUL News Wire - http://xulnews.com XUL Alliance - http://xulalliance.org __________________________________ Do you Yahoo!? Meet the all-new My Yahoo! - Try it today! http://my.yahoo.com
Received on Tuesday, 15 February 2005 03:10:18 UTC