Silverlight

The next generation RIA…

Bachelor of Technology Computer Science and Engineering

Submitted By Nitin Kumar Sharma (0709110060)

Department of Computer Science and Engineering JSS Academy of Technical Education, Noida

ACKNOWLEDGEMENT
I express my deep sense of gratitude to our mentor Mrs. MeenaArora for her expert guidance and continued impetus throughout this colloquium presentation and in the completion of my presentation on “Silverlight the next generation RIA”. I am also grateful to my major project mentor Mrs. SeemaShuklawithout whose guidance this presentation would not have been successful. My special thanks to Mrs. SeemaShukla and Mrs. Anita Sahoo, Our Project coordinators for their support in helping us to present this colloquium. I am highly grateful to my friends without whom our presentation would have never been possible. SUBMITTED BY: Nitin Kumar Sharma B.Tech (CSE-4th year) JSSATE , NOIDA. SUBMITTED TO: Mrs. Meena Arora

2| Page

Index
1. Introduction to Rich Internet Application…………………………………….3 2. Motivation…………………………………………………………………….7 3.What is Silverlight?...........................................................................................8 4.Silverlight Processing Model………………………………………………...11 5.Advantages of Silverlight…………………………………………………...12 6. Whats new in Silverlight 4?............................................................................15 7.Perfomance Comparison……………………………………………………..18 8.Bing Maps : An application of Silverlight…………………………………...19 9.Bing Map SOAP Service…………………………………………………….22 10.Conclusion………………………………………………………………….27 11. References………………………………………………………………….28

3| Page

1. Introduction to Rich Internet Application
A Rich Internet Application (RIA) is a web application that has many of the characteristics of desktop applications, typically delivered either by way of a site-specific browser, via a browser plug-in, independent sandboxes, or virtual machines. Adobe Flash, Java, and Microsoft Silverlight are currently the three most common platforms, with penetration rates around99%, 80%, and 54% respectively (as of July 2010). Although new web standards have emerged, they still use the principles behind RIAs. Users generally need to install a software framework using the computer's operating system before launching the application, which typically downloads updates, verifies and executes the RIA. This is the main differentiator from JavaScript-based alternatives like Ajax which use built-in browser functionality to implement comparable interfaces. While some consider such interfaces to be RIAs, some consider them competitors to RIAs and others, including Gartner, treat them as similar but separate technologies. RIAs dominate in online gaming as well as applications which require access to video capture (with the notable exception of Gmail, which uses its own task-specific browser plug-in). Nevertheless, web standards such as HTML5 have developed and the compliance of web browsers with those standards has somewhat improved. However, the need for plug-in based RIAs for accessing video capture and distribution has not diminished, even with the emergence of HTML5 and JavaScript-based desktop-like widget sets that provide alternative solutions for mobile web browsing.

4| Page

Characteristics
RIAs present indexing challenges to search engines, but Adobe Flash content is now at least partially index able. Security can improve over that of application software (for example through use of sandboxes and automatic updates), but the extensions themselves remain subject to vulnerabilities and access is often much greater than that of native web applications. For security purposes, most RIAs run their client portions within a special isolated area of the client desktop called a sandbox. The sandbox limits visibility and access to the file-system and to the operating system on the client to the application server on the other side of the connection. This approach allows the client system to handle local activities, calculations, reformatting and so forth, thereby lowering the amount and frequency of client-server traffic, especially as compared to the client-server implementations built around so-called thin clients.

RIA Tools Available
Some of the important and famous tools available in the market for Rich Internet Application are listed below: Flex is a software development kit (SDK) released by Adobe Systems for the development and deployment of cross-platform rich Internet applications based on the Adobe Flash platform. Flex applications can be written using Adobe Flash Builder or by using the freely available Flex compiler from Adobe. The initial release in March 2004 by Macromedia included an SDK, an integrated development environment (IDE), and a Java EE integration application known as Flex Data Services. Since Adobe purchased Macromedia in 2005, subsequent releases of Flex no longer require a license for Flex Data Services, which has become a separate product rebranded as LiveCycle Data Services. An alternative to Adobe LiveCycle Data Services is BlazeDS, an open-source project that started with code contributed in 2007 by Adobe. JavaFXis a Java platform for creating and delivering rich Internet applications that can run across a wide variety of connected devices. The current release (JavaFX 1.3, April 2010) enables building applications for desktop, browser and mobile phones. TV set-top boxes, gaming consoles, Blu-ray players and other platforms are planned.
5| Page

