WSO2 Application Server - REST Service, deploy as Application or Service? - wso2

If I have some functionality I want to expose via REST in the WSO2 Application Server and it seems that I have two main choices:
Deploy as a JAX-RS Application
Deploy as a Service
When deploying as a service, it appears that I have options for Quality of Service that don't appear to be available for Applications.
Question: If I am creating a REST based functionality from scratch, should I prefer to design as a service rather than as an application, because the service has more flexibility?

In WSO2 Application Server there are two approaches to create RESTfull services.
Create RESTfull service using Axis2, then you should deploy them as "service"
Create JAX-RS spec based service using CXF, then you should deploy them as "JAX-RS" applications.

Related

Do i need a localhost server to invoke a web service

I'm very fresh and beginner in the web services world, I'm trying to learn how to deploy and consume services.
My question: Using any technology (such as Java), when I want to invoke some web service that is deployed in a remote server, do i need to install and configure a localhost server in order to access the web service? or I can access it without install server
Note: I'm asking about consuming a web service not developing a one
Thanks in advance
No. Just as your web browser doesn't require a web server to access other web servers, your code doesn't require a web server to access other web servers.

WSO2 ESB to invoke secured web service deployed on weblogic

How do one invoke a secured SOAP web service deployed on weblogic using WSO2 ESB ? Example's given in the tutorial seems to work only for secured web services deployed on Axis 2 server, using Apache Rampart.
Please guide.
Thanks.
It won't make any difference whether its developed in Axis2 or not. If you want to invoke a secured service through WSO2 ESB you need to attach the corresponding security policy to the end point.If you can share any errors you get with that approach that be helpful to answer better.

WSO2 Local Transport

I'm interested in understanding a little more about how local transport may aid performance within the WSO2 ESB. I have looked at http://heshans.blogspot.co.uk/2011/06/local-transport-implementation-for-wso2.html which suggests that the Proxy Services can communicate via local transport with the local prefix. However, if a Web Application is also installed on the same ESB, is it possible to use local transport to communicate with the actual Web Service Endpoint? The reason I ask is that I am investigating the differences in JBoss SOA in comparison with WSO2 and would like to understand if there are any performance advantages using JBoss over WSO2 as it appears that JBoss supports InVM transport.
Any help would be much appreciated.
Regards.
The purpose of the local transport is communicate efficiently with the services runs on the same JVM. For instance ESB proxy talking to another proxy service. You can use WSO2 Application Server to deploy web apps, but if you call it from another ESB instance then you cannot use local transport(because there are two jvms).
What you can do is that, you can install the WSO2 Application Server features on WSO2 ESB and then deploy the webapp. In that case you can use local transport between the webapp and esb proxy services etc.

WCF Project type differences

I'm working on few WCF tutorials and I would like to understand the difference between WCF Service Library, WCF Service Application and WCF Workflow Service Application.
Do you have any examples on when I should use service library and service application?
Thank you
WCF Service Application hosts the service directly in IIS.
WCF Service Library you have to handle the hosting yourself.
WCF Workflow Service Application does the same as the WCF Service Application except for Workflow services (WF).

In what tier should my web service references be?

I have the following structure in my web solution:
Domain
DataAccess
ApplicationServices
Web
Tests
I have some application services that I am using to abstract some web services that I am using. (Specifically, I am bundling some shipping web services together into a single application service.) Should my Application Services layer reference the web services I am consuming, and the other tiers remain ignorant, or should I reference the web services in the Web and Tests tiers and inject the web services into the application service?
I would use a Service Gateway pattern to work with Web Services, so I would have another project called ServiceGateway as an additional tier to my application and this will be referenced by ApplciationServices, as stated here..