Agile Software Development Life Cycle Model

The topic of the Agile SDLC model is vast enough for an entire book. However, for the purposes of this book, a summary of the Agile SDLC will suffice. To support the dynamic nature of the market, it would be challenging for organizations to follow the traditional waterfall SDLC model to implement IT solutions. In order to provide faster, cheaper, and better products delivering high business value, organizations have to implement an optimized, diversified, agile, and cohesive IT organization...

Adding a WCF Service Reference

Next, add the getContent WCF service reference created in the previous step. Right-click the project in Solution Explorer and choose Add Service Reference. This will bring up the Add Service Reference dialog box see Figure 5-25 . Figure 5-25. Adding thegetContent WCFservice as a reference Figure 5-25. Adding thegetContent WCFservice as a reference Add the getContent WCF service URL, and click the Discover button. Set the namespace as ServiceGetContent, and click the OK button. The...

Silverlight tor the Enterprise

Use Silverlight to build enterprise RIAs Pro Silverlight for the Enterprise Copyright 2009 by Ashish Ghoda All rights reserved. No part of this work may be reproduced or transmitted in any form or by any means, electronic or mechanical, including photocopying, recording, or by any information storage or retrieval system, without the prior written permission of the copyright owner and the publisher. ISBN-13 electronic 978-1-4302-1868-5 Printed and bound in the United States of America 9 8 7 6 5...

Measuring Technology Platform Suitability for Your Organization

Based on the application requirements and organization IT implementation strategy, Table 8-2 presents a high-level technical analysis checklist for measuring capabilities of a technology platform. Table 8-2. Technical Analysis Checklist Does the technology allow development of a rich user interface with support for vector graphics Does the technology seamlessly support media audio and video and content data and documents Is it possible to design an abstracted user interface Is it flexible and...

The createThumbnails Method

We use one method to create thumbnails for both picture and video categories based on the value of the showMode string variable. We will use an Image object to create a series of thumbnail objects with proper events see the following steps to enable selection of the thumbnail and view play relative pictures videos upon selection. 1. Set the Margin property using the Thickness object so each thumbnail will have a slight amount of space at the right. 2. For unique naming of each thumbnail, we...

Defining Animations Using a Storyboard

We'll create four animations two for a fade-in effect for pictures and thumbnails and two for mouse over and out animations for each category's TextBlock XAML control. Here we define each animation as a Storyboard in Page.xaml using a ContentControl as a Resources item. The grow and shrink storyboards are initiated for the various categories' MouseEnter and MouseLeave events. You will see in the Defining Application Behavior Through the Code-Behind section that we will develop some event...

Category MouseEnter MouseLeave and MouseLeftButtonDown Events

Now we need to use Expression Blend to define the MouseEnter, MouseLeave, and MouseLeftButtonDown events for the Pictures see Figure 2-33 andVideos see Figure 2-34 categories. MouseEnter categories_MouseEnter MouseLeave cat ego ries_ Mouse Leave MouseLeftButtonDown picCategories_MouseLeftButtonDown Figure 2-33. Definingeventsfor thePictures category usingMicrosoftExpressionBlend MouseEnter categories_MouseEriter MouseLeave catego ries_ Mouse Leave MouseLeftButtonDown...

Deploying Global Silverlight Applications

At a minimum, to enable multiple cultures for your Silverlight project, you need to first add proper resource files default and culture specific to your project. Second, in the AssemblyInfo.es file, define the neutral default culture assembly Here we have defined English en as the default culture. Now you need to unload the Silverlight project and edit the project properties to define supported cultures by adding a SupportedCultures tag and comma-separated cultures. After that, you can reload...

Silverlight Application Package XAP File

The Silverlight 2 package is automatically generated as part of the project's build process in Visual Studio 2008. As mentioned in Chapter 2, the Silverlight application package is a standard compressed file with the extension .xap that contains all the required application startup files. Figure 6-1 shows the SmartTabs Silverlight application project profile demonstrating the deployment profile deployment package file name, application manifest file name, and startup application assembly name...

Developing the My Album RIA

Now that the scope and high-level application design for the My Album RIA have been determined, our next task is to develop the Silverlight-based My Album RIA. Figure 2-3 shows the application in full-screen mode. Figure 2-3. MyAlbum RIA in full-screen mode Figure 2-3. MyAlbum RIA in full-screen mode As shown in Figure 2-3, the My Album RIA follows the center stage theme to display the selected picture and video in the main container. Figure 2-4 defines the My Album RIA layout and its...

HTML Element Error Management

You need to add the HTML markup representing the branded message with its Silverlight installation link after all lt param gt child elements of the HTML lt object gt element. If the required version of Silverlight is not installed on the user's machine, the custom message will be displayed otherwise, the message will be skipped. The following code snippet demonstrates the custom error handling for Silverlight when the HTML lt object gt element is used to embed the Silverlight plug-in lt object...

