musician web-service using ruby-on-rails, soap ... - Rivier University
musician web-service using ruby-on-rails, soap ... - Rivier University
musician web-service using ruby-on-rails, soap ... - Rivier University
Create successful ePaper yourself
Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.
MUSICIAN WEB SERVICE<br />
2 Functi<strong>on</strong>al Specificati<strong>on</strong><br />
Level 1 Functi<strong>on</strong>ality – This Project<br />
I. Calendar: Additi<strong>on</strong>s and changes to the calendar updates all necessary modules for the<br />
<str<strong>on</strong>g>web</str<strong>on</strong>g>site and schedule sending out automated email updates to fans.<br />
II. Mail: Standard messages sent and received between individuals and within groups.<br />
III. Management of multiple <str<strong>on</strong>g>web</str<strong>on</strong>g>sites <strong>on</strong> different physical servers.<br />
Level 2 Functi<strong>on</strong>ality<br />
IV. Multiple Artist Management: Manage multiple artists from a desktop client that c<strong>on</strong>nects to a<br />
remote server.<br />
V. C<strong>on</strong>tacts: The standard run-of-the-mill address book.<br />
VI. Style & Design Module: A basic design module that accepts any <str<strong>on</strong>g>web</str<strong>on</strong>g>site design.<br />
VII. Agent and Sales Staff: Additi<strong>on</strong>al functi<strong>on</strong>ality requests made by management.<br />
VIII. Forum: a forum that allows text and audio.<br />
IX. Audio streaming.<br />
X. Printing and sending flyers<br />
Future Versi<strong>on</strong>s<br />
Stateless Email applicati<strong>on</strong> data transfer.<br />
Mobile ph<strong>on</strong>e / PDA.<br />
Messages sent from ph<strong>on</strong>e are posted <strong>on</strong> the <str<strong>on</strong>g>web</str<strong>on</strong>g>site (text and voice).<br />
2.1 Case Study<br />
In <strong>on</strong>e of my previous bands, I was in charge of handling all communicati<strong>on</strong>s via the <str<strong>on</strong>g>web</str<strong>on</strong>g>, ph<strong>on</strong>e, email,<br />
and standard mail. It was actually quite time-c<strong>on</strong>suming. I had a program to make updates to the<br />
<str<strong>on</strong>g>web</str<strong>on</strong>g>site, a program to transfer the data to the <str<strong>on</strong>g>web</str<strong>on</strong>g>site, and a separate email client set up to send out<br />
mailings to the fans. I had to manually add people to the email list. Generally, people would sign up at<br />
gigs, or just visit our <str<strong>on</strong>g>web</str<strong>on</strong>g>site and send an email to us. I used another program to design and type up<br />
flyers. I needed clip art to make the site and flyers less bland. It was quite tedious.<br />
2.2 Required Functi<strong>on</strong>ality<br />
In additi<strong>on</strong> to what is specified in the functi<strong>on</strong>al spec, there are major security requirements. The<br />
majority of the time spent in coding this applicati<strong>on</strong> was creating a secure, sessi<strong>on</strong> based login manager.<br />
I need to add some state to compensate for the stateless HTTP protocol. A sessi<strong>on</strong> manager was<br />
designed that handles the task without putting undue load <strong>on</strong> the database and server. Once a pers<strong>on</strong> is<br />
authenticated, then all calls to the <str<strong>on</strong>g>service</str<strong>on</strong>g> pass through the sessi<strong>on</strong> manager. The sessi<strong>on</strong> ID is a unique<br />
random key that is stored in the database and deleted up<strong>on</strong> closure of the sessi<strong>on</strong>. No cookies are used.<br />
The sessi<strong>on</strong> is validated <strong>on</strong> every call to the <str<strong>on</strong>g>service</str<strong>on</strong>g> to c<strong>on</strong>firm that the user has access to that data. Only<br />
Copyright © 2006 by John A. Di<strong>on</strong>. Published by <strong>Rivier</strong> College, with permissi<strong>on</strong>. 3<br />
ISSN 1559-9388 (<strong>on</strong>line versi<strong>on</strong>), ISSN 1559-9396 (CD-ROM versi<strong>on</strong>).