CREDIT MANAGEMENT SYSTEM A PROJECT REPORT Submitted by AKHIL JAIN [Reg No: 1081310079] SAI RITVIK PARAMKUSHAM [Reg No: 1081310074] Under the guidance of Ms. SIVARANJANI N (Assistant Professor, Department of Information Technology ) in partial fulfillment for the award of the degree of BACHELOR OF TECHNOLOGY in INFORMATION TECHNOLOGY of FACULTY OF ENGINEERING AND TECHNOLOGY S.R.M. Nagar, Kattankulathur, Kancheepuram District APRIL 2017 SRM UNIVERSITY (Under Section 3 of UGC Act, 1956) BONAFIDE CERTIFICATE Certified that this project report titled "CREDIT MANAGEMENT SYSTEM" is the bonafide work of " AKHIL JAIN [Reg No: 1081310079], SAI RITVIK PARAMKUSHAM [Reg No: 1081310074]", who carried out the project work under my supervision. Certified further, that to the best of my knowledge the work reported herein does not form any other project report or dissertation on the basis of which a degree or award was conferred on an earlier occasion on this or any other candidate. SIGNATURE SIGNATURE Ms. SIVARANJANI N GUIDE Assistant Professor Dept. of Information Technology Dr. G. Vadivu HEAD OF THE DEPARTMENT Dept. of Information Technology Signature of the Internal Examiner Signature of the External Examiner ABSTRACT As travel management is one of the fastest growing industries today, thus within the industry events are getting more and more important. Expense management can offer various economic and social benefits for destinations, and therefore destination managers can and should conduct the expenses effectively. It has become widely accepted that every community and destination needs to adopt a long-term, strategic approach to properly manage expenses thereby planning and developing in order to realize the role of events. This study was launched as a response to the lack of studies on how Expense strategies are actually used in destinations. The study was directed to Credit management system and the aim was to explore related expense packages for an employee by providing suitably designs as well as the customized packages to the users/employees . This work offer everything related to travelling services under one roof. The project Credit Management System is developed to replace the currently existing system, which helps in keeping records of the users/employees, details of destination as well as payments .In the present era where time proves to be the most important asset for an individual by improving the current register system to fully digital, it not only saves the precious asset that is time, but also accuracy, reliability and uniformity can be maintained. This project is useful for the manager of the company as it helps them to search the data faster than existing system, to get customer record easily and report of the customer; payment, etc. are generated as per requirement. ACKNOWLEDGEMENTS I would like to express my deepest gratitude to my guide, Ms. SIVARANJANI N, her valuable guidance, consistent encouragement, personal caring, timely help and providing me with an excellent atmosphere for doing research. All through the work, in spite of his busy schedule, she has extended cheerful and cordial support to me for completing this research work. Author iv TABLE OF CONTENTS ABSTRACT iii ACKNOWLEDGEMENTS iv LIST OF TABLES ix LIST OF FIGURES x 1 INTRODUCTION 1 1.1 Customer Statement of Requirements . . . . . . . . . . . . . . . . 1 1.1.1 Goals . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1 1.1.2 Problem Statement . . . . . . . . . . . . . . . . . . . . . . 2 Corporate Impact . . . . . . . . . . . . . . . . . . . . . . . . . . . 3 1.2 1.2.1 2 Seven ways expense reports help in managing the expenses of your business . . . . . . . . . . . . . . . . . . . . . . . . . 3 1.2.2 Quick overview of Expenses . . . . . . . . . . . . . . . . . 3 1.2.3 Tracking of employee Expenses . . . . . . . . . . . . . . . 3 1.2.4 Cost control . . . . . . . . . . . . . . . . . . . . . . . . . . 3 1.2.5 Strategic business decisions . . . . . . . . . . . . . . . . . 4 1.2.6 Enhanced productivity . . . . . . . . . . . . . . . . . . . . 4 1.2.7 Anytime Report Generation . . . . . . . . . . . . . . . . . 4 1.2.8 Budget Allocation . . . . . . . . . . . . . . . . . . . . . . 4 1.3 Need for Expense Management System . . . . . . . . . . . . . . . 5 1.4 Key Points . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6 LITERATURE SURVEY 7 2.1 Cloud Computing Issues, Research and Implementations . . . . . . 7 2.2 Security and Privacy Requirements Analysis within a Social Setting 7 v 2.3 Review of Achieving Secure, Scalable, and Fine-grained Data Access Control in Cloud computing . . . . . . . . . . . . . . . . . . . . . 8 2.4 An Analysis of the Cloud Computing Security Problem . . . . . . . 9 2.5 Attribute-Based Encryption for Fine-Grained Access Control of Encrypted Data . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9 Toward a Usage-Based Security Framework for Collaborative Computing Systems . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10 Security as a Service Model for Cloud Environment . . . . . . . . . 10 2.6 2.7 3 4 5 EXISTING AND PROPOSED SYSTEM 12 3.1 Existing System . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12 3.2 Proposed System . . . . . . . . . . . . . . . . . . . . . . . . . . . 12 3.2.1 Working Methodology . . . . . . . . . . . . . . . . . . . . 14 3.2.2 Proposed Modules . . . . . . . . . . . . . . . . . . . . . . 15 3.2.3 Importance of Using Travel Expense Management Software 16 3.2.4 Proposed Risk management . . . . . . . . . . . . . . . . . 17 3.2.5 Receipt Generation and Upload . . . . . . . . . . . . . . . 18 3.2.6 Expense Management Practices Followed . . . . . . . . . . 19 3.2.7 Relation between Travel and Expense . . . . . . . . . . . . 21 SYSTEM ANALYSIS 23 4.1 Requirement Elicitation . . . . . . . . . . . . . . . . . . . . . . . . 23 4.1.1 Requirement Overview . . . . . . . . . . . . . . . . . . . . 23 4.1.2 Interface Requirements . . . . . . . . . . . . . . . . . . . . 23 4.1.3 System Requirements 24 . . . . . . . . . . . . . . . . . . . . SYSTEM DESIGN 26 5.1 General . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26 5.2 Hardware Design Requirements . . . . . . . . . . . . . . . . . . . 29 5.3 Software Design Requirements . . . . . . . . . . . . . . . . . . . . 29 5.4 Architecture Design . . . . . . . . . . . . . . . . . . . . . . . . . . 30 5.5 Data Flow Design . . . . . . . . . . . . . . . . . . . . . . . . . . . 30 5.6 UML Diagrams . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31 5.6.1 31 Use Case Diagram . . . . . . . . . . . . . . . . . . . . . . vi 6 7 5.6.2 Sequence Diagram . . . . . . . . . . . . . . . . . . . . . . 32 5.6.3 Activity Diagram . . . . . . . . . . . . . . . . . . . . . . . 33 5.6.4 Class Diagram . . . . . . . . . . . . . . . . . . . . . . . . 34 5.6.5 Collaboration Diagram . . . . . . . . . . . . . . . . . . . . 34 CODING AND IMPLEMENTATION 35 6.1 Setting Up The CREDIT MANAGEMENT SYSTEM . . . . . . . . 35 6.1.1 What all is needed? . . . . . . . . . . . . . . . . . . . . . . 35 6.1.2 Installation and Database Connectivity . . . . . . . . . . . 35 6.2 Modules . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40 6.3 HTML Files . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41 6.4 JSP Files . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46 6.5 Config Files . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55 6.6 JAVA Scripts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59 6.7 JAVA Files . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 60 TESTING 66 7.1 Tools/ Platform and Technologies . . . . . . . . . . . . . . . . . . 66 7.2 Software and Hardware Requirements . . . . . . . . . . . . . . . . 66 7.3 User Interface ScreeShots . . . . . . . . . . . . . . . . . . . . . . . 67 7.3.1 HomePage . . . . . . . . . . . . . . . . . . . . . . . . . . 67 7.3.2 User Registration . . . . . . . . . . . . . . . . . . . . . . . 68 7.3.3 Manager Side . . . . . . . . . . . . . . . . . . . . . . . . 68 7.3.4 User Side . . . . . . . . . . . . . . . . . . . . . . . . . . . 69 7.3.5 User List . . . . . . . . . . . . . . . . . . . . . . . . . . . 69 7.3.6 User List 2 . . . . . . . . . . . . . . . . . . . . . . . . . . 70 7.3.7 User List 3 . . . . . . . . . . . . . . . . . . . . . . . . . . 70 7.3.8 Admin Side . . . . . . . . . . . . . . . . . . . . . . . . . . 71 7.3.9 Travel Details . . . . . . . . . . . . . . . . . . . . . . . . . 71 7.3.10 Graph . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 72 7.3.11 Vendor Details . . . . . . . . . . . . . . . . . . . . . . . . 72 7.3.12 Vendor Upload . . . . . . . . . . . . . . . . . . . . . . . . 73 vii 8 7.3.13 Generate Travel Id . . . . . . . . . . . . . . . . . . . . . . 73 7.3.14 Set Travel . . . . . . . . . . . . . . . . . . . . . . . . . . . 74 CONCLUSION AND FUTURE SCOPE 75 LIST OF TABLES 4.1 Functional Requriements . . . . . . . . . . . . . . . . . . . . . . . 24 4.2 Non-Functinonal Requirement . . . . . . . . . . . . . . . . . . . . 25 ix LIST OF FIGURES 1.1 System Design . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2 5.1 Architecture Diagram . . . . . . . . . . . . . . . . . . . . . . . . . 30 5.2 Data Flow Diagram . . . . . . . . . . . . . . . . . . . . . . . . . . 30 5.3 UseCase Diagram . . . . . . . . . . . . . . . . . . . . . . . . . . . 31 5.4 Sequence Diagram . . . . . . . . . . . . . . . . . . . . . . . . . . 32 5.5 Activity Diagram . . . . . . . . . . . . . . . . . . . . . . . . . . . 33 5.6 Class Diagram . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34 5.7 Collaboration Diagram . . . . . . . . . . . . . . . . . . . . . . . . 34 7.1 Homepage . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 67 7.2 User Registration Page . . . . . . . . . . . . . . . . . . . . . . . . 68 7.3 Manager Upload . . . . . . . . . . . . . . . . . . . . . . . . . . . 68 7.4 User Upload . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 69 7.5 user list . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 69 7.6 user list 2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 70 7.7 user list 3 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 70 7.8 Admin Verification . . . . . . . . . . . . . . . . . . . . . . . . . . 71 7.9 Travel Details . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 71 7.10 Graph Analysis . . . . . . . . . . . . . . . . . . . . . . . . . . . . 72 7.11 vendor details . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 72 7.12 vendor upload . . . . . . . . . . . . . . . . . . . . . . . . . . . . 73 7.13 generate travel id . . . . . . . . . . . . . . . . . . . . . . . . . . . 73 7.14 set travel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 74 x CHAPTER 1 INTRODUCTION 1.1 Customer Statement of Requirements 1.1.1 Goals In this project, we propose an effective CMS for travel management system in corporate companies. In this project we focus on employee, manager and admin based travel management system. Usually companies allocate funds for the project travel for each departments. Employee can update the expense, comments on the expense during the travel and this will be viewed by the manager for approval / rejection. On approval admin will process the bills. In this project we also offer real-time data security for sensitive data in cloud computing. Providing security to petabytes of data is very important. A recent survey on cloud security States that the security of users data has the highest priority as well as concern. Therefore, to provide secure cloud framework I have proposed automatic intrusion detection and prevention systems with RC5 encryption. We have consider major intrusions like SQL injection, wrapping attack and Brute force. To enhance security we proposed to add automatic intrusion detection and prevention technique for Brute force and SQL injection attacks. The data owner files are encrypted using RC5 encryption algorithm and stored in public cloud storage named cloudMe. Finally the employee bills are stored in cloud storage, where the manager and admin can access it. Our multi-layered security can protect data in real-time and it has three layers of security: • Identity management • Intrusion detection and prevention • Convergent encryption • Cloud Storage Figure 1.1: System Design 1.1.2 Problem Statement At the instant, there is no as such complete solution present easily or we should say free of cost which enables a person to keep a track of its daily expenditure easily. To do so a person has to keep a log in a diary or in a computer, also all the calculations needs to be done by the user which may sometimes results in errors leading to losses. Due to lack of a complete tracking system, there is a constant overload to rely on the daily entry of the expenditure and total estimation till the end of the month. 2 1.2 Corporate Impact 1.2.1 Seven ways expense reports help in managing the expenses of your business Expense reports are the records of expenses that any organization, business or corporate incur. These expense reports are generated on a monthly, quarterly or annual basis. The manual making of these expense reports is a cumbersome and time-consuming task. The arrival of expense management solution has made it possible for the automatic generation of expense reports. Let us explore the ways this expense reports creates a difference in organization. (exp) 1.2.2 Quick overview of Expenses When any corporate uses efficient expense management solution , it becomes much easier to get a quick overview of all expenses. In few minutes and with few clicks, one gets to see the details of expenses. Details include where the money is spent, the date and reason for various expenses. 1.2.3 Tracking of employee Expenses Expense reports help in providing a clear picture of where the employees are spending. The easy and automatic storing of travel data and expenses at a single place helps corporate auditors in easy tracking. This leads to better financial management of corporate 1.2.4 Cost control The right procedure of cost control begins with a detailed and accurate expense report. An expense report highlights the cost department, category and task wise. For example, when an employee books a travel trip (includes travel, hotels, taxi , etc.) through a corporate travel management tool, there is a saving of 20 percentage per travel transaction 3 in comparison to trips booked through travel agencies. 1.2.5 Strategic business decisions By analyzing the data of expense reports, the businesses are able to take important strategic business decisions. The decisions may include the vendors to choose or discard, the policies to enforce. It also helps to analyze the pitfalls in expense policies that promotes increased expenditure. 1.2.6 Enhanced productivity The quick expense report generation, time-saving feature, and reliable reports help in improving and enhancing the productivity of any business. In the comparison to manual expense reports, the financial reports prepared by expense management solution are accurate and time-saving. Analyzing, understanding and reviewing these reports are also easy. 1.2.7 Anytime Report Generation The corporate do not have to be dependent on their accounts department or finance officials for generating expense reports. This report can be generated anytime as per the convenience and need of the business. Corporate can record and save the data of past expense reports. This data and reports can be referred at any time. 1.2.8 Budget Allocation The quick and accurate expense reports help corporate to make a better financial plan for future. Quick glances at past expense reports help in analyzing the expenses of any organization. It helps in budget allocation for various departments, projects, and individuals. Having good expense management software helps corporate houses in generating fast, reliable and accurate expense reports. The significance and analysis of expense 4 reports play a major role in the financial control of any corporate house. A good expense management software is recommended for any business that wants to excel and succeed in the competitive market! 1.3 Need for Expense Management System • Complete control Without automation, you will have no control on the phases of the expense cycle. Automation gives you control by defining, managing, and monitoring the interactions between people and systems. In fact, it gives you a real-time view into how the company spends money. Switching to online expense management software is perhaps the most important change you can make to your company. • Reducing costs Lining up expense items is one of the key aspects where organizations waste a lot of money. Aberdeen Group states that firms are losing dollars 260 billion per annum due to the inability to organize and analyze the data. A research by PayStream Advisors unveils that automating travel and expense management can cut down the processing costs of expense reports by 80 percent and reduce the reimbursement cycle from weeks to a matter of days. Also, automation can free up employees and makes them spend more time on strategic tasks. • Running out of budget Running the budget is again one of the biggest concerns for most companies. This is happening mainly due to the lack of visibility over planned vs. actual spending. Also, budget accountability and timely reporting are the two essential components of controlling expenses. Online expense software provides managers the visibility to view accurate budget information and analyze how a requisition, invoice or expense report will have an impact on the organization. • Make informed decisions Finance executives make decisions with the information they can access. Gathering pertinent information through manual processes is a tedious task that leaves no time for analysis. Each transaction should be manually manipulated in spreadsheets to cross-compare data. This approach takes lots of time to analyze the data and to make decisions. On the other hand, an automated expense management system adds business intelligence to the data, thus enabling employers to make faster and smarter decisions. • Paper-based processes waste lot of time Manual processes not only cost money but also consume time. Companies spend more time on creating, collecting, approving, and auditing expense documents. Manually managing expenses takes employees focus off the core tasks. Also, employees need to answer lots of queries on the reimbursement process. In addition to these, shipping documents is an unnecessary burden based on how often 5 the documents are being shipped. An expense management system can automatically route expense reports, purchase requisitions, and invoices to approval processes and make information easily accessible to employees at all levels. 1.4 Key Points The data is very important asset for corporation, so strong authentication method is to be used to ensure security of information from malicious users. Easy to be customized in future, as the client demand some other additional features. The complexity of customers company may be different or if mode of business changes then the system has capability to make appropriate modification to suite that change. Customization is key factor of designing this software. Accuracy of all type of calculations are important and to be achieved at any cost.The data retrieval and other manipulation related task which is done at the database level is fast enough. Storage of data is easily accessible. 6 CHAPTER 2 LITERATURE SURVEY 2.1 Cloud Computing Issues, Research and Implementations Mladen A. Vouk Cloud computing a relatively recent term, builds on decades of research in virtualization, distributed computing, utility computing, and more recently networking, web and software services. It implies a service oriented architecture, reduced information technology overhead for the end-user, great flexibility, reduced total cost of ownership, on-demand services and many other things. This paper discusses the concept of cloud computing, issues it tries to address, related research topics, and a cloud implementation available todayVouk (2008). 2.2 Security and Privacy Requirements Analysis within a Social Setting Lin Liu, Eric Yu, John Mylopoulos Security issues for software systems ultimately concern relationships among social actors - stakeholders, system users, potential attackers - and the software acting on their behalf. This paper proposes a methodological framework for dealing with security and privacy requirements based on i*, an agent-oriented requirements modeling language. The framework supports a set of analysis techniques. In particular, attacker analysis helps identify potential system abusers and their malicious intents. Dependency vulnerability analysis helps detect vulnerabilities in terms of organizational relationships among stakeholders. Countermeasure analysis supports the dynamic decision-making process of defensive system players in addressing vulnerabilities and threats. Finally, access control analysis bridges the gap between security requirement models and security implementation models. The framework is illustrated with an example involving security and privacy concerns in the design of agent-based health information systems. In addition, we discuss model evaluation techniques, including qualitative goal model analysis and property verification techniques based on model checking.Lin liu (2003) 2.3 Review of Achieving Secure, Scalable, and Fine-grained Data Access Control in Cloud computing U.Jyothi, K., Nagi Reddy, B. Ravi Prasad Cloud computing is an emerging computing paradigm in which resources of the computing infrastructure are provided as services over the Internet. As promising as it is, this paradigm also brings forth many new challenges for data security and access control when users outsource sensitive data for sharing on cloud servers, which are not within the same trusted domain as data owners. To keep sensitive user data confidential against untrusted servers, existing solutions usually apply cryptographic methods by disclosing data decryption keys only to authorized users. However, in doing so, these solutions inevitably introduce a heavy computation overhead on the data owner for key distribution and data management when fine-grained data access control is desired, and thus do not scale well. The problem of simultaneously achieving fine-grainedness, scalability, and data confidentiality of access control actually still remains unresolved. This paper addresses this challenging open issue by, on one hand, defining and enforcing access policies based on data attributes, and, on the other hand, allowing the data owner to delegate most of the computation tasks involved in fine-grained data access control to untrusted cloud servers without disclosing the underlying data contents. We achieve this goal by exploiting and uniquely combining techniques of attribute-based encryption (ABE), proxy re-encryption, and lazy re-encryption. Our proposed scheme also has salient properties of user access privilege confidentiality and user secret key accountability. Extensive analysis shows that our proposed scheme is highly efficient and provably secure under existing security modelsU.JyothiK. (2013). 8 2.4 An Analysis of the Cloud Computing Security Problem Mohamed Al Morsy, John Grundy and Ingo MÃijller Cloud computing is a new computational paradigm that offers an innovative business model for organizations to adopt IT without upfront investment. Despite the potential gains achieved from the cloud computing, the model security is still questionable which impacts the cloud model adoption. The security problem becomes more complicated under the cloud model as new dimensions have entered into the problem scope related to the model architecture, multi-tenancy, elasticity, and layers dependency stack. In this paper we introduce a detailed analysis of the cloud security problem. We investigated the problem from the cloud architecture perspective, the cloud offered characteristics perspective, the cloud stakeholders perspective, and the cloud service delivery models perspective. Based on this analysis we derive a detailed specification of the cloud security problem and key features that should be covered by any proposed security solution.Mohamed Al Morsy and MÃČijller (2010) 2.5 Attribute-Based Encryption for Fine-Grained Access Control of Encrypted Data Vipul Goyal, Omkant Pandey, Amit Sahai, Brent Waters As more sensitive data is shared and stored by third-party sites on the Internet, there will be a need to encrypt data stored at these sites. One drawback of encrypting data, is that it can be selectively shared only at a coarse-grained level (i.e., giving another party your private key). We develop a new cryptosystem for ßne-grained sharing of encrypted data that we call Key-Policy Attribute-Based Encryption (KP-ABE). In our cryptosystem, ciphertexts are labeled with sets of attributes and private keys are associated with access structures that control which ciphertexts a user is able to decrypt. We demonstrate the applicability of our construction to sharing of audit-log information 9 and broadcast encryption. Our construction supports delegation of private keys which subsumes Hierarchical Identity-Based Encryption (HIBE) 2.6 Toward a Usage-Based Security Framework for Collaborative Computing Systems XINWEN ZHANG Collaborative systems are becoming a popular means of providing efficient and scalable access to distributed computing capabilities. This is particularly true for applications with significant processing demands or large storage requirements.In collaborative systems, a set of nodes or organizations share their computing resources, such as compute cycles, storage space, or online services,to establish virtual organizations (VOs) aimed at achieving a particular task. These specific tasks often include large-scale distributed computing or scientific research projects [Johnston 2002] and may be serviced by VOs comprised of heterogeneous computing platforms. In such collaborative systems, authorization management is a fundamental problem as resource owners must prevent unauthorized access,monitor the legal use of their resources, and ensure that all users abide by the agreements of the VO to which the resource has been allocated. 2.7 Security as a Service Model for Cloud Environment Vijay Varadharajan,Udaya Tupakula Cloud computing is becoming increasingly important for provision of services and storage of data in the Internet. However there are several significant challenges in securing cloud infrastructures from different types of attacks. The focus of this paper is on the security services that a cloud provider can offer as part of its infrastructure to its customers (tenants) to counteract these attacks. Our main contribution is a security architecture that provides a flexible security as a service model that a cloud provider can offer to its tenants and customers of its tenants. Our security as a service model while offering a baseline security to the provider to protect its own cloud infrastructure 10 also provides flexibility to tenants to have additional security functionalities that suit their security requirements. The paper describes the design of the security architecture and discusses how different types of attacks are counteracted by the proposed architecture.We have implemented the security architecture and the paper discusses analysis and performance evaluation results. 11 CHAPTER 3 EXISTING AND PROPOSED SYSTEM 3.1 Existing System • In working industry there is no proper database for vacation expense as well as on- duty expense details. The manager does not maintain employee expense. There is no proper maintenance of database. • No effective travel management system with automatic intrusion detection system exists. • In mid size companies manually travel expense are been accounted. Because of the cost mid size companies refuse to migrate to travel CRM. • Existing literature define cloud application service security as threats, vulnerabilities and protection of cloud operational services and software as a service applications. • Most of the existing work in this area and in this project was largely focused on performance evaluation of core business process only. This work has applied to study the performance of cloud data security process. Hence, we have developed a number of key cloud security process that is critical for cloud data • On cloud security have been focused on either identify management, general issues concerning cloud security, access control or architecture layers. 3.2 Proposed System In an effort to fix the above addressed problems, we tried to design a system that would make the task of keeping the expenses in check, efficient and delight task. This system will include a website application that will allow users to maintain a digital automated diary. Each user will be required to register on the website; at registration time, the 6 user will be provided will a key id, which will be used to maintain the record of each unique user. After logging into the system, a user can add the bills with an option to attach the image of the bill or not. The option to attach a bill helps the user to remember when and where the payment was made. The user can also add the information about how the payment was made i.e. via check, card or cash. The system also allows entering the check details. As soon as the entry is made about the expense, the database is updated and according to the nature of the bill deduction or addition to the total balance in the users pocket is made. In order to make the user aware about the average rate of the expenses, an alluring graphical statistics are also provided. In addition to the daily tracking of the expenditure, it is also beneficial to have a quick access to the past record of the expense habit; keeping in mind there is also an option of monthly budget to provide a quick glance of the past spending. There is also an option to view owe and lend expenses which adds or gets deducted from the overall budget according without bothering the user. In our system mostly focused to generate automatic report for vacation expense to employee. In our system have user as a employee, vendor, admin. In this process we use technique are encryption, cloud storage and verification. In our project user enroll his expense details in his upload page; the data will be stored in cloud. The vendor also enroll the employee expense details in cloud .The vendor upload expense details in four category such as travel expense, service expense, shopping mall, hotel expense. For encryption we use SHA1 algorithm for more secure and has efficient to use. The admin has to verify both the vendor and user uploading enroll details then he has to compare the enroll then generate the report. Finally the generated report has upload to the cloud with encryption. If the user want to view the file or download the file means, send a request to admin for key after get the response key the user download and view the report • Cloud based travel management system with automatic intrusion detection and prevention is been proposed. • Automated corporate budget monitoring and travel management system is been proposed. • The employees can upload the expense bills and comments using cloud. • Proposed an agent-oriented modeling framework for analyzing security requirements. However, it is perceived as yet another modeling language than security requirements capturing framework. Provides a detailed definition and description on various cloud security data. • Proposed solution, which looks like the combination of UML and workflows. • Our proposed system involves security against Brute force, SQL injection attacks and wrapping attack. 13 • In this project we propose automatic intrusion detection and prevention techniques. • We proposed the multi-layered security to integrate security techniques to illustrate the essence and effectiveness of the framework. • We have proposed our own framework, secure cloud computing framework (SCCF), to address the security challenge. The SCCF is a comprehensive model for adopting and applying cloud security principles systematically • A proposed XACML section type, Rescue, is described here as an example. Rescue is used to block virus, Trojans and attacks such as denials of services etc. • To enhance security we proposed to add automatic intrusion detection and prevention technique for Brute force and SQL injection attacks. Finally the data owner files are encrypted using RC5 and stored in public cloud storage named cloudMe. 3.2.1 Working Methodology • Enforcement Assistance Software can be programmed to flag and even deny items that are not valid business expenses. Limits can also be set for expenses such as lunches and lodging. Though it may be possible for an employee to charge a massage to his hotel room, expense management software can insure that your business is not picking up the tab • Across the Board Efficiencies Employees can use software to upload expenses and associated receipts at their convenience and the report automatically undergoes an evaluation process customized to your business. Managers and finance departments can analyze reports created from entered data. Software is often compatible with existing payroll and accounting systems for ease of reconciliation and payment. • Better Information Expense management software offers a plethora of options for monitoring spending. Want to know how much is spent with a specific vendor? Or track expenses by department or individual? Automated systems allow users to easily generate reports that can pinpoint inaccuracies or potential abuses. • Currency Conversion International travel and the accompanying currency issues can tax the most competent of accountants. Software easily converts and calculates exchange rates for accurate reports. 14 3.2.2 Proposed Modules A modularization consists of well-defined manageable units with well-defined interfaces among the units. Desirable property of modular system include • Each module is a well-defined sub-system. • Single, well-defined purpose of each module. • Modules can be separately compiled and stored in a library. • Modules can use other module. • Modules should be easier to use than to build. • Modules should be simpler from outside then from inside. The project can be decomposed in following modules: • Login module: This module is responsible for a registered user to login to the web application and do the proceedings. • Signup module: This module is responsible for registering a new user to the web application and create a new account for him/her • Sessions module: This module is responsible for creating a session when a user logs in and continues till he/she logs out. • Add Bill: This module is responsible to enable the user to add a new bill • Delete the bill: This module is responsible for the pre-defined bill. • View Expense: This module is responsible for viewing all the expenses in detail added to the log by a logged in user • Edit : This module is responsible for editing a pre-defined bill. • Mail module: This module is responsible for sending mail to the users mail id when he/she creates a new account and when he/she forgets the password and wants to rest it. • Categories module: This module is responsible for various options in the select expense type or city option tab. • Excel Sheet module: This module generate the excel format report of the expense period requested by the user. 15 3.2.3 Importance of Using Travel Expense Management Software A travel and expense management software has become the need of the hour for SMEs as well as for the big brands. The main reason behind the popularity of this software is that it simplifies the whole process of expense management. • Reduction in Cost Expense management provides a detailed report with complete analysis of financial expenses. Hence, the important, less important and the least important expenses can be configured easily, thus leading to cost control. • Track Transactions By using such software, companies get to track transactions easily. Henceforth, the transparency in transaction occurs. Monitor Expenditures During Business Trips The tools in expense management software also helps in monitoring the expenditures made during the business trips. • Easy Reimbursement Process for Employees A good expense management software is user friendly and provides lot of ease for employees. The necessary details get filled automatically. Employees can even store the receipts and can refer them anytime. The complete process of expense claim becomes easy with such automated expense management software. • Employee Satisfaction Increased Output The transparency in transactions and the ease of claiming reimbursement leads to employee satisfaction. A satisfied employee is an asset to any organization as he or she helps in improved productivity or output. • Accurate Data The authentic expense management software can always be relied upon for accuracy. Moreover, the facts can always be easily cross checked over the software. • Manage Expenses Anywhere, Anytime The presence such software over the phone helps in easy accessibility where any information can be checked anywhere, anytime. • A Regular Automated Expense Report Efficient expense management software generates a regular report on expenses and keeps the organization updated about travel and other incurred expenses. As a matter of fact, the organizations need to choose a travel and expense management software which is efficient, easy to use and help attain positive results in terms of cost control and transparent transactions. 16 3.2.4 Proposed Risk management Any business can experience crisis and risks. Though, there is no warning bell for such situations but what every business can do is to have the potential to face such touch situations. The wise smart steps taken, in advanced, can help businesses safeguard from any type of crisis. One of such most imperative steps is to manage expenses. Perfect expense management does not only create profitable circumstances for the company but also gives significant savings for future financial matters. Moreover, all of us should be thankful to technology for giving us options of easy and efficient expense management solutions An automated expense management solution helps in various stages of activities that are related with the expenses of any business. By gathering, analyzing, storing and processing the companys data, a good expense management tool can provide precious information on how to control expenses. It also gives a fair idea to the employer and employees about how to deal with tough situations deemed as crisis. Let us see how various features of an efficient expense management tool can help with crisis management: • A-Z Expense Report Every smart businessman knows the value of a detailed expense report. Expense management software provides a detailed expense report including vital factors like budget allocation, time manager, analytics, expense vault, receipt vault, trip booking and much more. This report can be accessed and generated any time which means one can keep a close eye over where the money is flowing and where the cost can be controlled in an apt way. Needless to mention, cost control is a crucial tool for managing crisis • Control of Expense Policy on Hand Many expense management software encapsulate policy enforcement. This feature helps in setting policy for various levels of organization and ensures policy compliance. The quick easy access to this policy allows the employer to make changes in it according to any risk or crisis. The information for the same can be generated and spread in no time • Control Before You Spend Investment is important but investing intelligently should be your priority! No business can stop investments but, by analyzing the recent expense report, one can surely set financial priorities. Automated expense management tools provide quick and detailed insight on financial expenses and thus, help you control expenses before you spend • Track Employee Moves, without Holding their Freedom Employee satisfactions is an asset for any company, especially during the crucial situations of any type of 17 crisis. Whereas tracking the various financial moves of employees is a necessity for any organization, at the same time it is important not to bar the freedom of employees. Using expense management software is a sensible step as it allows watching various expense related activities of your employees without preventing their freedom. Be it various financial claims, travel related bookings, reimbursement procedures or comparing the fares, the employees stay satisfied with expense management software as it gives fast and useful output • Managing expenses with the help of proficient expense management software definitely saves you from the negative upshots of unpredictable situations called crisis 3.2.5 Receipt Generation and Upload Smart receipt and tracking system implies digital representation of the incurred expenses through easy scanning and report generation. The implementation of smart receipt and tracking system in an expense management solution ensures greater and complete control of the expenses. Expense management deals with integral component modules out of which smart receipt generation and tracking system plays a crucial and controlling factor. Through smart receipt and tracking system employees of any business can take a snap of their expense receipt from their smart-phone and submit them for reimbursement. • How smart receipt works? Employees take a snapshot of their bills Upload them in their expense vault. Smart receipt of expense management solution create the expense entry associated with that receipt in employee account. Employee expenses proceed for reimbursement The reports are tracked by individual and business for cost control and reduction purposes. • Why smart receipt and tracking system? Effective and easy to use solutions for greater navigation purposes. Real time data updation and processing systems for better insight into the various expenses. Automated receipt generation for better tracking feasibility. Detailed report generation strategies for critical analysis purposes and visual mapping of the expenses. Latest technological implementation for ease of work and better financial control. • How smart receipts and tracking system will help you? – Digitalization of data 18 The implementation of smart receipt provides for greater digitalization procedures of the given expenses. This ensures better data maintenance and management solutions. It also provides for quick and easy centralized monitoring of expenses. Thus creating a more professional and organized workflow in the business. – Greater efficiency levels Implementation of smart receipts and tracking system provides greater efficiency in the organizational operations. It provides better accuracy in storing the details of expense incurred. As a company you are organized, you have a track of everyone and everything. – Better time complexity factors Real time data updation and processing, provides improved flexibility towards the inter-relational operations. In less time, employees can upload complex itineraries and create sophisticated expense reports. – Cost effective solution The implementation of such facility in an expense management solution provides better financial standards. It is a cost effective solution, considering lower amount of investment made in the integration of these services in the respective expense management solution. Statistics show that around 67 percent of the organizations have benefited from this business strategy. 3.2.6 Expense Management Practices Followed TE management is a major focus area for companies, especially in view of the recent economic downturn and increasingly strict regulation on corporate governance. With the right policy, processes and systems in place, significant gains can be made in terms of efficiency and savings, as well as improved compliance. It is understandable that while most of the companies want to adopt the best practice methods to control expenses, it can be hard to understand that which one is the best practice and how to implement it into the organizational framework. Companies have two main objectives when tackling expense management: 19 1. Increase compliance with regulation on corporate governance. 2. Reduce costs. This means tackling 3 main areas i.e Policy, Process and Systems! a) Policy or clear rules that let employees know which expenses are acceptable, whether or not they need to seek prior approval for expenses, how they should pay, and when and how to file claims. Once a company has asserted the need for an automated expense management process, it usually sets up a project team to define new rules and processes. The organization should ensure that ensure that the policy covers payment methods and set up expense management tools to reinforce the policy, enable senior executives to access real-time data, in order to track traveler compliance and Ensure non-compliance is followed up. b) Processes for filing expense claims, collecting invoices, approving and reimbursing expenses, reclaiming VAT and auditing. Many of these processes can be outsourced to third-party specialists. The organization should select an efficient expense management system. Typically five steps are involved in selecting an expense management system are Defining an expense management strategy, Setting a budget and specifications, Organizing a request for proposal, Evaluating the different offerings and Negotiating with providers. Companies need to work closely with their provider to ensure that the right processes are in place and fully operational. The more automated and integrated the system, the greater the savings, since employees spend less time filing their expense claims, and the administration is lighter downstream. Among the features worth considering are mobile applications for on-the-go processing of expense claims, Easy-to-use categorization of spend items, currency conversion, pre-populated claims forms, integrating data from online booking tools and corporate payment cards, automated policy checks to warn employees of any breaches and flag the relevant items for managers and auditors, integration with finance systems, automatic reimbursement and simple electronic submission, including scanned receipts. c) Systems which can be either manual or automated, stand-alone or fully-integrated into other IT systems (e.g. online booking tools and payment card solutions). Companies can choose between web-based solutions managed by service providers, or hosted solutions, where the software is managed inside the company. Broadly speaking, ex20 pense management solutions are available as either web-based software or hosted systems. 3.2.7 Relation between Travel and Expense While discussing on controlling travel spending with my team, the confusion led in my mind was- Is this the right topic to discuss? We all are somewhere very sure that travel expense run proportionately, as the more we travel the more expenses we incur, as simple as that. But in search of the answer, I tired to get into the details. Traveling becomes a vital part of businesses across the world as a part of globalization. Usually budget is allocated to each trip the employee is doing, but to follow the polices while traveling is always not easy, as a result of which most of the companies faces the issue of exceeding travel budget. Companies do not have the luxury of avoiding travel in order to reduce the expenses. So, is there an option where they can travel to explore the enormous opportunities across the world and can control their expenses as well? Is doing both the things simultaneously, savings while doing traveling is possible? An Expense Management solution probably can make this possible. Expense Management systems with inbuilt customized travel policy is bridging the gap between traveling and its related expenses. With its innovative solution, companies can let their employees to book their travel through their expense management system. Using advanced expense management softwares employees can book their travel, but all while remaining policy compliant. All they need to do is to click a picture of the bill and upload them for reimbursement. In simple terms, Expense Management solutions provides two way solutions to the one major problem of exceeding organizational travel spend. Using a single system companies can keep a track of their whole travel spendings, right from the ticket to the every small expense. Also the employees can keep a track of the expenses they are incurring during travel to find out whether they are spending within the limitation of the budget allocated to them. Expense Management system make employees life simple, your employees know 21 where they are spending even before incurring them. So companies do not have to worry of exceeding travel budget anymore. 22 CHAPTER 4 SYSTEM ANALYSIS 4.1 Requirement Elicitation 4.1.1 Requirement Overview • Report Generation: Each and every entry is logged into the database and a user can view monthly or weekly report as per the requirement. • Adding or deleting an entry: A user can easily modify each and every bill entry along with an option of attaching an image of the entry. • Graphical representation : A lucrative statistical of the budget is shown to the user for easy understanding. • Email notification: An email will be sent to the user at the end of each month giving a brief summary of the monthly expenditure. • Export to excel: The user will be facilitated to download an excel format of the report generated. 4.1.2 Interface Requirements • User Interface: The user logs on to the system by inserting username and password, and can edit details inside the database such as adding or deleting the entry. • Performance requirements: Database interaction should not take more than 2 seconds. New frame should not take more than 3 seconds to open. The response time for menu changes will be not more than 3 seconds. All these above approximations are inculcated into the system by keeping the database non redundant and as optimised as possible. • Design constraints: Back and exit buttons are provided on each page for sake of convenience The system works MVC architecture. Error messages will be displayed appropriately. Widgets like calculator and date picker is there to help the user 4.1.3 System Requirements Funtional Requirements Table 4.1: Functional Requriements Identifier Priority Requirement The system shall authenticate the user and then display REQ-1;Dashboard_Panel 5 panel based on the particular identified user. The system shall allow the user to add bill details based REQ-2:Add_Bill 5 on the user’s need to track the type of expenses The system shall allow to track check status for REQ-3: Clear_Checks 4 individual bill type The system should navigate the user back to dashboard REQ-4: Back 4 screen The system should graphically represent the current month figure based REQ-5: Expense_Planner 5 on users current month expenses and users own budget share The system shall allow user to track monthly expense REQ-6: Download_PDF 4 report when in offline mode to track report of expenses 24 Non-Functional Requirement Table 4.2: Non-Functinonal Requirement Functionality Priority Requirement There is a consistency in all the modules and webpages. To ease the navigation there is a back tab to provide Usability 4 access to previous page. There is proper instruction on each page. Each data record is stored on a well-built efficient database schema. Reliability 5 There is no risk of data loss. The internal evaluation of data is well coded. The system is well built to support any machine. Maintainability of the system is easy. All the plans for future Supportability 4 augments can be easily incorporated within the present system. In order to ease the accessibility, the types of expenses are categorised along with an option to Performance 5 name on the own. Throughput of the system is increased due to light weight database support. The system is available all the Availability 3 time, no time constraint. 25 CHAPTER 5 SYSTEM DESIGN 5.1 General The design document that we develop during this phase is the blueprint of the software. It describes how the solution to the customer problem is to be built. Since solution to complex problems isnt usually found in the first try, iterations are most likely required. This is true for software design as well. For this reason, any design strategy, design method, or design language must be flexible and must easily accommodate changes due to iterations in the design. Any technique or design needs to support and guide the partitioning process in such a way that the resulting sub-problems are as independent as possible from each other and can be combined easily for the solution to the overall problem. Sub-problem independence and easy combination of their solutions reduces the complexity of the problem. This is the objective of the partitioning process. Partitioning or decomposition during design involves three types of decisions: - Define the boundaries along which to break; Determine into how money pieces to break; and Identify the proper level of detail when design should stop and implementation should start. Basic design principles that enable the software engineer to navigate the design process suggest a set of principles for software design, which have been adapted and extended in the following list: A good designer should consider alternative approaches, judging each based on the requirements of the problem, the resources available to do the job. The design should be traceable to the analysis model. Because a single element of the design model often traces to multiple requirements, it is necessary to have a means for tracking how requirements have been satisfied by the design model. The design should not repeat the same thing. Systems are constructed using a set of design patterns, many of which have likely been encountered before. These patterns should always be chosen as an 11 alternative to reinvention. Time is short and resources are limited! Design time should be invested in representing truly new ideas and integrating those patterns that already exist. The design should "minimize the intellectual distance" between the software and the problem as it exists in the real world. That is, the structure of the software design should (whenever possible) mimic the structure of the problem domain. The design should exhibit uniformity and integration. A design is uniform if it appears that one person developed the entire thing. Rules of style and format should be defined for a design team before design work begins. A design is integrated if care is taken in defining interfaces between design components. The design activity begins when the requirements document for the software to be developed is available. This may be the SRS for the complete system, as is the case if the waterfall model is being followed or the requirements for the next "iteration" if the iterative enhancement is being followed or the requirements for the prototype if the prototyping is being followed. While the requirements specification activity is entirely in the problem domain, design is the first step in moving from the problem domain toward the solution domain. Design is essentially the bridge between requirements specification and the final solution for satisfying the requirements. The design of a system is essentially a blueprint or a plan for a solution for the system. We consider a system to be a set of components with clearly defined behaviour that interacts with each other in a fixed defined manner to produce some behaviour or services for its environment. A component of a system can be considered a system, with its own components. In a software system, a component is a software module. The design process for software systems, often, has two levels. At the first level, the focus is on deciding which modules are needed for the system, the specifications of these modules, and how the modules should be interconnected. This is what is called the system design or top-level design. In the second level, the internal design of the modules, or how the specifications of the module can be satisfied, is decided. This design level is often called detailed design or logic design. Detailed design essentially expands the system design to contain a more detailed description of the processing logic and data structures so that the design is sufficiently complete for coding. Because the detailed design is an extension of system design, the system design controls the major structural characteristics of the system. The system design has a major impact on the testability and modifiability of a system, and it impacts its efficiency. Much of the design effort for designing software is spent creating the system 27 design. The input to the design phase is the specifications for the system to be designed. Hence, reasonable entry criteria can be that the specifications are stable and have been approved, hoping that the approval mechanism will ensure that the specifications are complete, consistent, unambiguous, etc. The output of the top-level design phase is the architectural design or the system design for the software system to be built. This can be produced with or without using a design methodology. Reasonable exit criteria for the phase could be that the design has been verified against the input specifications and has been evaluated and approved for quality. A design can be object-oriented or functionoriented. In function-oriented design, the design consists of module definitions, with each module supporting a functional abstraction. In objectoriented design, the modules in the design represent data abstraction (these abstractions are discussed in more detail later). In the function-oriented methods for design and describe one particular methodology the structured design methodology in some detail. In a function- oriented design approach, a system is viewed as a transformation function, transforming the inputs to the desired outputs. The purpose of the design phase is to specify the components for this transformation function, so that each component is also a transformation function. Hence, the basic 12 output of the system design phase, when a function oriented design approach is being followed, is the definition of all the major data structures in the system, all the major modules of the system, and how the modules interact with each other. Once the designer is satisfied with the design he has produced, the design is to be precisely specified in the form of a document. To specify the design, specification languages are used. Producing the design specification is the ultimate objective of the design phase. The purpose of this design document is quite different from that of the design notation. Whereas a design represented using the design notation is largely to be used by the designer, a design specification has to be so precise and complete that it can be used as a basis of further development by other programmers. Generally, design specification uses textual structures, with design notation helping in understanding We tried to abide out design by all the important aspects we discussed above and to make the system as realistic and efficient as possible. We designed each of our modules keeping all these principle as the basic. (spa) 28 5.2 Hardware Design Requirements 1. System : Pentium IV 2.4 GHz. 2. Hard Disk : 40 GB. 3. Floppy Drive : 1.44 Mb. 4. Monitor : 15 VGA Color. 5. Mouse : Logitech. 5.3 Software Design Requirements 1. Operating system : Windows 7 Professional 2. Coding Language : Java, Swing. 3. Front End Tool : Net beans 7.0 4.Database : MS Sql. 5. Back End Tool : SQL Yog. 29 5.4 Architecture Design Figure 5.1: Architecture Diagram 5.5 Data Flow Design Figure 5.2: Data Flow Diagram 30 5.6 UML Diagrams 5.6.1 Use Case Diagram Figure 5.3: UseCase Diagram 31 5.6.2 Sequence Diagram Figure 5.4: Sequence Diagram 32 5.6.3 Activity Diagram Figure 5.5: Activity Diagram 33 5.6.4 Class Diagram Figure 5.6: Class Diagram 5.6.5 Collaboration Diagram Figure 5.7: Collaboration Diagram 34 CHAPTER 6 CODING AND IMPLEMENTATION 6.1 Setting Up The CREDIT MANAGEMENT SYSTEM 6.1.1 What all is needed? • A complete configuration computer system or laptop meeting the minimum requirement. • Softwares including NetBeans , MYSQL , SQLYog , JDK, Apache Tomacat , CloudMe etc. • power supply and Internet Connectivity 6.1.2 Installation and Database Connectivity JDK ToolKit The Java Development Kit (JDK) is an implementation of either one of the Java Platform, Standard Edition; Java Platform, Enterprise Edition or Java Platform, Micro Edition platforms[1] released by Oracle Corporation in the form of a binary product aimed at Java developers on Solaris, Linux, macOS or Windows. The JDK includes a private JVM and a few other resources to finish the development of a Java Application.[2] Since the introduction of the Java platform, it has been by far the most widely used Software Development Kit (SDK). On 17 November 2006, Sun announced that they would release it under the GNU General Public License (GPL), thus making it free software. This happened in large part on 8 May 2007, when Sun contributed the source code to the OpenJDK • Download the Installer • Run the JDK Installer • Java Start Menu • Installing the JDK Silently • Updating the PATH Environment Variable (Optional) • Starting to Use the JDK NetBeans Installation Most developers recognize the NetBeans IDE as the original free Java IDE. It is that, and much more! The NetBeans IDE provides support for several languages (PHP, JavaFX, C/C++, JavaScript, etc.) and frameworks. NetBeans is an open-source project dedicated to providing rock solid software development products (the NetBeans IDE and the NetBeans Platform) that address the needs of developers, users and the businesses who rely on NetBeans as a basis for their products; particularly, to enable them to develop these products quickly, efficiently and easily by leveraging the strengths of the Java platform and other relevant industry standards. NetBeans was made open source by Sun Microsystems, which remained the project sponsor until January 2010 when Sun Microsystems became a subsidiary of Oracle. Please see our History section for more information. The two base products, the NetBeans IDE and NetBeans Platform, are free for commercial and non-commercial use. The source code to both is available to anyone to reuse as they see fit, within the terms of use. The legal section contains information regarding licensing, copyright issues, privacy policy and terms of use. The NetBeans project is also a vibrant community in which people from across the globe can ask questions, give advice, contribute and ultimately share in the success of our products. On the NetBeans mailing lists and forums, you will find posts from students, developers from top companies, and individuals looking to expand their skills. • download NetBeans from Website. • Run the Installer. • Open Netbeans Apache Tomcat Server Tomcat is a Java servlet container and web server from the Jakarta project of the Apache Software Foundation (http://jakarta.apache.org). A web server is, of course, the pro36 gram that dishes out web pages in response to requests from a user sitting at a web browser. But web servers arent limited to serving up static HTML pages; they can also run programs in response to user requests and return the dynamic results to the users browser. This is an aspect of the web that Apache Tomcat is very good at because Tomcat provides both Java servlet and Java Server Pages (JSP) technologies (in addition to traditional static pages and external CGI programming). The result is that Tomcat is a good choice for use as a web server for many applications. And it is a very good choice if you want a free, open source (http://opensource.org/) servlet and JSP engine. Tomcat can be used stand-alone, but it is often used behind traditional web servers such as Apache http, with the traditional server serving static pages and Tomcat serving dynamic Servlet and JSP requests. No matter what we call Tomcat, a Java servlet container or servlet and JSP engine, we mean Tomcat provides an environment in which servlets can run and JSP can be processed. Similarly, we can absolutely say a CGI-enabled Web server is a CGI program container or engine since the server can accommodate CGI programs and communicate with them according to CGI specification. Between Tomcat and the servlets and JSP code residing on it, there is also a standard regulating their interaction, servlet and JSP specification, which is in turn a part of Sun J2EE (Java 2 Enterprise Edition). But what are servlets and JSP? Why do we need them? Lets take a look at them in the following subsections before we cover them in much more detail in the future. Installing Tomcat on Windows can be done easily using the Windows installer. Its interface and functionality is similar to other wizard based installers, with only a few items of interest. Installation as a service: Tomcat will be installed as a Windows service no matter what setting is selected. Using the checkbox on the component page sets the service as "auto" startup, so that Tomcat is automatically started when Windows starts. For optimal security, the service should be run as a separate user, with reduced permissions (see the Windows Services administration tool and its documentation). Java location: The installer will provide a default JRE to use to run the service. The installer uses the registry to determine the base path of a Java 6 or later JRE, including the JRE installed as part of the full JDK. When running on a 64-bit operating system, the installer will first 37 look for a 64-bit JRE and only look for a 32-bit JRE if a 64-bit JRE is not found. It is not mandatory to use the default JRE detected by the installer. Any installed Java 6 or later JRE (32-bit or 64-bit) may be used. Tray icon: When Tomcat is run as a service, there will not be any tray icon present when Tomcat is running. Note that when choosing to run Tomcat at the end of installation, the tray icon will be used even if Tomcat was installed as a service. Refer to the Windows Service HOW-TO for information on how to manage Tomcat as a Windows service. The installer will create shortcuts allowing starting and configuring Tomcat. It is important to note that the Tomcat administration web application can only be used when Tomcat is running. MYSQL Installation MySQL is (as of March 2014) the world’s second most widely used open-source relational database management system (RDBMS). It is named after co-founder Michael Widenius’s daughter, My. The SQL phrase stands for Structured Query Language.The MySQL development project have made its source code available under the terms of the GNU General Public License, as well as under a variety of proprietary agreements. MySQL was owned and sponsored by a single for-profit firm, the Swedish company MySQL AB, now owned by Oracle Corporation. MySQL is a popular choice of database for use in web applications, and is a central component of the widely used LAMP open source web application software stack (and other ’AMP’ stacks). LAMP is an acronym for "Linux, Apache, MySQL, and Perl/PHP/Python." Free-softwareopen source projects that require a full-featured database management system often use MySQL. For proprietary use, several paid editions are available, and offer additional functionality. Applications which use MySQL databases include: TYPO3, MODx, Joomla, Word Press, phpBB, MyBB, Drupal and other software. MySQL is also used in many high-profile, large-scale websites, including Google (though not for searches), Face book, Twitter, Flickr, and YouTube. • Download MySQL Installer from http://dev.mysql.com/downloads/installer/ and execute it. • Choose the appropriate Setup Type for your system. • Complete the installation process by following the MySQL Installation wizard’s instructions. This will install several MySQL products and start the MySQL. 38 CloudMe CloudMe is a file storage service operated by CloudMe AB that offers cloud storage, file synchronization and client software. It features a blue folder that appears on all devices with the same content, all files are synchronized between devices. The CloudMe service is offered with a freemium business model and provides encrypted SSL connection with SSL Extended Validation Certificate. CloudMe provides client software for Microsoft Windows, macOS, Linux, Android, iOS, Google TV, Samsung Smart TV, WD TV, Windows Storage Server for NAS and web browsers. As a cloud sync storage provider, CloudMe has a strong focus on the European market and differentiates itself from other storage providers with mobility and media features like Samsung SmartTV support Recently Novell announced support for the CloudMe service in their Dynamic File Services Suite. Novosoft Handy Backup version 7.3 also announced support for CloudMe. WinZip is also integrated with CloudMe There are many third party mobile apps and software available for CloudMe, many using the WebDAV support of CloudMe. SQLYog Installation SQLyog is a GUI tool for the RDBMS MySQL. It is developed by Webyog, Inc. based out of Bangalore, India and Santa Clara, California. SQLyog is being used by more than 30,000 customers worldwide and has been downloaded more than 2,000,000 times. With the combination of PHP and MySQL becoming one of the defacto standards for Web development, the need for a good front end for MySQL is increasing. For many, the task of creating and manipulating MySQL databases is a daunting task. It is often difficult to master the complex commands required by the MySQL console and MySQL Admin. Luckily there is hope. Due to the ever increasing popularity of MySQL and PHP, many third party tools are being developed specifically for these platforms. In this article, we will take a look at the basics of connecting to and using one of the most popular of these MySQL graphical interfaces, SQLyog. • Download SQLYog Installer. 39 • Run the Installer. • Set SQLYog TO Database. 6.2 Modules • Identity Management: Identity management (ID management) is a broad administrative area that deals with identifying individuals in a system (such as a country, a network, or an enterprise) and controlling their access to resources within that system by associating user rights and restrictions with the established identity. Identity management (IdM) is the task of controlling information about users on computers. Such information includes information that authenticates the identity of a user, and information that describes information and actions they are authorized to access and/or perform. It also includes the management of descriptive information about the user and how and by whom that information can be accessed and modified. Managed entities typically include users, hardware and network resources and even applications. At first Initial stage all users must create own username and password. After the Registration the user can login to ntheir own space. This application verify the username and password which is either matched or not with the user registration form which is already created by the user while user registration process. If the valid user did not remember the username or password correctly the user can generate own password by using this application. • Security Management: In this module automatic Intrusion detection system (IDS), encryption, deep packet inspection (DPI) and report the results to the controller. The main goal of OpenSec is to allow network operators to describe security policies for specific flows. The policies include a description of the flow, a list of security services that apply to the flow and how to react in case malicious content is found. The reaction can be to alert only, or to quarantine traffic or even block all packets from a specific source. Hence we have considered automatic intrusion detection and alerting network operator automatically when intruder tries brute force, SQL injection and wrapping attack. BruteForce: A password and cryptography attack that does not attempt to decrypt any information, but continue to try a list of different passwords, words, or letters. For example, a simple brute-force attack may have a dictionary of all words or commonly used passwords and cycle through those words until it gains access to the account. A more complex brute- force attack involves trying every key combination until the correct password is found. Due to the number of possible combinations of letters, numbers, and symbols, a brute force attack can take a long time to complete. The higher the type of encryption used (64-bit, 128-bit or 256-bit encryption), the longer it can take. SQL Injection: 40 SQL Injection is one of the most widely exploited web application vulnerability of the web era. SQL Injection is used by hackers to steal data from online businesses and organizations websites. This web application vulnerability is typically found in web applications which do not validate the users input. As a result, a malicious user can inject SQL statements through the website and into the database to have them executed. If a web application is vulnerable to SQL injection, a hacker is able to execute any malicious SQL query or command through the web application. This means he or she can retrieve all the data stored in the database such as customer information, credit card details, social security numbers and credential to access private areas of the portal, such as the administrator portal. By exploiting an SQL injection it is also possible to drop delete) tables from the database. Therefore with an SQL Injection the malicious user has full access to the database. Wrapping attack: The attack uses a method known as XML signature wrapping and shows vulnerabilities while executing the web service request. In wrapping attack, the attacker tries to insert the malicious element in the SOAP (Simple Object Access Protocol) message structure in Transport Layer Service (TLS) and after inserting the malicious code, fake content of the message is copied into the server and while executing, cloud server working is interrupted by the attacker. • Credit Management In our project by using this module we generate an automatic report for an employee tour package details. These report details are generated by admin by using vendor uploading user detail and user upload his expense details. Whether admin has to match the vendors update and user update to generate a report. Vendor upload four categories of expense bill i.e. shopping mall, travel, hotel and service charges. 6.3 HTML Files 1. index.html <!DOCTYPE html > < h t m l l a n g =" en " > <head > < t i t l e > CreditM < / t i t l e > < meta c h a r s e t =" u t f −8"> < l i n k r e l =" s t y l e s h e e t " h r e f =" c s s / r e s e t . c s s " t y p e =" t e x t / c s s " media =" a l l " > 41 < l i n k r e l =" s t y l e s h e e t " h r e f =" c s s / l a y o u t . c s s " t y p e =" t e x t / c s s " media =" a l l " > < l i n k r e l =" s t y l e s h e e t " h r e f =" c s s / s t y l e . c s s " t y p e =" t e x t / c s s " media =" a l l " > < s c r i p t s r c =" j s / j q u e r y − 1 . 6 . j s " > </ s c r i p t > < s c r i p t s r c =" j s / c u f o n −y u i . j s " > </ s c r i p t > < s c r i p t s r c =" j s / c u f o n −r e p l a c e . j s " > </ s c r i p t > < s c r i p t s r c =" j s / D i d a c t _ G o t h i c _ 4 0 0 . f o n t . j s " > </ s c r i p t > < s c r i p t s r c =" j s / j q u e r y . n i v o . s l i d e r . p a c k . j s " > </ s c r i p t > < s c r i p t s r c =" j s / a t o o l t i p . j q u e r y . j s " > </ s c r i p t > < s c r i p t s r c =" j s / j q u e r y . j q t r a n s f o r m . j s " > </ s c r i p t > < s c r i p t s r c =" j s / s c r i p t . j s " > </ s c r i p t > < s c r i p t s r c =" j s / j q u e r y . e a s i n g . 1 . 3 . j s " > </ s c r i p t > <!−−[ i f l t IE 9] > < s c r i p t s r c =" j s / h t m l 5 . j s " > </ s c r i p t > < s t y l e t y p e =" t e x t / c s s " > . bg { b e h a v i o r : u r l ( " j s / PIE . h t c " ) ; } < / style > < ! [ e n d i f ]−−> </ head > <body i d =" p a g e 1 " > < d i v c l a s s =" body1 " > < d i v c l a s s =" main " > <!−− h e a d e r −−> <header > <h1 ><a h r e f =" i n d e x . h t m l " i d =" l o g o " > </ a > </ h1 > < d i v c l a s s =" w r a p p e r " > < u l i d =" i c o n s " > < l i ><a h r e f = " # " c l a s s =" n o r m a l t i p ">< img s r c =" i m a g e s / i c o n 1 . j p g " a l t ="" > </ a > </ l i > < l i ><a h r e f = " # " c l a s s =" n o r m a l t i p ">< img s r c =" i m a g e s / i c o n 2 . j p g " a l t ="" > </ a > </ l i > 42 < l i ><a h r e f = " # " c l a s s =" n o r m a l t i p ">< img s r c =" i m a g e s / i c o n 3 . j p g " a l t ="" > </ a > </ l i > </ u l > </ d i v > <nav > < u l i d =" menu" > < l i ><a h r e f =" home . j s p " >Home < / a > </ l i > < l i i d =" m e n u _ a c t i v e ">< a h r e f =" i n d e x . h t m l " >USER < / a > </ l i > < l i ><a h r e f =" exp . j s p " >VENDOR< / a > </ l i > < l i ><a h r e f =" admin . j s p " >ADMIN< / a > </ l i > </ u l > </ nav > </ h e a d e r > <!−− / h e a d e r −−> </ d i v > </ d i v > <!−− c o n t e n t −−> < d i v c l a s s =" body2 " > < d i v c l a s s =" main " > < s e c t i o n i d =" c o n t e n t " > < d i v c l a s s =" w r a p p e r " > < a r t i c l e c l a s s =" c o l 1 " > < d i v i d =" s l i d e r " > <img s r c =" i m a g e s / img1 . j p g " a l t ="" > <img s r c =" i m a g e s / img2 . j p g " a l t ="" > <img s r c =" i m a g e s / img3 . j p g " a l t = " " > <img s r c =" i m a g e s / img4 . j p g " a l t ="" > </ d i v > </ a r t i c l e > < a r t i c l e c l a s s =" c o l 2 " > < form i d =" form_1 " a c t i o n =" L o g i n " method =" p o s t " > < d i v c l a s s =" pad1 " > <h3 > U s e r Login < / h3 > 43 < d i v c l a s s =" row " > U s e r name : < br > < i n p u t t y p e =" t e x t " c l a s s =" i n p u t " name =" uname " p l a c e h o l d e r =" E n t e r name " r e q u i r e d ="" > </ d i v > < d i v c l a s s =" row " > p a s s w o r d : < br > < i n p u t t y p e =" p a s s w o r d " c l a s s =" i n p u t " name ="pwd " r e q u i r e d = " " p l a c e h o l d e r =" E n t e r p a s s w o r d " m a x l e n g t h ="8" > </ d i v > < i n p u t t y p e =" s u b m i t " c l a s s =" b u t t o n " v a l u e =" L o g i n " > <!−−< d i v c l a s s =" c o l s p a d _ l e f t 1 " > <a h r e f = " # " c l a s s =" b u t t o n " > Login < / a > </ d i v >−−> </ d i v > <a h r e f =" R e g i s t e r . j s p " > R e g i s t e r < / a > </ d i v > </ form > </ a r t i c l e > </ d i v > </ s e c t i o n > </ d i v > <!−− / c o n t e n t −−> < s c r i p t > Cufon . now ( ) ; < / s c r i p t > <script > $ ( window ) . l o a d ( f u n c t i o n ( ) { $ ( ’# s l i d e r ’ ) . n i v o S l i d e r ({ e f f e c t : ’ sliceUpDown ’ , / / S p e c i f y s e t s l i k e : ’ f o l d , fade , sliceDown , sliceDownLeft , sliceUp , s l i c e U p L e f t , sliceUpDown , s l i c e U p D o w n L e f t ’ s l i c e s : 17 , animSpeed : 5 0 0 , 44 pauseTime : 6000 , s t a r t S l i d e : 0 , / / Set s t a r t i n g Slide (0 index ) d i r e c t i o n N a v : f a l s e , / / Next & P r e v d i r e c t i o n N a v H i d e : f a l s e , / / Only show on h o v e r controlNav : true , / / 1 , 2 , 3 . . . c o n t r o l N a v T h u m b s : f a l s e , / / Use t h u m b n a i l s f o r C o n t r o l Nav c o n t r o l N a v T h u m b s F r o m R e l : f a l s e , / / Use image r e l f o r thumbs controlNavThumbsSearch : ’ . jpg ’ , / / Replace t h i s with . . . c o n t r o l N a v T h u m b s R e p l a c e : ’ _thumb . j p g ’ , / / . . . this i n thumb Image s r c k e y b o a r d N a v : t r u e , / / Use l e f t & r i g h t a r r o w s pauseOnHover : t r u e , / / S t o p a n i m a t i o n w h i l e hovering manualAdvance : f a l s e , / / F o r c e manual t r a n s i t i o n s captionOpacity : 1 , / / Universal caption opacity beforeChange : f u n c t i o n ( ) { $ ( ’ . n i v o −c a p t i o n ’ ) . a n i m a t e ( { b o t t o m : ’ −110 ’ } , 400 , ’ easeInBack }, afterChange : function () { Cufon . r e f r e s h ( ) ; $ ( ’ . n i v o −c a p t i o n ’ ) . a n i m a t e ( { b o t t o m : ’ −20 ’ } , 400 , ’ easeOutBack ’ ) }, s l i d e s h o w E n d : f u n c t i o n ( ) {} / / T r i g g e r s a f t e r a l l s l i d e s h a v e b e e n shown }) ; 45 Cufon . r e f r e s h ( ) ; }) ; </ s c r i p t > </ body > </ html > \ cite { tut } 6.4 JSP Files 1. Register.jsp <!DOCTYPE html > < h t m l l a n g =" en " > <head > < t i t l e > CreditM < / t i t l e > < meta c h a r s e t =" u t f −8"> < l i n k r e l =" s t y l e s h e e t " h r e f =" c s s / r e s e t . c s s " t y p e =" t e x t / c s s " media =" a l l " > < l i n k r e l =" s t y l e s h e e t " h r e f =" c s s / l a y o u t . c s s " t y p e =" t e x t / c s s " media =" a l l " > < l i n k r e l =" s t y l e s h e e t " h r e f =" c s s / s t y l e . c s s " t y p e =" t e x t / c s s " media =" a l l " > < s c r i p t s r c =" j s / j q u e r y − 1 . 6 . j s " > </ s c r i p t > < s c r i p t s r c =" j s / c u f o n −y u i . j s " > </ s c r i p t > < s c r i p t s r c =" j s / c u f o n −r e p l a c e . j s " > </ s c r i p t > < s c r i p t s r c =" j s / D i d a c t _ G o t h i c _ 4 0 0 . f o n t . j s " > </ s c r i p t > < s c r i p t s r c =" j s / j q u e r y . n i v o . s l i d e r . p a c k . j s " > </ s c r i p t > < s c r i p t s r c =" j s / a t o o l t i p . j q u e r y . j s " > </ s c r i p t > < s c r i p t s r c =" j s / j q u e r y . j q t r a n s f o r m . j s " > </ s c r i p t > < s c r i p t s r c =" j s / s c r i p t . j s " > </ s c r i p t > < s c r i p t s r c =" j s / j q u e r y . e a s i n g . 1 . 3 . j s " > </ s c r i p t > </ head > 46 <body i d =" p a g e 1 " > < d i v c l a s s =" body1 " > < d i v c l a s s =" main " > <!−− h e a d e r −−> <header > <h1 ><a h r e f =" i n d e x . h t m l " i d =" l o g o " > </ a > </ h1 > < d i v c l a s s =" w r a p p e r " > < u l i d =" i c o n s " > < l i ><a h r e f = " # " c l a s s =" n o r m a l t i p ">< img s r c =" i m a g e s / i c o n 1 . j p g " a l t ="" > </ a > </ l i > < l i ><a h r e f = " # " c l a s s =" n o r m a l t i p ">< img s r c =" i m a g e s / i c o n 2 . j p g " a l t ="" > </ a > </ l i > < l i ><a h r e f = " # " c l a s s =" n o r m a l t i p ">< img s r c =" i m a g e s / i c o n 3 . j p g " a l t ="" > </ a > </ l i > </ u l > </ d i v > <nav > < u l i d =" menu" > < l i ><a h r e f =" home . j s p " >Home < / a > </ l i > <li i d =" m e n u _ a c t i v e ">< a h r e f =" i n d e x . h t m l " >USER < / a > </ l i > < l i ><a h r e f =" exp . j s p " >VENDOR< / a > </ l i > < l i ><a h r e f =" admin . j s p " >ADMIN< / a > </ l i > </ u l > </ nav > </ h e a d e r > <!−− / h e a d e r −−> </ d i v > </ d i v > <!−− c o n t e n t −−> < d i v c l a s s =" body2 " > < d i v c l a s s =" main " > 47 < s e c t i o n i d =" c o n t e n t " > < d i v c l a s s =" w r a p p e r " > < a r t i c l e c l a s s =" c o l 1 " > < d i v i d =" s l i d e r " > <img s r c =" i m a g e s / img1 . j p g " a l t ="" > <img s r c =" i m a g e s / img2 . j p g " a l t ="" > <img s r c =" i m a g e s / img3 . j p g " a l t = " " > <img s r c =" i m a g e s / img4 . j p g " a l t ="" > </ d i v > </ a r t i c l e > < a r t i c l e c l a s s =" c o l 2 " > < form i d =" form_1 " a c t i o n =" R e g i s t e r " method =" post "> < d i v c l a s s =" pad1 " > <h3 > U s e r R e g i s t r a t i o n < / h3 > < d i v c l a s s =" row " > U s e r Name: < br > < i n p u t t y p e =" t e x t " c l a s s =" i n p u t " name =" user "> </ d i v > < d i v c l a s s =" row " > P a s s w o r d : < br > < i n p u t t y p e =" p a s s w o r d " c l a s s =" i n p u t " name =" p a s s " > </ d i v > < d i v > Gender : < br > < s e l e c t name =" Gender " > < o p t i o n v a l u e =" male " > male < / o p t i o n > < o p t i o n v a l u e =" f e m a l e " > f e m a l e < / option > </ s e l e c t > </ d i v > < d i v c l a s s =" row " > D a t e o f B i r t h : < br > 48 < i n p u t t y p e =" d a t e " c l a s s =" i n p u t " name =" dob " > </ d i v > < d i v c l a s s =" row " > M a i l i d : < br > < i n p u t t y p e =" e m a i l " c l a s s =" i n p u t " name =" e m a i l " > </ d i v > < d i v c l a s s =" row " > C o n t a c t : < br > < i n p u t t y p e =" t e x t " c l a s s =" i n p u t " name =" con " > </ d i v > < d i v c l a s s =" r o w _ s e l e c t p a d _ b o t 1 " > < i n p u t t y p e =" s u b m i t " v a l u e =" R e g i s t e r " c l a s s =" b u t t o n " > </ d i v > </ d i v > </ form > </ a r t i c l e > </ d i v > </ s e c t i o n > </ d i v > </ d i v > < s c r i p t > Cufon . now ( ) ; < / s c r i p t > <script > $ ( window ) . l o a d ( f u n c t i o n ( ) { $ ( ’# s l i d e r ’ ) . n i v o S l i d e r ({ e f f e c t : ’ sliceUpDown ’ , / / S p e c i f y s e t s l i k e : ’ f o l d , fade , sliceDown , sliceDownLeft , sliceUp , 49 s l i c e U p L e f t , sliceUpDown , s l i c e U p D o w n L e f t ’ s l i c e s : 17 , animSpeed : 5 0 0 , pauseTime : 6000 , s t a r t S l i d e : 0 , / / Set s t a r t i n g Slide (0 index ) d i r e c t i o n N a v : f a l s e , / / Next & P r e v d i r e c t i o n N a v H i d e : f a l s e , / / Only show on h o v e r controlNav : true , / / 1 , 2 , 3 . . . c o n t r o l N a v T h u m b s : f a l s e , / / Use t h u m b n a i l s f o r C o n t r o l Nav c o n t r o l N a v T h u m b s F r o m R e l : f a l s e , / / Use image r e l f o r thumbs controlNavThumbsSearch : ’ . jpg ’ , / / Replace t h i s with . . . c o n t r o l N a v T h u m b s R e p l a c e : ’ _thumb . j p g ’ , / / . . . this i n thumb Image s r c k e y b o a r d N a v : t r u e , / / Use l e f t & r i g h t a r r o w s pauseOnHover : t r u e , / / S t o p a n i m a t i o n w h i l e hovering manualAdvance : f a l s e , / / F o r c e manual t r a n s i t i o n s captionOpacity : 1 , / / Universal caption opacity beforeChange : f u n c t i o n ( ) { $ ( ’ . n i v o −c a p t i o n ’ ) . a n i m a t e ( { b o t t o m : ’ −110 ’ } , 400 , ’ easeInBack ’ ) }, afterChange : function () { Cufon . r e f r e s h ( ) ; $ ( ’ . n i v o −c a p t i o n ’ ) . a n i m a t e ( { b o t t o m : ’ −20 ’ } , 400 , ’ easeOutBack ’ ) }, 50 s l i d e s h o w E n d : f u n c t i o n ( ) {} / / T r i g g e r s a f t e r a l l s l i d e s h a v e b e e n shown }) ; Cufon . r e f r e s h ( ) ; }) ; </ s c r i p t > </ body > </ html > 2. admin.jsp <!DOCTYPE html > < h t m l l a n g =" en " > <head > < t i t l e >Real Estate </ t i t l e > < meta c h a r s e t =" u t f −8"> < l i n k r e l =" s t y l e s h e e t " h r e f =" c s s / r e s e t . c s s " t y p e =" t e x t / c s s " media =" a l l " > < l i n k r e l =" s t y l e s h e e t " h r e f =" c s s / l a y o u t . c s s " t y p e =" t e x t / c s s " media =" a l l " > < l i n k r e l =" s t y l e s h e e t " h r e f =" c s s / s t y l e . c s s " t y p e =" t e x t / c s s " media =" a l l " > < s c r i p t s r c =" j s / j q u e r y − 1 . 6 . j s " > </ s c r i p t > < s c r i p t s r c =" j s / c u f o n −y u i . j s " > </ s c r i p t > < s c r i p t s r c =" j s / c u f o n −r e p l a c e . j s " > </ s c r i p t > < s c r i p t s r c =" j s / D i d a c t _ G o t h i c _ 4 0 0 . f o n t . j s " > </ s c r i p t > < s c r i p t s r c =" j s / j q u e r y . n i v o . s l i d e r . p a c k . j s " > </ s c r i p t > < s c r i p t s r c =" j s / a t o o l t i p . j q u e r y . j s " > </ s c r i p t > < s c r i p t s r c =" j s / j q u e r y . j q t r a n s f o r m . j s " > </ s c r i p t > < s c r i p t s r c =" j s / s c r i p t . j s " > </ s c r i p t > < s c r i p t s r c =" j s / j q u e r y . e a s i n g . 1 . 3 . j s " > </ s c r i p t > </ head > <body i d =" p a g e 1 " > 51 < d i v c l a s s =" body1 " > < d i v c l a s s =" main " > <!−− h e a d e r −−> <header > <h1 ><a h r e f =" i n d e x . h t m l " i d =" l o g o " > </ a > </ h1 > \ \ < d i v c l a s s =" w r a p p e r " > < u l i d =" i c o n s " > < l i ><a h r e f = " # " c l a s s =" n o r m a l t i p ">< img s r c =" i m a g e s / i c o n 1 . j p g " a l t ="" > </ a > </ l i > < l i ><a h r e f = " # " c l a s s =" n o r m a l t i p ">< img s r c =" i m a g e s / i c o n 2 . j p g " a l t ="" > </ a > </ l i > < l i ><a h r e f = " # " c l a s s =" n o r m a l t i p ">< img s r c =" i m a g e s / i c o n 3 . j p g " a l t ="" > </ a > </ l i > </ u l > </ d i v > <nav > < u l i d =" menu" > < l i ><a h r e f =" home . j s p " >Home < / a > </ l i > < l i ><a h r e f =" i n d e x . h t m l " >USER< / a > </ l i > < l i ><a h r e f =" exp . j s p " >VENDOR< / a > </ l i > < l i i d =" m e n u _ a c t i v e ">< a h r e f =" admin . j s p " >ADMIN < / a > </ l i > </ u l > </ nav > </ h e a d e r > <!−− / h e a d e r −−> </ d i v > </ d i v > <!−− c o n t e n t −−> < d i v c l a s s =" body2 " > < d i v c l a s s =" main " > < s e c t i o n i d =" c o n t e n t " > 52 < d i v c l a s s =" w r a p p e r " > < a r t i c l e c l a s s =" c o l 1 " > < d i v i d =" s l i d e r " > <img s r c =" i m a g e s / img1 . j p g " a l t ="" > <img s r c =" i m a g e s / img2 . j p g " a l t ="" > <img s r c =" i m a g e s / img3 . j p g " a l t = " " > <img s r c =" i m a g e s / img4 . j p g " a l t ="" > </ d i v > </ a r t i c l e > < a r t i c l e c l a s s =" c o l 2 " > < form i d =" form_1 " a c t i o n =" l o g i n a d m i n " method =" post "> < d i v c l a s s =" pad1 " > <h3 >Admin Login < / h3 > < d i v c l a s s =" row " > Admin name : < br > < i n p u t t y p e =" t e x t " c l a s s =" i n p u t " name =" uname " p l a c e h o l d e r =" E n t e r name " r e q u i r e d ="" > </ d i v > < d i v c l a s s =" row " > p a s s w o r d : < br > < i n p u t t y p e =" p a s s w o r d " c l a s s =" i n p u t " name ="pwd " r e q u i r e d = " " p l a c e h o l d e r =" E n t e r p a s s w o r d " m a x l e n g t h ="8" > </ d i v > < d i v c l a s s =" r o w _ s e l e c t p a d _ b o t 1 " > < i n p u t t y p e =" s u b m i t " c l a s s =" b u t t o n " v a l u e =" L o g i n " > </ d i v > </ form > </ a r t i c l e > </ d i v > </ s e c t i o n > </ d i v > 53 </ d i v > < s c r i p t > Cufon . now ( ) ; < / s c r i p t > <script > $ ( window ) . l o a d ( f u n c t i o n ( ) { $ ( ’# s l i d e r ’ ) . n i v o S l i d e r ({ e f f e c t : ’ sliceUpDown ’ , / / S p e c i f y s e t s l i k e : ’ f o l d , fade , sliceDown , sliceDownLeft , sliceUp , s l i c e U p L e f t , sliceUpDown , s l i c e U p D o w n L e f t ’ s l i c e s : 17 , animSpeed : 5 0 0 , pauseTime : 6000 , s t a r t S l i d e : 0 , / / Set s t a r t i n g Slide (0 index ) d i r e c t i o n N a v : f a l s e , / / Next & P r e v d i r e c t i o n N a v H i d e : f a l s e , / / Only show on h o v e r controlNav : true , / / 1 , 2 , 3 . . . c o n t r o l N a v T h u m b s : f a l s e , / / Use t h u m b n a i l s f o r C o n t r o l Nav c o n t r o l N a v T h u m b s F r o m R e l : f a l s e , / / Use image r e l f o r thumbs controlNavThumbsSearch : ’ . jpg ’ , / / Replace t h i s with . . . c o n t r o l N a v T h u m b s R e p l a c e : ’ _thumb . j p g ’ , / / . . . this i n thumb Image s r c k e y b o a r d N a v : t r u e , / / Use l e f t & r i g h t a r r o w s pauseOnHover : t r u e , / / S t o p a n i m a t i o n w h i l e hovering manualAdvance : f a l s e , / / F o r c e manual t r a n s i t i o n s captionOpacity : 1 , / / Universal caption opacity beforeChange : f u n c t i o n ( ) { $ ( ’ . n i v o −c a p t i o n ’ ) . a n i m a t e ( { b o t t o m : ’ −110 ’ 54 } , 400 , ’ easeInBack ’ ) }, afterChange : function () { Cufon . r e f r e s h ( ) ; $ ( ’ . n i v o −c a p t i o n ’ ) . a n i m a t e ( { b o t t o m : ’ −20 ’ } , 400 , ’ easeOutBack ’ ) }, s l i d e s h o w E n d : f u n c t i o n ( ) {} / / T r i g g e r s a f t e r a l l s l i d e s h a v e b e e n shown }) ; Cufon . r e f r e s h ( ) ; }) ; </ s c r i p t > </ body > </ html > 6.5 Config Files 1. META-INF (context.xml) <? xml v e r s i o n = " 1 . 0 " e n c o d i n g ="UTF−8"?> < C o n t e x t a n t i J A R L o c k i n g =" t r u e " p a t h = " / new " / > 2. WEB-INF (web.xml) <? xml v e r s i o n = " 1 . 0 " e n c o d i n g ="UTF−8"?> <web−app v e r s i o n = " 3 . 1 " xmlns =" h t t p : / / xmlns . j c p . o r g / xml / n s / j a v a e e " xmlns : x s i =" h t t p : / / www. w3 . o r g / 2 0 0 1 / XMLSchema− i n s t a n c e " x s i : s c h e m a L o c a t i o n =" h t t p : / / xmlns . j c p . o r g / xml / n s / j a v a e e h t t p : / / xmlns . j c p . o r g / xml / n s / j a v a e e / web− app_3_1 . x s d " > <servlet > 55 < s e r v l e t −name> Login < / s e r v l e t −name> < s e r v l e t −c l a s s > Login < / s e r v l e t −c l a s s > </ s e r v l e t > <servlet > < s e r v l e t −name> R e g i s t e r < / s e r v l e t −name> < s e r v l e t −c l a s s > R e g i s t e r < / s e r v l e t −c l a s s > </ s e r v l e t > <servlet > < s e r v l e t −name> e x p r e g < / s e r v l e t −name> < s e r v l e t −c l a s s > e x p r e g < / s e r v l e t −c l a s s > </ s e r v l e t > <servlet > < s e r v l e t −name> e e l o g i n < / s e r v l e t −name> < s e r v l e t −c l a s s > e e l o g i n < / s e r v l e t −c l a s s > </ s e r v l e t > <servlet > < s e r v l e t −name> l o g i n a d m i n < / s e r v l e t −name> < s e r v l e t −c l a s s > l o g i n a d m i n < / s e r v l e t −c l a s s > </ s e r v l e t > <servlet > < s e r v l e t −name> g e n i d < / s e r v l e t −name> < s e r v l e t −c l a s s > g e n i d < / s e r v l e t −c l a s s > </ s e r v l e t > <servlet > < s e r v l e t −name> s e r < / s e r v l e t −name> < s e r v l e t −c l a s s > s e r < / s e r v l e t −c l a s s > </ s e r v l e t > <servlet > < s e r v l e t −name>vup < / s e r v l e t −name> < s e r v l e t −c l a s s >vup < / s e r v l e t −c l a s s > </ s e r v l e t > <servlet > 56 < s e r v l e t −name> u s e r u p < / s e r v l e t −name> < s e r v l e t −c l a s s > u s e r u p < / s e r v l e t −c l a s s > </ s e r v l e t > <servlet > < s e r v l e t −name>down < / s e r v l e t −name> < s e r v l e t −c l a s s >down < / s e r v l e t −c l a s s > </ s e r v l e t > <servlet > < s e r v l e t −name> s e t a m o u n t < / s e r v l e t −name> < s e r v l e t −c l a s s > s e t a m o u n t < / s e r v l e t −c l a s s > </ s e r v l e t > < s e r v l e t −mapping > < s e r v l e t −name> Login < / s e r v l e t −name> < u r l −p a t t e r n > / Login < / u r l −p a t t e r n > </ s e r v l e t −mapping > < s e r v l e t −mapping > < s e r v l e t −name> R e g i s t e r < / s e r v l e t −name> < u r l −p a t t e r n > / R e g i s t e r < / u r l −p a t t e r n > </ s e r v l e t −mapping > < s e r v l e t −mapping > < s e r v l e t −name> e x p r e g < / s e r v l e t −name> < u r l −p a t t e r n > / e x p r e g < / u r l −p a t t e r n > </ s e r v l e t −mapping > < s e r v l e t −mapping > < s e r v l e t −name> e e l o g i n < / s e r v l e t −name> < u r l −p a t t e r n > / e e l o g i n < / u r l −p a t t e r n > </ s e r v l e t −mapping > < s e r v l e t −mapping > < s e r v l e t −name> l o g i n a d m i n < / s e r v l e t −name> < u r l −p a t t e r n > / l o g i n a d m i n < / u r l −p a t t e r n > </ s e r v l e t −mapping > < s e r v l e t −mapping > 57 < s e r v l e t −name> g e n i d < / s e r v l e t −name> < u r l −p a t t e r n > / g e n i d < / u r l −p a t t e r n > </ s e r v l e t −mapping > < s e r v l e t −mapping > < s e r v l e t −name> s e r < / s e r v l e t −name> < u r l −p a t t e r n > / s e r < / u r l −p a t t e r n > </ s e r v l e t −mapping > < s e r v l e t −mapping > < s e r v l e t −name>vup < / s e r v l e t −name> < u r l −p a t t e r n > / vup < / u r l −p a t t e r n > </ s e r v l e t −mapping > < s e r v l e t −mapping > < s e r v l e t −name> u s e r u p < / s e r v l e t −name> < u r l −p a t t e r n > / u s e r u p < / u r l −p a t t e r n > </ s e r v l e t −mapping > < s e r v l e t −mapping > < s e r v l e t −name>down < / s e r v l e t −name> < u r l −p a t t e r n > / down < / u r l −p a t t e r n > </ s e r v l e t −mapping > < s e r v l e t −mapping > < s e r v l e t −name> s e t a m o u n t < / s e r v l e t −name> < u r l −p a t t e r n > / s e t a m o u n t < / u r l −p a t t e r n > </ s e r v l e t −mapping > < s e s s i o n −c o n f i g > < s e s s i o n −t i m e o u t > 30 </ s e s s i o n −t i m e o u t > </ s e s s i o n −c o n f i g > </ web−app > 58 6.6 JAVA Scripts 1. html5.js document . c r e a t e E l e m e n t ( " a r t i c l e " ) ; document . c r e a t e E l e m e n t ( " a s i d e " ) ; document . c r e a t e E l e m e n t ( " a u d i o " ) ; document . c r e a t e E l e m e n t ( " c a n v a s " ) ; document . c r e a t e E l e m e n t ( " command " ) ; document . c r e a t e E l e m e n t ( " d a t a l i s t " ) ; document . c r e a t e E l e m e n t ( " d e t a i l s " ) ; document . c r e a t e E l e m e n t ( " embed " ) ; document . c r e a t e E l e m e n t ( " f i g c a p t i o n " ) ; document . c r e a t e E l e m e n t ( " f i g u r e " ) ; document . c r e a t e E l e m e n t ( " f o o t e r " ) ; document . c r e a t e E l e m e n t ( " h e a d e r " ) ; document . c r e a t e E l e m e n t ( " h g r o u p " ) ; document . c r e a t e E l e m e n t ( " k e y g e n " ) ; document . c r e a t e E l e m e n t ( " mark " ) ; document . c r e a t e E l e m e n t ( " m e t e r " ) ; document . c r e a t e E l e m e n t ( " nav " ) ; document . c r e a t e E l e m e n t ( " o u t p u t " ) ; document . c r e a t e E l e m e n t ( " p r o g r e s s " ) ; document . c r e a t e E l e m e n t ( " r p " ) ; document . c r e a t e E l e m e n t ( " r t " ) ; document . c r e a t e E l e m e n t ( " r u b y " ) ; document . c r e a t e E l e m e n t ( " s e c t i o n " ) ; document . c r e a t e E l e m e n t ( " s o u r c e " ) ; document . c r e a t e E l e m e n t ( " summary " ) ; document . c r e a t e E l e m e n t ( " t i m e " ) ; document . c r e a t e E l e m e n t ( " v i d e o " ) ; 2. Script.js 59 ( document ) . r e a d y ( f u n c t i o n ( ) // i n i t i a t e tool tip / / b a s i c usage $ ( ’ . normaltip ’ ) . aToolTip ( ) ; $ ( ’ # form_1 ’ ) . j q T r a n s f o r m ( { i m g P a t h : ’ j q t r a n s f o r m p l u g i n / img / ’ } ) ; }) ; 6.7 JAVA Files 1. BarChartAWT.java import org . j f r e e . c h a r t . ChartFactory ; import org . j f r e e . c h a r t . ChartPanel ; import org . j f r e e . c h a r t . JFreeChart ; import org . j f r e e . c h a r t . p l o t . P l o t O r i e n t a t i o n ; import org . j f r e e . data . category . CategoryDataset ; import org . j f r e e . data . category . D e f a u l t C a t e g o r y D a t a s e t ; import org . j f r e e . ui . ApplicationFrame ; import org . j f r e e . ui . R e f i n e r y U t i l i t i e s ; p u b l i c c l a s s BarChart_AWT e x t e n d s A p p l i c a t i o n F r a m e { p u b l i c BarChart_AWT ( S t r i n g a p p l i c a t i o n T i t l e , String c h a r t T i t l e , d o u b l e l s , d o u b l e he , d o u b l e ne , d o u b l e sp , double oth , double t o t ) { super ( a p p l i c a t i o n T i t l e ) ; JFreeChart barChart = ChartFactory . createBarChart ( chartTitle , " Category " , 60 " Score " , c r e a t e D a t a s e t ( l s , he , ne , sp , o t h , t o t ) , P l o t O r i e n t a t i o n . VERTICAL , true , true , f a l s e ) ; C h a r t P a n e l c h a r t P a n e l = new C h a r t P a n e l ( b a r C h a r t ) ; c h a r t P a n e l . s e t P r e f e r r e d S i z e ( new j a v a . awt . D i m e n s i o n ( 560 , 367 ) ) ; setContentPane ( chartPanel ) ; } p r i v a t e CategoryDataset c r e a t e D a t a s e t ( double ls , double he , d o u b l e ne , d o u b l e sp , d o u b l e \ \ o t h , d o u b l e t o t ) { f i n a l S t r i n g f i a t = " Heavey S t u d y Load " ; f i n a l S t r i n g a u d i = " Lack o f S o c i a l Encagement " ; f i n a l S t r i n g f o r d = " N e g a t i v e Emotion " ; f i n a l S t r i n g f i a t 1 = " Sleep Problems " ; f i n a l String audi1 = " Others " ; f i n a l String ford1 = " Total "; f i n a l S t r i n g speed = " Counts " ; f i n a l String millage = " Millage "; f i n a l S t r i n g u s e r r a t i n g = " User R a t i n g " ; final String safety = " safety "; final DefaultCategoryDataset dataset = new D e f a u l t C a t e g o r y D a t a s e t ( ) ; d a t a s e t . addValue ( ls , f i a t , speed ) ; d a t a s e t . a d d V a l u e ( he , a u d i , s p e e d ) ; d a t a s e t . a d d V a l u e ( ne , f o r d , s p e e d ) ; d a t a s e t . addValue ( sp , f i a t 1 , speed ) ; d a t a s e t . addValue ( oth , audi1 , speed ) ; 61 d a t a s e t . addValue ( t o t , ford1 , speed ) ; return dataset ; } p u b l i c s t a t i c v o i d main ( S t r i n g [ ] a r g s ) { d o u b l e l s = 0 . 0 , he = 0 . 0 , s p = 0 . 0 , ne = 0 . 0 , o t h = 0 . 0 , t o t =0.0; i n t k =0; f o r ( S t r i n g kk : a r g s ) { k ++; i f ( k ==1) { l s = Double . p a r s e D o u b l e ( kk ) ; } i f ( k ==2) { he = Double . p a r s e D o u b l e ( kk ) ; } i f ( k ==3) { ne = Double . p a r s e D o u b l e ( kk ) ; } i f ( k ==4) { s p = Double . p a r s e D o u b l e ( kk ) ; } i f ( k ==5) { o t h = Double . p a r s e D o u b l e ( kk ) ; } 62 i f ( k ==6) { t o t = Double . p a r s e D o u b l e ( kk ) ; } } BarChart_AWT c h a r t = new BarChart_AWT ( " Car Usage S t a t i s t i c s " , " S o c i a l Media D a t a Mining " , l s , he , ne , sp , o t h , t o t ) ; c h a r t . pack ( ) ; R e f i n e r y U t i l i t i e s . centerFrameOnScreen ( c h a r t ) ; chart . setVisible ( true ) ; } } 2. Login.java import java . io . IOException ; import java . io . PrintWriter ; import java . sql . Connection ; import java . s q l . DriverManager ; import java . sql . PreparedStatement ; import java . sql . ResultSet ; import javax . s e r v l e t . RequestDispatcher ; import javax . s e r v l e t . ServletException ; import javax . s e r v l e t . http . HttpServlet ; import javax . s e r v l e t . http . HttpServletRequest ; import javax . s e r v l e t . http . HttpServletResponse ; import javax . s e r v l e t . http . HttpSession ; i m p o r t j a v a x . swing . JOptionPane ; p u b l i c c l a s s Login e x t e n d s H t t p S e r v l e t { 63 p r o t e c t e d void processRequest ( HttpServletRequest request , HttpServletResponse response ) throws ServletException , IOException { r e s p o n s e . s e t C o n t e n t T y p e ( " t e x t / h t m l ; c h a r s e t =UTF −8") ; t r y ( P r i n t W r i t e r out = response . getWriter ( ) ) { / * TODO o u t p u t y o u r p a g e h e r e . You may u s e f o l l o w i n g sample code . * / S t r i n g name= r e q u e s t . g e t P a r a m e t e r ( " uname " ) ; S t r i n g p a s s = r e q u e s t . g e t P a r a m e t e r ( " pwd " ) ; HttpSession session=request . getSession () ; s e s s i o n . s e t A t t r i b u t e ( " vn " , name ) ; try { i n t a =0; C l a s s . forName ( " com . mysql . j d b c . D r i v e r " ) ; C o n n e c t i o n con = ( C o n n e c t i o n ) D r i v e r M a n a g e r . g e t C o n n e c t i o n ( " j d b c : mysql : / / l o c a l h o s t : 3 3 0 6 / new " , " r o o t " , " r o o t " ) ; P r e p a r e d S t a t e m e n t p s = con . p r e p a r e S t a t e m e n t ( " S e l e c t * from n e w t a b where u s e r n a m e =? && pwd = ? " ) ; p s . s e t S t r i n g ( 1 , name ) ; ps . s e t S t r i n g ( 2 , p as s ) ; R e s u l t S e t r s =ps . executeQuery ( ) ; while ( rs . next ( ) ) { a ++; } i f ( a !=0) { JOptionPane . showMessageDialog ( n u l l , " Login s u c c e s s f u l l y " ) ; RequestDispatcher rd= r e q u e s t . getRequestDispatcher (" user . jsp ") ; 64 rd . forward ( request , response ) ; } else { JOptionPane . showMessageDialog ( n u l l , " Login F a i l e d " ) ; RequestDispatcher rd= r e q u e s t . g e t R e q u e s t D i s p a t c h e r ( " index . html " ) ; rd . forward ( request , response ) ; } } catch ( Exception e ) { JOptionPane . showMessageDialog ( n u l l , e ) ; } } } 65 CHAPTER 7 TESTING 7.1 Tools/ Platform and Technologies The project is based on MVC architecture where the application is divided into three logical constituents• View : Provide services such as user interface. • Controller : Implement business rules • Model : Provide handling and validation of data. (SQL-SERVER in this case) View : It mainly comprises of the view component which the browser contains(application interface). Controller: It mainly consists of the code and server(SQL Server Management Studio 2008) to maintain the connectivity between the view and model part Model: it mainly consist of the database and the logic implied to store and fetch data. (Wikipedia) 7.2 Software and Hardware Requirements 1. SQL SERVER Management 2. MINIMUM Internet Explorer 5.0 AND ABOVE, Google chrome, Mozilla Firefox etc. 3. Min. 1GB RAM. (jav) 7.3 User Interface ScreeShots 7.3.1 HomePage Figure 7.1: Homepage 67 7.3.2 User Registration Figure 7.2: User Registration Page 7.3.3 Manager Side Figure 7.3: Manager Upload 68 7.3.4 User Side Figure 7.4: User Upload 7.3.5 User List list.png Figure 7.5: user list 69 7.3.6 User List 2 list 2.png Figure 7.6: user list 2 7.3.7 User List 3 list 3.png Figure 7.7: user list 3 70 7.3.8 Admin Side Figure 7.8: Admin Verification 7.3.9 Travel Details details.png Figure 7.9: Travel Details 71 7.3.10 Graph Figure 7.10: Graph Analysis 7.3.11 Vendor Details details.png Figure 7.11: vendor details 72 7.3.12 Vendor Upload upload 2.png Figure 7.12: vendor upload 7.3.13 Generate Travel Id travel id.png Figure 7.13: generate travel id 73 7.3.14 Set Travel travel.png Figure 7.14: set travel 74 CHAPTER 8 CONCLUSION AND FUTURE SCOPE The system we envisioned comes to practise, providing a centralised log inculcating all daily expenses. No or less manual calculations are required by the user, with efficient and user friendly interface. Followings are some future development plans • Group: Apart from keeping a personal log, we are planning to extend this system to incorporate a shared expense group. • Payment gateway: We are planning to include a service so as to make the direct cash payment within the application itself. • Representing the interface multilingual. Hence the proposed credit management system helps to manage employees resources efficiently helping in enhancing productivity , decision making, budgeting, and other aspects providing secure framework proposed by CCAF to provide real-time Security for web based cloud application REFERENCES 1. “Expense managements impact, <http://www.expenseout.com/Seven-ways-expensereports-help-in-managing-the-expenses-of-your-business>. 2. “learn java hardware, <http://www.learnjavathehardware.com>. 3. “Software development, <http://www.sparxsystem.com/platforms/SoftwareDevelopment.html>. 4. Lin liu, Eric Yu, J. M. (2003). “Security and privacy requirement analysis within a socila setting, <http://dl.acm.org/citation.cfm?id=943910> (september). 5. Mohamed Al Morsy, J. G. and MÃČijller, I. (2010). “An analysis of the cloud computing security problem (nov). 6. U.JyothiK., Nagi Reddy, B. R. P. (2013). “Achieving secure, scalable, and fine grained data access control in cloud computing, <http://www.ijecs.in/> (August). 7. Vouk, M. A. (2008). “Cloud computing - issues,research and implementation, <http://ieeexplore.ieee.org/document/4588381> (june). 8. Wikipedia. “Modelviewcontroller, <http://en.wikipedia.org/wiki/ModelViewController>. 76