On July 22, 2005, I did my first commit into the Apache subversion repository. That commit was the first part of bringing Apache CXF (was called CeltixFire at the time) to Apache.

This morning, according to svnsearch, I committed my 7000th change. That’s a lot of changes. Kind of silly milestone, but I’m proud of it. I’m certainly happy to have had jobs that allow me to spend a lot of time working on the Apache projects as part of my job.

Off to starting working on some more commits…… :-)

Talend is conducting a survey to help prioritize various topics people might be interesting in learning about relating to the Apache projects that we support and participate in. This is a great opportunity for people to let us know where you think we need to provide better documentation, official training, webinars, etc… to help people become more proficient with the technologies.

Part of this information will also be used to help me determine what people are interested in hearing me (and my other team members) talk about in Webinars. We’re going to be starting a series of recorded Webinars on various topics and finding out what people would like to see is important in making sure they are relevant and interesting.

The survey is very short. It shouldn’t take more than a few minutes. I highly encourage folks interested in Apache CXF, Apache Camel, Apache Karaf, etc…. to take the survey and provide valuable feedback.

Thanks!

While I was on vacation last week, one of my “side projects” at Talend actually finished as Talend is now a Sponsor of the Apache Software Foundation.

This has been something I’ve been trying to push through for quite a while. Talend (and a lot of companies) get a lot of value from the projects produced at Apache. Becoming a sponsor and supporting the Foundation financially is something I really think is a great way to acknowledge that value and help the keep the projects and the Foundation moving forward.

Anyway, I’m really glad this finally happened.

After 6 months of development, the Apache CXF team is proud to announce that 2.4.0 is now released. (official announcement) This version was a fairly large undertaking and has a bunch of significant new features.

  • Security: WS-Security enhancements were a major theme for this release. It mostly started as work to get a new version of Apache WSS4J (version 1.6) integrated into CXF but really turned into a bunch of major updates to WSS4J and even larger enhancements to CXF. The primary “driving feature” was support for SAML2 tokens. In the end, we support SAML2 tokens, but also have much better configurability of the keystores, more consistent callback handling, much better token validation API’s and capabilities, the ability to “fail fast” in many cases when security issues are encountered, etc… I HIGHLY recommend reading through Colm’s blog to discover all the new features in WSS4J that were developered to support CXF.
  • Performance and memory footprint: A significant amount of work was put into the startup procedures in CXF to reduce startup time and lower the memory footprint. As part of this, the dependency on Spring to wire together CXF has been greatly reduced. Now, almost all features of CXF can be used without Spring. Previously, many of the advanced features like WS-SecurityPolicy and WS-RM and such required Spring. In all, a particular test case I have that deploys over 200 services within over 75 wars can now deploy and run with MUCH less memory than before (required -Xmx drops from 192M to 96M and startup time in tomcat drops from about 50 seconds to 20). Note: with this change came the removal of almost all the META-INF/cxf/cxf-extension-*.xml files. MUCH easier to configure now as well.
  • HTTP transport refactoring Related to the Spring stuff, the HTTP transport was refactored to remove the requirement of Spring to select “which” http transport. Previously, the user really need to select (by importing the appropriate spring file) either the servlet version, the embedded jetty version, or the OSGi version. There is now a single http transport that handles all three cases. You can even mix/match with some some services that deploy on the servlet provided context, but others that spin up an embedded jetty instance on a different port.
  • JiBX databinding: a Google Summer of Code project from last year, CXF now supports using JiBX in addition to JAXB, XMLBeans, and SDO.
  • Log browser: another Google Summer of Code project resulted in a very nice web/rest based frontend to the logs produced by CXF. It’s a starting point for future admin related tasks, but is quite useful right now.
  • Transformation feature: provides for a fast and effective way to transform inbound and/or outbound XML messages. There is a nice introduction to this on Sergey’s blog.
  • OSGi improvements: A lot of stuff was done to make working with CXF in OSGi much better. The OSGi HTTP transport was already mentioned. We also added an Apache Karaf features file to help setup CXF in Karaf a lot quicker and easier. Finally, work was started (it’s a work in progress) to add Blueprint/Aries namespace handlers to allow deployment of services using Blueprint instead of Spring DM. Currently, the basic creation of clients and services works in Blueprint. Some of the more advanced configuration (most notable is the HTTPs configuration) is still being worked on.
  • Work with Apache WebServices community: along with working closely with WSS4J as mentioned above, CXF developers also worked to drive changes in Neethi and XmlSchema. The result is much better collaboration between CXF and the WebServices communities and many hacks and workaround in CXF being removed as the fixes and changes were made in the underlying libraries.

As you can see, there was definitely a lot of exciting work put into 2.4.0. I definitley encourage forlks to read the migration guide for more information about the changes and the potential impact it has on users.

