tag:blogger.com,1999:blog-76535700072954516102024-03-13T02:48:58.243-02:30Jon Anstey's BlogJonathan Ansteyhttp://www.blogger.com/profile/15936382362202148472noreply@blogger.comBlogger43125tag:blogger.com,1999:blog-7653570007295451610.post-27148538387795135812019-11-28T17:07:00.000-03:302019-11-29T09:17:27.115-03:30Apache Camel 3 is out!!Apache Camel 3.0.0 is <a href="https://camel.apache.org/blog/release-3-0-0.html">out today</a>! Why is this a big deal? Well, it's the first major Camel version released in TEN years. Yes, really :-) Camel 2 was released on August 25, 2009!<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhFZATJapCMJ11s8BjIIi8I5_Q3UxYv87y8Vyzgn9ne4TCI2zor2cdB7B_eEmr5gg1hT2t_BglqTDQUHr9KL6Yya3Y5zbBo4Q8JlUy6FLszthMsWrhlWqh9fnqg_zMKAoRpLIGuw_TC6XAN/s1600/chameau-3-bossesV3-1-820x400.jpg" imageanchor="1" style="clear: right; float: right; margin-bottom: 1em; margin-left: 1em;"><img border="0" data-original-height="401" data-original-width="820" height="195" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhFZATJapCMJ11s8BjIIi8I5_Q3UxYv87y8Vyzgn9ne4TCI2zor2cdB7B_eEmr5gg1hT2t_BglqTDQUHr9KL6Yya3Y5zbBo4Q8JlUy6FLszthMsWrhlWqh9fnqg_zMKAoRpLIGuw_TC6XAN/s400/chameau-3-bossesV3-1-820x400.jpg" width="400" /></a></div>
<br />
Apache Camel 2.x remains a rock solid integration framework used all around the world and will certainly live on for many years to come. But, for some changes (and to stick with semantic versioning) we really needed a major version bump. You can imagine over 10 years a project can accumulate a lot of "would be nice to do IF we could break API..." type issues :-) But don't be scared, the team managed to keep the migration as <a href="https://camel.apache.org/manual/latest/camel-3-migration-guide.html">painless as possible</a>.<br />
<br />
So what did change? Claus has a nice diagram of the <a href="http://www.davsclaus.com/2019/10/apache-camel-3-is-only-2-months-away.html">major changes</a> but there was definitely a focus on making camel-core smaller by breaking it up into modules (it was getting massive and size is becoming increasingly important in a cloud native world) and switching to a more performant reactive routing engine. All told, since last year when we branched for Camel 3 development, over <a href="https://issues.apache.org/jira/secure/ReleaseNote.jspa?version=12315691&projectId=12311211">1000 issues were resolved</a>. It was a busy year for all involved!<br />
<br />
Next up are the releases of the other projects in the Camel ecosystem: <a href="https://github.com/apache/camel-k/">Camel-K</a> (run Camel routes directly on Kubernetes) and <a href="https://github.com/apache/camel-quarkus">Camel-Quarkus</a> (Camel components as <a href="https://quarkus.io/">Quarkus</a> extensions). Stay tuned.<br />
<br />
Thanks and congratulations to all involved in the release! Cheers!Jonathan Ansteyhttp://www.blogger.com/profile/15936382362202148472noreply@blogger.com0tag:blogger.com,1999:blog-7653570007295451610.post-25748892247327141552018-01-19T10:43:00.003-03:302018-01-19T16:16:00.681-03:30Camel in Action, Second Edition is Complete!<table cellpadding="0" cellspacing="0" class="tr-caption-container" style="float: left; margin-right: 1em; text-align: left;"><tbody>
<tr><td style="text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg69495HDIh6ziPTcDqnBNuav2Plwh3_VmEmKdkulhIh3ogDqlkBIidZMIvCEAabu-RG96utUhGSTLKxjBaTJTpMA4CkKRgIM6840g12E7qPAsfOnQgOVdeTnazO7Eqhcjkge5CvJdDCVWX/s1600/Ibsen-Camel-2ED-7+%25281%2529.jpg" imageanchor="1" style="clear: left; margin-bottom: 1em; margin-left: auto; margin-right: auto;"><img border="0" data-original-height="951" data-original-width="736" height="320" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg69495HDIh6ziPTcDqnBNuav2Plwh3_VmEmKdkulhIh3ogDqlkBIidZMIvCEAabu-RG96utUhGSTLKxjBaTJTpMA4CkKRgIM6840g12E7qPAsfOnQgOVdeTnazO7Eqhcjkge5CvJdDCVWX/s320/Ibsen-Camel-2ED-7+%25281%2529.jpg" width="247" /></a></td></tr>
<tr><td class="tr-caption" style="text-align: center;"><a href="https://www.manning.com/books/camel-in-action-second-edition">Camel in Action Website</a></td></tr>
</tbody></table>
We did it again <a class="g-profile" href="https://plus.google.com/107832544350505823194" target="_blank">+Claus Ibsen</a> :-) Camel in Action, 2nd edition is printing as I type this blog and will be in book stores in a few weeks. Time to celebrate!<br />
<br />
Our theme this time around is more - more of everything to help you get started with Apache Camel and more for seasoned integration vets too. Well, this has kinda been the approach in Apache Camel since the last book as well. Let's look at some stats from the Camel versions used in each book edition:<br />
<br />
<table>
<thead>
<tr>
<th>Camel 2.5.0</th>
<th>Camel 2.20.1</th>
</tr>
</thead>
<tbody>
<tr>
<td>>80 components</td>
<td>>280 components</td>
</tr>
<tr>
<td>482,779 LOC</td>
<td>1307016 LOC</td>
</tr>
<tr>
<td>23 named contributors</td>
<td>497 named contributors</td>
</tr>
</tbody>
</table>
<br />
So yeah, Camel is a lot bigger this time round and so our book had to be too :-) It's amazing how much the project has grown TBH. The component count has more than tripled, LOC near that as well and the number of contributors has just blown up. Now, granted back in the early days of Camel we used SVN which didn't allow named contributors to be counted until they were actual Apache Camel committers themselves (GitHub PRs to the rescue!!). Still, I estimate the actual number of contributors has doubled at the very least.<br />
<br />
It's not just components that have been added to Camel either. This time we needed to cover more topics like: microservices, RESTful web services, containers (think docker/kubernetes), clustering, reactive apps, security, and even IoT. Like last time we had a guest author contribute a chapter about a new emerging technology. Big thanks to Henryk Konsek for contributing the chapter on IoT. Neither myself or Claus has any experience in IoT so we probably wouldn't have covered it if we didn't get an expert on board :-)<br />
<br />
A huge thanks to Claus for being such a pleasure to work with (albeit being a bit hard to keep up with ;-) ). Looking forward to next time round!<br />
<br />
And finally, let me leave you with one of my favourite lines from our book:<br />
<blockquote class="tr_bq">
<i>"To the Apache Camel community - may this book be a helpful companion on your journeys with Camel"</i></blockquote>
<br />Jonathan Ansteyhttp://www.blogger.com/profile/15936382362202148472noreply@blogger.com0tag:blogger.com,1999:blog-7653570007295451610.post-91477362599726427782016-10-06T13:24:00.002-02:302016-10-06T13:24:54.654-02:30JBoss Fuse 6.3 is out!<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiJBOEpAdfTj5wZVDWt5ZLzyc4-P9IhVSX26wiyKtMR4hwM6T4nLGFr5_6qtB_ZDo8Ena2bgyH3hyphenhyphenSwNvChjbPuRHvL_qUVQtn7uVHeT8xonPa1g3DhlpIWy_3HwmvXftyH-WMx_uCvipk9/s1600/4360001.jpg" imageanchor="1" style="clear: right; float: right; margin-bottom: 1em; margin-left: 1em;"><img border="0" height="244" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiJBOEpAdfTj5wZVDWt5ZLzyc4-P9IhVSX26wiyKtMR4hwM6T4nLGFr5_6qtB_ZDo8Ena2bgyH3hyphenhyphenSwNvChjbPuRHvL_qUVQtn7uVHeT8xonPa1g3DhlpIWy_3HwmvXftyH-WMx_uCvipk9/s320/4360001.jpg" width="320" /></a></div>
<a href="http://developers.redhat.com/products/fuse/overview/">JBoss Fuse 6.3</a> just went GA, get it while it's hot :-) With this release we didn't do anything too crazy and had a big focus on stability of the platform and bug fixes. In fact there are <b>thousands</b> of bug fixes over Fuse 6.2. We do still provide a few notable project upgrades however:<br />
<br />
<ul>
<li>Apache Camel 2.17</li>
<li>Apache CXF 3.1</li>
<li>Jetty 9</li>
</ul>
<br />
As well as API updates:<br />
<ul>
<li>JMS 2.0</li>
<ul>
<li>You may think this is a crazy big upgrade for a minor version but it's not so bad :-) We only updated Fuse to use the latest JMS spec JAR, which is version 2.0. In the broker we stick to using the JMS v1 compatible APIs so nothing breaks. We needed to do this so Fuse could connect to JMS v2 only brokers like WebSphere MQ 8. Support for JMS v2 features will likely be in Fuse 7.</li>
</ul>
<li>Servlet 3.1</li>
</ul>
<br />
So those are some bigger things to consider when upgrading your projects to Fuse 6.3. A <a href="https://access.redhat.com/documentation/en/red-hat-jboss-fuse/6.3/paged/migration-guide/">full migration guide</a> is available as well. A lot of the brand spanking new stuff in this release comes in via Camel. For instance, you may find some of the new Camel components useful:<br />
<ul>
<li>camel-paho - For MQTT messaging using Eclipse Paho client</li>
<li>camel-pdf - For creating PDF documents</li>
<li>camel-slack - allows you to connect to an instance of Slack and delivers a message contained in the message body via a pre established Slack incoming webhook.</li>
<li>camel-jolt - for JSON to JSON transformation</li>
<li>camel-aws-ec2 - Component providing support to Amazon Web Services EC2</li>
<li>camel-undertow - To use Undertow as HTTP server or client.</li>
<li>camel-git - A generic Git component</li>
<li>camel-sjms - SJMS Batch is a specialized component for highly performant, transactional batch consumption from a JMS queue</li>
<li>camel-http-common - A common base component for reuse among all the various HTTP components we have.</li>
<li>camel-swagger-java - A pure Java based Swagger component.</li>
<li>camel-elsql - An extended SQL Component that uses ElSql for defining SQL queries</li>
<li>camel-jbpm - Sends messages through kie-remote-client API to jBPM.</li>
<li>camel-aws - AWS kinesis streams component added</li>
<li>camel-aws - DynamoDB streams component added</li>
<li>camel-braintree - for interacting with Braintree Payments.</li>
<li>camel-test-cdi - ease testing of Camel CDI applications</li>
<li>camel-etcd - Integrating Camel with Etcd key value store</li>
<li>camel-kubernetes - Integrates Camel with Kubernetes</li>
<li>camel-jcache - support JCache / JSR107 caching.</li>
<li>camel-nats - for interacting with Nats messaging platform</li>
<li>camel-servicenow - for interacting with ServiceNow</li>
<li>camel-spark - bridges Apache Spark computations with Camel endpoints</li>
<li>camel-sql - Now supports calling stored procedures using the new sql-stored component.</li>
</ul>
<br />
Another change this time is the Maven repo. Previously you may have used repository.jboss.org or repo.fusesource.com to download Fuse artifacts. With this release, we have migrated to <a href="https://maven.repository.redhat.com/ga" style="font-family: Consolas, "Liberation Mono", Menlo, Courier, monospace; font-size: 12px; white-space: pre;">https://maven.repository.redhat.com/ga</a>.<br />
<br />
You will notice too that the Fuse Eclipse tooling has undergone a visual makeover. Look at this new flow style for Camel routes:<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi3ZyRL9APUCG6gU-FkJSur3Rj4fQohY7Eqi0egtlk_2_qD7ZZ86pOmfVz47vJ_slFxlxQP8aJ6ShTZs2coQyxlZahrfSrbLLLkJOWoYSBQVQyGq1pGVyNw1u5U63IRWF5L2dc3U35dllJj/s1600/fusenewlayoutandlooknfeel.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="204" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi3ZyRL9APUCG6gU-FkJSur3Rj4fQohY7Eqi0egtlk_2_qD7ZZ86pOmfVz47vJ_slFxlxQP8aJ6ShTZs2coQyxlZahrfSrbLLLkJOWoYSBQVQyGq1pGVyNw1u5U63IRWF5L2dc3U35dllJj/s320/fusenewlayoutandlooknfeel.png" width="320" /></a></div>
Pretty sweet :-) Lars goes over other changes in more detail <a href="http://developerblog.redhat.com/2016/10/06/jboss-fuse-tooling-released-for-eclipse-mars/">here</a>.<br />
<br />
Oh and you can download everything from here:<br />
<br />
<a href="http://developers.redhat.com/products/fuse/download">http://developers.redhat.com/products/fuse/download</a><br />
<br />
The site updates are still in progress (prolly another few hours to go) so make sure to click the 6.3.0 link and not the big red download button which still points to 6.2.0 :-)<br />
<br />
Happy integrating!Jonathan Ansteyhttp://www.blogger.com/profile/15936382362202148472noreply@blogger.com0tag:blogger.com,1999:blog-7653570007295451610.post-45576800466178241032016-10-05T17:27:00.001-02:302016-10-05T17:27:43.381-02:30Camel in Action v2 UpdateManning just published a new MEAP of <a href="https://www.manning.com/books/camel-in-action-second-edition">Camel in Action</a> this week so I figured I'd give a little update on our loooong journey with the 2nd edition :-)<div>
<br /></div>
<div>
The latest MEAP contains one new chapter, in addition to some fixes in other chapters. The basic outline for the "Developing Camel projects" chapter is:</div>
<div>
<ul>
<li>Creating Camel projects with Maven</li>
<li>Creating Camel projects in the Eclipse IDE</li>
<li>Debugging with Camel</li>
<li>Creating custom components </li>
<li>Creating custom interceptors</li>
<li>Creating custom data formats</li>
<li>Using the API component framework</li>
</ul>
<div>
A lot of this still applied from the first edition with the exception of debugging, custom data format creation, and using the <a href="http://rockablogbaby.blogspot.ca/2014/09/apache-camel-api-component-framework-or.html">super cool API component framework</a>.</div>
</div>
<div>
<br /></div>
<div>
Claus is busy working on a more interesting chapter titled simply "Microservices". Yes, we are devoting a whole chapter to this buzzword :-) Really, it was unavoidable as Camel has been growing to have 1st class support for great frameworks like Spring Boot and Wildfly Swarm. Also microservices is just a little bit popular right now ;-)</div>
<div>
<br /></div>
<div>
So what's next? Well, we only have a handful of chapters left to write and hope to have it all handed in by the end of the year. So you can expect a print copy early next year after Manning polishes our work. </div>
<div>
<br /></div>
<div>
Cheers!</div>
Jonathan Ansteyhttp://www.blogger.com/profile/15936382362202148472noreply@blogger.com0tag:blogger.com,1999:blog-7653570007295451610.post-16786778343934948672015-06-23T16:40:00.000-02:302015-06-24T09:22:22.515-02:30JBoss Fuse 6.2 is out!Hot off the presses today is <a href="http://www.jboss.org/products/fuse/overview/">JBoss Fuse 6.2</a>. For those who don't know, Fuse is an open source ESB focused on making integration easier. It is made up of a bunch of popular opensource projects like <a href="http://camel.apache.org/">Apache Camel</a>, <a href="http://cxf.apache.org/">Apache CXF</a>, <a href="http://activemq.apache.org/">Apache ActiveMQ</a>, <a href="http://karaf.apache.org/">Apache Karaf</a>, <a href="http://hawt.io/">HawtIO</a>, and <a href="http://fabric8.io/">Fabric8</a>.<br />
<br />
OK, so what's new since Fuse 6.1?<br />
<br />
<h2>
Camel 2.15</h2>
Camel (my fav project ;-) has had quite a stable API for years now. Most of the change comes from new components being added to connect to all sorts of new things. This release was no exception as there are almost 40 new components to choose from:<br />
<br />
* camel-ahc-ws<br />
* camel-atmosphere-websocket<br />
* camel-beanstalk<br />
* camel-box<br />
* camel-cassandraql<br />
* camel-chunk<br />
* camel-docker<br />
* camel-dozer<br />
* camel-dropbox<br />
* camel-github<br />
* camel-google-calendar<br />
* camel-google-drive<br />
* camel-google-mail<br />
* camel-gora<br />
* camel-hdfs2<br />
* camel-hipchat<br />
* camel-jgroups<br />
* camel-jira<br />
* camel-kafka<br />
* camel-kura<br />
* camel-linkedin<br />
* camel-metrics<br />
* camel-netty4<br />
* camel-netty4-http<br />
* camel-olingo2<br />
* camel-openshift<br />
* camel-optaplanner<br />
* camel-pgevent<br />
* camel-rest<br />
* camel-sap<br />
* camel-schematron<br />
* camel-scr<br />
* camel-spark-rest<br />
* camel-splunk<br />
* camel-spring-boot<br />
* camel-swagger<br />
* camel-swf<br />
* camel-test-spring40<br />
* scheduler<br />
<br />
Another notable addition is the <a href="http://camel.apache.org/rest-dsl">REST DSL</a> which allows you to easily define REST services within a Camel route.<br />
<br />
Something really cool for folks who like to write Camel components is the <a href="http://rockablogbaby.blogspot.se/2014/09/apache-camel-api-component-framework-or.html">API component framework</a>. This takes a lot of the drudgery out of creating Camel components that mainly just call 3rd party APIs. The box, linkedin, google-*, and salesforce components were all created with this tool in a fraction of the time. Check it out!<br />
<br />
<h2>
Karaf 2.4</h2>
We still haven't bit the bullet on moving off the very stable Karaf 2.x line - it just works. Still, it doesn't mean there were no new features this time. Not a flashy change but a biggy:<br />
<br />
<b>Role based access control (RBAC) support is here!</b><br />
<br />
Back in Fuse 6.1 days and before you had one user that could do everything. Obviously this doesn't fit for all deployments. Now we have the same set of roles as JBoss EAP: Monitor, Operator, Maintainer, Deployer, Auditor, Administrator, and SuperUser. You can selectively give access to Karaf shell commands and JMX MBeans.<br />
<br />
<h2>
Fabric8 Insight</h2>
<a href="http://fabric8.io/gitbook/insight.html">Insight</a> is a centralized logging and metrics collection facility for fabric8 clusters. We introduced it as a tech preview back in 6.1 but now it is fully GA. The backend is implemented with elastic search and there is a nice console accessible within hawtio. You'll have to try it out to fully appreciate the difference a centralized logging + console makes in tracking down problems in a big cluster.<br />
<br />
<h2>
Eclipse tooling updates</h2>
The tooling went through a major overhaul. <a href="http://lhein.blogspot.com/">Lars</a> was on a mission to make your life easier as shown in the video below:<br />
<br />
<iframe allowfullscreen="" frameborder="0" height="275" mozallowfullscreen="" src="https://player.vimeo.com/video/130987010" webkitallowfullscreen="" width="500"></iframe><br />
<a href="https://vimeo.com/130987010">JBoss Fuse Tooling - Usability Improvements</a> from <a href="https://vimeo.com/jbossdeveloper">JBoss Developer</a> on <a href="https://vimeo.com/">Vimeo</a>.<br />
<br />
Another cool thing was sneaked into the Eclipse tooling as well: a data mapper! While this is still in the early days of development (and tech preview for 6.2), it is already looking quite nice. Here's a video of it in action!<br />
<br />
<iframe allowfullscreen="" frameborder="0" height="281" mozallowfullscreen="" src="https://player.vimeo.com/video/131250890" webkitallowfullscreen="" width="500"></iframe><br />
<a href="https://vimeo.com/131250890">Fuse 6.2 - Data Transformation Overview</a> from <a href="https://vimeo.com/jbossdeveloper">JBoss Developer</a> on <a href="https://vimeo.com/">Vimeo</a>.<br />
<br />
<br />
<h2>
HawtIO 1.4</h2>
A lot of little things round out the feature set in this new version of HawtIO. Some highlights:<br />
- RBAC support<br />
- Camel metrics<br />
- JMS message searching and editing<br />
- Improved Camel tracer and debugger<br />
<br />
<h2>
Fuse integration package</h2>
<h3>
<div style="font-size: medium; font-weight: normal;">
A separate download from the Fuse distro, the integration pack provides glue for interacting with JBoss BRMS & BPMS. Yes, you can now officially use these products together in a supported way :-)<br />
<br /></div>
</h3>
<h2>
ActiveMQ 5.11</h2>
- Hardened MQTT/AMQP/LevelDB support<br />
- new AMQP clients (JMS, C++, python)<br />
<br />
<h2>
CXF 3</h2>
Version 3 brings a lot of changes. Some highlights:<br />
<br />
- Full support for JAX-RS 2.0<br />
- New streaming WS-Security impl<br />
- Netty HTTP server/client<br />
- Websocket transport<br />
<br />
<h2>
Switchyard</h2>
<div>
Another big change for this release is that <a href="http://switchyard.jboss.org/">Switchyard</a> is now part of JBoss Fuse. Up until now it was a separate product at JBoss. Now that Switchyard runs on Karaf you can load it in Fuse like any other feature.</div>
<div>
<br /></div>
<div>
What is Switchyard? It's a layer above Camel essentially, focused on building structured, maintainable services and applications using the concepts and best practices of SOA. Very useful if you have a set of well defined services with contracts and you need to route between them.</div>
<div>
<br /></div>
<div>
Switchyard in Fuse 6.2 is tech preview right now but we plan on full GA support in a not too distant release.</div>
<div>
<br /></div>
<div>
OK, that was a mouthful and I only skimmed the surface :-) To find out more go to:</div>
<div>
<br /></div>
<div>
<a href="http://www.jboss.org/products/fuse/overview/">http://www.jboss.org/products/fuse/overview/</a></div>
<br />Jonathan Ansteyhttp://www.blogger.com/profile/15936382362202148472noreply@blogger.com0tag:blogger.com,1999:blog-7653570007295451610.post-36888706757556092842013-05-08T14:44:00.000-02:302013-05-08T14:44:04.914-02:30Talk on ServiceMix at CamelOne 2013<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgrjuvcc4AvI-eV38N2Ko-n_1nWpt9MrdlgVSsdWsUCE7Hs5ReN7UQQfGS0MCftUCGKzBuhQXHLBxMljrKpY8L8Kel2Cqg5oJXbvF1LgvHZzzXKjKwh-dqA7NoWJNbmvgPla94OxmsR7zzf/s1600/ImSpeakingAtCamelOne.jpg" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgrjuvcc4AvI-eV38N2Ko-n_1nWpt9MrdlgVSsdWsUCE7Hs5ReN7UQQfGS0MCftUCGKzBuhQXHLBxMljrKpY8L8Kel2Cqg5oJXbvF1LgvHZzzXKjKwh-dqA7NoWJNbmvgPla94OxmsR7zzf/s1600/ImSpeakingAtCamelOne.jpg" /></a></div>
It's getting close now to <a href="http://camelone.org/">CamelOne 2013</a>, the conference all about open source integration and messaging. I've been fortunate enough to have been a part of previous CamelOne events over the years and lemme tell you, it's been great. We try to keep fluff low, with lots of hands on technical talks.<br />
<br />
Like other years, this year I'm planning on giving a talk on <a href="http://servicemix.apache.org/">Apache ServiceMix</a> titled "Enterprise Integration with <a href="http://camel.apache.org/">Apache Camel</a> and ServiceMix". For those who don't know, Apache ServiceMix is an open source container combining features from Apache ActiveMQ, Camel, CXF, and Karaf. ServiceMix and similar Karaf-based containers like <a href="http://www.jboss.org/products/fuse">JBoss Fuse</a> are a great choice for folks wanting to do enterprise integration with Camel.<br />
<br />
For the talk I'll be giving an update on the ServiceMix project, discussing best practices for developing and running Camel-based integration solutions in ServiceMix, and of course I'll use live demos throughout to demonstrate the concepts.<br />
<br />
The conference runs for 2 days June 10-11, 2013 and registration details can be found at <a href="http://www.camelone.org/">http://www.camelone.org</a>. Hope to see you there! :-)<br />
<br />
<br />
Jonathan Ansteyhttp://www.blogger.com/profile/15936382362202148472noreply@blogger.com0tag:blogger.com,1999:blog-7653570007295451610.post-35436517739913038792013-01-09T09:33:00.001-03:302013-01-09T11:04:14.011-03:30Fuse ESB Enterprise 7.1 Webinar<br />
Last year just before the Christmas holidays we released <a href="http://fusesource.com/forums/ann.jspa?annID=162">Fuse ESB Enterprise 7.1</a>. There have been quite a few changes since the 7.0.2 release we did; in fact, over 2000 tickets were resolved! I'm doing a webinar next week to cover some of the new user facing changes:<br />
<br />
January 17 @ 10:00AM EST - <a href="https://redhat.webex.com/redhat/onstage/g.php?t=a&d=642782948&elq=d3433b5d5d914d159dc398454c4191ff&elqCampaignId=387">Getting Started with Fuse ESB Enterprise 7.1</a><br />
<br />
Some highlights of the changes include:<br />
<br />
- New versions of Apache Camel, CXF, ActiveMQ, Aries and Karaf<br />
- Java 7 support (just in time for the Java 6 EOL ;) )<br />
- Security overhaul in <a href="http://fuse.fusesource.org/fabric/">Fabric</a><br />
<br />
I'll have a live demonstration as well of course showing you how to code with <a href="http://fusesource.com/products/fuse-ide/">Fuse IDE</a> and deploy your app to the ESB.<br />
<br />
Hope to see you there!Jonathan Ansteyhttp://www.blogger.com/profile/15936382362202148472noreply@blogger.com0tag:blogger.com,1999:blog-7653570007295451610.post-91094630822762461542012-06-28T08:37:00.002-02:302012-06-28T08:37:35.581-02:30Red Hat, here we come!<br />
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhoRewE07zyHRRaRX7CHDrgZBWDK-BEU8mdXCgvuLd39MH6c2Ii_XIUTcGik21nepmSUBNi-64RSN7_-1XCqW_XT5f32PwBNdWsZ3Zl2qDGqE3Tn9ErXuzWZG4o6An_egB_4Dkp3I-UQddP/s1600/redhat-logo-big2.jpg" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"><img border="0" height="200" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhoRewE07zyHRRaRX7CHDrgZBWDK-BEU8mdXCgvuLd39MH6c2Ii_XIUTcGik21nepmSUBNi-64RSN7_-1XCqW_XT5f32PwBNdWsZ3Zl2qDGqE3Tn9ErXuzWZG4o6An_egB_4Dkp3I-UQddP/s200/redhat-logo-big2.jpg" width="181" /></a>OK, I couldn't resist quickly blogging about the awesome news that was <a href="http://fusesource.com/redhat/?elq=51bd0686d662436a8f283fbf3fd150d7&elqCampaignId=348">announced</a> yesterday :) <a href="http://fusesource.com/">FuseSource</a> is being acquired by <a href="http://www.redhat.com/">Red Hat</a>! For years now the Fuse team has been a small part of a company that was not focused on open source at all. So, we were very different from the rest of the company's goals. Despite this, we've done great things.<br />
<br />
Now that we're being acquired by Red Hat, which is the epitome of an open source software company, even greater things will follow. So looking forward to being part of the <a href="http://jboss.org/">JBoss</a> team!<br />
<br />
<br />Jonathan Ansteyhttp://www.blogger.com/profile/15936382362202148472noreply@blogger.com2tag:blogger.com,1999:blog-7653570007295451610.post-19202132063130621622012-04-18T10:42:00.003-02:302012-04-18T11:54:53.962-02:30Getting Started with Fuse ESB Webinar<span><span><span style="font-size: 100%; "></span></span></span><span><span>Last week <a href="http://fusesource.com/">FuseSource</a> announced two new enterprise products: <a href="http://fusesource.com/products/fuse-esb-enterprise/">Fuse ESB Enterprise</a> and <a href="http://fusesource.com/products/fuse-mq-enterprise">Fuse MQ Enterprise</a>. Both of these are currently in beta so this of course means that you can download and try them out for yourself :)</span></span><div><span><span><br />If you want to learn more about how to get started with the new Fuse ESB Enterprise product, I'm giving a webinar next Tuesday April 24th at 11:00am EDT. You can register with the link below:<br /><br /></span></span></div><div><span><span><a href="https://fusesource.webex.com/fusesource/onstage/g.php?t=a&d=712378112&SourceId=team">Getting Started with Fuse ESB Enterprise 7.0</a><br /><br /></span></span></div><div><span><span>So, what's covered? I'll be going over all the new stuff that is in this release like <a href="http://fuse.fusesource.org/fabric/index.html">Fuse Fabric</a> and <a href="http://fuse.fusesource.org/bundle/overview.html">FAB</a> (Rob Davies posted some <a href="http://rajdavies.blogspot.se/2012/04/beta-release-of-fusesource-enteprise.html">great teasers</a> last week), but also features that <a href="http://servicemix.apache.org/">Apache ServiceMix</a> users know and love: interactive shell & OSGi container from <a href="http://karaf.apache.org">Apache Karaf</a>, integration flows with <a href="http://camel.apache.org">Apache Camel</a>, web services with <a href="http://cxf.apache.org/">Apache CXF</a>, and reliable messaging with <a href="http://activemq.apache.org/">Apache ActiveMQ</a>. Basically everything you need to get started in your integration projects.</span></span></div><div><span><span><br />Hope to see you (virtually) there!</span></span><div style="font-size: 100%; font-style: normal; font-variant: normal; font-weight: normal; line-height: normal; "><span></span></div></div>Jonathan Ansteyhttp://www.blogger.com/profile/15936382362202148472noreply@blogger.com0tag:blogger.com,1999:blog-7653570007295451610.post-3665959138622674922012-01-20T11:17:00.008-03:302012-01-25T15:11:44.591-03:30CamelOne 2012 CFP is Open<a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://fusesource.com/apache-camel-conference-2012"><img style="float:left; margin:0 10px 10px 0;cursor:pointer; cursor:hand;width: 250px; height: 250px;" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjJcVM06ZAqQzXPN-aXMf1SfcooN4HyLhYL3b9OZUvwXe-9nQY0XYGuovlRwXo1aLCObZ-yDa7s71tZkjz5-zaTAUtG-DR0hfx3bpSbWKoZmYxyZCZjX61uKGUbxLZMG7g607d39rDCPaqL/s320/250x250_tile_new.jpg" border="0" alt=""id="BLOGGER_PHOTO_ID_5699729589488557442" /></a><br />Last year's CamelOne event went so well that <a href="http://fusesource.com">FuseSource</a> is doing another one this year. Awesome news because <a href="http://fusesource.com/camelone2011">CamelOne 2011</a> was a blast! :) IMO smaller, more focused conferences like CamelOne are more beneficial than the big "all-inclusive" conferences. It is still very early in the planning so speaking slots are still available. Registration details are on the <a href="http://fusesource.com/apache-camel-conference-2012">CamelOne 2012</a> site.<br /><br />Cheers to another win for the <a href="http://camel.apache.org/">Apache Camel</a> community!Jonathan Ansteyhttp://www.blogger.com/profile/15936382362202148472noreply@blogger.com4tag:blogger.com,1999:blog-7653570007295451610.post-49784467145510662592011-11-14T15:45:00.004-03:302011-11-14T16:01:19.013-03:30ApacheCon NA 2011 - Geeky Paradise!<div><div>ApacheCon NA this year was in beautiful Vancouver, BC. This conference, besides being my first ApacheCon, was really different from my usual trips since it was in my home country :) No customs and crazy exchange rates FTW! I think there were over 400 attendees so it was a pretty good turnout IMO. Lots of geeky chats, hacking and beverages made for a great time. The sessions were great too of course. I wanted to blog about my trip not because anyone finds my travels interesting :) but because the topics are really cool and are probably not widely known.</div><div><br /></div><div><span class="Apple-style-span"><b>Fuse Fabric + Apache ZooKeeper</b></span></div><div><br /></div><div>I want to start off with my colleague <a href="http://gnodet.blogspot.com/">Guillaume Nodet</a> who spoke about how <a href="http://fabric.fusesource.org/">Fuse Fabric</a> is created on top of <a href="http://zookeeper.apache.org/">Apache ZooKeeper</a> and allows you to provision ActiveMQ, CXF, and Camel applications into a cloud of ServiceMix or Karaf instances. Very cool presentation overall but I was really quite excited by the prospect of upgrading a whole cluster of ServiceMix or Karaf instances to a new version of Camel. Right now, to upgrade at runtime you have to either update every bundle of Camel separately or uninstall + reinstall the new version (not very pretty).</div><div><br /></div><div>Fabric also has an super fast implementation of Distributed OSGi, which allows you to invoke OSGi services hosted in remote nodes. When on the same machine it can run at 25,000 MPS on pretty minimal hardware!</div><div><br /></div><div>This wasn't in the talk (cause it is closed source), but I also heard that <a href="http://fusesource.com/products/fuse-ide/">Fuse IDE</a> has a nice GUI for interacting with Fabric now too :) </div><div><br /></div><div><span class="Apple-style-span"><b>Apache TomEE</b></span></div><div><br /></div><div>I heard a bit about the <a href="http://openejb.apache.org/apache-tomee.html">TomEE</a> project recently and thought it would be good to hear from the main guy <a href="http://blog.dblevins.com/">David Blevins</a> what it is all about. In short, at the Apache TomEE project they are creating a Java EE 6 certified server based on Apache Tomcat. They are doing this because they think that the EE spec is actually not bloated as people say (yeah, its just an API after-all) and that the bloatedness comes from the implementation of various vendors. So, they wanted to make a lean mean EE server. The other main point about TomEE is that it is built on top of Apache Tomcat, which is the most widely used web app server.</div><div><br /></div><div>On the bit about it being lean, apparently to run the entire EE TCK (that is the certification tests), TomEE only needed the default heap size of 64MB... now, I wonder what the other EE app servers required?</div><div><br /></div><div><span class="Apple-style-span"><b>Apache ACE</b></span></div><div><br /></div><div><a href="http://blog.nanthrax.net/">Jean-Baptiste Onofre</a> gave a great demo of <a href="http://incubator.apache.org/ace/">Apache ACE</a> in action. Essentially ACE allows you to provision your OSGi packaged apps into Karaf or ServiceMix instances. I thought it has a pretty slick web interface where you can centrally manage what Karaf nodes have what bundles, etc. Very cool stuff!</div><div><br /></div><div><span class="Apple-style-span"><b>Apache ServiceMix + Camel</b></span></div><div><br /></div><div>The <a href="http://servicemix.apache.org/">ServiceMix project</a> came up numerous times in presentations and offline talks. In short ServiceMix 5 will bring large changes to ServiceMix. Not as large as the gap from version 3 to 4 (where we switched from JBI to OSGi) but still big changes. Some include:</div><div><br /></div><div>- Removal of JBI layer</div><div>- Instead of the NMR as the central solution for routing, use Camel </div><div>- Move some NMR features to Camel (audit, events, tracing, etc...)</div><div>- Add CXF console shell</div><div>- and the many many new features coming with Karaf 3...</div><div><br /></div><div>Version 5 is especially exciting for me because of the implications for Camel. Right now, Camel hasn't changed its architecture much lately IMO; it just keeps getting faster, more stable, and with an ever growing number of components - the best changes for a widely used framework. There haven't been as many improvements to Camel operating at the container level though. We are kinda limited by what the Camel project guidelines are; Camel is a framework, not an ESB. So ServiceMix has no such restriction (it is an ESB!) so version 5 has the major goal of being the best home for your Camel applications and as such will have many improvements for running Camel. Nothing is 100% decided yet so if you have ideas, let the ServiceMix community know before version 5 development starts :)</div><div><br /></div><div>OK, so there were many more talks as well but these were the ones I wanted to talk about :) Overall ApacheCon was one of the coolest conferences I've been too. Very happy to have hung out with some old friends and met some "IRC friends" that I've been wanting to meet for years. </div><div><br /></div><div>Oh yeah, and the next ApacheCon will be November 2012 in Germany... sounds fun already!</div></div><div><br /></div>Jonathan Ansteyhttp://www.blogger.com/profile/15936382362202148472noreply@blogger.com0tag:blogger.com,1999:blog-7653570007295451610.post-44769307240777466532011-09-29T13:19:00.002-02:302011-09-29T15:25:35.602-02:30Free open source talks this October<div>There are a few things happening in October that'd I'd like to draw your attention to. </div><div><br /></div><div><span class="Apple-style-span" style="font-size:130%;"><b>October 11th</b></span></div><div><br /></div><div>We're cohosting a Fuse community day with <a href="http://skillsmatter.com/">Skills Matter</a> in London, England. <a href="http://rajdavies.blogspot.com/">Rob</a>, <a href="http://macstrac.blogspot.com/">James</a>, and <a href="http://davsclaus.blogspot.com/">Claus</a> will be giving several talks on Apache Camel, ServiceMix, Karaf, and ActiveMQ. They'll also talk about some of the products that have come out at FuseSource this year like Fuse IDE and Fuse Fabric. As usual with Fuse community days, several customers will be joining to tell how they use these open source projects in real world applications, which IMHO is usually the most interesting :) <a href="ttp://www.logica.com">Logica</a> and <a href="http://www.apex-networks.com/">Apex Networks</a> will be talking at this event.</div><div><br /></div><div>More details about this are here: <a href="http://skillsmatter.com/event/soa-rest/fusesource-community-day-2011/js-2735">http://skillsmatter.com/event/soa-rest/fusesource-community-day-2011/js-2735</a></div><div><br /></div><div><span class="Apple-style-span" style="font-size:130%;"><b>October 13th</b></span></div><div><br /></div><div>This Fuse community day is in Paris, France. Much the same talks as at the London event with <a href="http://www.atosworldline.com/">Atos Worldline</a> and <a href="http://www.capgemini.com/">Capgemini</a> joining to share their expereince using Apache and FuseSource open source software in real world applications.</div><div><br /></div><div>More details here: <a href="http://tiny.cc/noqh1">http://tiny.cc/noqh1</a></div><div><br /></div><div><span class="Apple-style-span" style="font-size:130%;"><b>October 18th</b></span></div><div><br /></div><div>Last but not least ;) I'll be presenting a webinar on how to get started with Apache ServiceMix. In this webinar I'll take a tour of the many features shipped with ServiceMix. I'll stick with the getting started theme here too - it won't be a deep dive into anything so hopefully it won't go over anyone's heads :) For most of the talk though I'll head to the IDE and see how to build out a ServiceMix application that takes advantage of the main compoenents like: integration flows with Apache Camel, web services with Apache CXF, and reliable messaging with Apache ActiveMQ. </div><div><br /></div><div>If you are interested, you can register here: <a href="https://fusesource.webex.com/fusesource/onstage/g.php?t=a&d=716654083&Sourceid=web">https://fusesource.webex.com/fusesource/onstage/g.php?t=a&d=716654083&Sourceid=web</a></div><div><br /></div>Jonathan Ansteyhttp://www.blogger.com/profile/15936382362202148472noreply@blogger.com0tag:blogger.com,1999:blog-7653570007295451610.post-28263752840372132772011-05-19T10:33:00.004-02:302011-05-19T10:49:01.953-02:30Open Source Integration with Apache Camel and How Fuse IDE Can HelpI've been meaning for a while to update an <a href="http://janstey.blogspot.com/2009/03/apache-camel-integration-nirvana.html">old but popular article</a> I wrote about using Apache Camel. People are still reading it but the Camel version is 1.6 IIRC - we're current thinking of releasing 2.8 so Camel 1.6 is quite dated.<div><br />I also wanted to load up that example in some cool <a href="http://fusesource.com/products/fuse-ide-camel/">Camel GUI tooling</a> that <a href="http://macstrac.blogspot.com/">James</a> created at FuseSource. <div><br /></div><div><img src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjoVh1h0R6DJLJ90l2GhQWkzBuYZ43iwLnB6t9Q3roggJ_Um3pZ8vQbUKrEjH2KImReykLgSYHjdrFNPgTWEpbeFIf6lceebUOYUg3AG0LiMyf9eLIcKqaTdg2RfnMQSf0FdL2hEtvj1Re7/s320/figure4.png" style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 320px; height: 219px;" border="0" alt="" id="BLOGGER_PHOTO_ID_5608414440701305298" /></div><div><br /></div><div>The new article is <a href="http://java.dzone.com/articles/open-source-integration-apache">Open Source Integration with Apache Camel and How Fuse IDE Can Help</a>. Check it out and let me know what you think!<br /><br /></div></div>Jonathan Ansteyhttp://www.blogger.com/profile/15936382362202148472noreply@blogger.com0tag:blogger.com,1999:blog-7653570007295451610.post-39958210505252230112011-03-31T10:08:00.012-02:302011-04-01T14:00:17.453-02:30Speaking at CamelOne and Security BSidesI'm heading out to do a couple of talks on Apache Camel in the coming months and figured I should get the word out! First off, is CamelOne:<br /><h3>CamelOne - May 24-26</h3><br /><a href="http://fusesource.com/camelone2011" onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}"><img style="float:left; margin:0 10px 10px 0;cursor:pointer; cursor:hand;width: 243px; height: 150px;" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjX0FSbkydYbZoDATWqirZKwrntIkUkTa8_4qXglikxTfsI39mXJ-9XSRhurCelWQRS_pMNORCViH2wWCIz46sC6MOg2NarMZhi8Hn4NfvHZ7o7uqtYxIJJA5X2OhvRlwopRp5lQPxPCbt_/s320/1327337101-5+%25281%2529.jpg" border="0" alt="" id="BLOGGER_PHOTO_ID_5590231502271919730" /></a>So I'm really excited about <a href="http://fusesource.com/camelone2011/">CamelOne</a>. It is a conference put off by <a href="http://fusesource.com/">FuseSource</a> for users of Apache open source integration and messaging projects. So there will be lots of talks on Apache Camel, ServiceMix, ActiveMQ and CXF by the folks who created those projects and also users who push the limits of what the software can do. Great stuff.<br /><br />Gregor Hohpe, author of <a href="http://www.eaipatterns.com/">Enterprise Integration Patterns</a>, will also be giving a keynote about the Past, Present and Future of Enterprise Integration Patterns.<br /><br />Given most of the time I see folks running Camel applications on top of ServiceMix or Karaf, I will be giving a talk entitled:<b> <a href="http://fusesource.com/camelone2011/speakers/">Getting the most out of your ServiceMix deployment of Camel.</a></b> A brief description of the talk:<br /><blockquote>Apache Camel was designed to be deployable nearly anywhere; you have your choice of standalone in a JVM, Tomcat, J2EE, ActiveMQ, Spring, OSGi, and more. One particularly suitable deployment option is an OSGi container like Apache ServiceMix. In this session, Jon will show you how to take advantage of the many features that ServiceMix brings to the table and also how to best design your Camel applications to get the most out of OSGi.</blockquote>I urge anyone who uses Camel, ServiceMix, ActiveMQ or CXF and can afford the trip to <a href="http://camelone.eventbrite.com/">attend CamelOne</a>. It's going to be a blast and it would really be great to chat with fellow community members about these projects.<div><br /></div><br /><h3>Security BSides - June 10</h3><br /><a href="http://www.securitybsides.com/w/page/35302219/BSidesStJohns" onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}"><img style="float:left; margin:0 10px 10px 0;cursor:pointer; cursor:hand;width: 243px; height: 150px;" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiS3CFaeBbVKsfy2Q2ARIaLWa5YPV0u0Hc2ml36oe2lkN2FqbnNWanwvHuOauAjgLlwPzkBH8YECfAXq2ZkneJN96uFdr_SNjBhLE9dJczUyt_q9wBKnltFEO2I3lAZ6VsBU545r3_DV9Uz/s320/BSidesLogo.jpg" border="0" alt="" id="BLOGGER_PHOTO_ID_5590231032848372738" /></a><a href="http://www.securitybsides.com/w/page/35302219/BSidesStJohns">Security BSides</a> is an "unconference" style gathering here in St. John's. A brief description from the official site:<br /><br /><blockquote>An eclectic gathering of infosec people to hear awesome talks and have outrageously fun discussions! Our mission is to provide an inclusive, open environment for the sharing and collaborative discourse on topics that most interest you.</blockquote><br /><br />I'm going be giving a talk on <b>How to Secure your Apache Camel Deployment</b>. A brief abstract of the talk:<br /><br /><blockquote>Apache Camel is an open source Java framework that focuses on making integration easier and more accessible to developers. It does this by providing: concrete implementations of all the widely used Enterprise Integration Patterns (EIPs), connectivity to a great variety of transports and APIs, and an easy to use Domain Specific Language (DSL) to wire EIPs and transports together to form routes.<br /><br />Interacting with secure services and also hosting secure services is essential in most integration projects. In this session, Jon will go over the four categories of security features in Camel, which include securing: routes, message payload, endpoints, and configuration. </blockquote><br /><br />If you are in the area, please drop by - also, <a href="http://bsidesstjohns.eventbrite.com/">registration is free</a> :)Jonathan Ansteyhttp://www.blogger.com/profile/15936382362202148472noreply@blogger.com2tag:blogger.com,1999:blog-7653570007295451610.post-48066064258875763352011-03-21T09:40:00.002-02:302011-03-21T09:47:57.232-02:30Team Programming Competition ResultsOn Friday I sponsored a team programming competition at <a href="http://www.mun.ca">Memorial University</a> here in St. John's. Like the <a href="http://janstey.blogspot.com/2011/02/programming-competitions-on-rock.html">previous competition</a> this year, I presented a signed copy of <a href="http://www.manning.com/ibsen/">Camel in Action</a> to each of the 1st place winners. Congratulations to Melissa Reid and Ken Collingwood for winning!<br /><br />Full results of the competition were posted on <a href="http://icodebythesea.blogspot.com/2011/03/memorial-university-cs-games-team.html">Jamie's blog</a>.Jonathan Ansteyhttp://www.blogger.com/profile/15936382362202148472noreply@blogger.com0tag:blogger.com,1999:blog-7653570007295451610.post-13119384580781718062011-02-28T11:12:00.004-03:302011-02-28T11:36:26.920-03:30Programming Competitions on the RockThis past Friday I sponsored a programming competition at <a href="http://www.mun.ca">Memorial University</a> here in St. John's. Was a great turn out - much more than I can remember back in the day when I competed in these things... Jamie posted the <a href="http://icodebythesea.blogspot.com/2011/02/memorial-university-cs-games-singles.html">full results</a> since he helped organize the event. <br /><br />On behalf of <a href="http://fusesource.com">FuseSource</a> I presented a prize to the 1st place winner, Robert Robere. Robert, of course, won a signed copy of <a href="http://www.manning.com/ibsen/">Camel in Action</a> - what else? :)<br /><br />Looking forward to the next one in 3 weeks!Jonathan Ansteyhttp://www.blogger.com/profile/15936382362202148472noreply@blogger.com1tag:blogger.com,1999:blog-7653570007295451610.post-40398768741666452782011-01-14T10:43:00.004-03:302011-01-14T11:56:12.490-03:30Seminar on Time Series Novelty DetectionJust got this email in my inbox, feel free to stop by and see my talk. There is no mention of middleware or opensource I promise :)<br /><blockquote><br />GRADUATE STUDENT SEMINAR<br /><br />JONATHAN S. ANSTEY<br />WILL GIVE A TALK ON<br /><br />“TIME SERIES NOVELTY DETECTION WITH APPLICATION TO PRODUCTION SENSOR SYSTEMS”<br /> <br />WEDNESDAY, JANUARY 19, 2010<br />9:00 A.M. <br />EN-4002<br /><br />MR. ANSTEY IS A GRADUATE STUDENT<br />IN THE M.ENG. PROGRAM<br />UNDER THE SUPERVISION OF DR. D. PETERS<br /><br />ALL INTERESTED ARE WELCOME<br /></blockquote><br />I'm not sure either why this is all in CAPS :) For those interested, the full abstract of the work is:<br /><blockquote><br />Modern fiber manufacturing plants rely heavily on the use of automation. Automated facilities use sensors to measure fiber state and react to data patterns, which correspond to physical events. Many patterns can be predefined either by careful analysis or by domain experts. Instances of these patterns can then be discovered through techniques such as pattern recognition. However, pattern recognition will fail to detect events that have not been predefined, potentially causing expensive production errors. A solution to this dilemma, novelty detection, allows for the identification of interesting data patterns embedded in otherwise normal data. In this thesis we investigate some of the aspects of implementing novelty detection in a fiber manufacturing system. Specifically, we empirically evaluate the effectiveness of currently available feature extraction and novelty detection techniques on data from a real fiber manufacturing system.<br /><br />Our results show that piecewise linear approximation (PLA) methods produce the highest quality features for fiber property datasets. Motivated by this fact, we introduced a new PLA algorithm called improved bottom up segmentation (IBUS). This new algorithm produced the highest quality features and considerably more data reduction than all currently available feature extraction techniques for our application.<br /><br />Further empirical results from several leading time series novelty detection techniques revealed two conclusions. A simple Euclidean distance based technique is the best overall when no feature extraction is used. However, when feature extraction is used the Tarzan technique performs best.<br /></blockquote>Jonathan Ansteyhttp://www.blogger.com/profile/15936382362202148472noreply@blogger.com5tag:blogger.com,1999:blog-7653570007295451610.post-47608811722467988642010-12-09T11:44:00.004-03:302010-12-09T11:53:40.599-03:30Camel in Action is complete!<a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://www.manning.com/ibsen/"><img style="float:left; margin:0 10px 10px 0;cursor:pointer; cursor:hand;width: 165px; height: 200px;" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhapiujshUpGBiW7Xfkn6CMxmgtfurfXkfPQJFZ2i9qVXbXPwJoFUVaAluwt5kk4gtEBTohDstE_AJHOqjQRf5h4ZxDbHmcvIKXiEA76BsJrXvtUELuZIcz07oCBXtmDpLCNidUPbMsA1fN/s200/cia-small.jpg" border="0" alt="" id="BLOGGER_PHOTO_ID_5548701747034496994" /></a><br /><div>So we did it. <a href="http://manning.com/CamelinAction">Camel in Action</a> is headed to the press! Time for beers and all that, but first a little blog post :)</div><div><br /></div><div>I had to actually search through my mail to find out when I started on this project. Turns out I got involved mid September 2009 which puts the time in about 15 months. <a href="http://davsclaus.blogspot.com/">Claus</a> started before that so his month count is higher - poor guy ;) So it was a pretty big chunk of time for both of us but not too bad for a technical book I'm told. </div><div><br /></div><div>We set out to create something that the growing <a href="http://camel.apache.org/">Apache Camel</a> community needed badly - a great reference for newbies and experts alike. I'd like to think we accomplished that goal. Seems the early access readers agree too.</div><div><br /></div><div>Thanks to all who were involved in producing this book. We had tons of very helpful reviewers, <a href="http://www.manning.com/">Manning</a> staff, and even multiple foreword writers - there were a lot of people involved in creating this other than <a href="http://davsclaus.blogspot.com/">Claus</a> or myself. Of course, we officially thanked the folks involved in the acknowledgements section so be sure to look there if you helped out :)</div><div><br /></div><div>I have yet to see anything other than a PDF copy of the book (which should be released tomorrow) so I'm really looking forward to when the print copies start showing up in 10 days! </div><div><br /></div><div>Also, feel free to use the "camel50" code for 50% off when ordering through <a href="http://manning.com/CamelinAction">http://manning.com/CamelinAction</a></div><div><br /></div><div>Now its time to celebrate.</div>Jonathan Ansteyhttp://www.blogger.com/profile/15936382362202148472noreply@blogger.com2tag:blogger.com,1999:blog-7653570007295451610.post-876114117193270902010-08-27T09:28:00.003-02:302010-08-27T09:44:25.016-02:30Apache Camel Webinars at FuseSourceAs <a href="http://davsclaus.blogspot.com/2010/08/camel-webinars.html">Claus just posted</a>, we are doing two webinars next month on <a href="http://camel.apache.org">Apache Camel</a> at <a href="http://fusesource.com">FuseSource</a>.<br /><br /><ul><li><b>September 8th</b> - Claus will give an introduction to Apache Camel including: core concepts, EIPs, components, and the community. </li><li><b>September 16th</b> - I will go over deployment options for Camel including: embedded Java, Spring, ActiveMQ, ServiceMix (OSGi) and web app. This will include a live demonstration of deploying a Camel application in ServiceMix.</li></ul>These webinars are interactive so you can ask questions to us directly. <a href="http://fusesource.com/resources/video-archived-webinars/">Register here</a> and drop in, it will be an interesting show!Jonathan Ansteyhttp://www.blogger.com/profile/15936382362202148472noreply@blogger.com3tag:blogger.com,1999:blog-7653570007295451610.post-9795721201251437282010-07-12T16:32:00.000-02:302010-07-12T16:45:15.591-02:30Quick load testing with the Camel Dataset componentA pretty common thing I have to do is investigate issues that only occur when load is put on a system. Instead of hand coding message producers to pummel a Camel route or message broker, I've been using the Camel dataset component. I'm not sure many are aware of it but its an incredibly useful and easy to use tool.<br /><br />For demonstration's sake let say we want to send 10000 messages in a tight loop to a ActiveMQ broker started on the local machine. First we download ActiveMQ<br /><br /><a href="http://activemq.apache.org/activemq-532-release.html">http://activemq.apache.org/activemq-532-release.html</a><br /><br />and then start up ActiveMQ<br /><br />bin/activemq<br /><br />Now we set up a simple Camel app that uses the Dataset component in a Spring XML file (source available <a href="http://people.apache.org/~janstey/blog_stuff/camel_dataset/dataset-test.zip">here</a>):<br /><br /><pre style="font-family: Andale Mono, Lucida Console, Monaco, fixed, monospace; color: #000000; background-color: #eee;font-size: 12px;border: 1px dashed #999999;line-height: 14px;padding: 5px; overflow: auto; width: 100%"><code> #1<br /> <bean id="myDataSet" class="org.apache.camel.component.dataset.SimpleDataSet"><br /> <property name="size" value="10000"/><br /> </bean><br /><br /> #2<br /> <bean id="activemq" class="org.apache.activemq.camel.component.ActiveMQComponent"><br /> <property name="brokerURL" value="tcp://localhost:61616"/><br /> </bean><br /><br /> <camelContext xmlns="http://camel.apache.org/schema/spring"><br /> #3<br /> <route><br /> <from uri="dataset:myDataSet?produceDelay=-1"/><br /> <to uri="activemq:myQueue"/><br /> </route><br /><br /> #4<br /> <route><br /> <from uri="activemq:myQueue"/><br /> <to uri="file:/tmp"/><br /> </route><br /> </camelContext><br /></code></pre><br /><br />So we first create a SimpleDataSet #1 with a size of 10000. This means that 10000 messages will be sent when we use this is the route. We also need to configure the connection to the ActiveMQ broker #2 that we will be pummeling. Finally, we have a Camel route that sends 10000 messages to a queue named myQueue #3. We also have another route that consumes from the same queue and dumps the message contents to the /tmp directory. You can run this now by issuing mvn camel:run on the command line. You will see output something like:<br /><br /><pre style="font-family: Andale Mono, Lucida Console, Monaco, fixed, monospace; color: #000000; background-color: #eee;font-size: 12px;border: 1px dashed #999999;line-height: 14px;padding: 5px; overflow: auto; width: 100%"><code>[pache.camel.spring.Main.main()] DefaultCamelContext INFO Apache Camel 2.3.0 (CamelContext: camelContext) started in 1155 millis<br />[et://myDataSet?produceDelay=-1] et://myDataSet?produceDelay=-1 INFO Sent: 2000 messages so far. Last group took: 2120 millis which is: 943.396 messages per second. average: 943.396<br />[et://myDataSet?produceDelay=-1] et://myDataSet?produceDelay=-1 INFO Sent: 4000 messages so far. Last group took: 1867 millis which is: 1,071.237 messages per second. average: 1,003.261<br />[et://myDataSet?produceDelay=-1] et://myDataSet?produceDelay=-1 INFO Sent: 6000 messages so far. Last group took: 2014 millis which is: 993.049 messages per second. average: 999.833<br />[et://myDataSet?produceDelay=-1] et://myDataSet?produceDelay=-1 INFO Sent: 8000 messages so far. Last group took: 2399 millis which is: 833.681 messages per second. average: 952.381<br />[et://myDataSet?produceDelay=-1] et://myDataSet?produceDelay=-1 INFO Sent: 10000 messages so far. Last group took: 1741 millis which is: 1,148.765 messages per second. average: 986.096<br /></code></pre><br /><br />So this allowed us to quickly (1) set up a producer which sent 10000 messages, (2) consume those messages from the same queue and (3) report what the throughput was during the test.<br /><br />The source for this example is available at <a href="http://people.apache.org/~janstey/blog_stuff/camel_dataset/dataset-test.zip">http://people.apache.org/~janstey/blog_stuff/camel_dataset/dataset-test.zip</a><br /><br />For more information on the dataset component, see the official Apache Camel documentation at <a href="http://camel.apache.org/dataset.html">http://camel.apache.org/dataset.html</a>Jonathan Ansteyhttp://www.blogger.com/profile/15936382362202148472noreply@blogger.com0tag:blogger.com,1999:blog-7653570007295451610.post-50474492779724688722010-04-01T16:11:00.000-02:302010-04-01T16:27:50.981-02:30Understanding Camel componentsWe've updated <a href="http://www.manning.com/ibsen">Camel in Action</a> today with 3 new chapters. That brings the total to 11 out of 13 chapters, which means we are getting close :)<br /><br />One of the chapters is all about Camel components. The list of components in Camel has really exploded over the last few years. Camel ships with 76 components right now and there are dozens more available separately from other community sites. I mean, when presented with most integration scenarios we can easily say<br /><br />"There's a Camel component for that."<br /><br />So out of these components, which ones did we choose to cover? To make the content fit into one chapter we covered 11 components in 7 sections:<br /><br /><table><tbody><tr><th style="text-align: left;">Section</th><th style="text-align: left;">Components covered</th></tr><tr><td>Working with files</td><td>file, ftp</td></tr><tr><td>Asynchronous Messaging using the JMS component</td><td>jms</td></tr><tr><td>Web Services and the CXF Component</td><td>cxf</td></tr><tr><td>Networking with the MINA component</td><td>mina</td></tr><tr><td>Working with databases</td><td>jdbc, jpa</td></tr><tr><td>In-memory asynchronous messaging</td><td>seda, vm</td></tr><tr><td>Automating tasks</td><td>timer, quartz</td></tr></tbody></table><br />Why these components? Well, we felt that these were the most widely used and thus essential knowledge for any Camel user. Of course, other components are covered elsewhere in the book but not in as much detail as these.<br /><br />Feel free to check out chapter 7 <span style="font-style:italic;">Understanding components</span> in the <a href="http://www.manning.com/ibsen">latest book update</a> or <a href="http://code.google.com/p/camelinaction/source/browse/#svn/trunk/chapter7">browse the chapters examples</a>.Jonathan Ansteyhttp://www.blogger.com/profile/15936382362202148472noreply@blogger.com0tag:blogger.com,1999:blog-7653570007295451610.post-7261408510215039022009-11-24T16:20:00.000-03:302009-11-24T16:56:48.342-03:30New Camel in Action ChaptersToday we posted 2 new chapters for the <a href="http://www.manning.com/ibsen">Camel in Action</a> MEAP. <a href="http://davsclaus.blogspot.com/">Claus</a> will most likely fill you in about the chapter on bean integration soon. Let me give you a little info about chapter 2 now though. Chapter 2 is basically all about routing - a pretty fundamental topic for Camel! I cover route creation in Java and Spring, as well as several EIPs. Since it is such an early chapter its pretty hand-holding throughout - you don't need to know Spring or EIPs beforehand, for instance. <br /><br />I also introduce a new running example to the book: Rider Auto Parts. You may remember them from the DZone article <a href="http://architects.dzone.com/articles/apache-camel-integration">Integration Nirvana</a> I wrote earlier this year.<br /><br />We actually started using a Google Code project for hosting the books source code so you can see the code for chapter 2 here:<br /><a href="http://code.google.com/p/camelinaction/source/checkout">http://code.google.com/p/camelinaction/source/checkout</a><br /><br />In the coming months the source from other chapters will also be added. As always, we love feedback in the <a href="http://www.manning-sandbox.com/forum.jspa?forumID=601">book's forum</a>.Jonathan Ansteyhttp://www.blogger.com/profile/15936382362202148472noreply@blogger.com2tag:blogger.com,1999:blog-7653570007295451610.post-47495989160740057882009-10-22T16:33:00.000-02:302009-10-22T16:44:06.960-02:30Camel in ActionAs <a href="http://davsclaus.blogspot.com/2009/10/announcing-camel-in-action.html">Claus just announced</a>, we are writing a book with Hadrian on <a href="http://camel.apache.org/">Apache Camel</a> entitled "Camel in Action".<br /><a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://www.manning.com/ibsen"><img style="float:left; margin:0 10px 10px 0;cursor:pointer; cursor:hand;width: 150px; height: 187px;" src="http://www.manning.com/ibsen/ibsen_cover150.jpg" border="0" alt="" /></a><br />There has been a real need for such a book for a long time. We're hoping to fill the gap in the current documentation thats out there and provide a go to resource for new and experienced users alike.<br /><br />A neat thing about writing at <a href="http://www.manning.com">Manning</a> is that readers can see the book as its being written (in all its rough glory :)) and provide feedback directly to us. Also its early enough in the writing process so that you could have real influence on what topics get included!<br /><br />Feel free to check out <a href="http://www.manning.com/ibsen">the book</a> and <a href="http://www.manning-sandbox.com/forum.jspa?forumID=601">forums</a>.Jonathan Ansteyhttp://www.blogger.com/profile/15936382362202148472noreply@blogger.com0tag:blogger.com,1999:blog-7653570007295451610.post-29011745228359943482009-05-11T10:57:00.000-02:302009-05-11T11:22:55.499-02:30Introduction to the Open eHealth Integration PlatformMartin Krasser has just posted an excellent article on the <a href="http://gforge.openehealth.org/gf/project/ipf/">Open eHealth Integration Platform</a> (IPF). The IPF is essentially an extension of Apache Camel for the healthcare domain. Where Camel focuses on providing an easy to use domain specific language (DSL) for enterprise integration, the IPF adds DSL terms from the healthcare domain. Go check it out! <br /><br /><a href="http://architects.dzone.com/articles/introduction-open-ehealth">Introduction to the Open eHealth Integration Platform</a>Jonathan Ansteyhttp://www.blogger.com/profile/15936382362202148472noreply@blogger.com2tag:blogger.com,1999:blog-7653570007295451610.post-61536695291916932352009-03-30T15:22:00.000-02:302009-03-30T15:37:33.675-02:30Apache Camel Refcard at DZone<a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://www.dzone.com/links/enterprise_integration_patterns_with_apache_camel.html"><img style="float:left; margin:0 10px 10px 0;cursor:pointer; cursor:hand;width: 154px; height: 200px;" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjksEmMQG7KhElKMlwE_CX5PL39WqamsseasWRjWlAxKgvnCLtUMyviqc1vcrz8whBoFGE9gscOzFM_QWn8m1TAaFMIcPseihzgFpcy9QsAfY5qvJ11mT4d0xXfWqYApxJnIYMwnDVuuWhe/s200/refcard.png" border="0" alt=""id="BLOGGER_PHOTO_ID_5319043691313601890" /></a><br />Fellow Camel guru <a href="http://davsclaus.blogspot.com/">Claus Ibsen</a> has created a lovely <a href="http://www.dzone.com/links/enterprise_integration_patterns_with_apache_camel.html">Refcard</a> for <a href="http://www.dzone.com">DZone</a>. From the description<br /><blockquote>This Refcard provides you with eleven of the most essential patterns that anyone working with integration must know. This Refcard is targeted for software developers and enterprise architects, but anyone in the integration space can benefit as well.</blockquote> <br />Go check it out!<br /><br /><a href="http://www.dzone.com/links/enterprise_integration_patterns_with_apache_camel.html">Enterprise Integration Patterns with Apache Camel</a>Jonathan Ansteyhttp://www.blogger.com/profile/15936382362202148472noreply@blogger.com0