| By Michael S. Scherotter | Article Rating: |
|
| November 6, 2007 08:45 AM EST | Reads: |
11,155 |
Michael Scherotter's Synergist BlogOver the weekend, my challenge was to learn about OpenSocial and create a Silverlight application that uses it. I did that, with this simple application. To take advantage of the OpenSocial implementation in Orkut sandbox, you have to create a Google Gadget with the OpenSocial feature, post the gadget on the Internet, and then add the URL of the gadget as an application.
As I looked into the Google gadget API to build this, I found something interesting, the Google Gadget framework exposes the function _IG_FetchContent() that can be used to asynchronously fetch the text at any URL. This is called cross-domain data access and if enabled in the browser, it opens up a very big security hole. One of the challenges in writing Silverlight applications that run in a secure browser sandbox is that they can't access data from a different domain.
For example, if your site is http://blogs.msdn.com, your Silverlight client-side JavaScript can't get data from Web 2.0 services like Twitter at the URL http://twitter.com/statuses/friends_timeline/Synergist.xml and render it out in Silverlight. To do this in Silverlight today, you have to either do some server-side code to create a bridge or proxy web service that routes the service on the server. It isn't hard, but it's another step that you have to take, and the server-side code for a PHP website would be different than the code for an ASP.Net website. I am told that the next version of Silverlight, 1.1, will have a better way of doing that.
Mash-up and Gadget Frameworks
Other options are to use mash-up and gadget frameworks like Microsoft's Popfly, Yahoo! Pipes, or Google Gadgets that implement this cross-domain data access for you.
Since OpenSocial applications in Orkut are based on Google Gadgets, it is possible for Silverlight OpenSocial applications in Orkut to take advantage of these Google Remote Content APIs to make cross-domain calls. This can be used to call Web 2.0 services or to composite your Silverlight application from XAML residing on various domains. Where you would use Silverlight's Downloader object for same-domain data and services, you would use the _IG_FetchContent() and _IG_FetchXmlContent() to access data from external domains. Here's how I've used it to download XAML from cross domains and populate the Silverlight Scene graph:
var m_root = null;
function OnLoad(sender, context, source)
{
m_root = source;
_IG_FetchContent("http://hosting.gmodules.com/ig/gadgets/file/
113009390747258006757/OpenSocial.xaml", GotXaml)
}
function GotXaml(xaml)
{
var host = m_root.getHost();
var canvas = host.content.CreateFromXaml(xaml);
m_root.children.Clear();
m_root.children.Add(canvas);
}
Now that's Synergy!
Thank you Google for making Silverlight better!
Published November 6, 2007 Reads 11,155
Copyright © 2007 SYS-CON Media, Inc. — All Rights Reserved.
Syndicated stories and blog feeds, all rights reserved by the author.
- How To Create a Silverlight App That Consumes a POX Service
- Silverlight and Astoria - First Impressions
- Silverlight and Moonlight
- AJAX, Flash, Silverlight, or JavaFX: Must We Choose?
- Microsoft Releases Silverlight 1.0
- Cynergy Continues Expansion of Microsoft Silverlight Practice
- Wow! Is Silverlight Hot!- All I Did Was Offer...
- Most .NET Developers Are Playing with Blend and Silverlight
- Google's OpenSocial Initiative Gains Massive Momentum
- OpenSocial: "It's Good for Developers" Says Google's Joe Kraus
- The OpenSocial Era of Cross-Network Social Applications Begins
- Microsoft Silverlight Jives With Google's OpenSocial
- Fifty Million Facebook Users Don't Care About Google's OpenSocial APIs
- Google's OpenSocial: A Technical Overview and Critique
- Google Goes On Disrupting: Last Week OpenSocial, This Week Open Phones
- Plaxo Is First Site To Publicly Implement OpenSocial
More Stories By Michael S. Scherotter
A developer evangelist for Microsoft's Communications Sector of North America, Michael S. Scherotter is based in the San Francisco Bay Area.
![]() |
Michael S. Scherotter 11/06/07 09:14:27 AM EST | |||
You can read more about Silverlight and OpenSocial on my blog at http://blogs.msdn.com/synergist. |
||||
![]() |
netBear 11/06/07 08:59:30 AM EST | |||
Does Flash work with OpenSocial? |
||||
- Cloud CEOs, CTOs & SVPs to Speak at 4th International Cloud Computing Expo
- Will PR Firms Survive The New Media Avalanche?
- Publishing Synergy: Blog, Twitter and Ulitzer
- Typhoon Ondoy (Ketsana) Hits the Philippines (Part 2)
- Combining the Cloud with the Computing: Application Delivery Networks
- SOA World Magazine’s 8th Annual "Readers' Choice Awards" Nominations Open
- Confessions of a Ulitzer Addict
- My Thoughts on Ulitzer
- Ulitzer vs. Ning
- Orchestration in the Cloud to Manage Lower Operational Costs
- AJAX World RIA Conference & Expo Kicks Off in New York City
- Sun Federal's Dr Harry Foxwell to Speak at 1st Annual GovIT Expo
- Cloud CEOs, CTOs & SVPs to Speak at 4th International Cloud Computing Expo
- Ted Weissman and Lois Paul & Partners PR Firm
- Will PR Firms Survive The New Media Avalanche?
- Publishing Synergy: Blog, Twitter and Ulitzer
- Improving the Efficiency of SOA-Based Applications
- Typhoon Ondoy (Ketsana) Hits the Philippines (Part 2)
- SOA, BPM, CEP: Getting IT Budget in a Tight Economy
- Combining the Cloud with the Computing: Application Delivery Networks
- Where Are RIA Technologies Headed in 2008?
- AJAX World RIA Conference & Expo Kicks Off in New York City
- JSON vs XML - A Jason vs Freddie Sequel
- Processing XML with C# and .NET
- Has the Technology Bounceback Begun?
- BPEL Processes and Human Workflow
- Open Source Database Special Feature: An Introduction to Berkeley DB XML
- "HP's Problem Ain't the SAP Install," Says Sun's Schwartz
- eXist - An Introduction To Open Source Native XML Database
- Digitizing the Planet: Google Earth vs MSN Virtual Earth vs MapQuest

































