Final Presentation - UHCL SCE DCM Server
Download
Report
Transcript Final Presentation - UHCL SCE DCM Server
TEAM 9 : JAILBREAKERS
RENDEZVOUS
Instructor: Dr . Perez Davila
Mentor: Mr. Todd Guillory
Members:
Twinkle Agarwal
Anjana Bhirde
Ravi Madaiah
David Hodgson
Why iPhone?
Not desktop, not web app. Mobile development
not usually offered as a course.
New programming language
Learn about Mac OS
Learn about Model-View-Controller (MVC)
pattern
Resume building
Requirements
Must call a web service
Must perform basic database operations
This had a huge influence on what we decided to
do
What is a web service?
A method of machine-to-machine communication
A way of calling a procedure/function/method on
another machine
Interoperability: can use different languages,
different operating systems
Web services
Two types: “Big web services” and RESTful
Big web services use HTTP, and SOAP. Easier to
consume with proxy classes. Click here for
sample web service.
RESTful services use existing HTTP operations of
GET, PUT. Really just parsing a well-formed web
page.
No
SOAP
involved.
http://www.geoplugin.net/extras/postalcode.gp?
lat=29.577637&long=-95.104244&format=xml
What does our application
do?
Divided into three features, to satisfy different
requirements
First feature: gets the weather.
Second feature: invite friends to a restaurant.
Third feature: find directions to a friend, using
Google Maps.
All features assume that there is internet
connectivity.
Feature One: Weather
The view that loads with the application launch is
the weather for the user’s present location
It also comes with a search option to get weather
update for particular zip code
It also has an image that depicts the weather
description (sunny, etc.)
Uses response of one web service (zip code) as
input for another web service (weather ): like
function composition in math
Feature One: Weather
Sequence Diagram
Notes on feature one:
The user does not need to know where he is
Does not accept invalid input
It consumes data from an existing web service
Demonstrates interoperability (between Apple
OS and Microsoft OS, and objective c to C#).
Same is true for feature 2 and feature 3
Feature One: Weather
screenshots
Feature Two : Fix Meeting
On launch of this feature displays a list of
restaurants for present location
Also has a search option for getting restaurants
for a particular zip code
Shows list with 10-12 restaurants with respect to
user’s present location (limitation of XML?). This
might be because users give long reviews of
restaurants, so the service chops off the results.
Feature Two : Fix Meeting
Uses two web services
Consume existing web service for getting list of
restaurants (Yahoo! API)
II. Create a web service for sending invitation
message via email. Deployed on DCM web
server.
I.
Feature Two : Fix Meeting
Sequence Diagram
Notes on feature two:
User does not need to know where he is
User does not have to do any typing
Does not accept invalid input
Retains value when there are view switches
User choices are stored in a singleton object
Interoperability
Feature Two : Fix Meeting
screenshots
Feature Two : Fix Meeting
screenshots
Feature Two : Fix Meeting
screenshots
Feature Three : Get
directions
On launch of this feature, displays a list of friends
and their respective distance from the user
Also has update location option that updates
user’s location in database
Created web service that calls a stored procedure
that return relative distance between user and
his friend
Performs database operations (INSERT, UPDATE,
SELECT)
Feature Three : Get directions
Sequence Diagram
Notes on feature three
Gives map as well as textual route
Interoperability
Illustrates web service performing database
operations
Database is prepopulated with users’ locations.
The application does assume that a group of
friends all have and use the application.
Feature Three : Get directions
screenshots
What is unique about our
application?
Two people in a new city can find each other
without knowing each other’s current location.
Inviting a friend to a restaurant does not need
any typing on the user’s part.
Ideas of how this can be
extended in future semesters
On restaurant feature, can get results based on
current location and radius.
Other types of events:
1. Movies
2. Concerts
3. Sporting events
More stuff to do
Web service authentication and encryption
HTTPS
Token
More to do: privacy concerns
Need to authorize friends to see where I am
(could stalk someone otherwise)
Web service needs to check that they are actually
friends before sending results
More to do: Identity
Using a phone number to represent identity,
which can change
Need to have a way for users to update their
information (name, phone number, email
address)
Things we could have done
better
Comment code as we go, instead of at end
For commercial applications, if you don’t, it won’t get
done
More time consuming otherwise
Don’t use comments to comment out code, and
especially don’t commit it into source control
Break down objects more
View controllers were doing a lot of work. Could move
parsing XML and calling web services into another
class.
Makes for more reusable code.
Conclusion
The requirements that we had to meet for the
course are met by this application
Successfully implemented the three features that
we intended to implement at the start of the
course
Get legitimate outputs