Survey
* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project
* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project
1 Campus WI-FI Mobile Application Mahesh Kumar February 2012 Dissertation submitted in partial fulfilment for the degree of Master of Science in Advanced Computing Computing Science and Mathematics University of Stirling 1 1 Abstract This project is developed to enhance the communication system in the university environment between the university administration and students to provide a better information services through Wi-Fi Technology. This project is implemented using distributed network sharing system for students. The basic idea of creating campus information system via WI-FI Technology to make sure that student can access the information anywhere within the campus zone frequently. This project presents a mobile application which is built using Mobile Information Device Profile (MIDP) of the Java 2 Platform Micro Edition (J2ME).The objective is to provide an interface where students can get the update/alert sent by the administrator on their mobile phone which would be beneficial for students they only need a PDA or a java enabled mobile phone. The intellectual growth is not possible without a modern technology being used. But the discrepancy exists between the types of technology used on campus and the technology that can be used to facilitate learning experience. Utilizing campus applications technology is a great prospective and would be useful in campus environment. The mobile device frees the user from the physical size of laptops and desktops. The mobile application platform provides users with wireless and mobile access to any business information system easily and securely. The project was design using the well known open source technologies MYSQL and JSP, SERVLET and J2ME. 2 Attestation I understand the nature of plagiarism, and I am aware of the University’s policy on this. I certify that this dissertation reports original work by me during my University project except for the following: Few element of implementation part is taken from [9]. Signature Mahesh Kumar Date 03/02/12 3 Acknowledgements I would like to thanks my supervisor, Prof. Evan H. Magill and all of them who gave much kind help and guidance on this project. I lack a word to express my gratitude to all my lecturers and colleagues who have encouraged me to this far, you will always remain fresh in my memory. 4 Table of Contents Abstract ...................................................................................................................................... 1 Attestation ................................................................................................................................. 2 Acknowledgements ................................................................................................................... 3 Table of Contents ....................................................................................................................... 4 List of Figures ............................................................................................................................. 6 1 Introduction ......................................................................................................................... 7 1.1Background and Context ................................................................................................. 7 1.2 Scope and Objectives ..................................................................................................... 8 1.3 Overview of Project ....................................................................................................... 9 2 State-of-The-Art ................................................................... ..............................................10 2.1 Introduction ...........................................................................................................10 2.2 Requirement Gathering……......................................................................................10 2.3 Why Java for Mobile Application…….……………………………………………………….……….......15 2.4 Alternative Approaches…………. …………………….…………………………………………………...16 2.5 Reasons for choosing J2ME …………………….……………………………………………………….…....18 2.6 Similar Systems and Comparisons .................................................................................19 3 Problem Requirements.........................................................................................................23 3.1 Use Cases .......................................................................................................................23 3.2 Textual Descriptions .......................................................................................................23 3.3 Use Case Diagram for Administrator...............................................................................24 3.4 Use Case Diagram for Students …………………….………………………………………………….….....25 4 System Description and Implementation..............................................................................28 4.1 Technology in use...........................................................................................................28 4.2 Process model for Development.....................................................................................30 4.3 Implementing Mobile Application..................................................................................33 4.4 System Architecture........................................................................................................37 5 4.5 Admin and user interface..............................................................................................38 4.2.1 Java ME MIDlet...........................................................................................................43 4.2.2 Emulator......................................................................................................................44 4.2.3 Java ME Issues.............................................................................................................44 5 Project design......................................................................................................................45 5.2 Design Considerations.............................................................................................46 5.3 Payment Idea in Existing System...................................................................................47 6 Data Structure......................................................................................................................48 6.1 Real Phone Environment................................................................................................52 6.2 Analysis...........................................................................................................................52 7 Conclusion.............................................................................................................................55 7.1 Summary...........................................................................................................................55 7.2 Evaluation.........................................................................................................................55 7.3 Limitation..........................................................................................................................57 7.4 Future Work......................................................................................................................58 References ...................................................................................................................... .........60 Appendix 1 ............................................................................................................................... 61 Appendix 2 – User guide .......................................................................................................... 63 Appendix 3 – Installation guide ............................................................................................... 64 Appendix 4 – Login Process .................................................................................................... 65 Appendix 4 – Add and View Resources................................................................................... 66 6 List of Figures Figure 1. Wireless and Wired ……………………………………………………………………..………...14 Figure U1. Admin Use Case Diagram ....................................................................................25 Figure U2. Student Use case Diagram ..................................................................................27 Figure 2. System Architecture ...........................................................................................37 Figure 4. Snapshot Sending Alert.......................................................................................38 Figure 5. Snapshot Alet Pop up ..........................................................................................39 Figure 6. Snapshot Message Recived ................................................................................39 Figure 7. Snapshot New Query option...............................................................................40 Figure 8. SnapshotNew Query with message ...................................................................40 Figure 9. Snapshot Post Reply ............................................................................................41 Figure 10. Snapshot Add Resource ......................................................................................41 Figure 11. Snapshot Resource Added ..................................................................................42 Figure 13. MIDlet Life Cycle .................................................................................................43 Figure 13.1 Payment Diagram ................................................................................................47 Figure 14 Database shapshot..............................................................................................48 Figure 14.1 Course Table........................................................................................................49 Figure 14.2 Form Registration Table ......................................................................................49 Figure 14.3 Message Table.....................................................................................................49 Figure 14.4 Posting Table .......................................................................................................50 Figure 14.5 Resource Table ....................................................................................................50 Figure 14.6 Student Table ......................................................................................................50 Figure 14.7 Unread Message Table ........................................................................................51 Figure 14.8 User table ............................................................................................................51 Figure 15 Login diagram .....................................................................................................65 Figure 16 Add and view Resouces diagrame .....................................................................66 7 1 Introduction 1.1 Background and Context Mobile applications are services (consist of software) that can be run on a mobile device and perform tasks for the user of the mobile phone. The Campus Wi-Fi mobile application is a new way to improve the communications system in campus environment between the students and the university administration. The basic idea is to provide new interaction method to the students through which they can get the latest news or updated information on their mobile device within the campus zone (area) through wi-fi technology. Mobile applications are very popular in global mobile market. There are quite a few applications which are pre-installed on mobile device for example MMS(Multimedia Messaging Service), SMS (Short Messaging Service), Browser whereas there are applications which can be downloaded through wireless internet these applications are useful to make life or work more comfortable for example weather application which provides all the latest weather updates on mobile device. The above application also provides advanced features in campus environment to the students. In terms of technical perspective mobile applications are divided by the run time environment in which they are executed (i) Native platform and operating system like Windows mobile and Linux, (ii) Mobile web browser like Mozilla/Firefox and Opera Mini (iii) Managed platforms and virtual machine like Java / J2me (Java 2 Micro Edition) . Wi–Fi is a technology which allow electronic devices to share or exchange data wirelessly. The desire to have a Wi-Fi mobile information system is a step forward towards next level to improve the communications. This project focuses to develop mobile wi-fi information system within the campus zone to enhance the communication between students and university administration. The system will provide an interface where students will get all the information from the administrator on their mobile device, Wi–Fi is very popular and most of the students used Wi-Fi phones these days that’s why this application would be very useful. Student’s needs a Java enabled mobile device with Wi-Fi to get benefit of this facility. The present day of information system has pushed many organizations to demand secured reliable and flexible mobile application information system. 8 1.2 Scope and Objectives This project is built for students and will provide information on campus zone (area) to the students. For example, if tomorrow is the last date of submitting the examination forms then administrator will send this as an alert to the students account. After login in the account, the student will get the information about the latest alerts. Each message is explicit to student profile, so the messages are only received by a user whom it is concerned for. Mobile Web applications enable users on the move to access on their hand held devices. The various functions built in the project are as follows: Real time Alert and Update on the mobile phone within the campus, Chat Facility “ Post Request “,Document Sharing , Event Forum Registration. Sometimes it’s real hard for a student to be on computer online every time and checking updates from the University. This application will provide an interface where student can get all the updates on their mobile device. Below are the Objectives of this project. • This project act as service provider for Students for various campus activities. • It acts as a new platform which can be used by the administrator to interact with the students & vice versa. • It should provide a new communication platform for interaction between students & the university management. • Students will get real time alerts & updates from admin department on their mobile phones within the campus zone. • Document sharing, important study materials or information documents can be shared among the users by the management through the campus Wi-Fi application. • Administration can publish an event and student can register for that event via their mobile device 9 1.3 Overview of Dissertation In this dissertation the new interesting and advanced approach is described to enhance the information system between the students and Administration via Wi-Fi technology. The concept of developing campus information via Wi-Fi technology is to make sure students can access information at any time on ad-hoc basic. We plan to provide functionalities like: 1) Alerts/Notification: - Alerts are to be send to all the students in the university. For Eg: "If the practical lab/lecture is cancelled" then admin will send this as alert to all students of the particular class. Now the students will get the alert on their mobile device, so the counter in the application will be increase and the sound will be played (as we get the message in the mobile phone). 2) Post Request: - If the student wants to ask questions or any enquiry to the administrator (admin) then they can send this to admin and Admin can reply to that question by posting a comment to that particular student, they can communicate through a chat window. 3) File Sharing: - In this section admin can also share the file, suppose assignment or its result files will be uploaded in respective format. So from here students can download the file on their mobile devices. 4) Forum or Event Registration: - In this admin can publish an event and send to student. Students can view the Event and registered for that particular event through their mobile device. All the four main goal of this application are achieved successfully. 10 2 State-of-The-Art 2.1 Introduction Mobile applications design, implementation and deployment involve some technical issues and ethical considerations. It is important to develop an application which works fast and should be reliable. There are different platform to develop mobile application and J2ME (Java 2 Micro Edition) is one of that which provide huge amount of features, we can run application on emulator we don’t need to test the application on mobile device again and again which become quite complicated sometimes .When we talk about Mobile application it is important to think about both aspects of work for example Campus Wi- Fi application which provides and ensures fast information service through Wi- Fi for the students within the campus. So it important to keep the students prospective in mind as well before building such application .As per the feedback from students with regards to such software, the students would be happy to use, if the software is easy to use and reliable. 2.2 Requirement Gathering Wireless Technology In computing world wireless technology is used to describe telecommunication through radio waves in other words when two or more electronic device established connection or transfer information that are not physically connected. The two most common types of wireless capabilities in computing world are Wi–Fi and Bluetooth. Bluetooth technology is used to transfer information between two or more devices that are near to each other, it is not suitable for full-scale network and doesn’t provide faster connection. One of the best examples of wireless technology is mobile device. This technology allows users of mobile device (which uses radio waves) to make a call from any location worldwide. Wi-fi technology is used for wireless networking , for example if a laptop has Wi-Fi technology then wireless card transmits to a wireless router and wireless network are connected to a network DSL modem which allow internet access to anyone connected to wireless network. Wi-fi provides faster connection and better security. There are two modes of wireless networking 11 Ad – Hoc mode and Infrastructure mode. The above application provides services on Ad- hoc mode. Ad –Hoc Mode [13] Ad-Hoc mode allows wireless devices to communicate directly to each other. The wireless devices which work in ad-hoc mode within the range used to communicate in peer – to – peer way without involving the access points they use broadband wireless routers. All the wireless adapters on the ad-hoc mode should use the same SSID (Service Set Identification) and the same channel number. SSID (Service Set Identification) is the name of Wireless Local Area Network (WLAN), It is important in wireless communication all the wireless devices on WLAN (wireless local network area) must use the same SSID to communicate with each other. Sometimes when there are so many devices connected through the some router in this situation performance becomes slower and large number of ad-hoc network becomes difficult to handle. Infrastructure Mode Infrastructure mode in wireless networking joins (Bridges) a wireless network with the wired Ethernet network in other word when the wireless clients connect to an access point which in turns bridges to a network. In this mode wireless access point is must to have wireless networking. To bridge the WLAN it is important that access point and the entire wireless users must be configured with the same SSID (Service Set Identification). We can add additional access point to the WLAN to increase the number of wireless users. Infrastructure mode provides centralized security and much improved reach. The drawback of this mode is for wireless networking is that it would cost more to buy additional access point hardware. It is easy to set up connection in Ad-Hoc mode because it does not require an access point. On the other side Infrastructure mode provides high performance of an access point to cover the huge area. In Ad- Hoc mode as many devices connects the interference of the devices will go up as they all are trying to use the same frequency channel. 12 To begin developing an application in wireless technology it is important to study the advantages and disadvantages of it. It is important to study the wired connection and why wireless technology is future of networking. All these in details are mentioned below Wired Connections [1] Wired connection use Ethernet cables and network adapters. We can connect multiple numbers of computers through cable. Wired system is also very important which uses router to provide it services. The dial up connection provides connection through home phone but it is very slow and used rarely. Broadband also provide shared connections it allow us to use internet and home phone at the same point of time this is very popular among the home users because of its high speed. Basically we have an ADSL (Asymmetric digital subscriber line) router which is connected to phone and we can connect our computers through cables from router to computer device on which we want to use internet. Whether it’s a wired or wireless connection they both depend on standard Internet Protocol and network operating system configuration options. Advantages and disadvantages of wired connections are mentioned below. Advantages: • Quite cheap and easy to afford as compared to wireless. • Most of the users use wired network because it is more reliable. • It transfers the data faster without any interruption or connection failure. • Wired connections are more secure as compared to wireless connection because it is connected directly to router device which doesn’t allow unknown device to connect. 13 Disadvantages: • Wired connection connect through wires so it is difficult to use the network in single place for example if u have wired network connection on laptop device you can use that connection until that cable is connect to device , if you want to use the network on traveling that’s not possible . • It is possible if too many connections are connected trough one single wired router it can slow down the speed. The most common type of wired network is an Ethernet network. • Wired network is not as flexible it can only use where we can have socket. • It is more time consuming to set up and wired connection. Wireless Connections Wireless connections works through radio waves to make link to computers from network. Wireless technology is an advanced version of wired network which is most popular in universities and other big organization. Now day’s wireless connections are becoming more popular amongst the home user as well. Because of its features and so much of competition in world home users are able to get this service in fewer prices. Below the figure 1 [2] shows layout of wired and wireless networks .The picture is seen from Google give a view how both network systems look like .We can see wired network is connected through a cable to normal Router 192.168.1 IP and establish connection. On the right side of the figure there is a Wireless Router 192.168.1.2 which is connected to network through radio waves it does not require any cable connection between devices who want to access the network. 14 Figure 1 Wireless network also have some advantages and disadvantages which are mentioned below Advantages: • No need of cable, there are few places where cables can’t reach .User is not limited for any fixed position. • Wireless network allows flexible number of devices to be connected in specific range it depends on the Routers range. • It is very easy to set up a wireless network. it’s a hassle free network. • We can set up wireless network without Ad- Hoc network, which means we don’t need to define an Access Point to establish network connections. 15 Disadvantages • Wireless network use radio waves for connection and connection failures are frequent. • It is less secure hackers can access the network easily as compare to wired network. • It does effect by surroundings wall blocking or far distance. • Bit expensive as compare to wired network We have discussed about the wired and wireless network it is important to know about the technology that you are going to build an application described in section 2.2.1. 2.3 Why Java for Mobile Application [8] The JVM (Java Virtual Machine) and Java API (Application Programming Interface) makes the Java Platform. Therefore, the Java platform consist the following three things (J2SE) – Java 2 Standard Edition. This is made for desktop system. (J2EE) – Java 2 Enterprise Edition (J2EE) is an excellent platform for multiple users. It is based on J2SE and adds APIs (Application Programming Interface) for server side working. (J2ME) – Java 2 Micro Edition (J2ME) is a bundle of technologies that develop applications for small mobile phones, and set-top boxes. Why Java platform for this application: Platform Independent: Java is an open source language it means it ’s a cross platform, Java application can run on different platform because java application execute through a byte code by JVM (Java Virtual Machine) .Suppose if one machine is running on Windows and other is on Linux, single java application can 16 run on both machines because the byte code generated by the compiler can be read by any JVM (Java Virtual Machine) of any machine Robust: Because Java applications are managed by the byte code is verified before execution, it must not crash in the face of unwanted behaviour. It will not affect other sensitive applications or the data on the device. Secure: The Java API (Application Programming Interface) provides a very advanced security for Java application. Object oriented: Java is an object-oriented language with too much of library classes which is already exists. Java is a modern representation of C++where everything is an object, and all object are part of one global class hierarchy. Java code always executes within the JVM (Java Virtual Machine), and provides a safe environment for execution. Java provides robust programming. The garbage collector identifies the unused object that is no longer needed by a program so that their resources can be reused and reclaimed . The Java exception handling mechanisms encourage developers to build robust applications. 2.4 Alternative Approaches There are different platform for mobile applications apart from J2ME (Java 2 Micro Edition), Google Android, Apple IPhone are also very popular amongst the users. Android is a Linux-based system developed by Google, which is basically target at mobile phones and other small devices, Android is an operating system. Android gives Java-based development platform for applications. Eclipse provides an interface to build Android application more comfortably. Android Application is made of one or more activities which run in different Linux processes. 17 The major reason for building this application on J2ME (Java 2 Micro Edition) because of background experience in the Java platform, however few elements which makes J2ME (Java 2 Micro Edition) application better then Android are discussed below. • Unlike Java ME (Micro Edition) Android does not use java software environment. It only reuses the Java language syntax but does not provide in built class libraries and API (Application Programming Interface) bundled with Java SE (Standard Edition). • J2ME (Java 2 Micro Edition) provide monitoring mechanism that allow user to safeguard errors that comes in runtime. • You cannot install or run Android application from, an SD card. • Applications written on Java can run on different platform, but you can’t do this Android application. Java is a computing language where Android is an Operating System. • J2ME applications are essential program it’s a stand-alone application, although it uses different display technology due to resource constraint. • J2ME (Java 2 Micro Edition ) promises advantages to mobile handset manufactures ,It offers an opportunity to foster a large and prolific development community that could delivered an value added functionality for their devices. • J2ME (Java 2 Micro Edition) is more like a monolithic application where single program does everything. Whereas Android is more like a component architecture. The Apple IPhone is one of the most used and popular platforms. The IPhone is a reliable device which provides a high end security. The IPhone is showing a failure rate of less than 1%. However, the IPhone lacks an official office suite. Open Office is an Open source alternative. The IPhone currently does not have an application to encrypt stored data. The IPhone is not compatible with Microsoft Exchange server that is one of the minus point of IPhone app. Research says that the IPhone may be a great entertainment tool, but it lacks characteristics that focus on a cooperate environment. 18 2.5 Reasons for choosing J2ME or Java Me (Micro Edition) J2ME (Java 2 Micro Edition) provides a strong development tool which greatly helps J2ME (Java 2 Micro Edition) adoption among wireless application development, it is more reliable and flexible for building mobile applications. J2ME (Java 2 Micro Edition) provides easy interface that uses to build sophisticated application easily. J2ME (Java 2 Micro Edition) applications can be built by developers who usually have good knowledge of java. It is important to go through core java before developing such applications especially for new developers In J2ME (Java 2 Micro Edition) applications all the classes that are available in the class loaders are verified to make sure that the applications are not performing unwanted operations. One of the best advantages is the use of J2ME (Java 2 Micro Edition) platform for blackberry application development helps in avoiding memory leaks. J2ME provide monitoring mechanism that allow user to safeguard errors that comes in runtime. J2ME (Java 2 Micro Edition) applications are very popular and used by huge amount of user and accepted by almost every mobile phone organization. The main reason for choosing J2me for campus information mobile application because it provides not only user friendly interface but it also gives developer huge amount of options to test new things, and most of the students use java enabled phone. 19 2.6 Similar Systems and Comparisons Blackboard Learning System (WebCT) One of the similar systems to dissertation is Blackboard Learning System (WebCT). They are dedicated to develop and implement new technologies that enhance every aspect of education. They are developing comprehensive learning and teaching solution which is flexible and simple to make sure it is easy to use for the students and teachers. WebCT is a web based application it’s not a mobile application. Blackboard learning System is a huge application which consists to many functionalities and information’s for the students. It is customizable students can change the layout according to his or her need, colour of the background and the channels (the content you want to display in blackboard) for example Campus Announcements, My Grades, and Personal Bookmarks. It has course lists where student can access the entire course modules and their content, University administration (Teachers) can reuse learning objects and track how learning object is used. It has section called My Learning which consists all learning and training opportunities available to the students and the staff. As an administrator in WebCT, admin can view class lists in different formats and enter the grades of exam paper or assignment manually and student can view the final grade after login to WebCT. It also provides calendar facility so the student can see when the assignment is due or when to give test. Admin can give online quiz and these are available to students. For Students WebCT provide huge number of facilities to work with. The Campus Announcements board allows students of the particular course to communicate with each other. It also provides email facility to students to communicate with other students and teachers. The chat facility provides real-time communication options for the students they can chat to other online students. WebCT provide self evaluation section which can be added as a note within any course module in this section students have multiple choice questions that are automatically scored by the program. These can help students to test their learning throughout their module. There are online quiz and the score on each quiz can be posted for 20 the students to view. There is a section called Web Link where students can view all the helpful links which is helpful for studies. Blackboard Mobile Learn [14] Blackboard mobile is a podium for bringing dynamic learning, teaching and campus experience to the mobile device. Blackboard Mobile Learn application allow students and teachers to access their course content, students can view their grades. User (Student) can access documents in multiple formats and upload media as attachments to discussion board and blogs. Instructor (faculty) can post announcements for example if any assignment is due or class is cancelled he can post the news and student have instant access to the latest news. There is a function called task which helps students to track and manage the progress of various tasks. This Blackboard Learn mobile application is available in some places (In US Puerto Rico and US Virgin Islands) over wi-fi with no cost and this application can be accessed in variety of devices including IPhone, Android, and Blackberry. Blackboard Learning System (WebCT) and Campus Wi-Fi Comparisons Campus Wi-Fi application promises to provide the services frequently, the strategy is to deliver the best learning tools to enhance the learning and information system, So the aim is similar in both applications however WebCT is a huge application which consist to many functionalities to provide dynamic learning information management. The main difference between both applications is that Campus Wi-Fi mobile application works through Wi-Fi technology and Blackboard Learning System provide all facilities over internet. Both applications are developed on java platform however their goals are similar but both applications are different WebCT is a web based application and Campus wi-fi is a mobile application. WebCT is highly customizable on the other side campus wi-fi application is not customizable. The four main objective of campus wi-fi application 1) Alert and notification 2) Post request 3) File sharing 4) Forms or Event Registration also exists in WebCT. Administrator can send an alert message via email to students and students can reply to that mail. It has a chat facility however it is quite broad, where student can not only chat with teaching staff but also with other online students. In WebCT students can view their assignments and results similar to campus wi-fi application however student can’t submit their assignments on 21 Campus Wi-Fi application but in WebCT they can submit their assignments. It also has a section called Campus announcement which alerts students for upcoming event or latest news. WebCT consist timed online quiz or surveys and self assessments whereas Campus wi-fi application does not have these functionality. WebCT can be accessed through any web browser, like Mozilla /Firefox or Internet Explorer, Additional plug-in might be required to view the media files on the other hand campus wi-fi application can be accessed on java enabled mobile device. After reviewing both WebCT and Campus Wi-Fi. I came to realize both of these tools provide similar functionalities however WebCT is highly broad and huge application so it consist larger number of functionalities .However campus wi-fi application is not that huge as compare to WebCT but it promises to give facility over the mobile device through wi-fi it means from student prospective they don’t need to start the laptop or computer to access the services they can just login through mobile device and get access all the services or information’s. However Campus wi-fi is restrictive because it is only available in campus zone because it needs a campus wireless network to get access so only those students who are in the range of campus wi-fi network can access this application. On the other side WebCT can be accessed from anywhere, where internet connections are available. Both tools are user friendly. Overall both tools (applications) promises to provide best services for enhancing the information system for any Institution or University both have their own way of providing such services it would be bit unfair to compare campus mobile Wi-Fi application to WebCT because WebCT is such a larger application which also offers professional development and training support and consulting services. In the end I would like to add that if a campus wi-fi mobile application consist few more of the functionalities which WebCT have then it would be a great plus (advantage) for students. 22 Blackboard Mobile Learn and Campus Wi-Fi Comparisons Blackboard mobile Learn and Campus wi-fi mobile application are quite similar to each other in terms of services they provide. Blackboard Mobile Learn have a function called announcements where faculty can make announcements to notify students, on the other hand Campus wi-fi mobile application consist a function called alert to notify students about any latest news .Students can view their grades in both application however the way is different in Blackboard Mobile Learn students can view their grades just clicking on grades section , In Campus wi-fi mobile application administrator upload all the results or grades ( all students ) in respective format .pdf or word document then student have to download that file to see the grades .There is interesting function called Tasks which help students to track and manage the progress of various tasks , Campus wi-fi doesn’t have such functionality. Blackboard Learn application have a section called Discussions where students can ask questions and answers them to the instructors and he can respond to students for the benefit of all , In this dissertation same functionality has been given in a post request section where student can ask and get a answer from administrator like a chat box . Campus wi-fi application have a function called Forum (Event Registration) where admin can post a university event and students can register themselves for the event through their mobile device,BlackboardMobile Learn app doesn’t not have this functionality . After going through each tool of applications I can say that both applications are promises to provide similar functionalities to students and user friendly environment, where Campus wi-fi is only build for java enabled device and Blackboard Learn is available for variety of devices like IPhone , Android . It would be good idea to extend Campus wi-fi with some more functionality and build in other platforms as well. 23 3 Problem Requirements 3.1 Use cases The basic requirements for this dissertation are to build a system where Administrator can communicate to students and they can get all the information on their mobile device. The aim to build a mobile application which will provide facilities through wi-fi technology in the campus environment. Students will be able to get the alerts from admin department and they can ask any queries or questions to administrator and get a response on their mobile device. Student can see their results and download assignments on their mobile device. Student can register themselves for latest events. Other functionalities may be added in future to enhance the application. The main users of this application are the students. 3.2 Textual Descriptions The textual description for the use case for the users is outlined below: a. Student As a Student, you can do the following: New query This is where each registered user can ask any questions to administrator. If a student wants to know the fee of sports membership he can just write his query and he will get his answer. It’s like a chat window where admin can respond quickly to any question of students. Login into Campus wi-fi system in mobile device using your login details The login panel allows students to access the application. Student can get there login details from Administrator. Inbox In this section student can see the alert send by the administrator. Your Post This section is related to new query where student get the answer of his question like a chat window and allow user to ask multiple questions to administrator. 24 Event This section provides a facility to students where they can view the upcoming university events and register themselves for events posted by the administrator. Get Resources This section allow user to see the uploaded file from the administrator, it can the assignment or the results of assignment (.pdf .doc or any other respective file) .Student can view the file in default browser or he can download in mobile device. b. Administrator The administrator has access to the admin panel to manage the web contents, but not limited to the following as more will be added in the future works. Manage Student This allow administrator to add users and manage their existence users Form Master This section allows admin to post a university event with the expiry date so the student get to know this event is still available for them. Registration This section allows Admin to see all the registered students for the events. Manage Message This allows the administrator to send alert message to student. Administrator can determine a type of message it relates to and he can send this alert as all students or to a single student. Manage Student Post This allows administrator to give answer of the students question or query it’s like a chat window where administrator can respond to multiple questions asked by the student. Manage Resources This section allows administrator to upload assignment or results in respective format. 25 3.3 Use Case Diagram for Administrator Login Add/Update Admin Student Send Alert/Update Post Event Query Posting Add Resources Figure U 1 The use case diagram for Administrator (Admin) is shown on figure U 1. It shows Admin can login to campus Wi-Fi through his username and password. In the Admin page Administrator can add /update student details and can define password for the students. He can send alert/update messages to students, post event and can reply to new query which is send by the student .He can add the resources which can be downloaded by student as shown on figure U2. 26 All these functionalities are only accessible to Administrator as show in the use diagram above. Use cases are very useful before making an application developer get to know about the structure and functionality of the application. It also provides an idea about which objects are required and what would the flow of the application. 27 3.4 Use Case for Students Login Students View Message Post new Query View/downloa d Resources Event Registration Figure U 2 The use case diagram for the Students is shown above in figure U2. IT shows Students can login provided with the password. He can view alert messages can post a new query to Administrator. Students can view or download resources and he can also make event registration. These are the functionalities which is available to student. 28 4 System Description and Implementation 4.1 Technology in use This section examined the technologies used in this project and their specific usage in the development process, discussions in details can also be found in some of the material listed in the references. J2ME (Java 2 Micro Edition) [15] Java 2 Micro Edition (J2ME) is a technology which allows developers to use java language and related tools to develop programs for mobile wireless. Java 2 Micro Edition (J2ME) is divided into three parts profiles, configurations and optional packages. Profiles are Application programming interface which is built on top of the configurations to provide a runtime environment for mobile device like PDA mobile phones. Profile used to manage the applications. Optional packages provides standard application programming interface for using both existing and newly technologies like messaging through wireless, database connectivity and multimedia. Configurations provide set of libraries and a virtual machine for the category of wireless device. Java 2 Micro Edition (J2ME) has two configurations CLDC (Connected Limited Device Configuration) and CDC (Connected Device Configuration) which are described below in details. CLDC (Connected Limited Device Configuration) [15] It is a set of standards, libraries and virtual machine for devices with the very limited resources like mobile device. When it is joined with the Mobile Information Device Profile (MIDP), it provides an excellent java platform for developing applications which can run on the devices with limited memory. 29 CDC (Connected Device Configuration) [15] Connected Device Configuration (CDC) is for bigger devices, such as set-top boxes and PDAs. It’s a specification for the JVM (Java Virtual Machine) that a J2ME (Java 2 Micro Edition) device must support. J2ME API’s (Application Programming Interface) javax.microedition.midlet [4] MIDP (Mobile Information Device Profile) is called as MIDlet each and every MIDlet is an instance of java.microedition.midlet.MIDlet. It is implemented in lifecycle method (discussed on 3.2.4). Conceptually it is similar to applet and can be downloaded. MIDlet is executed in host environment. MYSQL MYSQL is a well known relational database management system (RDBMS) used to manage the database relationship and interactivity among the database. It is an open source technology which is used to create the database. In this project it is used to interact with Servlet for the management of the database such as edit, delete, update etc. JSP (Java Server page) JSP (Java Server pages) enables the creation of web application, it is a server side scripting language, it work by embedding Java code in to web programming language like XML, DHTML ,HTML and other programming languages. This scripting is indeed competing with Servlet, Java and other well known web applications. 30 Servlet A Servlet is a java programming language class which is used to extend the server that host applications accessed through a request-response model. Servlets are use to extend the applications hosted by web-server. It defines HTTP (Hypertext Transfer Protocol) specific servlet classes. 4.2 Process model for development The software development model represents the model and the processes of developing applications. I am following the waterfall model for the development of this project which goes through five stages: Requirement, Analysis, Design, Coding, and Testing all these are describe below. Requirement Stage: The requirement of the university administration and students were initially studied. The requirement is collected by use- cases through which it was decided what objects and functionality should be given to Administrator, such as Login, Add/Update Student, Send Alert/Update, Post Event, Query Posting, and Add Resources. In this stage of the process I went through with quite a few similar systems which has been analyzed, blackboard is the organization which develops such a system on a large scale. Then I have decided which platform I am going to build this application which is J2me (Java 2 Micro Edition ) , what database I am going to use which is MY SQL DB, which language should be used develop a web based application for administrator which is JSP /Servlet. Analysis Stage: Once the requirements of the application are identified in requirement stage, then it is important to understand the scope of the problem. If there is a problem dividing that problem into sub sections so that goals can be achieved .The analysis stage is used to find the solution of the problem. It was important to make sure that whatever the thoughts or functionalities are in mind should be reachable in the limited time frame. Firstly it was considered student 31 would have functionality where they can pay the dues through the mobile phones to university administration but after analyzing it is found that the desired goal would be not achievable in the limited time frame and the there were some security issues to consider payment function. In the above application it was analysed that all the four goals for application are achievable. The detailed description of analysis can be found in section [6.2] of the application. Design Stage: Design stage contains identifying the major component, objects of the application. It will represent the systems behaviour and the work flow (the structure). It involves design of the interfaces between major components of the sub-systems. This is the part that is exposed to the users and hence the only part they can experience. If the application is too complex to understand on the first time then the user is not going to use it on the next time. Architecture of the Campus Wi-Fi mobile application has been considered in this stage which is described in detail section [4.5]. The students is going to connect through Wi-Fi router to the administration department which will send the information to the server then the server will fetch the data and forward the request to administrator. Coding stage: This stage the design of the application is transform into the code. The Eclipse IDE (Iintegrated Development Environment) supports all the needs of writing the code, such as syntax highlighting which was useful to identify the error, example material for building mobile application and all the necessary compiling, deploying and running functionalities. Eclipse was helpful there, as there are so many pre defined functions which makes the work easier. The detailed description of this stage is discussed in section 4.3. Testing stage: Once the application is coded testing of all the function has been done to find out whether it is working the way it was designed to work. It is important to test application in large scale because I did face a problem when I was testing adding resource option in 32 administration browser field after some time I found there are syntax errors. Testing the functionalities of this project is an important aspect of this dissertation, it is necessary to see how the application and information on mobile devices are being displayed especially on different real mobile device and emulator this type of testing helped me to correct the bugs in functionalities according to the users’ requirements. Unit testing on the functionalities of this project is an important aspect of the dissertation, but more importantly the usability testing by the potential users in with the project is developed for. Campus Wi-Fi application testing is very necessary to see does the functionalities given to administrator and user (students) are working properly according to the requirements. This project has been tested on different common browser from the administrator side i.e. Google Chrome, Mozilla Firefox and Internet Explorer 8, and it was found to display equal quality of information and functions given to administrator as specified in the project specification. This type of testing helps the developer to find the bugs in functionalities according to the administrator requirement. The user side of the project was also tested and it was found to meet the student’s requirement, all the functions are working properly which was specified in project objectives. The most important function from the student side send query, view resources, event registration and read alert message all these functionalities has been tested and found to be working as expected. The Administrator side of the project was also tested based on the requirements, all the functions such as sending alert, post request, file sharing and posting event are also tested and found to be working according to administrator requirement. Why the above development model was chosen Waterfall model has specific goals for each phase of development in the above application each goals are determined and divided into stages , Schedule is set for the each stage as a deadline to achieve the goals for example first goal was to build a administrator interface and database structure then to move on to mobile application . After completion of the 33 administrator panel and data structure the mobile application coding been started. It is important to finish the first stage then move to the next. Each stage of the development proceeds in strict orders, without any overlapping of steps. One of the advantages of this model is the amount of resources required to implement this model is minimum. After the major stage of coding the application is tested against specifications. The above application is tested again on a larger scale once the major coding is completed then the application is tested. If there are any errors then the error was corrected. It was easy in this process model to identify the progress and it also gives an opportunity to identify the problems quickly. The best thing about this model is the design been made before the actual coding, so before starting coding the structure and objects of the system were well known. 4.3 Implementing mobile application One of the biggest challenges of the mobile applications development is how to implement such applications in a way that consist the security properties of their specification. It is important to think and specify the application using high level tools and then ascertain that specification meets the desired requirement , Is all the goals are achievable or not. Then it is decided that application is going to build on java platform. To begin implementing Campus wi-fi Mobile application first of all JSP (Java Server Pages) is used to build the layout of the application which represents the admin part. The login panel is been made which allow admin to login in through the user name and password mean while it was decided to build a database on MYSQL Database ,discussed on Data Structure of the dissertation. The Servlet are used to fetch the data from the MYSQL database. The mobile application is built using J2ME (Java 2 Micro Edition) on Eclipse (integrated development environment) IDE in which important aspects (coding) of mobile application implementation and the important aspects of implementation are discussed below. 34 Campus.java Campus.java class is the main class of the application which extends MIDlet and implement runnable interface. Objects of login, Menu, New Query, Post list and other important parts of the application are created in Campus.java class. Then background thread is created for searching up the new messages, it keeps searching for the new message in a specific time (20 sec) frame again and again. One of the interesting aspects of implementing in the above class is the alert screen that shows a picture to a user (students) and waits for a certain period of time with a sound. This functions uses to alert the student to inform new message has been received with unread message picture, the coding to implement this feature is below Alert alert = new Alert("Alert Demo","You Got new Message",img,AlertType.INFO); alert.setType (AlertType.INFO); if(display.getCurrent()==mmenu){ mmenu = new MainMenu(this); display.setCurrent (alert,mmenu); ConnectWait.java The ConnectWait.java class is build to establish connections between all the servlet. ConnectWait.java class extends Canvas class (A class that represents a blank rectangular area of the screen in which the application can trap input events from the user) and implement runnable interface. For communications the servlet base (servbase) address is given to communicate with the admin application side. Then the paint method has been given in order to perform custom graphics on the canvas, after that the method for calling the servlet and getting back the result it takes from the servlet name & parameter as input is assign. One of the interesting part of implementing of this class is to establishing a communication between the all the servlet. 35 Login.java The Login.java class represents the login activities of the user (students) which allows them to login, passwords are provided to them by administrator. This class implements Command Listener (the commands registered with display or the item objects have provided in class).The method “Command Action “ is describing what actions needs to be done when button clicked is been performed for example in the above class if exit button is clicked application will call the quit function to exit of the application. In the login section user needs to input the username and password when validating the username name and password it will call the login servlet (actually it will call to callservlet () of the main class). If the username or password is incorrect it will show the message “Invalid Login/Password” or if the login is successful then it will display the main menu. Simply the logout.java class allow the user to logout in the same process. Apart from all these three important java classes mainmenu.java, messagelist.java, newquery.java, resourcelist.java, showmessage.java, showpost.java implemented to provide the different functionalities to the application. etc, has been All these class implements the Command Listener with the Command action which defines which actions is needs to be done when the button is clicked. Interesting aspects of implementation in Servlet Servlet are small programme that runs on server. Web applications are usually contain both private and public resources. It is important to make sure that those areas that are restricted to public will remain off limit. LoginController.java Logincontroller.java Servlet is built to handle the login process for administrator. The Do Post methods of servlet define the current session and the values of username and password. The “loginDao“ instance of “LoginDao” has been created for the database connection pulling. When discussing the login process security is very important the two main 36 categories of security needs to be considered Authentication and Authorization. The Authentication is to verify the user, are they the right person whom they say they are. Authentication is handled via username and password login. Mostly websites utilize login page through Secure Socket Layer (SSL) over Hyper Text Transfer Protocol (HTTP). Once the authentication process is done then it goes to authorization stage. The Authorization process makes sure that the user only see the data what they authorized to see. MobileLoginController.java MobileLoginController.java servlet is built to handle mobile login authentication for user (Students). The process is same as discussed on the LoginController.java servlet class. The Do Post method here defines string parameters and the values for username and password. The instance of LoginDao is created for database connection pulling. Once the authentication is done user will move to next page if the authentication is failed (wrong password or username) then message will be showed “Invalid Username/ Password”. Usually those programme that access database by user input needs to be on server side. One of the advantages of java servlet is that with heavy traffic they can execute more quickly. Instead of causing the separate programme process to be created, the request from the user is invoked in a single demon process (the amount of system overhead for each request is slight). Performance Considerations In Campus wi-fi project local variables has been used because it is quicker to access local variable as compare to class members. String concatenation has been avoided because it slows down the performance and increase the memory usage of the application. Threads have been used and synchronization has been avoided through which performance can increase. 37 4.4 System Architecture The below figure shows the architecture of the application J2ME/JSP (Java 2 Micro Edition / Java Server Pages ) which represents the user (students), a web based application admin browser is for admin .A server application is running in middle. The database is running in the backend to store records. The radio waves deliver the information to mobile devices. Figure 2 shows the architecture of an application, it is difficult to understand the picture all at once but the work flow is easily understandable. The figure 2 has one administration (admin who is sending messages is in black arrow), and there are two students, Student A (Blue arrow) and Student B (Purple arrow) both have java enabled phones. The Admin send and the message forward to the server from where the related message then goes to database (DB) to search the related table the data is fetch and send back in server which process the message forward through Wi-Fi Network and message received to students mobile device. The same process goes when students send query or ask any information which start from the student side and reach to admin in end. Below are the two different students just to show that they both send and receiving messages which is related to them. Student A Student B Wi-Fi DB Server Admin Figure 2 38 4.5 The Admin and User Interface This section captures some of the important Administrator and User (students) interfaces of the Campus Wi-Fi Mobile Application. The structure and qualities of the presentation will be analyzed with respect to computer human interactions and functionalities which will form the bases for the evaluation and future work in concluding this dissertation. Below figure shows Administrator is sending message from the Admin browser Figure 4 “Sending Alert/Update” In the above figure 4 Admin (administrator) is sending message to mobile device “Hello, Just want to inform you all. Timing for tomorrow Lecture of Object Oriented Programming is changed and new timing is 1 pm to 2pm Wednesday. And below figure 5 shows that the new message is been received in mobile device with alert “You Got new Message”. 39 Figure 5“Alert Pop up on device” Figure 5 shows message alert on the emulator (mobile device). Figure 6 In the above figure 6 message is received in mobile device which was sent by the admin earlier. In the below figure 7 Student is sending message from his mobile device via New Query and asking a question to administrator. 40 Figure 7 Figure 8 Above Figure 7 shows student is going to ask question by new query of device and in figure 8 students asked a question he wants to know the fee for the sports membership and the answer comes The below figure 9 which shows admin reply to student stating that fee is 80 GBP annual and message is also received in the mobile device it is like a chat window. 41 Figure 9 Figure 9 shows student got a reply on his device and he can chat to admin through this feature “Post Request” Figure 10 In the above figure 10 admin is uploading Assignment Results through Manage Resources. And in the below figure 11 Resource has been added and received in 42 mobile device where student can save the AssignmentResult.pdf file and view the results. Figure 11 These screen shots are just to show the major functionalities available to the administrator and user device. Other functionalities can be added in future work based on the user demand and need for better platform. The essence of the screen shots is to showcase the available information and functionalities to the readers. 43 4.2.1 Java ME MIDlets [4] A MIDlet is an application that uses the Mobile information Device Profile (MIDP) of the Connected Limited Device Configuration (CLDC) for the Java ME (Micro Edition) environment. Mobile information Device Profile (MIDP) application is also known as MIDlet .It is executed by device-specific Application Security Manager (ASM) which defines security restrictions for each MIDlet and it can interrupt MIDlet. MIDlets move from state to state in the lifecycle. Below is the life cycle of MIDlet. Figure 13 The figure 13 shows life cycle of MIDlet. The first is pause state, by deault midlet is in pause state when the application is excuted the startApp method is called and when we close the application the destroy method is called and destroy the midilet 44 4.2.2 Emulator An emulator is a substitute to test mobile applications without need of real device. It gives an option to test the mobile applications without the real device (in absence of real mobile device). Eclipse IDE (Integrated Development Environment) has an emulator that works as a substitute of mobile devices. The emulator is used to test mobile applications which make work easier because it is hard to test the application on real phone each and every time. Emulator runs through the J2ME (Java 2 Micro Edition) wireless toolkit. There are numbers of emulators on different systems or IDE’s (Integrated Development Environment) and which one is the best for each system depends on what interface and features we would like to implement (requirement of the applications). 4.2.3 Java ME Issue J2ME (Java 2 Micro Edition) is wide language which provide so much of feature and popular amongst the developers but it also have some drawback and fault which is mentioned below. • It has a poor native UI component palette. • Porting –application works on Nokia, but will not work on SE. • Application looks fine on emulators but sometimes fails to work on the real device. • Bundled resources size. 45 5 Project Design The methodology of the design of this application involved careful consideration of the various technical and design issues implied by the project requirements. This project is built on three stages first one the Admin browser second is J2ME (Java 2 Micro Edition) mobile application for students and the third is Database (backend). There are few elements and important stages of design are already described in section 4.2. As it is said earlier this project is built on three stages so all are divided into the parts. The admin panel for administrator is on the first stage, Database which is running on the backend on second stage, the final stage the front end for users (students). It was decided there would an admin panel for administrator which would be implement first and the administrator is going to send a request (which contain alert or message) to a server from where the server will process the request to database running on backend and fetch the data from the related table and process back the request to server then server establish communication to students mobile devices through Wi-Fi wireless router the request is now processed to students through wireless router. Same scenario is repeated for student in a reverse order. When the application was started “Form registration” was not considered to be in this application but through with implementation and analysis process this resulted into new requirement is created. Project design basically deals with the time frame and cost factor but in this application time frame has been considered. 5.2 Design Considerations To develop mobile application there are few things which needs to be considered during designing stage. It is better to built small applications because its uses less memory on the device and takes less time for installation. As considered for the above application compressed in Java Archive (jar) files. It is important to manage the memory efficiency by setting object references to null and not to depend on the garbage collector which has been done in the coding stage .For minimizing the memory usage the other way is to only allocate 46 objects that are needed. Allow the server to do the most of the work, move the computationally intensive task to the server and allow the server to run them for you. Allow the mobile device to handle the interface and minimum amounts of computation, and allow the server to do the intensive work. Then the language is been considered J2ME (Java 2 Micro Edition) is the best choice depends on the needs and the experience in java. In terms of alternative design model the spiral design model was also studied, however it was not implemented. The spiral model more emphases in placed on risk analysis. The spiral model has four stages Planning Risk, Analysis Engineering and evaluation. This model was not implemented because it doesn’t work well in the smaller projects. The Campus Wi-Fi mobile application is a small project which does not go well with the spiral model. It is a costly model to use. Why this project is designed in this way The reason for designing this application in this way as it is because the above design was easy to implement and understandable. The user has a simple navigation and it was easy to follow the functions of the application. The structure of the application is easily understandable. The administrator browser was built in the first stage because it is useful to start the work with developing the back end because the mobile development is much more complex as compare web based applications. The design of the admin panel was simple each functionality has divided into different section. The database for the application is built on the second stage which runs on the backend, in this stage all the objects and functionality are well known so it was easy to create the tables without any further changes. The last stage mobile application was built because at this stage most of functions are already defined in the admin panel the only difficult part was to establish a communication network. If the mobile application was built in first stage then there would be some complications because of lack of experience in mobile application. 47 5.3 Payment Idea in Existing System When this project was chosen there was functionality in mind to provide a payment facility to students from their mobile devices (a method to pay dues), however it was not implemented in real application because of security issues and limited period of time of the project. The Payment section would be a functionality given to students where they the pay their dues from their mobile phone. The concept is students would be having some amount of money in their university accounts (balance amount), and administrator can view the balance amount of the each student in the admin panel. For Example Administrator is going to send alert to all the students that they need to pay 50 GBP pounds for the upcoming examination fee. So the students will make 50 GBP pounds payment from their mobile device (payment section) and 50 GBP pounds would be deducted from student’s accounts and new balance can be viewed by the administrator. Students probably can send a query to administrator to ask what the balance amount in their account is. The below figure shows how Payment function can be added in the given system. The Figure shows Administrator post /add event which is sent to students, they view the event and found in the description there is a fee of 10 GBP pounds to get registered for the event .Student is making a payment from their mobile device the request fetch the required data from the payments table and process the request (user is registered).Administrator can view the payment made by the students in admin panel. Post/Add Event Administrator (Admin) Event Registration View Payment Figure 13.1 Payment _table View Event Make Payment & register Students 48 6 Data Structure [6] Database is used to store and manage data. I have used MY SQL (Structure Query Language) Database for this application. The design of the database is developed by the requirements of the project. Having a well defined relational database is a basis for building interactivity and ease of information processing with less cumbersome in a contents management system. My SQL is open source Database management system. Database is a collection of data it can be anything record of Students or University. To add, access, fetching one information from a huge amount of data we need a database management system. MY SQL is RBDMS (Relational Database Management System), a relational database stores data in different instead of putting all the data in one big workplace that’s add speed and flexibility to database. I have used Servlet application to fetch data from the database. Figure 14 The Figure 14 shows the design of the database .Name of the database is Campus (bold font) on the top right side of the figure. 49 The designs of the database depend on the requirements of the project. The main purpose of the project is to design a contents management system to manage Students and University Administrator. The most important table is the user table in which all other tables depend on, the user table contains the attributes of each user admin or student, while user table alone cannot meet the diverse needs of the project and more other tables are created and are related to the member table. The description of each of the attributes in the table is outlined below: • Course Table shown on figure 14.1 which provide information about the course Identification number and name of the course. Field Description Course_id Course Identification No or ID Course_name Name of the course Figure 14.1 • Description of Form Registration table shown in figure 14.2 Field Description Form_id Number of the event or form Title Title of the event Description Description of event Entry date Entry date for event Expiry date Expiry Date for event Figure 14.2 • Description of Message Table Below is the figure 14.3 Field Description Message_id Number of the message Message_type Message type or which topic it is concerned Student_id Student ID number Msg Content Of message Date_time Date and time of message 50 Field Description Post_id Identification number for Event Student_id Student Id number Post_type Type of Event Message Content of Event Date_time Date and time of Event Status Status of an event • Description of Posting Table is shown in figure which is above 14.4 • Description of Resource Table is below shown in figure 14.5 Field Description Resource_id Number of an uploaded resource Course_id Which course It is related to Title Title name of the resource Fileurl Url of the resource to download Figure 14.5 Description of Student Table is shown in 14.6 Field Description Student_id Student id number Name Name of the student Course_id Course identification number Course_year Year of the course Age Age of the student Dob Date of the birth of the student Figure 14.6 51 Description of Unread Message Table is shown in figure 14.7 Field Description Msg_id Message number Student_id Student ID number Figure 14.7 User Table is the most important table of database which provide description of user when new user is create by admin that user is created by this table .It is advised not to delete this table. Field Description User_id Used Identification number Username Name of the user Password Password of user and admin User_type User type whether it is admin or student Logged_n Login Info Figure 14.8 52 6.1 Real Phone Environment It is quite interesting to run and test mobile applications on emulator but sometime it does create problem and became important to test application on real mobile device, however chances are very low for this scenario. Through Eclipse we can create a jar file after the jar file is created we need to install that .jar file in mobile device after the installation is successful we can use the application to test on real mobile phone. When I was testing the application in real mobile device there was difficulty to connects to networks, sometimes user not able to connect to shared networks it usually happened because connection is not established between the network and mobile device, as a suggestion it better to confirm IP addresses and default gateway settings of the network and the mobile device. Sometimes users test the applications and it doesn’t go through and they try to find mistake or error in the code but usually it happens because the device is not able to establish connection to network. I have faced this issue in the beginning of testing the application on real mobile phone. 6.2 Analysis Feasibility Study The feasibility study plays a major role in the analysis of the system. The decision of the system analyst, to design a particular system depends whether the system is feasible or not. Hence, the feasibility study forms the very basic of the system. The feasibility study can be categorized into: Technical Feasibility It has been determined that the technology which is required for the system is available and this technology can be used into the application. Technical evaluation has also evaluated the existing system to find that it cannot be upgraded in keeping with the user’s needs. Hence, we need to create an entire new system which caters to the specific needs of 53 the user. The end user can be equipped with the pre-mentioned hardware and software requirements. OPERATIONAL FEASIBILITY There are two aspects of operational feasibility for the system. One aspect is that of technical performance and other is of acceptance. It has been determined that the system can provide correct and timely data required for the end user needs. Also it has been determined that the system will be accepted by both users (students) and administrator with and without technical knowledge. Economic Feasibility The economic feasibility of the system is mainly concerned with its financial aspects. It determines whether the project is economically feasible. As the hardware and software are already available easily in the market, no further investment is to be made in that direction, the only cost involved is that of implementing the system. The front end system is built in jdk1.5.0 which is freely available. The backend is built in MS Sql server which the can be made available with easy efforts and lower cost. Also since the application works on middle-level phones it is not necessary to spend a lot of money in obtaining a phone. It was decided that the project was technically feasible because of the following: • Necessary technology exists to do what is suggested. • The system would be expandable if so decided. • The system can be integrated with other networking tools and output of the system can be provided to other tools for high end analysis. • This system is technically more secure. 54 7 Conclusion 7.1 Summary The purpose of this project is to develop an advanced Mobile Application information system between university administration and students with the use of WI-if technology, the requirements of the project was a due consideration at each stage of the development. Designing such an application to meet the aspirations of many users seems complex at the beginning, but the work at the end was able to meet all the original goals. The basic idea is to provide fast and reliable information service to students in the campus environment. This application provides an interface where students can communicate to university administration through their mobile phones. To build such application, many technologies had to be learned to integrate some of the functionalities used to establish communication between mobile and admin browser .These technologies are learned and their usage as seen on the website was limited by the level of knowledge and understanding within the time frame. The MYSQL is used to design the relational database, JSP for structure and display, Servlet for structure, fetching database from backend and establish a connection between J2ME (Java 2 Micro Edition) java classes to server. All these technologies are used in order to explore their functionalities and usability. 7.2 Evaluation The project is developed to design an information system between the university administration and students; the objective is to communicate to students by sending information’s (alerts or messages) on their mobile device through Wi-Fi technology. This application based on the well known open source technologies Java 2 Micro Edition (J2ME), JSP (Java Server Pages) and Servlet. 55 All the four objectives of the application were achieved successfully. This project is evaluated on usability testing which becomes necessary to validate the claims made in section [4.2 testing] and to suggest possible areas of improvement and future work. Two users (students) were selected for the purpose of usability testing. These numbers might not be perfect enough for testing, but it is enough to test the functionalities of this project within the limited period. These potential users are divided into two parts one user_1 within administrator given login details to login in into administrator panel of the application to test the functionalities within the admin panel, and the other user_2 (student side) within the student section given the login details to login in to mobile application. This testing is done on emulator not on the real mobile device. Both the applications are running on different systems. The user_1 from the administrator side deployed and run the application on laptop A after the successful login he was able to see the admin browser. The user_2 has opened the emulator on another system (laptop B) and logged in to mobile application side of the application. User_1 (admin panel) sends the alert message from his system and user_2 has received that message on emulator which is running on another system (laptop B) with the alert sound. To test the second functionality user_2 (student side) sends a new query to ask a question to administrator and that message is received by user_1 (admin) in the manage student post section of the administrator browser, both user_1 (administrator) and user_2 (student) exchanged few messages and as a result both are able to communicate each other like a chat window. Both of the above functionalities meet the original requirements which were decided in project objectives. To test the third functionality user_1 (administrator) has uploaded assignment and it was added successfully which is viewed by the user_2 (student) on his emulator, however this functionality has some issues which is discussed below. When administrator adds resource, assignment (.pdf or .doc) file in the Manage Resources section of the admin panel. On the emulator or mobile device when students click to view file, the mobile application shuts downs. The MIDlet goes to destroy state and shuts the mobile application user need to login again to view that .pdf or .doc files .This is one of the problem faced in this application. This functionality was not actually working the way as it is discussed in objectives. 56 The final functionality event post and registration is also tested. User_1 (admin) has posted an event in Form Master Section of admin panel that post is viewed by the user_2 (student ) on emulator in Event Forms section of the mobile application user_2 (student) registered for that event from their mobile device. User_1 (admin) viewed the registered members in the registrations section of the admin panel, which gives the information to administrator which student has registered for particular event. This project is not tested on big scale in real mobile phones, it was just once tested on mobile phone and the outcome was similar as it is working on emulator. The results of the usability testing deduced the project has meet the technical demands and original requirement of the Administrator and Students, however functionality three viewing the files on mobile phones needs to improved. Apart from all the good qualities there is little section which can be improved for better results. When user (students) sends a query to administrator to ask any question via new query there is no way where administrator get any alert sound or anything to point out new message is received from students, administrator needs to click manage student post section to check new messages. It would be nice to provide functionality where administrators get to know on the admin panel a new post or query from students. The same problem exists (on student side) when administrator upload or add resources, students need to check the get resources section of mobile application to find out whether any files (assignment ) are posted or not , it could be better if students gets a alert sound when they got any files from administrator. All over this application is successful and meets the original requirements of the project. 7.3 Limitation This application is limited and only available for students who have java enable mobile phone. In the real time university environment students uses different phones where each has different functionalities for example Android, IPhone those users can’t use this application because it is built on J2ME(Java 2 Micro Edition) environment (only for java enabled mobile device). Apart from this java enabled mobile device should have a Wi-Fi technology to access or get the benefit of this application. 57 Multiple devices can be connected to the system, however when multiple devices are connected through single router (physical device which connects network) the performance will suffer. The wireless router is varying in the Wi-Fi range. The router with strong Wi-Fi signals allows the multiple devices to connect at the higher speed even in a greater distance, [10] the router Wi-Fi coverage depends on the access point. The typical wireless access point using 802.11b or 802.11g with the stock antenna have a range around 32 meter ( 120ft)indoor and 95 meter (300ft) outdoors , however IEEE 802.11n provides the range by more than two times. This application is limited or accessible only in the Wi-Fi coverage; students can only access the application if the mobile device is in the range of the wireless network of campus. The WiFi coverage is range of the wireless router. This System can be spread to a larger area with multiple wireless routers to provide greater coverage to the users (students); however it is not tested with multiple wireless routers. 7.4 Future Work The development of a mobile application is technically more complex and can be built in different platforms which would be having their advantages and disadvantages, and this may provide a user different interface. The Campus Wi-Fi application is open application which can be extended by adding more features or using different platform according to the demand of the users. The website could be deployed in future on other alternatives technologies and customized the functions depending on user’s requirement. When I have started this project I have a function in mind called payment or transaction, this will provide a facility to student (user) to pay his due fee or any payment to the university department through his mobile device in future I am going to extend this application to add this function that’s why my application still consist few element of transaction in coding. 58 The application can be broad by adding functionalities as per the user requirement. In my view it would better idea if students can have a task section on the mobile device .A task section will allows the students to see the due assignment dates and probably a calendar where student can set the reminders. It would be great if student can view the module lectures from the mobile device. And probably broad this application which not only works in wi-fi range (wi-fi technology) but also can be accessible through internet from the mobile phones, it will give an opportunity to students to access the application from anywhere. The application can extend farther more by using different platform Android is one them. Android application also based on java easy to build and provide user friendly interface. When building an application for student we have to keep in mind that student’s uses different phones and Android is most popular these days. So if any university is going to implement this application in real time environment they have to build this application on different platform to fulfil the requirement of the users (students). 59 References 1) http://home-networking.wikidot.com/wireless-vs-wired 2)http://www.google.co.in/search?q=wired+and+wireless+connection&hl=en&gbv=2&imgref url=http://wiresolutions.blogspot.com/2011/01/quick-guide-to-configurewireless.html&w=299&h=287&ndsp=15&tbm=isch&tbs=simg:CAQSEgmko8jI3O4ygyGeVxgPvE K3Aw&sa=X&ei=Gu9wTqz3IofsrAeeiNWOBw&ved=0CAQQrBE4Dw&biw=1024&bih=630 3) ITNP92 University of Stirling lectures written by David Cairns and Jesse Blum Spring 2010 4 ) http://en.wikipedia.org/wiki/MIDlet 5) www.blackboard.com/Platforms/Mobile/Overview.aspx 6) http://dev.mysql.com/doc/refman/5.0/en/what-is-mysql.html 7)http://www.java.com/en/download/faq/whatis_j2me.xml”, “http://java.sun.com/products/cldc/wp/KVMwp.pdf” 8) http://en.wikipedia.org/wiki/Java_Platform,_Enterprise_Edition 9) http://www.ericsson.com/ericsson/corpinfo/programs/using_wireless_technologies_for_context _sensitive_education_and_training/products/giunti_ericsson_wp3.pdf 10) http://en.wikipedia.org/wiki/Wi-Fi#Range 11)www.java.sun.com 12) www.j2me.org 13) http://en.wikipedia.org/wiki/Wireless_ad_hoc_network 14) http://www.blackboard.com/Platforms/Mobile/Products/Mobile-Learn.aspx 15) Complete Reference J2ME 16) http://www.javaorigin.com/tutorials/53/19/53/Servlet_Basic_Tutorial 60 Appendix 1 1. Does the application have the required functionality? The answer is yes, my application have all the functionality which was decided in the project Objective, the main goal of the application is to send alert /update for example if there is certain changes in the time table of lecture ,and it is quite usual that student can’t be online on computer system all the time in university environment with the above functionality student will get a alert pop up in his or her mobile device with would be time saving for him. Second main goal was the post request from student’s side if student can ask a question from administration through new query and admin can reply to that that query frequently it would work like a chat facility which would be beneficial for student because user is not required to on his laptop or computer this can be done through his mobile device. The third main goal of the application , (file sharing) university administration can upload file and send to student whether it’s assignment result s or posting new assignment and student can view or download these document on his mobile device. My application is accomplished to achieve successfully all these main goals. 2. How application function during the testing? Application works perfectly which is been tested on emulator very often and tested in real phone only once and performed in appropriate way. This application is build on Eclipse Helios. Expect that resource (MIDlets destroy) issue which discuss in evaluation section of the dissertation the application is working very well without any error. Developer can delete the records from the backend in MY SQL database. 61 3. Interface is user friendly or not? The application design is fully considered by analyzing the users requirement that’s why this Application provides user friendly interface not only for the administration but also to Students. It is easy for Admin to send message, add or update student records and on the Student prospective using the campus application is very easy. 4. Why this Topic is chosen? Mobile devices, especially smart phones were became life line, so why not provide few advanced feature through wi-fi technology to students in the campus inviorement. Mobile applications are interesting to build that’s why I have chosen the above topic. 62 Appendix 2 – User guide How to use the software: In Real-Life Model: • Service Provider End: a. Let the class files of the servlets be put up in the application folder of the web server which supports processing of j2ee. b. Start the web server on the host. • User End: a. Run the jar file on a mobile phone which supports java. b. Log in with a correct username and password to access the services provided. c. After logging in, select the required service. 63 Appendix 3 – Installation guide About software: The user would be provided with an executable jar file which would help him connect the web server to get the required service. Software Requirements Tomcat server Java Wireless toolkit [J2ME] JDK 1.6 Windows Operating System My SQL Eclipse Helios 64 Appendix 4 Login Process through Diagram User Request Login Request Login Admin Login User Authenticated Admin Authenticated Login Table Figure 15 The above figure 15 shown that’s how the login process wok in my application. User request a login through his username and password login process search for match able username or password in login table and authenticate user to Login. 65 Appendix 5 Add and view Resource process Admin Add files(Resources) Resources View/Download Resource Table Figure 16 The above figure 16 provide a view how application behave in Resource adding option .We can see Admin adding a resources ,its url is added in resource table from where student can view or download that resource. Student