Web Services

I'm a big fan of Web Services and Service Oriented Architectures (SOA). I've developed a handful of web services for my company to use internally and there are a few reasons I enjoy working with this technology.

Ease

What I think I like best, is how easy it is to create a web service. I use Eclipse and this IDE provides a web service wizard (I'm sure other tools have something similar). All you need to do is create the WSDL and most of the heavy lifting is done for you (opening and closing connections, serializing the object to the wire, etc). Hook the generated code into your business objects and it's ready to go. Since Web Services use HTTP, installing your WAR file on the web server is the final step. No other setup is needed.

I did not find CORBA as easy to use. In CORBA, you need to communicate what ports you want to use, optionally set up a CORBA name service, etc. If there was a port conflict on one of the machines you were using, you needed to reconfigure a bunch of nodes.

Lego-like

To me, Service Oriented Architectures epitomize the type of modules we're all taught to build in school. We all strive to build reusable, scalable code, with open interfaces, that can be used in several types of applications. The goal was always to have a set of these modules which can be combined in different ways to create cool things (like Lego blocks).

Prior to SOA, sharing a module's functionality meant sharing jar files. Updates were hard to deploy and track. Since SOA lives on the web, updates are instant and painless (as long as the API does not change). It seems like the ideal distribution method.

Unlimited Possibilities

Because of this Lego-like architecture and because the functionality is available over the web, people are combining these services in many interesting ways. These combinations are commonly referred to as mashups. The first mashup I saw plotted data obtained from a local law enforcement web site onto a Google map - providing a visual representation of high crime areas. These unexpected and useful combinations are what help make SOAs exciting.

Discussion

Which mashups have helped get you excited about this technology?

More Info

WSDL Tutorial (W3C Schools)
Web Services Programming (Yahoo Group)

Comments

Popular posts from this blog

I Believe...

More stuff to get excited about

A few quick notes