Quantcast

Connect easierBSM to Petals ESB

classic Classic list List threaded Threaded
6 messages Options
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Connect easierBSM to Petals ESB

mh@bpt
This post has NOT been accepted by the mailing list yet.
Hello Petals community,

I have just finished the 5-days getting started tutorial with Petals ESB (3.1.3). Now I am looking into easierBSM because my university evaluates its usage in a reasearch project. However, I have some questions I hope you can answer:

* What is the difference between Petals ESB, Petals DSB and easyESB?
* Do all of them implement the JBI specification?
* Can I connect easierBSM to a running Petals ESB 3.1.3 system?

Looking forward hearing from you.
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: Connect easierBSM to Petals ESB

Vincent Zurczak
Administrator
This post was updated on .
Hi,

mh@bpt wrote
* What is the difference between Petals ESB, Petals DSB and easyESB?
Petals ESB is a production-ready ESB that implements the JBI specification and leverages SOA principles to address issues in information systems.

Petals DSB is a research version of Petals ESB.
We could almost call it a fork, except that only some modules were modified or added. The DSB experimented some features to enhance the scalability and the routing. It also tried to simplify the  usage of the bus. Some of the enhancements have been and will be contributed back into Petals ESB.

EasyESB is an experimental ESB that was developped to address issues in R&D projects.
Personnally, I do not know this last one very well. For what I remember from my discussions with Nicolas Salatgé (who created it), it leverages SOA principles and is easily testable. Despite the fact it was created by a former Petals contributor, it can be considered to be independant of Petals ESB.

mh@bpt wrote
* Do all of them implement the JBI specification?
Petals ESB and the DSB implement it.
For what I know, EasyESB does not.

mh@bpt wrote
* Can I connect easierBSM to a running Petals ESB 3.1.3 system?
Since EasierBSM can connect to the DSB, it should be, theoretically, possible to connect to Petals ESB. However, if I had to do that, I would not try to do it with Petals 3.x. Petals 4.x would be a better start.

For the record, EasierBSM is a R&D project that should influence the governance in Petals ESB. Until Petals 3.x, included, there was Petals Master. This project is now in stand-by (lack of resources). So, when governance comes back in Petals top priorities, EasierBSM should be considered as an option.
« Petals M.D. »
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: Connect easierBSM to Petals ESB

jlesbegueries
In reply to this post by mh@bpt
Hello guys,I would like to add some clarification on what is EasierBSM and how it works.

It is basically an ESB with monitoring features (additional components and administration). For instance the connectToESB operation allows to connect a compliant ESB, in order to launch its monitoring.More precisely, EasierBSM is an EasyESB with additional components and administration (sla-manager, wsdm-monitoring, data-collector components and bsm administration).

It works with EasyESB, has been tested on Petals DSB, but not on Petals ESB. However we can imagine interceptors implemented for the DSB should work for the ESB if there is a need for monitoring.

In case of you did not find it, here is a link to EasierBSM web page:https://research.linagora.com/display/easierbsm/

source code is here (anonymous/anonymous connection): https://svn.petalslink.org/svnroot/trunk/research/dev/experimental/easierbsm/


If you want to look further on EasierBSM, I advise you to look on the test units of bsm-distribution project:https://svn.petalslink.org/svnroot/trunk/research/dev/experimental/easierbsm/bsm-distribution/src/test/java/com/ebmwebsourcing/easierbsm/BSMTest.java

where a test connects an EasyESB node to EasierBSM node, a WS is bound to EasyESB, a subscription on EasierBSM is made, and some notifications (QoS, actually WS-DM OperationMetrics objects) are retrieved while the WS is invoked.

For now, there is no link with governance, even if EasierBSM is able to provide QoS, load SLAs, and send SLA Alerts.

Best!
Julien.
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: Connect easierBSM to Petals ESB

Vincent Zurczak
Administrator
jlesbegueries wrote
For now, there is no link with governance, even if EasierBSM is able to provide QoS, load SLAs, and send SLA Alerts.
My bad, I mixed things wrong.
Thanks for the correction. ;)
« Petals M.D. »
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: Connect easierBSM to Petals ESB

