COMMUNICATION
Team 5
COMMUNICATION PROVIDER
Two Modules Comprise the CommunicationProvider
• SmilTransporter
• CloudDataProvider
• Both are Singletons
COMMUNICATION
Team 5
COMMUNICATION PROVIDER
Steps to Transmit the SMIL Message
1. Upload assets (Audio,Video,Image to cloud)Handled by CloudDataProvider
HTTP (Apache HttpClient Library)
Returns BlobStore Key
COMMUNICATION
Team 5
COMMUNICATION PROVIDER
2. Encode the URL of the BlobStore Key in the Smil object.
Replaces local path eg: “/sdcard/chair.bmp”
With Cloud path: http://1.csc440mediastore.appspot.com/serve?blob-key=AMIfv945sJ1WUX9sIqeJr_jjAS3XcWCuNH5ReIuamFOuBCtOh0TENWzkwdCcRQMVnja0Gb0xO3YeaCecac6vmV8sX5_exnxUdb1s1JBxyc62Tj1JZMktoLH2IdnPfTtoSc4i8kie4WZbtVmgzCO4Au-RCjmwdhOLrg"
COMMUNICATION
Team 5
COMMUNICATION PROVIDER
3. Generate XML using the Simple Xml Framework’s serialize functionality
COMMUNICATION
Team 5
COMMUNICATION PROVIDER
3. Simple XML SimpleFramework
• Light weight alternative to JAXB.
• Annotate Model Classes
• Serialize/Deserialize from JAVA to XML and back
<smil><head>
</head><body>
</body> </smil>
COMMUNICATION
Team 5
COMMUNICATION PROVIDER
4. Send SMIL XML to endpoint using XMPP protocol. Conducted in the SmilTransporter class
Asmack Library is used to provide high level XMPP functionality
Composer Player
XMPP via ASMACK Library
COMMUNICATION
Team 5
COMMUNICATION PROVIDER
5.Player checks for new message, using the SmilTransporter class.
CloudDataProvider used to downloadAssets from cloud
SMILMedia List generated and consumed by Player to play the file.
Player
COMMUNICATION
Team 5
COMMUNICATION PROVIDER
Player
Files Downloaded. SMIL Objects renamed with local paths
Http Request for download with blob-key
SimpleXML framework used to Deserialize SMIL xml to List of SMILMedia Objects and made available to the Player
USECASE DIAGRAMS – COMMUNICATION PROVIDER
Team 5
3rd Party Libraries used:
HttpClienthttp://hc.apache.org/httpcomponents-client-ga/
Asmack/Xmpp library:http://metajack.im/2010/02/10/xmpp-library-for-android-developers/
Simple XML Framework:http://simple.sourceforge.net/
TESTING
Team 5
• White Box Testing
• Tested SmilTransporter library with google chat client.
• Tested CloudDataProvider with local GAE server and then with actual Cloud with billing enabled. (inconsistencies found).
• Tested Composer/Player functionality, in playing various components on emulator/real device. (Inconsistencies on emulator found).
• Tested SMILMedia ArrayList Structures, passed to and from CommunicationProvider.
TESTING
Team 5
• Black Box Testing
• Tested Interface between Composer and Communication Provider.
• Upload of files• Passing of SMIL Messages.
• Tested interface between Player and Communication Provider.
• Download of Files• Receiving of SMIL Message.