Integration of JBPM and spring with Mule ESB

Mule, JBPM and spring framework is one of the best combinations to implement SOA framework. These combinations are very famous among open source and easy to implement. Integration among this technology is always a challenge. I am adding some integration bullet point to make this integration easy.
These file are involved to integration among JBPM, spring and Mule ESB.
1) ApplicationContext.xml – spring framework
2) mule-config.xml – Mule ESB
3) jbpm.cfg.xml – JBPM file
4) All library for spring, JBPM and Mule ESB jar file
mule-config.xml
Add these lines into mule-config.xml file

  1. <mule xmlns="http://www.mulesource.org/schema/mule/core/2.2"
  2. ..... xmlns:bpm="http://www.mulesource.org/schema/mule/bpm/2.2" xmlns:spring-context="http://www.springframework.org/schema/context" xmlns:spring="http://www.springframework.org/schema/beans" ... >
  3. <spring:beans> <spring:import resource="applicationContext.xml"/> </spring:beans> <spring:bean id="jbpm-ref" parent="jbpm" />
  4. <bpm:connector name="jBpmConnector" bpms-ref="jbpm-ref" allowGlobalReceiver="true" allowGlobalDispatcher="true" processIdField="requestId"> <custom-exception-strategy class="com.vanrish.exception.ApplicationExceptionStrategy"/> <!—This is custom exception class based on your business logic -->< </bpm:connector>

applicationContext.xml
This is spring specific file. So we are defining jbpm specific configuration to call from mule.


    <bean id="jbpm" class="org.mule.transport.bpm.jbpm.JbpmImpl" destroy-method="destroy"> <property name="configuration"> <value>classpath:jbpm.cfg.xml</value> </property> property name="processDefinitionsResources"> <list> <value>classpath:verifyAge.xml</value> ..... <!-- Define JBPM specific process file --> </list> </property> <property name="createSchema"> <value>false</value> </property> </bean>

What is Security?

Security is about protecting your assets. These assets could be anything in company. In software these assets represent your web resources or website (Web Security), Software application (Application Security), Data (Data Security), Web service (Web service Security) or Network (Network Security).
Security relies on following security properties.
1. Authentication – Authentication is process to verify the identity of visitor to your application or Website. Typically this authentication process is based on visitor’s username and password.

2. Authorization – Authorization is a process to define user access or privilege to resources or system to use. Authorization is user privilege in which they are eligible to access system or resources (e.g. Hours of Access, Access of file or directory, access of resources in website…etc.).

3. Auditing – Auditing is a process of systematic evaluation of the security vulnerability or security weakness of company’s resources or system. Security Audit is typically conducted for the purpose of business risk assessment, Information security and regulatory compliance (e.g. PCI, HIPAA… etc.).

Last three properties of security called CIA of a system. They are very important to implement any security compliances. They are goal for security implementation.

4. Confidentiality – Confidentiality is a process to keep information or resources secret from unauthorized access. Confidentiality is governed by Local/National Legislation or compliances and Provider Policies.

5. Integrity – Integrity in security refers to reliable and protecting information/resources from being tampered or change. Integrity includes Authenticity and Non-repudiation/Accountability.

6. Availability – Information/Resources available to authorize users and application when they need. Information only has value if right user/application can access it at right time.