As the CTO of a technology integrator, I help customers derive
tangible business value from technology
solutions. Web services holds a lot of promise in this regard. After
shedding some light on what's new about Web services, this article
will present our view on the .NET versus J2EE
debate and highlight areas where our customers are recognizing
business value today with Web services technologies.
What's Really New Here?
Web services is a new approach to architecting and using software -
the most recent in a long line of software paradigms that promised to
make it easier to construct, connect, and reuse software systems. The
predecessors to Web services included such technologies as structured
programming, object-oriented programming, binary component standards
like COM/DCOM and CORBA/ IIOP, EAI middleware, and others. Each of
these approaches tried to address some of the pains of software
development, and each enjoyed varying degrees of success.
Web services builds on the technologies and learnings of its
predecessors, adding the concept of software as a service, the use
of standard technologies (XML, SOAP, and WSDL), and the use of the
Internet as the delivery vehicle for software. These three factors
are what's new, and their combination is what positions Web services
to have a breakthrough impact on software development.
Focus on Business Capability
The service concept of Web services can potentially close the gap
between business people and technology people. A software service
that performs a well-defined business function is more easily
understood by a business person than the mishmash of applications,
databases, and Web sites that might be used to provide that function.
Business people can talk about the cost, sourcing, and exploitation
of Web services in terms that are meaningful to them.
Web services can be combined to implement complex business workflows
and create business value chains and can also be discovered
dynamically through UDDI registries. This aspect of Web services is
probably the furthest out on the timeline, but it's tremendously
powerful as a vision to build value chains based on changing business
circumstances. For example, if a company's supplier were unable to
provide parts required to fulfill a big order, the company could
dynamically search for other suppliers to meet that need and
electronically connect with them to complete the transaction.
Practical Approach to Reusing Software
Web services provides a practical approach to software reuse compared
to the somewhat unwieldy component technologies of the past. Web
services standards are broadly available on most computing platforms,
which allows for maximum reuse of existing software investments since
almost any legacy code can be wrapped as a Web service.
Web services can also be consumed by end users or other Web services
to form a chain of services, and they can operate through firewalls,
which makes it possible to implement business workflows that leverage
existing code across organizational boundaries. And because Web
services can be placed in UDDI directories, organizations will
eventually have a broader base of candidates when making software
"buy-versus-build" decisions.
Potentially Unlimited Reach
Through the use of a simple URL, you can invoke a Web service
anywhere in the world. With the explosion of IP-enabled mobile
devices, Web services will have the potential to reach billions of
devices and enable an unlimited set of work and personal computing
scenarios. This would not have been possible without the Internet and
the use of standards like XML.
Still Version 1 Technology
With all its potential, Web services is still in the very early
stages of technical maturity and customer adoption. Web services
today can address many EAI scenarios but aren't yet ready to natively
support real-time, reliable, high-security business transactions.
Also, most customers aren't properly equipped with the IT
capabilities to develop, deploy, and operate Web services. There are
several standards organizations actively working on enhancing XML and
SOAP specifications, and technology vendors have announced aggressive
roadmaps to support Web services. The success of Web services will be
based on the success of these efforts as well as the ability to
maintain use of standard technologies while adding new capabilities.
On the business side, Web services depends on the network effect - in
other words, the value proposition increases geometrically based on
the number of organizations that standardize on XML formats and
deploy reusable Web services.
The .NET vs J2EE Debate
As organizations evaluate this new approach, the debate around choice
of vendors, platforms, and tools is sure to arise. While Web services
operate across multiple platforms and vendor products, individual
project teams will tend to pick a preferred solution stack for their
software development. Usually, this leads to the .NET versus J2EE
debate, with Microsoft as the .NET provider and vendors such as IBM,
Sun, Oracle, and BEA in the J2EE camp.
In order to implement Web services, organizations should consider the
programming model, software product offerings, and preexisting Web
services provided by the different vendors. The .NET and J2EE
programming models generate a lot of discussion, but the real dollars
are spent on software products that provide capabilities like
databases, portals, e-commerce, caching, content management, etc.
While most vendors have comprehensive software offerings, Avanade's
experience has been that the .NET Enterprise Servers from Microsoft
provide equivalent or better capabilities at a fraction of the cost
of competing offerings. A number of independently conducted
benchmarks demonstrate this as well (www.tpc.org). Microsoft also has
existing services that can be leveraged as building blocks of Web
services.
On the programming model topic, Microsoft's .NET offers more
programming languages and has the best developer tools. It runs only
on the Windows operating system and achieves scalability through
multiple high-end hardware providers. J2EE offers a wide range of
operating systems and hardware but is limited to Java, and the
developer tools aren't as rich.
In our experience in examining the total solution stack, J2EE doesn't
provide much portability over .NET. This is because different J2EE
application servers have proprietary features that don't translate
universally and aren't available across all the operating systems
that support the Java language.
We've also found that the ASP.NET technology has a particularly
strong value proposition for improving Web site
performance and developer productivity. Some benchmark numbers
comparing .NET with J2EE are available at www.gotdotnet.com/team/compare/veritest.aspx.
In summary, both J2EE and .NET can support implementation of Web
services in the enterprise. .NET has a compelling value proposition,
and organizations should consider it for new projects.
Where Are Customers Seeing Value?
We've helped many customers recognize value from Web services
technologies. To date, this has been in the areas of implementing
intracompany and intercompany workflows in an effective and efficient
manner, managing cost of ownership of legacy systems, and reducing
time-to-market for new business functions through use of a
Web-services middleware layer.
i-Deal (www.i-deal.com) is a company that automates the process of
raising capital in the global fixed income and equity markets. Their
business platform is designed to increase the speed and efficiency of
this complex, multiparty business process. Avanade worked with i-Deal
to architect and implement their Web-based offering in less than six
months. Using XML and .NET technologies, i-Deal was able to securely
and reliably implement their service without needing to worry about
the technical details of all the external systems they need to
connect with.
We've also leveraged our application integration expertise and
solution assets to successfully design, build, and deploy workflows
that connect our customers' enterprise applications to other internal
and external applications. The ability to deliver personalized and
dynamic information from these workflows to front ends like
enterprise portals and Microsoft Office has a significant benefit for
employee productivity.
At the Australian government Department of Employment and Workplace
Relations (DEWR), www.dewrsb.gov.au, we helped develop Web services
that integrate and aggregate information about job seekers and job
opportunities. This information resides in multiple mainframe
applications and is made available through a Web service to
authorized users of the department and to other public- and
private-sector organizations. These services are registered in
http://uddi.microsoft.com
and allow users and applications to submit or query for job openings.
With a Web services abstraction layer, DEWR can now provision new
business capabilities more quickly and economically than they would
have been able to with just the mainframe environment. They can also
reach a much broader audience through the use of UDDI-advertised Web
services.
Conclusion
Web services provides a compelling value proposition to IT
departments and has tremendous potential to become a technology with
breakthrough business impact. Web services allows organizations to
reassess their approach to software development and make strategic
decisions on sourcing and partnerships. Web services products and
proof points have started to emerge this year, but it will take a
good 12-18 months before they prove themselves in the marketplace.
Organizations should be aggressive in evaluating Web services
solutions, but pragmatic in adoption to ensure positive ROI with
every step.
Author Bio
Ashish Kumar is the CTO of Avanade, Inc.,
a technology integrator focused on delivering solutions based on the
Microsoft enterprise platform. Avanade's customers include Global
2000 companies and emerging market-makers seeking solutions for
technology infrastructure and enterprise application development.
Ashishk@avanade.com
All Rights Reserved
Copyright © 2004 SYS-CON Media, Inc.
E-mail:
info@sys-con.com