Defining Tab Content Using LINQ

Once the tabContents.xml file is read successfully, we raise an event, getContent_getTabConsCompleted, as shown in the following code snippet. Here we are using LINQ to read the XML file and store it in the contents string array for future use to display the appropriate content based on the selected tab. Parsing XML and assigning its value to diff. object which will be used to make up tab contents later void getContent_getTabConsCompleted object sender, e Use of LINO to XML to parse XML string...

Developing a Sample Custom Control

Developing a custom control is a six-step process 1. Create a Silverlight class library project in Visual Studio 2008 SP1 and name it SampleCustomControl. 2. Define generic.xaml under the themes folder. The generic.xaml file defines the default visual appearance of the custom control. This file also contains keyed resources under the lt ResourceDictionary gt element that we will manipulate in SampleCustomControl.es. We can also define custom states for the custom control in this file. a....

Left Navigation Pane panelMenu Custom Control

Add a new project to the solution by creating a new panelMenu Silverlight class library project to develop the left navigation pane UI component of the portal. It will build the left navigation pane dynamically from the data source defined in the tpConfig.xml file. As described in the design section, in this case it will read either the tpContents.xml file or the trainingPortalDB_Data.mdf SQL Server database file to get the navigation definition. Next, we are going to follow all the steps...

Silverlight Is Platform Independent

Silverlight is a lightweight, platform-independent technology. Silverlight applications are Cross-platform and can run successfully on different operating systems Microsoft Windows and Apple Mac Cross-browser and can run successfully on different well-known web browsers Microsoft Internet Explorer, Mozilla Firefox, Apple Safari, and Google Chrome Cross-device and can run successfully on PCs and handheld mobile devices 13. Silverlight Architecture,

Current Design for the My Album RIA

The main focus of Chapter 2 was to develop a fully functional RIA quickly the My Album RIA using Silverlight. As a result, from the design point of view, we just concentrated on the application navigation i.e., user interface . We were pretty successful in achieving that goal, but the My Album RIA is not flexible and scalable enough to accommodate the dynamic nature of an enterprise-level application and customer requirements. Figure 3-9 presents the application architecture of the...

Custom Content XML Files

The alternative approach is to use anXMLftle in our example it is tpContents.xml defining training profiles to build the left navigation and preview panes. The structure of the tpContents.xml file is very much aligned with the trainingPortalDB_Data.mdf database. The following is a snapshot of the tpContents.xml file containing example information lt xml version 1.0 encoding utf-8 gt lt TrainingPortal gt lt Category Title Technology Articles Id l gt lt Training gt lt Title gt Manage Metadata...

Media Player mediaPlayer Custom Control

Add a new project to the solution by creating a new mediaPlayer Silverlight class library project to develop the video media player control to play training video files within the training content display pane. We will implement basic media player functionality like play, pause, rewind, and forward functions as well as volume control functionality. Add a file named generic.xaml under the Theme folder and follow all the steps described earlier to add a ControlTemplate with the TargetType set to...

Thumbnails MouseEnter and MouseLeftButtonDown Events

As shown in the showPicture and playVideo methods, we dynamically assign event handlers for MouseEnter and MouseLeftButtonDown for each thumbnail when we create them. The following sections show implementation of both these methods. thumbnails_MouseEnter Event Implementation When users mouse over a thumbnail, the MouseEnter event is raised. As we set Opacity to 0.5 when creating thumbnails in the createThumbnails method, we will increase this Opacity value to 1 using the fadeThumb storyboard by...

RSS Feed Viewer RssReader Custom Control

Add a new project to the solution by creating a new Rss2Reader Silverlight class library project to develop the RSS feed viewer UI component of the portal. This control will be populated with the data that we parse using LINQ and the SyndicationFeed class. The URLfor the feedwillbe accessed from tpFeeds.xml. We are going to follow all the steps outlined previously in the Understanding Silverlight Custom Controls section. Add a file named generic.xaml under the Theme folder and follow all the...

Defining Enterprise

Enterprise Concept

Figure 3-1 shows the big picture of the Enterprise 2.0 concept. Figure 3-1. Enterprise 2.0 the big picture1 Figure 3-1. Enterprise 2.0 the big picture1 The term Enterprise 2.0 is originally defined as the following by Professor Andrew McAfee of the Harvard Business School 2 Enterprise 2.0 is the use of emergent social software platforms within companies, or between companies and their partners or customers. Social software enables people to rendezvous, connect, or collaborate through...

Silverlight and ServiceOriented Architecture

