Portability and Design Issues in Developing a Mobile Phone Quiz Application Quiz Pro 2006

Size: px
Start display at page:

Download "Portability and Design Issues in Developing a Mobile Phone Quiz Application Quiz Pro 2006"

Transcription

1 Portability and Design Issues in Developing a Mobile Phone Quiz Application Quiz Pro 2006 Dilip Kumar Nataraja Kumar Problem Report submitted to the College of Engineering and Mineral Resources at West Virginia University in partial fulfillment of the requirements for the degree of Master of Science in Electrical Engineering Approved by Dr. George E. Trapp, Ph.D. Committee Chairperson Dr. James D. Mooney, Ph.D. Dr. Arun A. Ross, Ph.D. Lane Department of Computer Science and Electrical Engineering Morgantown, West Virginia 2006 Keywords: Mobile Quiz Application, Portability Issues, J2ME, MySQL, JDBC

2 ABSTRACT Portability and Design Issues in Developing a Mobile Quiz Application Quiz Pro 2006 by Dilip Kumar Nataraja Kumar This problem report implements a mobile phone quiz application Quiz Pro This work addresses some of the important portability and design issues. The mobile quiz application package is written in J2ME/Java language. The application allows students to take up a test or a quiz posted by a faculty member over the mobile phone. The J2ME quiz application includes features such as student registration/login, viewing previous test results, multiple choice quiz questions, instant answer verification, error validation and results display. To ensure maximum portability across major mobile manufacturers the following methods were implemented in Quiz Pro Use of Servlets to reduce application size and mobile computational overhead 2. Provision of Graphical and Non Graphical version 3. Use of HTTP protocol to enhance portability 4. Use of High Level API 5. Prevention of Networking Bottleneck Further, Quiz Pro 2006 implements Error Handling, Client Side Validation, Simultaneous Support for Multiple Users and Midlet Security. Some of the future enhancements proposed include providing session handling using cookies and improving MIDP Security by using secure HTTP Connection. The quiz application is packaged into a jar file and can be easily downloaded into the mobile device. The Quiz Pro 2006 Admin web page written in JSP language allows the faculty to conveniently enter the quiz questions, the duration of quiz and the number of questions into a MySQL database file. Apache Tomcat Server 4.0 is used to host the quiz application database file and all other Servlets used in the application.

3 ACKNOWLEDGMENTS I would like to express my sincere gratitude to Dr. Jim Mooney for his valuable guidance, constant encouragement and support throughout my work. I would also like to thank my advisor Dr. George Trapp and committee member Dr. Arun Ross for their valuable suggestions and spending their valuable time to review my project. Special thanks to my friend Hari Menon for his valuable suggestions and help during the various stages of my project development. Heartfelt thanks to my parents, relatives and friends for their constant encouragement, support and love. iii

4 TABLE OF CONTENTS ABSTRACT...ii ACKNOWLEDGMENTS...iii TABLE OF CONTENTS... iv LIST OF FIGURES... vi CHAPTER 1 INTRODUCTION... 1 CHAPTER 2 TECHNOLOGY OVERVIEW Java 2 Micro Edition (J2ME) Configurations Profiles The Foundation Profile The Mobile Information Device Profile (MIDP) Optional Package Profiles The K Virtual Machine Java Servlets Technology HTTP Request for accessing a Servlet Java Servlets Page (JSP) JSP Sessions Apache Tomcat Server MySQL Server CHAPTER 3 QUIZ PRO 2006 SYSTEM ARCHITECTURE Architecture Data Flow between the various functional components Faculty Interface Student Interface CHAPTER 4 PORTABILITY & DESIGN ISSUES IN DEVELOPING QUIZ PRO Use of Servlets to reduce application size Provision of Graphical and Non Graphical version Use of HTTP protocol to enhance portability Use of High Level API Preventing Networking Bottleneck Error Handling Client side validation iv

5 4.8 Support for multiple users simultaneously Midlet Security CHAPTER 5 DEPLOYING THE WIRELESS MOBILE APPLICATION ON A PHYSICAL MOBILE DEVICE Installing QuizApplication.jar using a sample JAM in Sun Java CHAPTER 6 FUTURE ENHANCEMENT Providing Session Handling using Cookies Implementation of Cookie session management Improving MIDP Security CHAPTER 7 QUIZ PRO 2006 SCREENSHOTS CHAPTER 8 CONCLUSION BIBLIOGRAPHY INDEX v

6 LIST OF FIGURES Figure 1 Relationship between J2SE, CDC and CLDC configurations... 4 Figure 2 Client Server Architecture of Quiz Pro Figure 3 Data flow between the various functional components vi

7 CHAPTER 1 INTRODUCTION Quiz Pro 2006 is a mobile quiz application package written in J2ME/Java language. The application allows students to take up a test or a quiz posted by a faculty member over the mobile phone. One of the biggest hurdles in developing a wireless mobile phone application is portability across different mobile environments. In general terms portability may be defined as the ease with which a system or component can be transferred from one hardware or software environment to another. A number of design and portability issues need to be addressed while developing an application in a constraint Java 2 Mobile Environment (J2ME). The J2ME quiz application includes features such as student registration/login, viewing previous test results, multiple choice quiz questions, instant answer verification, error validation and results display. Since the application is intended for use among students it is important that the software is highly portable across mobile phones of different manufacturers. To ensure this, we need to keep the application size as small as possible. This document covers the various technologies used in developing Quiz Pro 2006 package, the general system architecture, its major functional components and the information flow between the various components Some of the solutions implemented to make the software highly portable include: Use of Servlets for user input processing Provision of Graphical and Non Graphical versions of Quiz Pro 2006 Use of HTTP protocol supported by all mobile devices 1

8 Use of High Level API classes as against the Low Level API to enhance portability The document also addresses other issues such as preventing networking bottlenecks, proper error handling, security features, client side validations and support for multiple clients simultaneously. Some of the future enhancements that could improve the application design are also addressed. 2

9 CHAPTER 2 TECHNOLOGY OVERVIEW 2.1 Java 2 Micro Edition (J2ME) Java 2 Micro Edition (J2ME) is Sun's version of Java aimed at machines with limited hardware resources such as PDA s, cell phones, and other consumer electronic and embedded devices. J2ME is aimed at machines with as little as 128KB of RAM and with processors a lot less powerful than those used on typical desktop and server machines. To ensure portability across various mobile environments J2ME is divided into configurations, profiles and optional packages Configurations Configurations are specifications that define the virtual machine features, Java language/api classes and the minimum libraries that need to be available on a J2ME supported mobile device. A J2ME configuration defines a platform for a group of devices, each with similar memory and processing capability. The two configurations available are: 1. CLDC: Connected Limited Device Configuration 2. CDC: Connected device configuration Key features of CLDC Very simple user interface Memory requirements ranging between 128 kb to 512 kb Supports 16 or 32 bit processor Supports Wireless communication (low bandwidth) Limited power capability often restricted to the battery operation. Example of devices using CLDC include mobile phones, pagers and organizers 3

10 Key features of the CDC Provides a large range of user interface capabilities Supports devices with memory ranging between 2 to 16 megabytes. Supports 16 or 32 bit processors Allows connectivity to some type of network Examples of devices using CDC include TV set-top boxes, Internet TVs and high-end communicators and high end personal digital assistants (PDA s). The relationship between CDC, CLDC and J2SE is illustrated in the figure below. Figure 1 Relationship between J2SE, CDC and CLDC configurations As illustrated in the figure the CDC and CLDC inherit all their main functionalities from the J2SE. All the classes which are inherited from the J2SE are precisely the same or subsets of the corresponding classes in the J2SE, and the classes which are outside the J2SE environment may not use the java.* class name space. All features implemented in the CLDC are also implemented in the CDC to achieve compatibility between J2ME configurations. 4

