Some Issues related to web services are:
Component-based programming has become more popular for
example end-to-end e-commerce solution residing on a Web farm needs to submit
orders to a back-end Enterprise Resource Planning (ERP) application that
resides on different hardware and might run on a different operating system.
The Microsoft Distributed Component Object Model (DCOM), a distributed object infrastructure that allows an application to invoke Component Object Model (COM) components installed on another server, has been ported to a number of non-Windows platforms. But DCOM has never gained wide acceptance on these platforms, so it is rarely used to facilitate communication between Windows and non-Windows computers. ERP software vendors often create components for the Windows platform that communicate with the back-end system via a proprietary protocol.
Some services related to application for example, if the
e-commerce application accepts credit card payment for goods purchased by the
customer, it must elicit the services of the merchant bank 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 within the corporate datacenter. Two primary reasons for this are that by default these technologies leverage proprietary protocols and these protocols are inherently connection oriented.
- Interoperability: The remote service must be able to be consumed by clients on other platforms.
- Internet friendliness The solution should work well for supporting clients that access the remote service from the Internet.
- Strongly typed interfaces: There should be no ambiguity about the type of data sent to and received from a remote service.
- Support for any language: Support for any distributed component infrastructure: The solution should not be tightly coupled to a particular component infrastructure. In fact, you shouldn't be required to purchase, install, or maintain a distributed object infrastructure just to build a new remote service or consume an existing service. The underlying protocols should facilitate a base level of communication between existing distributed object infrastructures such as DCOM and CORBA.