To build JavaFX apps developers use a statically typed, declarative language called JavaFX Script; Java code can be integrated into JavaFX programs. JavaFX is compiled to Java bytecode, so JavaFX applications run on any desktop and browser that runs the Java Runtime Environment (JRE) and on top of mobile phones running Java ME. On desktop, the current release supports Windows XP, Windows Vista and Mac OS X operating systems. Beginning with JavaFX 1.2 Oracle has released beta versions for Linux and OpenSolaris. On mobile, JavaFX is capable of running on multiple mobile operating systems, including Symbian OS, Windows Mobile, and proprietary real-time operating systems. Silverlight is a web application framework that integrates multimedia, computer graphics, animation and interactivity into a single runtime environment. Initially, released as a video streaming plug-in, later versions brought additional interactivity features and support for CLI languages and development tools. The current version 4 was released in April 2010. Features of Silverlight are similar to those in Adobe Flash. It is compatible with multiple web browsers used on Microsoft Windows and Mac OS X operating systems. Mobile devices, starting withWindows Phone 7 and Symbian (Series 60) phones, are likely to become supported in 2010. A free software implementation namedMoonlight, developed by Novell in cooperation with Microsoft, is available to bring most Silverlight functionality to Linux, FreeBSD and other open source platforms. Silverlight provides a retained mode graphics system similar to Windows Presentation Foundation, and integrates multimedia, graphics, animations and interactivity into a single runtime environment. In Silverlight applications, user interfaces are declared in Extensible Application Mark-up Language (XAML) and programmed using a subset of the .NET Framework. XAML can be used for marking up the vector graphics and animations. Silverlight can also be used to create Windows Sidebar gadgets for Windows Vista. Silverlight supports Windows Media Video (WMV), Windows Media Audio (WMA) and MPEG Layer III (MP3) media content across all supported browsers without requiring Windows Media Player, the Windows Media Player ActiveX control or Windows Media browser plug-ins. Because Windows Media Video 9 is an implementation of the Society of Motion Picture and Television Engineers (SMPTE) VC-1 standard, Silverlight also supports VC-1 video, though still only in an Advanced Systems Format (ASF) container format. Furthermore, theSoftware license agreement says VC-1 is only licensed for the
6| Page

"personal and non-commercial use of a consumer". Silverlight, since version 3, supports the playback of H.264 video.Silverlight makes it possible to dynamically load Extensible Markup Language (XML) content that can be manipulated through a Document Object Model (DOM) interface, a technique that is consistent with conventional Ajax techniques. Silverlight exposes a Downloader object which can be used to download content, like scripts, media assets or other data, as may be required by the application. With version 2, the programming logic can be written in any .NET language, including some derivatives of common dynamic programming languages likeIronRuby and IronPython.

7| Page

Motivation
The motivation to choose a particular RIA tool comes from the following foctors shown below:

Figure:1.1 Factors to Choose a RIA Tool

All these factors determine the goodness of a RIA tool. All these factors must be kept in mind before choosing a correct RIA development tool. Choosing wrong RIA development tool may lead to a longer development time, more efforts, along with inefficiency.

8| Page

What is Silverlight?
Microsoft Silverlight is a cross-browser, cross-platform implementation of .NET for building and delivering the next generation of media experiences & rich interactive applications for the Web. Microsoft Silverlight powers engaging, interactive user experiences wherever the web works. Silverlight is a powerful development platform for creating rich media applications and business applications for the Web, desktop, and mobile devices. Silverlight is a free plug-in powered by the .NET framework that is compatible across multiple browsers, devices and operating systems to bring a new level of interactivity wherever the Web works. With support for advanced data integration, multithreading, HD video using IIS Smooth Streaming, and built in content protection, Silverlight enables online and offline applications for a broad range of business and consumer scenarios.

