Why Web Services ?
Overview
Component-based programming is more popular than ever.
Almost no application is built today and
does not involve the use of some form of the component,
usually from a different vendor. As applications become more complex, the need
to utilize components distributed across remote machines is growing.
An example of a component-based application is an end-to-end
e-commerce solution. An e-commerce application residing on a web farm needs to
submit an order to a back-end enterprise resource planning (ERP) application.
In many cases, ERP applications reside on different hardware and may run on
different operating systems.
The Microsoft Distributed Component Object Model (DCOM) is a
distributed object infrastructure that allows applications to invoke Component
Object Model (COM) components installed on another server and has been ported
to many non-Windows platforms. But DCOM has never been widely recognized on
these platforms and is rarely used to facilitate communication between Windows
and non-Windows computers. ERP software vendors often create components for the
Windows platform to communicate with back-end systems through proprietary
protocols.
Some of the services utilized by e-commerce applications may
not be in the data center at all. For example, if an e-commerce application
accepts a credit card payment for a product purchased by a customer, it must
take the merchant bank's service to process the customer's credit card
information. But for all practical purposes, DCOM and related technologies
(such as CORBA and Java RMI) are limited to applications and components
installed in enterprise data centers. The two main reasons for doing this are
that by default these technologies utilize proprietary protocols and that these
protocols are essentially connection oriented.
Clients that communicate with servers over the Internet face
many potential obstacles to communicating with servers. Security-aware network
administrators around the world have implemented enterprise routers and
firewalls that allow almost no type of communication over the Internet. It is
often necessary for God's behavior to allow network administrators to open
ports that are beyond the minimum.
If you are fortunate enough to have the network
administrator open the appropriate port to support your service, your customers
are probably not so lucky. Therefore, the proprietary
protocols used by DCOM, CORBA, and Java RMI are not practical for Internet
solutions.
As I said, another problem with using these technologies is
that they are connection-oriented in nature and therefore cannot handle network
interruption gracefully. Since the Internet is not under your direct control,
you cannot make any assumptions about the quality or reliability of the
connection. If a network outage occurs, the client's next call to the server
may fail.
The connection-oriented nature of these technologies also
makes it challenging to build a load-balanced infrastructure necessary to
achieve high scalability. Once the connection between the client and server is
broken, you cannot simply route the next request to another server.
Developers try to overcome these limitations by exploiting a
model called stateless programming, but their success is limited because these
techniques are quite cumbersome and make rebuilding connections to remote
objects expensive.
Because the processing of customer credit cards is done by
remote servers on the Internet, DCOM is not ideal for facilitating
communication between e-commerce clients and credit card processing servers. As
with ERP solutions, third-party components are typically installed in the
client's data center (in this case, by a credit card processing solution
provider). This component is only used as a proxy to facilitate communication
between e-commerce software and merchant banks through proprietary protocols.
Do you see a pattern here? Due to the limitations of prior
art in facilitating communication between computer systems, software vendors
often employ their own infrastructure. This means that resources that can be
used to add improved functionality to an ERP system or credit card processing
system have been specifically written for proprietary network protocols.
To better support such Internet solutions, Microsoft
initially adopted a strategy to enhance its existing technology, including COM
Internet Services (CIS), which allows you to establish a DCOM connection
between the client and remote components over port 80. The reason is that CIS
is not widely accepted.
Contact Us for more detail

Comments
Post a Comment