mh@bpt
In reply to this post by jlesbegueries
Thanks for this clarification.

jlesbegueries wrote
It is basically an ESB with monitoring features (additional components and administration). For instance the connectToESB operation allows to connect a compliant ESB, in order to launch its monitoring.More precisely, EasierBSM is an EasyESB with additional components and administration (sla-manager, wsdm-monitoring, data-collector components and bsm administration).
Does this mean, I don't need to run EasyESB / Petals DSB because EasierBSM has an ESB included? Is there a CLI or a GUI like the Petals webconsole to administer EasierBSM (add nodes, deploy endpoints etc.) or to I need to use the SOAP endpoints adminExternalEndpoint and bsmadminExternalEndpoint?

I tried to connect to a running Petals ESB (on localhost, JMXRMIConnectionPort was 7700) via the connectToESB operation. I just put localhost:7700 between the connectToEsb tags. I got back a fault. Do I have to connect to a different port, or writet the address differently?

Caused by: Technical Fault com.ebmwebsourcing.esstar.management.AdminManagementClientSOAP.getResourceIdentifiers(AdminManagementClientSOAP.java:379)
com.ebmwebsourcing.easierbsm.wsdm.monitoring.core.impl.WSDMMonitoringEngineBehaviourImpl.synchronize(WSDMMonitoringEngineBehaviourImpl.java:539)
com.ebmwebsourcing.easyesb.technical.service.admin.impl.endpoint.behaviour.BSMAdminEndpointBehaviourImpl.connectToEsb(BSMAdminEndpointBehaviourImpl.java:350)
com.ebmwebsourcing.easyesb.technical.service.admin.impl.endpoint.behaviour.BSMAdminEndpointBehaviourImpl.execute(BSMAdminEndpointBehaviourImpl.java:189)
[...]
Caused by: destination address cannot be null com.ebmwebsourcing.easycommons.soap.handler.SOAPSender.sendSoapRequest(SOAPSender.java:64)
com.ebmwebsourcing.esstar.management.AdminManagementClientSOAP.getResourceIdentifiers(AdminManagementClientSOAP.java:360)
com.ebmwebsourcing.easierbsm.wsdm.monitoring.core.impl.WSDMMonitoringEngineBehaviourImpl.synchronize(WSDMMonitoringEngineBehaviourImpl.java:539)
com.ebmwebsourcing.easyesb.technical.service.admin.impl.endpoint.behaviour.BSMAdminEndpointBehaviourImpl.connectToEsb(BSMAdminEndpointBehaviourImpl.java:350)
com.ebmwebsourcing.easyesb.technical.service.admin.impl.endpoint.behaviour.BSMAdminEndpointBehaviourImpl.execute(BSMAdminEndpointBehaviourImpl.java:189)
[...]

jlesbegueries wrote
If you want to look further on EasierBSM, I advise you to look on the test units of bsm-distribution project:https://svn.petalslink.org/svnroot/trunk/research/dev/experimental/easierbsm/bsm-distribution/src/test/java/com/ebmwebsourcing/easierbsm/BSMTest.java

where a test connects an EasyESB node to EasierBSM node, a WS is bound to EasyESB, a subscription on EasierBSM is made, and some notifications (QoS, actually WS-DM OperationMetrics objects) are retrieved while the WS is invoked.
Thanks for this hint, I will look at the tests.

Best Regards!
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: Connect easierBSM to Petals ESB

jlesbegueries
You could use the EasierBSM as an ESB node but this is not a good practice.

The idea is to have on one side a topology of ESB nodes (EasyESB, Petals...) to achieve an SOA with business exchanges, and on the other side, a topology of EasierBSM nodes able to monitor this SOA.

There is a CLI for EasyESB in experimental https://svn.petalslink.org/svnroot/trunk/research/dev/experimental/easyesb/tools/easyesb-cli/

that can be used for common operations between EasyESB and EasierBSM.

A BSM CLI is in development in the context of the CHOREOS project but this is still a work in progress.
For now I advise you to use SOAP UI for instance, on the WS administration. If you want some examples of BSM specific queries such as Subscribe on QoS:

