n iPhone App
Advisor: Dr. Edward Chow
Committee Member: Dr.
Committee Member: Dr.
Project deals with
iOS App for the Secure Delivery
e project emphasize
web based interface can be
to request discovery
District Attorney O
ffice Colorado Springs.
functionality for registering for a new
on the iPhone and set up a framework in place
for extending the existing capabilities for adding more screens.
The application uses a simple client server model where the client is
developed using a RESTful
has resulted in ease of development and
helps with maintainability.
One of the main challenges in developing
application is to authenticate a user and to
maintain the state of the clients accessing the system. In
this project, I have
implemented a mechanism to authenticate users using a stateless authentication
technique forms the foundation of any extensibility that could be
on top of
by a Colorado SIPA grant sponsored by 4
. It created
a set of
for attorneys to securely
discovery information and for the staff of 4DAO to manage the requests for
A secure web pa
created where invited customers can apply for an account with
SDD server. They
fill in their entire name, business name, and complete contact
The staff with 4DAO
will receive an email
about the application
. An internal
web page will a
to manage applications by either approving or
all information will be saved into a membership database table.
Applicants are to receive an acknowledgment via email. An FTP public file directory
. They will have
full ownership rights over the directory
The staff will
encrypt discovery information before publishing. On a case
sis, they will
create a folder with case number
and place all discovery information
into that folder.
cannot access information until
cannot pick up any discovery before proceeding into any case folder for
discovery pick up.
The 4DAO staff
will set permission to only allow th
t folder for a case they were notified is ready. The
send an email to
the customer that the information is
The customer will have 72 hours to
go to the secure web site and login for pickup. Once validated, it will take the customer to
a web page listing
very case of discovery ready
hey can simply drag and drop
their discovery from the secure FTP serve
r to their local PC. A traveller
will be placed with the encrypted discovery for the customer to decrypt it. An email will be
a customer has
logged into the site
and will be sent
. In addition an a
uto delete flag
will be set
on the database server
the case folder one hour after
information that is 72 hours old will be automatically deleted if not picked up. Daily and
system usage reports
cases where placed for pick up, what customers logged in to pick up, and what cases
were auto deleted due to no pickup.
3. Related Work
In the research project,
to scientific event
information , the authors
mentioned that in order to enable ease of integration and propagation of data, it is crucial
to expose the core of the system via easy to use Application Programming Interface
(API). There are two main kinds of API’s investigat
ed in this project. API’s have been
part of the computing world for many years, but REST
 has been in the forefront.
Based on related work, it seems like native applications work well with simple API over
HTTP and REST provides this capability.
goal of this
a web application into a mobile
as a test base since it was recently developed
and also has some basic components that are usually part of any web site like
authentication and database access. We chose
Phone mobile device as the device of
was already implem
web application, a lot of the effort
required to provide interfaces
web application would depend on the overall design
of the existing system. This would be challenging considering the fact that the previous
work did not reflect the need
to be flexibl
of the project
I went through
design and code
to see whether the code can be
reused for the mobile application. One
constraint about this project is that we had access to only few set of functionality
especially the login scripts and the overall database tables. After
going through the login
rganization of the code,
that the individual
components that make up big application were not reusable in its existing state
code was not modularized into reusable components. Since the mobile application could
have a different workflow it becomes nec
essary for the existing code to be able to
support more granular operations. My first task would be to reduce coupling while still
maintaining high cohesion by refactoring the code
One of the reasons for the refactor is to ensure that the underlying busin
ess logic is
extensible and usable by multiple kinds of devices. Thus it becomes very important how
the server exposes its functionality.
In this project,
the users will be authenticated from screen to screen
reason is to i
dentify the continuously
identify valid user
request that come to the server.
The server side code functionality would be exposed via a RESTful
on HTTP which is already a very standardized
used by everyone.
Mobile applications also can work with HTTP.
Hence the choice was made to expose the
ce using RESTful API’s
REST service being simple also has some
performance implication when compared to traditional SOAP web services
A concrete implementation of a REST Web service follows four basic design principles:
Use HTTP methods explicitly.
Expose directory structure
This basic REST design
hes a one
one mapping between create,
read, update, and delete (CRUD) operations and HTTP methods. According to this
To create a resource on the server, use POST.
To retrieve a resource, use GET.
ge the state of a resource or to update it, use PUT.
To remove or delete a resource, use DELETE.
Mobile development poses its own challenges. Some of the challenges just
a new paradigm or a programming language. Others are more fundamental when it
comes to designs of the existing system. This project gives me an opportunity to
research these differences and experiment on a very practical application.
The ultimate goal of this project is to, imple
ment SDD in mobile application
. The end
result will be a working
framework of the
invaluable aspect of this project would be the lessons learned while investigating the
web application develop
mobile application development
This project is to be compl
ed by the end of term, Spring 2013
inal project proposal
Begin project work
Approved project proposal
project work and draft of report
Completed final project report
Completed project defense
The deliverables of this project includes the project
documents the design
and implementation of iSDD app,
Hamad, H., Saad, M., Abed, R. (2010). Performance Evaluation of RESTful Web
Services for Mobile
Devices. International Arab Journal of e
Battle, R., Benson, E. (2008). Bridging the Semantic Web and Web 2.0 with
Representational State Transfer (REST).
Journal of Web Semantics, 6, pp. 61
, W., Suntrup, C
Mobile access to
scientific event information:
tablet application for ginkgo
Nurseitov, N., Paulson, M., Reynolds, R., & Izurieta, C. (2009). Comparison of JSON
and XML Data Interchange Formats: A Case Study.
Guide to Cryptography: https://www.owasp.org/index.
Martin Fowler, 2003,
Patterns of Enterprise Application Architecture,
ASP. Net Web API: www.asp.com/web
XCode and Cocoa: https://developer.apple.com
Concepts in Objective C