Disclaimer: This dissertation has been written by a student and is not an example of our professional work, which you can see examples of here.

Any opinions, findings, conclusions, or recommendations expressed in this dissertation are those of the authors and do not necessarily reflect the views of UKDiss.com.

Advanced Tour Log Monitoring System

Info: 15785 words (63 pages) Dissertation
Published: 11th Dec 2019

Reference this

Tagged: Information Systems

  1. INTRODUCTION
 Purpose of the system: The mobile revolution is sweeping the planet, with smart phones and tablets becoming primary computing devices and likely to become the new PCs for much of the developing world. This project ―Advanced Tour Log Monitoring System which is developed using android is a boon for Senior Level Government officers and solves the problem of tracking and monitoring the day to day work of the employees under them. Such a Mobile Application could also prove highly beneficial to on-the-go employees and Government officers who are on tour for official purposes. This will enhance the smooth functioning of the Government Departments as it will help in tracking down the regular status of the employees. Advanced Tour Log Monitoring System is a mobile application on Android phone. There are many smart phones available in market but android phones are growing in market. Hence our application is developed for Android. 1.2 Existing System: In the existing system employees used to maintain a tour log and the work they have done was being maintained manually i.e. entering details manually into Log Registers and MS-Excel spreadsheets. This process is difficult to handle if there are a large number of employees. 1.3 Proposed System: Now to overcome this problem the proposed system would provide a better and efficient method to maintain these records. The proposed system consists of a mobile application that will keep track of the employees. The details and the work done by the employees will be monitored by their respective department heads and group heads. In addition to this, it will also be used to improve the employees’ performance. Advantages:
  1. Proposed system enhances regular methods to assess the performance of the employees working under the High Level Government officers.
  1. The presence of an intelligent and adaptive adversary makes the employee monitoring problem highly non-stationary.
2. SYSTEM REQUIREMENTS   2.1 Hardware Requirements:
System : Pentium IV 2.4 GHz.
Hard Disk : 40 GB.
Ram : 1 GB.
2.2 Software Requirements:
Operating system : Windows XP/7 or higher.
Front : XML
Database : SQLite and PostGRE-SQL
Server : Glass Fish Server-4.1
IDE : Android Studio, Net-Beans
2.3 Modules of the system
  1. Admin Module
  1. Employee Module
Modules Description 2.3.1 Admin Module: Employees working in the department will be divided into groups. Each group will have a group head, who when logs in can view the list of employees working under him/her and can check the status of the work done by the group members.
2.3.2 Employee Module: Employees can upload their documents and photos from the events. The data will be stored locally. The data will be pushed to centralized server through RESTFUL web services. MIS is provided to higher authorities to improve the performance of the employee. 3. SYSTEM STUDY
3.1 Feasibility Study
The feasibility of the project is analyzed in this phase and business proposal is put forth with a very general plan for the project and some cost estimates. For feasibility analysis, some understanding of the major requirements for the system is essential. Three key considerations involved in the feasibility analysis are
  1.            Economical Feasibility
  1.            Technical Feasibility
  1.            Social Feasibility
  1. Economical Feasibility
