aboutsummaryrefslogtreecommitdiff
path: root/overview.adoc
diff options
context:
space:
mode:
Diffstat (limited to 'overview.adoc')
-rw-r--r--overview.adoc102
1 files changed, 102 insertions, 0 deletions
diff --git a/overview.adoc b/overview.adoc
new file mode 100644
index 0000000..146f652
--- /dev/null
+++ b/overview.adoc
@@ -0,0 +1,102 @@
+Overview
+--------
+An ECSA indexterm:[ECSA,overview]
+is a service architecture for elearning based webservices. It provides
+mechanisms for communication and authorization between elearning systems among
+each other and management systems. This is implemented via a
+MOM.
+
+[[fig_ecsa_overview]]
+.Components of an ECSA network.
+//ifdef::hyperdoc[image::diagrams/ecsa_overview.svg[ECSA network]]
+//ifndef::hyperdoc[]
+
+....
+ ........... ...........
+ . +-----+ . . +-----+ .
+ . |LMS1 +------------+ +--------------+ LMS2| .
+ . +-----+ . | | . +-----+ .
+ . . | | . .
+ . comm. . | | . .
+ . A . | | . .
+ . . +-+-+-+ .+-------+.
+ . +-----+ . https | | .|HIS/LSF|.
+ . |LMS4 +----------+ ECS +-----------+ Proxy |.
+ . +-----+ . | | .+-------+.
+ ........... +-+-+-+ . comm. .
+ | | . C .
+ | | . .
+ .................................................
+ . +-----+ | | . +-----+ . .
+ . |LMS3 +------------+ +--------------+ LMSn| . .
+ . +-----+ . +-----+ . .
+ . community B ........... .
+ .................................................
+....
+
+//endif::hyperdoc[]
+
+An ECSA builds up of three primary components:
+
+- The ECS (elearning community server) serves the core functionionality of
+ an ECSA network. It provides named message resources to allow communication
+ between all participants.
+- An ECC (elearning community client) is a participant in an ECSA network. It
+ has to be registered at ECS and must be able to talk to the ECS as a REST
+ based client. This participant normally has a native implementation of the
+ ECS interface. Our favourite ECCs are LMSs (learning management systems).
+- An ECP (elearning community proxy) represents a special kind of participant.
+ It serves as a proxy for a none ECSA compliant system so that such a system
+ is able to participate in an ECSA network without ever knowing about it.
+
+Sample usage scenario
+~~~~~~~~~~~~~~~~~~~~~
+Suppose you have several LMSs (learning management systems) and want to share
+courses between them. You decide not to interchange the real courses but only
+course links which consist of some meta data of the appropriate course
+especially a link formed by an URL pointing to the real course so you can call
+it through the WWW e.g.:
+
+ http://ilias.freeit.de/goto.php?target=pg_26_43&client_id=ecs2
+
+Now it's possible for each LMS to communicate the released courses by the
+resources provided from the ECS to an explicit LMS (point to point) or to a
+community of LMSs (point to multipoint).
+
+Because of the uniform application interface -- there are only GET,
+PUT, DELETE and POST operations -- receiving participants can fetch
+messages through a GET on the resource URL or sending messages
+by a POST on the resource URL (with some additional query parameters
+or header variables to point to the appropriate receivers).
+
+To illustrate this we use the simple ECC application +curl+ to
+send a message from one participant to another:
+
+....
+curl -i -H 'X-EcsAuthId: pid01' \
+ -H 'X-EcsReceiverMemberships: mid02' \
+ -H 'Content-Type: application/json' \
+ -X POST \
+ -d '{
+ "name": "Mathematics II",
+ "url" : "http://ilias...?target=pg_26_43&client_id=ecs2",
+ ...
+ }' \
+ http://ecs.freeit.de/campusconnect/courselinks
+....
+
+In order to receive a message (in fifo mode) the receiving
+participant may call:
+
+....
+curl -i -H 'X-EcsAuthId: pid02' \
+ -H 'Accept: text/plain; application/json' \
+ -X GET \
+ http://ecs.freeit.de/campusconnect/courselinks/fifo
+....
+
+Of course, there are several ways to operate on a resource.
+//////////////////////////////////////////////////
+For details on using the resources located on an ECS and the different
+parameters (http headers, query strings) plea e see XXX for details.
+//////////////////////////////////////////////////