Chapters 3 and 4 of this book are dedicated to new enterprise architecture concepts. These concepts provide new challenges to enterprises that want to accommodate Enterprise 2.0 and enable development and deployment of Web 2.0-based RIAs. Chapter 3 discussed the definition of an Enterprise 2.0-ready technology platform and how Silverlight fits that definition. The chapter also defined the possible enterprise-level architecture of the My Album Silverlight RIA, which was originally developed in...

Preview Pane thumbnails Custom Control

Add a new project to the solution by creating a new thumbnails Silverlight class library project, which will be used to develop the preview pane user interface component of the portal. It will build the preview pane thumbnails dynamically based on the training track selection in the left navigation pane. The thumbnails get populated from the training content data file based on the data source defined in the tpConfig.xml file. In our case, it will read either the tpContents.xml file or the...

PART Enterprise Application Development with Silverlight

CHAPTER 3 Silverlight An Enterprise-Ready Technology Platform 81 What Is an Enterprise-Ready Technology Platform 81 Defining Enterprise Goals for the Enterprise-Ready Technology Platform 85 Is Silverlight an Enterprise-Ready Technology Platform 89 Silverlight-Based Applications Are Business-Enabled RIAs 89 Silverlight-Based RIAs Follow the Seven Key Principles of Building RIAs As a Silverlight Is Platform Conclusion Silverlight Is an Enterprise-Ready Technology Platform 90 Design Concepts for...

Preparing Thumbnails for the Preview Pane Using Microsoft Expression Encoder

We'll use Expression Encoder to create thumbnails of the pictures and videos of different categories for the preview pane. The following steps explain how to create thumbnails of a video using Expression Encoder 1. Start Microsoft Expression Encoder. 2. In the File menu, click New Job. 3. In the Media Content section, click Import see Figure 2-25 . This will bring up the Import Media Files dialog box. Figure 2-25. Importing mediafiles usingExpression Encoder Figure 2-25. Importing mediafiles...

User Interface Layout Definition

We will expand the grid from 2X2 to 4X2 compared to the My Album RIA to accommodate different parts of the RIA, which will ease the work of designing, placing, and maintaining controls. We will set Row l's height to and Column 1's width to Auto to cover a portion of the window. This allows the content container to keep the width to the size of the content and the application to resize according to the browser window's size, maintaining the original aspect ratio of the different parts of the...

Key Components of Custom Controls

Silverlight custom controls contain a clear separation between the user interface definition and business logic see Figure 5-7 compared to other reusable GUI custom controls e.g., Windows Forms or ASP.NET, where there is no clear separation between the visuals and logic . This feature enables the development team to customize an application-specific look and feel without having an impact on the business logic of the custom control. Figure 5-7. Microsoft Silverlight custom controls contain a...

User Interface Navigation Patterns

Consistent to the My Album RIA, the following are the key navigation patterns of the Enterprise Training Portal RIA The center stage theme displays the selected content media, RSS feed, image in the main StackPanel control as a container. The left navigation pane dynamically drives the user to navigate through the available categorized content to receive the appropriate training. We will use the static multilevel hierarchy navigation pattern two-level to display different categories of training...

Developing Custom Controls Enterprise Library

Custom controls will allow the Enterprise Training Portal to be modular, pluggable, and customizable. We need to develop four Silverlight class library projects panelMenu, thumbnails, mediaPlayer, and Rss2Reader as custom controls to build the interactive presentation layer of the training portal. Figure 5-28 shows a complete high-level class diagram of the Enterprise Training Portal RIA. mouseButtonPressed bool mouselsDragging bool i pLast Point tpLayer tpDataLayer Methods 3 ' currentStageQ...

Application Architecture

The application architecture of RIAs mainly provides the application framework definition, determining the technologies and services that will be used in the development of the application. The application architecture also covers the design and definition of the application's services and components. The application framework defines the integration of different application layers the presentation user interface layer, the services layer, the business components layer, the data access layer,...

Image Viewer MultiScaleImage Control

The image viewer includes the Silverlight Deep Zoom functionality. You need to use the MultiScaleImage control available as part of the default Silverlight control to enable the Deep Zoom functionality. We will add this control as part of the main Silverlight TrainingPortal application project within the main user control of the Page.xaml file. In this section, you will see how to prepare images for Deep Zoom using the freely available Deep Zoom Composer. You can download the Deep Zoom Composer...

Different Versions of Silverlight

Silverlight Architecture

At present, two versions of Microsoft Silverlight Silverlight 1 and Silverlight 2 are available. After having a great showcase at Mix 2007 in May 2007, Microsoft Silverlight 1 earlier known by the code name WPF E Windows Presentation Foundation Everywhere , along with Microsoft Expression Encoder 1.0, was released in September 2007 as the first version of Silverlight. Silver-light 1 is a very rudimentary release of the product and mainly focuses on the development of Rich Media Internet...