Photo Slidr Technical Documentation



Application Layer

Movie Photo Slidr is an N-Tier Application, Application separates into 5 tiers that is: Presentation, Business Façade, Globals, Third Party and Movie Libs. Dependencies diagram for each tier is like below:



Presentation tier is an ASP.Net web page. It is use Wizard Control to take any step for creating a movie, gathering image information from image source and set up a movie option. All information then packed into a Class named Movie Option. This class will send to Business Façade (Web Service) that will process the movie.

Notice that on this tier, application only gathers images information and movie options. There is no process to create movie or retrieving images.

Business Façade

On presentation tier after user set all movie information and starting to precede movie creation, page will redirect to progressPageURL, and current thread will terminated. That’s why a Live Service is needed. If creating movie process attached on the page, that process will terminated when browser leave current page.

Business façade is an ASP.Net Web Service. Service receives information from Presentation Tier that packed on Movie Option Class. And create process by instantiate appropriate class on the Movie Libs library. There are no authentication needed to instantiate or execute this service.

Global Tier

Global tier used to managing exception for all tiers. All occurring exceptions saved on single SOAP file that can found on appropriate tiers directory (AppDomain.CurrentDomain.BaseDirectory).

Third Party Libs

Adalah kumpulan library yang dibuat oleh perusahaan lain. Disini digunakan 2 library yang diambil dari third party yatiu FlickrNet dan DireshowLib.Net

Movie Libs

Movie libs separate into some libraries, depend on its functionality that is: Façade Lib, Image Lib, WMV Lib, MPEG2 Lib.

  • Façade Lib

Façade lib used to encapsulate all important method on movie libs tier. That makes object sharing between tiers simpler rather then reference to all libraries. Façade lib used Façade Pattern that aim to make simple dependencies between libraries, with this pattern other tier that access functionalities on movie libs only need reference to façade lib.

  • Data Access Layer

Data access layer is a module that has functionalities to read and write data into database.  This module has some functions that execute a stored procedure on the database.

-   Writing movie information

-   Make a unique movie name

  • Component Layer

Component layer provide functionalities to retrieve images from image source (Flickr and Webjay) and supply functionalities to validate the availability user input (group, tags, play list, username).

  • Image Lib

Image libs provide image processing module used by WMV lib. It has some function to process images such as resizing image, put subtitle and add 3D-style on image edge.

  • WMV Lib

WMV lib used to retrieve images from image source, resize it, put subtitle, put 3D-style then compress it to WMV video. This module created using Visual C++ and use Windows Media Format SDK 9.0

  • MPEG2Lib

MPEG2 Lib adalah library yang digunakan untuk melakukan transcoding dari WMV ke MPEG2. library ini menggunakan class wrapper dari directshow (directshowLib). Adapun skema filter graphnya adalah sebagai berikut :

System Requirement

For Development

  • Windows XP professional, Windows Server 2000 or newer version
  • IIS installed
  • Microsoft Windows Media Format SDK 9.0
  • MPEG-2 Encoder Filter Graph supported by Direct show
  • Visual Studio 2005 (Visual C++ and Visual C# installed)
  • Web server supported by .Net framework
  • Microsoft SQL Server 2005 Express Edition

For end user

  • Windows XP professional, Windows server 2000 or newer version
  • IIS installed
  • Windows media format SDK 9.0 redistributable
  • C runtime library 8.0
  • .Net Framework 2.0
  • Microsoft SQL Server 2005 Express Edition
  • MPEG-2 Encoder Filter graph used on development
  • Web server supported by .Net framework


Go to reference page (created using NDoc)