This study is carried out to check the economic impact that the system will have on the organization. The amount of fund that the company can pour into the research and development of the system is limited. The expenditures must be justified. Only the customized products had to be purchased. 3.1.2 Technical Feasibility This study is carried out to check the technical feasibility, that is, the technical requirements of the system. This will lead to high demands on the available technical resources. The amount of fund that the company can pour into the research and development of the system is limited. The expenditures must be justified. Only the customized products had to be purchased. 3.1.3 Social Feasibility The aspect of study is to check the level of acceptance of the system by the user. The amount of fund that the company can pour into the research and development of the system is limited. The expenditures must be justified. Only the customized products had to be purchased. users alone depends on the ways that square measure utilized to coach the user regarding the system and to create him accustomed to it. His level of confidence should be raised in order that he's conjointly ready to build some constructive criticism, that is welcome, as he's the ultimate user of the system. 4. Code surroundings Now is associate exciting time for mobile developers. Mobile phones haven't been additional well-liked, and powerful sensible phones square measure currently a daily selection for shoppers. fashionable and versatile phones packing hardware options like GPS, accelerometers, and bit screens square measure a tasty platform upon that to make innovative mobile applications. Android could be a code platform and software for mobile devices supported the UNIX operating system software and developed by Google and also the Open telephone set Alliance. Users alone rely on the ways that square measure utilized to coach the user regarding the system and to create him accustomed to it. His level of confidence should be raised in order that he's conjointly ready to build some constructive criticism, that is welcome, as he's the ultimate user of the system. 4.1 Automaton design The following diagram shows the key parts of the automaton software. every section is delineate in additional detail below. Fig: 4.1: Design Of automaton 4.1.1. Applications By providing associate open development platform, automaton offers developers the flexibility to make very made and innovative applications. Developers square measure liberated to make the most of the device hardware, access location data, run background services, set alarms, add notifications to the standing bar, and much, much more. 4.1.2. Application Framework By providing associate open development platform, automaton offers developers the flexibility to make very made and innovative applications. Developers square measure liberated to make the most of the device hardware, access location data, run background services, set alarms, add notifications to the standing bar, and much, much more. Developers have full access to a similar framework Apis employed by the core applications. the appliance design is meant to change the recycle of components; any application will publish its capabilities and the other application could then build use of these capabilities (subject to security constraints enforced  by the framework). This same mechanism permits parts to get replaced by the user. Underlying all applications could be a set of services and systems, including: 1. a chic associated protractile set of Views that may be wont to build an application, as well as lists, grids, text boxes, buttons, associated even an embeddable application. 2. Content suppliers that modify applications to access information from alternative applications(such as Contacts), or to share their own information. 3. A Resource Manager, providing access to non-code resources like localized strings, graphics, and layout files. 4. A Notification Manager that permits all applications to show custom alerts within the standing bar. 5. associate Activity Manager that manages the lifecycle of applications and provides a typical navigation back stack. 4.1.3. Libraries Android includes a group of C/C++ libraries employed by numerous parts of the automaton system. These capabilities square measure exposed to developers through the automaton application framework. a number of the core libraries square measure listed below: System C library: A BSD-derived implementation of the quality C system library (libc),tuned for embedded Linux-based devices. Media Libraries:Based on Packet Video's Open CORE; the libraries support playback andrecording of the many well-liked audio and video formats, likewise as static image files, as well as MPEG4, H.264, MP3, AAC, AMR, JPG, and PNG. Surface Manager:Manages access to the show scheme and seamlessly composites 2Dand 3D graphic layers from multiple applications. Lib net Core:A fashionable application engine that powers each the automaton browser andan embeddable net read. SGL:The underlying second graphics engine. 3D libraries:An implementation supported OpenGL Es one.0 APIs; the libraries use eitherhardware 3D acceleration (where available) or the enclosed, extremely optimized 3D code rasterizer. Free Type:Bitmap and vector font rendering. SQLite: a robust and light-weight electronic database engine accessible to all or any applications. 4.1.4. automaton Runtime At a similar level there's automaton Runtime, wherever the most element Dalvik Virtual Machine is found. it absolutely was designed specifically for automaton running in restricted surroundings, wherever the restricted battery, CPU, memory and information storage square measure the most problems. automaton provides an integrated tool ―dx‖, that converts generated computer memory unit code from .jar to .dex file, after this byte code becomes rather more economical to run on the tiny processors. Fig 4.1.4: Conversion from .java to .dex file 4.1.5 UNIX operating system Kernel Android depends on UNIX operating system version two.6 for core system services like security, memory management, method management, network stack, and driver model. The kernel conjointly acts as associate abstraction layer between the hardware and also the remainder of the code stack. 4.2. Developing Applications 4.2.1. Application Building Blocks We can consider associate automaton application as a group of parts, of assorted types. These parts square measure for the foremost half quite loosely coupled, to the degree wherever you'll be able to accurately describe them as a federation of parts instead of one cohesive application. Generally, these parts all run within the same system method. It's doable (and quite common) to make multiple threads at intervals that method, and it is also doable to make fully separate kid processes if you would like to. Such cases square measure pretty uncommon tho', as a result of automaton tries terribly laborious to create processes clear to your code. Google provides 3 versions of SDK for Windows, for macintosh OSX and one for UNIX operating system.The developer will use automaton plugin for Eclipse IDE or different day like intelliJ.First step for automaton developer is to decompose the potential application into the elements, that ar supported by the platform. the main building blocks ar these:  • Activity  • Intent Receiver  • Service • Content Provider   4.2.1.1 Activity Activity could be a program element, that corresponds to at least one screen at time. It implies that for the straightforward application like Address Book, the developer ought to have one activity for displaying contacts, another activity component for displaying more detailed information of chosen name and etc. 4.2.1.2. Intent Receiver Intent receiver wakes up a predefined action through the external event. For example,for the application like Email Inbox, the developer should have intent receiver and register his code through XML to wake up an alarm notification, when the user receives email. 4.2.1.3. Service Service is a task, which is done in the background. It means that the user can start an application from the activity window and keep the service work, while browsing other applications. For instance, he can browse Google Maps application while holding a call or listening music while browsing other applications. 4.2.1.4. Content Provider Content provider is a component, which allows sharing some of the data with other processes and applications. It is the best way to communicate the applications between each other. Android will ship with a set of core applications including an email client, SMS program, calendar, maps, browser, contacts, and others. All applications are written using the Java programming language. 4.2.2. AndroidManifest.xml The AndroidManifest.xml file is the control file that tells the system what to do with all the top-level components (specifically activities, services, intent receivers, and content providers described below) you've created. For instance, this is the "glue" that actually specifies which Intents your Activities receive. A developer should predefine and list all components, that he needs to use in the specific AndroidManifest.xml file. it's a needed file for all the applications and is found within the root folder. it's potential to specify all world values for the package, all the elements and its categories used, intent filters, that describe wherever and once the sure activity ought to begin, permissions and instrumentation like security management and testing. Here is an example of AndroidManifest.xml file: 1. <?xml version="1.0" encoding="utf-8"?> 2. <manifest xmlns_android="http://schemas.android.com/apk/res/android" 3. Package ="dk.mdev.android.hello"> 4. <application android_icon="@drawable/icon"> 5. <activity class=".HelloAndroid" android_label="@string/app_name"> 6. <intent-filter> 7. <action android_value="android.intent.action.MAIN" /> 8. <category android_value="android.intent.category.LAUNCHER"/> 9. </intent-filter> 10. </activity> 11. </application> 12. </manifest> The line two may be a namespace declaration, that makes a typical humanoid attributes out there for that application. within the line four there's one &lt;application&gt; part, wherever the developer specifies all application level parts and its properties employed by the package. Activity category within the line five represents the initial screen the user sees and it should have one or additional &lt;intent-filter&gt; components to explain the actions that activity supports. 4.2.3. Application Lifecycle In Android, each application runs in its own method, which provides higher performance in security, protected memory and alternative advantages. Therefore, humanoid is accountable to run and close up properly these processes once it's required. It is necessary that application developers perceive however completely different application parts (in explicit Activity, Service, and Broadcast Receiver) impact the time period of the application's method. Not mistreatment these parts properly may result within the system killing the application's method whereas it's doing necessary work. To determine that processes ought to be killed once low on memory, humanoid places every method into associate degree "importance hierarchy" supported the parts running in them and also the state of these parts. These method varieties square measure (in order of importance). 1. A foreground method is one that's needed for what the user is presently doing. numerous application parts will cause its containing method to be thought of foreground in several ways in which. A method is taken into account to be within the foreground if any of the subsequent conditions hold: i. it's running associate degree Activity at the highest of the screen that the user is interacting with (its onResume() technique has been called). ii. it's a BroadcastReceiver that's presently running (its roadcastReceiver.onReceive() technique is executing). iii. it's a Service that's presently corporal punishment code in one in all its callbacks ( Service.onCreate(), Service.onStart(), or Service.onDestroy()). There will solely ever be a number of such processes within the system, and these can solely be killed as a final resort if memory is thus low that not even these processes will still run. Generally, at now, the device has reached a memory paging state, thus this action is needed so as to stay the interface responsive. 2. a noticeable method is one holding associate degree Activity that's visible to the user on-screen however not within the foreground (its onPause() technique has been called). this might occur, as an example, if the foreground Activity is displayed as a dialog that enables the previous Activity to be seen behind it. Such a method is taken into account extraordinarily necessary and can not be killed unless doing thus is needed to stay all foreground processes running. 3. A service method is one holding a Service that has been started with the startService() technique. tho' these processes aren't directly visible to the user, they're usually doing things that the user cares regarding (such as background mp3 playback or background network information transfer or download), therefore the system can invariably keep such methodes running unless there's not enough memory to retain all foreground and visual process. 4. A background method is one holding associate degree Activity that's not presently visible to the user (its onStop() technique has been called). These processes haven't any direct impact on the user expertise. Provided they implement their Activity life-cycle properly (see Activity for additional details), the system will kill such processes at any time to reclaim memory for one in all the 3 previous processes varieties. sometimes there square measure several of those processes running, so that they square measure unbroken in associate degree LRU list to make sure the method that was last seen by the user is that the last to be killed once running low on memory. 5. associate degree empty method is one that does not hold any application program parts. the sole reason to stay such a method around is as a cache to boost startup time following time component of its application has to run. As such, the system can usually kill these processes so as to balance overall system resources between these empty cached processes and also the underlying kernel caches.   Fig: 4.2.3: Flowchart Showing The Lifecycle Of An Activity
  1. Advantages
  • Open-Android enables you to get to center cell phone usefulness through standard API calls. • All applications are equivalent Android does not separate between the telephone's essential and third-party applications - even the dialer or home screen can be replaced. • Breaking down limits Combine data from the web with information on the telephone ,, for example, contacts or geographic area - to make new client encounters. • Fast and simple improvement The SDK contains what you have to construct and run android applications, including a true device emulator and              advanced investigating apparatuses.  
  1. Disadvantages
