Build­ing Next-Gen­er­a­tion Gov­ern­ment Ap­pli­ca­tions Us­ing Open Source Tech­nolo­gies

OpenSource For You - - Contents -

Gov­ern­ments the world over are try­ing to pro­vide cit­i­zen-cen­tric ser­vices. Our own coun­try has taken the ‘Smart City’ ini­tia­tive. The idea is to pro­vide bet­ter gov­er­nance, which can be achieved by the digi­ti­sa­tion of ser­vices. Open source soft­ware can bring such ser­vices to the cit­i­zen ac­cu­rately, speed­ily, se­curely and in a user friendly man­ner.

The suc­cess of dig­i­tal gov­er­nance de­pends on the abil­ity to en­able mul­ti­ple gov­ern­ment agencies and de­part­ments to com­mu­ni­cate with each other. All the work that has been done ear­lier should be in­ter­op­er­a­ble with all the new ini­tia­tives to be im­ple­mented in the near fu­ture. In ad­di­tion, the fo­cus is on en­abling the best cit­i­zen ex­pe­ri­ence, mak­ing avail­able the rel­e­vant in­for­ma­tion and be­ing re­spon­sive by lever­ag­ing the lat­est tech­nol­ogy trends (like an­a­lyt­ics). This is the key to dig­i­tal gov­er­nance, as it en­sures smooth com­mu­ni­ca­tion be­tween de­part­ments to make the cit­i­zen the cen­tre of all ser­vice de­liv­ery, bring­ing about bet­ter gov­er­nance and higher ac­count­abil­ity.

The adop­tion of open source soft­ware (OSS) in the gov­ern­ment sec­tor has in­creased world­wide and has led to in­no­va­tions in the im­ple­men­ta­tion of ICT so­lu­tions across the pub­lic and pri­vate do­mains. The use of OSS in the key do­mains of ICT im­ple­men­ta­tion (like ap­pli­ca­tion de­vel­op­ment, In­ter­net con­nec­tiv­ity, in­fras­truc­ture, data cen­tres and the mo­bile) has helped in the wide­spread adop­tion of open source tech­nolo­gies by var­i­ous cus­tomers across the world.

In In­dia, the Cen­tre has no­ti­fied the guide­lines for adopt­ing open source soft­ware by gov­ern­ment or­gan­i­sa­tions. These or­gan­i­sa­tions are en­cour­aged to adopt OSS in all e-gov­er­nance sys­tems rather than closed source soft­ware (CSS). In ad­di­tion, the In­dian gov­ern­ment has made OSS manda­tory for all new e-gov­er­nance ap­pli­ca­tions as well as new ver­sions of legacy and ex­ist­ing sys­tems.

Many gov­ern­ments across the globe like Aus­tralia, the states of Bri­tish Columbia and Que­bec in Canada, France, In­dia, Italy, the United King­dom and the United States have pub­lished OSS poli­cies that cover in­for­ma­tion and com­mu­ni­ca­tions tech­nol­ogy pro­cure­ment pro­cesses, the adop­tion of OSS so­lu­tions, etc.

For­tune 500 busi­nesses are us­ing OSS to build en­ter­prise ap­pli­ca­tions. Ac­cord­ing to Gart­ner and For­rester, open source has ac­quired a greater share of the global en­ter­prise soft­ware mar­ket while pro­pri­etary soft­ware adop­tion is re­duc­ing sig­nif­i­cantly.

The cloud, Big Data, con­tent man­age­ment sys­tems, re­spon­sive Web de­sign, mo­bil­ity, data­bases, op­er­at­ing sys­tems, in­fras­truc­ture com­po­nents, en­ter­prise in­te­gra­tion, de­vel­op­ment tools and an­a­lyt­ics are the ma­jor OSS tech­nolo­gies be­ing adopted suc­cess­fully in the e-gov­er­nance space.

In this con­text, let us ex­plore the high-level ar­chi­tec­ture and re­lated in­fras­truc­ture of a com­pre­hen­sive soft­ware plat­form

that can de­ploy an open source dig­i­tal gov­ern­ment frame­work

(OSDGF). We will also ex­plore ap­pro­pri­ate ways to map open source tech­nolo­gies to the var­i­ous ar­chi­tec­ture lay­ers.

Strate­gic con­cerns of OSS in e-gov­er­nance

