Friday, March 6, 2009

Free Facebook Platform Application - Personal Expenses

We are releasing our first Facebook Platform Application - Personal Expenses today. Exciting! We are going to tap into the most popular social network as part of our ecosystem now.

This is a very simple application, keep tracking of your personal expenses, but it can be very useful in this trouble time. It can be used as the tool for the "China's young opt for 100 yuan a week budgets", where I got the idea from when we started building this first Facebook Platform Application.

The Facebook widget was developed in PHP using iframe approach interacting with the Personal Expenses application in Ubikwiti. As Ubikwiti is SOA compliant, the interaction is in standard web service approach. In Ubikwiti, the Personal Expenses application is 100% definition-based like other Ubikwiti applications that we developed in the past.

The Facebook widget merely just an add-on user interface to the standard Ubikwiti application. Means, user can create and use the same Personal Expenses application in Ubikwiti without touching the Facebook widget at all.

To make the platform more flexible and expandable, we created a common gateway in PHP to consolidate all Facebook widget service requests/responds and channel to Ubikwiti in SOAP/web service. This will allow us to build widget for other platforms such as MySpace, Google Open Social, WebEx Connect much easier. Another extend of loosely-couple design.

The project proven again how powerful our Definition-based Dynamic Engine (DDE) is. Let me try to illustrate it here with the use case of Facebook user record an expense transaction,
  1. Facebook widget AJAX the PHP gateway with user entered data
  2. PHP gateway converts the user data to a XML, and SOAP to Ubikwiti web service
  3. DDE instantiates the Record Expenses business component from definition file (XML)
  4. DDE converts the XML to DTO (Data Transfer Object) and pass to the Record Expenses object
  5. Record Expenses object execute the business process defined in the definition file
  6. DDE responds to PHP gateway in turn to the Facebook widget on the result
  7. Facebook widget uses the same channel to get the "My latest 3 records" and "My balance"
If you can see what I tried to illustrate and followed my previous postings, you should be able to realize that the Facebook user can sign-in to Ubikwiti and change the business rules/processes using the DIY-GUI tool as all the business components are just definition file. Also the user can add more components to the application from the U-KwikShop if needed.

Isn't this brilliant?

2 comments:

  1. Amazing product !! Wondering is it possible to allow others to make use of the web services to develop our facebook app ?

    ReplyDelete
  2. The technical answer is yes, once we release the Application Development Kit (ADK) to our developers and partners network.

    ReplyDelete