• Security-Making source code accessible to everybody definitely welcomes the consideration of dark cap hackers. • Open Source-A disservice of open-source advancement is that anybody can examine the source code to discover vulnerabilities and compose exploits. • Login-Platform doesn't keep running on a scrambled document framework and has a defenseless log-in. • Incompetence - Google's reliance on equipment and bearer accomplices puts the last item out of their control.   4.4 Java Java is a programming language originally developed by James Gosling at Sun Microsystems (which is currently an auxiliary of Oracle Corporation) and discharged in 1995 as a center part of Sun Microsystems' Java stage. The dialect determines a lot of its sentence structure from C and C++ yet has a more straightforward protest demonstrate and less low-level offices. Java applications are commonly assembled to bytecode (class document) that can keep running on any Java Virtual Machine (JVM) paying little respect to PC engineering. Java is broadly useful, simultaneous, class-based, and question arranged, and is particularly intended to have as few execution conditions as could reasonably be expected. It is proposed to give application designers "a chance to compose once, run anyplace". Java is considered by numerous as a standout amongst the most compelling programming dialects of the twentieth century, and is generally utilized from application programming to web applications. The first and reference usage Java compilers, virtual machines, and class libraries were created by Sun from 1995. As of May 2007, in consistence with the details of the Java Community Process, Sun relicensed the vast majority of their Java advances under the GNU General Public License. Others have likewise created elective usage of these Sun advances, for example, the GNU Compiler for Java and GNU Classpath. 4.6 JDBC: With an end goal to set an autonomous database standard API for Java; Sun Microsystems created Java Database Connectivity, or JDBC. JDBC offers a non specific SQL database get to system that gives a steady interface to an assortment of RDBMSs. This predictable interface is accomplished using "module" database availability modules, or DRIVERS. In the event that a database merchant wishes to have JDBC support, he or she should give the driver to every stage that the database and Java keep running on. To pick up a more extensive acknowledgment of JDBC, Sun construct JDBC's structure with respect to ODBC. As you found before in this section, ODBC has far reaching support on an assortment of stages. Constructing JDBC in light of ODBC will enable merchants to put up JDBC drivers for sale to the public significantly quicker than building up a totally new availability arrangement. JDBC was reported in March of 1996. It was discharged for a 90 day open survey that finished June 8, 1996. In view of client information, the last JDBC v1.0 determination was discharged before long. The rest of this segment will cover enough data about JDBC for you to recognize what really matters to it and how to utilize it viably. This is in no way, shape or form an entire review of JDBC. That would fill a whole book. 4.7 JDBC Goals: Few programming bundles are planned without objectives as a primary concern. JDBC is one that, in light of its numerous objectives, drove the advancement of the API. These objectives, in conjunction with early commentator criticism, have concluded the JDBC class library into a strong system for building database applications in Java. The objectives that were set for JDBC are essential. They will give you some knowledge with reference to why certain classes and functionalities carry on the way they do. The eight outline objectives for JDBC are as per the following: 4.7.1 SQL Level API The creators felt that their fundamental objective was to characterize a SQL interface for Java. In spite of the fact that not the least database interface level conceivable, it is at a sufficiently low level for more elevated amount devices and APIs to be made. Alternately, it is at a sufficiently high level for application software engineers to utilize it unhesitatingly. Achieving this objective takes into account future device merchants to "create" JDBC code and to conceal a hefty portion of JDBC's complexities from the end client. 1. SQL Conformance SQL sentence structure shifts as you move from database seller to database merchant. With an end goal to bolster a wide assortment of merchants, JDBC will enable any question explanation to be gone through it to the hidden database driver. This enables the availability module to deal with non-standard usefulness in a way that is appropriate for its clients. 2. JDBC must be implemental on top of regular database interfaces The JDBC SQL API must "sit" on top of other normal SQL level APIs. This objective enables JDBC to utilize existing ODBC level drivers by the utilization of a product interface. This interface would make an interpretation of JDBC calls to ODBC and the other way around. 3. Provide a Java interface that is reliable with whatever remains of the Java framework In light of Java's acknowledgment in the client group up to this point, the architects feel that they ought not stray from the present plan of the center Java framework. 4. Keep it basic This objective most likely shows up in all product plan objective postings. JDBC is no special case. Sun felt that the outline of JDBC ought to be exceptionally straightforward, taking into consideration just a single strategy for finishing an errand for each system. Permitting copy usefulness just serves to befuddle the clients of the API. 5. Use in number, static writing wherever conceivable Solid writing takes into consideration more blunder checking to be done at order time; additionally, less mistake show up at runtime. 6. Keep the normal cases straightforward Since as a general rule, the typical SQL calls utilized by the developer are straightforward SELECT's, INSERT's, DELETE's and UPDATE's, these inquiries ought to be easy to perform with JDBC. Be that as it may, more unpredictable SQL proclamations ought to likewise be conceivable. At last we chose to continue the execution utilizing Java Networking..And for progressively refreshing the reserve table we go for MS Access database.Java has two things: a programming dialect and a stage. Java is an abnormal state programming dialect that is the greater part of the accompanying Simple Architecture-unbiased Protest oriented Portable Distributed High-execution Interpreted multithreaded Robust Dynamic Java is likewise strange in that every Java program is both gathered and translated. With an accumulate you make an interpretation of a Java program into a middle of the road dialect called Java byte codes the stage autonomous code guideline is passed and keep running on the PC. Accumulation happens just once; translation happens each time the program is executed. The figure shows how this functions. JavaProgram Interpreter Compilers  My Program
JavaProgram Interpreter
Compilers My Program
You can consider Java byte codes as the machine code guidelines for the Java Virtual Machine (JavaVM). Each Java mediator, regardless of whether it's a Java improvement apparatus or a Web program that can run Java applets, is a usage of the Java VM. The Java VM can likewise be actualized in equipment. Java byte codes help make "compose once, run anyplace" conceivable. You can assemble   your Java program into byte codes on my stage that has a Java compiler. The byte codes can then be run any execution of the Java VM. For instance, a similar Java program can run Windows NT, Solaris, and Macintosh. 4.8 Glass-Fish 4.1 web server: GlassFish is an open-source application server project started by Sun Microsystems for the Java EE platform and now sponsored by Oracle Corporation. The supported version is called Oracle GlassFishServer. GlassFish is free software, dual-licensed under two free software licences: the Common Development and Distribution License (CDDL) and the GNU General Public License (GPL) with the class path exception. 4.9 Android Studio IDE: Android Studio is the authority Integrated Development Environment (IDE) for Android application advancement, in view of IntelliJ IDEA . On top of IntelliJ's intense code supervisor and engineer devices, Android Studio offers considerably more elements that upgrade your profitability when building Android applications, for example, • A adaptable Gradle-based form framework • A quick and highlight rich emulator • A bound together condition where you can create for all Android gadgets • Instant Run to push changes to your running application without building another APK • Code layouts and GitHub incorporation to help you fabricate regular application components and import test code. • Extensive testing devices and structures • Lint devices to catch execution, ease of use, form similarity, and different issues • C++ and NDK bolster • Built-in support for Google Cloud Platform, making it simple to coordinate Google Cloud Messaging and App Engine                   Project Structure Each venture in Android Studio contains at least one modules with source code records and asset documents. Sorts of modules include: Android application modules Library modules Google App Engine modules As a matter of course, Android Studio shows your venture records in the Android extend see. This view is sorted out by modules to give fast access to your venture's key source documents. All the construct records are unmistakable at the top level under Gradle Scripts and each application module contains the accompanying envelopes: Shows: Contains the AndroidManifest.xml record. Java: Contains the Java source code records, including JUnit test code. Res: Contains all non-code assets, for example, XML designs, UI strings, and bitmap pictures. The Android extend structure on circle varies from this smoothed portrayal. To see the real document structure of the venture, select Project from the Project dropdown (in figure 1, it's appearing as Android). You can likewise tweak the perspective of the venture documents to concentrate on particular parts of your application advancement. For instance, choosing the Problems perspective of your venture shows connections to the source documents containing any perceived coding and sentence structure mistakes, for example, a missing XML component shutting tag in a format record. 4.10 Net Beans IDE: NetBeans is a product advancement stage written in Java. The NetBeans Platform enables applications to be created from an arrangement of secluded programming parts called modules. Applications in view of the NetBeans Platform, including the NetBeans coordinated advancement condition (IDE), can be stretched out by outsider designers. The NetBeans IDE is basically proposed for advancement in Java, additionally underpins different dialects, specifically PHP, C/C++ and HTML5. NetBeans is cross-stage and keeps running on Microsoft Windows, Mac OS X, Linux, Solaris and different stages supporting a perfect JVM. The NetBeans Team effectively bolster the item and look for highlight proposals from the more extensive group. Each discharge is gone before by a period for Community testing and input. 4.11 RESTful Web-Services:
REST remains for Representational State Transfer. REST is a web principles based design and uses HTTP Protocol for information correspondence. It rotates around assets where each segment is an asset and an asset is gotten to by a regular interface utilizing HTTP standard strategies. REST was first presented by Roy Fielding in year 2000. In REST design, a REST Server essentially gives access to assets and the REST customer gets to and shows the assets. Here every asset is distinguished by URIs/Global IDs. REST utilizes different portrayals to speak to an asset like Text, JSON and XML. JSON is presently the most famous organization being utilized as a part of Web Services. HTTP Methods The accompanying HTTP strategies are most usually utilized as a part of a REST based engineering. • GET − Provides a read just access to an asset. • PUT − Used to make another asset. • DELETE − Used to expel an asset. • POST − Used to refresh a current asset or make another asset. • OPTIONS − Used to get the upheld operations on an asset. Peaceful Web Services A web administration is a gathering of open conventions and benchmarks utilized for trading information between applications or frameworks. Programming applications written in different programming dialects and running on different stages can utilize web administrations to trade information over PC systems like the Internet in a way like between process correspondence on a solitary PC. This interoperability (e.g., amongst Java and Python, or Windows and Linux applications) is because of the utilization of open models. Web administrations in view of REST Architecture are known as RESTful Web Services. These web administrations utilize HTTP techniques to actualize the idea of REST engineering. A RESTful web benefit as a rule characterizes a URI (Uniform Resource Identifier), which is an administration that gives asset portrayal, for example, JSON and an arrangement of HTTP Methods. Making RESTFul Web Service In this instructional exercise, we will make a web benefit called User Management with the accompanying functionalities − Sr.No. HTTP URI Operation Operation Method   Type 1 GET /UserService/users Get rundown of users Read Only 2 GET /UserService/clients/1 Get User with Id 1 Read Only 3 PUT /UserService/clients/2 Insert User with Id 2 Idempotent 4 POST /UserService/clients/2 Update User with Id 2 N/A 5 DELETE /UserService/clients/1 Delete User with Id 1 Idempotent 6 OPTIONS /UserService/users List the upheld operations Read Only in web benefit This instructional exercise will direct you on the most proficient method to set up an improvement domain to begin your work with Jersey Framework to make RESTful Web Services. Jersey structure executes JAX-RS 2.0 API, which is a standard detail to make RESTful Web Services. This instructional exercise will likewise show you how to setup JDK, Tomcat and Eclipse on your machine before you the Jersey Framework is setup. Great Resources Representation REST does not force any limitation on the organization of an asset portrayal. A customer can request JSON portrayal though another customer may request XML portrayal of a similar asset to the server et cetera. It is the duty of the REST server to pass the customer the asset in the arrangement that the customer gets it. Taking after are some critical focuses to be considered while outlining a portrayal configuration of an asset in RESTful Web Services. • Understandability − Both the Server and the Client ought to have the capacity to comprehend and use the portrayal arrangement of the asset. • Completeness − Format ought to have the capacity to speak to an asset totally. For instance, an asset can contain another asset. Configuration ought to have the capacity to speak to straightforward and complex structures of assets. • Linkablity − An asset can have a linkage to another asset, an organization ought to have the capacity to deal with such circumstances. Be that as it may, at present the vast majority of the web administrations are speaking to assets utilizing either XML or JSON organize. There are a lot of libraries and instruments accessible to comprehend, parse, and alter XML and JSON information. Serene Web Services make utilization of HTTP conventions as a medium of correspondence amongst customer and server. A customer communicates something specific in type of a HTTP Request and the server reacts as a HTTP Response. This strategy is named as Messaging. These messages contain message information and metadata i.e. data about message itself. Give us a chance to observe on the HTTP Request and HTTP Response messages for HTTP 1.1.
HTTP Request
An  HTTP  Request  has  five  major parts −
   Verb − Indicates the HTTP methods