11 2.1.2 Profiles A profile builds on a configuration but provides more specific APIs and a complete environment for building applications. A configuration may be considered as an implementation of a J2ME profile for a particular type of device such as a PDA. While a configuration describes a JVM and a basic set of APIs, Profiles usually include APIs for application life cycle, user interface, and persistent storage and include libraries that are far more device category specific. A device that is designed to support a profile or several profiles should be able to implement all features and Java API classes specified by the profile(s) and the corresponding configuration. Since each profile defines a different set of Java class libraries, you cannot take a Java application written for one profile and run it on a machine that supports another profile. Similarly, you cannot take an application written for Java 2 Standard Edition (J2SE) or Java 2 Enterprise Edition (J2EE) and run it on a machine that supports Java 2 Micro Edition (J2ME). The two types of Profiles available are the Foundation Profile and the Mobile Information Device Profile (MIDP) The Foundation Profile This profile is build on top of the CDC. It provides a profile of the Java Platform suitable for devices that need support for an intense network enabled Java environment, without a graphical user interface The Mobile Information Device Profile (MIDP) This profile is build on top of the CLDC. This profile provides a standard platform for small, resource-limited, wireless-connected mobile devices like cellular phones. Version 1.0 of the MIDP specification addresses: The various devices implementing the J2ME CLDC configuration Persistent data storage using simple record based database model 5

12 HTTP-based networking using CLDC Generic Connection framework Some of the other profiles available are the RMI profile (build on top of Foundation Profile and CDC) and the PDA Profile (build on top of CLDC) Optional Package Profiles An optional package is also a set of APIs, but it does not define a complete application environment. An optional package is always used in conjunction with a configuration or a profile. It extends the runtime environment to support device capabilities that cannot be defined as part of a profile or those that need to be shared by different profiles. Examples of optional package include: The MMAPI (multimedia API) -provides support for streaming video and audio The WMA (wireless messaging API) - provides support for wireless message The FCA (File Access API) profile provides facilities to read and write files on devices that support them The K Virtual Machine The KVM is a Java virtual machine developed for small, resource constrained devices such as mobile phones, PDA s etc. The KVM implements the CLDC. Since the KVM is a C language implementation it can be ported easily to different types of platforms. KVM can not only run Java applications built for mobile devices (J2ME applications) but also support a superior user interface and off-line functionality during instances of intermittent wireless network connections. 2.2 Java Servlets Technology A Servlet may be defined as a Java program that runs typically on an HTTP server and responds to requests from clients. For example, a client may need information from a database; A Servlet can be written that receives the request from the client, retrieve and process the information requested from the database and send the results to the client. 6

13 2.2.1 HTTP Request for accessing a Servlet Hyper Text Transfer Protocol (HTTP) is a request-response oriented protocol. The service method of HttpServlet dispatches a request to different Java methods for different HTTP request methods. The recognized methods are GET, HEAD, PUT, POST, DELETE, OPTIONS and TRACE. Other methods return a Bad Request HTTP error. In particular we are interested in the HTTP GET request. The GET request expects the parameters "(HttpServletRequest req, HttpServletResponse res)". The request data is passed to the methods through the first argument of type HttpServletRequest. The response can be created with methods of the second argument of type HttpServletResponse. In our quiz application the Midlet uses the java Servlet to register students, verify username/password, display quiz questions and store quiz results. 2.3 Java Server Page (JSP) Java Server Pages is an extension of the Java Servlet technology. It allows for java code to be embedded in HTML pages. The java code is executed on the web server before being displayed to the user JSP Sessions A session is an object associated with a jsp page. Data can be put in the session and retrieved from it, much like a Hash table. In our Quiz Application the faculty enters the questions, choices and the correct choice in the text box provided and clicks the submit button. The submit button invokes a jsp page which gets the textbox values using the request.getparameter () and then writes it onto a session using the session.setattribute (). The contents are then retrieved from the session using the session.setattribute () method and then written onto the database file. 7

14 2.4 Apache Tomcat Server Apache Tomcat, a web container developed by the Apache Software Foundation implements the Servlet and the Java Server Pages (JSP) specifications from Sun Microsystems, creating an environment for Java code to run on a web server. It has tools for configuration and management but can also be configured by editing configuration files that are normally XML-formatted. Because Tomcat includes its own HTTP server internally, it is also considered a standalone web server. Tomcat comes with the Jasper compiler that compiles JSP s into Servlets and runs on any operating system that has a JVM. Tomcat can also function as an independent web server. Tomcat serves as an ideal standalone web server in high-traffic, high-availability environments. Our Quiz Application uses Apache Tomcat 4.1 to host the Servlets and the JSP s Key Features of Apache Tomcat 4.1: Implements the Servlet 2.3 and JSP 1.2 specifications Servlet container redesigned as Catalina JSP engine redesigned as Jasper Coyote connector Java Management Extensions (JMX), JSP and Struts-based administration 2.5 MySQL Server 5.0 MySQL, the most popular Open Source SQL database management system, is developed, distributed, and supported by MySQL AB Our quiz application uses MySQL database to store valid usernames/passwords, test questions, final test results of each student and to validate user choice 8

15 CHAPTER 3 QUIZ PRO 2006 SYSTEM ARCHITECTURE In theory, MIDP applications on wireless devices can directly communicate with backend databases using raw TCP/IP network sockets. However, the mobile application must then handle all database-dependent communication, resulting in an application that cannot be ported across different backend database servers. Further if the processing is done on the mobile device it becomes a burden for resource-constrained mobile devices, thus making the application inefficient and non-portable. In an optimal design the mobile application should handle only the interaction with the user and the entire processing must be done by the server. It is clear than we need a server-side layer between the databases and MIDP applications. J2EE (Java 2 Platform, Enterprise Edition) provides an excellent solution for a server-side middleware. Java Servlets can communicate with MIDP applications via the standard HTTP protocol; Java Servlets can also interact directly with databases through database-independent JDBC APIs or integrate with other J2EE components, such as Enterprise JavaBeans (EJB s). 3.1 Architecture Figure 2.0 shows the basic architecture discussed above. The MIDP application (in our case the quiz application) runs on the mobile devices. The Midlet communicates with the Servlets through the HTTP protocol. The Java Servlet then passes the Midlet request to a middle layer of application software and communicates with the database through a JDBC connection. Note: The Servlet needs to be first compiled and deployed on a standard HTTP web server such as Apache Tomcat Server Considering our Quiz Application as an example the QuizApplication Midlet communicates with the Servlets deployed on the Apache Tomcat Server 4.1 and accesses the MySQL 9

16 database tables through a JDBC Connection defined on the Servlet and returns the required result to the Midlet client via the Servlet. Mobile Device Mobile Device Mobile Device Mobile Device HTTP Request Java Servlets Apache Tomcat Server Local or Remote Method Calls EJB Container Or JDBC Methods Native Protocols and SQL Database Database Database Database Figure 2 Client Server Architecture of Quiz Pro

17 3.2 Data Flow between the various functional components Faculty enters questions, time of quiz and the total number of questions into database file SQL Database: The database contains the questions along with other tables for user authentication, user choice validation, result display etc. Java Servlet queries database and gets results Java Servlet running on Apache Tomcat Server Servlet returns result to midlet client Quiz Midlet accesses Java Servlet Quiz Midlet Java 2 Mobile Environment Students download QuizApplication.jar file into the mobile device Student Student Student Student Figure 3 Data flow between the various functional components 11

18 Quiz Pro 2006 software package consist of two interfaces: Faculty interface Student interface Faculty Interface The faculty is provided with a username/password to log onto the Quiz Pro 2006 faculty Admin Web page. The web page allows the faculty to view any of the registered student test results or post a new test. The username registered by the student from the mobile phone is used to view test score of the student. To create a new quiz the faculty enters a name and the last date of submission of the test/quiz. Then the quiz questions along with the correct choice of answer are entered one by one. Apache Tomcat Server 4.1 is used to host the faculty admin page and MySQL database is used to store the test questions and results. JSP technology is used to query the results from the database Student Interface The student needs to download the QuizPro.jar file into a java enabled mobile device (similar to downloading a game into the mobile). Once the application is successfully installed into the mobile phone the student registers with the faculty (enters a valid username/password to take the quiz). The application allows the student to take the quiz twice and the highest score of the two tests will be taken as the final score. The total time for taking the quiz and the number of questions is set by the faculty. Each question consists of 4 choices and the student enters a valid choice (between 1 and 4) in the textbox provided and clicks on the submit button. To move on to the next question the student clicks the continue button. Each correct answer carries 10 points and each wrong answer carries a negative 5 points. If a student clicks the continue button without clicking the submit button he loses the points awarded for that particular question. 12

