Run Mule as a .NET Microservice - mule

We own a product written in .NET and that uses MS SQL Server. We need to write a new Integration layer that allows integration with a number of third party applications such as Jira, ServiceNow etc. Our endeavor is to use a Microservice based architecture for this integration later and not use an iPaaS or Centralized ESB. Questions are:
Can I embed Mule into a .NET Microservice?
If no, can I embed Mule into a Java Spring Boot application?
In either of the cases above, am I forced to use any other platform/ software from Mulesoft (such as the Mulesoft's Management Plane)?
Does Microservce based embedded Mule provide capabilities for performance/ health monitoring etc.?
Does Mule support writing any custom code in .NET?

Please find the answers below:
Can I embed Mule into a .NET Microservice?
No. Mule 4 is a Java application and currently is not meant to be embedded.
If no, can I embed Mule into a Java Spring Boot application?
No. Mule 4 is not distributed as an embedded Java library.
In either of the cases above, am I forced to use any other platform/ software from Mulesoft (such as the Mulesoft's Management Plane)?
No. You can run Mule as a standalone service or application without using MuleSoft's Control Plane. Be aware that you will lose all management features from the platform.
Does Microservce based embedded Mule provide capabilities for performance/ health monitoring etc.?
Please define to what you refer as "Microservice based embedded Mule". If you mean in the scenarios mentioned in questions 1) or 2) then the answer is no, because those are not valid deployment options for Mule 4.
Does Mule support writing any custom code in .NET?
Yes. There is a .Net Connector to execute .Net code from a Mule application. Look for the last release in the release notes.

Related

Anypoint CLI VS ARM REST Services (which one is preferred for Automated Deployment?) Using Cloud Console on-premis Deployment

I wanted to Automate the Cloud Console on-premis Deployment process. I see two options to deploy the services using anypoint-cli or Rest API. Can some one please let me know what are the differences between them and which one should i choose(In terms of long term support) ?
Anypoint cli is a command line tool to interact with the REST API. It might not provide access to every endpoint of the API.
Using the API directly requires that you make the API requests in some programming or scripting language.
You should choose the one that makes more sense to you, and your use case. That can not be determined here.

What is actual difference between iPaaS and CloudHub in Mule

In Latest Mule version I have noticed they are using the terminology as iPaaS for cloudHub. Does any of you know what are the changes in these two terms?
There isn't any change in the premise of what Cloudhub is. It has always been iPaaS as your using it to publish your application for integration. IaaS will be the AWS and supporting items under the hood, Cloudhub is the iPaaS that your application runs on. This is just a nomenclature change to be more precise.

How to get started on WSO2 CDM?

I have downloaded and started the Milestone 3 version of WSO2 CDM. How do you bring up the relevant CDM application UI from the Management Console?
Thank you !
WSO2 CDM milestone 3 does not have a UI application withit. CDM is a framework which provides core functionaliies for managing any device type. For example WSO2 MDM solution has specific plugins, connectors and a UI to manage mobile devices. Hence you need to write your own plugins, connectors and a UI bundle on top of CDM framework to make a use of it.

Is it possible to deploy a JAX-RS web service to MobileFirst Server?

My team is working on the migration of a hybrid app from Tibco Silver Mobile(TSM) platform to IBM MobileFirst Platform.
I have a JAX-RS webservice developed using Weblogic IDE which is currently hosted on TSM server. This webservice does a security check for all the incoming back-end requests and pass the request to the back-end if it is from a valid source.
When the app will be migrated from TSM to MobileFirst platform the TSM server will be moved out of the scene. I am looking for some alternate options for hosting this JAX-RS webservice. I don't want to make any changes to the webservice since it is a tested and proven code used in the TSM based solution.
I understand from the IBM MobileFirst Platform 7.0 documentation that JAX-RS support is now available on the MobileFirst Server and JAX-RS specification based Java adapters can be developed and deployed to the server.
Can I deploy the above mentioned webservice .WAR file as such to MobileFirst Server, without making any customizations?
If yes, what is the procedure for deploying the webservice (.WAR) to MobileFirst Server?
If no, what are the alternate options that can be considered?
As indicated in the comments above:
MFP Server is actually a Java EE application deployed to a supported Java EE application server, WebSphere Liberty or full WebSphere ND being the normal options, though TomCat is also supported.
In principle your own JAX/RS WAR file can be deployed to these same servers, the details will depend upon exactly what Java EE features you exploit and you will need to understand those Java EE servers' administration model. MFP itself is not affected by this, and you need no MFP knowledge to do it. You just need to understand the chosen Java EE server. Personally I would start with WebSphere Liberty.
A further question would be whether it is better to isolate your JAX/RS and Mobile First servers into their own Java EE server instances. It can be easier to manage and scale if you keep things separate, but technically there should be no interference if you do co-locate them. It is pretty trivial to spin up a dedicated Liberty server.
A more interesting question is whether there is value in actually exploiting the MFP Adapter capability to create JAX/RS services. In effect it's your familiar JAX/RS programming model but packaged slightly differently, deployed as a MFP adapter, and with the option explicitly to exploit the MFP security model and easily call other MFP adapters.
Personally, if I were coming to a project with no existing JAX/RS services and have commited to MFP and its security model then I would do my JAX/RS in the MFP Adapters.

Servicebus for Windows Server vs NServicebus vs Mule ESB

I have been looking for a comparison between newly released servicebus for windows server, NServicebus and Mule ESB. Requirement is to develop .NET based real-time data integration solution using publisher/subscriber communication pattern.
Idea is to transfer protobuf serialised data messsages over the servicebus.But, it would be great if any of these support file transfers too as we have varied volumes and various kinds of data sources.
I am not sure which one would be a better option to go with.
Really, Azure Service Bus isn't a direct competitor to NServiceBus and Mule ESB. It is closer to a message broker (like ActiveMQ or RabbitMQ) than to an integration platform. It does have a couple of features beyond simple messaging such as web service proxy and some nice mobile push notification support.
Mule ESB is an integration platform, which means you create integration applications by using Mule configuration language and extending Mule programming components using the java platform. You deploy your integration application to a standalone Mule server or to CloudHub (Mulesoft's cloud environment). They also offer a pretty big library of connectors, which simplify integration with various other technologies and SaaS.
I have little experience with NServiceBus, but the documentation shows some of the same features as Mule ESB.
Since you can download both NServiceBus and MuleESB for free to try them, I'd suggest giving them both a whirl to see how they apply to your particular integration problem.
.NET service bus is designed to communicate with Azure and enable devices to do RCP-style calls. It does support pub/sub but the maximum message size is only 64 KB.
NServiceBus is probably the most capable choice in terms of interop. It supports one-way, full-duplex and pub/sub messaging. The maximum message size is 4 MB when using MSMQ for transport, but its data bus can be used to transfer large files. It also has a unique concept of sagas, which are long running processes with a shared state. I have not used the latest tools for it, but traditionally the tooling and integration options were not up to par compared to Java based solutions. Also, the licensing model is complex, and seems to be a subject to change with every release.
There is a Mass Transit free .NET service bus which has most of the NServiceBus features, but is a bit more difficult to use.
[edit] Mule ESB has a free community edition and a commercial version. It is a very mature Java based service bus. It has a lot of tooling and integration options with various products. But I do not think it has sagas. But it does have file transport support.