Jboss BPEL and BPMN - jboss

I want to expose my business model as a webservice like there is webservice which is controlled by business structure. I am using JBoss as AS. I searched on net and found BPMN and BPEL and couldn't figure out which should be best for my idea to expose the business idea as web service. Can anybody help me out.

When you want to expose your process model as a WSDL Web service and the other orchestration parties are also rendered as Web services or REST services, BPEL is definitely the right and best choice.
There are a couple of open source BPEL engine available, most notably Apache ODE and its derivatives. If you plan to stick on pure BPEL (which is more technical and less business'ish than BPMN), I suggest to use Apache ODE, WSO2 BPS or JBoss Riftsaw. The latter is interesting because it AFAIK seamlessly integrates with JBoss AS.
If you prefer to use BPMN (which is then translated to BPEL), have a look at Intalio|BPMS. It comes with a BPMN designer that allows you to annotate BPMN models with technical, web service related information. There are also native BPMN (2.0) solutions like Activiti, jBPM and Drools Flow, but they don't really support Web service messaging.

Related

Using Hawkular for Rest services built using CXF

I am new to Distributed Tracing / Hawkular. And would like to experiment tracing for my distributed cxf rest services using hawkular.
Will it be possible to trace cxf servcies using hawkular and if any one has doc or reference sample app, that will be great.
Also, is there any other tracing tool which can solve this requirement(tracing java cxf rest services). Zipkin-brave has a feature for this which I am looking at also.
I'd recommend instrumenting your application using the OpenTracing API, and later choose a concrete implementation. Under the Hawkular project, there's the Hawkular APM module which provides a solution for capturing, visualizing and making sense of the data. However, we (Hawkular APM) recently decided to join the Jaeger project, to have a better support for the OpenTracing case. We expect to have similar features from Hawkular APM ported to Jaeger "soon".
For OpenTracing, there are quite a few "framework integrations" under the OpenTracing Contrib organization, including JAX-RS, which might serve as base or reference for a CXF-specific implementation. If nothing suits you, I'm certain we'd welcome a contribution.
If you are just looking to learn OpenTracing, I'd suggest taking a look at the Hawkular APM's example directory, including a vertx-opentracing example.

What is main difference between Apache Camel and Jboss Fuse?

I know that Apache Camel is java open source framework and Jboss Fuse is ESB which act like container to bind camel into its container . However i need to know its differences in some more depth .
Any help will be appreciated .
In simplified terms, camel framework is the set of api's (java code) which are used in system integration projects whereas fuse is the server like tomcat where code is deployed.
"JBoss Fuse combines several technologies like core Enterprise Service Bus capabilities (based on Apache Camel, Apache CXF, Apache ActiveMQ), Apache Karaf and Fabric8 in a single integrated distribution."
Deploy applications utilizing some different configurations and technologies is one of many qualities in Jboss Fuse.
"Camel" as being a rule based routing & mediation engine which can be used inside a full blown ESB, a message broker or a web services smart client. Though if you want to, you could consider that Camel is a small, lightweight embeddable ESB since it can provide many of the common ESB services like smart routing, transformation, mediation, monitoring, orchestration etc.
We should also mention what Camel isn’t. Camel isn’t an enterprise service bus complete(ESB ), although some call Camel a lightweight ESB because of its support for routing, transformation, monitoring, orchestration, and so forth. Camel doesn’t have a container or a reliable message bus, but it can be deployed in one, such as Open-ESB or ServiceMix. For that reason, we prefer to call
Camel an integration framework rather than an ESB.

ISO8583 middleware with JBoss

I want to ask about JBoss Middleware for ISO8583.
So, I kinda new on ISO8583, from what I know is we could use JPOS framework for this one. Then my supervisor ask me to research about JBoss Middleware that could be used to develop middleware application for send, receive, and parse ISO8583 message.
I have read on JBoss Middleware website, unfortunately I'm still not sure which JBoss technology should I use to develop such application.
Here is my questions:
1. In order develop enterprise application that capable to send, receive, and parse ISO8583, should I combine JPOS with JBoss Middleware? or JBoss Middleware has a complete capability to handle it?
2. Does anyone has/know good material/tutorial for me to learn about building ISO8583 middleware with JBoss technology?
Thank you.
JBoss Middleware is a family of products and its components alone do not provide ISO8583 capabilities out of the box.
jPOS is one of the most popular Java frameworks that provide complete capabilities to handle sending and receiving ISO8583 messages. There are other alternatives such as j8583 and IsoTypes.
You can combine any of these ISO8583 libraries together with JBoss Fuse (part of the JBoss Middleware family) to build a solution capable of sending, receiving and parsing ISO8583 messages.
I'm not aware of a definitive guide about building such solutions. If you need to use JBoss Middleware, you can follow this route:
Look into IsoTypes, which provides an ISO8583 marshalling library for Apache Camel (used by JBoss Fuse).
Start by building a Camel route that implements the IsoType library functions. Look into this sample project.
Please, be aware that building a production ready ISO8583 server and/or client from open source solutions require significant work in terms of scalability, information security and compatibility with multiple financial hosts and switches.
My answer only refers to the first basic steps to understand your problem/solution fit a bit better.
As a side note, you may be interested in looking at jreactive-8583, an ISO8583 connector that handles message parsing and the network layer out of the box. You may build your application using this and deploy it into JBoss Application Server (part of the JBoss Middleware family too). I use it in production.
You can take advantage of JPos Q2 and create a servlet deployable to JBoss container.
In the service init method you can do this:
Q2 q2 = new Q2();
q2.start();

Differences between connectors Mule ESB and WSO2 ESB

Using Mule ESB I noticed that you can connect (via anypoint connectors) applications, databases, web services etc.
Since I am making a comparison between different ESB (Enterprise Service Bus) I ran into WSO2 ESB and reading the documentation it seems that allows to interact only web services (through SOAP communications).
Someone confirms what I wrote? Or WSO2 ESB is flexible as Mule ESB and I'm wrong (if so what are the differences)?
WSO2 ESB also has the concept of connectors which you can use to connect to external applications, databases, file systems and web services hosted in cloud or in internal networks. Here is a webinar which you can follow to get more information.
http://wso2.com/library/webinars/2014/09/esb-connectors-for-on-premise-and-cloud-integration-solutions/
I can't help as my knowledge of WSO2 is limited. What I could do is to recommend you the book open source ESB in action, although outdated its data, the introduction is amazing and the comparison methodology is also good. You could follow the same approach with the state of the art today.
Most of the connectivity to applications, databases, different protocols are already available with wso2 ESB and wso2 product stack out of the box. However there are some connectors that will support integration with on-premises legacy systems and additional protocols. eg: ejb, is08583, kafka, etc.

Is it possible to create a SOAP web service in C/C++ over HTTP?

Is it possible to create SOAP web services (not client) over HTTP in C or C++, that respects the WSDL contract, using these Frameworks/libraries :
Apache CXF
Axis2/c
gSOAP
??
Thanks in advance :)
Apache CXF - No. It's written on Java and you can't write Web Services on C using CXF (JNI is not a good idea in this case).
Axis2/C - Yes! It's a Web service framework written on C. It's one of most powerful Web services frameworks for C. You can write Web services from scratch or generate it from WSDL. But it will be plain C and you may need to write extra code to start it working. To provide more convenient interface to Web services engine you may want to use some wrapper like WSO2 or Staff. For details please see my answer here.
gSoap - yes. It's not trivial but possible.