Another interesting thing I’d like to point out is how much this was a COMMUNITY effort. The features above were developed by a bunch of people in the community, not just a single person or company. While the security and performance work was primarily done by Talend employees, we also had major contributions from the GSoC students (2 students became committers), Benson Margulies did a lot of work getting XmlSchema 2.0 released and integrated, much of the Blueprint work is being done by Johan Edstrom as part of his work with Savoir Technologies, etc…

Of equal interest is who was NOT a driving force for this release: IONA/Progress/Fuse. Since CXF was started at Apache way back in 2006, the IONA/Progress/Fuse developers have been a primary driving force for new features and development in CXF. 2.4.0 really marks a major change from that. It’s not to say they haven’t been contributing to CXF, they definitely have. However, most of their contributions are more in the form of bug fixes and minor tweaks, not major new feature development. In my opinion, this a good thing for CXF and shows the value in the way Apache values the diversity of the community. In many cases, open source is about “scratching your own itch.” Basically, if you need something done or fixed, you do it and submit it to the project. Over time, in a healthy community, many of the original itches get scratched and those people move on, but new people come in with new ideas and requirements and drive furthur work. The mark of a healthy community is how open they are to such changes and how well the community adapts. CXF has adapted quite well.

Anyway, I definitely encourage everyone to upgrade to CXF 2.4.0 and experience the new features. All of this “goodness” will soon be available in Talend Service Factory and the other Talend offerings. Keep an eye out for it.

Back in December, I talked about the release of the Talend Service Factory as being the first step in the new product plans coming out of Talend. The second step occured today with the release of the Talend Integration Factory. (Click here for the official press release if you are interested.)

Talend Integration Factory is very similar to Talend Service Factory in that it builds upon one of the most successful Apache projects, in this case Apache Camel, and enhances it to meet the needs of enterprise users. For Talend Integration Factory, the major enhancements to Apache Camel are:

  • OSGi container – a “container” directory is added which is a full OSGi container, including Equinox and Karaf, preconfigured with all the dependencies and bundles required for the most popular use cases of Camel in OSGi.
  • Camel component for Talend Open Studio which allows jobs created from TOS to be part of a Camel route

From an enterprise standpoint, the first item is very important. Having a preconfigured, supported OSGi container setup and optimized for Camel makes it a lot easier to get started with Camel.

The second item is interesting in that it’s the first piece that really starts bridging the the Talend Data technologies with the Application Integration technologies. At this point, it’s in a very early state, but it’s a starting point to build from.

Like the Talend Service Factory release, for Talend Integration Factory we again worked very hard on creating some new documented examples that demonstrate some of the advanced features of Apache Camel. The really cool thing is that several of the examples build off of the examples from Talend Service Factory, extending them to participate in Camel routes. This is very similar to how enterprises end up using Camel. They start off with existing services or have services being developed by a particular group. Those services then need to be integrated into various EIP style routes or used from other pieces of logic. The other nice thing about building up the examples like that is it really shows how well Apache CXF and Apache Camel work together seamlessly.

Anyway, I’m definitely excited about this release. As mentioned, it’s just “Step 2″ and we have a lot of other exciting ideas and products that will be coming out this year. Stay tuned!

A month ago, it was announced that Talend had acquired Sopera. At the time, many people wondered what that really meant as Talend specialized in Data Integration and Mangement technologies and Sopera was more of an Application Integration company. Over the last couple months, I’ve defintely been involved in a lot of meetings and con calls and such to start flushing out ideas and roadmaps and such.

The first step in plan occured today with the release of Talend Service Factory. TSF is primarily a repackaged distribution of Apache CXF that is optimized more for Enterprise level use. There are two major changes from the Apache distributions:

  1. Java 6 optimized – Talend is only committing to supporting Java 6 so the lib directory has been optimized for Java 6, removing a bunch of things that are already provided by the JDK.
  2. OSGi container – a “container” directory is added which is a full OSGi container, including Equinox and Karaf, preconfigured with everything needed to use CXF in OSGi.

I’m actually quite excited about the second item for a few reasons. For one, it actually made me start looking at and using OSGi. I guess I’m a little behind the curve on that. Second, it fills a void between the lightweight services and samples that Apache CXF provides and supports and a full, heavyweight ESB like ServiceMix. We’ve had quite a few people ask about OSGi containers and such on the CXF lists. I’ve always felt a bit guilty about pointing them at something as huge and complex as ServiceMix when they don’t need it or want it. You can download the release here.

The OTHER thing that we worked hard on is a new set of documented examples that show off some of the more advanced features of CXF, ALL of them designed to be run standalone (like all the Apache CXF samples) or in the OSGi container. We all learned a lot writing the examples. We had to fix some bugs in CXF to get some of them to work in the OSGi container, but that’s part of the process. I think Sergey, Glen, and I may talk more about these examples in the upcoming days. Until then, feel free to download them and give them a run through. We have more in the works as well.

The important thing to remember is that this is just a start. Step 1. We have a lot of stuff in progress for 2011 that I’m quite excited about.

I kind of feel bad about not blogging this earlier in the week, but it’s been one of those weeks…

