My recent prior experience with an event processing (EP) product was with TIBCO BusinessEvents, which is a fine product, so I’ll talk about my experience so far with Coral8 and compare and contrast with TIBCO’s BE along the way.
First of all, I like the fact that folks can download Coral8’s EP software, plus all the documentation, and starting prototyping. I’m not one to spend much time reading manuals. Like most of you, we install the software and jump in feet first, working with the examples or writing our own Hello World applications.
One of the first things I noticed is that Coral8 Studio is much “lighter” than TIBCO’s Designer (design-time environment). Is this a good thing or a bad thing? So far my experience is that this is both good and bad.
One of the things I really like about Coral8 Studio is the way they structured environments and workspaces. I think it is quite cool that a colleague and I can be on opposite parts of the world and independently create projects, compile and start them on the same Coral8 EP server. We can, for example, bind to the same input adapter and write stream processing queries against the same data. This is ideal for projects where a team might be collaborating to run various queries across the same data, which is the vast majority of projects. It is much easier to do this type of distributed collaboration with Coral8 than TIBCO’S BE.
Coral8 Studio, like TIBCO’s BusinessEvents, comes with numerous sample projects. BusinessEvents projects tend to bind to a working event (messaging) infrastructure (like JMS or RV). Coral8 example projects, for the most part, bind to CSV files for their input. I prefer examples that work with real live network communications, so I immediately looked at Coral8’s LiveJournalAlert sample project.
Afterwards, I noticed that the Coral8 output adapter, SendEmailOut, does not permit the user to authenticate to an SMTP server. In other words, there were no fields in the design time studio for sending the userID and password of the SMTP account; therefore, this version of the Coral8 SendEmailOut adapter only appears to work with SMTP services that do not require authentication (see notes). TIBCO’s design-time environment supports SMTP authentication in a variety of ways, as I recall.
Moving on to my first Hello World example with Coral8, I realized that with TIBCO’s design time environment you can attach to data, use an XPATH graphical tool to visualize the data and then assign properties to the data. You can then map the input properties to the outputs using the the TIBCO design-time XPATH graphical tool. This can be a bit tricky when you first use it, if you have never used an XPATH tool, but it certainly make integration a snap.
On the other hand, with Coral8 Studio, it appeared to me, at first glance, that you must define the structure of the incoming data with an XML schema and then use regular expressions (for example) to parse the data into processable event properties. Maybe there is an XPATH tools with Coral8 Studio, but I missed it? Coral8 is lighter weight using XML schemas and regular expressions; but the heavier weight of TIBCO’s XPATH tool (that creates the underlying XML schemas) is something I would like to have.
In a nutshell, my first glance at Coral8 Studio has been both interesting and satisfactory. I am moving forward with questions to Coral8 support, who have been very helpful so far. Coral8 has made it very easy for the user to download their product, read the docs, and go right to work. TIBCO has a much more formal approach, including requesting exactly what software you want, getting approval for evaluation licenses and formalities for email Q&A with product support.
Coral8 is significantly “lighter weight” than TIBCO. What does this mean in actual testing and evaluation? I’ll post more on my Coral8 experience and observations in future posts.
Have a Happy Holiday Season, wherever you are!
(1) Coral8’s SMTP server authentication (userID and password) are provided by editing a flat file, coral8-services.xml, on the server side (not in the design-time studio).