• We’re currently investigating an issue related to the forum theme and styling that is impacting page layout and visual formatting. The problem has been identified, and we are actively working on a resolution. There is no impact to user data or functionality, this is strictly a front-end display issue. We’ll post an update once the fix has been deployed. Thanks for your patience while we get this sorted.

Any java developers interested in a new WebServices implementation?

Argo

Lifer
After being totally sick of Axis and other well known webservices implementation I wrote my own. This implementation doesn't have short-comings of Axis where you need to write custom serializers or are limited in what classes you can send back and forth across the wire.

Using this implementation (don't have official name for it yet) is brain dead simple. You add a precreated servlet to your web.xml document in your container of choice. That's it, no need for comlicated *.xml configurations or anything else.

You procede writing your business logic the same way you do with any other webservice. You create an interface and share it between the server and the client. Then on the server you write an implementation class that implements this interface. The two will be tied together via java Annotations (you can use properties file too, but annotations are prefered).

Everything else is configured via Annotations as well: you can provide your own ClassFactory, Serializers (XStream serializer is used by default), etc etc.

I'll link the *.jar file as soon as I'm done packaging it. I'll upload it to ibiblio and other repositories as well.

I'd gladly answer any questions as well, but please only relevant questions. If you have no idea what WebServices or Annotations are grab a book 🙂
 
Source code? License?

How long'd it take you?

Test interoperability with other platforms?

Did you reuse any of Axis?
 
Source code? License?
I'll make source code available. Free to use to whoever wants

How long'd it take you?
Took me a 2-3 days to implement it. But I've had the idea in my head for a while. A friend of mine actually came up with the idea, I just generilized it

Test interoperability with other platforms?
It's standard java/J2EE so should work with any web container as long as it's using JRE 1.5. Won't work with other programming languages. In ways it's similar to Hessian, except it easier to customize without rewriting code (via annotations) and allows you to use custom serializers if you wish.[/b]

Did you reuse any of Axis?
No. Only dependencies are XStream and XPP3 parser. And even those aren't requird if you decide to use your own custom serializer
 
Originally posted by: Argo
Test interoperability with other platforms?
It's standard java/J2EE so should work with any web container as long as it's using JRE 1.5. Won't work with other programming languages. In ways it's similar to Hessian, except it easier to customize without rewriting code (via annotations) and allows you to use custom serializers if you wish.[/b]
By other platforms I was talking about non-java. I hadn't realized you had scrapped soap altogether. Why would I use this instead of rmi?
 
Originally posted by: kamper
Originally posted by: Argo
Test interoperability with other platforms?
It's standard java/J2EE so should work with any web container as long as it's using JRE 1.5. Won't work with other programming languages. In ways it's similar to Hessian, except it easier to customize without rewriting code (via annotations) and allows you to use custom serializers if you wish.[/b]
By other platforms I was talking about non-java. I hadn't realized you had scrapped soap altogether. Why would I use this instead of rmi?

Easier to setup, no need to worry about registering with rmi and then starting an rmi server. I've dealt with rmi based implementations in the past and there are lots of problems associated with having an rmi server running. Also ability to provide custome serializers/classfactory makes it more customizeable.
 
one of the main benefits of web services (in my mind) is that you get cross-platform compatibility. it seems you've skipped that altogether.
 
Well the intent of this service is to fill the niche between full fledged webservices and rmi. Often you need to communicate between two java services and you're left with either using Axis and all of its limitations or RMI and all of it's setup headaches. This implimentation is meant to fit in that niche.
 
have you looked at some of the pre-existing "light-weight" webservice implemetations like Caucho's Hessian and Burlap? While I think what you've done is pretty cool, it seems like you're re-inventing the wheel. And using Hessian/Burlap (as well as RMI and JAX-RPC) through the Spring Framework is almost trivial.
 
Originally posted by: AmigaMan
have you looked at some of the pre-existing "light-weight" webservice implemetations like Caucho's Hessian and Burlap? While I think what you've done is pretty cool, it seems like you're re-inventing the wheel. And using Hessian/Burlap (as well as RMI and JAX-RPC) through the Spring Framework is almost trivial.

I agree. I've actually used Hessian in the past. One thing I don't like about it is that it doesn't allow using custom serializers and/or class factories. I've actually subclassed Hessian servlet in the past to bypass this limitations.

As for my implementation it's not meant to be anything groundbreaking or something that everybody will use. It's just meant to be yet another implementation of cross jvm communication. And btw, I like this implementation a lot better than Hessian. For starters it will deal with hibernate managed objects better than Hessian.
 
Back
Top