19 Once the quiz is complete the results are displayed immediately. If the student is not satisfied with the results he could take the test once again. The combination of J2ME and Java Servlets technology ensures portability and allows the application to be run on more than one mobile device. 13

20 CHAPTER 4 PORTABILITY & DESIGN ISSUES IN DEVELOPING QUIZ PRO 2006 Some of the design issues in developing a mobile J2ME Application include: Limited screen size & input capabilities Limited processing power Short battery life Very small memory Limited persistent storage Limited networking capabilities high latency, low bandwidth & intermittent connection Some of the common portability issues in developing a J2ME Application may include The application size Intermittent network connections with lower bandwidth Since our Quiz Application involves database operation and a lot of user data processing the most important portability issue which we need to address is the application size. Making wireless applications smaller results in a number of benefits: Smaller applications download faster and thus more cheaply. They take less time to load and run; acceptable start-up time is crucial. The smaller each application is, the more applications users can store on their devices. 14

21 4.1 Use of Servlets to reduce application size In order to reduce the size of Quiz Pro 2006 to ensure the application is portable to most of the limited memory mobile devices all the computation and processing of user data along with complex calculations are performed using Java Servlets. This greatly reduces the processing overhead on the mobile device and drastically reduces the size of the program code. Now the Midlet simply acts as a graphical user interface and passes on the input to the Servlet running on the Tomcat server. It is the Servlet which does the actual processing of user data. For example the user enters the correct answer choice for each question and clicks the submit button. This invokes a Servlet which receives the user choice, queries the database table to verify if the selected choice matches with the actual correct choice to the question. If the entered choice matches with the actual choice in the database table the Servlet returns a Correct Answer message to the Midlet else it returns a Wrong Answer message. 4.2 Provision of Graphical and Non Graphical version To further enhance portability of the application two versions of the quiz program are available, the graphical version for devices with memory above 128KB and the text only version for devices with memory of 64KB or less. 4.3 Use of HTTP protocol to enhance portability Theoretically you may use either sockets or datagrams for remote database communication in the J2ME application if the MIDP device manufacturer supports them. But this again creates a portability issue since not all manufactures support socket and datagram communication in MIDP device. Since HTTPConnection is mandatory for all MIDP implementations our quiz program uses HTTPConnection class for all database operations Another advantage of using HTTP protocol in mobile device application development is that HTTP does not pose any problems through server firewalls. Because the server and 15

22 mobile client are mostly separated through a firewall, HTTP eliminates the need for any extra configuration effort. However one should be aware of the security risks that come along with any open HTTP connection to the outside world. 4.4 Use of High Level API The high-level API is designed for applications which run on MIDP devices where portability is important. To achieve portability, the API employs a high-level abstraction and provides little control over its look and feel. Interaction with components is encapsulated by the implementation and the application is not aware of such interactions. The main advantage of using High Level APIs is that the underlying implementation does the necessary adaptation to the device's hardware and native user interface style. The high-level API is implemented by classes that inherit from the Screen class. Since our quiz application is intended for students, our main objective is to achieve maximum portability across a number of mobile devices of different manufactures. Hence our application makes use of High Level API and does not use the less portable Low Level APIs 4.5 Preventing Networking Bottleneck To avoid potential deadlock, operations that may block, such as networking, was performed on a separate thread. For example every time a user clicks the submit button the Servlet is invoked using an http connection from the Midlet. This networking operation is performed on a new thread and not on the submit Commandaction () handler 4.6 Error Handling Server side error handling is extremely important to ensure that there the user is never left unaware of a server side exceptions. If a Java Servlet on a J2EE Application server cannot carry out a request from a Midlet client, the server needs to report this to the client. While within the Servlet it may use the Java exception-handling mechanism to deal with 16

23 errors internally, we cannot set up a try-catch block in the client code to directly catch exceptions thrown by the server. Hence an error reporting mechanism is required. In our application we have incorporated an error reporting mechanism which checks the HTTP status code and message on the client side to see if the communication with the server was successful or not. For example a status message of 200OK indicates success and the Servlet received the parameters sent along with the HTTP connection from the Midlet and a status code of 400(Unable to read parameters) or 500(Internal server error) indicates that there was an error processing the parameters sent from the Midlet. 4.7 Client side validation Validating inputs on the client side reduces the costs of calls to the server. Although not all information can be validated on the client, it is possible to minimize the information that must be validated on the server. For example in our application the Midlet throws an alert message if the user tries to click the login/register button with an empty username/password field. Another example of client side validation incorporated in our application is the Midlet throws an error message if the user tries to enter an alphabet as a question choice (this is implemented by using a numeric constraint on the textbox field) or leave the choice field empty and proceed to the next question (implemented by checking if the length of the data entered in the text field is not null) or enter an invalid choice (checking for the choice to be between 1 and 4). If the inputs pass these heuristics, the client passes them on to the server. The server then perform more complex validation such as checking if the username/password is valid or if the entered choice matches the correct choice to the question etc. Note: The reason to perform client-side input checking is to avoid unnecessary round trips to the server. The Java Servlet in our application still checks for invalid inputs, regardless of the client side validation. 17

24 4.8 Support for multiple users simultaneously The quiz application supports multiple users simultaneously which means any number of students can take the test simultaneously any time. 4.9 Midlet Security Security is an important factor to be considered when developing web-based applications. Our Quiz Application was developed strictly for internal use, so the level of security that is employed is low. Since our application is intended for student registered to the particular course client authentication is carried out using an application managed sign on, based on user registration. In other words the MIDP client sends its credentials (such as a login and password combination) to a J2EE Servlet application, and the application verifies these credentials, using a MySQL database 18

25 CHAPTER 5 DEPLOYING THE WIRELESS MOBILE APPLICATION ON A PHYSICAL MOBILE DEVICE The following steps need to be followed to deploy and test the application on a real physical device: 1. Upload your application files (JAD and JAR) to a remote web server. In our case QuizApplication.jad and QuizApplication.jar files are both uploaded onto the Apache Tomcat Server root directory 2. Reconfigure the web server so that it recognizes JAD and JAR files: a. For the JAD file type, set the file extension to.jad and the MIME type to text/vnd.sun.j2me.app-descriptor. b. For the JAR file type, set the file extension to.jar and the MIME type to application/java-archive. c. A typical web.xml file for the Tomcat Server to recognize the.jar and.jad files would be as follows: <mime-mapping> <extension>jad</extension> <mime-type>text/vnd.sun.j2me.app-descriptor</mime-type> </mime-mapping> <mime-mapping> <extension>jar</extension> <mime-type>application/java-archive</mime-type> </mime-mapping> 3. Change your JAD file's MIDlet-Jar-URL property to specify the URL of your JAR file In our case the following code needs to be added to the MIDlet-Jar-URL property MIDlet-Jar-URL: To verify if the application was deployed correctly, open an ordinary web browser and enter the JAD file's URL. The J2ME Wireless Toolkit's default emulator should appear and the remotely deployed application should run in it. J2ME-enabled mobile phones include a Java Application Manager (JAM) responsible for downloading, installing, and configuring J2ME applications. The Sun J2ME Wireless Toolkit includes a sample JAM which emulates the exact installation process executed on a real physical mobile device. 19

26 5.1 Installing QuizApplication.jar using a sample JAM in Sun Java Wireless Toolkit Type Emulator Xjam from C:\WTK23\bin directory 2. Type the file URL in the mobile web browser 20

27 3. Select QuizApplication.jar from the web page and click install 4. Once the application has been installed successfully, QuizApplication is displayed along with the other installed applications. 5. To run the application click the launch from the Menu 21

28 CHAPTER 6 FUTURE ENHANCEMENT 6.1 Providing Session Handling using Cookies In our implementation if a user exits from the quiz program without completing the quiz he/she does not get the full credit. By implanting session management using cookies we could actually save the current session when the user terminates and when the user logs in again he/she can resume from the place where he/she left before Implementation of Cookie session management When the Midlet first makes a HTTP request to the Servlet, the Servlet generates a unique client ID (simply a random number). This ID will be sent back to the Midlet as a cookie. The Midlet will store this value in a record store. All future requests from the Midlet to the Servlet will be accompanied by the client ID. When the Servlet recognizes that the client (Midlet) sent a cookie, it will simply return the value of the cookie. Once the Midlet has stored the ID in the record store, you can shutdown and restart the Midlet and reconnect with the Servlet, which will (uniquely) identify the Midlet by the value of the cookie. This could be extended to have the Servlet store the client ID in a database, along with additional information about the client. 6.2 Improving MIDP Security J2EE application servers and many MIDP devices support HTTP over Secure Sockets Layer (SSL). The use of HTTPS for communication with the server adds more security to the application 22

