Dear Mentors, Per Luciano's suggestion I'm sending a mid-term update that describes at a high level the progress and accomplishments made towards my original project proposal for the project: "Allow Google Android applications to easily consume business services." This mid-term update also discusses the next steps to be taken for successful completion of the project.
My project proposal comprised 5 stages, 3 of which concentrate on the porting of an SCA subset to get it running in Google Android. I proposed that these first 3 stages be iterative, as much testing and re-testing would likely be involved. The last 2 stages concentrate on use cases for Android, in the hopes of creating a Tuscany mobile story that underscores the functionality of SCA on Android. After some initial research and getting acquainted with the working environment I started testing retrotranslator, a tool that makes Java applications compatible with Java 1.4, Java 1.3 and other environments. This tool has helped to 'identify [an] SCA subset to port', or conversely, use of this tool presented problems that show what doesn't run in Android. The main problem, also the reason why retrotranslator is being used, is the lack of proper support for Annotations in the Dalvik VM, Android's optimized Java Virtual Machine. Google acknowledged the Annotations issue [1] and announced that it would be fixed in a future release of the Android SDK. In the mean time, retrotranslator was proposed as a workaround. There has been no announcement regarding the estimated time frame for release of an updated SDK. Translating the SCA code with retrotranslator has presented 3 main issues: - Problems with the Java RMI API, - the JWS API and, - the Java Beans API. A JIRA ticket [2] was created based on the first experiences with retrotranslator, and included 2 patches and a retrotranslator_readme that can be used to replicate my working environment. This ticket will be updated with the most recent developments. To keep track of these issues a blocking issues page [3] was created along with a summary of limitations when porting SCA to the Android platform [4]. These pages also include suggestions that I've received, from which the main ones are: - Comment the code and get it running, (Adriano) - Minimize dependencies (reduce scope of support): use the example of calculator2 by Ant, (Luciano) - Backport classes or attach retrotranslated JAR libraries (Taras). Additionally, there was a suggestion from Luciano and Adriano to integrate Retrotranslator with Maven, to allow anyone to checkout the trunk + android sandbox and jump on the code to help. I started to work on this integration using the Retrotranslator Maven plugin [5]. To test the integration I used the recent modifications that Adriano committed to the android sandbox: - the code that uses the Java RMI API was commented - the code that uses the JWS API was also commented - the code that uses the Introspector.decapitalize() (Java Beans API) method was replaced by the logic this method provides - Loaded DefaultTransformationExtensionPoint programatically after NPE errors thrown when SCA tries to load the TransformationExtensionPoint However, when building the code with Maven I ran into problems downloading the 1.4-SNAPSHOT pom: "Unable to download the artifact from any repository." Adriano helped me resolve this problem by sending me the files for the 1.4-SNAPSHOT and instructing me to put them in the appropriate place inside the .m2 directory. Afterwards, I was able to build the code with mvn clean install -fn but haven't been able to import the project into Eclipse. This is the point I'm currently at right now. The modifications made thus far are part of the 'Port SCA subset' stage. Further modifications will still be part of this stage, although they could also be classified as 'Cutting corners' as well. Again, iteration is involved in the porting efforts. The next steps are to get SCA running on Android and to come up with interesting use cases that underscore functionality. To get SCA running on Android I plan to see the example of calculator2 to get ideas on how to minimize dependencies. Additionally, I plan to complete the integration of Maven and Retrotranslator and use it on Adriano's most recent modifications to the android sandbox. In doing this, my plan is to start by resolving the exceptions [6] that Adriano is getting on the modified code. Once we're able to get SCA running on Android I would plan to spend the rest of the time concentrating on interesting use cases. As much as possible I will try to follow my original proposal. I am maintaining a project wiki page [7] that shows progress in more detail. Even though I need to make it more tidy, I think it provides useful information. I will keep updating this wiki page with the most recent developments. Lastly, I have received much help from the Tuscany community, from my mentor Adriano and from Taras Puchko, the creator of retrotranslator. I thank them all for their patience and continued support. [1] http <tr_1215786554765> ://code.google.com/p/android/issues/detail?id=29&can=1&q=annotations&colspec=ID%20Type%20Version%20Security%20Status%20Owner%20Summary [2] https://issues.apache.org/jira/browse/TUSCANY-2440 [3] http://cwiki.apache.org/confluence/display/TUSCANYWIKI/Blocking+issues [4] http://cwiki.apache.org/confluence/display/TUSCANYWIKI/Limitation+on+porting+SCA+to+Android+platform [5] http://mojo.codehaus.org/retrotranslator-maven-plugin/<https://issues.apache.org/jira/browse/TUSCANY-2440> [6] http://cwiki.apache.org/confluence/display/TUSCANYWIKI/SCA+Android+Exception+after+revision+674723 [7] http://cwiki.apache.org/confluence/display/TUSCANYWIKI/Allow+Google+Android+applications+to+easily+consume+business+services On Wed, Jul 9, 2008 at 6:25 PM, Luciano Resende <[EMAIL PROTECTED]> wrote: > To help Mentors with mid-term evaluation, I'd like to suggest students > to send a mid-term update describing high level > progress/acomplishments towards the original project proposal. > > Mentors : Any thoughts on this ? other suggestions ? > > -- > Luciano Resende > Apache Tuscany Committer > http://people.apache.org/~lresende <http://people.apache.org/%7Elresende> > http://lresende.blogspot.com/ > -- best, -oscar Oscar CastaƱeda
