Strategy to develop a web service in JAX WS - web-services

i'd like your help to designing a wb serice but I don't know how i can't do this.
In fact my application handles data management clients. My application is developped in struts 1.0, spring, weblogic and build-in maven.
He was asked to me to make an evolution because an external application need to access data such as displaying the address of the client or displaying data bank. For this, it was planned to create a web service to retrieve in real time.
I would like to know the strategy to use for designing a web service. Do I need to create a new Dynamite projet maven + JAX WS to my web service and deploy my war on my weblogic server?
Or they have something else to do ?
Thanks a lot !

I am not sure that this question is related to maven.
Adding a WebService (or RestService) could be quite easy with springframework and apache cxf (http://cxf.apache.org/)
see jaxws or jaxrs for more.

create web service in a two types but real time applications using jax-ws web services reason for consumer want to send data into provider.consumer can know the entire information about the provider by seeing its WSDL Document.

Related

Is spring integration is suited for enterprise application integration?

We are designing a Java middleware web application, something like a ESB, such as IBM message broker or mule.
We have many Oracle EBS interfaces(soap web services), and now the salesforce CRM wants to call the EBS interfaces through the middleware application.
Slaesforce CRM calls the middleware by rest json, and the middleware calls EBS by SOAP webservice. The picture below helps you know my meanings.
We have struggled many days to design the middleware with Spring Integration. But we found it difficult to do this. We still need to generate a jar file(by CXF) for every EBS interface(each wsdl with a jar file), and call the EBS interface by the traditional web service way.
We do not want to generate the webservice client jar files for each EBS interface. Is spring integration suitable for this(no generating the jar files for each WSDL, just some configuration or not much coding)? If not, can you suggest some other product else?
Thank you very much in advance.
For the SOAP interaction Spring Integration provides the WS module which is fully based on the Spring WS project.
I don't see reason to generate something, if you just can use the Spring Integration's <int-ws:outbound-gateway> to call that Oracle ESB service.
For this purpose you just need to know which XML to build for the request and which to parse from the response.
Seems for me for this purpose it would be enough for you to know the service WSDL and investigate it from the SOAP UI.
If I were you I'd just forget the CXF when we are with Spring :-).
An API gateway is one product which can be used here. Typically, it acts as a proxy between the client and the applications, but it can also do transformation between JSON and XML, which is what would happen in a REST to SOAP conversion.
MuleESB, although not a gateway can also be used for this purpose, see this link How to convert SOAP web service to REST web service in Mule
We did this by ourselves.
We developed the middleware by ourselves with Java.
We used java with freemarker template to convert the json request to required soap envelope body. Then used apache httpclient to call the web service(oracle EBS).

Is there a way to find out if a updated a service in WSO2 application server?

I have a simple question if it make sense in the context of WSO2 Application server.
I want to write a module, which tells me if i updated a service. The service is an axis2 SOAP service. I know how to write modules for axis2 services inside axis2 engine. But if i use the WSO2 interface, and either delete a service, update a service or add a service, Is there a way to find out that i performed these activities?.
In short, can i intercept the messages that i uploaded a new module or i uploaded a new service or i changed the service.
thanks you...
You could write a Axis2 Observer for this, take a look http://asanka.abeysinghe.org/2008/10/how-to-writing-axis2-observer.html

Apache CXF vs Apache Camel

our problems:
a sets of existing applications (recruiting, purchasing, payroll etc..) communicate outside through various ways (email, pdf, csv file, webservices etc)
a new ERP system we gona use(SAP or Agresso) communicates the outside through web services
we need integrate the existing systems with the ERP system, and apply some rules
my questions:
can we do the job by only using CXF?
is CXF a subset of camel
or perhaps to achieve what we want, we have to combine those two?
also Mule doesn't give a specific price for the cost, anyone had experience with MuleSoft?
thanks for time!
The comment by BMW is very true.
However to answer you a little more closely.
CXF is a services framework. It allows you to create SOAP, REST and even CORBA services. So yes it can help you create and consume web services.
CXF is a component used inside Camel, CXF is not a subset of camel. Camel will allow you to provide and consume web services using CXF.
Camel is a EIP(Enterprise Integration Pattern) framework which allows you to do things such as route a file to a web service. Or expose a SOAP service that talks to JMS queues etc. I know Camel also has a SAP component.
Thus Camel orchestrates the various components into routes that allows various systems to integrate.
In short you will use Camel with the CXF and other components to resolve your problems.
I have not used Mule yet but I can tell you this. You can host your Camel routes on Apache Karaf and create your own light weight "ESB" so no need to use Mule ESB.
Another alternative would be Fuse ESB and also Servicemix. THey are also capable of hosting Camel route.
I currently have several camel routes that expose web services and consume various data from files, rss feeds etc hosted on Karaf and it works like a charm.

Do I need a web service in this case? When do we use them?

my issue is about web services and all the stuff around that. I've developed a java web app, using hibernate (to connect with a mysql DB), jsf and primefaces. The only thing I have to show to the user is the index.xhtml which will search a data in a database. All of this is running on my PC with my local apache server.
But a doubt comes to my mind when I wonder if I deploy this web app in the apache server of the company, do we need something such as a web service o something like that o they just can access to the index.xhtml and start the queries?
Sorry for this but I'm totally new repesct web services, web app, web server and all these stuff.
PS. So, when do we use web services? and web server?
Thanks in advance :)
A web service is typically used as an API that might be integrated into another application. For example, if you have a way to accept payment information. You could make that a web service that would let some other application (e.g. an auction site) make calls into your web service to do some work.
Think of it a bit like a DLL that is accessible on the web. It won't have an interface, it is a collection of methods that either return data or execute some code. It will not return a UI.
So when you use a web service would be a similar question to when you need to break code out into a separate assembly.
On your specific question above, you would not need a web service, if your web application is doing everything you need it to do, then all you need is a web application.

Worklight: Webservice inside customization WAR

Is it possible we can create Webservice inside Worklight customization WAR file? Purpose is to give access to an external application user some resources like adapters from worklight.
It may be possible but I don't think I would suggest it. Write your webservice to run independently of Worklight. Adapters can still connect to your web service even if the web service runs on an entirely separate server.
Let the Worklight WAR be Worklight and let the web service be a web service.