Compelling Experiences
Engage users longer and make the most of your content with interactive features and highdefinition streaming video delivered through live and on-demand IIS Smooth Streaming. Build user “buzz” and differentiate yourself with innovative capabilities, such as Deep Zoom and Pivot, which push the boundaries of interactivity and data visualization, and provide new ways to present your brand. Silverlight enables Web-based applications to deliver the business functionality users demand with a modern, efficient UI while securely interacting with desktop files, devices, data and applications such as Microsoft Office.

Powerful Technology
Build on Microsoft’s industrial-strength application development tools and a platform that promotes stability, scalability, reliability, and performance. Deliver engaging experiences through all major browsers on Mac, Windows, and Linux client operating systems, mobile devices such as Windows Phone 7, Nokia Series 60 and set top boxes. Extend browser experiences to the desktop and devices with innovative tools, servers and frameworks.

9| Page

Enhanced Results
Grow your business, your productivity, and your profitability with technology and tools that deliver exceptional value and accommodate the business model that fits your company best. Call on millions of existing developers and thousands of businesses already familiar with .NET development to help create and deploy Silverlight applications. Create rich Web-based applications that quickly integrate with your existing back-end systems. Easily enhance existing Web and SharePoint sites by incrementally adding Silverlight components.

XAML
Extensible Application Markup Language, or XAML (pronounced "zammel"), is an XMLbased markup language developed by Microsoft. XAML is the language behind the visual presentation of an application that you develop in Microsoft Expression Blend, just as HTML is the language behind the visual presentation of a Web page. Creating an application in Expression Blend means writing XAML code, either by hand or visually by working in the Design view of Expression Blend. XAML files can be produced in either Visual Studio, Microsoft's development tool for the .NET Framework, or in Microsoft's Expression toolset for designers, before exporting them to the Windows Presentation Foundation. This allows designers, who focus on the front end of an application, and developers, who focus on the code that defines the front end, to work from the same code base, which improves productivity. For example: <StackPanel> <Button Content="Click Me"/> </StackPanel>

10 | P a g e

Base Types and XAML Underlying WPF XAML and its XAML namespace is a collection of types that correspond to CLR objects in addition to markup elements for XAML. However, not all classes can be mapped to elements. Abstract classes, such as ButtonBase, and certain nonabstract base classes are used for inheritance in the CLR objects model. Base classes, including abstract ones, are still important to XAML development because each of the concrete XAML elements inherits members from some base class in its hierarchy. Often these members include properties that can be set as attributes on the element, or events that can be handled. FrameworkElement is the concrete base UI class of WPF at the WPF framework level. When designing UI, you will use various shape, panel, decorator, or control classes, which all derive fromFrameworkElement. A related base class, FrameworkContentElement, supports document-oriented elements that work well for a flow layout presentation, using APIs that deliberately mirror the APIs in FrameworkElement. The combination of attributes at the element level and a CLR object model provides you with a set of common properties that are settable on most concrete XAML elements, regardless of the specific XAML element and its underlying type.

11 | P a g e

Silverlight Processing Model
Silverlight works much like Javascript. It gets loded with page (html or aspx) A parse tree that mirrors the XAML is built and rendered to the client computer. Events, like the button click in the previous slides, are processed by bindings between a silverlight control (the button) and an event handler, button1_click. his works just like Javascript events, with no postback to the server. The overall processing can be understood by the following diagram given below:

Figure: Silverlight Processing Model

12 | P a g e

