Wednesday, 5 December 2012

The passing of Kohei Honda, a great scientist and a great man

I met Kohei (and Nobuko) through Alexis Richardson who pioneered work on messaging with AMQP. Alexis was a pi-calculus guy as was I and he knew both Kohei and Nobuko (Kohei’s wife). On the other hand I knew Professor Robin Milner quite well, he was my mentor. That all happened in 2002, some 10 years ago now. Kohei joined W3C along with Nobuko and Robin as invited experts to ensure that WS-CDL, the basis of Testable Architecture, Savara and so many things that we take for granted. All based around pi-calculus for which we all owe Robin Milner a huge debt. But pi was always hard to understand except for the gifted mathematician. Kohei with a fellow researcher, Vasco Vasconselas, came up with an elegant addendum to pi called sessions and so began work on session typing. This work, above all else, informed WS-CDL, Savara, Testable Architecture and many others as to how to use pi-calculus so as to gain practical benefits. Indeed it is the core of WS-CDL in it’s search to understand behaviors over a distributed system.

That Kohei became an invited expert on ISO’s UNIFY project to unify messaging standards for financial information exchange and an invited expert to the Japanese banking system all of which demonstrated that Kohei really understood how academia could support business.

Kohei was a picture of enthusiasm with a vision and a feel for aesthetic qualities in all that he did. This was never more apparent than his work on session types and scribble (his language that has become known as son of WS-CDL) applied to business problems.

I have been so lucky to have had the chance to work with Kohei over a long period. I have been even luckier in being able to introduce him to some other great people of whom Dr Bippin Makoond is one along with Matthew Arnott from the Tsunami early warning project in the USA, to Matthew Rawling CTO at UBS and chair of UNIFY, Dr Gary Brown at Redhat (my long time friend and colleague) to all my old colleagues in W3C. Spreading his enthusiasm and explaining complex things in easy ways was a gift that few of us have but that Kohei had in spades.

I was humble and grateful to know him as a colleague and as a friend. He was gentle with the heart of a giant and the mind of a great scientist. His work will stand the test of time and his presence will, for this soul, be forever there.

I shall miss him greatly and my heart and support goes out to Nobuko and Kohei’s wider family for their loss.

Friday, 9 November 2012

From Requirements to Deployed Services in 15 mins

This demo shows how the concept of Testable Architecture, and the Savara tooling that supports this methodology, can be used to create, test and deploy a set of services within the Switchyard ESB in just 15 minutes.

The Testable Architecture methodology aims to ensure that artifacts defined at each stage within the software development lifecycle can be tested against other artifacts in other stages of the lifecycle. The overall goal being to ensure that the delivered system meets the original business requirements.

The demo uses a set of scenarios (sequence diagrams with examples messages) to represent a formal definition of business requirements, outlining the behaviour of the required system.

From the scenarios we generate a BPMN2 choreography defining the overall behaviour of the business process, as well as a set of BPMN2 process models, one per participant in the business process.

We can then test the scenarios against the generated choreography to verify that it truly meets the business requirements, before using the choreography to generate the set of template Switchyard Java services.

Although the Java service generation provides the template structure of the service operations, based on the behaviour defined in the BPMN2 process models, the developer will still be required to add some implementation details at this stage. However once that is completed, the service implementations can then be tested against the original scenarios, ensuring that they also meet the business requirements.

Once fully tested, the demo shows the services being deployed into the Switchyard ESB and invocation of the services to demonstrate they are fully functional.

Thursday, 8 November 2012

Savara 2.1 Milestone 2 supports Switchyard Java service simulation

The first milestone introduced generation of Switchyard Java services. This milestone has focused on enhancing that support with the generation of additional transformers (to support execution of the service) and the ability to simulate scenarios against the service implementation.

The other significant new feature is the ability to create a BPMN2 choreography from a set of endpoint models (currently only BPEL supported). For example, if you have a set of BPEL process definitions that represent the behaviour associated with each of the interacting parties, then you can now reverse engineer the choreography that represents the global (service neutral) view of the overall business transaction.

The release also includes many improvements and bug fixes. For the full details please see:

To download the tools, please visit the Savara downloads page and follow the installation instructions. This release is available from the Development Milestone update site.

Wednesday, 23 May 2012

New features available in Savara Eclipse Tooling 2.1 (M1)

The first milestone for Savara Eclipse Tooling 2.1 is now available, including the following new features:

  • BPMN2 Choreography and Process Models can now be derived from a set of Scenarios (see this section for more information)
  • Artifact validation can be enabled, with errors reported to the Problems view (see here for more details on how to enable)
  • Scenario simulation now reflects error status of processing the models associated with each role (green for success, red for failure), and shows any errors in the simulation log (see image near the end of this section)
  • Provide option to generate BPMN2 process model service invocations using either a ServiceTask, or separate SendTask and ReceiveTask (default uses ServiceTask) - this will map better onto executable process models for use with jBPM in the future
  • Initial version of WS-CDL to BPMN2 choreography conversion

One of the main focuses of version 2.1 is support for Switchyard. In version 2.0 we introduced generation of Switchyard projects with BPEL services. In this release we also introduce support for Java bean services. As well as creating the project structure, and switchyard.xml, the Java code for the service is also generated to reflect the required behavior of the service.

NOTE: Generating Switchyard Java services requires the Switchyard Eclipse tools to be installed. These are not currently released, and therefore this feature can only be used by waiting for Switchyard 0.5 to be released, or building the Eclipse tools from source.

The detailed release notes can be found here.

Friday, 10 February 2012

Testable Architecture with BPMN2 Choreographies - 2.0.0.CR1 has been released!

Since the release of the previous milestone, work on BPMN2 Choreography support has advanced significantly. It is now possible to:

  • Create a BPMN2 choreography using the Eclipse BPMN2 modeler (available via the Savara update site). Although this modeler is still a work in progress, I'd like to thank Bob Brodt (BPMN2 modeler project lead) for his work on adding usability features to make the creation of choreographies as easy as possible.
  • Simulating a Scenario against the BPMN2 choreography
  • Generating a range of artifacts from a BPMN2 choreography, including:
    • BPEL (generic and Switchyard project variations),
    • BPMN2 process models, and
    • SCA Java.

NOTE: We currently only support Choreography Task, Exclusive and Parallel Gateways within the BPMN2 choreographies. Intermediate events, other gateways and activities will be added in subsequent versions - if you have particular need for a component, then please raise a jira including an example model where possible.

Other new features in this release include:

  • Simulating a Scenario against a BPEL process definition, based on deriving a protocol description from the BPEL process. In the future we will also be looking to do simulation against an executing BPEL process.
  • Generating a BPMN2 Process Model from a BPEL process definition

Information on how to create a choreography can be found in the User Guide. An example Eclipse project, including BPMN2 Choreography and accompanying Scenarios, can also be found on the downloads page.