7How the Connector Retrieves Geocodes

How the Connector Retrieves Geocodes

This chapter describes how the connector retrieves geocodes for a single address or for multiple addresses. It includes the following topics:

Overview of How the Connector Retrieves Geocodes

To retrieve geocodes, the connector uses the following composites:

  • Real-time. Siebel Field Service integration uses this flow to retrieve a geocode for a single address record, which typically occurs when a customer service representative (CSR) creates a new address record. Siebel CRM sends the address details to the ORS Geocode Server through the Oracle Fusion Middleware. Siebel Field Service Integration to Oracle Real-Time Scheduler sends a reply to Siebel CRM that includes a list of matching geocoded addresses. The user can choose one of the records.

  • Batch mode. Siebel Field Service integration uses this flow to retrieve geocodes for multiple addresses, which typically occurs during initial setup when you must retrieve geocodes for a large number of addresses. Batch mode is an asynchronous flow. It uses the Oracle Fusion Middleware database adapter to directly update geocodes in the Siebel database.

For more information, see Integration Services

Integration Flows That Retrieve Geocodes

This topic describes integration flows that retrieve geocodes. It includes the following topics:

For more information, see Integration Services

    Integration Flow That Retrieves a Geocode for a Single Address in Real-Time

    Siebel Field Service integration retrieves a geocode for a single address in real-time when it must send a geocode query for a particular address.

    The following illustrates the integration flow to retrieve a geocode for a single address in real-time. This flow uses Simple Object Access Protocol (SOAP) over Hypertext Transfer Protocol (HTTP) for all interactions with Siebel CRM and Oracle Real-Time Scheduler.

    Integration Flow That Retrieves a Geocode for a Single Address in Real-Time. This image is described in the surrounding text.

      Explanation of Callouts

      The integration flow that retrieves a geocode for a single address in real-time includes the following steps:

      1. The Business Process Execution Language (BPEL) process transforms an input address to fit the specifications that the M1-GeocodeAddress ORS Web service operation requires.

      2. The BPEL flow calls the ORS Web service and then receives the reply. The reply can contain zero, one, or more geocodes depending on the granularity and accuracy of the address.

      3. The BPEL flow sends the geocodes it receives as a reply to the Web service call. The BPEL flow does not attempt to directly update the Siebel database record with the geocodes.

      This integration uses the RealtimeSingleAddressGeoCoding project to retrieve a geocode for a single address in real-time.

        WSDL That Retrieves a Geocode for a Single Address in Real-Time

        This integration uses the RealTimeGEOCoding Web Service Definition Language (WSDL) operation to retrieve a geocode for a single address in real-time. For more information, see Integration Services

          How Siebel CRM Makes Sure Addresses Are Compatible

          Some countries use address formats that include districts, provinces, counties, and so forth. To make these addresses compatible with the address format in Oracle Real-Time Scheduler, the BPEL process performs the following mappings before it calls the Oracle Real-Time Scheduler geocode Web service:

          • Maps county to state

          • Maps province to state

          • Maps district to city

          • Maps metro area to city

            Integration Flow That Retrieves Geocodes for Multiple Addresses

            The following illustrates the integration flow that retrieves geocodes for multiple addresses.

            Integration Flow That Retrieves Geocodes for Multiple Addresses. This image is described in the surrounding text.

              Explanation of Callouts

              The integration flow that retrieves geocodes for multiple addresses includes the following steps:

              1. In Siebel CRM, the user queries for the addresses for which this integration must retrieve geocodes, and then clicks Bulk Geocode.

              2. Siebel CRM changes the value in the Geocode Sync Description field of the address record to Geocoding In Progress.

              3. Siebel CRM calls the BatchGeoCode method of the BatchGeoService Web service in Oracle Fusion Middleware. It uses Geocoding In Progress as the input.

              4. A database adapter in the BPEL flow retrieves all the address records in the Siebel address table that contain Geocoding In Progress in the Geocode Sync Description field.

              5. The BPEL flow reads the batch message and then parses the batch message into individual address messages so that it can retrieve a geocode for each individual address.

                To retrieve a geocode for a single address, the Bulk Geocoding BPEL process calls the real-time geocode BPEL flow for each address. For more information, see Integration Flow That Retrieves a Geocode for a Single Address in Real-Time.

              6. If Oracle Real-Time Scheduler returns only a single set of geocodes, then the BPEL process uses the database adapter to add the latitude and longitude values to the address table in the Siebel database.

              7. If Oracle Real-Time Scheduler returns multiple geocodes or no geocode, then the database adapter inserts an error message in the error column of the address table in the Siebel database.

                WSDL That Retrieves Geocodes for Multiple Addresses

                To retrieve geocodes for multiple addresses, Siebel CRM uses the BatchGeoCode WSDL operation. For more information, see Integration Services

                  Web Services That Retrieve Geocodes for a Single Address

                  This topic describes the Siebel Web services that retrieve geocodes for a single address.

                    Outbound Web Services That Retrieve Geocodes for a Single Address

                    Web Service Name Proxy Business Service Name

                    BatchGeoService

                    BatchGeoCode_port

                    RealTimeService

                    RealTimeGEO

                    The Data Type property is Integration Object for all method arguments of the BatchGeoCode Web service that retrieves geocodes for a single address.

                    Name Integration Object Name Type

                    Batch_Geocode_Query:request

                    SearchSpec

                    Input

                    Name Integration Object Name Type

                    RTGEOCODING_IN:parameters

                    SWIAddressIO

                    Input

                    RTGEOCODING_OUT:parameters

                    ListOfSwiaddressio

                    Output

                      Integration Objects That Retrieve Geocodes for a Single Address

                      Integration Object Name Business Object Type

                      SWIAddressIO

                      CUT Address

                      Siebel Business Object

                      ListOfSwiaddressio

                      Not applicable

                      XML

                      SearchSpec

                      Not applicable

                      XML

                      Integration Component Business Component Parent Integration Component

                      CUT Address

                      CUT Address

                      Not applicable

                      Integration Component Business Component Parent Integration Component

                      ListOfSwiaddressio

                      ListOfSwiaddressio

                      Not applicable

                      CutAddress

                      CutAddress

                      ListOfSwiaddressio

                      Integration Component Business Component Parent Integration Component

                      SearchSpec

                      SearchSpec

                      Not applicable