Search
Close this search box.
Search
Close this search box.
favicon
Search
Close this search box.
Importance of Middleware

The Importance of Middleware in Integrating CIS and GIS Systems

Follow Us:

Author Name:
Jaya Krishna Tummala

Integrating Customer Information Systems (CIS) with Geographic Information Systems (GIS) is crucial, as both are Tier 1 applications. CIS serves as the core for customer and billing management, while GIS is essential for infrastructure management. Middleware functions as a vital layer that enables communication and data exchange between these diverse systems, playing a key role in data transformation, protocol mediation, message routing, and transaction management to ensure seamless integration.

This article will delve into the significance of middleware in bridging the gap between CIS and GIS, along with a practical demonstration of its implementation using Python.

Understanding CIS and GIS Integration

CIS systems maintain critical customer-related data, including billing information, service requests, and account details. GIS systems manage spatial data related to infrastructure assets such as substations and service lines. Integrating these systems allows utilities to visualize customer information spatially, optimize field operations, and enhance asset management. However, differences in data formats, protocols, and architectures pose significant challenges to achieving seamless integration.

For instance, when a new service point is created in the CIS, automated processes enable its representation in the GIS. Continuous data flows between the systems depend on updates regarding field activities, such as technician progress (e.g., acknowledgment of field activity, arrival at the facility, meter installation). Using latitude and longitude data, the GIS can automatically depict the service point and service line, with middleware facilitating this process.

The Role of Middleware

Middleware acts as a bridge, enabling communication and interoperability between CIS and GIS systems. It orchestrates various functions, including:

  1. Maintaining Compatibility and Data Integrity: Ensuring data consistency across systems.
  2. Secure and Efficient Data Routing: Directing data to appropriate destinations safely.
  3. Protocol Mediation: Bridging communication gaps by translating messages between the protocols and standards used by CIS and GIS systems.
  4. Transaction Integrity: Managing the integrity of transactions during data exchanges.

Best Practices for ESB Solution Design

A best practice for designing an ESB solution is to utilize the IBM Integration Bus (IIB). Selecting the appropriate topology—whether physical or logical—for organizing IIB nodes, servers, endpoints, and message flows is critical. Factors such as network latency, load balancing, fault tolerance, redundancy, and modularity should be carefully considered in the design.

To optimize performance, minimize the number of nodes and transformations in your message flows, and use caching and aggregation to reduce external calls. When tuning the configuration, adjust the heap size, thread pool size, and garbage collection policies for your IIB nodes, as well as properties such as transaction mode, audit level, and trace level.

Sample Automation representations in GIS for the information coming from CIS system

Streetlight

Sample steps according to ERCOT for GB – New Service Gang Base Installation: Workflow

  • Locate Gang Base Service Line – AEGIS using Data Tool
  • Create a SMLCOM Premise – CC&B 
  • Create a Service Point for the Premise
  • Drop a 814_03 MVI transaction
  • 814_03 Status Permit Required
  • Enter Inspection details in Premise Characteristics
  • ARATE WR is created and 814_03 MVI is created – CC&B 
  • Dispatch the Event to Mobile Unit
  • Look for meter # from Maximo
  • Complete the Job in MobileTC with GB service info code and Structure FLN-X and FLN-Y
  • Verify Work Request completion – CC&B
  • AEGIS Service Line and Service Point updated with ESI Location
  • WMIS serv_gl table updated with transaction
  • FIM extract updated with transaction

Sample code for implementation of middleware for CIS-GIS integration using ESB architecture.

SELECT GEO.PREM_ID,PREM.ADDRESS1, PREM.POSTAL, PREM.CITY, PREM.PREM_TYPE_CD,PREM.COUTY,PREM.IN_CITY_LIMIT,

PREM_CHAR.SRCH_CHAR_VAL, PREM_CHAR.CHAR_TYPE_CD, ESI.CM_ESI_STATUS, SP. SP_TYPE_CD

FROM CISADM.CM_ESI_ID ESI

JOIN CISADM.CI_PREM_GEO GEO

ON GEO.GEO_VAL=ESI.CM_ESI_LOC

JOIN CISADM.CI_PREM PREM

ON PREM.PREM_ID=GEO.PREM_ID

JOIN CISADM.CI_SP SP

        ON SP. PREM_ID=PREM.PREM_ID

JOIN CISADM.CI_PREM_CHAR PREM_CHAR

        ON PREM_CHAR.PREMISE_ID=PREM.PREMISE_ID

WHERE GEO.GEO_CD= ‘ESI_LOC’

Sample logic for service line install process

If the Service Point was not found then a Service Point will be created. Find the facility that the Service Line will connect to by calling GetConnectingFacility.

If there are errors locating the connecting facility

Return the Message and Status received from GetConnectingFacility and exit the method.

Else

If the Meter Geocode tolerance is not overridden (g_Meter_Tolerance_Override = 0)

Validate that the meter geocode location is at a valid location by calling CheckMeterGeocodeLocation

If there are errors validating the meter geocode location

Return the Message and Status received from CheckMeterGeocodeLocation and exit the method.

Else

Create the Service Point feature by calling AddServicePoint

If there are errors creating the Service Point

Return the Message and Status received from AddServicePoint and exit the method.

Else

Create the Premise record for the Service Point by calling AddPremise

If there are errors creating the Premise record

Return the Message and Status received from AddPremise and exit the method.

Else

If not Customer Owned services (CU contains ‘CUSTOMER’)

Create the Service Line by calling AddServiceLine

If there are errors creating the Service Line

Return the Message and Status received from AddServiceLine and exit the method.

Establish the connectivity relationships by calling EstablishConnectivity

If there are errors establishing the connectivity relationships

Return the Message and Status received from EstablishConnectivity and exit the method.

Else

Set the ownership of the Service Line to the located Structure

Complete the processing by calling UpdateTransaction passing the following information:

  • Message: ‘Service placed’
  • Status: ‘COMPLETED’

Set Status = ‘Success’

Exit the method

Conclusion

In conclusion middleware facilitation of CIS-GIS integration helps the utilities to harness the full potential of their systems. By implementing middleware solutions, utilities can streamline operations, improve decision-making, and enhance customer service. However, it’s essential to tailor middleware implementations to specific requirements and ensure robustness, scalability, and security in the integration process. With middleware as a cornerstone, utilities can navigate the complexities of CIS-GIS integration with confidence, driving efficiency and innovation in utility management.

About Author

Jaya Krishna Tummala is a highly respected leader with an exceptional track record across business analysis, test management, cloud engineering, and Agile-Scrum. With extensive experience in cutting-edge software solutions and product development, he has demonstrated outstanding leadership in a variety of industries and at renowned organizations. His contributions have consistently yielded remarkable results, establishing him as a true pioneer in the field.

Also Read: Why Should Startups Outsource Software Development?

Picture of TEM

TEM

The Educational landscape is changing dynamically. The new generation of students thus faces the daunting task to choose an institution that would guide them towards a lucrative career.

Subscribe To Our Newsletter

And never miss any updates, because every opportunity matters.
Scroll to Top

Thank You for Choosing this Plan

Fill this form and our team will contact you.