Web Services for indy
Wednesday, August 22, 2007 by AidZ
Web Services are self-contained modular applications that can be published and invoked over the Internet. Web Services provide well-defined interfaces that describe the services provided. Unlike Web server applications that generate Web pages for client browsers, Web Services are not designed for direct human interaction. Rather, they are accessed programmatically by client applications. Web Services are designed to allow a loose coupling between client and server. That is, server implementations do not require clients to use a specific platform or programming language. In addition to defining interfaces in a language-neutral fashion, they are designed to allow multiple communications mechanisms as well. Support for Web Services is designed to work using SOAP (Simple Object Access Protocol). SOAP is a standard lightweight protocol for exchanging information in a decentralized, distributed environment. It uses XML to encode remote procedure calls and typically uses HTTP as a communications protocol. For more information about SOAP, see the SOAP specification available at http://www.w3.org/TR/SOAP/ Web Service applications publish information on what interfaces are available and how to call them using a WSDL (Web Service Definition Language) document. On the server side, your application can publish a WSDL document that describes your Web Service. On the client side, a wizard or command-line utility can import a published WSDL document, providing you with the interface definitions and connection information you need. If you already have a WSDL document that describes the Web service you want to implement, you can generate the server-side code as well when importing the WSDL document. The components that support Web Services are available in all Delphi Professional bundles since version 6 and Kylix 3. Hence both Windows and Linux platforms are supported. But Delphi SOAP server side libraries are developed for interaction with Microsoft Internet Information Server (ISAPI), Netscape Information Server (NSAPI) or Apache. They are based on TWebApplication class that in addition does not support more instances in one executable. Hence it is not supported creating SOAP server application based on small custom HTTP server implemented using Indy components TIdHttpServer. Second disadvantage of Delphi SOAP libraries that is not supported secure HTTP communication (HTTPS protocol = HTTP + SSL) neither at server nor client side. Let’s demonstrate how to develop TWebApplication compliant class using Indy HTTP server and how to add HTTPS support.
read more....
read more....







