0
Under review

WCF Host/Endpoint Support

Victor Rocha 3 years ago in Server / Resources • updated by Genie 2 years ago 7
Hi!

Are you planning to support (host) WCF services?

I mean, give to user the ability to load a DLL dynamically and host it (endpoint) within Warewolf ESB to be accessed by Warewolf and any other WCF client? Is it possible?

Example:

  • 1 - Load DLL - WCFHelloService.IHelloServiceBus - (Contract - mapping methods dynamically)

  • 2 - Host it:
using System.ServiceModel;
ServiceHost host = new ServiceHost(typeof(HelloServiceBus), uri);

  • 3 - Turns it available as a WCF's endpoint (Some binding types) to be consumed by any WCF client and Warewolf ESB:

<service name="WCFHelloService.HelloServiceBus">
<endpoint address="net.tcp://warewolfendpoint/HelloService" binding="netTcpBinding" contract="WCFHelloService.IHelloServiceBus"/>
</service>
I believe, if it is possible, that WCF hosting will give much more integration capabilities, enabling users to concentrate all its WCF services into Warewolf ESB.
Best regards!
service

Answer

Answer

Hi Victor,


Warewolf ESB currently allows connecting to webservices as well as loading of .net dll so both these methods are options to access an existing WCF service.


Thanks

Under review
Hi,

We havn't given it much thought up until you mentioning it now. Definitely something to consider. How do you see it giving more integration capabilities though? I would be really interested in the use cases you are seeing for this sort of feature.

Definitely something we will be thinking about and possibly plan on doing.

Thanks
+1
A lot of companies has many data/services silos (departments), becoming hard to integrate them. The ability to concentrate these services into a single ESB will give more focus to this ESB and will direct new integration solutions over it.
Today, this WCF services are hosted by IIS, WAS, Windows Services, Custom ESB, Windows Server Service Bus (supports only messages based services), etc.
Warewolf ESB already excels at doing this. You can very easily expose Stored Procedures in Warewolf as Warewolf endpoints, and use the endpoints to produce standard JSON or XML over HTTP or HTTPS for consumption,
or use a Stored Procs via a Warewolf endpoint to update a database.

One of the advantages of the Smart Endpoints / Dumb Pipes approach is that you end up with a totally standard interface via the microservices regardless of what the ESB is actually connected to on the bus.


+1
I understand that approach, but in some environments, especially industrial, we have specific data sources like machines, devices, etc, that needs specific protocols and already has wcf services that offer real time monitoring, data collect, etc. An ESB with ability to concentrate these services will give a huge help to integrate these silos with other services and data.
It would be simple enough for us (or you) to build ESB connectors and tools to interface with specific equipment or services, to interact with on the bus. Our architecture can definitely handle this scenario.
Our architecture also makes it possible to commercialize these, if you are possibly interested in building the tools and connectors for resale.
Hi!
Instead of hosting, are you planning to give ability to connect to existing wcf services to use and expose it's data over esb?
I mean, an interface that's allow us to load wcf dll contract and then expose it?
This will save a lot of time from developing new connectors and reuse existing services.

Best regards.

Answer

Hi Victor,


Warewolf ESB currently allows connecting to webservices as well as loading of .net dll so both these methods are options to access an existing WCF service.


Thanks