Mule 3.5 Batch module. Enterprise or community version? - mule

I recently downloaded Mule 3.5 after having a look at the new great features coming with the Batch module. After several days developing a flow that uses Batches using Anypoint Studio, when I wanted to deploy my app to my Mule 3.5 Community standalone server I got a disagreeable surprise: neither the batch xsd was contained in the Community runtime nor the batch module jar was in the lib/module folder.
Does that mean that the Batch module belongs to the Enterprise edition? Because I cannot see any mention to that "small detail" neither in the official documentation of the module http://www.mulesoft.org/documentation..., nor in the feature comparison page http://www.mulesoft.com/platform/soa/mule-esb-enterprise
At the same time, the Community runtime for Anypoint Studio comes with the batch module, as it can be seen in the corresponding plugin folder of eclipse.
Is it a marketing strategy to force users to switch to Enterprise edition? Maybe an error in the documentation? Perhaps an error of packaging of the Community runtime?

Yes, Batch Module is an Enterprise feature. And you are right that is not properly documented. For more detail on the content of each version you can take a look at the release notes, enterprise features are listed linking an EE jira key while community ones are linking a CE jira key.

Related

Stuck on running Mule Jar file without Mule Runtime environment

I am using Mule 3.9 with Anypoint studio 7.2 for API development. After my functionality developed I was able to export to a Jar file which I was supposed to run on my hardware which doesnt support x64 architecture.
I got error of not supported architecture. So I am looking for solution in 2 ways.
As hardware architecture cant be changed, is there any way to still run Mule program on it without using Mule runtime environment.
Using exported Jar file is it possible to use it only without Mule installed on my hardware machine.
Thanks in advance.
As per comment See error message,when tried to run in Docker also.
Mule uses the Java Service Wrapper to bootstrap the Mule runtime. At this time the version of the wrapper included with Mule previous to Mule 4.4 doesn't support aarch64 as an architecture, only 32 bits ARM (armhf). At this time only Mule 4.4 Enterprise Edition seems to has compatibility with armhf-64. You should try that version to see if aarch64 is recognized as armhf-64.
Also note that Studio 7.x is not compatible with Mule 3.x applications so it is not possible to use it to develop a Mule 3.9 application. You are saying that the deployment file is a jar file so it is clearly a Mule 4 application. A Mule 4 application can not be deployed to a Mule 3 server, they are not compatible.

How to get compatible Mule dependencies

When a Mule project is created by the Anypoint Studio itself, the IDE will generate the maven pom file with all compatible dependencies. But I want to get MuleSoft dependencies (Ex: Connectors, Munit module dependencies, etc) and their compatible versions which suit the Runtime Environment from Outside or manually - not through the IDE. For example, if a new RunTime version '4.5' is released in the future, I want to know all the compatible and new dependency versions which go hand in hand with the Runtime 4.5. This should not through the IDE. Better to have a repository or any documentation.
In Studio 7.x (compatible with Mule 4.x) it tries to select versions of connectors that are are more o less up to date with that release, but it is always recommended to use the last version of each connector that is compatible with the Mule Runtime version used. For that you can look to the release notes page to find the compatibility of each connector released by MuleSoft. Each version release usually mentions what is the minimum compatible Mule version.
Also Studio 7 has a button in the toolbar to detect updated connectors and modules and gives the option to update them.
Just to be clear, Mule 4.x doesn't have any dependencies in the pom of a Mule 4 application project. The dependencies there are needed by your application, not by the Mule Runtime.

Migrate custom XAML build workflow to TFS 2017 extensions

I currently have a custom XAML build workflow which performs a lot of validations based on code structure, folders, file content and even database configuration.
Currently we need to consider to migrate it to TFS 2017, and I'm trying to understand the possibilities, effort and pitfalls and this is where I could use your help.
I have logic built in C# and then I look at MSDN documentation the language seems to be Javascript, GitHub samples seem to be Typescript. Am I forced to use one of this languages? any preferred one or limitations that I should be aware of? Can for instance, I connect to a database directly? or it's better to have an API and just use REST calls?
Can I for instance, use .Net object which have already some wrapped logic?
I also noticed that on the manifest file I can declare inputs, but can I somehow use outputs? For example, I have a task that does validation and in the end I would have a task to send an e-mail with the result of that validation. Is this possible?
Thank you in advance.
You are right in concluding that XAML builds are deprecated. The new Task based system is much more flexible and now that we even have YAML support, you can move to Builds as Code.
The reason you're seeing Build Tasks in TypeScript (which is a superset of JavaScript) because of the cross platform nature of NodeJS. This allows your tasks to run on Windows, Linux and Mac. In the mean time we also got .NET Core support. You can also use PowerShell if that's more of your liking.
Regarding your 'can I connect to a database' question. Yes you can, if you want it is another question. This will massively slow your build down and will make your build fail if there are issues with database connectivity. I would suggest asking a second question here on Stackoverflow to describe your situation and discuss if there is a better alternative.
You can use output variables from your task and reuse these in the next tasks. That's all supported and no problem (see https://roadtoalm.com/2016/08/11/set-output-variable-in-a-powershell-vsts-build-task/ for an example).
There are too many questions here and they are broad.
Whatever, XAML Build are deprecated in TFS 2017 and will not be available in the next version of TFS. VSTS already no longer supports them. So you need to Migrate from XAML builds to new builds (vNext builds). Also this similar thread for your reference : Converting TFS XAML Build Custom Activities into TFS 2015 Build Tasks
Marketplace
While you can make use of custom build tasks with XAML build there is
no centralized or integrated solution for browsing available tasks,
installing them or managing them. With the new builds you can make use
of the quickly-growing Visual Studio Team Services Marketplace. Here,
you can search and browse the many extensions currently available in
the Marketplace.
See WHY SHOULD I LEAVE XAML BUILDS for details.
So, you can find the existing extensions in Marketplace and install them to extend the build process (add correspinding tasks). You can also custom your own extension based on your specific requirements. See Extensions overview.
You can build custom applications or services that integrate with your
Visual Studio Team Services (VSTS) and Team Foundation Server (TFS)
accounts by using the REST APIs to make direct HTTP calls, or
utilize our .NET Client Libraries.
Source here : Integrating with VSTS and Team Foundation Server
To add a custom task you can reference below articles:
Add a build task
Reference for creating custom build tasks within extensions
Developing a Custom Build vNext Task
For the "outputs" validation, you can try it with build alerts.

BusinessObjects 4.1 Upgrade Migration Content

I have a client needing to move from XI R2 to 4.1. I need to pick and choose basically 5 thousand reports, and change what folder they will be in. I will have to actually move the report from one folder to another. Then the content migration will be easy. We need to make new folders to account for new AD groups. How do I get around having to do this manually? Can I just do it programmatically or in a batch process?
You can create folders and move content using the SDK. In XI r2 you have the choice between the Java, .NET and COM (VB/VBA/VBScript) SDK to perform these actions.
You'll need the SAP BusinessObjects Enterprise Platform SDK for this. Here are a few links you might find helpful:
SAP BusinessObjects BI 3.x and Lower - Developer SDK Library
XIr2 JavaDocs (Zip file)
.NET API Reference
Object Model Diagrams (Java)
Developer Guide (Java / .NET)
Sample Code (Java / .NET)
Where you can find additional information:
.NET SDK Application Development forum at SCN
Java SDK Application Development forum at SCN
SDK forum at the BusinessObjects Board (unofficial BOBJ forum)
Creating folders and moving content around are quite basic actions, so most of the documentation you'll find (I can only speak for the Java SDK from experience) will largely apply to XI r2, even though it wasn't written for that specific version.

Mule deployment based on Jenkins Jobs

I have a Zip file exported by Mule Studio. Need to deploy it on Mule Server using Jenkin Jobs. Please provide the Steps.
I am having mule enterprise standalone 3.3.2
Mule apps deployment apps is just as simple as most the other container ones. Just copy the zip to an APP folder. If you have an scp tool, there you go.
Of course this only applies to the community edition, enterprise edition is bundled with more sophisticated mechanisms of monitoring/management.
Agree with Victor here, however, you can use the MMC agent REST APIs also to deploy the apps directly to the mule platform which will also add the build into the repository.
You just need to look for an option how to place the zip in the $MULE_HOME/apps.