Ahmad Muzzamil Saad
Geomatics Unit (CGIS Project), IT & Business Solution Department
ICT Division, Tenaga Nasional Berhad, Malaysia
Tenaga Nasional Berhad (TNB) is the largest electricity utility company in Malaysia with estimated RM 71.4 billion worth in assets. TNB’s core businesses comprise of generation, transmission and distribution of electricity and also manage and operate Malaysia’s national grid.
As part of TNB’s drive to improve efficiency and reduce operational costs, TNB is looking into utilising information and communication technology (ICT) to support its business processes. One of the initiatives is to incorporate a geographic information system (GIS) to geo-reference all of TNB’s assets and networks.
Corporate Geospatial Information System or CGIS is a project that will materialise these initiatives. It will be implemented throughout the divisions namely, generation, transmission, distribution, planning, ICT and corporate services division. 50 functions were identified and chosen to be incorporated from existing business functions. CGIS Project will take 10 years to be fully completed nationwide across Malaysia (2009 -2018). During the first four years, the team will build the basic foundations of GIS in TNB. In conjunction with the CGIS implementation, TNB also identified that service oriented architecture (SOA) is the approach to be adopted to integrate existing applications or systems available in TNB with CGIS.
Service Oriented Architecture (SOA)
SOA is an architectural approach to address the problems of integrating different systems. SOA is about being able to connect systems in a way that minimises dependencies between the systems that encourages the services offered by a system to be used repeatedly by other systems or other business functions within an organization. It deals with the realities of integrating systems that have been developed at different times, with different motivations, on different platforms, for different sets of users, with different service levels and that now are on different maintenance, upgrade and budgetary cycles.
SOA works on ‘services’ concept. Services are shareable software modules for organising and processing information in support of a business process. It promotes a focus on business value and processes rather than underlying technology. SOAs are forward enabling and allow easier reuse of existing functionalities. It enables faster, low-cost, low-risk and platform-neutral system integration and development.
Basic technology of SOA
Web service is the most likely basic connection technology used in SOA. Web services provide a standardised means of dealing with integration where it essentially uses Extensible Markup Language (XML) to create a robust connection. However, web services do not define SOA, but the technology has become a common way to implement a service-oriented architecture.
SOA in Corporate Geospatial Information System (CGIS)
CGIS implementation in TNB is a complex implementation involving 6 divisions and 70 business functions identified to be GIS-enabled, out of which 50 business functions have further been short-listed to be implemented within the 10 years of project implementation. To provide end-to-end functionality, it requires interfacing to approximately 40 systems for various data. Through normal GIS implementations, as GIS functions are being developed, data and system interfacing requirements are identified and would later be developed to ensure its functionality. More often than not, these GIS functions would require the same sets of data from various systems or they would share the same set of data from the same system. However, as CGIS implementation would be by functions and spread across multiple implementations throughout 10 years, sometimes the same interface to one system for a particular function would require further changes to its configuration every time another GIS functions are being developed as the data or interface requirements require changes to support the new GIS functionality. This leads to two apparent disadvantages which are, slower development time and increased development complexity.
Figure 1. The End Game of SOA implementation in CGIS
These common pitfalls from a typical GIS application implementation can be overcome through SOA-enabled GIS implementation. Data from various external systems can either be exposed as a service itself or combined with data from other systems to develop another service ensuring reusability and flexibility of these services to be used for other GIS functions. These services can then be orchestrated into business process or can be used to complete a sub-process within the bigger and complex business process. Benefits of SOA in CGIS
One major advantage of SOA, as mentioned earlier, is that it allows multiple systems to connect in a way that minimises dependencies between the systems that encourages the services offered by a system to be used repeatedly by other systems or other business functions within TNB.
Also, another key benefit from SOA implementation is that since the data is wrapped and exposed as web services, any changes to the architecture or platform of the existing systems would not affect the service provided as long as the service is available and abide to the SOA governance structure. SOA enabled architecture would detect changes to schema and report/notify to the appropriate system administrators. Impact analysis is made easier because it is easy to identify the services that will break due to a change made to a data source.
Another main benefit of implementing SOA in TNB as part of CGIS implementation is that the service-oriented architecture can also be extended to other business units in TNB. All these business units can utilise any service exposed to them via web-services to perform their current business process or functions. This would help TNB move towards providing ‘utility of the future’ services.
Phases and Approach in Implementing SOA in CGIS
In implementing SOA in CGIS, a two phase approach has been adopted, as described below.
SOA Implementation Strategy Phase
The objective of the initial phase is to ensure that all the parameters of the project are clearly laid out, communicated and accepted by all stakeholders. It also ensures all related areas, dependencies and expectations are clarified and aligned to meet the objectives of this project. The activities carried out during this phase are briefly pointed out as follows:
- Preparation of implementation blueprint to outline the scope, approach and activities of implementing SOA architecture in the TNB environment.
a) The implementation blueprint is based on CGIS’s functional requirements derived from the “as is” processes.
b) The scope and priorities of implementation will be revisited once the CGIS application’s functional specification is confirmed after the “to be” processes are confirmed
- Defining the SOA integration guidelines, standards, security and architecture
- Installing the software for the SOA platform
SOA Implementation Phase
This phase commenced after the completion of the implementation strategy phase. It consists of the external design stage and implementation stage which are briefly described below. External design stage
- The stage commenced after the finalisation of the scope of work and implementation blueprint.
- It defined the SOA integration specification based on the requirements specified for the CGIS implementation.
- It modelled the processes that are required to orchestrate the integration requirements of the CGIS application.
- The SOA integration specification will be defined through a series of user workshops, which is referred to as joint application design (JAD) sessions.
- Once the specifications are visualised and defined, the solution components are consolidated to form an SOA integration specification document. Implementation stage
- Internal Design – This includes technical design and modelling of the enterprise service bus (ESB) and business process monitoring (BPM) integration components. These will be documented as the ESB & BPM technical specifications.
– The stage involves working with participating application implementers to synchronise and ensure that the integration specifications are understood and well-defined.
- Configuration and Development – This involves configuring the ESB and BPM to develop components to implement the services, processes and integration points.
– In this stage, string and unit testing will be conducted with participating applications before moving to testing stage.
- Testing – System integration testing will be conducted before an end-to-end user acceptance testing starts.
- Rollout – Rollout exercise includes preparing the production environment, briefing for ESB & BPM administration and operational readiness. The briefing will be guided using the ESB & System Operation Guide (SOP).
Figure 2. Phases and Approach in Implementing SOA in CGIS
SOA solution for CGIS
In implementing SOA as an integration solution for CGIS, TNB chose Oracle SOA Suite as the enabling technology, by utilising the three major components of the suite: Oracle Service Bus (OSB), Oracle Service Registry (OSR) and Oracle Business Process Monitoring (BPM). These are described below briefly:
Oracle Service Bus (OSB): It provides means to manage connections, control the communication between services and act as communication backbone for transport and routing of messages across an enterprise.
Oracle Service Registry (OSR): This provides a centralised catalog of available services, processes and SOA related resources to applications, technical users and business users.
Business Process Monitoring (BPM): This models the processes that are required to orchestrate the integration requirements of the CGIS application.
Challenges in SOA implementation in CGIS
Service-oriented architecture changes the way we perceive system integration, especially when organisations are used to direct or point to point integration approach. This is quite true especially in TNB, since the adoption of SOA in CGIS can be considered as a pilot project or a stepping stone in implementing SOA throughout the enterprise. Due to this, the implementation faced several major challenges.
The most apparent challenge is in managing and dealing with the owners and developers of the existing systems that are required to be integrated or resources shared with CGIS. As mentioned earlier, SOA adoption in TNB is quite new; hence the level of awareness and understanding of SOA is very minimal. This leads to confusion and questions during the external design or pre-implementation stage and therefore prolongs the duration of finalising the system integration specification. However, this problem only occurred in the early stages of the project. To overcome this, an SOA overview session was conducted to all stakeholders prior to the pre-implementation stage.
In addition, the absence of SOA governance and enforcement also contributed to several issues and problems in the implementation and post-implementation stage. Classic example of this scenario is asset information; CGIS derives parts of asset information and attributes from ERP system via a data mapping exercise conducted prior to developing a service for this. Problems arise when some attributes are found missing in CGIS due to changes in the data model in the originating system and the CGIS developer is not aware of these changes. This happens as a result of the absence of clear policy and procedures regarding changes in SOA environment. It goes back to the lack of awareness and understanding on SOA and how to manage it. This scenario can be avoided if there is a governing body to monitor this from an enterprise level. As a mitigation action, an SOA Governance (SOAG) Unit was established at the enterprise level to assist CGIS in the current implementation and also as a preparation for enterprise wide SOA implementation in the future. Alongside with the establishment of the SOAG unit, a workgroup called Application and Technical Workgroup (ATWG) was also established to discuss such issues and any other technical issues. This workgroup consists of stakeholders like enterprise architects and technical experts from various existing systems and also infrastructure and network experts.
The adoption of SOA contributes significantly in making CGIS implementation in TNB a success. Furthermore, through an integrated enterprise system, SOA not only serves the functionalities of CGIS but also allow any other enterprise system to share and use the same resources or services for their functionalities.
- Ten-Year GIS Master Plan Study (2008), Tenaga Nasional Berhad, Malaysia.
- CGIS SOA Integration Guidelines, Standards, Security and Architecture (2010), Tenaga Nasional Berhad, Malaysia