<ns13:Subscribe xmlns:ns10="http://com.petalslink.easyesb/data/admin/1.0" xmlns:ns11="http://com.petalslink.easyesb/admin/model/datatype/1.0" xmlns:ns12="http://com.petalslink.esstar/admin/model/datatype/1.0" xmlns:ns13="http://docs.oasis-open.org/wsn/b-2" xmlns:ns14="http://www.w3.org/2005/08/addressing" xmlns:ns15="http://docs.oasis-open.org/wsrf/bf-2" xmlns:ns16="http://docs.oasis-open.org/wsn/t-1" xmlns:ns17="http://docs.oasis-open.org/wsrf/rp-2" xmlns:ns18="http://com.petalslink.esstar/data/management/user/1.0" xmlns:ns19="http://com.petalslink.esstar/data/management/admin/1.0" xmlns:ns2="http://com.petalslink.easyesb/soa/model/datatype/1.0" xmlns:ns20="http://www.ebmwebsourcing.com/wsn/t-1-extension" xmlns:ns21="http://com.petalslink.easyesb/component/bpel/data/1.0" xmlns:ns22="http://com.petalslink.easierbsm/data/wsdmmanager/1.0" xmlns:ns23="http://www.petalslink.com/esstar/execution.environment.synchronizer.impl/1.0" xmlns:ns24="http://docs.oasis-open.org/wsdm/mows-2.xsd" xmlns:ns25="http://docs.oasis-open.org/wsdm/muws2-2.xsd" xmlns:ns26="http://docs.oasis-open.org/wsdm/muws1-2.xsd" xmlns:ns27="http://com.petalslink.easierbsm/data/wsdm/1.0" xmlns:ns3="http://com.ebmwebsourcing.easyesb/soa/model/endpoint" xmlns:ns4="http://com.ebmwebsourcing.easyesb/soa/model/service" xmlns:ns5="http://com.ebmwebsourcing.easyesb/soa/model/component" xmlns:ns6="http://com.ebmwebsourcing.easyesb/soa/model/node" xmlns:ns7="http://com.ebmwebsourcing.easyesb/soa/model/registry" xmlns:ns8="http://com.petalslink.easyesb/transporter/1.0" xmlns:ns9="http://com.petalslink.easyesb/exchange/1.0">
  <ns13:ConsumerReference>
    <ns14:Address>http://localhost:9002/NotificationEndpoint</ns14:Address>
    <ns14:ReferenceParameters/>
  </ns13:ConsumerReference>
  <ns13:Filter>
    <ns13:TopicExpression Dialect="http://www.w3.org/TR/1999/REC-xpath-19991116">
      <ns20:simpleTopicExpression xmlns:mows-ev="http://docs.oasis-open.org/wsdm/2004/12/mows/wsdm-mows-events.xml">mows-ev:MetricsCapability</ns20:simpleTopicExpression>
    </ns13:TopicExpression>
  </ns13:Filter>
</ns13:Subscribe>


This request must be invoked on a non functional endpoint of the BSM (some WS exposed by the BSM
that finishes by "_WSDMMonitoringClientProxyEndpoint"). These endpoints are generated once the BSM is
connected to an ESB. There is one non functional endpoint per functional endpoint found in the ESB.
The topic here is "MetricsCapability". Then the notification consumer (here "http://localhost:9002/NotificationEndpoint") will receive WS-DM OperationMetrics (containing information about service time, avg/min/max requests size, number of failed requests, etc.).



Here is an example of SLA you can load in the BSM (related to a Weather Service):
http://jul64.free.fr/CHOREOS/agreement/agreement4.xml

If you want more information about either QoS or SLAs, feel free to ask.


For now you can't connect a Petals ESB with EasierBSM.
Moreover, the connection works with a  SOAP endpoint (the administration of the ESB node).
With EasyESB, what you have to put in connectToESB tags is the administration address (something like http://localhost:9876/services/adminExternalEndpoint), provided when you type "i" in its console  for instance.


Best regards.

Loading...