Efficient SOAP messaging for Android

From its-wiki.no
Revision as of 08:31, 11 June 2014 by Josef.Noll (Talk | contribs)

Jump to: navigation, search

Efficient SOAP messaging for Android

by Dag Ove Eggum
Supervisor(s) Frank T. Johnsen, Trude Hafsøe Bloebaum, Knut Øvsthus, Josef Noll
Due date 2014/05/02
Status Finished
Problem description: This thesis expands the third-party SOAP library ksoap2-android with the possibilities of using different transport protocols other than HTTP/TCP and using compression to reduce the size of SOAP messages. The additional transport protocols are UDP and AMPQ, and the compression tools added are gzip and EXIficient, an XML-specific tool that implements the Efficient XML Interchange format. The expanded ksoap2-android library was used in a Web service client application installed on an unrooted Samsung Galaxy tablet using the 4.2.2 version of the Android operating system. The Web service client was tested against different Web services with different transport and compression combinations, using a proxy server to adapt the messages to a COTS server. The testing was done over both mobile broadband and Wi-Fi to examine the effects the different combinations had on CPU load and battery usage of the Android device, and the network load.

The testing showed that while EXIficient compressed slightly better than gzip, it caused a much greater CPU load and battery usage that gzip, causing the expenses to absorb the profits. Both UDP and the AMPQ implementation RabbitMQ performed better than HTTP, especially when focusing on achieving a higher goodput. This thesis concluded that using gzip together with RabbitMQ is the better option when it comes to reducing network overhead while simultaneously maximizing battery lifetime of reliable SOAP communication on an Android device.

Methods and Tools: The tools and methods in this thesis are based on
  • A set of scenario, describing the challenges
  • A list of requirements being extracted from the scenarios
  • A description and evaluation of technologies and tools being candidates for solutions
  • A functional architecture/description of the envisaged system
  • An implementation of the core concepts
  • A demonstration of the solution
  • An evaluation of the solution, including a critical review of the descisions taken earlier
  • Conclusions
  • References
Time schedule The envisaged time schedule (for a long thesis/60 ECTS) is:
T0 0 starting month, T0+m denotes the month where the contribution to a certain chapter shalle be finalized
T0+2 months: create an initial page describing the scenario
T0+3: Provide a list of technologies which you think are necessary for the thesis
T0+4: Establish the table of content (TOC) of the envisaged thesis. Each section shall contain 3-10 keywords describing the content of that section
T0+7: Provide a draft of section 2 (scenario) and 3 (technologies)
T0+10: Establish a draft on what to implement/architecture
T0+11: Set-up an implementation, testing and evaluation plan
T0+15: Evaluate your solution based on a set of parameters, keep in mind there is no such thing as a free lunch
T0+17: Deliver the thesis
Pre-Knowledge This thesis includes a reasonable amount of programming. The envisaged thesis is based on radio communications, thus expects the user to have followed at least two radio-related courses
Approved Pending by
Keywords SOA, SOAP, Android, Web-services
Depiction

this page was created by Special:FormEdit/Thesis, and can be edited by Special:FormEdit/Thesis/Efficient SOAP messaging for Android

The thesis is delivered

Please download the thesis from Media:201405Efficient_SOAP_messaging_in_Android_Eggum_MasterThesis.pdf Title page, abstract, ...

1. Introduction, containing: short intro into the area, what is happening
1.1 Motivation, containing: what triggered me to write about what I'm writing about
1.2 Methods, containing: which methods are you using, how do you apply them
2. Scenario, optional chapter for explaining some use cases
2.1 user scenario, (bad name, needs something bedre)
2.2 Requirements/Technological challenges
3. State-of-the art/Analysis of technology, structure your content after hardware/SW (or other domains). Describe which technologies might be used to answer the challenges, and how they can answer the challenges
3.1 technology A
3.2 technology B
4. Implementation
4.1 Architecture, functionality
4.2
5. Evaluation
6. Conclusions
References

Comments

Red line

Your thesis should have a "red line", which is visible throughout the whole thesis. This means you should mention in the beginning of each chapter how the chapter contributes to the "goals of the thesis".

Use of scientific methods

A thesis follows a standard method:

  • describe the problem (problemstilling)
  • extract the challenges. These challenges should be measurable, e.g. method is too slow to be useful to voice handover.
  • Analyse technology with respect to challenges. Don't write & repeat "everything" from a certain technology, concentrate on those parts (e.g. protocols) which are of importance for your problem

References

  • Wikipedia is good to use to get an overview on what is happening. But there is not scientific verification of Wikipedia, thus you should use wikipedia only in the introduction of a chapter (if you use text from wikipedia). Use scientific literature for your thesis.
  • Scientific library is "at your hand", you can get there directly from UiO: [[How to get access to IEEE, Springer and other scientific literature -> Unik/UiOLibrary]]
  • I suggest that references to web pages, e.g. OASIS, W3C standards, are given in a footnote. Only if you find white papers or other .pdf documents on a web page then you refer to them in the reference section.

Evaluation of own work

Perform an evaluation of your own work. Revisit the challenges and discuss in how you fulfilled them. Provide alternative solution and discuss what should be done (or what could have been done).