This article describes a project case study of delivering a custom portal solution for MPK Kraków – the main transport services provider in city of Cracow, Poland.
Apart from describing project genesis, system’s functionality and key benefits, it focuses on the role of WSO2-based integration platform in the system’s architecture.
Background information about MPK Cracow
Miejskie Przedsiębiorstwo Komunikacyjne S.A. w Krakowie – further referred to as MPK – is main public transport services provider in Cracow. The company is responsible for bus and tram transport in the city, organizing ticket distribution and fare control as well.
With more than 2200 regular employees, MPK is one of the largest transport companies in Poland.
IT system landscape at MPK comprises of multiple systems and applications, with several key ERP and domain systems acting as IT backbone, supporting main operations and business processes. Systems and applications are heterogeneous and are running on different platforms and databases.
The ERP platform used at MPK is an IFS system, while main core system for transport planning and dispatch domains was delivered by IVU Traffic Technologies AG.
Some systems and applications have been integrated with each other and exchange data – still, before the introduction of WSO2 during the project described below, there was no common integration platform or service bus in place.
The business case
MPK manages more than 2000 vehicle drivers (own employees + contractors), whose daily work requires access to up-to-date information about their duty and monthly schedule. Meanwhile, due to the specifics of their work and licensing aspects, drivers have no access to the MPK systems.
This limits the information available directly to the drivers as well as restricts their direct participation in many simple yet useful business processes. Direct supervisors – bus and tram depot managers – act as intermediaries here, with much information shared via bulletin boards and paper documents.
Issues described above were the main drivers for launching a project of development and delivery of the Information System for Vehicle Drivers (pol: System Informacji dla Prowadzących), further referred to as SIDP.
Key business goals were:
- Facilitating communication between MPK as employer (depot managers, planning inspectors, dispatchers, HR and other back-office employees) and employees (vehicle drivers).
- Providing a web platform accessible via Internet for sharing crucial information, as well as enabling selected business operations for vehicle drivers and related depot, planning and dispatch personnel.
Secondary goal, relevant to the IT at MPK, was to introduce a SOA based approach for systems integration, required for the new platform, as the first step towards broader “soa-fication” in the organization.
SIDP – project and platform description
Overall system’s architecture
The SIDP platform was designed as a portal solution, with independent portlets providing functionality to the end-users. Necessary data and services were exposed on the middleware platform in a uniform way (SOAP and REST services), virtualizing various technologies of underlying core systems and services.
As the platform was to be exposed via the Internet, additional proxy layer with HTTP server was used.
Role of WSO2 ESB and implemented services
The WSO2 platform is a central component of the system’s architecture. It performs roles of an abstraction, mediation and translation layer, acting as an intermediary between portal and core systems. Key feature sets of the Carbon platform are the WSO2 Data Services Server and the WSO2 Enterprise Service Bus. Services configuration is stored and managed in the local WSO2 registry.
Simplified system layers and components are depicted on schema below:
Data and functionality from core systems like SI-LOK, IVU and IFS, provided as database views or stored procedures, are exposed as uniform XML via data and proxy services. Services and their adequate operations correspond to the required data sets for the portal views, as well as API calls for invoking business operations with necessary parameters.
In some cases, data output from services is transformed (using XSLT) to the form more adequate for portlet needs. In other cases, proxy services encapsulate data processing logic with custom sequences.
One of the more complex components exposed on ESB is also acting as a notification service, processing notifications from the IFS system about new, changed or deleted employee information and orchestrating necessary changes in the portal and the dedicated mail server.
Another interesting service is an automated document publication service, which extracts attachments from email messages sent to a particular inbox and automatically publishes them in a document repository using the portal’s API.
Information and functionality exposed on the WSO2 service bus allows data provisioning for several custom-built portlets, that present relevant information for authenticated employees and allow them to perform particular business operations. These include:
- Up-to-date, confirmed daily duty, with detailed fare plan of the driver
- Current monthly employee schedule as well as yearly graph
- Announcements of managers, planers, dispatchers (integrated with document library)
- Basic HR employee data (holidays allowance, uniform provided, expiring licenses)
- Viewing and printing monthly pay slip, with appropriate notification in the HR system
- Request for change of planned uniform provisioning with adequate exchange rules
- E-mail communication adjusted to MPK needs
A screenshot demonstrating some of above functionalities is presented below:
The project and solution delivery was divided into two main stages:
During the first stage (Q4 2012 – Q1 2013) the SIDP platform was installed and configured (WSO2 ESB + Liferay Portal), alongside the first set of services, portlets and necessary user accounts setup. The portal was officially launched for the vehicle drivers in March 2013, providing information about duty, schedule, notifications, etc.
Second project stage (Q3-Q4 2013) expanded the portal functionality delivered some more advanced features, like requesting change of planned uniform provisioning with adequate exchange rules and access to monthly pay slip of the employee. The necessary set of services on ESB was also agreed upon and created.
Regarding the project staffing, a cross-functional team of 3-4 OPITZ consultants and developers participated in the project implementation. During the whole project lifecycle, MPK employees actively participated in project work, both on IT and subject domain levels.
A partially agile approach, bi-weekly status meetings involving all stakeholders, with prototype demonstrations as well as scoping, prioritizing and planning sessions – helped both OPITZ and MPK to drive the project forward, despite tight schedule and limited project budget.
Benefits and further development
The project allowed MPK to provision their employees with necessary information using modern and highly available (comparing to traditional ones) means of extranet platform. In the effect, communication between vehicle drivers and their supervisors became much easier and less error-prone, eliminating paperwork and many time consuming direct phone enquiries or updates.
Employees gained direct insight into information relevant for their daily work, including duty details and schedule, notifications, e-mail or electronic documents repository.
Current role and roadmap of WSO2 platform
From the IT perspective, MPK gained a common systems’ integration platform, based on WSO2 Enterprise Service Bus, with many reusable services available for further use. This enabled faster delivery of new business functionalities as well as helped with introducing common SOA standards, patterns and best practices.
Currently, the WSO2 platform is actively developed and used as middleware layer in other IT projects, acting as a central integration layer, where services and data from ERP/domain systems are exposed and provided in a standardized manner.
Taking other project needs into account, MPK considers expanding their WSO2-based integration platform with the WSO2 Business Process Server, in order to be able to implement and deploy process oriented solutions and services. The WSO2 Business Activity Monitor is also considered, as an event analysis platform for real-time KPI monitoring.