Hi.
The first day of EclipseCON will soon be behind us.
Today was the day for tutorials. I was part of the speakers for the Towards Integrated SOA Development with Eclipse STP and Swordfish tutorial, which was held this afternoon.
We got a little more attendees than what we expected. The tutorial lasted a little more than four hours, and things went quite good.
First, Adrian Mos gave a little overview of the BPMN editor. He created a BPMN diagram for the SCA application that was created later in the tutorial. He also talked about the STP Intermediate Model, introducing the concepts, the cases in which it could be helpful and the upcoming features. Eventually, he used it to create an SCA application skeleton from the BPMN diagram he had done.
I then spoke about SCA Tools, the SCA sub-project of STP. I first gave a small presentation about SCA, explaining the concepts, how they were mapped to editor artifacts and mentioning the available tools (editors, validation, wizards…). Originally, the SCA tutorial goal was to let people create an SCA application from zero with the SCA tools. Some concrete application, not just a HelloWorld. I had prepared a document with instructions indicating to people what to do and how. I would have been in the room to help them, answer questions and explain the things that were not clear. The document contained a first part, which was intended for every one, and several extensions, for those who would have moved faster. But things did not go as well as I expected.
Unlike what I had planned, and for several reasons, I had to make the SCA application in live. We saw how we could create an SCA project, an SCA diagram, how we could use the SCA Designer to create the application frame, how we could reference an external web service and how we could write and bind code with the SCA model. Everything went quite good until the deployment part. In fact, I did not completely follow the tutorial I wrote, changing some element names. It resulted in deployment problems.
My time span was a little bit over and I was not sure I would have time to correct my application. I finally ended up the SCA part and I gave the word to Jerry Preissler. He introduced policies, giving a definition of what a policy is, in which cases it can help and what are the available STP tools. He made a short demo of the STP Policy Editors and made the transition to the Swordfish presentation.
We then took a 15 minutes break before going on with the Swordfish presentation.
Oliver Wolf talked about what it is, what it aims at, the features which are already available and those which are planned. It was very interesting. And I would even say impressive. It was very concrete, showing some parts of the Swordfish API, explaining how you would create a service for this Eclipse-based runtime. As someone who uses both Eclipse and some service platforms, I really think it is interesting for SOA users. And that PEtALS guys should really take a look at it.
On the whole, I think things are positive. I mean, there were some very interesting parts in the tutorial. I can’t say I am satisfied of my performance or the SCA part. If I had to do it again, I would make it differently. Anyway, during the tutorial, I got in touch with one attendee who was interested by our tooling (and possibly in contributing). He is using SCA in real cases, and he asked about some nice features. What he asked is not part of the current tooling, but it could be. I doesn’t seem very hard to integrate. One of these features could be called a full top-down approach. It consists in creating a complete SCA diagram and then use a tool to generate all the Java code: interface and implementation skeletons, with the right names, the rights types, the right annotations. Stephane may be interested. He recently committed some code used by Eclipse JWT to generate SCA applications from a JWT model. We should be able to reuse that code to provide this top-down approach. And given my experience of this afternoon, that would prevent some very annoying errors at deployment time.
The other good point is that one attendee made the SCA part of the tutorial, using the given SCA tutorial document. And he made the application work, saying that it was well explained (- relief -). Given the density of the SCA part, it was clearly easier to make it using the document, rather than watching me doing it. Anyway…
I’m thinking I should have made something more simple, like the calculator sample. For those who already know SCA, it would have had no interest, and they would have had diffulties to see the interest of the tools for a so basic application. For other people, it would have been a lighter tutorial. It doesn’t mean they would have tried it anyway. But maybe.
Another solution could have been to make the application myself, simply showing a set of slides presenting all the steps to perform. Obviously, people would have not tried to use the tools. But they would have seen the entire process. That may have been a better approach. It’s really difficult to make a tutorial that introduces the underlying technology / specification, and which in the same time shows the tools capabilities. To make people discover it, the example should be simple. But if you want to give a good overview of the tools, on something that makes sense, then you fastly go into complex examples.
Eventually, I would like to highlight the collaboration between the different projects, and thank the other speakers. Merging several presentations and projects into one big tutorial was a good idea in my opinion. It made our audience bigger and covered some very different aspects.
Regarding the tutorial (at large), you should soon be able to get the slides and documents from the STP wiki, the SCA Tools wiki and I guess on the Swordfish website.