29 CHAPTER 7 QUIZ PRO 2006 SCREENSHOTS Faculty Login Main Menu Screen 23

30 Quiz Question Screen 24

31 Student Result view Student Test Results 25

32 Apache Tomcat Running MySQL Database 26

33 Student login Invalid Login Error Message 27

34 New User Registration Successful User Registration 28

35 Previous Test Results Quiz Rules 29

36 Quiz Timed Out Results Quiz Screen 30

37 CHAPTER 8 CONCLUSION A J2ME based quiz application package consisting of faculty and student interface was developed, implemented and successfully tested. Various portability and design issues were addressed. Some of the solutions implemented in Quiz Pro 2006, to enhance portability include the use of Servlets for user input processing, provision of graphical and non graphical versions of Quiz Pro 2006, use of HTTP protocol supported by all mobile devices, and the use of High Level API classes as against the Low Level API to enhance portability. Also various other design issues such as preventing networking bottleneck, proper error handling, security features, client side validations and support for multiple clients simultaneously were addressed. Future enhancements may involve providing session handling using cookies and URL rewriting and improving MIDP security 31

38 BIBLIOGRAPHY 1. Software Portability, Jim Mooney 2. J2ME Complete Reference, James Keogh 3. Beginning J2ME: From Novice to Professional, Jonathan Knudsen Sing Li 4. J2ME: Introduction, Configurations and Profiles, Urs Steiner 5. Surviving Java for Mobiles, Dmitry S. Kochnev and Andrey A. Terekhov 6. Take the High Road when Creating MIDP User Interfaces, David Hemphill 7. Slimming Wireless Java Applications, Qusay H. Mahmoud 8. Designing Wireless Clients for Enterprise Applications with Java Technology 9. What's J2ME?, Daniel A. Tauber Using a Java Servlet and cookies with a Midlet Extending J2EE for Mobile Application Development, Jeffrey M. Capone Network Programming with J2ME Wireless Devices, Yu Feng java/features/j2me_http.phtml 13. MIDP APIs for Wireless Applications java.sun.com/products/midp/midp-wirelessapps-wp.pdf 14. J2ME Connected Applications, Santanu Dutt ftpna2.bea.com/pub/downloads/usergrouppresentations/ 2004PartnerPresos/Others/ _j2me.pdf 15. Build database-powered mobile applications on the Java platform, Michael J Yuan Ju Long 32

39 INDEX A Apache Tomcat Server C Connected Device Configuration (CDC) Connected Limited Device Configuration (CLDC) Client side validation Configurations Cookie session management E Error Handling F Faculty Interface FCA (File Access API) Foundation Profiles H High Level API HTTP protocol HTTP Request HttpServletRequest HttpServletResponse N Networking Bottleneck O Optional Package Profiles P PDA Profile Portability Profiles R request.getparameter() RMI Profile S Servlets session.getattribute() session.setattribute(). Student Interface W WMA (wireless messaging API) J J2EE (Java 2 Platform, Enterprise Edition) Java 2 Micro Edition (J2ME) Java Servlets Page (JSP) Java Servlets Technology JDBC Connection JSP Sessions K K Virtual Machine M Mobile Information Device Profile (MIDP) Midlet Security MMAPI (multimedia API) 33

Who am I? Wireless Online Game Development for Mobile Device. What games can you make after this course? Are you take the right course?

Who am I? Wireless Online Game Development for Mobile Device. What games can you make after this course? Are you take the right course? Who am I? Wireless Online Game Development for Mobile Device Lo Chi Wing, Peter Lesson 1 Email: Peter@Peter-Lo.com I123-1-A@Peter Lo 2007 1 I123-1-A@Peter Lo 2007 2 Are you take the right course? This

More information

Agenda. Summary of Previous Session. Extreme Java G Session 3 - Main Theme Java Core Technologies (Part I)

Agenda. Summary of Previous Session. Extreme Java G Session 3 - Main Theme Java Core Technologies (Part I) Extreme Java G22.3033-007 Session 3 - Main Theme Java Core Technologies (Part I) Dr. Jean-Claude Franchitti New York University Computer Science Department Courant Institute of Mathematical Sciences 1

More information