such as GET, POST, DELETE,
PUT, etc.
   URI  Uniform Resource Identifier
(URI) to identifythe resource  on
the server.
   HTTP Version − Indicates theHTTP
version. For example, HTTP v1.1.
  1.              Request Header − Contains metadata for the HTTP Request message as key-value pairs. For example, client (or browser) type, format supported by the client, format of the message body, cache settings, etc.
  2.              Request Body − Message content or Resource representation.
HTTP Response An HTTP Response has four major parts −  Status/Response Code   Indicates  the Server status for the requested resource. For example, 404 means resource not found and 200 means response is ok.  HTTP Version   Indicates  the  HTTP version. For example HTTP v1.1.
  1.                 Response Header − Contains metadata for the HTTP Response message as keyvalue pairs. For example, content length, content type, response date, server type, etc.
  1.                 Response Body − Response message content or Resource representation.
Example As we have explained in the let us put http://localhost:8080/UserManagement/rest/UserService/users in the POSTMAN with a GET request. If you click on the Preview button which is near the send button of Postman and then click on the Send button, you may see the following output. Here you can see, the program sent a GET ask for and got a reaction body as XML. Tending to alludes to finding an asset or numerous assets lying on the server. It is undifferentiated from find a postal address of a man. Each resource in REST architecture is identified by its URI              (Uniform              Resource Identifier). A URI is of the accompanying arrangement − <protocol>://<service-name>/<ResourceType>/<ResourceID> Motivation behind a URI is to find a resource(s) on the server facilitating the web benefit. Another essential characteristic of a demand is VERB which distinguishes the operation to be performed on the asset. For instance, in RESTful Web Services - First Application section, the URI is http://localhost:8080/UserManagement/rest/UserService/clients and the VERB is GET. Building a Standard URI The accompanying are critical focuses to be considered while outlining a URI − • Use Plural Noun − Use plural thing to characterize assets. For instance, we've utilized clients to distinguish clients as an asset. • Avoid utilizing spaces − Use underscore (_) or hyphen (- ) when utilizing a long asset name. For instance, utilize authorized_users rather than authorized%20users. • Use lowercase letters − Although URI is case-unfeeling, it is a decent practice to keep the url in lower case letters as it were. • Maintain Backward Compatibility − As Web Service is an open administration, a URI once made open ought to dependably be accessible. On the off chance that, URI gets refreshed, divert the more established URI to another URI utilizing the HTTP Status code, 300. • Use HTTP Verb − Always utilize HTTP Verb like GET, PUT and DELETE to do the operations on the asset. It is bad to utilize operations name in the URI. Case Taking after is a case of a poor URI to bring a client. http://localhost:8080/UserManagement/rest/UserService/get Client/1 Taking after is a case of a decent URI to bring a client. http://localhost:8080/UserManagement/rest/UserService/utilize r As we have talked about in the before sections that RESTful Web Service utilizes a great deal of HTTP verbs to decide the operation to be completed on the predetermined resource(s). The accompanying table expresses the cases of the most regularly utilized HTTP Verbs. HTTP Method, URI and Operation GET • http://localhost:8080/UserManagement/rest/UserService/clients • Gets the rundown of clients. • (Read Only) GET • http://localhost:8080/UserManagement/rest/UserService/clients/1 • Gets the User of Id 1 • (Read Only) PUT • http://localhost:8080/UserManagement/rest/UserService/clients/2 • Inserts User with Id 2 • (Idempotent) POST • http://localhost:8080/UserManagement/rest/UserService/clients/2 • Updates the User with Id 2 • (N/A) Erase • http://localhost:8080/UserManagement/rest/UserService/clients/1 • Deletes the User with Id 1 • (Idempotent) Choices • http://localhost:8080/UserManagement/rest/UserService/clients • Lists out the bolstered operations in a web benefit. • (Read Only) HEAD • http://localhost:8080/UserManagement/rest/UserService/clients • Returns the HTTP Header just, no Body. • (Read Only) 5. SYSTEM DESIGN 5.1 INPUT DESIGN: The information configuration is the connection between the data framework and the client. It includes the creating determination and methods for information readiness and those means are important to put exchange information into a usable frame for preparing can be accomplished by assessing the PC to peruse information from a composed or printed report or it can happen by having individuals entering the information specifically into the framework. The outline of info concentrates on controlling the measure of information required, controlling the mistakes, staying away from deferral, evading additional means and keeping the procedure straightforward. The information is outlined in such a path in this way, to the point that it gives security and convenience with holding the protection. Input Design considered the accompanying things:
  • What information ought to be given as information?
  • How the information ought to be orchestrated or coded?
  • The exchange to manage the working staff in giving info. Techniques for get ready
  • info approvals and ventures to take after when blunder happen
OBJECTIVES 1. Input Design is the way toward changing over a client situated depiction of the contribution to a PC based framework. This outline is vital to maintain a strategic distance from blunders in the information input process and demonstrate the right bearing to the administration for getting right data from the mechanized framework. 2. It is accomplished by making easy to use screens for the information passage to deal with substantial volume of information. The objective of outlining info is to make information passage less demanding and to be free from mistakes. The information section screen is outlined such that every one of the information controls can be performed. It likewise gives record seeing offices. 3. When the information is entered it will check for its legitimacy. Information can be entered with the assistance of screens. Suitable messages are given as when required so that the client won't be in maize of moment. Along these lines the goal of info configuration is to make an information design that is anything but difficult to take after. 5.2 OUTPUT DESIGN: A quality yield is one, which meets the necessities of the end client and presents the data plainly. In any framework aftereffects of handling are imparted to the clients and to other framework through yields. In yield plan it is resolved how the data is to be uprooted for prompt need and furthermore the printed version yield. It is the most imperative and direct source data to the client. Effective and canny yield configuration enhances the framework's relationship to help client basic leadership. 1. Designing PC yield ought to continue in a sorted out, well thoroughly considered way; the correct yield must be created while guaranteeing that each yield component is outlined with the goal that individuals will discover the framework can utilize effortlessly and viably. At the point when investigation plan PC yield, they ought to Identify the particular yield that is expected to meet the necessities. 2. Select strategies for introducing data. 3. Create record, report, or different arrangements that contain data delivered by the framework. The yield type of a data framework ought to finish at least one of the accompanying destinations.
  • Convey data about past exercises, current status or projections of the
  • Future.
  • Signal imperative occasions, openings, issues, or notices.
  • Trigger an activity.
  • Confirm an activity.