Fig­ure 1 de­picts the driv­ers, ser­vices from stake­hold­ers and the ar­chi­tec­ture in the con­text of the strate­gic con­sid­er­a­tions of OSS. The driv­ers are flex­i­bil­ity, cost sav­ings, se­cu­rity, free­dom to re­use, etc, which con­trib­ute to a gov­ern­ment’s eco­nomic growth.

Flex­i­bil­ity: Gov­ern­ment agencies can tai­lor open source prod­ucts, adding to or mod­i­fy­ing the code to fit their spe­cific needs. These mod­i­fi­ca­tions can in­clude se­cu­rity patch­ing for crit­i­cal vul­ner­a­bil­i­ties, which can be com­pleted in hours.

Sav­ings: Open source soft­ware is usu­ally avail­able at a much lower price point than com­mer­cial prod­ucts. And valu­able sup­port op­tions are avail­able for pop­u­lar pack­ages.

Free­dom to use and re­use: Open source li­cences do not limit or re­strict who can use the soft­ware, the type of user, or the ar­eas of busi­ness in which the soft­ware is used.

Se­cu­rity: It is very crit­i­cal to im­ple­ment proper se­cu­rity fea­tures in e-gov­er­nance ini­tia­tives to elim­i­nate and min­imise the fraud in var­i­ous schemes and poli­cies that will be im­ple­mented across the coun­try. Open source soft­ware can be used to im­ple­ment se­cu­rity quickly and more trans­par­ently.

In­no­va­tion: The cloud, Big Data, cy­ber se­cu­rity and

API man­age­ment are see­ing a much faster cy­cle of churn with re­spect to tech­nol­ogy choices for the next gen­er­a­tion of gov­ern­ment ini­tia­tives. And it is open source that is pro­vid­ing most of the re­quired ca­pa­bil­i­ties, much faster and cheaper then com­mer­cial ven­dors.

High qual­ity: Sup­port from a good de­vel­oper com­mu­nity as­sures the gov­ern­ment of high qual­ity soft­ware.

Skills de­vel­op­ment: Us­ing OSS al­lows the gov­ern­ment to un­lock a wider base of prospec­tive IT ta­lent in the open source space.

Clas­si­fi­ca­tion of the stake­hold­ers

Listed be­low are the key stake­hold­ers in the open source do­main:

1. Col­lab­o­ra­tors (dif­fer­ent com­mu­ni­ties of the gov­ern­ment)

