Skip Navigation Links
Home
Online Player Beta
Official Project Report
Official Project Blog
My PlayGroundExpand My PlayGround


Online Digital Talking Book Technology with Web and Mobile Clients


A Project Report Presented to
The Faculty of the College of Engineering San Jose State University
In Partial Fulfillment Of the Requirements for the Degree
Master of Science in Software Engineering


By Tanakom Talawat
December 2007







TOC

Chapter 2. Project Architecture

Introduction

In this architectural diagram, the process is started at blind libraries by uploading Digital Talking Books (DTBs) to a placeholder in the prepared storage servers. The DTB up-loader application uses the FTP protocol for transferring all related DTB files to the servers and it also stores the book information in the database server. In the meantime, the web server which hosts the DTB homepage is responding all requests from the user including DTB browsing and DTB searching functions. Once a user selects the preferred book, the web server will redirect that user to the Digital Talking Book web-player, an AJAX web application integrated with the RIA (Rich Internet Application). With this DTB web-player, users can listen to contents of the selected Digital Talking Book from the beginning to the end. However, they can interrupt the reading process by pressing a short-cut key on their keyboard. Since DTBs in the DAISY standard were organized contents like the paperback format, it can beneficially accommodate the user with the five major functions that user can interrupt the reading process [1]. The five functions including phrase-skipping, page-skipping, chapter-skipping, full-text searching, and bookmarking. All of these functions will be described in detail again in the Chapter 4, Project Design.



Figure 1: The project architecture

Figure 1: The project architecture


Architecture Subsystems

The architecture subsystem topic will be separated to three parts including the project component stack, the big-picture class diagram, and the screenshots. Since the major tasks of this project are in the DTB web-player, the most design will be contributed to this player.



The project component stack

This component stack will demonstrate what technologies are used in this project and how can they work together to meet the requirements. Firstly, after getting a user connection from the DTB homepage, the ASP.NET page with C# code-behind model will be fulfilled with the content of the selected book using ASP.NET AJAX controls. Then, the Rich Internet Application (Microsoft Silverlight version 2.0) which is retrieving the audio content of the same book will start reading the book. During the reading time, if the user presses a keyboard button, JavaScript that is running at the user side will translate the button key-code to the function name and call the binding function in Reader Engine through the Rich Internet Application to interrupt the current reading and redirect to another position. However, if the user does not make any interruption, the system will be automatically continued reading by calling the Reader Engine when it finished reading in each paragraph until it goes to the end of the book. The relationship of classes in the Reader Engine will be described in the Reader Engine class diagram.



Figure 2: The project component stack

Figure 2: The project component stack


The Reader Engine and its classes will be compiled as a Dynamic Link Library (DLL file.) When a user open the player, code-behind of ASP.NET player will create instance using this Reader engine for reading a specific Digital Talking Book. The requests and responds between instance and code-behind of ASP.NET player will be continue until the reader reaches the last paragraph or when the user closes the book. In addition, all special interrupts from JavaScripts and AJAX controls also use the same connection to communicate to the Reader Engine.



The Reader Engine class diagram

The Reader Engine consists of the five major classes. Each class will handle its own responsibilities which may be linked to other classes for retrieving some information. There is only one super-class which is the XmlReader class. This class will be derived its fields and methods to the three sub-classes which include NcxReader, XhtmlReader, and SmilReader. These three classes were defined as sub-classes of the XML Reader because NCX, XHTML and SMIL are the W3C Recommended XML markup languages that were specified in the DAISY/NISO standard specification [1]. However, all XML-related classes will be handled by the BookReader class which is the main interface of the Reader Engine to other components. This BookReader class will be automatically created an instance every time that the web-player was initialed for maintaining the all contents.



Figure 3: The Reader Engine class diagram

Figure 3: The Reader Engine class diagram

TOC




From this point, threr are some advertisements from Google.




COPYRIGHT © 2008 DAISYNOW.NET ALL RIGHTS REVERSED.
PLEASE READ OUR PRIVACY POLICY FOR BETTER UNDERSTANDING.