Architecture of my new project

Kalixia eCommerce Platform Architecture
Click on the image in order to see it in full-size (much more readable)

I do plan to use innovative technologies in order to provide the same kind of experience Jini developers experience to end-users of the store.
What it means is that the content of the store will react to the Jini topology.
For example should a Rio/Jini service providing a payment service gateway disappear (either because the gateway crashed or because the third-party service behind the gateway is not accessible anymore — think about the Surrogate project) that both the public website and the back-office would adapt to this situation by removing this gateway from the UI so that the user will still be able to pay but only using other gateways. This is an elegant solution in order to cope with partial failures (especially in this kind of scenario where your business relies on many third-party services).
Another example might be a fax system (third-party service accessed though a REST API) used in order to reorder stock in a B2B fashion. Should the gateway or the back-end service be dead that instead Rio would provision a degraded services storing fax in a database in order to send them later on when the dead service is back to life again.

Next, the use of a portal (I’m do plan to use eXo Portal) will provide different pages based on the kind of user connecting to the back-office. A different view will be implemented for commercials, managers and marketers. The portlets will be written using Tapestry (also used for the public website) in order to use the already written high-level components.

Now, regarding the public website, what most store owners need is a simple way to customize the look of their website. Usually such stores are written using templates of web pages. Fine but then you need to understand the template language and often can’t write the template using a web development tool like DreamWeaver. So most of store owners do usually delegate this work (think extra $$$ or €€€ spent) to a company not only making web design but also web design using the language of the template engine. This is where Tapestry shines. Tapestry uses simple HTML pages as templates. If you take care of your templates while developing you can still provide templates editable in DreamWeaver. This means that the whole look of the website will simply be a ZIP file of HTML pages.

Not all technologies are highlighted yet. I will post updates later on…

3 Responses to “Architecture of my new project”

  1. Flavio Bianchi Says:

    Which application did you used to create this diagram?

  2. jeje Says:

    I used OmniGraffle.

  3. Jerome Louvel Says:

    Interesting project! Let me know if you need support regarding the Restlet part of your architecture.

Leave a Reply