Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Comment: Migrated to Confluence 4.0

...

The Apache Tuscany Project implements the SCA specifications and easier SOA developments by it's comprehensive infrastructure of components that can be assembled into applications called composites. Tuscany also provide provides extensions revealed to be useful when binding components with one another using specific protocol (CORBA, JSON, SOA/HTTP). To make a bright and effective use of Tuscany SCA's opportunities, applications are to be developed on fully featured and OPENED platform so that innovative and reusable solutions and components can be created and reassembled. The new Google Android Mobile platform provides such features(opensource, extendable, operating system, api, sdk, middleware, adequate tools) and has consequently been targeted to host tuscany and to demonstrate it capabilities under the "tuscany-host-android" subproject. Started last year at GSOC08, the project has been going peacefully along, and great efforts have already been accomplished including porting tuscany SCA(core/runtime + extensions) in a light version onto Android and partially implementing an android store app, which consumes services from a an SCA friendly store app.

For the current GSOC edition, it'll be about completing the Android SCA Runtime module, and mainly demonstrating Tuscany's SCA capabilities by extending the existing android store application.

...

Android client: Makes a call to the catalog service in order to retrieve the full catalog or part of it by specifying a search criteria. This will result into a JSONRPC invocation having the webservice URI and the request search criteria as parameters.
         

Store web App: Will Answer to the call, and load the catalog items from a datasource, probably XML file. Either all items or a part equivalent to the user's request, will be loaded and sent back to the Client as a JSON String. In case it's a request for a part of the catalog, the catalog service will not do the search itself, but will just reference a catalogBrowser service to perform the search. Another process should there be undertaken too, to decide how items are going to be displayed, according to the catalog currency. Handling automatically the switch from a currency to another and providing the choice of currency from a user predefined list will be interesting there. This emphasis then the need to create a  currencies datasource, from which they can all be loaded, and their value values easily be converted to one another. A simple xml file once again will make it.

...

    This file will contain all possible currencies the store can use. This means an extension of the number of currencies that can be used.
    It should reference one of the currencies as the reference currency, and all conversions will be made passing by thoughrout it. A DTD or a schema
    validation may be implemented to validate it's structure.

...

    This file will hold all catalog items and attributes like the store name, catalog currency. For each catalog item, it will describe it's
    category, name, price, image file path. A DTD or a schema validation may be implemented to validate it's structure too. Find a sample below.
    
    <?xml version="1.0" xmlns="http://www.w3.org/">
        <store xmlns="http://www.w3.org/">
            <configuration currency="USD" name="Tuscanily"/>
            <catalog>
                <category name="fruits">
                    <item name="Pear" price="2.2" image_file="fruits/pear.gif"/>
                    <item name="Apple" price="1.2" image_file="fruits/apple.gif"/>
                </category>
                <category name="Bakery">
                    <item name="Bread" price="0.7" image_file="bakery/bread.gif"/>
                    <item name="cake" price="3.2" image_file="bakery/cake.gif"/>
                </category>
            </catalog>
        </store>
        

...

    This directory on the server will contain a subdirectory for each catalog category., and every product may have it's image in the relevant
    category. Default images may be provided. Due to the size of the end user screen (mobile device), images size will be fixed to 30*30be in thumbanails format (32*32).
         

        Web App Store

...

    Android Client Store: This part will be made of

  •   The store UI screens

Wiki Markup&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;*&nbsp;&nbsp; &nbsp;Store Home page with buttons driving to: &nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;\[X\] &nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;*&nbsp;&nbsp; &nbsp;Catalog categories page; &nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;*&nbsp;&nbsp; &nbsp;Products list page - (This page should will show up after a category has been selected, or after a product search submission); &nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;Items will be displayed in a listView using a simpleAdaptor to re-arrange the item's attribute that are to be displayed. Items quantity can be typed in from the list. &nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;*&nbsp;&nbsp; &nbsp;Product details page: displays all possible details about the product; &nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;*&nbsp;&nbsp; &nbsp;Shopping cart page: Displays selected items, and the total. &nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;\[/X\] &nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;and &nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp; \*&nbsp;&nbsp; &nbsp;Preferences page; &nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp; &nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;I intend to assemble \[X/\] pages&nbsp; under a same TabActivity, for a practical switch between them. Any other proposal surely will be welcomed and discussed.&nbsp;            *    Store Home page which will include a search form and buttons driving to:
            [X]
                *    Catalog categories page;
                *    Products list page - (This page should will show up after a category has been selected, or after a product search submission);
                    Items will be displayed in a listView using a simpleAdaptor to re-arrange the item's attribute that are to be displayed. Items quantity can be typed in from the list.
                *    Product details page: displays all possible details about the product;
                *    Shopping cart page: Displays selected items, and the total.
            [/X]
            and
                *    Preferences page;
            
            I intend to assemble [X/] pages  under a same TabActivity, for a practical switch between them. Any other proposal surely will be welcomed and discussed. 

UI prototype proposal adapted to the current version of the store catalog items attributes (Name - price) below.

...

            In order to make users shopping cart available at next application launch, Android SharedPreferences feature will be used to save the cart contents to the application preferences. Also, as the community opinions is optional, users will be provided a way enabling or disabling the feature. The A last preference for the application will could be about setting its theme.

...

  • Android Debug Bridge, Development Tools  and Emulator.
  • I'll be developing under Windows Vista, and Ubuntu alternatively.
  • IDE: Eclipse. Of course, if the Apache Tuscany Project uses some other tools, i'll be pleased to use them.        

About Me

Birth Date:                                                      22 Juin 1987
Home Country:                     Benin                      Benin Republic
Country of residence:                        France
School:                                                                National School of Applied Sciences - Agadir / Morocco Kingdom.
Technical skills:                                        C, C++, C#, VB.net, Java, Batch, Shell scripting, HTML, CSS, XML/XSD/XSL/XPATH/DTD, Javascript, ASP, PHP, JSP.
Relational skills:                                      Dynamism, Motivation, Ability to work as a team member, Good sense of creativity imagination and share knowledge, Curiosity.
Time dedication:                   Roughly 30-35 hours per week.