|
TOC
As described in the previous chapter, Project Architecture, this project was
made of several technologies integrated together. From the client to the server,
the technologies used in this project are totally different. This chapter will
describe in detail about each technology and how it work with the other
technologies in the project by separating into three layers including
Client-Tier, Middle-Tier, and Server-Tier.
The client-tier technologies are the group of components that running at the
user side. Thanks to the fact that this program is the web-based application,
clients have no need to install any client software. However, because the client
side has taken advantage of a Rich Internet Application (RIA) called Silverlight
version 2.0 to access media on demand, it needs to setup a plug-in in order to
make the Silverlight work properly. It is the one time setup. All supported
web-browser can acknowledge this plug-in setup at the same time. Therefore,
users will not need to setup this plug-in for other web-browsers they use in
that computer again.
All of the client-tier components will be distributed to the clients by
downloading of web-browsers from the web-server. The some components like HTML,
AJAX, JavaScript and CSS will be automatically run on the web-browser. However,
with the latest technology of RIA, both class and interface of RIA are also
saved in the folder at the client side as DLL called “ClientBin”.
There are six web technologies used in the client tier including HTML (Hypertext
Markup language), DHTML (Dynamic HTML), JavaScript, AJAX (Asynchronous
JavaScript and XML), RIA (Rich Internet Applications), and the Microsoft media
streaming technology.
The HTML, the basic web language, is used in the Client-Tier as the major
integrator to fasten other technology together. On top of the HTML page, this
project has used JavaScript language for the communication between technologies
like a computer bus. As my research, JavaScript is the most effective language
that can be used to connect other web client technologies together.
Since it has the web-client framework which is combined between HTML and
JavaScript, the next technology that has been integrated is the AJAX. This
project uses the ASP.NET AJAX to be the main interface for displaying the
Content Tab, the Bookmark Tab, and the Short-note tab. The significant reason
that I selected AJAX technology is that the display page will not be flash when
the user changes a chapter. This is the multimedia web application which has a
lot of components embedded in the same page. If there is a page refresh every
time that a user changes the chapter, the server bandwidth will be huge due to
redundant loading of the same components.
The most important media of this project
is the voice. The voice files in a Digital Talking Book were saved in the MP3
format and the detail of each phrase was stored in the SMIL (Synchronized
Multimedia Integration Language) file which is a type of XML. Consequently, the
main player that we can use in this project will only be the web media player
that can parse XML files. From my researching, the Microsoft Silverlight version
2.0, a Rich Internet Application, has fulfilled these requirements. Thus, I
selected this RIA to be the main player in the project.
Highlighting color is the other feature in the application that can help the
people who have an insignificant vision problem (not include the blind) follow
up the current reading voice. The Dynamic HTML which has internally integrated
the DTB.CSS file makes this feature possible. Every time that the RIA performs
reading at a new phrase, it will send notice to JavaScript (which is the
internal bus). Then, JavaScript will directly look for the current reading
position in the HTML by using an ID argument. When it has found, it will force
the yellow Style Sheet to the particular ID in the HTML. Actually, in the
beginning, the HTML is the XML content file that is transformed by the CSS
(Cascading Style Sheets) mentioned above.
Although most of the technologies are running at the Client-Tier, it also still
needs the Middle-Tier to serve the content and provide some DLLs that required
in the Client-Tier. The components that are combined at the Middle-Tier
including Web server, Text-to-Speech and Audio Compression.
In order to be compatible with the application developed by using ASP.NET AJAX
Extension Interface and Silverlight RIA at the Client-Tier, web server
technology has to be the product in the same solution which is Microsoft
Internet Information Services (IIS) and Microsoft .NET framework 2.0. Moreover,
the web server has to be integrated to the text-to-speech application and audio
compression software. The purpose of this integration is to convert a user’s
Short-note to the media file. Unfortunately, the media output from the
text-to-speech software is WAV file format which cannot be streaming back to the
client. Therefore, I have put the LAME, the open-source audio compression
software, to the system for converting media type from WAV file to MP3 file.
Finally the MP3 file will be the output that is saved to disk instead of the
text short-note.
As I have introduced about the components of Digital Talking Book (DTB)
technology which store at the Data-Tier one by one, this heading will be the
complete list of component inside DTB. The DTB that supported in this project is
called DAISY (Digital Accessible Information SYstem) which is the most used
international standard of DTB [1]. It was developed by National Information
Standard Organization (NISO). There are two main technologies used in this
Digital Talking Book standard including XML, and Audio compression. In the XML
part, there are four file types related the standard including:
· NCX (Navigation Control for XML applications)
file uses for storing the chapter content in a Digital Talking Book.
· OPF (Open Packaging Format) file uses for storing
all the related files in a Digital Talking Book
· SMIL (Synchronized Multimedia Integrated
Language) uses for storing the synchronized information of the Multimedia used
in a Digital Talking Book
· XML (Extensible Markup Language) uses for storing
the detail content of a Digital Talking Book
For the audio compression, in the specification, the audio file type can be
varied; it does not limited to only the MP3 format. Due to the fact that this
project is the online web-based application, the RIA really needs the specific
media type that is compatible to stream over Internet with the limited
bandwidth. With this reason, I have specified the media file type to be used in
this project only the MP3 format.
TOC
|