The purpose of this document is to introduce the XML-enablement features available to OpenEdge ABL developers. But, it is also important to take a moment to relate XML and the ABL XML-enablement features to the latest application development methodology called Service Oriented Architecture (SOA).
What is SOA? Any traditional application is likely to include discrete functions that solve particular, well-defined business problems. If such a discrete business function were encapsulated and made available over a network, it could be reused by other applications. Conceptually, this type of business function is called a service and the applications that use it are called clients. A Service Oriented Architecture, then, is an application development, deployment, and management infrastructure where the major functions of the application are delivered as services.
A service is most useful when it is widely available to all current and potential clients, and therefore SOAs are built on widely accepted and widely available industry standards. XML is one of those key standards. Not only is XML widely used in SOAs, some of the new standards for SOA development are built upon XML.
Some important uses of XML in SOAs, include:
Web services — A Web service is an application that can be accessed over the Internet using industry-standard protocols. To access this application, a client (Web service client) invokes operations that are described using Web Services Description Language (WSDL) and sent to the application using Simple Object Access Protocol (SOAP) over HTTP. WDSL and SOAP are defacto industry Web service standards built on XML. Configuration information for Web services also uses XML.
Messaging — Point-to-point and publish and subscribe messaging schemes can be part of an SOA in OpenEdge by using the Sonic ESB adapter. The Sonic messaging products provide this type of functionality by combining Java Servlet Engines with Java Messaging Services (JMS) for the exchange of information. The JMS messages are XML. In fact, XML is quiet a heavily used standard in the Java world in general.
Proxies — The OpenEdge Open Client Proxy Generator (ProxyGen) utility generates the Web service (client interface) definition in the form of a Web service mapping (WSM) file that is used during Web service deployment. WSM files are XML documents.
All of these facts serve to emphasize that XML is now (and will continue to be) an important tool for programmers. If you plan to move towards SOA applications, taking the time to learn XML and XML Schema is essential. This is true even though OpenEdge provides many time-saving tools, like ProxyGen, that mask your need to know or work directly with particular kinds of XML standards, like WSDL files.
A second point to make is that OpenEdge provides the functionality to allow ABL applications to be exposed as Web services and for ABL applications to consume Web services from other available application domains. The XML-enablement features of ABL enrich the possibilities for participating in SOAs by giving you the tools to perform direct and indirect manipulation of XML documents within ABL.