In his over two decades of service at NIC, the author has developed many e-governance applications in various areas. This is an account of his experience and observations about how the software scenario has evolved over time at NIC. During 1980's workstations and dumb terminals connected to mainframe, mini or super-mini systems with various third generation languages (e.g. FORTRAN, COBOL, PL/1 etc) were being used for software development. The new mainframe computer NEC-1000/20D from Japan was installed and various software systems were ported from the old CDC Cyber System to NEC-1000 which also provided good support for FORTRAN and COBOL. Compiling programs with JCL (Job Control Language), taking printouts of source-codes and compilation errors on Line Printers, interacting with Operators for mounting tapes etc were parts of the daily routines of software developers. As State and District Units came up towards the late eighties and PCs became ubiquitous with initially MS-DOS and FORTRAN/COBOL compilers and GWBasic were used for development; but soon, dBase III Plus became popular for software development with WordStar, Lotus 1-2-3 and IBM Storyboard as office automation products. Some of the State Units also had super-mini multi-user systems like Norsk Data ND 550 and ECIL Micro-32 with dumb terminals, bulky magnetic tape drives, Line Printers and FORTRAN and other languages for software development. As the NEC-1000 systems (available at NIC HQ and the three regional centres at Hyderabad, Pune and Bhubaneswar) supported DBMSs like INQ and ADABAS, their use was found in some applications like GISTNIC developed by NIC Hyderabad. The General Election in 1991, where NIC first played a major role throughout the country, used NEC-1000 at NIC HQ as the central server and round-wise counting data was entered by all DIOs through MES (or Micro Earth Station as VSATs were known in those days). Some of the State Units also started developing statewide systems for use by DIOs on NEC-1000 using FORTRAN/COBOL etc and flat-files for data storage. Soon, 80386-based SCO-XENIX-based systems became available in early nineties in State and District Units with FoxBASE, Professional (spreadsheet) and Lyrix (word processor) as application softwares. FoxBASE became (and retained its position throughout the decade) the mainstream application development tool in all State and District Units. Soon, the OS underwent rapid changes to SCO UNIX 3.2, then AT & T UNIX SVR 4, SCO Openserver5, Novel UnixWare. Later on, an effort was made to switch over to the Uniplex Office-suite in projects like District Courts; Uniplex however lacked programming features in the database. In a few projects during early 90's, C/C++ with flat files or FoxBASE was used. A number of developers wrote libraries for accessing dbf and index files in FoxBASE or simply used flat files. For developing forms etc under character-user-interface (CUI) on Unix terminals, programmers resorted to curses library and to some extent Extended Terminal Interface (ETI) as well as Form and Menu Language Interface (FMLI, which was a precursor of new tools like E-Forms). A few successful applications of this type were DISNIC-PLAN, DCIS (District Court Information System). Oracle-base software development (with version 6.0 and then 7.0) on various flavours of Unix was another major trend using PRO*C and 4GLs like SQL Form, SQL Report, SQL Menu in the Character-User-Interface (CUI). Oracle became widely used in projects with large databases like Passport, 6th AIES (at national level) and Treasury, Land Records etc at State-level. NIC also used DB2 for a few projects. A few graphical applications developed in those days (e.g. GISNIC etc) used the Computer Graphics Interface (CGI) library. When support for CGI was discontinued with SVR 4 and UnixWare, some of the developers (like the present author) used IOCTL system calls for developing a library similar to CGI under these new Unix variants. As Windows-based machines came during mid to late nineties, an initial development during this period was the conversion of existing systems to Windows 3.1/3.11 environment. After Visual Studio 6.0 became available to all the States and District Units and a series of very effective training programmes were conducted on VB & VC++, a large number of developers switched over from FoxBASE to VB6.0 and client-server applications came up with MS SQL Server 7.0 as the back-end database. Web-based development and Open Source Software (OSS) characterize the present phase of software development in NIC. While CGI (Common Gateway Interface) did not find many takers in NIC, ASP (Active Server Pages) came in a big way; parallely, PHP and JSP also had their share of applications. Acceptance of Linux in the server front has been quite widespread at NIC HQ, most of the State Units and a number of District Units. Linux as a Desktop OS, is being used only by hardcore open-source enthusiasts or by those badly mauled by viruses. Java Servelets and JSP-based applications have made their appearances; but full-fledged J2EE-based systems are even now very few. With a number of excellent JAVA IDEs (e.g Eclipse, NetBeans etc) having become free in recent years, Java and J2EE-based development is likely to receive some boost (CollabCAD is an excellent example). NetBeans 5.5 with JDK 1.6 especially is a very good combination for Java developers to develop a wide range of applications from AWT/Swing-based environment to full-fledged J2EE-based environment. .NET framework and Visual Studio.NET have made development of diverse kinds of applications (e.g. in Windows-based, Web-based, Console-based environments, DLLs, Web-services etc) quite easy in a number of programming languages (e.g. VB, C#, VC++, J# etc). It provides great interoperability features through CLR (Common Language Runtime) amongst components developed using different languages. Web Services hold great promises for interoperability amongst all development platforms (.NET, J2EE & PHP) and Service Oriented Architecture (SOA) is likely to come in a big way. The 2-tier applications consisting of the user-interface (UI) and the data-layers (the Business Object layer often conspicuous by its absence) are the hallmark of our development approach which has changed with systems like Vahan, Rural Soft, eNRICH which were developed using 3-tier architecture. This proved the reusability and maintainability of our code. Also, now UML is being used extensively for systems analysis and design in many projects. True to its reputation of being the pioneer ICT organisation in our country, NIC is moving with technology changes to provide best support for egovernance applications.
Perspectives
Evolving Software Scenario in NIC
From October 2007 • Informatics, National Informatics Centre