from Edmedia 2004: APEX
Download
Report
Transcript from Edmedia 2004: APEX
Building Distributed Educational
Applications using P2P
Tomasz Müldner* and Gregory Leighton
Jodrey School of Computer Science, Acadia University,
Wolfville, NS, Canada
* presenting
1
Edmedia, June 23, 2004
Contents
• Distributed computing
• Peer-to-Peer (P2P)
•JXTA P2P framework
• APEX
2
Edmedia, June 23, 2004
Distributed Applications
A distributed system:
data and functionality
are distributed
across multiple
machines
connected by a
network
3
Edmedia, June 23, 2004
Examples of Distributed
Educational Applications
• groupware or computer-supported
cooperative work (CSCW)
• electronic classrooms
• shared workspaces
• others
4
Edmedia, June 23, 2004
Distributed Applications:
Limitations
Problems:
• firewalls
• dynamic IP addresses
• network address
translation (NAT)
5
Edmedia, June 23, 2004
Goals and Requirements for
Distributed Educational Systems
Platform Independence:
users of heterogeneous systems must be able to
access the application:
– Corba
– Web Services and the underlying XML technology
– Java technology
Security:
an authentication and a permission system with
access control rules:
– authentication e.g. using digital signatures
– encryption e.g. using private or public key systems
– auditing
6
Edmedia, June 23, 2004
Goals and Requirements (2)
Customizability:
an application can be customized
Extensibility:
new tools can be added without affecting
the operation of existing tools.
7
Edmedia, June 23, 2004
Goals and Requirements (3)
Connectivity:
– work on course documents while
disconnected;
– synchronized upon the next reconnection
Identification:
– Availability of the identities of users who are
currently available (independent of her current
location)
8
Edmedia, June 23, 2004
Goals and Requirements (4)
Categorization:
two kinds of user’s roles:
- a single user
- a group
Collaboration:
– threaded discussions, messaging,
– collaborative viewing and editing of shared
documents
9
Edmedia, June 23, 2004
Goals and Requirements (5)
Discovery:
users can discover and join course groups:
– course group contains a set of services specified by
the instructor
– services are dynamically discovered when a user
joins a course group
Scalability:
the addition of new entities or services to the
network does not significantly hinder application
performance
10
Edmedia, June 23, 2004
Goals and Requirements (6)
Reliability:
the availability of the application must not
depend on the availability of any single
application instance;
Accessibility:
application entities must be able to
communicate with one another
11
Edmedia, June 23, 2004
P2P
• Each peer typically acts in both
the client and server roles
• A peer may initiate requests on
services hosted by other peers
• A peer can service incoming
requests on locally-hosted
services
12
Edmedia, June 23, 2004
Introduction to JXTA
• A set of protocols to establish an overlay
network on top of existing network protocols
such as TCP/IP and HTTP.
• The overlay network transparently connects
systems in a reliable and persistent manner
• The atomic entity in the JXTA network is the
peer:
a software program that uses the JXTA
protocols to interact with other peers.
13
Edmedia, June 23, 2004
APEX
An extendable architecture:
various components can be added to
provide the required functionality; e.g.:
– an instant messaging component
– other components may be added as required,
(e.g. components that support cooperation
and collaboration)
14
Edmedia, June 23, 2004
Authentication
• APEX performs authentication of each
peer as it joins the network via a lookup on
the institution’s registration records
• Each course section is modelled as a
separate JXTA peer group
15
Edmedia, June 23, 2004
User Roles
•
•
•
•
Student peers
Teaching assistants
Instructors
Administrators
16
Edmedia, June 23, 2004
Architecture and Functionality
17
Edmedia, June 23, 2004
Example of an Instant
Messaging Component IM
Each member of the course peer group runs an instance of IM:
– maintaining a collection of ongoing conversation sessions
involving the local user,
– associating incoming chat messages with the appropriate
conversation session
– forwarding outgoing chat messages to the appropriate
conversation partner
– displaying an ongoing history of each ongoing
conversation session to the end user.
18
Edmedia, June 23, 2004
Conclusions
• We have designed and partially
implemented APEX, an educational
application, based on JXTA.
• All implementation requirements have
been satisfied.
• APEX forms a base
19
Edmedia, June 23, 2004
Future Extensions
Future extensions to APEX :
– electronic submission and grading of course
assignments
– The addition of a component for audio/video
conferencing
– A dynamic course syllabus could be provided
to specify assignment due dates and
scheduling of midterms and final exams.
20
Edmedia, June 23, 2004