How to merge wso2 products? - wso2

I want to merge WSO2 ESB and Data Services Products to execute both of them
on one server.
Both of them are based on Carbon framework and consists of some OSGi bundles.
Is there a simple way to do this.
Best regards.
--Seyyed Jamal

Yes. You can install the ESB features in the DSS or vise versa. Feature installing way is common for all the WSO2 Carbon Servers (ESB, IS, AS, DSS, BAM .....). Here is a blog post I wrote on installing an AS feature in IS. It is the same procedure for the ESB or DSS, find the required features, install them.

Related

WSO2 APIM vs WSO2 EI 6.6, 7.0 and DSS

Can somebody please explain, how WSO deploy its products?
First i got familiar with WSO EI 6.6. I could create a proxy service or use the DSS to make API alternative to entity framework in .net core services.
Then I found out that the superior product to WSO2 EI is WSO2 APIM - api manager.
WSO2 APIM has WSO2 IS included, so it is basically the single point for authentication and service proxying and so on.. However I have not seen there any option to make the DSS ??
WSO EI 7.0 is completly different to WSO EI 6.6 as far as i understand. WSO EI 7 is the name for 3 other products balerina integrator, microservice and streaming integrator. None of these services has the /carbon framework and all of them are just some apis for some custom editor. If this is true, why do they call it WSO EI 7?? Does that mean that the configuration of proxy services or access to database through res api is obsole and should not be used for new project?
So basically there is no way to have DSS in latests products?? Do I must use WSO EI 6.6 in order to use the DSS?
I have scratched my head at the naming and grouping of these products previously as well. From what I could figure, every now and then the groups change. As you have noticed rightfully, EI was the latest one to change. It indeed split into 3 entities. It is however still usable with code from EI 6.6. The Micro Integrator can be downloaded separately and used with all the code and CAR files made with 6.6. I have run a couple of them and found no problems thus far. It is basically the latest version but without the Carbon framework and frontend. One MI instance also runs just 1 CAR file but does so really fast.
As for your DSS needs I have no experience with that side of WSO2. I googled however and found that DSS can be downloaded right here as a standalone product. I hope that solves your last question.
The APIM is not superior to EI either, but functions in a different way. Since the older products were all based on Carbon as you mentioned before means there was a certain bit of overlap. IS for example can also be downloaded separately.
If I was to guess I would say they WSO2 will be trying to make all their services into Microservice versions in the upcoming years. This is just speculation btw.
If you want to dive more into the reasoning behind WSO EI 7.0 and why it was decided to work like that I would suggest this talk by the WSO2 director.

How to use product of WSO2 correctly?

I have already read many documentations of WSO2, there are some products of WSO2 such as: Enterprise Integration (EI), API Management (APIM), Identity Access Management (IS), Analytics Stream Processing (SP). I can understand the functions of IS and SP.
1. But I dont know what are differences between EI and APIM?
2. When can we use EI? When can we use APIM?
3. Can we merge WSO2 EI and APIM and IS and SP Products to execute all of them on one server?
Sorry for many questions, but I am really confuse in these matters, please give me advice.
WSO2 EI can be used to integrate different systems, orchestrate and then expose as new services/APIs.
WSO2 APIM can be used to manage those services/APIs. You can manage security, rate limiting, CORS, etc. and can see analytics of API usage etc. too. For APIM analytics, there is a customized version of SP which you can download separately.
You can't run all 4 as a single server. Those are 4 runtimes, so you have to start them separately.

how to run wso2 esb and api manager in one jvm

can I have any way to merge esb (wso2 enterprise service bus) and api manager to run in one Carbon app?
I want to use different wso2 products, like esb and api manager, identification server, business rule server.
But I don't want to run them in different carbon application. This needs lots of resources.
I know if I want to merge them, I must let them in same carbon version.
Do you want to run all products in a single carbon server? If so, you need to install API Manager feature in wso2esb.

confused with the relationship between WSO2's products

After study WSO2 products, seems I got the following concepts, all of them are only my understanding, I don't know whether is correct or not, please advice:
All the products are running in Carbon which is a 'container' of the wso2 products, something like JSP like stuffs running in tomcat. am I right?
if No.1 is correct, so 'Enterprise Service Bus', 'Identity Server', 'Data Service Server', 'Governance Reistry' etc are all running in Carbon Server, actually I downloaded all the products, and I found they are all released with carbon together, which mean I can use command to start the management console directly, and each of them can running themselves, they have there own management console. right?
after I read Carbon user guide, it says 'all the products of wso2 are the components of Carbon', so I think 'Enterprise Service Bus', 'Identity Server', 'Data Service Server', 'Governance Reistry' can be put into one management console, which mean they can be integrated together, after I started Carbon server, all the features are running together?
I'm sorry ask such kind a stupid question, but after read many articles I still cant find out the structure between them, please advice, thanks in advance.
WSO2 middleware products come with a bunch of components. These are based on Java OSGi. So every product comes with a set of OSGi bundles (in OSGi terminology). Carbon is a core framework that's common to every product. This is again a bunch of OSGi components. Carbon core (which is also reffered to as just Carbon) contains a set of must have bundles. Logging, clustering, security etc... Carbon is a separate download also which you can run. Running carbon itself by its own is not very interesting unless you're doing something specific and you know what you're doing.
Now, coming back to the products .. each product have carbon core plus some more OSGi components. These additional components reflect product specific functionality. For example if you take the ESB, it's carbon core plus additional components that makes it an "ESB". Likewise for other products.
You can take the carbon server and install all these additional features. Feature installation is done via the same technology Eclipse is using to install plugins. Since everything is an OSGi bundle there has to be an OSGi container that all these run on. Carbon is running on top of Equinox OSGi container.
So Tomcat is also a separate OSGi bundle. You can install these components into any running carbon server and instantly add webapp hosting capability.
Yes. All WSO2 products are running inside WSO2 Carbon which is mainly a OSGi based framework.
Yes. A WSO2 Product (e.g., ESB) is a specialized Carbon framework. Management console is a part of Carbon where you can install external features to the product / uninstall existing features in the product to customize the product.
Yes theoretically. If the Carbon concept is correctly implemented in all the components of WSO2, they (ESB, IS, DSS as you said) should be installable in a single Carbon server without any problem using the WSO2 Feature Manager. But due to some dependency conflicts and version conflicts sometimes it may not be possible if you try to do it. But still you can resolve these OSGi conflicts in code level and make it possible to make them compatible, if you want.
Actually all the WSO2 products share the WSO2 components seamlessly among their products already. And in some instances we recommend to install multiple products in a single Carbon server. For example CEP feature is asked to be installed in BAM product when the user wants to use CEP as a realtime data processing solution with the BAM. For most other product combinations we have not yet tested well so the conflicts can occur. Thats why I said this theoretical.

WSO2 ESB with BRS and Data Services Features

I've been testing WSO2 BRS and WSO2 Data Services separately and working properly. The next step was to add in the WSO2 ESB the features that provide these capabilities, but they have bugs that keep the deployment of services.
BRS Feature: Can't upload the . jar with the class model for rules. (Rule Service - 3.2.0)
Data Services Feature: Various failures to create new services, not looking tables of datasource and can't upload the services created previously. (Data Service Hosting - 3.2.0)
Has anyone done these features work properly?
What is the ESB version you are using? If it is ESB 4.0.3, please install the latest versions of Rule Service and Data Services features.
Rule Service and Data Services versions: 3.2.2
Thanks
Thilini