2. Con­sumers and con­trib­u­tors (cit­i­zens, gov­ern­ment

ser­vants and so­cial me­dia 3. Users and con­trib­u­tors (de­vel­op­ers, cit­i­zens, busi­nesses, and in­dus­try)

4. Users and main­tain­ers (op­er­a­tions)

Op­por­tu­ni­ties for the use of OSS lie in Soft­ware as a Ser­vice, Plat­form as a Ser­vice and In­fras­truc­ture as a Ser­vice.

The char­ac­ter­is­tics of OSS that make it ideal for e-gov­er­nance

With OSS, gov­ern­ments can avoid ven­dor lock-in and en­sure seam­less in­te­gra­tion of dis­parate ap­pli­ca­tions, prod­ucts and sys­tems that have been de­vel­oped and de­ployed by dif­fer­ent or­gan­i­sa­tions and ven­dors.

The source code is avail­able to the com­mu­nity, the adapters and the end user to study and mod­ify the soft­ware and to re­dis­tribute copies of ei­ther the orig­i­nal or the mod­i­fied ver­sions. In the case of OSS, the source code is free from any roy­alty.

There is no ven­dor mo­nop­oly when us­ing free and open stan­dards. With data trans­fer­abil­ity and open data for­mats, there are greater op­por­tu­ni­ties to share data across in­ter­op­er­a­ble plat­forms. The adop­tion of OSS en­hances in­ter­op­er­abil­ity with other e-gov­er­nance so­lu­tions be­cause of the re­use of rec­om­mended soft­ware stacks, li­braries and com­po­nents.

Fig­ure 2 de­picts the high-level char­ac­ter­is­tics of OSS.

The phi­los­o­phy be­hind adopt­ing OSS for dig­i­tal gov­er­nance

OSS based e-gov­er­nance ar­chi­tec­ture should cre­ate an en­vi­ron­ment that pro­vides the fol­low­ing:

ƒ A self-heal­ing ap­pli­ca­tion ar­chi­tec­ture that en­sures an au­to­mated re­sponse in the event of a fail­ure or a traf­fic surge. This is due to the busi­ness process man­ager, which au­to­mates ac­tions with min­i­mal or no man­ual in­ter­ven­tion. ƒ A mi­croser­vices based horizontal scal­ing ap­proach, which cre­ates a larger ap­pli­ca­tion func­tion­al­ity than a mono­lithic ap­pli­ca­tion block. This en­sures that only parts of the ap­pli­ca­tion to be scaled can get ad­di­tional ca­pac­ity for growth.

ƒ Stan­dard­ised plat­forms to ra­tio­nalise skills and tech­nolo­gies. This en­sures that there is uni­for­mity in ap­proach and read­ily avail­able skillsets with­out

any du­pli­ca­tion. Fig­ure 3 de­picts the high-level ar­chi­tec­ture for e-gov­er­nance.

The adop­tion of new tech­nol­ogy trends like cloud com­put­ing, IoT and mo­bil­ity should also be con­sid­ered while de­vel­op­ing open source based gov­ern­ment ap­pli­ca­tions.

Open source soft­ware gov­ern­ments can ben­e­fit from

The fol­low­ing sec­tions briefly de­scribe the new tech­nolo­gies gov­ern­ments can adopt, and the open source soft­ware and prod­ucts they can use to do that.

The cloud: Cloud based open source tech­nol­ogy en­ables gov­ern­ments to ac­cel­er­ate in­no­va­tion, cre­at­ing and de­ploy­ing ap­pli­ca­tions with speed and con­sis­tency. For ex­am­ple, OpenS­tack is a set of tools that al­lows users to cre­ate, au­to­mate and man­age both pub­lic and pri­vate clouds at min­i­mal ex­pense. With OpenS­tack, gov­ern­ments can set up their own cloud to hold data they do not want in a pub­lic cloud.

Ap­pli­ca­tion plat­forms han­dle com­plex con­nec­tiv­ity is­sues be­hind the scenes (in­clud­ing au­to­matic doc­u­men­ta­tion), let­ting users con­cen­trate on cre­at­ing the right work­flows and busi­ness logic, but also mak­ing it eas­ier and more cost-ef­fec­tive for or­gan­i­sa­tions to man­age fre­quent change. It is im­per­a­tive to make sure that the in­te­gra­tion so­lu­tion is op­ti­mised to con­nect the new ap­pli­ca­tions in the cloud en­vi­ron­ments with older ap­pli­ca­tions, sys­tems, ser­vices and data­bases, no mat­ter where they are lo­cated.

Open ap­pli­ca­tion pro­gram­ming in­ter­faces (APIs):

The ap­pli­ca­tion ar­chi­tec­ture should use open APIs to en­able quick and trans­par­ent in­te­gra­tion with other e-gov­er­nance ap­pli­ca­tions and sys­tems im­ple­mented by var­i­ous gov­ern­ment or­gan­i­sa­tions, thereby pro­vid­ing ac­cess to data and ser­vices, as well as pro­mot­ing cit­i­zen/de­vel­oper par­tic­i­pa­tion for the ben­e­fit of the com­mu­nity.

API man­age­ment in­cludes the full API man­age­ment life cy­cle, i.e., in­te­gra­tion with di­verse ap­pli­ca­tions and ap­pli­ances to sup­port the man­age­ment, mon­i­tor­ing and track­ing of all your API ac­tiv­i­ties. It also helps to do the fol­low­ing:

En­able mo­bile strate­gies

De­velop a cus­tomer or part­ner ecosys­tem

Mul­ti­ply the reach of the con­tent, data and tech­nol­ogy Cre­ate new busi­ness mod­els

Fos­ter in­ter­nal in­no­va­tion

Large com­plex sys­tems in e-gov­er­nance fol­low an API­cen­tric ap­proach, ex­pos­ing ser­vices for in­te­gra­tion with mul­ti­ple third party so­lu­tions. The APIs are REST­ful, XML based, and state­less ser­vices. All APIs are ac­ces­si­ble via the HTTPS pro­to­col.

Ser­vice dis­cov­er­abil­ity: This is the process of the client ap­pli­ca­tion query­ing the cen­tral reg­istry to learn the lo­ca­tion of ser­vices. Ser­vice dis­cov­er­abil­ity en­sures that meta­data at­tached to a ser­vice de­scribes the over­all pur­pose of the ser­vice and its func­tion­al­ity, which makes the ser­vices eas­ily dis­cov­er­able. A repos­i­tory of re-us­able busi­ness logic com­po­nents needs to be main­tained and made avail­able as part of ser­vice dis­cov­er­abil­ity.

Con­sul, Apache Zookeeper, Etcd, Net­flix Eureka, etc, are the widely used open source ser­vice dis­cov­ery tools.

Plat­form and data­base ag­nos­tic: Ap­pli­ca­tions should be for­ward and back­ward com­pat­i­ble and be de­ploy­able on any tech­nol­ogy plat­form. They should be able to com­mu­ni­cate with any data store.

For ex­am­ple, Jenkins is a con­tin­u­ous de­liv­ery tool that builds and tests soft­ware af­ter every change. Jenkins can de­ploy new code to pro­duc­tion, which helps in no down time in mak­ing the up­graded prod­uct avail­able to con­stituents.

PostGreSQL, MySQL, Mon­goDB and CouchBase are the widely used open source data­bases.

Mi­croser­vices: The de­sign of the busi­ness and in­for­ma­tion ser­vices layer of the e-gov­er­nance ap­pli­ca­tion is de­vel­oped us­ing the mi­croser­vices ar­chi­tec­ture prin­ci­ples and cross-chan­nel ca­pa­bil­i­ties. Mi­croser­vices ar­chi­tec­ture (MSA) al­lows the cre­ation of ser­vices that are loosely cou­pled and have a dif­fer­ent pro­gram­ming lan­guage base. They are scal­able, have a quicker de­liv­ery time, etc. New e-gov­er­nance ap­pli­ca­tions need to be de­vel­oped as re­us­able mi­croser­vices based on open stan­dards and which expose the stan­dard rec­om­mended in­te­gra­tion in­ter­faces.

This will en­sure in­de­pen­dent scal­ing of in­di­vid­ual ser­vices within an ap­pli­ca­tion with bet­ter re­source util­i­sa­tion.

Ap­pli­ca­tion life cy­cle au­to­ma­tion tools like An­si­ble help in track­ing, de­ploy­ing and mea­sur­ing the changes/ en­hance­ments in mi­croser­vices.

Mozilla, Jboss, An­gu­larJS and Boot­strap are the fre­quently used open source de­vel­op­ment tools used to­day. Other pop­u­lar open source tools are Joomla, Jetty, OpenSSO, SOLR, Chef, Spring and Word­Press.

De­ploy­ment ar­chi­tec­ture: The de­ploy­ment plat­form cho­sen should be one that re­duces the over­all de­ploy­ment com­plex­ity and sup­ports open source based ar­chi­tec­tures.

The sug­ges­tion is to con­sider us­ing the dy­namic com­po­nent sys­tem for Java (e.g., OSGi). Com­po­nent ar­chi­tec­tures en­able a de­vel­op­ment model, whereby ap­pli­ca­tions are dy­nam­i­cally com­posed of many dif­fer­ent re­us­able com­po­nents. These com­po­nents hide their in­ter­nals from other com­po­nents and com­mu­ni­cate through well-de­fined ser­vices.

Com­po­nents can be in­stalled, started, stopped, up­dated and unin­stalled with­out bring­ing down the whole sys­tem. This can sig­nif­i­cantly re­duce de­ploy­ment times.

In­te­gra­tion: The value of a strong in­te­gra­tion sys­tem lies in its abil­ity to con­nect to a wide range of back­end sys­tems. It pro­vides me­di­a­tion, trans­for­ma­tion, pro­to­cols and rout­ing ca­pa­bil­i­ties, apart from act­ing as a gate­way to in­te­grate with core back-end sys­tems. It also pro­vides ag­gre­ga­tion and bro­ker com­mu­ni­ca­tions. There­fore, it is im­por­tant to con­sider an in­te­gra­tion so­lu­tions ven­dor that has the abil­ity to con­nect with other data­bases, frame­works, ap­pli­ca­tions and end­points in a pre­dictable man­ner.

It is im­por­tant to go with open stan­dards and open in­ter­faces while choos­ing the in­te­gra­tion back­end as it should be free from ven­dor spe­cific mod­i­fi­ca­tions and pro­pri­etary hooks. Mule, JBoSS and WS02 are the fa­mous in­te­gra­tion prod­ucts that can be used to es­tab­lish the con­nected gov­ern­ment.

Se­cu­rity: Ef­fec­tive se­cu­rity is the need of the hour. Se­cu­rity en­sures that all the com­po­nents of the cloud in­fras­truc­ture are guarded against fast evolv­ing threats. Ap­pli­ca­tions and end­points need to be pro­tected and users granted ac­cess to ap­pli­ca­tions as per the el­i­gi­bil­ity con­fig­ured as part of the RBAC or role based ac­cess con­trol.

Oauth2 and OpenID are a few of the open source se­cu­rity tools.

Cus­tomer ex­pe­ri­ence: The cus­tomer ex­pe­ri­ence is the prod­uct of an in­ter­ac­tion be­tween an or­gan­i­sa­tion and a cus­tomer over the du­ra­tion of their re­la­tion­ship. A good cus­tomer ex­pe­ri­ence means that the in­di­vid­ual’s ex­pe­ri­ence dur­ing all points of con­tact matches the in­di­vid­ual’s ex­pec­ta­tions. While build­ing ap­pli­ca­tions, it should be en­sured that cus­tomer ex­pec­ta­tions are met through all in­ter­ac­tions.

An­a­lyt­ics: A con­nected gov­ern­ment may ap­ply an­a­lyt­ics to im­prove cit­i­zen ser­vices. Gov­ern­ment de­ci­sion man­age­ment that is based on pre­dic­tive an­a­lyt­ics helps its ser­vices to be data driven.

Scikit-learn and Ten­sor­flow are two pop­u­lar open source ma­chine learn­ing tools.

SaaS: SaaS is a soft­ware li­cens­ing and de­liv­ery model in which soft­ware is li­censed on a sub­scrip­tion ba­sis and is cen­trally hosted. This model pro­vides ser­vices with­out any re­quire­ment for cus­tomi­sa­tion. It fol­lows the twelve fac­tors method­ol­ogy to be por­ta­ble and stan­dard­ised. It is read­ily avail­able and quick to take on­board.

Sales­force, AWS, etc, are pop­u­lar open source SaaS. PaaS: This is a cat­e­gory of cloud com­put­ing ser­vices that pro­vides a plat­form al­low­ing cus­tomers to de­velop, run and man­age ap­pli­ca­tions with­out the com­plex­ity of build­ing and main­tain­ing the in­fras­truc­ture typ­i­cally as­so­ci­ated with de­vel­op­ing and launch­ing an ap­pli­ca­tion. This is the core plat­form on which cloud na­tive ap­pli­ca­tions and sup­port­ing sys­tems are based.

Cloud Foundry, Cloud­ify and OpenShift are a few open source plat­forms.

By adopt­ing OSS, gov­ern­ments be­come dig­i­tal and more con­nected than ever be­fore. They be­come FAST (flat, ag­ile, stream­lined and tech-savvy). OSS helps to drive pub­lic sec­tor trans­for­ma­tion and re­alise con­nected gov­er­nance re­sult­ing in an en­hanced qual­ity of life.

OSS based next gen­er­a­tion tech­nolo­gies en­able the gov­ern­ment to move from trans­ac­tion-based ser­vices to re­la­tion­ship-based ser­vices. This also paves the way for new dig­i­tal gov­ern­ment ser­vices to be rapidly built, changed, en­hanced and de­ployed, so that new ideas can be tried and re­fit­ted if needed. It also makes gov­ern­ment data avail­able openly, so that ex­ter­nal par­ties can build ser­vices with ad­e­quate vis­i­bil­ity of the gov­ern­ment’s func­tion­ing.

Fig­ure 2: The char­ac­ter­is­tics of OSS

Fig­ure 1: Ex­am­ples of the strate­gic con­sid­er­a­tions of OSS

Fig­ure 3: Overview of the dig­i­tal ar­chi­tec­ture for e-gov­er­nance

Fig­ure 4: OSS adop­tion for e-gov­er­nance

Newspapers in English

Newspapers from India

© PressReader. All rights reserved.