5.3 UML Concepts: The Unified Modeling Language (UML) is a standard dialect for composing programming blue prints. The UML is a dialect for • Visualizing • Specifying • Constructing • Documenting the antiquities of a product concentrated framework. The UML is a dialect which gives vocabulary and the standards to joining words in that vocabulary with the end goal of correspondence. A displaying dialect is a dialect whose vocabulary and the principles concentrate on the reasonable and physical portrayal of a framework. Demonstrating yields a comprehension of a framework. 5.3.1 Building Blocks of the UML: The vocabulary of the UML encompasses three kinds of building blocks:
  1.      Things
 
  1.      Relationships
 
  1.      Diagrams
Things are the abstractions that are first-class citizens in a model; relationships tie these things together; diagrams group interesting collections of things.
1. Things in the UML There are four kinds of things in the UML:
  • Structural things
 
  • Behavioral things
 
  • Grouping things
 
  • Annotational things
Structural things are the nouns of UML models. The structural things used in the projectdesign are: First, a class is a description of a set of objects that share the same attributes, operations, relationships and semantics. Window Origin Size open() close() move() display() Fig: 5.3.1.1 Classes Second, a use case is a description of set of sequence of actions that a system performs that yields an observable result of value to particular actor.
Fig: 5.3.1.2 Use Cases
Third, a node is a physical element that exists at runtime and represents a computational resource, generally having at least some memory and often processing capability. Fig: 5.3.1.3 Nodes Behavioral things are the dynamic parts of UML models. The behavioral thing used is: Interaction: An interaction is a behaviour that comprises a set of messages exchanged among a set of objects within a particular context to accomplish a specific purpose. An interaction involves a number of other elements, including messages, action sequences (the behaviour invoked by a message, and links (the connection between objects). Fig: 5.3.1.4 Messages 2. Relationships in the UML: There are four kinds of relationships in the UML:
  • Dependency
 
  • Association
 
  • Generalization
 
  • Realization
A dependency is a semantic relationship between two things in which a change to one thing may affect the semantics of the other thing (the dependent thing). Fig: Dependencies An association is a structural relationship that describes a set links, a link being a connection among objects. Aggregation is a special kind of association, representing a structural relationship between a whole and its parts. Fig: Association A generalization is a specialization/ generalization relationship in which objects of the specialized element (the child) are substitutable for objects of the generalized element (the parent). Fig: Generalization A realization is a semantic relationship between classifiers, where in one classifier specifies a contract that another classifier guarantees to carry out. Fig: Realization                               5.3.2 UML DIAGRAMS: UML remains for Unified Modeling Language. UML is an institutionalized universally useful displaying dialect in the field of protest arranged programming designing. The standard is overseen, and was made by, the Object Management Group. The objective is for UML to wind up plainly a typical dialect for making models of question arranged PC programming. In its present frame UML is contained two noteworthy parts: a Meta-demonstrate and a documentation. Later on, some type of strategy or process may likewise be added to; or connected with, UML. The Unified Modeling Language is a standard dialect for determining, Visualization Building and archiving the ancient rarities of programming framework, and additionally for business demonstrating and other non-programming frameworks. The UML speaks to a gathering of best designing practices that have demonstrated fruitful in the displaying of vast and complex frameworks. The UML is an essential piece of creating items arranged programming and the product advancement prepare. The UML utilizes for the most part graphical documentations to express the plan of programming tasks. Objectives: The Primary objectives in the outline of the UML are as per the following: 1. Provide clients a prepared to-utilize, expressive visual displaying Language with the goal that they can create and trade significant models. 2. Provide extendibility and specialization systems to amplify the center ideas. 3. Be free of specific programming dialects and advancement handle. 4. Provide a formal reason for understanding the displaying dialect. 5. Encourage the development of OO instruments showcase. 6. Support more elevated amount improvement ideas, for example, coordinated efforts, structures, examples and parts. 7. Integrate prescribed procedures. 1. USE CASE DIAGRAM: An utilization case outline in the Unified Modeling Language (UML) is a kind of behavioral graph characterized by and made from a Use-case examination. Its motivation is to introduce a graphical review of the usefulness given by a framework as far as performing artists, their objectives (spoken to as utilize cases), and any conditions between those utilization cases. The primary motivation behind an utilization case outline is to show what framework capacities are performed for which performer. Parts of the performers in the framework can be delineated. Fig: 5.3.2.1 Admin Use case Diagram The main purpose of Use-Case diagram is to discuss about the roles of the actors (modules) in the system. We have two actors named as User and Admin.
Fig: 5.3.2.1.1 Employee Use Case Diagram 2. CLASS DIAGRAM: In software engineering, a class diagram in the Unified Modeling Language (UML) is a type of static structure diagram that describes the structure of a system by showing the system's
classes, their attributes, operations (or methods), and the relationships among the classes. It explains which class contains information. Fig: 5.3.2.2 Class Diagram In class diagram, we discuss about the attributes and the operations of the actors. In this project User operations are they can upload and their details & these uploaded details can viewed by their respective heads. Where Admin can view the employees, activate the new users, groups etc. 3. ACTIVITY DIAGRAM:
Activity diagrams are graphical representations of workflows of stepwise activities and actions with support for choice, iteration and concurrency. In the Unified Modeling
Language, activity diagrams can be used to describe the business and operational step-by-step workflows of components in a system. An activity diagram shows the overall flow of control. Fig: 5.3.2.3 Admin Activity Diagram Activity diagrams are graphical representation of workflow of activities and actions performed by the actors. In this project, firstly the Administrator registers the Department and adds employees pertaining to that department. These employees are further divided into groups and then among these employees a group head is given who will update the regular information to the Head of the Department.
Fig: 5.3.2.3.1 Employee Activity Diagram Employee Activity Diagram shows that the employ has to upload and submit their work status. 3. CODING
6.1 Core Application Development 1. DBHandler.java package in.sited.atms_1; import android.content.ContentValues; import android.content.Context; import android.content.Intent; import android.database.Cursor; import android.database.SQLException; import android.database.sqlite.SQLiteDatabase; import android.database.sqlite.SQLiteOpenHelper; import android.os.Bundle; import android.view.View; import android.widget.Toast; import java.util.ArrayList; import static android.R.id.list; import static android.content.Intent.getIntent; /** * Created by tarun on 27-01-2017. */ public class DBHandler extends SQLiteOpenHelper { SQLiteDatabase sqliteDBInstance; public static final Stringuser_table="user"; public static final Stringuser_id="empid"; public static final Stringuser_name="empname"; public static final Stringuser_work="empwork"; public static final Stringuser_image="empimage"; public static final Stringuser_remarks="empremarks"; public static final Stringuser_date="empdate"; public static final Stringemp_name="empname"; public static final Stringemp_id="empid"; public static final Stringemp_email="email"; public static final Stringemp_pno="empphone"; public static final Stringdept_name="deptname"; public static final Stringdept_id="deptid"; public static final Stringdept_head="depthead"; public static final Stringgrp_id="grpcode"; public static final Stringgrp_name="grpname"; public static final Stringgrp_head="grphead"; public static final Stringdatabase_name="ATMS"; public static final int database_version=1; public static final Stringemploy_table="emp"; public static final Stringgrp_table="grp"; public static final Stringdept_table="dept"; public static final Stringempgrp_table="empgrp"; public static final Stringcreate_emptable="CREATE TABLE IF NOT EXISTS "+ employ_table +"("+ emp_name +" VARCHAR, "+ emp_id +" INTEGER, "+ dept_name + " VARCHAR, " + emp_email + " VARCHAR, " + emp_pno + " VARCHAR)"; public static final Stringcreate_depttable="CREATE TABLE IF NOT EXISTS "+
dept_table +"("+ dept_name +" VARCHAR, "+ dept_id +" INTEGER, " + dept_head + " VARCHAR)"; public static final Stringcreate_grptable="CREATE TABLE IF NOT EXISTS "+grp_table +"("+ dept_name +" VARCHAR,"+ grp_id +" VARCHAR, "+grp_name+"VARCHAR "+grp_head+ "VARCHAR)"; public static final Stringcreate_empgrptable="CREATE TABLE IF NOT EXISTS "+empgrp_table +"("+ emp_name +" VARCHAR, "+ grp_name +" VARCHAR, "+dept_name+ " VARCHAR)"; public static final Stringcreate_usertable="CREATE TABLE IF NOT EXISTS "+user_table +"("+ user_id +" VARCHAR, "+ user_name +" VARCHAR, "+ user_work + " VARCHAR, " +user_image+ " BLOB, " +user_date+ " DATETIME DEFAULT CURRENT_TIMESTAMP, " +user_remarks+ " VARCHAR)"; public static final Stringdelete_emptable="DROP TABLE IF EXISTS"+employ_table; public static final Stringdelete_depttable="DROP TABLE IF EXISTS"+dept_table; public static final Stringdelete_grptable="DROP TABLE IF EXISTS"+grp_table; public static final Stringdelete_empgrptable="DROP TABLE IF EXISTS"+empgrp_table; public static final Stringdelete_usertable="DROP TABLE IF EXISTS"+user_table; public DBHandler(Context context) { super(context,database_name, null,database_version); } @Override public void onCreate(SQLiteDatabase sqdb) { sqdb.execSQL(create_emptable); sqdb.execSQL(create_depttable); sqdb.execSQL(create_grptable); sqdb.execSQL(create_empgrptable); sqdb.execSQL(create_usertable); } @Override public void onUpgrade(SQLiteDatabase sqdb, int i, int i1) { sqdb.execSQL(delete_emptable); sqdb.execSQL(delete_depttable); sqdb.execSQL(delete_grptable); sqdb.execSQL(delete_empgrptable); sqdb.execSQL(delete_usertable); onCreate(sqdb); } public void insertemp(String name, String id, String email, String dept, String pno) { SQLiteDatabase db = this.getReadableDatabase(); db.beginTransaction(); ContentValues values; try { values = new ContentValues(); values.put(emp_name, name); values.put(emp_id, id); values.put(dept_name, dept); values.put(emp_email, email); values.put(emp_pno, pno); db.insert(employ_table, null, values); db.setTransactionSuccessful(); } catch (Exception e) { e.printStackTrace(); } finally { db.endTransaction(); db.close(); } } Spinner spinner; Button btn,btn1,btn2; String empname="",empid="",department="",phone="",email=""; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState);setContentView(R.layout.activity_emp_activity); final DBHandler db=new DBHandler(this);dept=(Spinner)findViewById(R.id.spinner);ArrayAdapter<String> adapter=new ArrayAdapter<String>(this,R.layout.spinner_row,R.id.tv); dept.setAdapter(adapter); e1=(EditText)findViewById(R.id.name); e2=(EditText)findViewById(R.id.empid); e3=(EditText)findViewById(R.id.pno); e4=(EditText)findViewById(R.id.emaiL); btn=(Button)findViewById(R.id.button5); btn1=(Button)findViewById(R.id.button9); btn2=(Button)findViewById(R.id.button21);loadspinner(); int i=0; dept_ws();
  • for(i=0;i<dname.length;i++) {
 
  •                                          Toast.makeText(Emp_activity.this, "" + dname[i], Toast.LENGTH_LONG).show();
  • }
btn.setOnClickListener(newView.OnClickListener() {@Override public void onClick(View view) { empname=e1.getText().toString(); empid=e2.getText().toString(); department=dept.getSelectedItem().toString(); phone=e3.getText().toString(); email=e4.getText().toString();db.getReadableDatabase(); db.insertemp(empname,empid,email,department,phone); emp_ws(); Toast.makeText(Emp_activity.this,"Employee details saved successfully",Toast.LENGTH_LONG).show(); } }); btn1.setOnClickListener(newView.OnClickListener() {@Override public void onClick(View view) {Intent intent=new Intent(Emp_activity.this,MainActivity.class); startActivity(intent); } }); btn2.setOnClickListener(newView.OnClickListener() {@Override public void onClick(View view) { Intent intent=new Intent(Emp_activity.this,Home.class); startActivity(intent); } });
}
private void dept_ws() { try { ArrayList<String> list_dept=new ArrayList<String>(); String dept_details = new Emp_activity.Async_dept().execute().get(); Log.i("Dept details", dept_details); String[] split_string=dept_details.split(","); int i=0; for (i=0;i<split_string.length;i++) {list_dept.add(split_string[i]); } Log.i("list_dept", ""+list_dept); ArrayAdapter<String> adapter = new ArrayAdapter<String>(this, R.layout.spinner_row, R.id.tv, list_dept); spinner.setAdapter(adapter); } catch (Exception e) { } //return dept_name; } public void loadspinner() { DBHandler db=new DBHandler(this); ArrayList<String> listPro = db.getdeptlabels(); spinner = (Spinner) findViewById(R.id.spinner); ArrayAdapter<String> adapter = new ArrayAdapter<String>(this, R.layout.spinner_row, R.id.tv, listPro); spinner.setAdapter(adapter); } private void emp_ws() { try { String emp_details = new Async_emp().execute().get(); Log.i("Employee details", emp_details); } catch (Exception e) { } } public class Async_dept extends AsyncTask<String, String, String> { protected String doInBackground(String... params) {String dept_details = "null"; try {dept_details = wsutility.executePostHttps("http://10.0.2.2:8080/Testwebservice/webresources /generic1/","".trim(), "GET"); } catch (Exception e) { return null; } return dept_details; } protected void onPostExecute(String result) { } } public class Async_emp extends AsyncTask<String,String,String> {@Override protected String doInBackground(String... params) {
String empdetails=""; try{ empdetails = wsutility.executePostHttps("http://10.0.2.2:8080/Testwebservice/webresources /Empdetails/" +empname+ "/" +empid+ "/" +department+"/"+phone+"/"+email+"/","".trim(),"GET"); }catch (Exception e){return null;} return empdetails; } } @Override public void onItemSelected(AdapterView<?> adapterView, View view, int i, long l) { } @Override public void onNothingSelected(AdapterView<?> adapterView) { } } 6.2 Front-End Designing: XML-Coding 1. Activity_main.xml <?xml version="1.0" encoding="utf-8"?> <RelativeLayout xmlns_android="http://schemas.android.com/apk/res/android" xmlns_tools="http://schemas.android.com/tools" android_id="@+id/activity_main" android_layout_width="match_parent" android_layout_height="match_parent" android_paddingBottom="@dimen/activity_vertical_margin" android_paddingLeft="@dimen/activity_horizontal_margin" android_paddingRight="@dimen/activity_horizontal_margin" android_paddingTop="@dimen/activity_vertical_margin" tools_context="in.sited.atms_1.MainActivity">
<Button
android_text="Enter Department Details" android_layout_width="wrap_content" android_layout_height="wrap_content" android_id="@+id/button" android_layout_centerHorizontal="true" /> <Button android_text="Enter Employee Details" android_layout_width="wrap_content" android_layout_height="wrap_content" android_id="@+id/button2" android_layout_below="@+id/button" android_layout_alignLeft="@+id/button" android_layout_alignStart="@+id/button" android_layout_alignRight="@+id/button" android_layout_alignEnd="@+id/button" /> <Button android_text="Enter Group Details" android_layout_width="wrap_content" android_layout_height="wrap_content" android_id="@+id/button3" android_layout_below="@+id/button2"
android_layout_alignLeft="@+id/button2" android_layout_alignStart="@+id/button2" android_layout_alignRight="@+id/button2" android_layout_alignEnd="@+id/button2" /> <Button android_text="Assign work" android_layout_width="wrap_content" android_layout_height="wrap_content" android_id="@+id/button7" android_layout_below="@+id/button3" android_layout_alignLeft="@+id/button3" android_layout_alignStart="@+id/button3" android_layout_alignRight="@+id/button3" android_layout_alignEnd="@+id/button3" /> <Button android_text="Remove Group,Employee" android_layout_width="wrap_content" android_layout_height="wrap_content" android_id="@+id/button12" android_layout_below="@+id/button7" android_layout_alignLeft="@+id/button7" android_layout_alignStart="@+id/button7" android_layout_alignRight="@+id/button7" android_layout_alignEnd="@+id/button7" /> <Button android_text="VIEW EMPLOYEE DETAILS" android_layout_width="wrap_content" android_layout_height="wrap_content" android_id="@+id/button18" android_layout_below="@+id/button12" android_layout_alignLeft="@+id/button12" android_layout_alignStart="@+id/button12" android_layout_alignRight="@+id/button12" android_layout_alignEnd="@+id/button12" /> <Button android_text="HOME" android_layout_width="wrap_content" android_layout_height="wrap_content" android_id="@+id/button19" android_layout_below="@+id/button18" android_layout_alignLeft="@+id/button18" android_layout_alignStart="@+id/button18"
android_layout_alignRight="@+id/button18" android_layout_alignEnd="@+id/button18" /> </RelativeLayout> 2. Activity_emp_activity.xml <?xml version="1.0" encoding="utf-8"?> <RelativeLayout xmlns_android="http://schemas.android.com/apk/res/android" xmlns_tools="http://schemas.android.com/tools" android_id="@+id/activity_emp_activity" android_layout_width="match_parent" android_layout_height="match_parent" android_paddingBottom="@dimen/activity_vertical_margin" android_paddingLeft="@dimen/activity_horizontal_margin" android_paddingRight="@dimen/activity_horizontal_margin" android_paddingTop="@dimen/activity_vertical_margin" tools_context="in.sited.atms_1.Emp_activity">
<EditText android_layout_width="wrap_content"
android_layout_height="wrap_content" android_inputType="textPersonName" android_ems="10" android_layout_marginTop="15dp" android_id="@+id/name" android_hint="Enter Name" android_layout_alignParentTop="true" android_layout_alignParentLeft="true" android_layout_alignParentStart="true" android_layout_marginLeft="48dp" android_layout_marginStart="48dp" /> <EditText android_layout_width="wrap_content" android_layout_height="wrap_content" android_inputType="textPersonName" android_ems="10" android_id="@+id/empid" android_hint="Enter Empid" android_layout_below="@+id/name" android_layout_alignLeft="@+id/name"
android_layout_alignStart="@+id/name" /> <TextView android_text="Select Department" android_layout_width="wrap_content" android_layout_height="wrap_content" android_id="@+id/textView" android_layout_below="@+id/empid" android_layout_alignLeft="@+id/empid" android_layout_alignStart="@+id/empid" /> <Spinner android_layout_width="wrap_content" android_layout_height="wrap_content" android_id="@+id/spinner" android_layout_below="@+id/textView" android_layout_alignLeft="@+id/textView" android_layout_alignStart="@+id/textView" android_layout_alignRight="@+id/empid" android_layout_alignEnd="@+id/empid" /> <EditText android_layout_width="wrap_content"
android_layout_height="wrap_content" android_inputType="textPersonName" android_ems="10" android_id="@+id/pno" android_layout_below="@+id/spinner" android_layout_alignLeft="@+id/spinner" android_layout_alignStart="@+id/spinner" android_hint="Enter Phone"/> <EditText android_layout_width="wrap_content" android_layout_height="wrap_content" android_inputType="textPersonName" android_ems="10" android_layout_below="@+id/pno" android_layout_alignRight="@+id/pno" android_layout_alignEnd="@+id/pno" android_id="@+id/emaiL" android_hint="Enter email"/> <Button android_text="SAVE" android_layout_width="wrap_content" android_layout_height="wrap_content" android_layout_marginTop="61dp" android_id="@+id/button5" android_layout_below="@+id/emaiL" android_layout_alignParentRight="true" android_layout_alignParentEnd="true" android_layout_marginRight="29dp" android_layout_marginEnd="29dp"/> <Button android_text="BACK" android_layout_width="wrap_content" android_layout_height="wrap_content" android_layout_marginLeft="29dp" android_layout_marginStart="29dp" android_id="@+id/button9" android_layout_alignBaseline="@+id/button5" android_layout_alignBottom="@+id/button5" android_layout_alignParentLeft="true" android_layout_alignParentStart="true"/> <Button android_text="HOME" android_layout_width="wrap_content" android_layout_height="wrap_content" android_layout_below="@+id/button9" android_layout_alignLeft="@+id/button9" android_layout_alignStart="@+id/button9" android_layout_marginTop="25dp" android_id="@+id/button21" android_layout_alignRight="@+id/button5" android_layout_alignEnd="@+id/button5"/> </RelativeLayout> 6.3 Web-Services Programming: JAX-RS (Restful Web administrations) 1. Empdetails.java /* * To change this permit header, pick License Headers in Project Properties. * To change this format record, pick Tools | Templates * and open the format in the manager. */ bundle ss.aa.ff; /* * To change this permit header, pick License Headers in Project Properties. * To change this format record, pick Tools | Templates * and open the format in the manager. */ import java.sql.Connection; import java.sql.DriverManager; import java.sql.ResultSet; import java.sql.SQLException; import java.sql.Statement; import java.util.logging.Level; import java.util.logging.Logger; import javax.ws.rs.core.Context; import javax.ws.rs.core.UriInfo; import javax.ws.rs.PathParam; import javax.ws.rs.Consumes; import javax.ws.rs.Produces; import javax.ws.rs.GET; import javax.ws.rs.Path; import javax.ws.rs.PUT; /** * REST Web Service * * @author Rakesh */ @Path("Empdetails") open class Empdetails { @Context private UriInfo setting; /** * Creates another example of GenericResource */ open Empdetails() { } /** * Retrieves portrayal of a case of ss.aa.ff.GenericResource * @return a case of java.lang.String */ /** * Retrieves portrayal of an occasion of ss.aa.ff.GenericResource * @param a * @param b * @param c * @param d * @param e * @return an occasion of java.lang.String */ @GET @Path("/{a}/{b}/{c}/{d}/{e}") @Produces("text/plain") open String getText(@PathParam("a")String a,@PathParam("b")String b,@PathParam("c")String c,@PathParam("d")String d,@PathParam("e")String e) { String value="fail"; String empdetails=""; Association con =null; String URL = "jdbc:postgresql://localhost:5432/Atms"; attempt { Class.forName("org.postgresql.Driver"); con = DriverManager.getConnection(URL,"postgres","atmspost"); Statement st=con.createStatement(); String sql="insert into worker values('"+a+"','"+b+"','"+c+"','"+d+"','"+e+"') "; System.out.println(sql); int i= st.executeUpdate(sql); if(i>0){ value="success"; } /ResultSet rs=st.executeQuery("SELECT dept_name FROM Department"); /while(rs.next()){ /System.out.println("EmpId:"+rs.getString(1)); /empdetails=empdetails+rs.getString(1)+","; / String[] result=empdetails.split(","); / for(i=0;i<=result.length;i++) /} }catch (Exception ex) { Logger.getLogger(Empdetails.class.getName()).log(Level.SEVERE, invalid, ex); } return esteem; } /** * PUT strategy for refreshing or making a case of GenericResource * @param content portrayal for the asset * @return a HTTP reaction with substance of the refreshed or made asset. */ @PUT @Consumes("text/plain") open void putText(String content) { } } 7. Framework TESTING The motivation behind testing is to find mistakes. Testing is the way toward attempting to find each possible blame or shortcoming in a work item. It gives an approach to check the usefulness of segments, sub-gatherings, congregations or potentially a completed item It is the way toward practicing programming with the aim of guaranteeing that the Software framework lives up to its prerequisites and client desires and does not bomb in an unsuitable way. There are different sorts of test. Each test sort addresses a particular testing prerequisite. 7.1 TYPES OF TESTS: 1. Unit testing Unit testing includes the plan of experiments that approve that the interior program rationale is working legitimately, and that program inputs deliver substantial yields. All choice branches and inside code stream ought to be approved. It is the trying of individual programming units of the application .it is done after the culmination of an individual unit before reconciliation. This is an auxiliary testing, that depends on learning of its development and is intrusive. Unit tests perform essential tests at part level and test a particular business process, application, as well as framework setup. Unit tests guarantee that every one of a kind way of a business procedure performs precisely to the archived details and contains obviously characterized inputs and expected outcomes. 2. Coordination testing Coordination tests are intended to test incorporated programming parts to decide whether they really keep running as one program. Testing is occasion driven and is more worried with the essential result of screens or fields. Mix tests exhibit that in spite of the fact that the parts were exclusively fulfillment, as appeared by effectively unit testing, the blend of segments is right and steady. Incorporation testing is particularly gone for uncovering the issues that emerge from the mix of segments. 3.Functional test Utilitarian tests give precise exhibitions that capacities tried are accessible as determined by the business and specialized prerequisites, framework documentation, and client manuals. Useful testing is fixated on the accompanying things: • Valid Input : distinguished classes of substantial info must be acknowledged. • Invalid Input : distinguished classes of invalid info must be rejected. • Functions : recognized capacities must be worked out. • Output : recognized classes of use yields must be worked out. • Systems/Procedures: interfacing frameworks or systems must be conjured. Association and arrangement of practical tests is centered around prerequisites, key capacities, or exceptional experiments. What's more, precise scope relating to distinguish Business handle streams; information fields, predefined forms, and progressive procedures must be considered for testing. Before utilitarian testing is finished, extra tests are recognized and the powerful estimation of current tests is resolved. 4. System Test Framework testing guarantees that the whole coordinated programming framework meets necessities. It tests a setup to guarantee known and unsurprising outcomes. A case of framework testing is the design situated framework incorporation test. Framework testing depends on process portrayals and streams, underscoring pre-driven process connections and combination focuses. 5. White Box Testing White Box Testing is a trying in which in which the product analyzer knows about the internal workings, structure and dialect of the product, or if nothing else its motivation. It is reason. It is utilized to test territories that can't be come to from a discovery level.   6. Black Box Testing Discovery Testing will be trying the product with no information of the inward workings, structure or dialect of the module being tried. Discovery tests, as most different sorts of tests, must be composed from a conclusive source record, for example, particular or prerequisites archive, for example, detail or necessities report. It is a trying in which the programming under test is dealt with, as a discovery .you can't "see" into it. The test gives sources of info and reacts to yields without considering how the product functions.         7.2 Unit Testing: Unit testing is generally led as a feature of a consolidated code and unit test period of the product lifecycle, despite the fact that it is normal for coding and unit testing to be led as two unmistakable stages Test system and approach Field testing will be performed physically and useful tests will be composed in detail. Test targets • All field passages must work appropriately. • Pages must be enacted from the recognized connection. • The section screen, messages and reactions must not be postponed. Components to be tried • Verify that the passages are of the right organization • No copy sections ought to be permitted • All connections ought to take the client to the right page. 7.3 Integration Testing: Programming mix testing is the incremental mix testing of at least two coordinated programming parts on a solitary stage to create disappointments brought about by interface deserts. The errand of the coordination test is to watch that parts or programming applications, e.g. parts in a product framework or – one stage up – programming applications at the organization level – communicate without mistake. Test Results: All the experiments said above passed effectively. No imperfections experienced. 7.4 Acceptance Testing: Client Acceptance Testing is a basic period of any venture and requires critical investment by the end client. It additionally guarantees that the framework meets the utilitarian prerequisites. Test Results: All the experiments specified above passed effectively. No imperfections experienced.     8. RESULTS AND ANALYSIS FIG 8.1 Main Home Page This is the main home page where admin can login through the Admin Portal and the Employee can upload his details through the Employee Portal. FIG 8.2 Admin Portal Page This is the Admin Portal Page where the Administrator can add department details, employee details, create groups in the department, assign work to the employees and monitor the work status.
FIG 8.3 Adding Department Details On pressing Enter Department Details Button the above page appears, which shows the details that have to be entered.
FIG 8.4 Employee Registration Page For a new Employee to get registered, the employee should provide his credentials and click Save.
FIG 8.5. Adding Group Details After a department is registered by the department head should create a group that has a unique name and Group ID. To this group employees of a concerned department are added by the department head.
FIG 8.6 Adding Employees to the Group This is the page where you can add employees to the group. By clicking on the save button you may save the employees to that particular group. FIG 8.7 Removing Employee From The Group In this page you can remove an employ from the group as well as delete the entire group according to the requirement.
FIG 8.8 Entering Employee Details Once you click on “Enter Employee Portal” you will land on this page. The employ can upload his details regarding his work status by clicking on the “Enter Employ Details” button.
FIG 8.9 Employee Portal Page The employ can enter the details such as his name work status, photo and his employ ID.
FIG 8.10 Viewing the Names of Employees Present This page has the name of those employees who uploaded their work status. You can click on any one of the employees and check their work status.
FIG 8.11 Viewing status of the work done by the Employee In this page the head can view the work status of each and every individual employ who is working under this head.
9. CONCLUSION & FUTURE SCOPE Mobile phones incorporating the Google Android platform can look forward to a comprehensive set of software which comes with an operating system, middleware and key mobile applications that can be tweaked to suit the end user. This project ―Advanced Tour Log Monitoring System using android is a beginners'adventure in Android. Developing Android applications and a testing framework to ensure the quality of those applications, this project has explored the complete lifecycle of development on the Android platform. There is immense scope for future development in this area, as this field is still young and provides a lot of space for learning and enhancement. Moreover, Android is open source, allowing the developer great freedom for creativity and innovation. This Mobile Application’s main purpose is to monitor the day to day performance of the employees who are working under Senior Level Government officers. This application not only stores data in the local storage but also transmits the data through Restful web services to the centralized NIC server. This project is designed in such a way that the application is easy to navigate through and perform the designed operations very easily. This project will be very helpful for the people who are having a large number of employees or workforce under them. Maintaining and keeping track of a large number of employees by one person is quite a difficult and monotonous task. Since it is a mobile application, it can reach to anyone. At present, the Advanced Tour Log Monitoring System (ATMS) enables the employ to not only upload his details but also from his camera capture an image and submit it. It can be still further extended for other Departments of the Government. Future enhancements for this project will be use of security protocols to protect the authenticity and confidentiality of the data.
10. BIBLIOGRAPHY REFERENCES: [1] ―Java : The Co plete Refere e , 7thedition,Herbert and Schildt,McGraw-Hill Osborne Media.
[2]   Reto  Meier,  ―Professio al  A droid  appli atio develop  e t , st Edition,  Wiley
publishing inc., 2009. [3] MACHINE  TRANSLATION, a i trodu tory guide to MT y D.J. Ar oldetal.‘ 994 .
  1. The Grammar of the Telugu Language. by C.P. Brown
  1. Academic studies English: parts of speech I
  1. Rule Based Machine translation by Robin.
  1. http://www.android.com - Android Official Webpage
  1. http://www.developer.android.com
  1. http://en.wikipedia.org/wiki/Machine_translation

Cite This Work

To export a reference to this article please select a referencing stye below:

Reference Copied to Clipboard.
Reference Copied to Clipboard.
Reference Copied to Clipboard.
Reference Copied to Clipboard.
Reference Copied to Clipboard.
Reference Copied to Clipboard.
Reference Copied to Clipboard.

Related Services

View all

Related Content

All Tags

Content relating to: "Information Systems"

Information Systems relates to systems that allow people and businesses to handle and use data in a multitude of ways. Information Systems can assist you in processing and filtering data, and can be used in many different environments.

Related Articles

DMCA / Removal Request

If you are the original writer of this dissertation and no longer wish to have your work published on the UKDiss.com website then please: