WSO2 Micro Integrator language support - wso2

Does WSO2 Micro Integrator (MI) allow custom code to be written? If yes, what all languages does WSO2 Micro Integrator support? More specifically, does it support .NET?

WSO2 Micro Integrator and other WSO2 solutions are written in Java, and wso2 products natively doesn't support .NET. So if your case is to develop some extra features for wso2, you should write in Java.
For use .NET library I think, you can write, for example Custom class mediator, and wrap dll library using a JNI interface, but I wouldn't recommend this approach, and i am not sure it would be working properly.

Your requirement is to write a custom mediator from another language, you can use a script mediator for this. Refer to this doc. https://ei.docs.wso2.com/en/latest/micro-integrator/references/mediators/script-Mediator/

Related

WSO2 Ballerina natively run into the Carbon server of the EI instance? Some doubts

I am pretty new in WSO2 evnironment and I have the following doubt.
I am working using WSO2 ESB\DSS on a WSO2 EI 6.1.1 environment.
Now I am pretty interested into Ballerina languange and I have the following doubt:
Ballernina natively run into the Carbon server of my EI instance? Or have I to install\configure something else?
Can I use Ballerina to develop API (at the moment I am using ESB to develop API but in some case I prefer use something more similar to a proper programming language instead write ESB flow).
From Ballerina can I easily call DSS service?
Ballerina is a programing language designed to solve integration problems. It has built in connectors and components to support common integration patterns.
It has own run time where you can just run ballerina services on its own. No need to run on top of Carbon or EI.
Yes, its designed to be integration simple, so you can write Endpoints easier a than a regular programing language. Since its a program language it will be more agile than any integration product with configurations.
Yes you can. Ballerina provides connectors invoke any service, so you can call DSS. On a separate note, you can write a data service from Ballerina itself without having to use DSS.

WSO2 ESB, REST Apis Versioning strategy

I have PizzaV1.0.0 API, which strategy does it use to generate a new V2.0.0 version and keep both in ESB.
If version the CAR, the duplicity of APIs and Sequences.
I have not found a way to version the APIs in eclipse, I need to version the API and some sequences that have changed.
In API Manager I created a new version, now I have two versions published.
What versioning strategy do you use in ESB to stay in sync with API Manager?
Maybe this post can help you
http://nandikajayawardana.blogspot.com.br/2014/02/proxy-service-version-management-with.html
I do what they describe and it is working great.

Criteria for choosing simple Apache Synapse Vs WSO2

While evaluating various ESB's, I came across Apache Synapse & WSO2. In WSO2 it's mentioned that WSO2 completely uses Synapse and built on top of it.
However I am not still clear what additional features does WSO2 offer over Synapse? (Apart from commercial support).
One difference I could see is the web UI to manage proxy definitions, sequences creation etc. Are there any other features which WSO2 provides over Synapse? Also please share if there are any guidelines to choose between Synpase & WSO2
I just wanted to be sure why I am going to WSO2 over Synapse.
Thanks,
Harish
WSO2 ESB offer many great features on top of synapse. I am listing few here.
Graphical management console to create/manage/monitor proxies/APIs and services.
Support for many transports [1].
Statistics, logging and auditing support
Support for many content types
And industry accepted proven performance.
List can go on and on. Hence I am referring you to WSO2 documentation on features[2]. Hope you can get some idea from there.
[1] https://docs.wso2.com/display/ESB481/ESB+Transports
[2] https://docs.wso2.com/display/ESB481/Features

What framwework to use for SOAP if using Websphere Application Server

I have been going over the list of frameworks available for SOAP. My application is Spring MVC pattern and its deployed on Websphere servers. Do I still need to use framworks like Axis 2 or CXF? Can I just Use spring?
As Gas pointed out WebSphere provides support for JAX-WS (i.e. Java API for XML Web Services) since WAS 7.0. Additionally IBM provided Feature Pack for Web Services for WebSphere Application Server V6.1 that supported JAX-WS.
Even earlier versions of WAS supported JAX-RPC (since J2EE 1.4) but I do not recommend JAX-RPC approach because it was cumbersome and I don't think anyone is still using it. It is in fact deprecated since JEE 6.
So you do not need to use external libraries. Using standard JAX-WS implementation from WebSphere gives you possibility to easily configure services from administration console. This is especially nice when you integrate with other IBM WebSphere products or use some IBM standards like LTPA tokens. However, this implementation does not integrate with Spring.
You also might use external libraries, like Axis 2, Apache CXF or Metro. These also have some advantages. For instance Apache CXF integrates really nice with Spring and supports many standards. Spring WS is on the other hand minimalistic.
However, with these libraries you must expect some problems with class conflicts as they require often different versions of libraries than WebSphere provides. This might require you to change default classloading policy or other tweaks. It is possible to deal with but it is not for free.

Why custom Axis2 version in WSO2?

Well, when developing custom transports for WSO2 ESB I was recommended to use Axis2 version specific to WSO2 (1.6.1-wso2v5). Does anybody know if this version somehow differs from the "standard" 1.6.1 version? And what was the motivation for this "branching"?
AFAIK this was because some changes were done that was needed for wso2 specific details. Hence a separate wso2 version was created to cater this need.