Mobile Station Execution Environment (MExE( MExE) Developing web applications for PDAs and Cellphones. WAP (Wireless Application Protocol)

Mobile Station Execution Environment (MExE( MExE) Developing web applications for PDAs and Cellphones. WAP (Wireless Application Protocol) Developing web applications for PDAs and Cellphones Mobile Station Execution Environment (MExE( MExE) MExE is a standard for defining various levels of wireless communication These levels are called classmarks

More information

DAY 3 J2ME Aalborg University, Mobile Device Group. Mobile. Mobile Phone Programming

DAY 3 J2ME Aalborg University, Mobile Device Group. Mobile. Mobile Phone Programming DAY 3 J2ME Mobile Phone Programming Java 2 Micro Edition (J2ME) Overview Introduction J2ME architecture MIDlets Application development Introduction J2ME Key Factors Portability: Write once run anywhere

More information

Introduction. Enterprise Java Instructor: Please introduce yourself Name Experience in Java Enterprise Edition Goals you hope to achieve

Introduction. Enterprise Java Instructor: Please introduce yourself Name Experience in Java Enterprise Edition Goals you hope to achieve Enterprise Java Introduction Enterprise Java Instructor: Please introduce yourself Name Experience in Java Enterprise Edition Goals you hope to achieve Course Description This course focuses on developing

More information

DAY 3 J2ME March 2007 Aalborg University, Mobile Device Group Mobile Phone Programming

DAY 3 J2ME March 2007 Aalborg University, Mobile Device Group Mobile Phone Programming DAY 3 J2ME Mobile Phone Programming Module 2 Micro (J2ME) Overview Introduction J2ME architecture Introduction 1 J2ME Key Factors Portability: Write once run anywhere Security: Code runs within the confines

More information

Overview of Java 2 Platform, Micro Edition (J2ME )

Overview of Java 2 Platform, Micro Edition (J2ME ) CHAPTER2 Overview of Java 2 Platform, Micro Edition (J2ME ) 2.1 Java 2 Platform Recognizing that one size does not fit all, Sun Microsystems has grouped Java technologies into three editions, each aimed

More information

J2ME ARCHITECTURE AND RELATED EMBEDDED TECHNOLOGIES

J2ME ARCHITECTURE AND RELATED EMBEDDED TECHNOLOGIES J2ME ARCHITECTURE AND RELATED EMBEDDED TECHNOLOGIES Pradip Lamsal Abstract: Java 2 Platform Micro Edition (J2ME ), a flavour of Java architecture, is aimed at low memory consumer devices, typically less

More information

DESIGN AND IMPLEMENTATION OF SAGE DISPLAY CONTROLLER PROJECT

DESIGN AND IMPLEMENTATION OF SAGE DISPLAY CONTROLLER PROJECT DESIGN AND IMPLEMENTATION OF SAGE DISPLAY CONTROLLER BY Javid M. Alimohideen Meerasa M.S., University of Illinois at Chicago, 2003 PROJECT Submitted as partial fulfillment of the requirements for the degree

More information

Bluetooth Scatternet Application. Sun Code for Freedom

Bluetooth Scatternet Application. Sun Code for Freedom Bluetooth Scatternet Application Sun Code for Freedom Submitted for Code For Freedom Contest 2009 By Ravi D Suvarna Ananth V Sandeep Jain Index Topic Page No. 1. Introduction ---------------------------------------------

More information

All about the new SCMAD Certification Exam

All about the new SCMAD Certification Exam All about the new SCMAD Certification Exam ----------------------------------------------------------------------------------------------------------------- Summary: The mobile market is envisioned as

More information

ST.MARTIN'S ENGINEERING COLLEGE Dhulapally,Secunderabad-014

ST.MARTIN'S ENGINEERING COLLEGE Dhulapally,Secunderabad-014 ST.MARTIN'S ENGINEERING COLLEGE Dhulapally,Secunderabad-014 INFORMATION TECHNOLOGY TUTORIAL QUESTION BANK Course Title Course Code Regulation Course Structure Team of Instructors Mobile Application Development

More information

HttpServlet ( Class ) -- we will extend this class to handle GET / PUT HTTP requests

HttpServlet ( Class ) -- we will extend this class to handle GET / PUT HTTP requests What is the servlet? Servlet is a script, which resides and executes on server side, to create dynamic HTML. In servlet programming we will use java language. A servlet can handle multiple requests concurrently.

More information

BVRIT HYDERABAD College of Engineering for Women Department of Information Technology. Hand Out

BVRIT HYDERABAD College of Engineering for Women Department of Information Technology. Hand Out BVRIT HYDERABAD College of Engineering for Women Department of Information Technology Hand Out Subject Name: Mobile Application Development Prepared by: 1. S. Rama Devi, Assistant Professor, IT Year and

More information

Mobile Application Development. Introduction. Dr. Christelle Scharff Pace University, USA

Mobile Application Development. Introduction. Dr. Christelle Scharff Pace University, USA Mobile Application Development Introduction Dr. Christelle Scharff cscharff@pace.edu Pace University, USA Objectives Getting an overview of the mobile phone market, its possibilities and weaknesses Providing

More information

INSTITUTE OF AERONAUTICAL ENGINEERING (Autonomous) Dundigal, Hyderabad

INSTITUTE OF AERONAUTICAL ENGINEERING (Autonomous) Dundigal, Hyderabad INSTITUTE OF AERONAUTICAL ENGINEERING (Autonomous) Dundigal, Hyderabad - 500 043 INFORMATIONTECHOGY TUTORIAL QUESTION BANK ACADEMIC YEAR - 2018-19 Course Title Mobile Application Development Course Code

More information

Writing Servlets and JSPs p. 1 Writing a Servlet p. 1 Writing a JSP p. 7 Compiling a Servlet p. 10 Packaging Servlets and JSPs p.

Writing Servlets and JSPs p. 1 Writing a Servlet p. 1 Writing a JSP p. 7 Compiling a Servlet p. 10 Packaging Servlets and JSPs p. Preface p. xiii Writing Servlets and JSPs p. 1 Writing a Servlet p. 1 Writing a JSP p. 7 Compiling a Servlet p. 10 Packaging Servlets and JSPs p. 11 Creating the Deployment Descriptor p. 14 Deploying Servlets

More information

MobileFinance (MF)-- A Component Based Approach to Financial Services

MobileFinance (MF)-- A Component Based Approach to Financial Services MobileFinance (MF)-- A Component Based Approach to Financial Services Andres Gonzalez, Navneet Bhartia, Daniela Mehandjiska-Stavreva School of Information Technology, Bond University, Australia E-Mail:

More information

COURSE DETAILS: CORE AND ADVANCE JAVA Core Java

COURSE DETAILS: CORE AND ADVANCE JAVA Core Java COURSE DETAILS: CORE AND ADVANCE JAVA Core Java 1. Object Oriented Concept Object Oriented Programming & its Concepts Classes and Objects Aggregation and Composition Static and Dynamic Binding Abstract

More information

Distributed Gaming using J2ME. By Rekha Vaddepalli

Distributed Gaming using J2ME. By Rekha Vaddepalli Distributed Gaming using J2ME By Rekha Vaddepalli Agenda Introduction Requirements Technologies Used Design and Implementation Experiments and Results Conclusion Introduction Mobile devices usage is increasing

More information

Developing Mobile Applications

Developing Mobile Applications Developing Mobile Applications J2ME Java 2 Micro Edition 1 Virtual machines portable apps virtual machine native apps operating system hardware 2 Java - important issues Symbolic language not a random

More information

JXTA for J2ME Extending the Reach of Wireless With JXTA Technology

JXTA for J2ME Extending the Reach of Wireless With JXTA Technology JXTA for J2ME Extending the Reach of Wireless With JXTA Technology Akhil Arora Carl Haywood Kuldip Singh Pabla Sun Microsystems, Inc. 901 San Antonio Road Palo Alto, CA 94303 USA 650 960-1300 The Wireless

More information

CM0256 Pervasive Computing

CM0256 Pervasive Computing CM0256 Pervasive Computing Lecture 17 Software Development Approaches Tom Goodale t.r.goodale@cs.cardiff.ac.uk Lecture Outline In this lecture we: J2ME applications Palm. Device Limitations Limited Power

More information

AN ISO 9001:2008 CERTIFIED COMPANY ADVANCED. Java TRAINING.

AN ISO 9001:2008 CERTIFIED COMPANY ADVANCED. Java TRAINING. AN ISO 9001:2008 CERTIFIED COMPANY ADVANCED Java TRAINING www.webliquids.com ABOUT US Who we are: WebLiquids is an ISO (9001:2008), Google, Microsoft Certified Advanced Web Educational Training Organisation.

More information

Type of Classes Nested Classes Inner Classes Local and Anonymous Inner Classes

Type of Classes Nested Classes Inner Classes Local and Anonymous Inner Classes Java CORE JAVA Core Java Programing (Course Duration: 40 Hours) Introduction to Java What is Java? Why should we use Java? Java Platform Architecture Java Virtual Machine Java Runtime Environment A Simple

More information

Java Training For Six Weeks

Java Training For Six Weeks Java Training For Six Weeks Java is a set of several computer software and specifications developed by Sun Microsystems, later acquired by Oracle Corporation that provides a system for developing application

More information

Java Enterprise Edition

Java Enterprise Edition Java Enterprise Edition The Big Problem Enterprise Architecture: Critical, large-scale systems Performance Millions of requests per day Concurrency Thousands of users Transactions Large amounts of data

More information

Oracle9i Application Server Architecture and Com

Oracle9i Application Server Architecture and Com Oracle9i Application Server Quick Tour: Architecture Page 1 de 7 Oracle9i Application Server Architecture and Com Standard Edition Enterprise Edition Wireless Edition Services and Components To provide

More information

J2EE Development. Course Detail: Audience. Duration. Course Abstract. Course Objectives. Course Topics. Class Format.

J2EE Development. Course Detail: Audience. Duration. Course Abstract. Course Objectives. Course Topics. Class Format. J2EE Development Detail: Audience www.peaksolutions.com/ittraining Java developers, web page designers and other professionals that will be designing, developing and implementing web applications using

More information

Release Notes. Lavastorm Analytics Engine 6.1.3

Release Notes. Lavastorm Analytics Engine 6.1.3 Release Notes Lavastorm Analytics Engine 6.1.3 Lavastorm Analytics Engine 6.1.3: Release Notes Legal notice Copyright THE CONTENTS OF THIS DOCUMENT ARE THE COPYRIGHT OF LIMITED. ALL RIGHTS RESERVED. THIS

More information

CS506 Web Design & Development Final Term Solved MCQs with Reference

CS506 Web Design & Development Final Term Solved MCQs with Reference with Reference I am student in MCS (Virtual University of Pakistan). All the MCQs are solved by me. I followed the Moaaz pattern in Writing and Layout this document. Because many students are familiar

More information

JAVA COURSES. Empowering Innovation. DN InfoTech Pvt. Ltd. H-151, Sector 63, Noida, UP

JAVA COURSES. Empowering Innovation. DN InfoTech Pvt. Ltd. H-151, Sector 63, Noida, UP 2013 Empowering Innovation DN InfoTech Pvt. Ltd. H-151, Sector 63, Noida, UP contact@dninfotech.com www.dninfotech.com 1 JAVA 500: Core JAVA Java Programming Overview Applications Compiler Class Libraries

More information

Vision of J2EE. Why J2EE? Need for. J2EE Suite. J2EE Based Distributed Application Architecture Overview. Umair Javed 1

Vision of J2EE. Why J2EE? Need for. J2EE Suite. J2EE Based Distributed Application Architecture Overview. Umair Javed 1 Umair Javed 2004 J2EE Based Distributed Application Architecture Overview Lecture - 2 Distributed Software Systems Development Why J2EE? Vision of J2EE An open standard Umbrella for anything Java-related

More information

[Course Overview] After completing this module you are ready to: Develop Desktop applications, Networking & Multi-threaded programs in java.

[Course Overview] After completing this module you are ready to: Develop Desktop applications, Networking & Multi-threaded programs in java. [Course Overview] The Core Java technologies and application programming interfaces (APIs) are the foundation of the Java Platform, Standard Edition (Java SE). They are used in all classes of Java programming,

More information

A Model-Controller Interface for Struts-Based Web Applications

A Model-Controller Interface for Struts-Based Web Applications A Model-Controller Interface for Struts-Based Web Applications A Writing Project Presented to The Faculty of the Department of Computer Science San José State University In Partial Fulfillment of the Requirements

More information

Enhydra 6.2 Application Architecture. Tanja Jovanovic

Enhydra 6.2 Application Architecture. Tanja Jovanovic Enhydra 6.2 Application Architecture Tanja Jovanovic Table of Contents 1.Introduction...1 2. The Application Object... 2 3. The Presentation Object... 4 4. Writing Presentation Objects with XMLC... 6 5.

More information

Application Development in JAVA. Data Types, Variable, Comments & Operators. Part I: Core Java (J2SE) Getting Started

Application Development in JAVA. Data Types, Variable, Comments & Operators. Part I: Core Java (J2SE) Getting Started Application Development in JAVA Duration Lecture: Specialization x Hours Core Java (J2SE) & Advance Java (J2EE) Detailed Module Part I: Core Java (J2SE) Getting Started What is Java all about? Features

More information

An Application for Monitoring Solr

An Application for Monitoring Solr An Application for Monitoring Solr Yamin Alam Gauhati University Institute of Science and Technology, Guwahati Assam, India Nabamita Deb Gauhati University Institute of Science and Technology, Guwahati

More information

COPYRIGHTED MATERIAL

COPYRIGHTED MATERIAL Introduction xxiii Chapter 1: Apache Tomcat 1 Humble Beginnings: The Apache Project 2 The Apache Software Foundation 3 Tomcat 3 Distributing Tomcat: The Apache License 4 Comparison with Other Licenses

More information

Wireless Services in Faculty Information System

Wireless Services in Faculty Information System Wireless Services in Faculty Information System Sava Mikalački, Žarko Bodroški, and Srđan Škrbić Faculty of Science, Trg Dositeja Obradovića 3 21000 Novi Sad, Serbia sava.mikalacki@dmi.uns.ac.rs {shkrba,

More information

Premium Pro Enterprise Local Installation Guide for Database Installation on a desktop PC (Cloudscape)

Premium Pro Enterprise Local Installation Guide for Database Installation on a desktop PC (Cloudscape) Premium Pro Enterprise Local Installation Guide for Database Installation on a desktop PC (Cloudscape) This guide is to be used if you intend on installing enterprise as a stand alone application on one

More information

A web application serving queries on renewable energy sources and energy management topics database, built on JSP technology

A web application serving queries on renewable energy sources and energy management topics database, built on JSP technology International Workshop on Energy Performance and Environmental 1 A web application serving queries on renewable energy sources and energy management topics database, built on JSP technology P.N. Christias

More information

PHPKB API Reference Guide

PHPKB API Reference Guide PHPKB API Reference Guide KB Administrator Fri, Apr 9, 09 User Manual 96 0 This document provides details on how to use the API available in PHPKB knowledge base management software. It acts as a reference

More information

Advanced Java Programming

Advanced Java Programming Advanced Java Programming Length: 4 days Description: This course presents several advanced topics of the Java programming language, including Servlets, Object Serialization and Enterprise JavaBeans. In

More information

Java EE Application Assembly & Deployment Packaging Applications, Java EE modules. Model View Controller (MVC)2 Architecture & Packaging EJB Module

Java EE Application Assembly & Deployment Packaging Applications, Java EE modules. Model View Controller (MVC)2 Architecture & Packaging EJB Module Java Platform, Enterprise Edition 5 (Java EE 5) Core Java EE Java EE 5 Platform Overview Java EE Platform Distributed Multi tiered Applications Java EE Web & Business Components Java EE Containers services

More information

Remote Health Service System based on Struts2 and Hibernate

Remote Health Service System based on Struts2 and Hibernate St. Cloud State University therepository at St. Cloud State Culminating Projects in Computer Science and Information Technology Department of Computer Science and Information Technology 5-2017 Remote Health

More information

Vipera OTA Provisioning Server

Vipera OTA Provisioning Server Vipera Inc 200 Page Mill Road Palo Alto, CA 94306. USA www.vipera.com info@vipera.com Vipera OTA Provisioning Server Technical Overview Version 1.0 The Vipera provisioning portal allows content providers

More information

Designing a Distributed System

Designing a Distributed System Introduction Building distributed IT applications involves assembling distributed components and coordinating their behavior to achieve the desired functionality. Specifying, designing, building, and deploying

More information

J2EE Interview Questions

J2EE Interview Questions 1) What is J2EE? J2EE Interview Questions J2EE is an environment for developing and deploying enterprise applications. The J2EE platform consists of a set of services, application programming interfaces

More information

Enterprise Java Unit 1- Chapter 3 Prof. Sujata Rizal Introduction to Servlets

Enterprise Java Unit 1- Chapter 3 Prof. Sujata Rizal Introduction to Servlets 1. Introduction How do the pages you're reading in your favorite Web browser show up there? When you log into your favorite Web site, how does the Web site know that you're you? And how do Web retailers

More information

Outline. Introduction to Java. What Is Java? History. Java 2 Platform. Java 2 Platform Standard Edition. Introduction Java 2 Platform

Outline. Introduction to Java. What Is Java? History. Java 2 Platform. Java 2 Platform Standard Edition. Introduction Java 2 Platform Outline Introduction to Java Introduction Java 2 Platform CS 3300 Object-Oriented Concepts Introduction to Java 2 What Is Java? History Characteristics of Java History James Gosling at Sun Microsystems

More information

Java Card 3 Platform. Peter Allenbach Sun Microsystems, Inc.

Java Card 3 Platform. Peter Allenbach Sun Microsystems, Inc. Java Card 3 Platform Peter Allenbach Sun Microsystems, Inc. Agenda From plastic to Java Card 3.0 Things to know about Java Card 3.0 Introducing Java Card 3.0 Java Card 3.0 vs. Java SE Java Card 3.0 vs.

More information

Enterprise Java Security Fundamentals

Enterprise Java Security Fundamentals Pistoia_ch03.fm Page 55 Tuesday, January 6, 2004 1:56 PM CHAPTER3 Enterprise Java Security Fundamentals THE J2EE platform has achieved remarkable success in meeting enterprise needs, resulting in its widespread

More information

PLATFORM TECHNOLOGY UNIT-5

PLATFORM TECHNOLOGY UNIT-5 1. Write in brief about the J2EE enterprise edition? Java is one of the most commonly used and mature programming languages for building enterprise applications. Java development has evolved from small

More information

Themis An Automated Online Programming Contest System

Themis An Automated Online Programming Contest System Themis An Automated Online Programming Contest System Software Requirement Specification SRS version 1.0.1 Aravindan V (CS03B002) Ravi Shankar K (CS03B018) Sriram Kalyanaraman (CS03B024) Karthekeyan C

More information

Java- EE Web Application Development with Enterprise JavaBeans and Web Services

Java- EE Web Application Development with Enterprise JavaBeans and Web Services Java- EE Web Application Development with Enterprise JavaBeans and Web Services Duration:60 HOURS Price: INR 8000 SAVE NOW! INR 7000 until December 1, 2011 Students Will Learn How to write Session, Message-Driven

More information

Introduction to JSP and Servlets Training 5-days

Introduction to JSP and Servlets Training 5-days QWERTYUIOP{ Introduction to JSP and Servlets Training 5-days Introduction to JSP and Servlets training course develops skills in JavaServer Pages, or JSP, which is the standard means of authoring dynamic

More information

Introduction... xv SECTION 1: DEVELOPING DESKTOP APPLICATIONS USING JAVA Chapter 1: Getting Started with Java... 1

Introduction... xv SECTION 1: DEVELOPING DESKTOP APPLICATIONS USING JAVA Chapter 1: Getting Started with Java... 1 Introduction... xv SECTION 1: DEVELOPING DESKTOP APPLICATIONS USING JAVA Chapter 1: Getting Started with Java... 1 Introducing Object Oriented Programming... 2 Explaining OOP concepts... 2 Objects...3

More information

Exam Name: IBM Certified System Administrator - WebSphere Application Server Network Deployment V7.0

Exam Name: IBM Certified System Administrator - WebSphere Application Server Network Deployment V7.0 Vendor: IBM Exam Code: 000-377 Exam Name: IBM Certified System Administrator - WebSphere Application Server Network Deployment V7.0 Version: Demo QUESTION 1 An administrator would like to use the Centralized

More information

Servlet Fudamentals. Celsina Bignoli

Servlet Fudamentals. Celsina Bignoli Servlet Fudamentals Celsina Bignoli bignolic@smccd.net What can you build with Servlets? Search Engines E-Commerce Applications Shopping Carts Product Catalogs Intranet Applications Groupware Applications:

More information

Computational Detection of CPE Elements Within DNA Sequences

Computational Detection of CPE Elements Within DNA Sequences Computational Detection of CPE Elements Within DNA Sequences Report dated 19 July 2006 Author: Ashutosh Koparkar Graduate Student, CECS Dept., University of Louisville, KY Advisor: Dr. Eric C. Rouchka

More information

Web-based File Upload and Download System

Web-based File Upload and Download System COMP4905 Honor Project Web-based File Upload and Download System Author: Yongmei Liu Student number: 100292721 Supervisor: Dr. Tony White 1 Abstract This project gives solutions of how to upload documents

More information

ONLINE BILLBOARD VIKRAM KUMAR KONDAPANENI B.TECH, ACHARYA NAGARJUNA UNIVERSITY, 2007 A REPORT

ONLINE BILLBOARD VIKRAM KUMAR KONDAPANENI B.TECH, ACHARYA NAGARJUNA UNIVERSITY, 2007 A REPORT ONLINE BILLBOARD By VIKRAM KUMAR KONDAPANENI B.TECH, ACHARYA NAGARJUNA UNIVERSITY, 2007 A REPORT Submitted in partial fulfillment of the requirements for the degree MASTER OF SCIENCE Department of Computing

More information

Code Snippets. Justin A. Roman, Tanisha Rankin, Grae Cullen, and Paul Wolfgang. Fall Semester CIS 4339 Project in Computer Science

Code Snippets. Justin A. Roman, Tanisha Rankin, Grae Cullen, and Paul Wolfgang. Fall Semester CIS 4339 Project in Computer Science Code Snippets Justin A. Roman, Tanisha Rankin, Grae Cullen, and Paul Wolfgang Fall Semester 2008 CIS 4339 Project in Computer Science Temple University Computer Science Professor Paul Wolfgang Table of

More information

HOMELESS INDIVIDUALS AND FAMILIES INFORMATION SYSTEM HIFIS 4.0 TECHNICAL ARCHITECTURE AND DEPLOYMENT REFERENCE

HOMELESS INDIVIDUALS AND FAMILIES INFORMATION SYSTEM HIFIS 4.0 TECHNICAL ARCHITECTURE AND DEPLOYMENT REFERENCE HOMELESS INDIVIDUALS AND FAMILIES INFORMATION SYSTEM HIFIS 4.0 TECHNICAL ARCHITECTURE AND DEPLOYMENT REFERENCE HIFIS Development Team May 16, 2014 Contents INTRODUCTION... 2 HIFIS 4 SYSTEM DESIGN... 3

More information

Software Development & Education Center. Java Platform, Micro Edition. (Mobile Java)

Software Development & Education Center. Java Platform, Micro Edition. (Mobile Java) Software Development & Education Center Java Platform, Micro Edition (Mobile Java) Detailed Curriculum UNIT 1: Introduction Understanding J2ME Configurations Connected Device Configuration Connected, Limited

More information

SAS Solutions for the Web: Static and Dynamic Alternatives Matthew Grover, S-Street Consulting, Inc.

SAS Solutions for the Web: Static and Dynamic Alternatives Matthew Grover, S-Street Consulting, Inc. SAS Solutions for the Web: Static and Dynamic Alternatives Matthew Grover, S-Street Consulting, Inc. Abstract This paper provides a detailed analysis of creating static and dynamic web content using the

More information

Web Application Architecture (based J2EE 1.4 Tutorial)

Web Application Architecture (based J2EE 1.4 Tutorial) Web Application Architecture (based J2EE 1.4 Tutorial) Dr. Kanda Runapongsa (krunapon@kku.ac.th) Department of Computer Engineering Khon Kaen University 1 Agenda Web application, components and container

More information

Chapter 10 Web-based Information Systems

Chapter 10 Web-based Information Systems Prof. Dr.-Ing. Stefan Deßloch AG Heterogene Informationssysteme Geb. 36, Raum 329 Tel. 0631/205 3275 dessloch@informatik.uni-kl.de Chapter 10 Web-based Information Systems Role of the WWW for IS Initial

More information

Minne menet, Mobiili-Java?

Minne menet, Mobiili-Java? Minne menet, Mobiili-Java? Java Platform, Micro Edition Status and Future Directions Antero Taivalsaari Sun Microsystems, Inc. December 2005 Growth Continues (2005 vs. 2003) 1 Billion Installed Base as

More information

Airo National Research Journal October, 2016 Volume V, ISSN:

Airo National Research Journal October, 2016 Volume V, ISSN: 1 A STUDY ON SECURITY OF WIRELESS FINANCIAL ARCHITECTURE Abstract MAHINDER JIT SINGH KHANNA RESEARCH SCHOLAR OF SRI SATYA SAI UNIVERSITY MADHYA PRADESH (INDIA) Mobile commerce (m-commerce) offers a practical

More information

Introduction to Web Application Development Using JEE, Frameworks, Web Services and AJAX

Introduction to Web Application Development Using JEE, Frameworks, Web Services and AJAX Introduction to Web Application Development Using JEE, Frameworks, Web Services and AJAX Duration: 5 Days US Price: $2795 UK Price: 1,995 *Prices are subject to VAT CA Price: CDN$3,275 *Prices are subject

More information

X100 ARCHITECTURE REFERENCES:

X100 ARCHITECTURE REFERENCES: UNION SYSTEMS GLOBAL This guide is designed to provide you with an highlevel overview of some of the key points of the Oracle Fusion Middleware Forms Services architecture, a component of the Oracle Fusion

More information

Introduction to Java Programming CPIT 202. WEWwwbvxnvbxmnhsgfkdjfcn

Introduction to Java Programming CPIT 202. WEWwwbvxnvbxmnhsgfkdjfcn Introduction to Java Programming CPIT 202 WEWwwbvxnvbxmnhsgfkdjfcn b 1 WEEK 1 LECTURE 1 What is Java? 2 Background on Java First appear in 1995 Developed by Sun Microsystems Corp. Cross platform = platform

More information

Author - Ashfaque Ahmed

Author - Ashfaque Ahmed Complimentary material for the book Software Engineering in the Agile World (ISBN: 978-1983801570) published by Create Space Independent Publishing Platform, USA Author - Ashfaque Ahmed Technical support

More information

Ch04 JavaServer Pages (JSP)

Ch04 JavaServer Pages (JSP) Ch04 JavaServer Pages (JSP) Introduce concepts of JSP Web components Compare JSP with Servlets Discuss JSP syntax, EL (expression language) Discuss the integrations with JSP Discuss the Standard Tag Library,

More information

Caching Personalized and Database-related Dynamic Web Pages

Caching Personalized and Database-related Dynamic Web Pages Caching Personalized and Database-related Dynamic Web Pages Yeim-Kuan Chang, Yu-Ren Lin and Yi-Wei Ting Department of Computer Science and Information Engineering National Cheng Kung University, Taiwan

More information

JBoss SOAP Web Services User Guide. Version: M5

JBoss SOAP Web Services User Guide. Version: M5 JBoss SOAP Web Services User Guide Version: 3.3.0.M5 1. JBoss SOAP Web Services Runtime and Tools support Overview... 1 1.1. Key Features of JBossWS... 1 2. Creating a Simple Web Service... 3 2.1. Generation...

More information

Chapter 2 Introduction

Chapter 2 Introduction Chapter 2 Introduction PegaRULES Process Commander applications are designed to complement other systems and technologies that you already have in place for doing work. The Process Commander integration

More information

This tutorial will teach you how to use Java Servlets to develop your web based applications in simple and easy steps.

This tutorial will teach you how to use Java Servlets to develop your web based applications in simple and easy steps. About the Tutorial Servlets provide a component-based, platform-independent method for building Webbased applications, without the performance limitations of CGI programs. Servlets have access to the entire

More information

Session 8. Reading and Reference. en.wikipedia.org/wiki/list_of_http_headers. en.wikipedia.org/wiki/http_status_codes

Session 8. Reading and Reference. en.wikipedia.org/wiki/list_of_http_headers. en.wikipedia.org/wiki/http_status_codes Session 8 Deployment Descriptor 1 Reading Reading and Reference en.wikipedia.org/wiki/http Reference http headers en.wikipedia.org/wiki/list_of_http_headers http status codes en.wikipedia.org/wiki/_status_codes

More information

WebSphere MQ Telemetry Java Classes Version 1.1

WebSphere MQ Telemetry Java Classes Version 1.1 WebSphere MQ Telemetry Java Classes Version 1.1 15 May, 2003 SupportPac author Ian Harwood Jonathan Woodford ian_harwood@uk.ibm.com jonathanw@uk.ibm.com Property of IBM ii Take Note! Before using this

More information

Appendix A - Glossary(of OO software term s)

Appendix A - Glossary(of OO software term s) Appendix A - Glossary(of OO software term s) Abstract Class A class that does not supply an implementation for its entire interface, and so consequently, cannot be instantiated. ActiveX Microsoft s component

More information

Client/Server-Architecture

Client/Server-Architecture Client/Server-Architecture Content Client/Server Beginnings 2-Tier, 3-Tier, and N-Tier Architectures Communication between Tiers The Power of Distributed Objects Managing Distributed Systems The State

More information

Deccansoft Software Services. J2EE Syllabus

Deccansoft Software Services. J2EE Syllabus Overview: Java is a language and J2EE is a platform which implements java language. J2EE standard for Java 2 Enterprise Edition. Core Java and advanced java are the standard editions of java whereas J2EE

More information

WHITE PAPER. Good Mobile Intranet Technical Overview

WHITE PAPER. Good Mobile Intranet Technical Overview WHITE PAPER Good Mobile Intranet CONTENTS 1 Introduction 4 Security Infrastructure 6 Push 7 Transformations 8 Differential Data 8 Good Mobile Intranet Server Management Introduction Good Mobile Intranet

More information

Requirements and Issues of V**s for Mobile Terminals

Requirements and Issues of V**s for Mobile Terminals Requirements and Issues of V**s for Mobile Terminals Workshop on the Future of Virtual Execution Environments Armonk, NY, USA 15-17.09.2004 Kari Systä Nokia Research Center 1 NOKIA Presentation_Name.PPT

More information

What we need. Agenda. What s J2EE. Challenges of Enterprise Application Development

What we need. Agenda. What s J2EE. Challenges of Enterprise Application Development Agenda.NET versus J2EE Felicia cheng Jarred zheng Jonathan Card Peng Li iao he Background Introduction J2EE Structure.NET Structure J2EE vs..net Conclusions Today s Enterprise Environment Challenges of

More information

The Basic Web Server CGI. CGI: Illustration. Web based Applications, Tomcat and Servlets - Lab 3 - CMPUT 391 Database Management Systems 4

The Basic Web Server CGI. CGI: Illustration. Web based Applications, Tomcat and Servlets - Lab 3 - CMPUT 391 Database Management Systems 4 CMPUT 391 Database Management Systems The Basic Web based Applications, - - CMPUT 391 Database Management Systems Department of Computing Science University of Alberta CMPUT 391 Database Management Systems

More information

Session 9. Deployment Descriptor Http. Reading and Reference. en.wikipedia.org/wiki/http. en.wikipedia.org/wiki/list_of_http_headers

Session 9. Deployment Descriptor Http. Reading and Reference. en.wikipedia.org/wiki/http. en.wikipedia.org/wiki/list_of_http_headers Session 9 Deployment Descriptor Http 1 Reading Reading and Reference en.wikipedia.org/wiki/http Reference http headers en.wikipedia.org/wiki/list_of_http_headers http status codes en.wikipedia.org/wiki/http_status_codes

More information

Oracle WebLogic Server 11g: Administration Essentials

Oracle WebLogic Server 11g: Administration Essentials Oracle University Contact Us: +33 (0) 1 57 60 20 81 Oracle WebLogic Server 11g: Administration Essentials Duration: 5 Days What you will learn This Oracle WebLogic Server 11g: Administration Essentials

More information

BEAWebLogic Server. Introduction to BEA WebLogic Server and BEA WebLogic Express

BEAWebLogic Server. Introduction to BEA WebLogic Server and BEA WebLogic Express BEAWebLogic Server Introduction to BEA WebLogic Server and BEA WebLogic Express Version 10.0 Revised: March, 2007 Contents 1. Introduction to BEA WebLogic Server and BEA WebLogic Express The WebLogic

More information

SUN Enterprise Development with iplanet Application Server

SUN Enterprise Development with iplanet Application Server SUN 310-540 Enterprise Development with iplanet Application Server 6.0 http://killexams.com/exam-detail/310-540 QUESTION: 96 You just created a new J2EE application (EAR) file using iasdt. How do you begin

More information

Automation Anywhere Enterprise 10 LTS

Automation Anywhere Enterprise 10 LTS Automation Anywhere Enterprise 10 LTS Document Version: 1.3 Installation Guide Date of Publication: 15 th November, 2016 Update(s) to this document edition: Table of Contents 1. Client Prerequisites Processor

More information

NetBeans IDE Field Guide

NetBeans IDE Field Guide NetBeans IDE Field Guide Copyright 2005 Sun Microsystems, Inc. All rights reserved. Table of Contents Extending Web Applications with Business Logic: Introducing EJB Components...1 EJB Project type Wizards...2

More information

4.1 The Life Cycle of a Servlet 4.2 The Java Servlet Development Kit 4.3 The Simple Servlet: Creating and compile servlet source code, start a web

4.1 The Life Cycle of a Servlet 4.2 The Java Servlet Development Kit 4.3 The Simple Servlet: Creating and compile servlet source code, start a web UNIT - 4 Servlet 4.1 The Life Cycle of a Servlet 4.2 The Java Servlet Development Kit 4.3 The Simple Servlet: Creating and compile servlet source code, start a web browser and request the servlet, example

More information

WA2018 Programming REST Web Services with JAX-RS WebLogic 12c / Eclipse. Student Labs. Web Age Solutions Inc.

WA2018 Programming REST Web Services with JAX-RS WebLogic 12c / Eclipse. Student Labs. Web Age Solutions Inc. WA2018 Programming REST Web Services with JAX-RS 1.1 - WebLogic 12c / Eclipse Student Labs Web Age Solutions Inc. Copyright 2012 Web Age Solutions Inc. 1 Table of Contents Lab 1 - Configure the Development

More information

MMAPI (Mobile Media API) Multimedia Framework for Mobile Devices

MMAPI (Mobile Media API) Multimedia Framework for Mobile Devices MMAPI (Mobile Media API) Multimedia Framework for Mobile Devices Zohar Sivan IBM Research Laboratory in Haifa IBM Labs in Haifa MMAPI Objectives Provide a standards-based Java multimedia framework for

More information

JDK-WildFly-NetBeans Setup Local

JDK-WildFly-NetBeans Setup Local @author R.L. Martinez, Ph.D. Table of Contents Overview... 1 Security Notice... 2 Download and Install Latest Stable JDK... 2 Download and Install Latest Stable WildFly... 6 Download and Install Latest

More information

FUSION REGISTRY COMMUNITY EDITION SETUP GUIDE VERSION 9. Setup Guide. This guide explains how to install and configure the Fusion Registry.

FUSION REGISTRY COMMUNITY EDITION SETUP GUIDE VERSION 9. Setup Guide. This guide explains how to install and configure the Fusion Registry. FUSION REGISTRY COMMUNITY EDITION VERSION 9 Setup Guide This guide explains how to install and configure the Fusion Registry. FUSION REGISTRY COMMUNITY EDITION SETUP GUIDE Fusion Registry: 9.2.x Document

More information