Working with OpenESB WLMSE

Overview Here we will attempt to create simple Application that demonstrate use of WLM Application. Before we begin, quick introduction to WLM is appropriate. WLM stands for Worklist Manager. It allows you to create Web Service Application that require human action/decision (one of pre-defined options) based upon some input data. So, in nutshell, the WLM application can be fed messages (predefined type) and exposes some API’s (can be used to build Web Interface) that allows assigned user’s to see the requests as list of tasks for some actions/decisions. The resulting choice of the user will be sent back as output message (again pre-defined type) to calling service. The service interface is defined using WSDL and the communication is Synchronous. WLM application can be best thought of means to incorporate human step in an automated process. For example, if you need to incorporate human approval step in you BPEL Process, you can achieve this using WLM Application. It also provide features such as Task Escalation, Notification etc. This is what we are going to do in this Helloworld Application. A WLM Application has three components: Please refer to Downloads for required components download Design Time You can use Netbeans (download page) with SOA Modules and create WLM Project type. Using worklist editor, you create task definition wherein the aspects about the task definition is specified. More on this later. Runtime The built project is deployed on Glassfish with JBI Runtime Environment. Project Open-ESB provides a Service Engine called sun-wlm-engine which provide runtime implementation for WLM Projects. Web Application The Users of the Task can log on to Web Console and...

Maven archetype for creating OpenESB Components

This blog shows how to develop OpenESB component project in few steps using maven archetype. New generated projects can be built with OpenESB build process. The project generated using the following maven archetype will be similar to the existing component folder structure and can ONLY be built with OpenESB build process. Following two categories are possible for projects in OpenESB component development. – Plugin project – This project will build with netbeans-soa build process. – Component project – This project will build with ojc-core in openesb-component ====================================== Install Archetypes in Users local repository: ====================================== NOTE: Maven version should be 2.0.9 as same as OpenESB 1 – Checkout Archetype projects from OpenESB git repository: (openesb-componentsmaven-ojc-archeType-v2) maven-archetype-service-engine-v2 maven-archetype-binding-component-v2 maven-archetype-service-engine-plugin-v2 maven-archetype-binding-component-plugin-v2 Archetype of Service Engine ——————————— 1.1) Change directory to maven-archetype-service-engine-v2/ $ mvn clean install Archetype of Binding Component ——————————— 1.2) Change directory to maven-archetype-binding-component-v2/ $ mvn clean install Archetype of Service Engine’s Plugin/Module Project ——————————— 1) Change directory to maven-archetype-service-engine-plugin-v2/ $ mvn clean install Archetype of Binding Component’s Plugin/Module Plugin Project ——————————— 1) Change directory to maven-archetype-binding-component-plugin-v2/ $ mvn clean install ==================Installation complete for all archetype in User’s Local repository============== ================================================= Building Projects from archetypes ================================================= 1) Create new service engine: mvn archetype:generate -DarchetypeGroupId=open-jbi-components -DarchetypeArtifactId=service-engine-ojc-archetype -DarchetypeVersion=2.3.0 -DgroupId=newse -DartifactId=newse –OutPut for above command requires user input [INFO] Scanning for projects… [INFO] Searching repository for plugin with prefix: ‘archetype’. …… [GIVE THE Command line params options as per your wish and openESB configuration. [INFO] Using property: groupId = newse [INFO] Using property: artifactId = newse Define value for property ‘version’: 1.0-SNAPSHOT: [INFO] Using property: package = newse [INFO] Using property: componentName = newse...