Adding web services to existing Java applications should not involve programming. There should simply be a switch that you can turn ON or OFF to determine which parts of a Java application get exposed as web services.
Unfortunately, Java isn't designed that way. The programming language uses source code annotations (e.g., @WebService) to map classes and methods to web services. As a result, if you have an application running in production, and all you want to do is add some web services, you need to modify the source code, recompile, repackage, and redeploy. And you better get it right the first time. Because, if you want to add, modify, or delete any services, you need to go through the entire process again.
I've been thinking about this problem every since writing the book SOA Using Java Web Serivces [1]. How can we make Java Web Services easy?
Consider a Struts application being used for e-commerce. Say you want to web-service-enable it to support B2B integration. You've basically got to re-create the entire View-Controller part of the application to support web services interaction.
It shouldn't be this way. After all, the business logic and APIs that need to be exposed as web services are already encoded in the existing Action classes, ActionForms, and ActionMapping. You should simply be able to flip the ON switch and expose this existing infrastructure as a set of web services.
My new company, Proxisoft [2], was founded to solve this problem. We've just released our product - Netrifex [3]. Netrifex gives you the ON switch to add web services to applications quickly and easily.
Netrifex offers a new approach to enterprise web services. It is not a development tool for programming web services, but rather a management tool for adding services to existing applications - without any coding. At Proxisoft, we've developed technology (called bytecode mirroring), that automatically analyzes an existing Java application, generates services for it, and deploys them into a service layer. It all happens at run-time. You can even add services to applications while they are running in production. No coding, compiling, re-packaging, or re-deployment.
For more information, check out our press release [4].
Links:
[1] http://www.amazon.com/SOA-Using-Java-Web-Services/dp/0130449687
[2] http://proxisoft.com
[3] http://proxisoft.com/products.html
[4] http://proxisoft.com/about/press-releases/28-announce-netrifex.html