WSO2 - SAASifying .Net and PHP application - wso2

I am evaluating WSO2 as potential PAAS platform for delivering multi-tenancy SAAS application to my clients. I know that we can expose JEE based web applications as SAAS applications on WSO2 platform. My question is can we SAASify an application built on .Net or PHP using WSO2 PAAS services. If yes, please let me know what does it take to achieve this. Please point me to any resources if there are any.

Via the WSO2 Stratos cartridge architecture, you can easily plug in any runtime as a service - thus you can create a polyglot cartridge for PHP in WSO2 Private PaaS / Stratos to run PHP applications. This will allow you to use the PaaS features such as multi-tenancy and thus work towards SaaSifying your PHP app.
The following Enterprise Use Case Webinar - Running PHP on Stratos 2.0 shows howto create a PHP cartridge and a demo on running PHP based wordpress.

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.

does fuseesb have a similar UI framework concept to wso2 carbon?

I've been looking at WSO2 Carbon as an OSGi application platform providing the following functionality:
Services can be deployed as OSGi components (backend and frontend/UI)
A Service UI components can be hosted (snapped) into the Carbon UI
A Service can use Carbon User Management database for authentication and authorization
Does fuseesb have a similar UI concept?
Using fuse ESB for about 6 months, I'm very happy with it.
Services are easily deployed as OSGi components - these are quite easily configured and deployed as fuse features. Fuse profiles then contain property files that define which features are deployed to your OSGi containers.
Although I haven't used every feature, I haven't seen a similar UI concept for hosting / snapping.
For authentication and authorization there are various approaches - one nice solution is to use Apache zookeeper (a key/value store) as a basis for a simple user management component that can be available to all your services.

WSO2 Stratos Live Services / APIs

currently I´m evaluating WSO2 Stratos LIVE as a public PaaS. I did much research but there are still some questions:
1.) Does WSO2 Stratos Live offer a "multi-tenancy-api" to make Java web applications multi-tenant-aware (something like the Google App Engine Namespace API)?
2.) Is the cartridge-based architecture available (like in WSO2 Stratos 2)?
3.) Are there official API documentations / code samples for all the cloud services? I just found blog posts and webinars. But an official api documentation and code samples would be very great (for example how to unse Identity Server for authentication in Java web applications).
4.) Based on WSO2 API Manager deployment on Stratos, I assume that the API manager is not available as cloud-service?
5.) Do I have hosting options on Stratos Live (e.g. Java Version, the country / Data Center where my app will be hosted)?
6.) Does exist a logs-api to access application logs from my application?
7.) Are there apis for data handling (for example Map Reduce, execution of cron jobs, CDN)?
8.) Do I have a local test environment? I know that there are IDE plugins for an easy deployment. But is it possible to test my app with all WSO2 Stratos Live cloud services local on my machine without connecting to the real services?
I know this is a lot but it would be more than helpful if the WSO2 professionals would help me to answer those questions. As I said, I did much research but those 8 questions are still open.
Thanks a lot and best regards
Ben
See the answers in-line.
1.) Does WSO2 Stratos Live offer a "multi-tenancy-api" to make Java web applications multi-tenant-aware (something like the Google App Engine Namespace API)?
Yes. Your web app can be multi-tenanted.
http://www.youtube.com/watch?v=_lEwm6VzAmo&noredirect=1
http://www.slideshare.net/afkham_azeez/building-a-multitenanted-cloudnative-appserver
2.) Is the cartridge-based architecture available (like in WSO2 Stratos 2)?
Not yet. But our plan is to make Stratos2.0 as the foundation of StratosLive. This will be done after the GA release of Stratos2.0 (it is now in beta stage)
3.) Are there official API documentations / code samples for all the cloud services? I just found blog posts and webinars. But an official api documentation and code samples would be very great (for example how to unse Identity Server for authentication in Java web applications).
All the documents and samples available for WSO2 products are valid for StratosLive. Reason is, we have deployed the very same product in the cloud. We are in the process of filling the documentation gap with regards to StratosLive at the moment.
4.) Based on WSO2 API Manager deployment on Stratos, I assume that the API manager is not available as cloud-service?
Not yet. It will be available in the future.
5.) Do I have hosting options on Stratos Live (e.g. Java Version, the country / Data Center where my app will be hosted)?
No. StratosLive uses shared instances to achieve multi-tenantcy (not like some other PaaSes which uses a JVM per tenant). Therefore, hosting options are not available.
6.) Does exist a logs-api to access application logs from my application?
Yes. We allow the tenants to view system logs and application logs. Unfortunately the API for log viewing is not documented yet.
http://sparkletechthoughts.blogspot.com/2012/09/how-distributed-logging-works-in-wso2.html
7.) Are there apis for data handling (for example Map Reduce, execution of cron jobs, CDN)?
Map reduce related tasks can be handled using toolboxes which can be deployed in WSO2 BAM (monitor.stratoslive.wso2.com). Please check the WSO2 BAM2 documentation for more info.
8.) Do I have a local test environment? I know that there are IDE plugins for an easy deployment. But is it possible to test my app with all WSO2 Stratos Live cloud services local on my machine without connecting to the real services?
You can download and use the Stratos local setup which can be found at http://wso2.com/cloud/stratos

Deploying Different WSO2 product as single carbon application project

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

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.