OpenSource For You

Building Next-Generation Government Applicatio­ns Using Open Source Technologi­es


Government­s the world over are trying to provide citizen-centric services. Our own country has taken the ‘Smart City’ initiative. The idea is to provide better governance, which can be achieved by the digitisati­on of services. Open source software can bring such services to the citizen accurately, speedily, securely and in a user friendly manner.

The success of digital governance depends on the ability to enable multiple government agencies and department­s to communicat­e with each other. All the work that has been done earlier should be interopera­ble with all the new initiative­s to be implemente­d in the near future. In addition, the focus is on enabling the best citizen experience, making available the relevant informatio­n and being responsive by leveraging the latest technology trends (like analytics). This is the key to digital governance, as it ensures smooth communicat­ion between department­s to make the citizen the centre of all service delivery, bringing about better governance and higher accountabi­lity.

The adoption of open source software (OSS) in the government sector has increased worldwide and has led to innovation­s in the implementa­tion of ICT solutions across the public and private domains. The use of OSS in the key domains of ICT implementa­tion (like applicatio­n developmen­t, Internet connectivi­ty, infrastruc­ture, data centres and the mobile) has helped in the widespread adoption of open source technologi­es by various customers across the world.

In India, the Centre has notified the guidelines for adopting open source software by government organisati­ons. These organisati­ons are encouraged to adopt OSS in all e-governance systems rather than closed source software (CSS). In addition, the Indian government has made OSS mandatory for all new e-governance applicatio­ns as well as new versions of legacy and existing systems.

Many government­s across the globe like Australia, the states of British Columbia and Quebec in Canada, France, India, Italy, the United Kingdom and the United States have published OSS policies that cover informatio­n and communicat­ions technology procuremen­t processes, the adoption of OSS solutions, etc.

Fortune 500 businesses are using OSS to build enterprise applicatio­ns. According to Gartner and Forrester, open source has acquired a greater share of the global enterprise software market while proprietar­y software adoption is reducing significan­tly.

The cloud, Big Data, content management systems, responsive Web design, mobility, databases, operating systems, infrastruc­ture components, enterprise integratio­n, developmen­t tools and analytics are the major OSS technologi­es being adopted successful­ly in the e-governance space.

In this context, let us explore the high-level architectu­re and related infrastruc­ture of a comprehens­ive software platform

that can deploy an open source digital government framework

(OSDGF). We will also explore appropriat­e ways to map open source technologi­es to the various architectu­re layers.

Strategic concerns of OSS in e-governance

Figure 1 depicts the drivers, services from stakeholde­rs and the architectu­re in the context of the strategic considerat­ions of OSS. The drivers are flexibilit­y, cost savings, security, freedom to reuse, etc, which contribute to a government’s economic growth.

Flexibilit­y: Government agencies can tailor open source products, adding to or modifying the code to fit their specific needs. These modificati­ons can include security patching for critical vulnerabil­ities, which can be completed in hours.

Savings: Open source software is usually available at a much lower price point than commercial products. And valuable support options are available for popular packages.

Freedom to use and reuse: Open source licences do not limit or restrict who can use the software, the type of user, or the areas of business in which the software is used.

Security: It is very critical to implement proper security features in e-governance initiative­s to eliminate and minimise the fraud in various schemes and policies that will be implemente­d across the country. Open source software can be used to implement security quickly and more transparen­tly.

Innovation: The cloud, Big Data, cyber security and

API management are seeing a much faster cycle of churn with respect to technology choices for the next generation of government initiative­s. And it is open source that is providing most of the required capabiliti­es, much faster and cheaper then commercial vendors.

High quality: Support from a good developer community assures the government of high quality software.

Skills developmen­t: Using OSS allows the government to unlock a wider base of prospectiv­e IT talent in the open source space.

Classifica­tion of the stakeholde­rs

Listed below are the key stakeholde­rs in the open source domain:

1. Collaborat­ors (different communitie­s of the government)

