Friday, 28 January 2011
Wanna try our Apache Camel developer tools for Enterprise Integration Patterns?
We're just starting the public beta of Fuse IDE for Camel, our Eclipse tool suite that lets you visually create, edit and configure Enterprise Integration Patterns easily using Apache Camel and its huge selection of patterns and components.
If you use Apache Camel or have always meant to give it a try then please install it, take it for a spin and see what you think. We'd love to hear your feedback on the tool & how we can improve it!
We've lots of things planned for the tool; this is just the beginning...
Monday, 13 December 2010
Camel in Action is complete!
Its a great read & highly recommended if you have integration problems you want to solve with the best of breed open source solutions.
There's more history and background in Claus's post or to quote from Jon's post...
So we did it. Camel in Action is headed to the press! Time for beers and all that, but first a little blog post :)
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. Claus 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.
We set out to create something that the growing Apache Camelcommunity 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.
Thanks to all who were involved in producing this book. We had tons of very helpful reviewers, Manning staff, and even multiple foreword writers - there were a lot of people involved in creating this other than Claus or myself. Of course, we officially thanked the folks involved in the acknowledgements section so be sure to look there if you helped out :)
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!
Also, feel free to use the "camel50" code for 50% off when ordering through http://manning.com/CamelinAction
Tuesday, 26 October 2010
Scala is awesome!
The sound is a bit quiet you might need to turn it up when Debbie's not talking :)
Here's the video or try it embedded below:
Monday, 25 October 2010
FuseSource has launched!
From a personal perspective I'm really excited about the future of FuseSource; we're growing fast, have some amazing customers & a great team including the folks who created Apache ActiveMQ, Apache Camel and Apache ServiceMix and now we have autonomy so we can stay nimble & fast like a startup while we innovate and iterate to help our customers solve their integration problems with open source; all the while having the security of being backed by a large company. This is gonna be fun! :)
Friday, 8 October 2010
Scalate 1.3 Released
- Ssp which is like a Scala version of Velocity, JSP or Erb from Rails
- Scaml which is a Scala dialect of Haml for very DRY markup along with theJade syntax
- Mustache which is a Scala dialect of Mustache for logic-less templates which also work inside the browser using mustache.js
- Jade template syntax is now supported which is a dialect of Haml or Scaml
- New Servlet Filter which allows more flexible mapping of templates in a web application. For example you can have the request /foo.xml automatically bound to /foo.xml.ssp if the template exists letting you easily implement views without requiring a controller or routing in your MVC layer.
- JSP Converter helps you migrate your existing JSP web application across to Scalate
- HTML Converter lets you migrate your existing HTML files easily to Scaml orJade for extra DRY markup
- DRY template imports, values and logic thanks to Scalate Package objects which allow imports, values and methods to be shared across some or all of your templates to reduce noise inside your templates.
- Site Generator lets you generate static or dynamic websites using templates and/or wiki markup together with exporting wiki content from Confluence wikis to migrate to using git/svn as your wiki content repository. You can also use a common bootstrap approach now across both static website generation and web applications - such as to configure wiki macros in a canonical way. We now eat our own dog food and generate this site using Scalate.
- More filters and pipelines supported such as confluence as well as the existing markdown which are particularly useful for website generation (static or semi-static).
- The Scalate Tool now comes with a full interactive shell with full tab completion to make it easier to use the tool either for ad hoc or interactive shell use.
Friday, 30 July 2010
Scalate 1.2 Released
The Scalate team is pleased to announce the availability of Scalate 1.2.
Scalate is a Scala 2.8 based template engine which can be used stand alone, with servlets or web frameworks like JAXRS, http://scalate.fusesource.org/documentation/lift.html">Lift or Play or in integration frameworks like Apache Camel.
The following template languages are supported through the same common API:
- Ssp which is like a Scala version of Velocity, JSP or Erb from Rails
- Scaml which is a Scala dialect of Haml for very DRY markup
- Mustache which is a Scala dialect of Mustache for logic-less templates which also work inside the browser using mustache.js
All expressions inside Ssp and Scaml benefit from the full power and expressiveness of Scala plus they are typesafe and checked at edit/compile time to ensure you don’t leave any mistakes in your templates.
Scalate 1.2 Highlights
- Scalate now supports the Mustache template language which is a Scala dialect of Mustache for logic-less templates which also work inside the browser using mustache.js. Support for Mustache uses the same common Scalate API so it works with all the existing Scalate adapters such as servlets, JAXRS, http://scalate.fusesource.org/documentation/lift.html">Lift or Play and Apache Camel
- Scalate is now built on top of Scala 2.8.0 final release
- Scuery for jQuery style transformation of HTML or XHTML using CSS3 selectors
- the console can be more easily reused in your application without using WAR overlays and templates can be loaded via the classloader to help make more modular web applications without relying on WAR overlays
- improvements in associating different template languages to files/URIs/strings/streams in a more flexible API
- various improvements in the accuracy of the mapping of scala compiler errors to positions in the template source file which are then shown and linked in the console
For more detail see the Full Change Log
Feedback is always welcome!
Thursday, 20 May 2010
FUSE Community Day in Frankfurt May 25th
It will be held on May 25th 2010 in Frankfurt, Germany. We start at 9:00 am and have a full packed day with great speakers.
At 4:30 pm its time for "evaluation" where you can join us for a drink and a "one-on-one" chat with the many great minds at FUSE and network/mingle with the other participants.
You can see the agenda which is listed on the FUSE site.
Get the latest news on Apache ServiceMix, ActiveMQ, CXF, Camel.
Hear from committers, founders like Rob Davies, James Strachan and Claus Ibsen and users who have successfully implemented Apache in projects.
Meet and network with peers at this free educational community day.
Date
25th of May
Time
9:00AM to 4:30PM
Location
Radisson Blu Hotel, Franklinstrasse 65, 60486 Frankfurt am Main
Who Should Attend
Developers, architects, engineers and IT managers
How to register
Use this link
Wednesday, 28 April 2010
Scalate 1.1 Released
The Scalate team is pleased to announce the availability of Scalate 1.1.
Scalate is a Scala 2.8 based template engine which can be used stand alone, with servlets, in JAXRS, with the Play Framework or in Apache Camel. (Work on lift integration is in progress).
All expressions inside Scalate benefit from the full power of Scala plus they are typesafe and checked at edit/compile time to ensure you don’t leave any mistakes in your templates.
Two template languages are currently supported:
- Ssp which is like a Scala version of Velocity, JSP or Erb from Rails
- Scaml which is a Scala dialect of Haml for very DRY markup
Scalate 1.1 Highlights
- Ssp now supports Velocity style directives for more concise looping and branching.
- new Scalate Tool for creating new projects with Scalate more easily
- improved API for working with templates from different sources (file, URL, Source, String etc) via the helper methods on TemplateSource object and methods on TemplateEngine which take a TemplateSource
- easier to configure whitespace handling via the escapeMarkup property on TemplateEngine and RenderContext so its easy to configure markup escaping for an entire project or enable/disable it within templates.
For more detail see the Full Change Log
Feedback is always welcome!
Tuesday, 6 April 2010
Scalate 1.0 Released
The Scalate team is pleased to announce the availability of Scalate 1.0.
Scalate is a Scala 2.8 based template engine which can be used stand alone, with servlets, in JAXRS, with the Play Framework or in Apache Camel. (Work on lift integration is in progress).
All expressions inside Scalate benefit from the full power of Scala plus they are typesafe and checked at edit/compile time to ensure you don’t leave any mistakes in your templates.
Two template languages are currently supported:
- Ssp which is like a Scala version of JSP or Erb from Rails
- Scaml which is a Scala dialect of Haml for very DRY markup
Further information:
Feedback is always welcome!
Tuesday, 2 February 2010
if you need an excuse for buying an iPad, try this...
Wednesday, 13 January 2010
Using SBT on your Scala Maven project for continous testing
It can take a while to rebuild & rerun tests on a Scala project when using Maven (and IDEs can be a little slow sometimes too when it comes to continuous testing and scala).
You can buy Infinitest as an IDE plugin which is triggered whenever you do a build. Though I've found the console view isn't great when running ScalaTests (there's no way to navigate to the code that fails) - and you have to explicitly hit 'build' when you're editing your code. I prefer tests to just rerun automatically (reusing IDEA's auto-save feature).
So another approach is to use sbt, the simple build tool for scala.
Installing sbt
I use 0.6.9 (or xsbt as its often called) so I can work with scala 2.8.0.Beta1-RC7 nicely. Basically download the jar and create script called 'sbt' or 'xsbt' if you prefer, then you can run sbt from the command line.
You can then run sbt in the directory of your pom.xml and it'll configure itself with whatever project & version you want to use and version of sbt/scala etc.
Setting up sbt for maven projects
For those new (like me) to sbt, here's a quick way to get your maven build converted to use sbt. If you don't have a maven build for your project you can skip this step.
To cut corners and not configure all the maven repos you want to use to download your dependencies, you can just let sbt reuse your local maven repo to find jars.
So create a scala file in the project/build directory. sbt will have created the project directory for you, along with a boot subdirectory but you will need to create the build directory.
Call the file whatever you like, such as project/build/Foo.scala...
import sbt._Now you can start sbt and update it to load all the maven dependencies from your project
class FooProject(info: ProjectInfo) extends DefaultProject(info) {
val mavenLocal = "Local Maven Repository" at
"file://"+Path.userHome+"/.m2/repository"
}
sbtThe first execution of sbt puts you in the sbt shell which has completion and help so you can find the various options available. The 'update' task loads & downloads all the dependencies from your pom.xml. Refer to the docs for more details on repositories and dependencies.
update
compile
Now you've got your dependencies imported, lets do some continuous testing.
Continuous Testing
From the sbt shell just type
~ testNow sbt will monitor your code, detect when its changed, rebuild and rerun all the tests for you showing the results in nicely colour coded output in the terminal.
When you fancy playing in the Scala interactive shell (REPL) just type
console-project
And you're good to go. Enjoy!
Have you figured out a neater way of doing continuous testing with IDEA and Scala?
I guess someone could hack a JRebel plugin for Maven so that you could use the scala:cc goal to incrementally compile your scala code as you edit it; then JRebel automatically reloads the changed classes, then the new continuous testing plugin would just need to use a trigger in the JRebel SDK so that when a class is reloaded it reruns the relevant test cases (or all of them - maybe sorted by previously failed ones first).
A similar technique works great when running projects with jetty:run or scala:console - letting JRebel reload any classes rebuilt via scala:cc
Wednesday, 16 December 2009
Update: using Time Machine on a network drive with Snow Leopard or Leopard
- download the CreateBackupVolume application from Jon's excellent backmyfruitup project
- run it - tell it how big to make the sparse bundle thingy
- a sparse bundle file then gets created on your desktop (the name of the file starts with your machine name)
- mount your network drive if its not already
- drag the sparse bundle onto your network drive (you can delete the local one)
- set TimeMachine to use your network drive
- wait :)
