International Journal of Software Engineering and Its Applications Vol. 10, No. 11 (2016), pp. 281-292 http://dx.doi.org/10.14257/ijseia.2016.10.11.23
Cloud Based Virtual Reporting Application J. Vijayashree, J. Jayashree, Wang Kai, Yang Zhenning, Ronnie D. Caytiles* and N.Ch.S.N. Iyengar School of Computer Science & Engineering, VIT University, Vellore-632014 TN. India * Hannam University, Korea
[email protected] Abstract Cloud computing is a very powerful concept that can be used to enhance the next generation data center and allow service provider to use data center capability provided by cloud and develop the application based on user requirement. This work aims to develop an android based web application namely Cloud based Virtual Reporting Application (VRA) wherein the database is stored on the cloud which resembles large storage facility. VRA is basically an android application which can be used by managers of the organization to monitor their employees. It is one kind of employee monitoring application where the manager can monitor the location of the employee and keep track of the his location whether the employee has done the allocated work or not. The app makes use of GPS technology available in the mobile phone to monitor the location. In addition to this, OPENCV library is used for face recognition to verify the authentication of the employee. Keywords: Virtual Reporting Application, OpenCV, GPS, Face Recognition, Cloud Computing Amazon Web Service
1. Introduction Cloud computing provides large number of services to their users such as content delivery, storage facility and internetworking which helps developers to develop mobile and web applications. This work aims to develop an android[1][2][3] based web application namely Cloud based Virtual Reporting Application(VRA) wherein the database is stored on the cloud which resembles large storage facility. VRA is basically an android[1][2][5] application which can be used by managers of the organization to monitor their employees. Employee Reporting has been a vital entity for any organization as it reflects the work culture of the organization. The employee should perform his work accurately and on time. For this the organization should take measure for the reporting of the work done by the employee and authenticating the same. Thus employee monitoring[13][16][17] is necessary for any cooperation. Virtual Reporting application will serve this purpose. As the number of users that will be using the application will be more the capacity of the database is a limitation. To overcome this, the PHP and SQL files are stored on the cloud for quicker and easier storage and retrieval of data. Various technologies emerged for supervising the location of the employee in the real time scenarios. Normally GPS[6] is used to find the location on maps[7,8,14,15] of the employee in a an organization or otherwise sensor networks can also be useful. These technologies are termed as location technologies from which we can determine
*
Corresponding Author
ISSN: 1738-9984 IJSEIA Copyright ⓒ 2016 SERSC
International Journal of Software Engineering and Its Applications Vol. 10, No. 11 (2016)
the position of workers .For smaller areas we can use Sensor networks whereas GPS[6] is used for larger areas like for areas around the globe. For finding the workers time there are some fundamental motives like the time and presence can be utilized for payroll purposes and Whenever customer buys some commodity it can be used to get the bill as the account statement. It can be used as an appraisal where the workers effort is related to cost of the item.
2. Literature Survey The surviving techniques are of the following types: 2.1. Physical Monitoring: The physical monitoring [13,4,17] technique makes use of the flat files, database or physical files. When an employee is assigned some on-site job by his manager , the employee has to visit the location where the job has been assigned and register himself physically which can be employee’s signature in order to get the record maintained at that site to prove his physical presence[18,19]. This is very hectic process as it involves lot of record maintenance and staff. Moreover the job locations will be different in each case, so handling such conditions is very difficult process. This process has a serious disadvantage of false attendance that is on behalf of the employee any other person can do his job and can claim that the same employee has done it! This is a mighty blow to the organization, such that every time it has to monitor the employee movement. 2.2. Biometric Monitoring: The situation of fake attendance or proxies can be avoided by biometric attendance[6] of the employee at on-site job. After completing the job the employee has to record his fingerprint, retina scan or some other ways of his identity claiming that he has completed the job on time and he only has done the job. The employee fingerprint is first recorded at the time of his registration in the workplace[16][18][19]. In order to maintain this record we need separate biometric machines at different locations which is very costly and maintenance associated is also a burden. The sites may be located at various locations across the country, so having this many devices will require increased cost. 2.3. Employee Portal: In an employee portal[4], the manager can assigns the job through online portal through his account .The employee receives the assigned job in his account as he is a valid authenticated employee. After receiving the job in the portal, when the employee finishes the job and he has to report back to his manager. This system has a drawback that the employee can ask other person to do job on his behalf, as there is no authentication on the on-site in this case. Also there is no provision of capturing the current location of the employee so that there is a chance of fake attendance of the employee.
3. Analysis of Current Surviving Techniques Current surviving techniques include, the present industrial scenario where the manager of the organization assigns the job to the employee through the manager portal. The manager specifies the job description and the location of the work through his portal. The employee receives the job through his portal [4] by logging in the portal every time.
282
Copyright ⓒ 2016 SERSC
International Journal of Software Engineering and Its Applications Vol. 10, No. 11 (2016)
Table 1. Analysis of the Current Surviving Techniques Sr No 1 2 3
Analysis of the current surviving techniques Surviving Technique Drawback Physical Presence of Staff at the site location. Monitoring[4][17] No way to prove identity.Maintenance of records. Biometric monitoring.[6] Increased Cost due to the hardware required. Employee portal[4] There is no provision to check that the employee to whom the job has been assigned is the same employee.
4. Motivation The increasing use of the cloud computing environment and the mobile computing inspired us to develop the cloud based virtual reporting application. There is an increase in use of mobile computing and cloud computing in recent years. The main idea of mobile computing is the availability of computing at any time and wherever you are present. Cloud computing on the other hand provides a way in which we can share the resource instead of owing the resources physically at local site we can own them in some other site and can use them as our local resource. By considering the advantages of the cloud computing and mobile computing the application has been developed by us.
5. Architecture Overview 5.1. Architecture As seen in the Figure 5.1 there are two applications one is to provide the administrative rights used by the administrator whereas second is used by the employees in order to notify the work assigned to them has been done. The functions performed by the administrator are assignment of the job and location and view the location details of the employee. The functions which the employee performs are face recognition and sending the notification whether the job assign has been completed or not.
Figure 1. Architecture
Copyright ⓒ 2016 SERSC
283
International Journal of Software Engineering and Its Applications Vol. 10, No. 11 (2016)
5.2. Mechanism
Figure 2. Design The actual implementation or the working of the project is as follows: Firstly, the Admin that is the Manager assigns job to the employee through the admin panel. It can be done by setting the IP address of the admin. The PHP files/database are stored on cloud where the jobs are dynamically updated as the manager assigns to the employee and the employee will receive updates in his employee panel. The manager needs to save this IP address for future use. The manager stores the name and IMEI number of the employee for identifying the employee cell phone. It can be further added or update as well. The manager then needs to specify the location name, address and the geographical location that is the latitude and longitude of the location where the employee has to go for work. Then the manager has to actually assign the job by giving the job details. The admin can see the total number of jobs given by him to the employee. The employee now receives the job sent by the manager to the employee. Prior to this, for confirming that the employee is a valid employee we have added the feature of face recognition. Before the job was given, the face of the employee is trained by the manager, so as the job should be done by that employee only. The employee thus matches the face by the front camera present in the employee's smart phone. The employee now can see the job details given by the manager. After completion of the job, the employee will send a job done message to the manager. The manager will receive that message and the location of that employee will be seen by the manager. This ensures that the job is performed by that employee only and at the right location which was assigned to the employee. 5.3. Android Activity The Figure 5.3 indicates the significant state ways of an Action. Call-back the strategies you can execute to perform operations when the Action move between states
284
Copyright ⓒ 2016 SERSC
International Journal of Software Engineering and Its Applications Vol. 10, No. 11 (2016)
is specified by the square rectangles. Significant states the Movement could be in is specified by the coloured ovals. The four important states of the activity diagram are showed in colour when the activity is started, when the activity is running, when the app process is killed and when the activity is terminated. When we start the app the state of the app as activity started, when the app has been started the state goes the running state, when we stop the app the state becomes terminated. When the app is launched the onCreate(), onStart() and onResume() methods are called. Before terminating onDestroy() method is called. When the app is running the onPause() method is called.
Figure 3. Flowchart of Android Activity
Copyright ⓒ 2016 SERSC
285
International Journal of Software Engineering and Its Applications Vol. 10, No. 11 (2016)
6. Mechanism Adopted/Tools using to Evaluate 6.1. Android SDK Most of the devices like touch screen phones ,personal digital assistant and tablets use android[1-3] as platform. Google [5] has the license for discharging the code. Because of the nature of the code is open source, it can be modified without any reservation and can be used. Also in Android [1-3] the scope for the use of the gadgets is broadened but if we consider android[1-3] this won’t be the case. 6.2. Global Positioning System (Gps) Technology From many years research has been going in the area of GPS [20] on the Android[13] by various researchers who helped in discovering many methodologies. GPS [20] can be useful in order to track various representatives which are being observed by the executive. In case there is a things are not flowing according to the schedule then, it can alarm the organization’s executives by helping in tracing the employees [12] and the concerned action can be taken. 6.3. Opencv OpenCV[9] helps in performing face recognition by making use of various algorithms on the mobile phone like Fisher faces which is used mostly for face recognition. An API is present in Android[1-3] which helps to detect faces by using Face Detector Class the operation is divided for client and server, so the complicated task is divided. Essex University and Labeled Faces in Wild are the databases used. If we consider the time taken then 1.4 sec are needed to recognize the face and it depends in the size of the database too. There are various parameters like False and Right Acknowledgement Rate as well as Right and False Dismissal Rate. OpenCV[9] is a collection of various utilities which is created by Intel. Various operations are done on an image like to match a finger print, recognize the face or to correct the histogram along with that various languages like Java[10,11] , Python, C,C++ or php are supported. Various techniques of image processing are supported. 6.4. Amazon Web Services Amazon.com provides a platform for cloud computing, which includes various collection of computing services. Amazon EC2 and Amazon S3 are the most popular services as they are relatively cheap and has a faster computation capacity. Apps for mobiles and tabs also use this service. In order to store the data on the cloud’s MySQL database is present on the cloud. Amazon provides the simple web service call for storing and retrieving the data stored in the Amazon MySQL database. We have use Amazon web services to deploy our database on cloud. 6.5. Eclipse There are more than one plug-ins on the Eclipse platform in java[10][11]. The small runtime engines are used in order to built subsystems. If there is a need to integrate tool we can make use of The Workbench. Each Workbench window contains one or more perspectives. Perspectives contain views and editors and control what appears in certain menus and tool bars. We can have more than one workbench windows at an given instance.
286
Copyright ⓒ 2016 SERSC
International Journal of Software Engineering and Its Applications Vol. 10, No. 11 (2016)
7. Implementation and Analysis 7.1. Admin Side The module consists of 4 subparts namely EMP Master, LOC Mater, Assign Job, All Jobs. The admin panel is as shown in Figure 7.1.1. The EMP Master takes the employee information such as name and IMEI number. The LOC master takes location name, address, latitude and longitude of the location to which job has been assigned. Through Assign Job, the admin can assign job title, job details, date and time of the job. Under All jobs the admin can view all the jobs assigned so far.
Figure 4. Admin panel
Figure 5. EMP Module
When we click on EMP Master it asks for the Employee details like employee name and EMEI number of the employee. EMEI number is the unique identification number which is used as the primary key for employee database. It also include "Add" and "Update" option by which we can edit the name and IMEI number. The entry can be deleted by Long Pressing it.
Copyright ⓒ 2016 SERSC
287
International Journal of Software Engineering and Its Applications Vol. 10, No. 11 (2016)
Figure 6. LOC Module
Figure 7. Assign the Job
The module LOC Module takes the name, address, Latitude and Longitude of the Location where the employee has assigned the job. The next step would be to assign the job to the employee. This module include entries like assigning the job name to the appropriate employee. The date and time would be directly taken from the mobile system date and time. We can view all jobs by clicking on "All Jobs" and it will show all the jobs assigned to employees.
Figure 8. View Jobs
288
Figure 9. Client Side
Figure 10. Job Status
Copyright ⓒ 2016 SERSC
International Journal of Software Engineering and Its Applications Vol. 10, No. 11 (2016)
7.2. Client Side The job added by the manager can be viewed by the employee under Employee Panel. Firstly, the employee has to perform Face Recognition to ensure his identity then only it will open the client module. Afterwards it will receive the job and it The jobs done will be shown as "DONE" and new jobs will be shown as "NEW". After the completion of the job, the manager can view the location of the employee in the map as shown below. 7.3. Data Maintained in Cloud This section consists of data stored in cloud in the form of tables. It consists of 3 tables, employee table, location table and jobs table. 7.3.1. Employee Table
Figure 11. Snapshot of Employee Table The id is dynamically allocated, name is the employee name and phone id is IMEI number. When the administrator enters the name of the employee and the corresponding IMEI number these values are stored in employee table. 7.3.2. Location Table
Figure 12. Snapshot of Location Table It consists of name, address, latitude and longitude of the location. It is used by the administrator in order to enter the name of the location, the address of the location and the latitude and longitude of the location where the employee is supposed to work.
Copyright ⓒ 2016 SERSC
289
International Journal of Software Engineering and Its Applications Vol. 10, No. 11 (2016)
7.3.3. Jobs Table
Figure 13. Snapshot of Jobs Table The jobs Table consists of the various entries shown in above fig of job table. The jobs table contains the job id, the location id, Message, Date and time of the job, Phone id that is the IMEI number, the location of the employee where the employee is supposed to do the job, thee time when the employee has to report the reporting time, the message of the employee and the status of the job whether it is done or not. 8. Advantages Virtual Reporting Application is extremely handy provision in order to trace the worker or the customer. The main need of this app is an Android Cell phone with the version from 2.2 to 4.2. Web Enacted gadget with GPS functionality having front VGA Cam. The provision gives the security utilizing Face Recognition. The information of customer is likewise put away in the Web Server. The issues of physically reporting might be Kept away which has numerous demerits and don't affirm about the individual's actual existence at the area. Virtual Reporting Application has numerous provisions in everyday life, for example, Track position of a driver driving vehicle or Track worker’s position and presence at particular place for your business. If you are a student then you can Track student’s attendance or you can track time spent on various ventures or customers or you can track attendance of members in a group. Track time used crosswise over different ventures or customers.
9. Conclusion The virtual reporting application can be used on android based mobile. The virtual reporting application has a user friendly interface for both the client and server. It provides the transparency of the data for the employee as well as the administrator. The application is scalable i.e., any number of the employees can use the client side and report their work done. The application provides security by providing the face recognition feature as well as the use of IMEI number for authentication. The application can be used irrespective of the organization. The future scope of the application is that it can made available on various mobile platforms and more security can be provided.
290
Copyright ⓒ 2016 SERSC
International Journal of Software Engineering and Its Applications Vol. 10, No. 11 (2016)
References [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] [12]
[13] [14] [15] [16] [17] [18] [19] [20]
Android Developer Guide: http://developer.android.com/guide/index.html. Android Fundamentals: http://developer.android.com/guide/topics/fundamentals.html Android User Interfaces: http://developer.android.com/guide/topics/ui/index.html Claas Richter,Yuzuru Tanaka and Gerald Bieber ”A Case Study of an Employee Portal with integrated Physical-Activity Monitoring”, 978-1-4244-9640-2/11, IEEE, (2011). Declaring Layout: http://developer.android.com/guide/topics/ui/declaring-layout.html G. T. Clarke, “Biometrics in the Workplace Where to Draw the Line?”, Personal Information Protection Act Conference, Calgary, Alberta, (2006). Google Maps API: http://code.google.com/android/add-ons/googleapis/reference/com/google/android/maps/package-summary.html GSM modem concepts - www.forum.huwai.com http://opencv.org Java concepts - www.java.sun.com Java tutorial - www.sun.com/java/tutorial.html W. Keh-Luh, C. Chi, and T. Chiu-Mei, “Integrating human resource management and knowledge management: from the viewpoint of core employees and organizational performance. International Journal of Organizational Innovation”, vol. 5, no. 1, (2012), pp. 109-137. K. Martin and R. E. Freeman, “Some problems with employee monitoring”, Journal of Business Ethics, vol. 43, (2003), pp. 353-361. Maps External Library: http://code.google.com/android/add-ons/google-apis/maps-overview.html Maps API Key: http://code.google.com/android/add-ons/google-apis/mapkey.html M. Camardella, “Electronic monitoring in the workplace”, Employee Relations Today, vol. 30, (2003), pp. 91-100. S. Boehle, “They’re watching you: workplace privacy is going, going….” Training, vol. 37, (2000), pp. 50-60. S. Doherty, Monitoring and Privacy: Is Your Head Still in the Sand? (2001), http://www.nwc.com/1213/1213fl.html S. Miller and J. Weckert, “Privacy, the workplace, and the Internet”, Journal of Business Ethics, vol. 28, (2000), pp. 255-266. S. C. Van der Spek and C. M. van Langelaar, “Using GPS-Tracking Technology for Urban Design Intervensions, Int. Arch. Photogramm. Remote Sens. Spatial Inf. Sci., XXXVIII-4/C21, 41-44, doi:10.5194/isprsarchives-XXXVIII-4-C21-41-2011, (2011).
Authors J. Vijayashree, he is working as Assistant Professor in Computer Application Division at VIT University, Vellore, Tamil Nadu, India. Her area of interest includes Data Mining and Artificial Intelligence
J. Jayashree, she is working as Assistant Professor in the School of Computer Engineering at VIT University, Vellore, Tamil Nadu, India. Her area of interest includes Intelligent computing and Artificial Intelligence
Copyright ⓒ 2016 SERSC
291
International Journal of Software Engineering and Its Applications Vol. 10, No. 11 (2016)
Wang Kai, he is pursuing M.Sc Computer Science at School of Computing Science and Engineering, VIT University, Vellore. His area of interests are Algorithm design an Pattern Recognition, operating Systems and cloud computing
Yang Zhenning, he is pursuing M.ScComputer Science at School of Computing Science and Engineering, VIT University, Vellore. His area of interests are Algorithm design an Pattern Recognition, operating Systems and cloud computing
Ronnie D. Caytiles, he had his Bachelor of Science in Computer Engineering- Western Institute of Technology, Iloilo City, Philippines, and Master of Science in Computer Science– Central Philippine University, Iloilo City, Philippines. He finished his Ph.D. in Multimedia Engineering, Hannam University, Daejeon, Korea. Currently, he serves as an Assistant Professor at Multimedia Engineering department, Hannam University, Daejeon, Korea. His research interests include Mobile Computing, Multimedia Communication, Information Technology Security, Ubiquitous Computing, Control and Automation.
N. Ch. S. N. Iyengar (b 1961), he currently Senior Professor at the School of Computer Science and Engineering at VIT University, Vellore-632014, Tamil Nadu, India. His research interests include Agent-Based Distributed Computing, Intelligent Computing, Network Security, Secured Cloud Computing and Fluid Mechanics. He had 30+ years of experience in teaching and research , guided many scholars, has authored several textbooks and had nearly 200+ research publications in reputed peer reviewed international journals. He served as PCM/reviewer/keynotespeaker/Invited speaker for many conferences. He serves as editorial board member for many international journals, reviews papers for many conferences with an interest of serving to the education community.
292
Copyright ⓒ 2016 SERSC