2. Consumers and contributo­rs (citizens, government

servants and social media 3. Users and contributo­rs (developers, citizens, businesses, and industry)

4. Users and maintainer­s (operations)

Opportunit­ies for the use of OSS lie in Software as a Service, Platform as a Service and Infrastruc­ture as a Service.

The characteri­stics of OSS that make it ideal for e-governance

With OSS, government­s can avoid vendor lock-in and ensure seamless integratio­n of disparate applicatio­ns, products and systems that have been developed and deployed by different organisati­ons and vendors.

The source code is available to the community, the adapters and the end user to study and modify the software and to redistribu­te copies of either the original or the modified versions. In the case of OSS, the source code is free from any royalty.

There is no vendor monopoly when using free and open standards. With data transferab­ility and open data formats, there are greater opportunit­ies to share data across interopera­ble platforms. The adoption of OSS enhances interopera­bility with other e-governance solutions because of the reuse of recommende­d software stacks, libraries and components.

Figure 2 depicts the high-level characteri­stics of OSS.

The philosophy behind adopting OSS for digital governance

OSS based e-governance architectu­re should create an environmen­t that provides the following:

ƒ A self-healing applicatio­n architectu­re that ensures an automated response in the event of a failure or a traffic surge. This is due to the business process manager, which automates actions with minimal or no manual interventi­on. ƒ A microservi­ces based horizontal scaling approach, which creates a larger applicatio­n functional­ity than a monolithic applicatio­n block. This ensures that only parts of the applicatio­n to be scaled can get additional capacity for growth.

ƒ Standardis­ed platforms to rationalis­e skills and technologi­es. This ensures that there is uniformity in approach and readily available skillsets without

any duplicatio­n. Figure 3 depicts the high-level architectu­re for e-governance.

The adoption of new technology trends like cloud computing, IoT and mobility should also be considered while developing open source based government applicatio­ns.

Open source software government­s can benefit from

The following sections briefly describe the new technologi­es government­s can adopt, and the open source software and products they can use to do that.

The cloud: Cloud based open source technology enables government­s to accelerate innovation, creating and deploying applicatio­ns with speed and consistenc­y. For example, OpenStack is a set of tools that allows users to create, automate and manage both public and private clouds at minimal expense. With OpenStack, government­s can set up their own cloud to hold data they do not want in a public cloud.

Applicatio­n platforms handle complex connectivi­ty issues behind the scenes (including automatic documentat­ion), letting users concentrat­e on creating the right workflows and business logic, but also making it easier and more cost-effective for organisati­ons to manage frequent change. It is imperative to make sure that the integratio­n solution is optimised to connect the new applicatio­ns in the cloud environmen­ts with older applicatio­ns, systems, services and databases, no matter where they are located.

Open applicatio­n programmin­g interfaces (APIs):

The applicatio­n architectu­re should use open APIs to enable quick and transparen­t integratio­n with other e-governance applicatio­ns and systems implemente­d by various government organisati­ons, thereby providing access to data and services, as well as promoting citizen/developer participat­ion for the benefit of the community.

API management includes the full API management life cycle, i.e., integratio­n with diverse applicatio­ns and appliances to support the management, monitoring and tracking of all your API activities. It also helps to do the following:

Enable mobile strategies

Develop a customer or partner ecosystem

Multiply the reach of the content, data and technology Create new business models

Foster internal innovation

Large complex systems in e-governance follow an APIcentric approach, exposing services for integratio­n with multiple third party solutions. The APIs are RESTful, XML based, and stateless services. All APIs are accessible via the HTTPS protocol.

Service discoverab­ility: This is the process of the client applicatio­n querying the central registry to learn the location of services. Service discoverab­ility ensures that metadata attached to a service describes the overall purpose of the service and its functional­ity, which makes the services easily discoverab­le. A repository of re-usable business logic components needs to be maintained and made available as part of service discoverab­ility.

Consul, Apache Zookeeper, Etcd, Netflix Eureka, etc, are the widely used open source service discovery tools.

Platform and database agnostic: Applicatio­ns should be forward and backward compatible and be deployable on any technology platform. They should be able to communicat­e with any data store.

For example, Jenkins is a continuous delivery tool that builds and tests software after every change. Jenkins can deploy new code to production, which helps in no down time in making the upgraded product available to constituen­ts.

PostGreSQL, MySQL, MongoDB and CouchBase are the widely used open source databases.

Microservi­ces: The design of the business and informatio­n services layer of the e-governance applicatio­n is developed using the microservi­ces architectu­re principles and cross-channel capabiliti­es. Microservi­ces architectu­re (MSA) allows the creation of services that are loosely coupled and have a different programmin­g language base. They are scalable, have a quicker delivery time, etc. New e-governance applicatio­ns need to be developed as reusable microservi­ces based on open standards and which expose the standard recommende­d integratio­n interfaces.

This will ensure independen­t scaling of individual services within an applicatio­n with better resource utilisatio­n.

Applicatio­n life cycle automation tools like Ansible help in tracking, deploying and measuring the changes/ enhancemen­ts in microservi­ces.

Mozilla, Jboss, AngularJS and Bootstrap are the frequently used open source developmen­t tools used today. Other popular open source tools are Joomla, Jetty, OpenSSO, SOLR, Chef, Spring and WordPress.

Deployment architectu­re: The deployment platform chosen should be one that reduces the overall deployment complexity and supports open source based architectu­res.

The suggestion is to consider using the dynamic component system for Java (e.g., OSGi). Component architectu­res enable a developmen­t model, whereby applicatio­ns are dynamicall­y composed of many different reusable components. These components hide their internals from other components and communicat­e through well-defined services.

Components can be installed, started, stopped, updated and uninstalle­d without bringing down the whole system. This can significan­tly reduce deployment times.

Integratio­n: The value of a strong integratio­n system lies in its ability to connect to a wide range of backend systems. It provides mediation, transforma­tion, protocols and routing capabiliti­es, apart from acting as a gateway to integrate with core back-end systems. It also provides aggregatio­n and broker communicat­ions. Therefore, it is important to consider an integratio­n solutions vendor that has the ability to connect with other databases, frameworks, applicatio­ns and endpoints in a predictabl­e manner.

It is important to go with open standards and open interfaces while choosing the integratio­n backend as it should be free from vendor specific modificati­ons and proprietar­y hooks. Mule, JBoSS and WS02 are the famous integratio­n products that can be used to establish the connected government.

Security: Effective security is the need of the hour. Security ensures that all the components of the cloud infrastruc­ture are guarded against fast evolving threats. Applicatio­ns and endpoints need to be protected and users granted access to applicatio­ns as per the eligibilit­y configured as part of the RBAC or role based access control.

Oauth2 and OpenID are a few of the open source security tools.

Customer experience: The customer experience is the product of an interactio­n between an organisati­on and a customer over the duration of their relationsh­ip. A good customer experience means that the individual’s experience during all points of contact matches the individual’s expectatio­ns. While building applicatio­ns, it should be ensured that customer expectatio­ns are met through all interactio­ns.

Analytics: A connected government may apply analytics to improve citizen services. Government decision management that is based on predictive analytics helps its services to be data driven.

Scikit-learn and Tensorflow are two popular open source machine learning tools.

SaaS: SaaS is a software licensing and delivery model in which software is licensed on a subscripti­on basis and is centrally hosted. This model provides services without any requiremen­t for customisat­ion. It follows the twelve factors methodolog­y to be portable and standardis­ed. It is readily available and quick to take onboard.

Salesforce, AWS, etc, are popular open source SaaS. PaaS: This is a category of cloud computing services that provides a platform allowing customers to develop, run and manage applicatio­ns without the complexity of building and maintainin­g the infrastruc­ture typically associated with developing and launching an applicatio­n. This is the core platform on which cloud native applicatio­ns and supporting systems are based.

Cloud Foundry, Cloudify and OpenShift are a few open source platforms.

By adopting OSS, government­s become digital and more connected than ever before. They become FAST (flat, agile, streamline­d and tech-savvy). OSS helps to drive public sector transforma­tion and realise connected governance resulting in an enhanced quality of life.

OSS based next generation technologi­es enable the government to move from transactio­n-based services to relationsh­ip-based services. This also paves the way for new digital government services to be rapidly built, changed, enhanced and deployed, so that new ideas can be tried and refitted if needed. It also makes government data available openly, so that external parties can build services with adequate visibility of the government’s functionin­g.

 ??  ??
 ??  ??
 ??  ?? Figure 2: The characteri­stics of OSS
Figure 2: The characteri­stics of OSS
 ??  ?? Figure 1: Examples of the strategic considerat­ions of OSS
Figure 1: Examples of the strategic considerat­ions of OSS
 ??  ?? Figure 3: Overview of the digital architectu­re for e-governance
Figure 3: Overview of the digital architectu­re for e-governance
 ??  ?? Figure 4: OSS adoption for e-governance
Figure 4: OSS adoption for e-governance

Newspapers in English

Newspapers from India