Advantages of Silverlight
IIS Smooth Streaming IIS Smooth Streaming, an IIS7 Media Services 3.0 extension, enables adaptive streaming of live and on-demand media via standard HTTP protocols, and provides a high-quality viewing experience that scales on massive content-distribution networks, bringing a fantastic visual experience to any viewer regardless of their connection and computer capabilities Out of Browser Silverlight offers a new set of features for building light-weight, sandboxed companion experiences for the Web that run on the desktop. Silverlight out of browser allows websites to build even closer, persistent relationships with customers. It enables the application to be placed in a restricted store on the user’s machine; and then provide a link directly to it from the user’s desktop or start menu. This is all enabled within Silverlight without any additional download of runtime or the need to write applications in a different way. An application can now be easily found on the user’s desktop or start menu, and launched with a single click. In addition, it can test if the network is connected, it can update itself, and can also have access to Isolated Storage. Taken together, these features represent a radical upgrade to the web experience. Sketch Flow SketchFlow, part of Expression Studio Ultimate, revolutionizes the speed and efficiency with which you can demonstrate a vision for an application. SketchFlow provides an informal and quick way to explore, iterate and prototype user interface scenarios allowing you to evolve your concepts from a series of rough ideas into a living breathing prototype that can be made as real as a particular client or project demands. New Controls Silverlight is packed with over 60 high-quality, fully skinnable and customizable out-of-thebox controls such as charting and media, new layout containers such as dock and viewbox, and controls such as autocomplete, treeview and datagrid. The controls come with nine professional designed themes and the source code can be modified/recompiled or utilized asis. Other additions include multiple selection in listbox controls, file save dialog making it easier to write files, and support for multiple page applications with navigation.

13 | P a g e

PivotViewer PivotViewer makes it easier to interact with massive amounts of data on the web in ways that are powerful, informative, and fun. By visualizing thousands of related items at once, users can see trends and patterns that would be hidden when looking at one item at a time. Because PivotViewer leverages Deep Zoom, it displays full, high-resolution content without long load times, while the animations and natural transitions provide context and prevent users from feeling overwhelmed by large quantities of information. This simple, inviting interaction model encourages exploration and longer audience engagement times, and applies broadly to a variety of content types. The Silverlight PivotViewer control is available now and can be accessed by developers and designers to begin creating collections and deploying solutions. Deep Zoom Silverlight Deep Zoom is the fastest, smoothest, zooming technology on the Web, bringing the highest resolution images and frame rates with the lowest load times to users. Deep Zoom also enables the display of thousands of items simultaneously, giving designers and developers new opportunities to create innovative navigation paradigms for both applications and the Web. By optimizing the way images are stored and intelligently downloading only the pieces of information needed to fill the screen, Deep Zoom removes technical barriers and enables the delivery of engaging customer and content-centric experiences. Skinning and Styling Silverlight makes it easy to create graphics and then use them to customize controls, such as the look of a scrollbar. Silverlight provides XAML based templates for each control that allow designers to reach inside the control and change the layout or look of each part of the control without rewriting any code. For example, a scrollbar is made up of a layout container and a set of parts such as the up and down button and draggable thumb. Parts can be rearranged and their appearance changed to fully customize the control. In addition, controls can be themed by applying a style. For instance you can offer a range of different colors or font sizes. Perspective 3D Graphics Silverlight 3 allows developers and designers to apply content to a 3D plane. Users can rotate or scale live content in space without writing any additional code. Other effects include creating a queue in 3D and transitions.

14 | P a g e

Media Format Extensibility With the new Raw AV pipeline, Silverlight can easily support a wide variety of third-party codecs. Audio and video can be decoded outside the runtime and rendered in Silverlight, extending format support beyond the native codecs.

15 | P a g e

Whats new in Silverlight 4?
Silverlight 4 delivers a full suite of powerful capabilities to business application developers, bringing the best-of-breed .NET platform to browser-based experiences. Silverlight provides an ideal platform for developing and deploying modern business applications for both customer facing and staff-facing applications. Business Application Development Silverlight 4 consolidates its position as the natural choice for building business applications on the Web: New Features for Application Developers • • Comprehensive printing support enabling hardcopy reports and documents as well as a virtual print view, independent of screen content. A full set of forms controls with over 60 customizable, styleable components. New controls include RichTextbox with hyperlinks, images, in-line controls, and editing. Enhanced controls include DataGrid with sortable/resizeable columns and copy/paste rows. WCF RIA Services introduces enterprise class networking and data access for building n-tier applications including transactions, paging of data, WCF and HTTP enhancements. Localization enhancements with Bi-Directional text, Right-to-Left support and complex scripts such as Arabic, Hebrew and 31 new languages including Vietnamese and Indic support. The .NET Common Runtime (CLR) now enables the same compiled code to be run on the desktop and Silverlight without change. Enhanced databinding support increases flexibility and productivity through data grouping/editing and string formatting within bindings. Managed Extensibility Framework supports building large composite applications. Exclusive tooling support for Silverlight, new in Visual Studio 2010. Including a full editable design surface, drag & drop data-binding, automatically bound controls, datasource selection, integration with Expression Blend styling resources, Silverlight project support and full IntelliSense.

