Presented By: Ayelet Birnbaum Yael Kazaz Supervisor: Viktor Kulikov 07/05/12 Motivation • Ever since Smart-phones entered our lives, relying solely on computers for information has become growingly difficult • When a certain service is provided via website, it becomes much more accessible and easy to use when it is offered also as an App • Today, most of the students at the Technion own a Smartphone Why UG Courses App? • The course information engine at the Technion undergraduate studies website, is a very informative tool that is highly used by undergraduate students that represent more than 70% of the entire student population at the Technion • In this project we will create an App for Android OS that will offer most of the services that can be found in the website today App Features Course Search Course Name Course Number Semester Faculty Advanced Options My Cart Schedule Registration Info Registration Date Presents courses in the cart Presents the weekly schedule synchronized with Google Calendar 1. Exam schedule 2. Total credits 3. Course list Presents the time and date that the registration begins Creating an App on Android • An Android App is written in Java • Various tools are required in order for the App to work properly in terms of communication and decoding between server and Smartphone • In the following section of the presentation we will introduce these tools that are needed for our project Web Services (1) • A Web service is a method of communication between two electronic devices over the web • In our project, Web services are needed in order to enable communication between the Smartphone on which the App is installed on and the server on which the App is developed on Web Services (2) • When a request for a certain operation on the App is received on the server (via Tomcat) then creating a web service for the operation is required • Creating a web service for an operation results in the creation of a cluster of files including an XML file that holds the required information and support files that instruct how to read the XML file • Other systems interact with the Web service by using SOAP messages SOAP • Simple Object Access Protocol (SOAP) is a protocol specification for exchanging structured information in the implementation of web services • In our project, we will use the SOAP protocol in order to communicate between the server and the Smartphone • SOAP relies on Extensible Markup Language (XML) for its message format • In Android there is a KSOAP2 library that works with SOAP, and it can read the web services files Tomcat • Apache Tomcat is an open source web server that serves a client request and receives a response from the server (two way – requests and responses) • In our project, Tomcat is used to constantly listen for requests from the App on the Smartphone, and run the operations requested on the server • Tomcat enables the operation with web services and is in charge of the code translation from Java to HTML System Layout SOAP Internet Web Services PC Tomcat App SOAP App Web services KSOAP2 UG - FTP Class Diagram Road Map (1): What we have done so far • Deciding what options will be included in the App and what options will no be left out • Defining project specifications and structure • Learning study material relevant to creating an Android App: – Web Services – Tomcat – SOAP • Designing App implementation and building the Class Diagram • Creating the Mid-Term presentation Road Map (2): Still to Come • Gaining hands-on knowledge of how to create an Android App by creating a simple App and loading it on to the Android Smartphone • Writing the App itself in Java on Eclipse environment, thus implementing the Class Diagram created before • Testing the implementation • Writing the relevant code for the data transformation between the computer and the Smartphone and the UG server • Designing the graphical interface of the App • Creating the Final presentation • Creating the project book • Creating the project poster