AR System web services architecture
Information flows between AR System server and client applications for web services published in AR System server. Information also flows between AR System server and an external web service consumed by a AR System application.
Information flow for web services published in AR System server
When a client contacts a AR System web service, the interaction works as follows:
- The external client sends a Simple Object Access Protocol (SOAP) request to the Mid Tier. The URL for the service is built into the application, or the URL is obtained from the web services registry at run time.
- The Mid Tier extracts the web service name, the operation name, and the authentication information from the SOAP request packet. The Mid Tier retrieves the web service object corresponding to the web service name from the AR System server and searches the web service for details about the operation, such as the operation type (Get, Create, Set, or Service), the query string, and the input and output mappings. Then, the Mid Tier expands the XPATH expressions in the query string, extracts the XML document from the SOAP request packet, and sends the document to the AR System server along with the operation type, the input and output mappings, and the expanded query string.
- The AR System server parses the XML document using the mapping information and converts it into field data. The operation type determines how the AR System server treats the data:
- For Get, the server ignores the input fields.
- For Create, the server creates an entry with the input fields.
- For Set, the server searches for an entry using the expanded query string and then modifies the data using the input fields.
- For Service, the server sends the input fields to the Service Entry call.
For complex documents, the data is pushed into one or more forms. This action might trigger some filters.
- The AR System server uses the mapping information to get the data from one or more records and generate an XML document. The operation type determines how the AR System server treats the data:
- For Get, the server performs a query based on the query string.
- For Create, the server reads the record that was created.
- For Set, the server reads the record that was modified.
- For Service, the server reads the output fields from the Service Entry call. This action might also trigger some filters.
- The XML document is returned to the Mid Tier.
- The Mid Tier packages the XML document as a SOAP response and returns it to the external client.
Information flow for consuming a web service in AR System server
An external web service can be created on another AR System server, or it can be based in some other environment, such as one that provides stock quotes, weather information, or currency exchange rates.
AR System communicates with the web service through the Web Service plug-in, using the third-party web service server (Apache AXIS) installed with the Java plug-in server.
The flow for consuming a web service in AR System is as follows:
- A filter process triggers a Set Fields filter action that sets fields using data from a web service.
- The filter uses the mapping information stored on the server to construct an XML document with data from the base form and the child form (if any).
- The AR System server sends the XML document to the web service plug-in.
- The web service plug-in receives the XML document, packages it into a SOAP request packet, and calls the external web service.
- The external web service replies with the SOAP response packet.
- The web service filter plug-in extracts an XML document from the SOAP packet and returns it to the AR System server.
- The AR System server receives the XML document and uses the mapping information to parse the document and push data into the current record and any child forms.
- The Set Fields filter action is finished.