Over a million developers have joined DZone.

A New Learning Tool for Java Developers from Active Endpoints

DZone's Guide to

A New Learning Tool for Java Developers from Active Endpoints

· ·
Free Resource
Active Endpoints, Inc., the inventor of visual orchestration systems (VOS), announced today that it has made available a new learning tool for Java developers in the form of a complete, sophisticated and fully-documented services-oriented architecture ( SOA) application, written in ActiveVOS. The “Vintage Old Stock” application automates a fictional classic car restoration business and is an ideal scenario to show developers how to leverage web services to create SOA applications quickly and easily. Developers can interact with the application online as well as download a fully-configured demonstration environment to try the application in their environments.
“We set out to create an application that would both be instructional and compelling,” said Luc Clément, senior director of product management, Active Endpoints. “With the Vintage Old Stock application we think we have achieved these objectives and have created an app that Java developers will enjoy ‘lifting the hood’ on to learn the latest techniques for creating practical web-services based applications.”

The Vintage Old Stock demonstration makes it easy for Java developers to learn how to implement SOA applications by demonstrating techniques for orchestrating web services, integrating with external systems, implementing complex event processing (CEP), integrating human tasks into an orchestration and many more capabilities. Java developers can explore these features online and are encouraged to adopt these techniques for their own development projects.


I spoke to Luc to find out more about this application 

So what can developers expect to find when they "lift the hood"?

Developers will obtain the entirety of the ActiveVOS orchestration project, the Pojo code that invokes the JBoss Rules engine, all WSDL/Schema artifacts, and a preconfigured embedded server that will allow you to run the demo end-to-end.

Is ActiveVOS written in Java?

ActiveVOS is at its core a Java platform. To learn more about supported platforms see http://www.activevos.com/products-certified-system-support.php

Can we expect more announcements like this in the future?

Yes.  Both by expanding on the “Vintage Old Stock” scenarios and through continued contribution of freely available Educational content (http://www.activevos.com/community-educationcenter.php) and technical content (http://www.activevos.com/indepth.php)

Can you give more detail on the technologies used?

ActiveVOS provides an easy way for Java developers to use existing Java projects to build Java endpoints in a BPEL process. You can start with, or build, a package that includes an interface and a Java class that implements the interface.
Using one of the techniques that ActiveVOS provides, you can automatically generate a WSDL and schema from your Java interface. The WSDL includes the port type, operation and messages to create receives, replies, and invokes.
ActiveVOS also provides built-in features to automatically include all the necessary JARs and other files for deployment to the server.
You can get an overview of ActiveVOS POJO capabilities from the http://www.activevos.com/indepth.php#Capabilities section at http://www.activevos.com/indepth/b_capabilities/l_pojo-vignette/pojo-vignette-3-final-avi3.html

We thought it would be interesting to invoke a rules engine just as JBoss Rules as a means of demonstrating native POJO support in ActiveVOS. Part of the process has a “Validate Request With Rules” activity. We leveraged ActiveVOS’ POJO integration to call a Java “fireCarRules” method that makes a call to JBoss Rules libraries, and then wrapped the invocation using a BPEL process thus exposing the rules as a service which is invoked as part of the Quote Process.
This is depicted here:




Opinions expressed by DZone contributors are their own.

{{ parent.title || parent.header.title}}

{{ parent.tldr }}

{{ parent.urlSource.name }}