views:

163

answers:

5

We are building a web-application and a significant portion of the project will be making real time calls from our servlets to some back end webservices. Some of these calls will be cached depending on the context. We will also have a reqiurement to handle incoming double byte character strings for languages such as Hebrew and CJK.

The platform this web application is in is Java.

What types of frameworks should i use for consuming and calling these web services? Axis 1/2? Does an ESB such as Mule give me some added features that will come in handy?

Clarification point: We will only be consuming webservices. We will not write and provide our own webservices.

A: 

For your requirements an Web service implementation like Axis 2 should be good enough. Also there are other implementations like Spring web services too. Unless you need some serious service orchestration and service mash ups, an ESB will probably be an overkill.

Teja Kantamneni
Thanks - it doesn't look like we'll need serious service orchestration at this point but we will be blending the Web Service provided VO's with local system data anotations. For example, return a User from the webservice and then we attach a user photo from our local system.
Shaun F
A: 

Axis2 is good. You can deploy the WS and then, use the Eclipse wizard to generate the client.

Alfabravo
+2  A: 

Axis2 will work fine but I'd also consider Spring-WS. If this is a basic web service and you don't anticipate alot of consumers then I would shy away from ESBs and such (ESBs are great if you need them but don't force them if you don't need them).

SOA Nerd
What do you mean a lot of consumers?
Shaun F
When you write a web service you have 2 sides to think of. You have the producers (the provider of the web services) and the consumers (the user of the web services). Having alot of consumers is kinda like having alot of hits on a website. :-)
SOA Nerd
ok yeah we will only be consuming web services.
Shaun F
+2  A: 

I'd also suggest that you take a look at Apache CXF as well as Apache Axis2.

Sam Merrell
Currently we've decided on Axis2 but i was thinking of Tuscany to handle the Service orchestration.
Shaun F
+1  A: 

If you use Java 6 it has built-in support. I use IntelliJ to generate the needed classes from the WSDL - a recent client shipped in a 26 kb jar.

Thorbjørn Ravn Andersen