On Monday, Glen Mazza officially started at Talend. For those of you that are not familiar with him, Glen has been a long time commiter to Apache CXF getting started with CXF while it was still in the incubator. On CXF, he’s probably best known for reviewing the code and changes and such and fixing all the typos he found and enhancing the error messages and javadoc and such. While not a strict “feature contribution”, these types of changes have been invaluable in making CXF more pleasant to use.

However, he is a software engineer so he’s also contributed to CXF in other areas. He’s done a bit of work in the WS-Security stuff, especially in the area of creating test cases and identifying deficiencies and bugs. He’s also done quite a bit of testing with CXF and other WS-Security implementations (mostly Metro) to find interopability issues and has worked to get them resolved.

That all said, he’s probalby BEST known for the examples and walk throughs that he has done on his blog: http://www.jroller.com/gmazza/ His examples on his blog have been a great starting point for MANY CXF users as they start using CXF. When people ask for a getting starting tutorial or sample, many people point them off to his blog. His blog also tends to collect links to other interesting web pages and blogs and such related to Web Services. Definitely a great place to look for information.

Anyway, I just wanted to say “Welcome Aboard!” to Glen and I definitely look forward to working with him to make CXF better and make Talends products better.

This morning, I checked my email and I received a very exciting email. Here is the first paragraph:


Welcome! You are now a New England Patriots Season Ticket Holder! We are excited to have you as the newest member of our team.

The rest of the email just explains when I’ll get my seat assignments, when they want money, if I’ll be eligible for playoff tickets this year (yes), etc… The rest of the email is pretty boring, but that first paragraph got me out of my seat and caused me to dance around house. :-)

For those of you that are curious, I put my name on the season ticket waiting list back in 1998 or 1999 (don’t remember which, been a LOONNNG time). Over 10 years. At that point I was single. I was living in Dorchester with friends. I was driving a Saturn. I was working from home (I guess that’s still the same).

Quite an exciting day. I guess the saying “Good things come to those that wait” applies to this. :-)

Talend Acquires Sopera

November 10th, 2010 No Comments

For those of you that don’t follow the news feeds and press releases an such, Talend and Sopera announced this morning that Talend has acquired Sopera. Since I know a lot of you are too lazy to go read the actual press release, here’s a quick summary:

  • Talend acquires Sopera
  • Talend also has secured $34 million in financing from Silver Lake Sumeru and it’s existing investors
  • Sopera will become Talend’s “application integration division”

So, what does this mean? Well, for starters, as of today, I’m now an employee of Talend. How exciting. Third company this year. Time to go update profiles and such. Again. :-)

Seriously, the combination of Sopera and Talend makes a lot of sense. Talend is best known for it’s technology around data management. Taking a step out, the next category of problems that customers usually face are application integration problems, and that’s where Sopera comes in. Through Sopera’s current “ASF” product, the Swordfish project at Eclipse, involvement in various Apache projects, and it’s engagements with it’s customers, Sopera is recognized as a leader in solving tough application integration problems. The combination of Sopera and Talend provides a complete middleware platform.

The $34M in financing that was secured is also an exciting part of the announcement. Obviously, the extra money helps to allow us to rapidly expand the teams. Talend/Sopera will definitely be hiring good developers. (On a related note, with Talend having more locations around the world, like huge offices in France and the US, things like employee benefits are a bit more secure, especially for a US based person like myself.) The more important thing to look at, however, is WHO is doing the financing. Silver Lake is NOT a small investment firm. They’ve been in the business of financing technology companies for quite a while. They know what they are doing. They do their homework before investing to give the investment the highest chance of success. The fact that they are investing that much money into Talend really shows that they believe the strategy can work.

If you missed my note last week, we’ve already started to grow the team by hiring Sergey Beryozkin and Colm O hEigeartaigh, both highly regarded engineers at Apache. We plan to continue the process of expanding the team as we refine our product strategies and prepare new product offerings. More to come on that topic at a future time.

Anyway, I’m very excited about this. I believe that this can really “open the doors” for new opportunities for both Sopera and the Apache projects that I’m involved in.

Welcome to Sopera!

November 2nd, 2010 1 Comment

I’m very excited to be able to announce that two very talented developers have joined the Sopera team.

The first is Sergey Beryozkin. Sergey has been an extremely valuable resource in developing, promoting, and supporting the JAX-RS and other REST related parts of Apache CXF. He’s also been a solid contributor to the DOSGi stuff, various JAX-WS/WS-* things, very active on the mailing lists, etc…. Basically, a very valuable CXF contributor.

The second developer joining us is Colm O hEigeartaigh. Colm is an expert in the various XML security related specifications and technologies. He is one of the main contributors (and release manager) to the Apache WSS4J project and is the PMC Chair of the Apache Santuario project. He has contributed several patches to CXF related to the WS-Security runtimes, and I fully expect that to continue.

With the addition of Sergey and Colm to the team, Sopera is now the one company that can really provide top notch support and leadership for CXF.

Anyway, I want to extend a warm welcome to both Sergey and Colm and I look forward to working with them once again.