• • • • • •

Developer tools • • • • • Fully editable design surface for drawing out controls and layouts. Rich property grid and new editors for values Drag and drop support for databinding and automatically creating bound controls such as listbox, datagrid. New datasources window and picker. Easy to pick styles and resources to make a good looking application based on designer resources built in Expression Blend. Built in project support for Silverlight applications

16 | P a g e

Editor with full intellisense for XAML and C# and VB languages.

Empowering richer, more interactive experiences Silverlight is already in use as a comprehensive platform for building rich experiences both for application and pure media scenarios including HD quality, interactive video through Smooth Streaming. Silverlight 4 introduces additional capabilities to enable creation of ever more rich, appealing high-performance interactive experiences and innovative media experiences: • • • • • • • • • • • Fluid interface enhancements advance application usability through animation effects. Webcam and microphone to allow capture of audio and video on the client. Bring data in to your application with features such as copy and paste or drag and drop. Long lists can now be scrolled effortlessly with the mouse wheel. Support conventional desktop interaction models through new features such as rightclick context menu. Support for Google’s Chrome browser. Performance optimizations mean Silverlight 4 applications start quicker and run 200% faster than the equivalent Silverlight 3 application. Multi-touch support enables a range of gestures and touch interactions to be integrated into user experiences. Multicast networking, enabling Enterprises to lower the cost of streaming broadcast events such as company meetings and training, interoperating seamlessly with existing Windows Media Server streaming infrastructure. Content protection for H.264 media through Silverlight DRM powered by PlayReady. Output protection for audio/video streams allowing content owners or distributors to ensure protected content is only viewed through a secure video connection.

17 | P a g e

Move beyond the browser Silverlight 3 pioneered the delivery of a new class of Rich Internet Applications to work on the desktop without additional code or runtimes. Silverlight 4 extends this capability: For Sandboxed applications • • • • Place HTML within your application enabling much tighter integration with content from web servers such as email, help and reports. Provide support for ‘toast’ notification windows, allowing applications to communicate status or change information while the user is working on another application through a popup window on the taskbar. Offline DRM, extending the existing Silverlight DRM powered by PlayReady technology to work offline. Protected content can be delivered with a persistent license so that users can go offline immediately and start enjoying their content. Control over aspects of UI include window settings such as start position, size and chrome.

For Trusted applications • • • • • • • • Read and write files to the user’s MyDocuments, MyMusic, MyPictures and MyVideos folder (or equivalent for non-windows platforms) for example storage of media files and taking local copies of reports. Run other desktop programs such as Office, for example requesting Outlook to send an email, send a report to Word or data to Excel. COM automation enables access to devices and other system capabilities by calling into application components; for instance to access a USB security card reader. A new user interface for requesting application privileges access outside the standard Silverlight sandbox. Group policy objects allow organizations to tailor which applications may have elevated trust. Full keyboard support in fullscreen mode richer kiosk and media applications. Enhancements to networking allow cross-domain access without a security policy file. Custom Window ‘chrome’ to provide a highly branded experience

18 | P a g e

Performance Comparison

19 | P a g e

Bing Maps: An Application of Silverlight
Silverlight 3 User Control built with managed code to support Bing Maps powered websites with Silverlight. Easily create mapping application with Bing Maps Silverlight Control. Leverage the power of Silverlight for rich interactive experience and performance. It is the next generation mapping control. Provides rich interactive “Deep Zoom” experience.Has a performance improvements over other web technologies. Visual Studio / Expression Blend development environment for development.

