Chris J.T. Auld – Director, Intergen

Slides:



Advertisements
Similar presentations
Ronnie Saurenmann Job title: Cant live without Silverlight Microsoft Switzerland 4 Overview.
Advertisements

The Microsoft Technical Roadshow 2006 Windows Presentation Foundation (WPF) Marcus Perryman
Silverlight Presenter: Kevin Grossnicklaus February 25 th, 2010.
WPF vs Silverlight Stuart Haas. WPF  Windows Presentation Foundation  Included in Vista, Server 2008 and XP service pack 2  Deployed in desktop and.
1 Introduction to Silverlight 1.1 Mark Smith
An Introduction To Silverlight Gergely Orosz
Developing Rich Web Applications with Silverlight Mike Ormond Developer & Platform Group Microsoft Ltd
Michael Koester Designer Marketing Manager The World of Expression.
Building Your First Great Silverlight 2 Application Guy Burstein Microsoft Israel
1 1 Silverlight is a web browser plug-in. 2 2 There are two versions September 2007~October 2008 V2 is backwards compatible & where you’d start today.
DEV392: Extending SharePoint Products And Technologies Through Web Parts And ASP.NET Clint Covington, Program Manager Data And Developer Services - Office.
The Microsoft’s solution for building cross-platform Rich Internet Applications.
T.N.C.Venkata Rangan CMD, Vishwak Solutions Pvt. Ltd. Microsoft (MSDN) Regional Director, Chennai Microsoft MVP – Windows Live Platform Living with Heterogeneity.
Introduction & Welcome Marcus Perryman Mike Taulty
Ronnie Saurenmann Principal Architect Microsoft Switzerland.
It’s always better live. MSDN Events Developing ASP.NET AJAX Controls with Silverlight.
Michael S. Scherotter Microsoft Corporation
Developing on the Windows Live Platform Mike Ormond Developer & Platform Group Microsoft Ltd
What’s new for Rich Clients? Martin Parry Developer & Platform Group Microsoft Ltd
Chapter 14 Introduction to HTML
Best and Worst Practices Building RIA from Adobe and Microsoft.
Winter Consolidated Server Deployment Guide for Hosted Messaging and Collaboration version 3.5 Philippe Maurent Principal Consultant Microsoft.
MVC New release IE8 Beta 1 Deep Zoom (sea dragon) Silver light 2.0 Beta 1 Expression Blend 2.5 Preview Instant Messaging API Enhancements to Virtual Earth.
Introduction to.Net and ASP.Net Course Introduction Build Your Own ASP.Net Website: Chapter 1 Microsoft ASP.Net Walkthrough: Creating a Basic Web Forms.
2 A First Look at Windows Presentation Foundation Everywhere ("WPF/E") Joe Stegman Lead Program Manager Microsoft Corporation.
Introduction to Silverlight By Alan Cobb 2008-Jan-10 Sacramento, CA
Introduction to Silverlight. Slide 2 What is Silverlight? It’s part of a Microsoft Web platform called Rich Internet Applications (RIA) There is a service.
NOTE: To change the image on this slide, select the picture and delete it. Then click the Pictures icon in the placeholder to insert your own image. WEB.
Intro to Silverlight Kevin Grossnicklaus. Introductions Kevin Grossnicklaus – SSE - ( ) Chief Architect Software.
A Jumpstart to WPF by Kevin Grossnicklaus ArchitectNow.
Silverlight Hitesh Trivedi Computer Science B.Tech A-Sec J.I.E.T.
11 Web Services. 22 Objectives You will be able to Say what a web service is. Write and deploy a simple web service. Test a simple web service. Write.
Silverlight Technology. Table of Contents 1.What is Silverlight Technology? 2.Silverlight Overview. 2.1 How it works 2.2 Silverlight development tools.
Building RIA for Desktop, Web and Mobile using Silverlight and WPF Giorgio Sardo UX Consultant, Microsoft UK blogs.msdn.com/Giorgio.
Object Oriented Software Development 9. Creating Graphical User Interfaces.
The Microsoft Technical Roadshow 2007 Rich Client Development in XAML Mark Johnston Developer & Platform Group Microsoft Ltd
Microsoft Silverlight An Introduction. Silverlight is a cross-browser, cross-platform plug-in* * An auxiliary program that works with a software package.
Introducing ASP.NET 2.0. Internet Technologies WWW Architecture Web Server Client Server Request Response Network HTTP TCP/IP PC/Mac/Unix + Browser (IE,
New Features Overview. Agenda Silverlight - Intro Silverlight 3 New Features Overview with Demos, Demos and Demos… RIA Services Overview Demos, Demos,
Overview of Silverlight Mike Taulty Developer & Platform Group Microsoft Ltd
Name Microsoft Student Partner Overview of the Visual Studio 2005 Express Products.
Developing ASP.NET AJAX Controls with Silverlight Barry Gervin Microsoft Regional Director John Bristowe Developer Advisor, Microsoft.
A Lap Around Windows Presentation Foundation. Why hasn’t UX taken off in software? It’s Difficult! Animation 2D 3D Documents Styled Controls Video Windows.
Silverlight 2 Andrew Pardoe Program Manager CLR Execution Engine
Silverlight for Web Hosting Companies Michael S. Scherotter Microsoft Corporation
Mike Taulty Developer & Platform Group Microsoft Ltd
Building Excellent Internet & Intranet Solutions Dave Remmer Architect Advisor Microsoft Canada
Contents : What is Silverlight? Silverlight Overview Silverlight Toolkit Overview Timeline & Packaging Silverlight V1.0 & V1.1 Properties of V1.0 Properties.
© Copyright SELA software & Education Labs Ltd Baruch Hirsch St.Bnei Brak Israel
1 Välkommen till Sommarkollo Windows Presentation Foundation Per Östman ISV Developer Evangelist
Windows SharePoint Services Installation and Configuration.
Windows Presentation Foundation. User Experience: Recent Past Web HTML Sacrificed UX for portability, connectivity and simplicity 1997 – DHTML.
Microsoft Office System UK Developers Conference Radisson Edwardian, Heathrow 29 th & 30 th June 2005.
The New Face of ASP.NET ASP.NET MVC, Razor, and jQuery Ido Flatow | Senior Architect | Sela | This session is.
Microsoft Silverlight An Introduction. Silverlight is a cross-browser, cross-platform plug-in* * An auxiliary program that works with a software package.
Introduction to Avalon Mike Taulty Microsoft Ltd
Introduction to Silverlight Development Pavel Yosifovich CTO, Matrix Global; Senior Instructor, Hi-Tech College
ArcGIS for Server Security: Advanced
GrapeCity Build Experiences with Enterprise-level Tools and Solutions
WPF vs Silverlight.
Introduction to Silverlight
Microsoft Silverlight
Silverlight Technology
Developer Patterns to Integrate Silverlight 4.0 with SharePoint 2010
Tooling and Diagnostics
Overview of Silverlight 2
Silverlight 2 Mike Taulty Developer & Platform Group Microsoft Ltd
Windows Presentation Foundation
Windows Forms in Visual Studio 2005: An in-depth look at key features
Presentation transcript:

Chris J.T. Auld – Director, Intergen

Notes Before We Start Assumptions Some prior CRM experience No prior Silverlight experience Like demos where we build stuff Learning Goals Practical and Pragmatic techniques Currently shipping bits: CRM 4, SL3 Contact me Chris Auld

Agenda Overview What is Microsoft Silverlight? What is XAML? Where to use Silverlight? Tooling for Silverlight: Expression Blend and Visual Studio Calling into MSCRM from Silverlight Hosting Silverlight inside the MSCRM UI

A Teaser A Quick Lap Around What We’ll Be Building Today

What is Microsoft Silverlight? A tool from Microsoft for building rich user interfaces that are browser hosted Cross-browser (IE, Firefox, Safari) Cross-platform (PC, Mac, Linux*) Does NOT require the.NET Framework installed 4 MB download, 4-10 seconds to install Includes Core.NET Framework Use any.NET languages – VB, C#, JavaScript, IronPython, IronRuby Rich presentation support – Animation, Inking, Video, Audio etc *Community built Moonlight project offers Linux support

Why use Silverlight with MSCRM? Allows rich LoB UI via a Web Browser Faster UI – Rich UI elements of rapid data I/O Richer UI – Rich graphics for visualization of data Allows Media unsupported by CRM UI E.g. No support for video or audio in out of box UI Proprietary client side IP Silverlight binaries can be obfuscated Local ‘Isolated Storage’ provides semi-offline experience Use desktop development practices on the web Call WCF services, etc…

Silverlight vs WPF Silverlight implements a subset of WPF It uses the same XAML notation Different hosting model WPF is Microsoft Windows Only, Silverlight is Cross Platform WPF Requires.NET Framework 3.0 or above Key things missing from Silverlight: No hardware access (Webcams, Microphones, Etc…) Rich text features and flow documents Style features simplified – no inheritance Triggers - not on styles, data or control templates Data binding more limited – no triggers, simplified Binding object No dynamic resource support Still possible to write portable code for WPF + Silverlight See for more details:

XAML: Declarative Programming for Windows Markup for Windows Build applications in simple declarative statements Serialization of an object tree Code and content are separate Streamline collaboration between designers and developers Easy for tools to consume and generate OK LightBlue Button b1 = new Button(); b1.Content = "OK"; b1.Background = new SolidColorBrush (Colors.LightBlue); b1.Width = 100; Dim b1 As New Button b1.Content = "OK" b1.Background = New _ SolidColorBrush _ (Colors.LightBlue) b1.Width = 100 OK

Hosting Silverlight Applications Silverlight applications are hosted via a Web Browser plug-in using an HTML object tag Can specify HTML displayed if plug-in is missing Silverlight.js helper file allows creation via code Silverlight uses the Hosts network stack and default credentials Can use ASP.NET Server Control Silverlight.createObject( "ClientBin/SilverlightApplication1.xap", silverlightControlHost, // parent DHTML element "slPlugin", // id for generated object element {}, {}, "param1=value1,param2=value2", //Parameters "context”); Silverlight.createObject( "ClientBin/SilverlightApplication1.xap", silverlightControlHost, // parent DHTML element "slPlugin", // id for generated object element {}, {}, "param1=value1,param2=value2", //Parameters "context”);

Silverlight + MSCRM Scenarios Use Silverlight in a Web Portal Build Silverlight application Connect Silverlight application to Microsoft CRM via a WCF Proxy Host Silverlight application in a new or existing web site Use Silverlight inside the CRM UI Build Silverlight application Connect Silverlight application to Microsoft CRM Host Silverlight application in an ASP.NET page in the ‘ISV’ folder Surface in the CRM UI Use sitemap.xml to create a link to load it into the main pane Use ISV.config to launch new window Load into an iFrame on an entity form

Building out the Silverlight application

Connecting Silverlight to CRM Data Use WCF and Add Service Reference Connect via a WCF Proxy on the Server Lightweight client proxy using HttpWebRequest

Connecting Silverlight to CRM Data Use WCF and Add Service Reference –Fast and familiar to CRM developers –Full access to data –Must use Dynamic Entities to work with data –Requires additional headers for CRM Authentication –Requires client to possess clear text credentials –See for helper codehttp://tinyurl.com/c5copm Silverlight Application SOAP 1.2 CRM Web Services We’ll be taking this approach in the demo

Connecting Silverlight to CRM Data Connect via a WCF Proxy on the Server –Familiar to most.NET developers –Must write code for every type of data you need to access –Can ‘hide’ credentials on the server – suitable for public web sites Silverlight Application WCF Custom WCF Service Custom WCF Service WCF CRM Web Services

Connecting Silverlight to CRM Data Lightweight client proxy using HttpWebRequest –Smaller *.xap file loads faster –Full access to data –Requires client to possess clear text credentials –Requires purchase of the XRM Book to get library code –See Silverlight Application RAW SOAP CRM Web Services Helper

Cross Domain Calls crm.hosting.fabrikam.com *.XAP WCF Call GET ClientAccessPolicy.xml WCF Call

Cross Domain Calls Silverlight client calls a server’s service Service is on different domain than that serving the *.xap file Silverlight rejects call Must download a valid clientaccesspolicy.xml file

Cross Domain Policy Files Silverlight looks for both ClientAccessPolicy.xml (Silverlight) CrossDomain.xml (Flash format) File must be in the web root

Connecting the Silverlight app to CRM

Working with XAML in Expression Blend

Hosting Silverlight in CRM UI Linked from Main Navigation using SiteMap.xml Opened in a new window using ISV.config Hosted in an iFrame on an entity form

Hosting– Link from Main Nav Linked from Main Navigation using SiteMap.xml –Suitable for Dashboards and applications that do not relate to a particular entity. Elements that should appear to be ‘part of CRM’ –Use ‘Dynamics CRM Demonstration Tools’ to edit SiteMap.xml –See for a good How-Tohttp://tinyurl.com/4drvz2 Link displayed here HTML Page and hosted Silverlight application displayed here

Hosting – Open new Window Linked from Main Navigation using SiteMap.xml –Suitable for Applications that should appear to be separate to CRM –Edit ISV.config –use code to merge with existing config data –See for a good How-Tohttp://tinyurl.com/4drvz2 Link displayed here

Hosting – IFrame in Entity Form Hosted in a specific entity form –Suitable for Applications that require their context of a given entity e.g. for a given Contact or Account –Use CRM Customization to create an iFrame on the Entity Form –This is what we’ll be doing in the demo iFrame hosts HTML Page HTML Page hosts Silverlight Control iFrame hosts HTML Page HTML Page hosts Silverlight Control

Passing Context to Silverlight Silverlight supports initialization parameters passed in as a string When using iFrame hosting need to pass through parameters Silverlight.createObject( "ClientBin/SilverlightApplication1.xap", silverlightControlHost, // parent DHTML element "slPlugin", // id for generated object element {}, {}, "param1=value1,param2=value2", //Parameters "context”); Silverlight.createObject( "ClientBin/SilverlightApplication1.xap", silverlightControlHost, // parent DHTML element "slPlugin", // id for generated object element {}, {}, "param1=value1,param2=value2", //Parameters "context”);

Passing iFrame Parameters Configure iFrame to pass parameters IFrame will pass through parameters for type, typename and id when loading the hosted page

Pass Parameters to Silverlight Need to take URL with parameters and pass these into Silverlight <asp:Silverlight ID="Xaml1" runat="server" Source="~/ISV/ClientBin/myExample.xap" MinimumVersion=" " > <asp:Silverlight ID="Xaml1" runat="server" Source="~/ISV/ClientBin/myExample.xap" MinimumVersion=" " > public partial class _Default : System.Web.UI.Page { protected void Page_Load(object sender, EventArgs e) { Xaml1.InitParameters += ",id=" + Request["id"]; } public partial class _Default : System.Web.UI.Page { protected void Page_Load(object sender, EventArgs e) { Xaml1.InitParameters += ",id=" + Request["id"]; } public partial class App : Application { public App() { this.Startup += this.Application_Startup; } private void Application_Startup(object sender, StartupEventArgs e) { this.RootVisual = new Page(); string id = e.InitParams["id"]; public partial class App : Application { public App() { this.Startup += this.Application_Startup; } private void Application_Startup(object sender, StartupEventArgs e) { this.RootVisual = new Page(); string id = e.InitParams["id"];

Hosting Silverlight in an iFrame with Context

Summary What is Microsoft Silverlight? Where to use Silverlight? Intro to XAML Calling into MSCRM from Silverlight Hosting Silverlight inside the MSCRM UI Code on my blog later today

© 2008 Microsoft Corporation. All rights reserved. This presentation is for informational purposes only. Microsoft makes no warranties, express or implied, in this summary.