UPDATED: The Apache Foundation released the latest version of its largest Java based project this week, an XML publishing framework known as Cocoon.
Version 2.1.5 fixes numerous issues with the framework and is available for Unix and Windows environments. Stephano Mazzocchi who just last week was elected to the Apache Software Foundation’s Board of Directors, suggests that v2.1.5 is the most stable version yet released. In general, the community touts Cocoon’s XML framework as the “Web glue for your Web application development needs.”
“It started out as a Web publishing system and then it turned into a more general Web application framework based on XML technologies and separation of concerns,” Mazzocchi told internetnews.com.
Cocoon’s framework is essentially built around a modular based approach of component pipelines that hook together to build Web solutions with minimal programming. The structure allows for separate groups to develop modular components that will then plug into the pipelines, at a faster and more efficient pace.
“It is more popular than I thought by far,” Mazzocchi said. “Cocoon is being used in environments that I didn’t even dream of, like B2B system in between Swiss Banks, intranet systems for big telcos in Europe and pharmaceutical companies in the U.S.”
Mazzocchi also noted that Cocoon has now become “impressively big” in term of the number of committers (people that can submit code to the versioning system) and in terms Java usage. According to Mazzocchi, Cocoon is now the biggest Java project at the Apache Software Foundation in terms of lines of code.
The upgrade comes at a time when the Apache Foundation is supporting other Java-based initiatives. Earlier this week, the group said it would accept stewardship of BEA’s Project Beehive as an open-source project in the Apache community. The two groups have had previous direct and indirect involvement in projects such as XMLBeans, Tomcat, Struts, and Axis.
Since version 2.0, the Cocoon Project has more fully made use of the latest XML technologies and standards like XSLT
ZapThink analyst Ronald Schmelzer suggests that Apache Cocoon by itself doesn’t really represent a Web Services or XML framework, though he does think it shares some of the most important aspects of service-oriented architectures or SOAs
“In particular, Cocoon uses ‘component pipelines’, in which each component on the pipeline specializes in a particular operation. This makes it possible to compose together components into pipelines without any required programming. This is very similar to one of the fundamental tenets of SOA – namely, coarse granularity,” Schmelzer told internetnews.com. “In addition, the use of XML and the ‘separation of concerns’ guiding principle mirrors the ‘loose coupling’ tenet of SOAs — namely the ability to independently create and control Service consumers and producers.”
Schmelzer argues that Cocoon is not intended to be used as a general purpose SOA, rather the separation of concerns is restricted to Web content development and server-based integration.
“While this is certainly close to the direction that companies like IBM and BEA are headed with their app server environments, Cocoon requires users to implement many of the critical pieces required to realize SOA in the context of reusable integration assets that are event-driven and business process-controlled,” he said.
“That said, Cocoon is definitely furthering many of the key goals and concepts critical to the understanding of SOA, and as this understanding grows, it’s quite possible companies might seek technologies, such as Cocoon, to implement as part of their heterogeneous SOA infrastructure.”
One of the direct Apache Cocoon sponsored projects, currently in incubation (not a fully ASF supported project) that relies on Cocoon is a Web content management system known as Lenya. The latest Cocoon release fixes at least one critical bug that will make Lenya more functional, according to Lenya committer Gregor Rothfuss.
“We were quite happy to see it resolved,” he said.
The next Lenya CMS release is scheduled for release in the next two weeks.
Updates prior version to clarify version 2.1.5