Deploying Different WSO2 product as single carbon application project - wso2

I am using WSO2 DSS, ESB and BPS for my project.
They are working fine in respective servers. But my idea is to integrate DSS, ESB & BPS into one car file(or some other deployment archive file) and thus making the deployment easier.
I have a Carbon application project created in Developer studio which has DSS project, ESB Config project, BPEL workflow and a Web application in it.
When I export it, it exports only the ESB & BPS and excludes Web application.
Is there a way to generate one deployment archive which would contain all the mentioned project? And is it possible to deploy a java application in WSO2 server since it has tomcat in it?
Thanks in Advance.

You can deploy webapplications in WSO2 Application server. Refer this. There is a server role which is defined in the server and also in the CAR file for each deployable artifacts. So if you are going to use one server lets say application server with DSS,ESB and BPS installed you need to add DSS's ESB's and BPS's server roles so artifacts which has respective servers role can be deployed in bundled server. Please refer following for server role management.
http://docs.wso2.org/wiki/display/AS510/Introduction+to+Server+Roles

Q>
Is there a way to generate one deployment archive which would contain all the mentioned project?
Ans>> Yes. It is possible. Carbon Application Archive(CAR) file is the single deployable module to package all the above mentioned different artifacts type to a single deployable archive.
You can use either IDE or Maven to generate the CAR file for your artifacts. Please refer to Dev Studio Documentation for more information.
Q> And is it possible to deploy a java application in WSO2 server since it has tomcat in it?
Ans>> You can deploy a Java application in WSO2 Application Server but in order to do that you need to convert your application to a Web-Services since WSO2 provides mechanism to expose your applications as Web Services. For that you can use either Axis2 Web Service or Jax-WS web-Service.
WSO2 Developer Studio supports creation of Axis2 Web-Services as well as Jax-WS web services. Please refer to Axis2 Artifact and Jax-WS Artifact Documentation for more information.
Also if you have a Java based Web-Application, you may deploy that Web-Application in WSO2 Application Server and WSO2 Dev Studio supports implementing Web-Applications as well.
Thanks and Regards,
Harshana

Related

Deploying Ruby/Python backend services in WSO2 EI

I have written several webservices in Python and Ruby and would like to integrate them with WSO2 Integration Studio. I tried following the instructions on the docs about sending messages to services here but it's about Java microservices only. Am I supposed to deploy my services elsewhere and only use http endpoints to integrate them? Thank you
You can only copy JAR files to the /wso2/msf4j/deployment/microservices folder and deploy them in the MSF4J profile of WSO2 EI.
Am I supposed to deploy my services elsewhere and only use http endpoints to integrate them?
Yes, This is the way to achieve this.

Creating web service with Developer Studio and create its API with API Manager

I want to create a web service with WSO2 Developer Studio but I don't know which project I have to use. My final goal is to create an API using the WSO2 API Manager and implement it passing the created web service as backend endpoint.
Do I should create an Axis2 web service, a Java Bean, or maybe another artifact?
Thanks and best regards.
Using DevStudio you can built axis2 services and JAX-WS services.
[1] - https://docs.wso2.com/display/DVS370/Creating+an+Axis2+Project
[2] - https://docs.wso2.com/display/DVS370/Creating+JAX-WS+and+JAX-RS+Service+Projects
For api creation in api manager you can do it via the webconsole provided in APIManager
you can use Axi2 web service
1.https://docs.wso2.com/display/DVS320/Creating+an+Axis2+Project
You do not need developerstudio to create a webservice. Webservices can be created using an IDE/IDEA..
You can try the existing samples in WSO2AS and deploy them. Make them as BE services for the APIs which you publish from WSO2APIManager.

WSO2 AS guice integration

I am using WSO2 application server to deploy my web services. I would like to use guice in my project. I have read a maksim blog about axis2 guice integration. He has used web.xml for injection however i do not know how could i change web.xml in wso2 as.
Thanks
You didn't want to change web.xml on WSO2 AS. You can have web.xml on your WS project.
here is complete guide on developing WS and how to deploy on WSO2 AS using WSO2 Developer Studio.
http://wso2.com/library/articles/2012/09/develop-deploy-web-applications-using-wso2-developer-studio/
Using WSO2 DS you can ease your development effort.
There is no much difference. You implement your webservice/webapp. Web.xml is the part of your webapp . Create the war file and deploy that in AS. Keep the dependency jars(guice lib etc ..) in the repository/components/lib folder.

Unable to add/import WSO2 JAX-RS service into StratosLive Application Server

I have a WSO2 Application Server, version 5.0.1 installed on my local machine.
I created a JAX-RS service and tested it locally.
The WAR file was built and deployed to the local Application Server successfully. When I log in to the local Application server Admin console, I see it displayed under Applications as type JaxWebApp with 'Find Services' listed under the Actions column.
I have a StratosLive subscription and I am trying to ADD/UPLOAD this JAX-RS service as a WAR file to the StratosLive Application Server. The Admin Console for the StratosLive Application Server is different. On the Main tab, It displays Web Applications and Web Services rather than the Applications and Services on the Admin console for the 5.0.1 Application Server I am running locally.
Consequently, I do not see an option to ADD/UPLOAD my JAX-RS service as a WAR file. The only option is to add a Web Application WAR file (I tried this and it does not work properly - thinks it's a web app) or JAX-WS Web Service as a annotated JAR file.
It looks like the StratosLive Application Server I am using may be a different version (earlier maybe) than the 5.0.1 I am using locally.
Has anyone else been able to ADD/UPLOAD a JAX-RS service to a StratosLive Application Server?
Usually it takes small time to upgrade StratosLive version of a product to latest standalone product version. Now StratosLive has been upgraded to latest Application Server version and you should able to run above use case on StratosLive without any issue.

Web Service on Netbeans

I have created a Web Service in Net Beans 6.9 and deploy it locally. And I am using it via a java SE application by adding Web Service client in this application. How to obtain the link of the Web Serice so that it can be used from anywhere ?
2) From where to obtain WSDL file of Web Service ?
3) How to host a Web Service on the internet ?
Thank a ton in advance..!!!
You could create a new project of type web application in Netbeans.
In the web application, you will then create a web service (NOT a web service client).
For publishing and testing the web application, you will have to deploy it to a web server (e.g. GlassFish).
After publishing the web application, the WSDL file will be typically located at: http://localhost:<port>/<your web app>/<your service>?wsdl
For GlassFish, the default port is 8080.
If your current Netbeans installation doesn't support web projects or you don't have GlassFish installed, I suggest you download and install the latest version of Netbeans with Java EE support (bundled Apache Tomcat and GlassFish server in the same setup).
http://netbeans.org/downloads/index.html
Hosting SOAP web services on the internet at large has not been terribly successful. For example Google had SOAP based web services initially, and they switched to REST based services in the end. You may want to reconsider and deploy a REST based interface. If the bulk of your code is not embedded in the web service, then you should not have that difficult of a time switching the interface.
To deploy a SOAP or a REST web service, you would need to deploy a 'full' Java EE container (e.g. Glassfissh or JBoss) on a machine with access to the internet. You might virtual hosting e.g. Westhost, Amazon, or there are turnkey solutions like Heroku (note: I'm not endorsing any of the companies listed here; they're just examples). If you just want to deploy a REST based service, any web container will do e.g. Tomcat or Jetty. In addition to services mentioned above you could probably host a rest web service on any service that will let you upload a war file.