Bing Maps Control overview:
• • Version 1.0 Key Features ○ Data Binding ,e.g. Linq, XML, etc.. ○ Pushpin ○ Frames ○ Easy App Integration, e.g. Worldwide Telescope, Birds eye, 3D maps, twitter, etc.. ○ Silverlight 3 Out of Browser ○ Interoperability with Bing Maps Web Services types ○ Embedded Maps with 1 line URL embedding ○ JavaScript interface in addition to managed code interface

20 | P a g e

Getting started
Download Bing Maps Silverlight Control from http://www.microsoft.com/downloads/details.aspx?displaylang=en&FamilyID=beb29d276f0c-494f-b028-1e0e3187e830

Sign up for Free account at Bing Maps Account Center and get a Bing Maps Key at https://www.bingmapsportal.com

21 | P a g e

• •

Now we can use these keys to render maps into Silverlight content Set of web services to add capabilities like: • location finding • map imagery • routing capabilities

22 | P a g e

Bing Maps SOAP Services
Bing Services The Bing Maps SOAP Services is a set of Web services that allow you to add mapping and search functionality to your application, including location finding, map imagery, and routing capabilities. The web services are built using Windows Communication Foundation (WCF). There are four Bing Maps SOAP Services: Geocode Service, Imagery Service, Route Service, and Search Service. This topic provides an overview of each of these services and their methods. Geocode Service You can use the Geocode Service to match addresses, places, and geographic entities to latitude and longitude coordinates on the map, as well as return location information for a specified latitude and longitude coordinate. The Geocode Service methods are: • Geocode Finds a geographic location based on a request that may include the address, place, or entity type names to find. ReverseGeocode Finds geographic entities and addresses for a specified map location.

23 | P a g e

Imagery Service You can use the Imagery Service to retrieve information about imagery data as well as getting URIs for maps. For example, you can get a link to a map with a pushpin at a specific location or provide a road map or bird's eye imagery to your users. Note Bing Maps draws maps by using an orthographic projection centered on the center point of any given map and based on WGS84 datum. The Imagery Service methods are: • GetImageryMetadata Returns information about the requested imagery, including imagery date stamps, vendor attribution, and imagery tile URIs. GetMapUri Returns a URI to a static map that may contain traffic data, routes to a destination from major roads, and pushpins.

24 | P a g e

Route Service You can use the Route Service to generate routes and driving directions based on locations or waypoints. For example, you can get directions that include traffic warnings and route hints between multiple locations. You can also get directions from all major roads to a destination (1-click directions, also referred to as a "party map") and then use the Imagery Service to map those routes. The Route Service methods are: • CalculateRoute Calculates a route between specified stops and returns route directions as well as other route data. CalculateRoutesFromMajorRoadsCalculates starting points or route directions to a specified location from nearby major roads.

25 | P a g e

26 | P a g e

Search Service You can use the Search Service to parse a search query that contains a location or keyword (or both) and return search result. The Search Service methods are: • Search Returns a parsed query or search results for a given search input string

27 | P a g e

Applications that can be associated with Bing Maps: Map Apps are a set of application that can communicate with the Bing maps Silverlight control through XML web services. Some of them are listed below

28 | P a g e

Conclusion
Selecting the right technology for RIA is often critical. There is nothing like a winner here, every technology winner in its domain of application.For simple web applications it is preferable to use HTML + Javascript. For rich and trendy application Flash, Javafx and Silverlight do compete over others. Silverlight takes lead over others in ○ SEO ○ Multimedia Features ○ Performance and ease of development

29 | P a g e

References
• Scientific Performance Comparison ○ http:// timo-ernst.net, Specialist for Rich Internet Applications and UIDesign HTML5, Silverlight, Flash, Javafx, RIA ○ http:// en.wikipedia.org Developing a Silverlight Application Using Bing Maps SOAP Services ○ http://msdn.microsoft.com/en-us/library/cc879136.aspx Videos ○ http://www.silverlight.net/showcase/

• • •

30 | P a g e

Sign up to vote on this title
UsefulNot useful