Brief Introduction :
Background Information :
In the past, there never used to be many web browser based applications and most software information systems were stand alone applications running on disparate computers in organizations and companies.
Later on, the need to build distributed systems that could be run in different locations and geographical regions saw the upsurge of web based software applications emerge globally that ran on web browsers to provide services like e-mail services for checking, reading and writing e-mail.
Web based applications nowadays run on web browser applications like Mozilla Firefox, Google Chrome, Opera, Internet Explorer and Microsoft Edge on very many client computers in the world.
When Biometrics Authentication came into being, it was on stand alone computers as well. Various diverse industrial use cases demanded the tech world to avail Biometrics Authentication on Web Browsers and this too was made possible as more applications were build for web.
ActiveX and Java Applets
Up until around year 2012, developers could implement Biometrics Authentication in Web Browsers using technologies and plugins like ActiveX and Java Applets.
On Internet Explorer back in the yesteryears and upto date, ActiveX facilitates and continues to provide a viable way to add Biometrics Fingerprint Authentication on Internet Explorer versions 11, 10, 9, 8, 7 and 6. ActiveX makes allows Fingerprint Scanners to communicate with Internet Explorer web Browsers via COM objects.
To Add and integrate Biometric Authentication in other web browsers like Firefox and Chrome you needed to use Java Applets because ActiveX could not run on Mozilla Firefox and Google Chrome.
Years ago, when Firefox was at its infancy, in some of the earlier versions of
Mozilla Firefox, there was a time you could run ActiveX components on Firefox with ease. This however did not last for long because, as both web browsers fought for market share and dominance , that support for ActiveX onMozilla Firefox was dropped. Mozilla Firefox decided that they would no longer continue to run ActiveXcomponents on their Web Browsers.
ActiveX was and is still a Microsoft technology that originated with Microsoft to make it possible to add more dynamic scripting features to their Web browser platform, Internet Explorer.
Since the likes of Mozilla Firefox and Google Chrome web browsers could not support ActiveX plugins off the shelf, to implement Biometrics Authentication using a Fingerprint Scanner, Developers of yesteryears used Java Applets to communicate with Fingerprint Scanners on
Mozilla Firefox and Google Chrome web browsers running on client computers.
Those Software Developers coding in PHP, JSP, ASP, ASP.NET, Python who wanted to extend Biometrics Authentication to their Web Browser Applications and wanted to build Web Applications that were Web Browser independent, they had to develop their Web Applications using Java Applets.
You could run your Web Biometric Authentication on any Web Browser using Java Applets including Internet Explorer as well. By the way, Java Applets could seamlessly run on Internet Explorer very well the same way they did onMozilla Firefox and on Google Chrome.
As you can already tell by now, Software Developers who wanted to be able to add Biometrics Authentication in their Web Browser Applications developed in PHP, JSP, ASP, ASP.NET, Python had to learn and know how ActiveX components worked in order to be able to harness their dynamic scripting capabilities to extend other system functionalities to their web browser applications designated to run on Internet Explorer. The same case still applies today.
I have seen untrue things said about ActiveX by some misinformed Marketing and Business Analysts and other categories of wannabe Information Technology automatons. They display accentuated levels of idiocy in public tech forums and their blogs dis-reputing ActiveX from their little understanding of how ActiveX dynamic features work proving that they do not know much about the power of COM objects. Read their articles and guesstimate their levels of ignorance. It is debilitating! I had to call them out ! Hahaa! 😀 😀
Likewise, for Java Applets, Software Developers who wanted to extend system wide functions like making protected System Function calls from their Mozilla Firefox and Google Chrome web browsers, they had to not only learn how to use Java Applets but also learn how to develop the Java Applets themselves and include the Functions they wanted users to be able to access on Web Browser clients.
I cannot express my gratitude enough for having gotten introduced to Java Programming Language in my early days of computing. I was ready and mature like viceroy for this show down! I already had experience of Developing Java Applets before.
Whether you were a PHP programmer or JSP or ASP programmer and wanted to add Biometrics Authentication to your Web Application and wanted to develop a Browser independent Web Application, you had to learn Java to be able to develop Java Applets. Hahaa!
If you hated Java ( hahaa ) your goose was cooked! Your options were limited and your Fate was sealed! More often you hear wannabe kiddie coders disdain Java and how they would never touch it, today they can get away with it but had they been Developers of yore they would have had their asses handed to them.
I remember waking up one Saturday early morning to go to my Friend’s room to get a copy of Java JDK 5 so that I could code at a Java project on Blue J IDE. I wonder if that IDE still exists. It has been years since I used it.
Demise of Java Applets – The end of an era and a Goodbye to NPAPI plugin
Web Browsers towards end of year 2012 and 2013 or thereabout had already disclosed that they would no longer be supporting NPAPI plugin and would discontinue them from their platforms.
NPAPI plugin, which in full is known as Netscape Plugin Application Programming Interface made it possible for Web Browser extensions to be built that could extend System Functions to web e.g. IO Functions like opening and reading Files. This was the backbone on which Java Applets could run on a variety of Web Browser applications were built on.
In simple comparison, if you remove wheels from a car, the car will not move. NPAPI made it possible for plugins like Java Applets to get exposed and make system calls from a Web Browser.
If you remember, Adobe Flash, it relied on a plugin you had to install for it to run on your Web Browser. It still does so even today. There was an online Webinar I attended last year and they asked us to install Adoble Flash.
Applications like Adobe Flash media player and Java Applets could no longer work on Web Browsers after NPAPI was pulled out. Same case applied to Web Applications which were running Biometric Authentication using Java Applets.
Some years ago, I had developed a PHP Web based Biometric Patient Identification solution that I helped a Hospital I was consulting for to integrate with their Hospital Management Information System (HMIS).
During one of the days that I had camped there, I left things working fine and went to my hotel room for the night just outside the hospital. When I came back in the morning, I met the IT officer I was working with at the corridor that was leading to the main entrance of the Hospital. I think she had been waiting for me to arrive and was just about to call me when we bumped into each other.
She told me that the Patient Biometric Authentication component was not working at the two Front Desk Computers where we had deployed it. I also learned that the attendants at the Outpatient Services desks who were on night shift had been bugging her to get the problem fixed on one of the computers. By morning, none of the 2 Front Desk Computers could perform Biometrics Authentication on the PHP Web Application’s Patients visit page.
I quickly swung into the room where the two computers were and began to diagnose the problem on one of the computers. I inquired from one of the cashiers who was signing off at the end of their shift if she was privy to anything out of the ordinary that could have transpired on the computer they were working on. He informed me that the computer he was using prompted him to click on an update button which he promptly did.
The cashiers at this Hospital, when bored at night, when there are no patients visiting at night, they would connect the computers to internet to access Facebook. That was the time when a browser update happened.
The overnight browser update had removed support for NPAPI plugin which made it impossible for my Biometrics Authentication Java Applet to run on their computer. The other computer on the other hand had installed and updated Java Run time version to a newer version which could no longer run unsigned Java Applets.
After year 2012 / 2013 or thereabout Java Runtimes could no longer run unsigned Java Applets on Web Browsers.
I had to revert my PHP code to use some earlier ActiveX code I had previously developed for Biometrics Authentication and made the application to run on Internet Explorer. ActiveX saved the Day!
We undid several other things to get things to work and became innovative while at it. Luckily, during the integration, the IT staff I was working with was at the top of their game and they understood their code very well. There are times I have helped different lots of clients integrate specialized features into their own code and found out that they never understood their own code and I had to work on my own without their help.
When I suggested to the IT Staff that in their code they call an internet explorer shell in their code and parse the PHP link for Patient visits page which had the Biometric Authentication component, they understood what I was asking them to do and knew how to do it in their Visual Basic code. In fact, at the end, no one would be able to tell that the PHP Patient Biometric Authentication code was running inside VB code because it seamlessly integrated harmoniously with their HMIS. It all looked like the PHP Biometrics Authentication component was part of their Visual Basic HMIS.
After we stabilized the situation, the IT personnel later on built the Biometrics Authentication component into their Hospital’s HMIS VB code with no need for running the internet explorer shell in their HMIS application.
That was the last time I ever used a Java Applet in my code anywhere. There was always the temptation or installing older versions of Java to continue running my Biometric Authentication Java Applets on Web Browser based applications but the thought of an overnight Java update rendering my application useless made me trash those ideas.
Motivation for Developing an alternative to ActiveX and Java Applets solution for Biometrics Authentication that works in Multiple Web Browsers
To navigate away from the caveats imposed to Developers of Modern Web Browsers Applications that run on recent versions of Mozilla Firefox, Google Chrome, Opera and Microsoft Edge by use of NPAPI plugin, ActiveX and Java Applets, there was need to find a more long lasting solution that could be used to Develop and Implement Biometrics Authentication in cross Browser Web Platforms.
The alternatives were to wait for HTML5 features to be added to Web Browsers that could provide APIs that could allow a Web Browser to talk to USB peripheral devices like a USB memorystick or a USB Fingerprint Scanner ( … most Fingerprint Readers / Scanners connect to Client Computers via USB ports) through a negotiated secure connection or use Web Sockets ( APIs to establish bidirectional communications between Server and Client Computer).
By the way, you can actually use your Computer as a Server and as a Client too then Send and Receive message via Web Sockets on the same computer.
HTML5 the successor to HTML is very promising and even though many Web Browsers are not all HTML5 compliant even as of now, the HTML5 Web Biometric Authentication and Integration for PHP pack I developed here can help you to add and integrate Biometric Authentication to any of the recent modern Web Browsers that support HTML5. If you have a Windows Web Browser whose version was released as after year 2015, chances are that it supports HTML5.
Unlike the NodeJS Biometric Authentication above,
Compared to HTML5 Web Biometric Authentication, it is Faster, Lighter and the most significant thing of all, Simple and Easy to Integrate. The complexity of availing its Biometrics Functionality is abstracted from the Developer by use of Simple Functions that the Software Developer can call to integrate it Quickly and Effortlessly into their Web Application.
1. Operating System(s) for Client Side / Front-End
- Microsoft Windows 7
- Microsoft Windows 8
- Microsoft Windows 8.1
- Microsoft Windows 10
The Front-end does NOT work on LINUX. It works Windows ONLY.Jomutech Systems
2. Operating System(s) for Server-Side / Back-End
- Microsoft Windows 7
- Microsoft Windows 8
- Microsoft Windows 8.1
- Microsoft Windows 10
- Red Hat Enterprise Linux 7.5, 7.6 (Kernel 3.10.0)
- CentOS Linux 7.5, 7.6 (Kernel 3.10.0)
- Fedora Linux 25, 26, 27, 28, 29 (Kernel 4.8 and above)
- Oracle Linux 7.5, 7.6
If you run Ubuntu 18.04 LTS and above or Debian 9 and above you are good to go. I will support you too if you use any of the recent releases of Enterprise Linux Server Editions like Suse.Jomutech Systems
3. Supported Fingerprint Reader / Scanners
- Digital Persona 4500
- Digital Persona 5100
- Digital Persona 5160
- Digital Persona 5300
- Eikon Touch 510
- Eikon Touch 710
4. Supported Web Browsers ( Windows based )
- Google Chrome
- Mozilla Firefox
- Microsoft Edge
- Internet Explorer
- Chromium based Web Browsers
If you decide to use other Web Browsers not mentioned here, use them at your own discretion.Jomutech Systems
- MySQL 5.6, 5.7, 8 and above
- Maria DB
If you plan to use any other RDBMS other than MySQL and MariaDB that is still OK. I can Help you integrate the same with MSSQL, Oracle, PostgreSQL, SQLite etc.
Most of the times, those developing ASP.NET web based applications will use MSSQL in preference. I would recommend this combination of ASP.NET and MSSQL for exceedingly fast speeds for ASP.NET Web Applications.Jomutech Systems
6. Web Server
- IIS 7 and above
N.B All occasional use of Biometrics Authentication in this web page and in this context means Biometrics Identification (1:N).
Important things to do before Fingerprint Enrollment and Fingerprint Authentication
The Web Browser will Detect your Fingerprint Scanner to determine if indeed it is a Supported Device. See above for list of supported Fingerprint Scanners.
Select your Fingerprint Scanner from the Select Reader Combo Box / Drop down list.
After this step you can now proceed to carry out either Fingerprint Enrollment / Registration or Fingerprint Authentication / Identification as you had planned to proceed with your next course of action.
1. Biometrics Fingerprint Enrollment
- A Person’s Particulars are given out and entered into the Fingerprint Enrollment page. They may include name, date of birth, gender, nationality etc. For the sake of simplicity, The photo screenshot demonstrates how to capture First Name, Surnme and Social Security Number. See above screenshot.
- Identify the First Fingerprint to be enrolled.
- click the tip of the Fingerprint on Fingerprint Enrollment page. The red circle will disappear and a light blue circle will appear at the tip of the selected Finger.
- Capture Fingerprint 5 times to enroll Biometric Fingerprint Data from this Finger until the tip of selected Finger turns to a green circled tip with a white tick inside.
- Identify another Fingerprint to be Enrolled.
- Repeat steps 3 and 4 to complete enrollment of Biometric Fingerprint Data of this other second (2nd) Finger.
- Click Save to archive Person particulars into Database.
That’s all there is to Fingerprint Enrollment.
Below is a screenshot of Fingerprint Enrollment page showing two (2) enrolled Fingerprints. That is, enrolled Left Index and Right Index.
2. Biometric Fingerprint Identification (1:N)
- Request person you want to Biometrically identify to place their Finger on the Fingerprint Reader / Scanner.
- If Biometric identification Found a Match, the name and social security number of the person will be retrieved. A picture with a Fingerprint image and green tick will be momentarily displayed to notify you of a Successful Identification.
- If Biometric identification did NOT find a match, the name and social security number text boxes will be filled each with a ‘?’ mark. A picture with a Fingerprint image and a red ‘?’ will be momentarily displayed to notify you of a Failed Match ( NO MATCH ).
That’s all there is to do with Fingerprint Identification.
Below is a screenshot showing NO MATCH for a Person’s Fingerprint whose presented Fingerprint Data did not match any other of the Enrolled and Archived Biometric Fingeprint Data in the Database.
Database and SQL Table Structure for saving Biometric Fingerprint Data
The table employees has the following important column entities for saving biometric data of a person. They are;
- fptemplate1 ( this is where you save biometric fingerprint data for Fingprint 1)
- fptemplate2 ( this is where you save biometric fingerprint data for Fingerprint 2)
- f_no1 ( this is where you save the Finger Position of Fingerprint 1. Fingeprint Position helps you determine wheter a Fingerprint is e.g. a Left Index, Right Middle, Right Pinky etc.)
- f_no2 ( this is where you save the Finger Position of Fingerprint 2)
- empno ( this is the primary key. It is the column which uniquely identifies every other person from one another besides their fingerprint data. It can be anything like national identity number, school admission number, patient number, employee number. In this case it is the one that holds social security number. It can be anything you want as long as it is unique. It does not have to be empno in your database.)
- name ( after merging first name and surname in this demo example they are then save together in the name column entity.)
The snapshot below shows the Biometric Fingerprint Data as it looks when saved in SQL Table.
There were some Biometric APIs that Biometrics Developers and Biometrics Integrations experts were using leading to year 2012 and 2013 that fell out of the way and got obsoleted after Web Browsers stopped supporting the NPAPI plugin and dropped it like a bad habit.
After the support of NPAPI was discontinued, Java Applets applications’ could not stand on their own and bowed out. The Biometrics APIs which relied on Java Applets to make API calls that could talk with Fingerprint Scanners were decimated and some of them ever since have never had any API features for Web based Applications.
It is important to note that Biometrics Authentication which rides on Active X in Internet Explorer still works fine on modern Internet Explorer 10 and 11. If you install the latest Windows Service Packs in Windows, they come packaged with Internet Explorer 10 and 11 which can help you run Biometrics Authentication on Web Browsers but that is only on Internet Explorer 10 and 11.
- Chief Technology Officers
- Software Project Managers
- Software Engineering Managers
- Software Development Managers
- Software Integrations Managers
- Software Solutions Managers
- Senior Full Stack Developers
- Senior Web Developers
- Senior Web Solutions Engineers
- Senior Software Integrations Architects
- Senior Programmers
- Senior Software Developers
- Senior Software Engineers
- Senior Software Solutions Architects
If you need any additional Developer and Integration Support after the 3rd month, all subsequent Developer and Integration months support if required by client will be 50% off the initial price.Jomutech Systems