Flex Based
Flex Based
ABSTRACT
1
1. ABSTRACT
Flex plays a major role in providing the programming model, tooling & data connectivity
that allows programmers to build rich expressive applications. It is an innovative
programming environment for course creation. It provides cost effective training &
motivates the students to learn. It produces animations, interactive applications,
storytelling to share on the web, video and audio tutorials.
The term multimedia describes a number of diverse technologies that allow visual and
audio media to be taken and combined in new ways for the purpose of communicating.
Applications including entertainment & education.
Flex based multimedia system is an online instruction & testing program in
which the students can search or browse for streaming audio, video, & other multimedia
based tutorials. It refers to a class of content delivery formats, which includes 2D, 3D
animations, Digital Imaging, & Microsoft power point etc.
2
CHAPTER 2
INTRODUCTION
3
2.
Introduction
The term multimedia describes a number of diverse technologies that allow visual and
audio media to be taken and combined in new ways for the purpose of communicating.
Applications including entertainment & education.
Flex based multimedia system is an online instruction & testing program in which the
students can search or browse for streaming audio, video, & other multimedia based
tutorials. It refers to a class of content delivery formats, which includes 2D, 3D animations,
Digital Imaging, & Microsoft power point etc.
Flex based Multi Media system for Instruction and Testing deals with the creation of web
forms, using which all the students can find a relevant and important information under a
single application. The only irreplaceable capital the web page can provide is the
knowledge and ability of its faculty. The productivity of that capital depends on how
effectively students share their competence by answering the quiz provided. The
application will be utilized by updating, searching, viewing, learning, rating and helps the
students with sophisticated training.
4
2.2 PURPOSE
Flex based multimedia system helps us to motivate the students to learn effectively and
efficiently.
It helps us to create various audio, video tutorials, on various topics using 2D, 3D
animation which helps the students to learn in better way.
2.2.1 SCOPE
5
2.3 APPLICATION, OBJECTIVE AND BENEFITS
• APPLICATION
Students located at remote areas will be able to access the tutorials and can enhance
their skills at their own time.
• OBJECTIVES
• BENEFITS
6
CHAPTER 3
SYSTEM ANALYSIS
7
3.1 EXISTING SYSTEM
Generally in order to learn a particular language or a complete course a student has to get
admission into an institution or any tutorials. In this process, students will not have much
choice and will be suffering at the timings or from transport facilities etc., there is no
proper scope of interaction between Students and Faculty. As the faculty is always busy
with his scheduled classes and will not have any time to clarify Student doubts. This
process is quiet time consuming and hectic mainly for the students who come from long
distances.
• Present system involves more human power. As the students who apply for the
Courses are not small in number, much coordination is required in order to
organize the classes.
• The students coming from long distances cannot afford to stay for long time near
the institutions.
.
8
3.2 PROPOSED SYSTEM
The main aim of the project is to provide students within information for learning a
course with fewer expenses; the project deals with the creation of Web pages which stores
several tutorials, quizzes, feedback forms. This project avoids course duplication,
provides information from trained faculty. The proposed system helps the students to stay
in touch with the latest courses and get their technical as well as knowledge updated. The
tutorials present in the web pages will be of immense use for the students undergoing the
training.
3.2.1 Major Functions of the Proposed System
• Authentication and Authorization
• Registration of Faculty
• Uploading/ Changing / Deleting Tutorials
• Registration Of Students
• View the Tutorials
• Search the Tutorials
• Online Quiz
• Rate the Tutorials
3.2.2 Constraints
Following will limit the design and implementation options:-
9
(d) User need to use SQL server
(e) Hardware limitations
MODULE 1
Authentication & Verification.
In this module students will create their account for registering any online courses and once
registration process is completed, he will be authenticated to view his activity.
MODULE 2
Accessing the WebPages.
In this module user can access ASP.Net web pages created with the help of flex
programming & help in integrating tutorials, presentations, digital stories, etc.
MODULE 3
View data & Information Module.
In this module students can search for the desired tutorials by units, channels & videos. For
example, if students request details for 3D Animation in search will have find 3D
Animation related topics which they are interested. But the students will have no privileges
to download the topic.
If students select videotape the web services is invoked & that particular web services will
fetch the data.
10
Chapter 4
Feasibility Analysis
11
4. Feasibility Analysis
The feasibility analysis is designed to determine whether or not, given the project
environment, a project will be successful (in virtually any interpretation of that word). In
other words, feasibility analysis is the measure of how beneficial or practical the
development of information system will be to an organization. A feasibility analysis
should examine three main areas:
· Ease of operation.
· Financial overview.
· Technical requirements.
4.1 Operational Feasibility
It refers to the feasibility of the product to be operational. In this the operation scope of
the system is checked. The operational scope means, how well the system can perform
the operations that are assigned to it, how can the users use the system in an efficient
manner and how easily can the system be used by different users .It is observed that the
proposed system is very user friendly and has all the features mentioned above.
It deals with establishing the cost-effectiveness of the proposed system i.e. if the benefits
do not outweigh the costs then it is not worth going ahead. The proposed system does not
require any special software technologies to be developed whose cost is huge. The
technologies and the hardware used in the development are the most popular ones, which
can be acquired by anyone, and moreover they promise portability, security, reliability
and easy maintainability.
12
4.3 Technical Requirements
The technologies and the standard used for the development of the project are as follows:
About Flex
Flex encompasses both a standards-based programming model that will be familiar to
professional developers and a set of products designed to enable efficient delivery of
high-performance RIAs. RIAs combine the responsiveness and richness of desktop
software with the broad reach of web applications to deliver a more effective user
experience. Flex applications take advantage of Adobe® Flash® Player 9, enabling
developers to seamlessly extend the capabilities of the browser and deliver richer, more
responsive client-side applications as well as a more robust integration with server-side
functionality and service-oriented architectures.
13
• Adobe® Flex™ Charting 2
.
About Flash Player 9
While Flex applications run in a browser, they take advantage of the Flash Player 9
runtime environment for executing client-side logic, rendering graphics, and playing
animation, audio, or video. Flash Player 9 supports a new higher-performance version of
Action Script (Action Script 3.0) that works in conjunction with the expressiveness
innovations in Flash Player 8. Flash Player provides the platform for interface
development so that both client and presentation-tier logic executes on the client
computer. Because Flash Player runs consistently across all major operating systems and
browsers, we do not have to program where applications for a specific browser or
platform.
Additionally, Flex applications running in Flash Player 9 can interact with JavaScript
logic or HTML content that is displayed in the browser. As a result, we can incorporate
Flex into an existing web site or application, including working with other browser-based
frameworks such as Ajax widgets or JavaScript libraries.
14
Flex applications consist of MXML and Action Script source files:
• MXML is an XML language that we use to lay out the user interface for Flex
Applications. MXML provides tags that correspond to classes in the Flex
framework and simplify usage for visual elements such as containers, navigators,
and UI controls. We also use MXML to declaratively define no visual aspects of
an application, such as access to network-based resources (for example, XML
feeds and web services), server-based resources (such as the Flex Data
Management Service feature of Flex Data Services), and data bindings between
user-interface components and the data we retrieve. Flex SDK provides basic
network access to web-based data, including remote access to web application
servers, such as ColdFusion and PHP; Flex Data Services provides additional
protocols and services.
• Action Script is the programming language for Flash Player. Action Script (which
is based on ECMA Script and is similar to JavaScript) provides flow control and
object manipulation features that are not available in MXML.
15
About Flex Builder 2
Flex Builder is an integrated development environment (IDE) for developing applications
with Flex SDK, Flex Data Services, and the Flash Player. The Flex Builder IDE provides
tools that help we develop, design, and debug Flex applications, including an integrated
incremental compiler and a step-through debugger. Because it's tightly integrated with the
Flex 2 SDK, the Flex application model, and the Flex programming languages, Flex
Builder can improve the productivity of all members of where development team. Flex
Builder is built on the Eclipse workbench, an open source platform for building
development tools. As a result, Flex Builder can be installed as a stand-alone product or
as a set of plug-ins to an existing Eclipse installation, and can take advantage of hundreds
of commercial and open source add-ons for the Eclipse workbench. Flex Builder provides
a set of code editors for working with MXML, Action Script, and Cascading Style Sheets
(CSS) as well as source code navigation tools to help we manage where code more easily,
and a debugger to help we troubleshoot where applications. For user interface design,
Flex Builder supplies a visual design view, which allows developers or designers to lay
out Flex components, customize their appearance, and design user interactivity.
The following example shows the Flex Builder interface in design view:
About Flex 2.1
The following example shows the Flex Builder interface in code view:
16
About Flex Data Services 2
We build on the functionality of Flex 2 SDK by adding Flex Data Services. Flex Data
Services adds enterprise messaging support and a greatly enhanced data services
architecture to the Flex 2 SDK. We deploy Flex Data Services as a standard web
application on where J2EE application server or servlet container. Flex Data Services
simplifies the programming model
For interacting with data on the server and includes the following features:
These features let we create and deploy enterprise-class applications that take full
advantage of the rich presentation layer that the Flex 2 SDK provides.
17
18
19
About Flex Charting 2
The ability to display data in a chart or graph can make data interpretation much easier
for application users. Rather than present a simple table of numeric data, we can display a
bar, pie, line, or other type of chart using colours, captions, and a two-dimensional
representation of where data.
Flex Charting components extend the Flex framework to add support for many of the
most common chart types, including bar, pie, line, plot, and bubble. Charting components
are dynamically rendered on the client computer, making it easy to add drill-down,
rollover, and other interactivity that enhance the user experience. We can also use colours
and captions to make where charts more readable.
A simple chart shows a single data series, where a series is a group of related data points.
For example, a data series might be monthly sales revenues, or daily occupancy rates for
a hotel.
The following chart shows a single data series that corresponds to sales revenues for six
months:
20
Enhanced user experience Flex lets we build applications that provide an engaging user
experience. An engaging user experience ensures that customers are drawn into where
application, that they understand how to use it and that they can more quickly complete a
task or find the information they are seeking.
A complete environment Flex is a powerful application development solution for creating
and delivering RIAs within the enterprise and across the web. It provides a modern,
standards based language and programming model that supports common design patterns
and includes a highly productive IDE.
Common deployment environment Flex applications execute on Flash Player 9, which is
Platform independent, so customers do not need to install custom client software. Also,
Flash Player runs consistently in all browsers and platforms, so we do not have to worry
about inconsistent behaviour in different client environments.
Enterprise-class features we can use Flex Data Services to transparently synchronize data
and support real-time data push. Messaging capabilities enable more robust applications
that continue to function after network connectivity is lost and allow multiple people in
different locations to browse or chat in the same application. These features, plus the
ability to integrate audio and video, open the door to new ways of interacting with
customers, partners, and employees.
Eliminate page loads Applications running in Flash Player behave like desktop
Applications, instead of a series of linked pages. Flash Player manages the client
interface as a single, uninterrupted flow and does not require a page load from the server
when the client moves from one section of the application to another.
Standards-based architecture Flex, Action Script, and MXML are designed to existing
Standards. MXML is XML compliant, implements styles based on the Cascading Style
Sheets, level 1(CSS1) specification, and implements an event model based on a subset of
the W3C DOM Level 3 Events specification. Action Script is an ECMA Script-based
language that provides support for object-oriented development. The Flex server executes
on standard J2EE platforms or servlet containers.
Cross-browser compatibility Web applications should run the same on all browsers and
Platforms. By standardizing on Flash Player as the client environment, we are guaranteed
a consistent user experience on all platforms and browsers.
21
Flex application characteristics
Many types of applications are appropriate for development in Flex. Some of the
requirements of these applications, and how Flex supports these requirements, include the
following:
Client data collecting user input is one of the most common uses for web applications.
Flex supports forms, and all common form elements, to let we create rich and dynamic
user experiences. Flex forms include hooks to the Flex data modelling and data
Validation, mechanism and the ability to identify required input fields.
Configuration one of the most common applications using Flex lets users perform
product selection and configuration. The user works through a process to configure the
features of a product, views or inspects the configuration, and then proceeds through the
steps required to complete a purchase.
Client-side processing of user input, including filtering and data validation flex data
management, which includes data models, data valuators, data binding, and data services,
lets we separate data representation from the way that a user views it. Typically, this
design pattern is called Model-View-Controller (MVC). Flex also provides a powerful
way to validate data and pass data between user-interface controls and external data
sources with little or no server interaction.
22
Developer’s Guide.
Direct user feedback Complex tasks must provide feedback to users when the user makes
input errors or enters invalid information. Flex formatters and validators help ensure the
quality of input data.
Multistep processes many applications present the user with a process that includes a
sequence of steps or decisions that require user input. For example, completing a
registration form or checkout form often requires multiple steps to complete.
Ideally, we want where users to be able to navigate through multiple steps on a single
page without losing the context of where they are in the process, and without losing any
of the previous information that they have already entered. Flex supports the
development of these applications by capturing state information, supporting browser
back and Forward buttons by using the History Manager.
Support for large data sets Enterprise data applications often handle large data sets that
Must be transmitted to the client from the server, or transmitted to the server from the
client.
These large data sets can overwhelm the bandwidth of where network, and lead to
sluggish application performance. Flex Data Management Services, a feature of Flex
Data Services, lets we break large data sets into smaller units so that no single client can
monopolize the network.
Real-time data push Applications often share data among multiple clients. For example,
an inventory management system must keep all clients synchronized on product
availability. One way to implement this type of system is to have the clients poll the
server at regular intervals to check for updates. However, this design uses unnecessary
network bandwidth and processing cycles when no updates are available. Instead, Flex
Data Services lets clients subscribe to data objects on the server. When the server updates
a data object, it then pushes those updates out to all subscribing clients.
Occasionally connected clients Remote clients may not be able to maintain a connection
to the server at all times. These clients are called occasionally connected clients. Flex
Data Services let client applications perform offline data manipulation, and then
automatically send updates to the server when the connection is restored.
23
4.3.2 DOT NET Technology
A Microsoft operating system platform that incorporates applications, a suite of tools and
services and a change in the infrastructure of the company's Web strategy.
There are four main principles of .NET from the perspective of the user:
(a) It erases the boundaries between applications and the Internet. Instead of
interacting with an application or a single Web site, .NET will connect the
user to an array of computers and services that will exchange and combine
objects and data.
(b) Software will be rented as a hosted service over the Internet instead of
purchased on a store shelf. Essentially, the Internet will be housing all
ware applications and data.
(c) Users will have access to their information on the Internet from any
device, anytime, anywhere.
(d) There will be new ways to interact with application data, such as speech
and handwriting recognition.
24
Features of DOTNET
Consistency
It can be achieved by using Master Page, Themes and using Cascaded Style Sheet feature
of ADO.NET. Features to achieve consistency are:
Master Page concept
Standard Layout
Common Header
Footer
Navigation
Personalization
This is done in regards with the Users taste. It may be in terms of
Colours
Font Size
Background Colours
Look & Feel
After gathering requirements from the user by making use of and using Themes, Skin and
Cascaded Style Sheet feature of ADO.NET we can achieve personalization.
Themes and skins
These are new feature of ASP.net. By this way you can customize your sites look and
feel. Like the master pages they also improve the maintainability of your site and avoid
unnecessary duplication of code for shared style.
A theme is a collection of property settings that allow you to define the look of pages and
controls, and then apply the look consistently across pages in a Web application, across
an entire Web application, or across all Web applications on a server.
A skin file has the file name extension .skin and contains property settings for individual
controls such as Button, Label, Textbox, or Calendar controls. Control skin settings are
like the control markup itself, but contain only the properties you want to set as part of
the theme.
25
Tools for Navigation
Every site requires tools for navigation. The List of Navigation tools available in .NET is
as follows:
Tree View These are structured links. User can know where they are currently located.
26
Breadcrumbs Renders tabs indicating parent and current web page.
The new Site Navigation features in ASP.NET 2.0 can make building navigation
structures across a web-site much easier.
At a high-level, the new Site Navigation features allow you to define (outside of code or
pages) the “site map” structure of how your site is laid out. Specifically, it allows you to
define the relationships between pages on the site – what is the “home” entry-point, what
are the sub-sections of it, and how individual pages fit within it. This information is
coached by ASP.NET, and you can then get access to this sitemap structure at runtime.
ASP.NET includes a basic built-in XML based Sitemap provider that allows you to
define this site structure within an XML file whose default name is “web. Sitemap” (note:
you can change the name if you want). For example, web.sitemap XML file can contain
several levels of hierarchy (a homepage root, then three sub-nodes, and under the
products node three additional sub-nodes).
Security
27
Database controls
Two group of controls works with data.
Data-bound Controls
These perform the task of taking information provided by Data Source Controls and
render it into HTML.
Componentization
Code for the various parts of the page can be handled independently.
• Code for the presentation layer can be kept in a separate file i.e. default.aspx file.
• Code for the execution is kept in a separate file i.e. default.aspx.cs file.
28
Web Services
Web Services are methods of making information available in a standardized way that
could be accessed by any developer’s application over the web. A web service on its own
• Is not an application
• Can’t be seen as web pages.
• Can’t be seen as an .exe files.
• They come as part of user interface.
• Helps in preventing code duplication & thus save time.
• They can be created & exposed to web for other applications to share it or one can
search for web service to add to his own application.
• Web services conform to the Simple Object Access Protocol SOAP and
Extensible Mark up Language XML
29
Deployment
• In the past series of steps were required to be carried out to register and configure
the site on the host machine.
• ASP .NET 2.0 has devised DOS XCOPY type of folder copying mechanism.
• This XCOPY deploys your site from the development machine to the deployment
host.
• All registration and machine level customizations occur automatically when the
first request hits the site.
• XCOPY/ FTP will suffice for simple applications – for more sophisticated
requirements it may well be preferable to create a Windows Installer based setup
package.
• There are many common installation tasks that are not possible via XCOPY, some
of which are
• creating IIS web sites or virtual directories
• However, if you do need any of these you have Microsoft Windows Installer at
your disposal
30
Summary of ASP .NET
ASP.NET is a programming framework built on the common language runtime that can
be used on a server to build powerful Web applications. ASP.NET offers several
important advantages over previous Web development models:
Enhanced Performance. ASP.NET is compiled common language runtime code
running on the server. Unlike its interpreted predecessors, ASP.NET can take advantage
of early binding, just-in-time compilation, native optimization, and caching services right
out of the box. This amounts to dramatically better performance before you ever write a
line of code.
World-Class Tool Support. The ASP.NET framework is complemented by a rich
toolbox and designer in the Visual Studio integrated development environment.
WYSIWYG editing, drag-and-drop server controls, and automatic deployment are just a
few of the features this powerful tool provides.
Power and Flexibility. Because ASP.NET is based on the common language runtime,
the power and flexibility of that entire platform is available to Web application
developers. The .NET Framework class library, Messaging, and Data Access solutions are
all seamlessly accessible from the Web. ASP.NET is also language-independent, so you
can choose the language that best applies to your application or partition your application
across many languages.
Simplicity. ASP.NET makes it easy to perform common tasks, from simple form
submission and client authentication to deployment and site configuration. For example,
the ASP.NET page framework allows you to build user interfaces that cleanly separate
application logic from presentation code and to handle events in a simple, Visual Basic -
like forms processing model. Additionally, the common language runtime simplifies
development, with managed code services such as automatic reference counting and
garbage collection.
Security. With built in Windows authentication and per-application configuration, you
can be assured that your applications are secure.
31
Language Independency.ASP.NET is language-independent, so you can choose
the language that best applies to your application or partition your application across
many languages.
ASP .NET 2.0 supports more than 20 different languages.
Irrespective of language the code is converted to Intermediate Language prior to
execution.
32
Database mirroring is a new high-availability feature in SQL Server 2005. It's similar to
server clustering in that failover is achieved by the use of a stand-by server; the difference
is that the failover is at the database level rather than the server level. The primary
database continuously sends transaction logs to the backup database on a separate SQL
Server instance. A third SQL Server instance is then used as a witness database to
monitor the interaction between the primary and the mirror databases.
2. Database snapshots
A database snapshot is essentially an instant read-only copy of a database, and it is a great
candidate for any type of reporting solution for your company. In addition to being a
great reporting tool, you can revert control from your primary database to your snapshot
database in the event of an error. The only data loss would be from the point of creation
of the database snapshot to the event of failure.
3. CLR integration
With SQL Server 2005, you now have the ability to create custom .NET objects with the
database engine. For example, stored procedures, triggers, and functions can now be
created using familiar .NET languages such as VB and C#. Exposing this functionality
gives you tools that you never had access to before such as regular expressions.
4. Service Broker
This feature gives you the ability to create asynchronous, message-based applications in
the database entirely through TSQL. The database engine guarantees message delivery,
message order consistency, and handles message grouping. In addition, Service Broker
gives you the ability to send messages between different SQL Server instances. Server
Broker is also used in several other features in SQL Server 2005. For example, you can
define Event Nonfictions in the database to send a message to a Queue in the database
when someone attempts to alter a table structure, of if there is a string of login failures.
5. DDL triggers
33
In previous articles, I outlined how you can use data definition language (DDL) triggers
in SQL Server 2005 to implement custom database and server auditing solutions for
Sarbanes-Oxley compliance (here are part one and part two of my SOX articles). DDL
triggers are defined at the server or database level and fire when DDL statements occur.
This gives you the ability to audit when new tables, stored procedures, or logins are
created.
6. Ranking functions
SQL Server 2005 provides you with the ability to rank result sets returned from the
database engine. This allows you to customize the manner in which result sets are
returned, such as creating customized paging functions for Web site data.
9. TRY...CATCH
34
In a previous article, I outlined how you can use the new TRY...CATCH constructs in
SQL Server 2005 to catch and handle deadlocks when they occur in the database. This
long-awaited feature simplifies error handling in the database.
11. Recoveries
A new faster recovery option improves availability of SQL Server databases.
Administrators can reconnect to a recovering database after the transaction log has been
rolled forward.
35
With SQL Server 2005 developers can develop Web services in the database tier, making
SQL Server a hypertext transfer protocol (HTTP) listener and providing a new type of
data access capability for Web services-centric applications.
16. T-SQL
T-SQL (Transact-SQL) is the primary means of programming and managing SQL Server.
It exposes keywords for the operations that can be performed on SQL Server, including
creating and altering database schemas, entering and editing data in the database as well
as monitoring and managing the server itself. Client applications, both which consume
data or manage the server, leverage SQL Server functionality by sending T-SQL queries
and statements which are then processed by the server and results (or errors) returned to
the client application. SQL Server allows it to be managed using T-SQL. For this it
exposes read only tables from which server statistics can be read. Management
functionality is exposed via system-defined stored procedures which can be invoked from
T-SQL queries to perform the management operation.
37
4.3.4 Adobe Flash Media Server
Adobe® Flash® Media Server offers a combination of streaming media and social
interactivity for building rich media applications. Flash Media Server offers instant start,
live video streams, and variable streaming rates based on the
User’s bandwidth.
There are three editions of Flash Media Server:
Flash Media Interactive Server The full-featured edition of the server.
Flash Media Development Server A development version of Flash Media Interactive
Server. Supports all the same features but limits the number of connections.
Flash Media Streaming Server Supports the live and void streaming services only. This
server edition does not support server-side scripting or stream recording.
Overview
Client-server architecture
Flash Media Server is a hub. Applications connect to the hub using Real-Time Messaging
Protocol and the server can send data to and receive data from many connected users. A
user can capture live video or audio using a webcam or microphones attached to a
computer running Adobe Flash Player and publish it to a server that streams it to
thousands of users worldwide. Users worldwide can participate in an online game, with
all moves synchronized for all users.
Users connect to the server through a network connection.
An application that runs on Flash Media Server has client-server architecture. The client
application is developed in Adobe Flash or Adobe Flex and runs in Flash Player, AIR, or
Flash Lite 3. It can capture and display audio and
Video and handle user interaction. The client must initiate the connection to the server.
Once connected, the client can communicate with the server and with other clients. More
specifically, the client connects to an instance of the application running on the server.
38
Several clients connecting to multiple applications (Sudoku and scrabble) and application
instances (room 2, room 1, and room 2) running on Flash Media Server
Streaming services
All editions of Flash Media Server 3 provide two streaming services, live (live video) and
void (video on demand).
These services are implemented as server-side components of Flash Media Server
applications. Sample clients for both services are installed with the server.
The live and void services are signed (approved) by Adobe. Flash Media Streaming
Server only supports signed services—it cannot run other applications. Flash Media
Interactive Server and Flash Media Development Server support signed services as well
as any other applications you create.
39
Developing media applications
Video applications for Adobe® Flash® Media Interactive Server can be video on demand
or live video applications.
Video on demand applications stream recorded video from the server, such as television
shows, commercials or user-created video stored on the server. An organization may have
a large archive of videos or be producing new
Videos regularly. The videos can be short clips (0–30 seconds), long clips (30 seconds to
5 minutes), or very long clips (5 minutes to hours long).
Live video applications stream live video from the server to users, or from one user to the
server and then on to other users. Live video is typically used for live events, such as
corporate meetings, education, sports events, and concerts,
Or delivered continually, for example, by a television or radio station. You can use Adobe
Flash Media Encoder, available from Adobe.com, to encode and stream live video.
Many streams can use one Net Connection object between client and server.
A. Flash Media Server B. Single stream of data C. Net Connection D. Flash Player, AIR,
or Flash Lite 3 client
The only parts of the URI that are required are the protocol and the application name.
Protocol:[//host][:port]/appname/[instanceName]
The protocol used to connect to Adobe Flash Media Server, which is the Adobe Real-
Time Messaging Protocol. Possible values are rtmp, rtmpe, rtmps, rtmpt, and rtmpte.
If the protocol is rtmp, the default port is 1935 and you don’t need to specify the port
number.
Recorded streams
Playing recorded streams
One of the most popular uses of Adobe Flash Media Server is to stream recorded audio
and video files that are stored on the server to many clients.
To play a recorded stream, pass a URI to NetStream.play () to locate the recorded file.
41
This feature enables you to get a thumbnail snapshot of a given video, including sound,
for display purposes.
Flash Player clients are permitted to access data from streams in the directories specified
by the Client.audioSampleAccess and Client.videoSampleAccess properties.
A. Client B. Server
42
Handling errors
43
About buffering streams
Buffering a video stream helps ensure that the video plays smoothly, without interruption.
Buffering manages fluctuations in bandwidth while a video is playing. These fluctuations
can occur due to changes in a network connection or server load, or to additional work
being done on the client computer.
To create the best experience for users, monitor the progress of a video and manage
buffering as the video
Downloads.
Developing live video applications
Adobe Flash Media Server clients can capture live audio and video from a microphone or
camera and share the live content with other clients. This feature allows you to capture
live events in real time and stream them to a large
Audience or create live audio and video conferences. You can use Flash Media Encoder
to capture and stream live video to Flash Media Server.
44
4.4 Hardware and Software Requirements
45
CHAPTER 5
SYSTEM DESIGN
46
5. System Design
5.1 Introduction
Systems design is the process or art of defining the architecture, components,
modules, interfaces, and data for a system to satisfy specified requirements. Once the
software requirements are analyzed and specified, the software design involves three
technical activities-- design, code generation and testing that are required to build and
verify the software. The design activities are of main importance in this phase because in
this activity decisions ultimately affecting the success of the software implementation and
its ease of maintenance are made. These decisions have the final bearing upon the
reliability and maintainability of the system. Design is the only way to accurately transfer
the customer requirements into a finished software or system.
UML, the Unified Modeling Language, is a visual language for specifying, constructing,
and documenting the artifacts of systems. UML can be used with all processes,
throughout the development lifecycle, and across different implementation technologies.
UML diagrams represent three different views of a system model:
It emphasizes the functional requirements of the system from the user's point of view.
This includes use case diagrams.
It emphasizes the static structure of the system using objects, attributes, operations, and
relationships. This includes class diagrams.
47
Dynamic behavior view:
Use case diagrams overview the usage requirements for a system. They describe "the
meat" of the actual requirements.
Use cases
A use case describes a sequence of actions that provide something of measurable value to
an actor and is drawn as a horizontal ellipse.
Watch
Actors
An actor is a person, organization, or external system that plays a role in one or more
interactions with your system. Actors are drawn as stick figures.
48
Relationships
A relationship between two use cases is basically a dependency between the two use
cases. Use case relationships can be one of the following:
• Include:
When a use case is depicted as using the functionality of another use case in a
diagram, this relationship between the use cases is named as an include relationship.
• Extend:
In an extend relationship between two use cases, the child use case adds to the
existing functionality and characteristics of the parent use case.
49
• Generalization:
UseCas e1 UseCase2
50
Use Case Diagram:
<<include>>
Select course
<<include>>
Student Register
<<include>>
Pay Fee
Login
Create Tutorials/Quiz
<<include>>
Database
Feedback
<<extend>>
<<include>>
<<include>> 51
Select course
<<include>>
Student Register
<<include>>
Pay Fee
Login
Create Tutorials/Quiz
<<include>>
Database
Feedback
<<extend>>
<<include>>
<<include>>
Course Data
Class:
Relationships
Association:
When two classes are connected to each other in any way, an association relation is
established.
Inheritance/Generalization:
53
Also called an "is a" relationship, because the child class is a type of the parent class.
Generalization is the basic type of relationship used to define reusable elements in the
class diagram.
54
Class Diagram:
Database1
Student1 Student_details : String
Faculty_details : String
Student_name : String
Student_login : String
Course_selected : String
Faculty_login : String
Course_name : String
Register()
Fee_details : Integer
Login()
Tutorials_info : String
View Tutorials/Quiz()
Quiz_info : String
Feedback()
Feedback_info : String
Course_data_info : String
1..*
Faculty1
Faculty_name : String Tutorials/Quiz
1..* Course_name : String
Register() Tutorial_info : String
Login() Quiz_info : String
Create Tutorials/Quiz()
View Tutorials/Quiz()
Administrator
Verify_user_details()
Assign_uname/pwd()
Store_course_data()
Store_fee_details()
55
Sequence Diagram
A Sequence diagram depicts the sequence of actions that occur in a system. The
invocation of methods in each object, and the order in which the invocation occurs is
captured in a Sequence diagram. This makes the Sequence diagram a very useful tool to
easily represent the dynamic behavior of a system.
56
Sequence Diagram for REGISTER Use Case:
1: Provide_Stud_details()
4: Ack/Error()
6: Provide_faculty_details()
7: Error msg()
8: Store(faculty details)
9: Ack/Error()
57
Sequence Diagram for LOGIN Use Case:
1: Uname/pwd(stud)
2: Validate(stud)
3: Ack()
4: Display()
5: Uname/pwd(faculty)
6: Validate(Faculty)
7: Ack()
8: Display()
58
Sequence Diagram for Create/View Tutorials Quiz:
1: Create Tutorials/Quiz()
2: Store()
3: Ack()
4: View Tutorials/Quiz()
5: Display()
59
Sequence Diagram for View/Feedback Tutorials/Quiz:
1: View Tutorials/Quiz()
2: Display()
3: Send Feedback()
60
Sequence Diagram for Verify/Assign Username/Password:
4: Display() 3: Ack()
5: Assign uname/pwd
6: Store()
7: Ack()
8: Dispaly()
61
Sequence Diagram for Course Data:
1: Post Course()
2: Store(course data)
3: Ack()
4: Dispaly()
62
Activity Diagram
5.2.4 Activity Diagram
Activity diagrams are typically used for business process modelling, for modelling the
logic captured by a single use case or usage scenario, or for modelling the detailed logic
of a business rule.
1.1Initial node
The filled in circle is the starting point of the diagram. An initial node isn’t required
although it does make it significantly easier to read the diagram.
Activity
The rounded rectangles represent activities that occur. An activity may be physical, such
as Inspect Forms, or electronic, such as Display Create Student Screen.
63
Flow/edge
Arrows on the diagram denote them.
Decision
A diamond with one flow entering and several leaving denotes it. The flows leaving
include conditions although some modellers will not indicate the conditions if it is
obvious.
64
Activity Diagram
Start
LOGIN
Create View
Tutorials/Quiz Tutorials/Quiz Store
View Feedback
Tutorials/Quiz
STORE
store Database
LogOut logout
Logout
Stop
65
Architecture Diagram
66
5.3 Database Tables Used for The Design
Database tables are used to organize and group the data by common characteristics or
principles. The database can contain as many tables as needed to organize the data.
Database tables involved in this project for storing and retrieving the data/information are
as following
Course Table
67
Faculty Table
Quiz Table
This table is the place where quiz details and results are stored.
68
Rating Table
69
Tutorial Details
Student Details
Faculty Details
70
Course Details
This is how course details are stored in the database and are displayed.
Rating Details
This is how rating details are stored in the database and are displayed.
Tutorial Details
This is how tutorial details along with course id, tutorial id and quiz are stored in the
database and are displayed.
71
CHAPTER 6
TESTING
72
6. Testing
In general, testing is finding out how well something works. In terms of human beings,
testing tells what level of knowledge or skill has been acquired. In computer hardware
and software development, testing is used at key checkpoints in the overall process to
determine whether objectives are being met. For example, in software development,
product objectives are sometimes tested by product user representatives. When the design
is complete, coding follows and the finished code is then tested at the unit or module
level by each programmer; at the component level by the group of programmers
involved; and at the system level when all components are combined together. At early or
late stages, a product or service may also be tested for usability.
73
CHAPTER 7
IMPLEMENTATION
74
7. Implementation
"It demonstrates our determination to offer the services electronically in the way that can
offer genuine benefit to the students.”
All the front end pages are created using Flex. The users can access the application only
after successful login. To login the user must register him for authentication. After
authentication the user will be provided with a valid login and password. The user can
either be a student or a faculty. Only the authorised users can access the content provided.
After successful login, the user will be directed to the ‘home page’. At the time of login
his category i.e. whether he is a student or faculty or admin is stored and this category
acts as a criteria in enabling different services to different classes of users.
To get registered if it is a faculty he must provide his name, interested course, course id,
contact details, qualification. After filling these details in the registration form the details
are submitted to the database. Where the Administrator verifies the details and if they are
appropriate then the faculty will be provided with a user id and password. Using which he
can login and then can upload/delete/create/name the tutorials and quiz. Faculty also has
search option. To get registered if it is a student he must provide his name, interested
course, course id, contact details, qualification, dd no., dd date and amount. After filling
these details in the registration form the details are submitted to the database. Where the
Administrator verifies the details and if they are appropriate then the faculty will be
provided with a user id and password. Using which he can login and then can learn
tutorials, answer quiz and search. Here, constraint checking is made on certain fields to
ensure that the data he is entering is valid and meaningful. The data entered by the
faculty/student is stored in the database using SQL server after proper verification.
All the information to be provided to the users is stored in the database. When the users
request for a particular service, the database is queried to obtain the required information
and retrieved data is presented to the user.
75
CHAPTER 8
SCREEN SHOTS
AND
WEB SNAPS
76
8. Screen Shots
1. Login Screen
If the user is an authorized user he can directly give his login id and password. If he is
new user and he is a faculty he has to click Faculty Registration to navigate the page.
If he is a student he has to click Student Registration to become authorized users.
8.1 The login page where the user needs to enter his user id and password
77
2. Faculty Registration Screen
78
3. Student Registration Screen
79
4. Home Page Screen
80
5. Tutorials Screen
8.5If the user is a student he can just click the tutorial and can access it.
If the user is a faculty he must update the tutorials and quiz on this page.
81
6. Audio/Video Tutorials
82
7. Search
83
8. Feed Back Screen
84
8. Web Snaps
85
2. Feed Back
86
3. Student Registration Details
87
4. Tutorial detail
88
5. Flex Based Multi Media Details
89
CHAPTER 9
PROGRAMMING CODE
90
9. Programming Code
[WebMethod(BufferResponse = true)]
public String tutorialdetail(string courseid)
{
if (courseid!="")
{
//return "test";
SqlConnection dbConnection = new SqlConnection("Data
Source=gs-047; Initial Catalog=fbmm; User ID=sa");
string curl = "<detail>";
try
{
dbConnection.Open();
//SqlCommand retrieve = new SqlCommand("select
tutorialname,duration,type from tutorial where courseid = '" + courseid
+ "'", dbConnection);
SqlDataAdapter ObjCommand = new SqlDataAdapter("select
tutorialname,duration,type from tutorial where courseid = '" + courseid
+ "'", dbConnection);
DataSet DS = new DataSet();
ObjCommand.Fill(DS);
int i = DS.Tables[0].Rows.Count;
int j = 0;
while (j < i)
{
curl += "<tutorialdetail><tutorialname>" +
DS.Tables[0].Rows[j][0].ToString() + "</tutorialname><tutorialtype>";
curl += DS.Tables[0].Rows[j][2].ToString() +
"</tutorialtype><duration>";
curl += DS.Tables[0].Rows[j][1].ToString() +
"</duration></tutorialdetail>";
j++;
}
curl += "</detail>&";
curl += "<qdetail>";
91
curl += "</qdetail>";
//curl += "</detail>";
return curl;
}
catch (Exception ex)
{
return ex.Message;
}
}
return "test22";
}
[WebMethod(BufferResponse = true)]
public String facultyregistration(string firstname, string initial,
string surname, string gender, string dateofbirth, string
dateofjoining, string courseid, string qualification, string
experience, string housenumber,string address, string email, string
mobile, string landline, string skillset)
{
DateTime dob = DateTime.Parse(dateofbirth);
string strdob = dob.ToShortDateString().ToString();
try
{
SqlConnection dbConnection = new SqlConnection("Data
Source=gs-047; Initial Catalog=fbmm; User ID=sa");
SqlCommand cmd = new SqlCommand("Insert into
faculty_register
(firstname,initial,surname,gender,dateofbirth,dateofjoining,courseid,qu
alification,experience,housenumber,address,email,mobile,landline,skills
et) values('" + firstname + "','" + initial + "','" + surname + "','" +
gender + "','" + strdob + "','" + strdoj + "','" + courseid + "','" +
qualification + "','" + e + "','" + housenumber +"','" + address + "','"
+ email + "','" + mobile + "','" + landline + "','" + skillset + "')",
dbConnection);
dbConnection.Open();
int i = cmd.ExecuteNonQuery();
dbConnection.Close();
if (i == 1)
{
return "Username and Password will be sent through
email after verification";
}
else
{
92
return "Already Registered";
}
}
catch (Exception ex)
{
return "Already Registered";
}
}
[WebMethod(BufferResponse = true)]
public String quizresult(string qname, string tid, string answers)
{
string[] res;
char[] delimiterChars = {'&'};
string[] words;
int count = 0;
try
{
words = answers.Split(delimiterChars);
str = "<answer>";
int i = ds.Tables[0].Rows.Count;
int j = 0;
while (j < i)
{
res[j] = ds.Tables[0].Rows[j][0].ToString();
//str += res[j];
j++;
}
93
}
[WebMethod(BufferResponse = true)]
public String AssignUserIdData(string designation)
{
try
{
string str;
str = designation;
str = "<new1>";
SqlConnection dbConnection = new SqlConnection("Data
Source=gs-047; Initial Catalog=fbmm; User ID=sa");
//DateTime stdate = DateTime.Parse(startdate);
//DateTime endate = DateTime.Parse(enddate);
//return str;
if (designation == "student")
{
//return "in if";
SqlCommand cmd = new SqlCommand("Select * from
student_register where username IS NULL", dbConnection);
dbConnection.Open();
SqlDataReader rdr = cmd.ExecuteReader(); ;
//return rdr.GetValue(1).ToString();
while (rdr.Read())
{
str += "<detail><firstname>" +
rdr.GetValue(1).ToString() + "</firstname>";
str += "<initial>" + rdr.GetValue(2).ToString() +
"</initial>";
str += "<surname>" + rdr.GetValue(3).ToString() +
"</surname>";
str += "<coursename>" + rdr.GetValue(7).ToString()
+ "</coursename>";
str += "<qualification>" +
rdr.GetValue(8).ToString() + "</qualification>";
str += "<email>" + rdr.GetValue(11).ToString() +
"</email>";
str += "<ddno>" + rdr.GetValue(14).ToString() +
"</ddno>";
str += "<ddamount>" + rdr.GetValue(16).ToString() +
"</ddamount>";
str += "<username>" + rdr.GetValue(17).ToString() +
"</username></detail>";
}
str += "</new1>";
dbConnection.Close();
}
if(designation=="faculty")
{
SqlCommand cmd = new SqlCommand("Select * from
faculty_register where username IS NULL", dbConnection);
dbConnection.Open();
SqlDataReader rdr = cmd.ExecuteReader(); ;
94
//return rdr.GetValue(1).ToString();
while (rdr.Read())
{
str += "<detail><firstname>" +
rdr.GetValue(1).ToString() + "</firstname>";
str += "<initial>" + rdr.GetValue(2).ToString() +
"</initial>";
str += "<surname>" + rdr.GetValue(3).ToString() +
"</surname>";
str += "<coursename>" + rdr.GetValue(9).ToString()
+ "</coursename>";
str += "<qualification>" +
rdr.GetValue(8).ToString() + "</qualification>";
str += "<email>" + rdr.GetValue(12).ToString() +
"</email>";
str += "<ddno>" + rdr.GetValue(15).ToString() +
"</ddno>";
str += "<ddamount>" + rdr.GetValue(6).ToString() +
"</ddamount>";
str += "<username>" + rdr.GetValue(16).ToString() +
"</username></detail>";
}
str += "</new1>";
dbConnection.Close();
}
return str;
}
[WebMethod(BufferResponse = true)]
public string feedback(string cid, string tname, string feed)
{
try
{
SqlConnection con = new SqlConnection("Data Source=gs-047;
Initial Catalog= fbmm; Integrated Security = true; User ID=SA");
SqlCommand cmd = new SqlCommand("Select tutorialid from
tutorial where (tutorialname = '" + tname + "') and (courseid = '" +
cid + "')", con);
con.Open();
95
cmd = new SqlCommand("Update TutorialRating set
excellent = (excellent+1) where (courseid = '" + cid + "') and
(tutorialid = '" + inttutoid + "')", con);
if (feed == "good")
cmd = new SqlCommand("Update TutorialRating set good =
(good+1) where (courseid = '" + cid + "') and (tutorialid = '" +
inttutoid + "')", con);
if (feed == "average")
cmd = new SqlCommand("Update TutorialRating set average
= (average+1) where (courseid = '" + cid + "') and (tutorialid = '" +
inttutoid + "')", con);
if (feed == "improve")
cmd = new SqlCommand("Update TutorialRating set improve
= (improve+1) where (courseid = '" + cid + "') and (tutorialid = '" +
inttutoid + "')", con);
cmd.ExecuteNonQuery();
con.Close();
return "Thanks";
}
catch (Exception ex)
{
return ex.Message;
}
}
96
CHAPTER 10
CONCLUSION
AND
FURTHER ENHANCEMENTS
97
10. Conclusion and Further Enhancements
Conclusion
Further Enhancements
• Students can search for the desired tutorials by units, channels & videos.
• Students located at remote areas will be able to access the tutorials and can
enhance their skills at their own time.
98
CHAPTER 11
REFERENCES
99
11. References
100
CHAPTER 12
APPENDIX
101
12. Appendix
102