26/36  

Tutorial application for Suixo

Mentor: Arthur Schijndel, van
Second mentor: Diego Lont
Level: Intermediate
Invited students:
Students interested: Stipe Grgić(very), Andraž Krevh(very)

Produce several tutorial applications for Suixo. These applications should demonstrate:

  • How to start using the framework in your application.
  • What benefits the framework will bring (see technical details)
  • When to use a domain model driven user interface (i.e. naked objects) and when to use a workflow driven user interface
  • How to apply domain driven design
  • The advantage of using Smalltalk Seaside as development environment for enterprise applications

Technical details

Context

Suixo is an open source Smalltalk Seaside application framework used to build a.o. a vertical market solution for healthcare. The healthcare solution is currently used daily by about 80 users. Suixo is an application level framework that currently features:

  • Workflow engine
  • Generic reusable business model
    • Party model (company / person)
    • Time tracking
  • Role based access control
  • Content management system

Used technology
Suixo integrates the following technologies into an application level framework:

  • Pharo (virtual machine)
  • Seaside (web framework)
  • Glorp (ORM)
  • Postgres (persistence)
  • Scriptaculous ui (Ajax components)
  • ShoreComponents (widgets)
  • Mold (meta model)
  • Graphviz (workflow visualisation)
  • Flotr (graphics)
  • Soap (webservices)

Goal
Currently the framework has a steep learning curve, because it uses many technologies of the Smalltalk Seaside environment. The tutorial applications should make the framework more accessible.

Benefits to the Student

  • Exposure to high level frameworks
  • Designing large and complex applications
  • Working in an agile environment

Benefits to the Community

  • Make Pharo/Seaside a more appealing open source environment for the development of enterprise applications:
  • Demonstrates Smalltalk Seaside viability for large and complex applications
  • Better accessability of application level reusable functionality





Updated: 24.3.2010