Upload
mcraken
View
298
Download
3
Tags:
Embed Size (px)
Citation preview
Prepared By Sherief Shawky For Islamonline.net 1
Architecture Proposition For Multimedia Project
BySherief Shawky
Prepared By Sherief Shawky For Islamonline.net 2
Topics Architecture Framework.
System Decomposition.
Top Level Design Architecture.
Top Level Layered Architecture.
Architectural Interaction Views (Examples).
Prepared By Sherief Shawky For Islamonline.net 3
Architecture Framework
Architecture framework used is a mix between:
Process ProcessQueue
• N-tier architecture.• Messaging architecture
Prepared By Sherief Shawky For Islamonline.net 4
Main Subsystems
Prepared By Sherief Shawky For Islamonline.net 5
CMSGoal Of
Decomposition
Modifiability
Interoperability
Security
Component Characteristics
CMS Interface Server
• Provides remote interface.
• Uses CMS APIs.
• Provides a model that generalizes and hides CMS functionality.
CMS Interface Client
Uses the remote interface of CMS interface server.
Components
Prepared By Sherief Shawky For Islamonline.net 6
Performance
Media StreamingGoal Of
Decomposition
Modifiability
Scalability
ComponentsComponent Characteristics
Media Streaming Component
• COTS.
• Streams images, audio and video.
• Maps every resource into a URL.
• Should not have any dependencies on other components.
• Pulls new media files from temporary storage.
Prepared By Sherief Shawky For Islamonline.net 7
Multimedia Application
Goal Of Decomposition
Modifiability
Performance
Usability
ComponentsComponent Characteristics
Content • Works as a model (MVC) .
• Hides CMS remote interface.
• Provides Object –Oriented model for CMS content.
• Handles Content retrieval and reporting.
• Has a dependency with the streaming subsystem.
Control • Works as controller (MVC).
• Provides application services for client tier.
• Has dependency with Content and File Upload.
Component CharacteristicsFile Upload • COTS.
•Uses HTTP or TCP.
• Writes files to temporary secondary storage.
• Should not have any dependencies on other components.
Java Script Framework
• Runs on client machine as a viewer (MVC).
• Connects asynchronously to service provided by the applications.
• Handles all UI manipulation operations.
Prepared By Sherief Shawky For Islamonline.net 8
Third-Party Libraries
Goal Of Use
Testability
Composability
Loose Coupling
Library PurposeSpring Framework
• Automatic instantiation of objects (Factory).
• Hides details of components’ implementation.
• Paves the way for zero deployment.
AspectJ • Better error handling and reporting techniques.
• Can be used to separate between running the system in normal and debugging modes.
JMS (MOM) Can be used for messaging purposes between components running in different environments to leverage loose coupling.
LibrariesLibrary Purpose
CORBA • An implementation of CORBA could be used to achieve remote invocation capabilities.
• CORBA provides better interoperability.
• Replacements: EJB, RMI and any web service implementation.
Prepared By Sherief Shawky For Islamonline.net 9
Top Level Design Architecture
Prepared By Sherief Shawky For Islamonline.net
Web
10
CMS APIs
RemoteFatwire CMSMultimedia
Streaming
Web
Multimedia Application
APIs
APIs
APIs
Topi
c
CMS
Noti
ficati
ons
WW
Oth
er
Prepared By Sherief Shawky For Islamonline.net 11
Top Level Layered Architecture
Prepared By Sherief Shawky For Islamonline.net 12
Prepared By Sherief Shawky For Islamonline.net 13
Architectural Interaction Views(Examples)
Prepared By Sherief Shawky For Islamonline.net 14
CMSMedia
Streaming
ContentContent
ControlControl
File UploadFile Upload
----------------------------------------
----------------------------------------
Web Page
LoadAsynch Request
XML JSON
Pass Request
Get File
DataDataData
Dispatch Thread
TempMedia
Storage
Create
Content
Pull File
Save File
Crea
te A
sset
Upload Media File
Prepared By Sherief Shawky For Islamonline.net 15
CMSMedia
Streaming
ControlControl
----------------------------------------
----------------------------------------
Web Page
ContentContent DB
Topi
cMSGMSG
Approval
MSGMSG MSGMSG
Update Status
LoadAsynch Request
XML JSON
Load Content
Information
Return Info