[Building Sakai] about sakai's architecture
Mark Norton
markjnorton at earthlink.net
Thu May 21 06:43:51 PDT 2009
From a high level (architectural view), Sakai provides two basic things
that support course management, online learning, and collaboration:
1. A rich collection of framework services.
2. A portal that presents "worksites" to a user.
A worksite is a collection of pages (these appear as tabs down the left
side of the Sakai UI). Each page may have one or more Sakai "tools" on
it. Usually one. A tool is a web application that conforms to certain
Sakai conventions. Most of these are described in the document you
mention, though you should also have a look at some of the other
documents as well.
The Sakai 2.x portal (called Charon), controls access to worksites,
pages, and data via the Security and AuthZGroup services. Part of the
authz work (and this is a simplification) is a way to reference
"entities". I suspect these references are what you refer to as "nodes"
in your message. Entities area way of looking at "things" in an
abstract way that ensure that they will all have an identifier, a name,
etc. Generally, these entities are system data, but it's a mistake to
assume that they are all stored in a database. The entity manager makes
no assumptions about how data is persisted, if it is at all.
Data management in Sakai is provided by a "service". Generally, there
are two main groups of services: framework and application. Framework
services include User, Tool, etc. Application services include
announcements, gradebook, content hosting, etc. Exactly how data is
managed is part of the application design. Access to data managed by an
application is done by publishing an API. This is how applications are
integrated in Sakai.
As for code, just poke around any Sakai application. The announcement
tool is a good choice, for most things. If you look at several, you'll
see similarities and differences. One big difference is that different
presentation technologies are used. The three main ones are Velocity,
JSF, and RSF. This has some impact on how application files are set up,
etc. Hibernate is commonly used to persist data, but some applications
manage data directly via JDBC.
- Mark Norton
Small Cat wrote:
> I have been read file " sakai_structure " in sakai-src-2.5.4\reference\
> docs\architecture , and I have some problems I don't understand. I
> hope you can explain it to me ^^
> - in sakai, we have one structure, or many structures ( each tool is
> one structure / each site is one structure ? ) ???
> - what node is root node of an sakai application
> - each node is an data entity as announcement,gradebook... right or
> wrong ?
>
> and where I can download some sample code ( without tasklisttool in
> Programmer's cafe ) for sakai 2.5.4 (and I want a sample code which
> can show me " sakai structure " in the above document )
> Thank you & have a good day !!!
> ( I'm sorry if my English is not good >"< )
>
> ------------------------------------------------------------------------
>
> _______________________________________________
> sakai-dev mailing list
> sakai-dev at collab.sakaiproject.org
> http://collab.sakaiproject.org/mailman/listinfo/sakai-dev
>
> TO UNSUBSCRIBE: send email to sakai-dev-unsubscribe at collab.sakaiproject.org with a subject of "unsubscribe"
More information about the sakai-dev
mailing list