Financial Projects Reveal Web Services Secrets
As Wall Street proves to be an early adopter of Service-Oriented Architectures (SOAs), there are lessons that can be used by many developers. Gunjan Samtani tells IDN the key to successful web services is in maximizing assets and understanding data flow.
Developers in the financial sector are embracing a wide variety of Web Services projects, despite lingering concerns over the lack of standards and tools to support security and authentication.
Gunjan Samtani, VP information technology at UBS PaineWebber in New York City, has been working to define and implement such sensitive Web Services projects at his firm for more than a year. Samtani, who is also preparing a book on the subject for Wrox, offered IDN his view of "Developer Dos and Don'ts" on getting started with Web Services in the enterprise.
Best Developer Advise - See The Big Picture
Samtani's best advice is that developers take a broad view of their enterprise, and just how many different types of developers are accessing (in their own specific way) common data or applications. The more in-demand the data (or node), the better the prospects for a valuable Web Services project.
To underscore his best advice, Samtani uses an example from the financial sector. "Ninety-nine percent of the time, you will find companies writing to different APIs or writing completely different flavors of their authentication to support different applications," Samtani said. "If the same generic authentication services could be exposed through an API that all types of developers could use, that alone would create great Web Services benefits."
This ability of Web Services architectures to create a universally-accessible API, which supports multiple databases and applications, will be among the early adoption successes of web services. Samtani told IDN, "By definition, the Web Services being called or accessed will not have to know what's in back of the API. That's where all the productivity and scalability comes in."
"Developer Dos - Getting Started"
Samtani points out four key areas where developers can begin to execute early web services/integration projects:
1. Data Oriented Integration -- All the leading relational databases (Sybase, DB2, Oracle, and MS-SQL Server) already provide direct support for data transfer in an XML format. Developers don't need to build an intermediary application to pull the data from the data source and then format it in XML. Samtani said, "Web Services will be crucial in real-time data oriented integration. Web Services will help solve one of the most challenging tasks of data oriented integration - synchronizing the semantic discrepancies that exist in different data sources."
[Note: XML documents are verbose and do make the process a lot slower, however, there is no doubt that the choice of using Web Services should be based on the nature and volume of data.]
2. Method-Oriented (or Function) Integration - Adoption of Web Services by the leading enterprise applications (such as ERP, CRM, and SCM) mean that developers will soon have a full array of web services alternatives to traditional (hand coded) RPC and API integration, Samtani said. "RPCs and APIs offer a 'static solution' for function level integration, even if they use XML for client/server communication; where Web Services offer a 'dynamic' approach for integration, where the services can be discovered, bound to, and used dynamically," he said
3. Business Process Oriented Integration - When it comes to sharing business rules through the end-to-end route of a transaction, the features of Web Services resemble an EAI integration broker solution. "So," Samtani said, "until Web Services provide full transaction services, companies cannot stop using the EAI middleware frameworks." However, they can get started with Web Services to make use of existing infrastructure, and to take advantage of the resources they have invested in implementing any .NET and/or J2EE projects. Web Services provide a uniform, standards-based technique for exposing application functionality over the Internet or the corporate intranet.
4. Build a Central Repository -- Samtani also advises developer teams to build an "internal repository" for their web services. Such a repository publishes information that internal applications use to find information they may need about published Web Services. If each group and department starts maintaining their own repository, over time there will be several repositories within the company, making the publishing, discovering, and using of Web Services, what Samtani called "a painful and a time consuming process."
"Developer Don'ts - Proceed with Caution"
As a guide of what not to do, Samtani offers a list of projects that developers looking to experiment with web services should be very careful with -- or steer clear of entirely. They are applications that are: (1) heavily transaction oriented; (2) heavily session oriented; (3) using very secure data; or are based on (4) a mission critical business use service (web or legacy); long-running [multi-node, complex] transactions.
These projects are not advised, Samtani said, "because the technology, standards and tools that will enable a services-oriented architecture to enable them are still evolving."
Instead, Samtani suggests the best Web Service project ideas arise when developers "focus on the immediate needs of the business," rather than thinking of complex or ambitious projects that they could work on over a longer period of time. Samtani also suggests that point developers (those who work on specific applications or "silos," gain a broader understanding of their company's workflow and application architecture. "Web Services are most successful when lots of applications and machines can use them," Samtani said. The best way a developer can get a grip on how useful their Web Service will be, he said, will be to understand the business needs of his/her company, understand just what kinds of data and business logic are most in demand by company systems, then design appropriately.
To learn more, you can read a collection of Web Services whitepapers from Gunjan Samtani at Wrox' US-based website for web service whitepapers and information Web Services Architects.
Gunjan Samtani is divisional vice president for IT at UBS PaineWebber in New York, and is author of "B2B Integration - A Practical Guide to Collaborative Ecommerce" Samtani can be reached at firstname.lastname@example.org