<?xml version="1.0" encoding="UTF-8" ?>
<?xml-stylesheet type="text/xsl" href="http://blogs.msdn.com/utility/FeedStylesheets/rss.xsl" media="screen"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:wfw="http://wellformedweb.org/CommentAPI/"><channel><title>A Cup of Silverlight, RIA &amp; Interoperability : Intro</title><link>http://blogs.msdn.com/silverlight_plus_java/archive/tags/Intro/default.aspx</link><description>Tags: Intro</description><dc:language>en-US</dc:language><generator>CommunityServer 2.1 SP1 (Build: 61025.2)</generator><item><title>A cup of Silverlight, a drop of Architecture</title><link>http://blogs.msdn.com/silverlight_plus_java/archive/2008/07/28/a-cup-of-silverlight-a-drop-of-architecture.aspx</link><pubDate>Mon, 28 Jul 2008 13:04:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:8783557</guid><dc:creator>Steve SFARTZ</dc:creator><slash:comments>3</slash:comments><comments>http://blogs.msdn.com/silverlight_plus_java/comments/8783557.aspx</comments><wfw:commentRss>http://blogs.msdn.com/silverlight_plus_java/commentrss.aspx?PostID=8783557</wfw:commentRss><description>&lt;P&gt;We discussed before &lt;A href="http://blogs.msdn.com/silverlight_plus_java/archive/2008/07/24/silverlight-from-a-technical-stand-point.aspx" mce_href="http://blogs.msdn.com/silverlight_plus_java/archive/2008/07/24/silverlight-from-a-technical-stand-point.aspx"&gt;what Silverlight is about from a technical standpoint&lt;/A&gt;. Moving from theory to implementation, let's discuss today the architectural challenges when building a Silverlight App. The following considerations apply to Siliverlight 2 beta 2 (current version of Silverlight as of July 2008) : &lt;/P&gt;
&lt;OL&gt;
&lt;LI&gt;A SilverLight app runs locally in the browser which renders a Web page composed of HTML code and a XAP archive. This archive contains presentation code (XAML), logic code (JavaScript, .Net or Dynamic) and Resources (Images… that may be accessed for Silverlight logic code). &lt;/LI&gt;
&lt;LI&gt;The Silverlight app may interact with Services in two ways and through 5 different API’s 
&lt;UL&gt;
&lt;LI&gt;HTTP stack 
&lt;UL&gt;
&lt;LI&gt;HTTP GET, POST / REST style : WebClient, HttpWebRequest &lt;/LI&gt;
&lt;LI&gt;SOAP over HTTP : WCF client&lt;/LI&gt;&lt;/UL&gt;&lt;/LI&gt;
&lt;LI&gt;IP Socket 
&lt;UL&gt;
&lt;LI&gt;TCP : System.Net TCP Listener &lt;/LI&gt;
&lt;LI&gt;Socket : System.Net Sockets &lt;/LI&gt;
&lt;LI&gt;Duplex Channel: As a bonus, Silverlight 2 beta 2 brings among its set of news features, a duplex channel communication through its WCF support.&lt;/LI&gt;&lt;/UL&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;/LI&gt;&lt;/OL&gt;
&lt;P&gt;As we focus on Silverlight interop in this blog, we will detail the HTTP aspects only. Here is some global consideration from what we've learned so far :&lt;/P&gt;
&lt;BLOCKQUOTE&gt;
&lt;P&gt;&lt;A href="http://blogs.msdn.com/blogfiles/silverlight_plus_java/WindowsLiveWriter/AcupofSilverlightadropofArchitecture_F98F/image_2.png"&gt;&lt;IMG title=image style="BORDER-RIGHT: 0px; BORDER-TOP: 0px; BORDER-LEFT: 0px; BORDER-BOTTOM: 0px" height=414 alt=image src="http://blogs.msdn.com/blogfiles/silverlight_plus_java/WindowsLiveWriter/AcupofSilverlightadropofArchitecture_F98F/image_thumb.png" width=537 border=0&gt;&lt;/A&gt; &lt;/P&gt;&lt;/BLOCKQUOTE&gt;
&lt;P&gt;To fully understand the above, may we bring some complementary vocabulary and explanations : &lt;/P&gt;
&lt;UL&gt;
&lt;LI&gt;SOO - Site Of Origin designates the Web Site from which the XAP is downloaded, ie, your HTTP Web Server &lt;/LI&gt;
&lt;LI&gt;The Business Logic is composed of the Web Services exposed to your SL client.&lt;/LI&gt;&lt;/UL&gt;
&lt;P&gt;The Web Services may be running on the Site Of Origin or not. Depending on this topology, your security settings need to be adapted by adding a cross domain access policy at the root of the Web Services host endpoint. This secures the invocation of services from a Silverlight client whose Site of Origin does not host the requested services endpoint. For more information about cross domain, read scorbs post "&lt;A title='Permanent Link to "Silverlight HTTP Networking Stack - Part 2 (Cross Domain Communication Overview)"' href="http://scorbs.com/2008/04/15/silverlight-http-networking-stack-part-2-cross-domain-communication-overview/" rel=bookmark&gt;Silverlight HTTP Networking Stack - Part 2 (Cross Domain Communication Overview)&lt;/A&gt;"&lt;/P&gt;
&lt;P&gt;As the Web brings two services styles (SOAP/RPC &amp;amp; XML/REST), Silverlight supports both. To decide which one to use for your Silverlight data interactions, read "&lt;A id=bp___v___r___postlist___EntryItems_ctl01_PostTitle href="http://blogs.msdn.com/silverlight_plus_java/archive/2008/07/30/what-are-those-soap-rpc-and-xml-rest-styles.aspx"&gt;&lt;FONT color=#176db5&gt;What are those SOAP/RPC and XML/REST styles ?&lt;/FONT&gt;&lt;/A&gt; ".&lt;/P&gt;
&lt;P&gt;From those considerations, we propose to decline the Silverlight Architecte described above into Real World Enterprise Scenarios focusing on &lt;A href="http://blogs.msdn.com/silverlight_plus_java/archive/tags/D2D/default.aspx"&gt;&lt;FONT color=#176db5&gt;D2D&lt;/FONT&gt;&lt;/A&gt;, &lt;A href="http://blogs.msdn.com/silverlight_plus_java/archive/tags/B2E/default.aspx"&gt;&lt;FONT color=#176db5&gt;B2E&lt;/FONT&gt;&lt;/A&gt;, &lt;A href="http://blogs.msdn.com/silverlight_plus_java/archive/tags/B2B/default.aspx"&gt;&lt;FONT color=#176db5&gt;B2B&lt;/FONT&gt;&lt;/A&gt;&amp;nbsp;or &lt;A href="http://blogs.msdn.com/silverlight_plus_java/archive/tags/B2C/default.aspx"&gt;&lt;FONT color=#176db5&gt;B2C&lt;/FONT&gt;&lt;/A&gt; scenarios: &lt;A id=bp___v___r___postlist___EntryItems_ctl02_PostTitle href="http://blogs.msdn.com/silverlight_plus_java/archive/2008/07/28/silverlight-scenarios-for-rich-internet-applications.aspx"&gt;&lt;FONT color=#176db5&gt;Silverlight scenarios for Rich Internet Applications&lt;/FONT&gt;&lt;/A&gt;,&lt;/P&gt;
&lt;P&gt;To finish with, let's discuss interoperability. We named our Web &amp;amp; App Server layer as Interaction &amp;amp; Transactional Services to refer to Microsoft SOA Reference Architecture Model where 2 nature of SOA are introduced : SOA to interact and SOA to transact, the two being connected through interop channels. This is where our Silverlight plus ... Java, .Net, PHP, Ruby... comes into play.&lt;/P&gt;
&lt;BLOCKQUOTE&gt;
&lt;P&gt;&lt;A href="http://blogs.msdn.com/ssfartz" mce_href="http://blogs.msdn.com/ssfartz"&gt;&lt;IMG style="BORDER-TOP-WIDTH: 0px; BORDER-LEFT-WIDTH: 0px; BORDER-BOTTOM-WIDTH: 0px; BORDER-RIGHT-WIDTH: 0px" height=299 alt=image src="http://blogs.msdn.com/blogfiles/silverlight_plus_java/WindowsLiveWriter/AcupofSilverlightadropofArchitecture_A1F6/image5.png" width=456 border=0 mce_src="http://blogs.msdn.com/blogfiles/silverlight_plus_java/WindowsLiveWriter/AcupofSilverlightadropofArchitecture_A1F6/image_5.png"&gt;&lt;/A&gt;&lt;/P&gt;&lt;/BLOCKQUOTE&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=8783557" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/silverlight_plus_java/archive/tags/Intro/default.aspx">Intro</category><category domain="http://blogs.msdn.com/silverlight_plus_java/archive/tags/XML_2F00_REST/default.aspx">XML/REST</category><category domain="http://blogs.msdn.com/silverlight_plus_java/archive/tags/SOAP_2F00_RPC/default.aspx">SOAP/RPC</category><category domain="http://blogs.msdn.com/silverlight_plus_java/archive/tags/Architecture/default.aspx">Architecture</category><category domain="http://blogs.msdn.com/silverlight_plus_java/archive/tags/Interoperability/default.aspx">Interoperability</category></item><item><title>Silverlight from a technical stand point</title><link>http://blogs.msdn.com/silverlight_plus_java/archive/2008/07/24/silverlight-from-a-technical-stand-point.aspx</link><pubDate>Thu, 24 Jul 2008 17:07:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:8769361</guid><dc:creator>Steve SFARTZ</dc:creator><slash:comments>2</slash:comments><comments>http://blogs.msdn.com/silverlight_plus_java/comments/8769361.aspx</comments><wfw:commentRss>http://blogs.msdn.com/silverlight_plus_java/commentrss.aspx?PostID=8769361</wfw:commentRss><description>&lt;P&gt;We have good news : everything you learnt about the Web applies to Silverlight development since Silverlight is an ActiveX which integrates with the HTML Document Object Model (DOM) and JavaScript both ways (ie, a Silverlight component can be exposed to JavaScript, and some Silverlight Business Logic can call Javascript).&lt;/P&gt;
&lt;P&gt;A Silverlight application comes as a XAP archive (ZIP format) delivered as a resource on a HTTP Server which is referenced as the Web Site of Origin.&lt;/P&gt;
&lt;P&gt;Developing a Silverlight application involves several skills : &lt;/P&gt;
&lt;UL&gt;
&lt;LI&gt;XAML for Presentation, &lt;/LI&gt;
&lt;LI&gt;a programming language for the UI Interaction &amp;amp; Business Logic (JavaScript, .Net and Dynamic languages) &lt;/LI&gt;
&lt;LI&gt;Web Services knowledge to&amp;nbsp;expose your data to the&amp;nbsp;Silverlight client&amp;nbsp;through the HTTP&amp;nbsp;protocol&amp;nbsp;(the style is opened SOAP/RPC or XML/REST)&lt;/LI&gt;&lt;/UL&gt;
&lt;P&gt;XAML is an open specification (par of Microsoft Open Specification Promises - OSP) that enables declarative programming. A Silverlight XAML code create a hierarchy of components connected through by properties and events bindings.&lt;/P&gt;
&lt;TABLE class="" cellSpacing=0 cellPadding=5 width=555 border=0&gt;
&lt;TBODY&gt;
&lt;TR&gt;
&lt;TD class="" vAlign=top width=285&gt;
&lt;BLOCKQUOTE&gt;
&lt;P&gt;&lt;EM&gt;&amp;lt;UserControl&amp;gt;&lt;/EM&gt;&lt;/P&gt;
&lt;P&gt;&lt;EM&gt;&amp;nbsp;&amp;nbsp; &amp;lt;StackPanel Background="Turquoise"&amp;gt; &lt;/EM&gt;&lt;/P&gt;
&lt;P&gt;&lt;EM&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;TextBlock Text="Hello World"/&amp;gt; &lt;/EM&gt;&lt;/P&gt;
&lt;P&gt;&lt;EM&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;Button&amp;nbsp; Content="Click me/"/&amp;gt; &lt;/EM&gt;&lt;/P&gt;
&lt;P&gt;&lt;EM&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;/StackPanel&amp;gt; &lt;/EM&gt;&lt;/P&gt;
&lt;P&gt;&lt;EM&gt;&amp;lt;/UserControl&amp;gt;&lt;/EM&gt;&lt;/P&gt;&lt;/BLOCKQUOTE&gt;&lt;/TD&gt;
&lt;TD class="" vAlign=top width=268&gt;&lt;A href="http://blogs.msdn.com/blogfiles/silverlight_plus_java/WindowsLiveWriter/Silverlightfromatechnicalstandpoint_E2AB/image_2.png" mce_href="http://blogs.msdn.com/blogfiles/silverlight_plus_java/WindowsLiveWriter/Silverlightfromatechnicalstandpoint_E2AB/image_2.png"&gt;&lt;IMG style="BORDER-RIGHT: 0px; BORDER-TOP: 0px; MARGIN: 60px 0px 0px 25px; BORDER-LEFT: 0px; BORDER-BOTTOM: 0px" height=55 alt=image src="http://blogs.msdn.com/blogfiles/silverlight_plus_java/WindowsLiveWriter/Silverlightfromatechnicalstandpoint_E2AB/image_thumb.png" width=157 border=0 mce_src="http://blogs.msdn.com/blogfiles/silverlight_plus_java/WindowsLiveWriter/Silverlightfromatechnicalstandpoint_E2AB/image_thumb.png"&gt;&lt;/A&gt; &lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;
&lt;P&gt;When it comes to programming, Silverlight V1 is restricted to JavaScript, whereas Silverlight V2 come with its .Net runtime (a lightweight CLR) and a Dynamic Language Runtime(DLR). Therefore, you get multiple development language options : JavaScript, C#, VB, Ruby and Python so far.&lt;/P&gt;
&lt;P&gt;Silverlight conforms to Web Services standards (HTTP protocol, SOAP and XML formats). Yet, it brings its own restrictions and complements. These points will be largely discussed on this blog.&lt;/P&gt;
&lt;P&gt;That said, we are ready to start the journey ... in our next post &lt;A id=bp___v___r___postlist___EntryItems_ctl01_PostTitle href="http://blogs.msdn.com/silverlight_plus_java/archive/2008/07/28/a-cup-of-silverlight-a-drop-of-architecture.aspx"&gt;&lt;FONT color=#176db5&gt;A cup of Silverlight, a drop of Architecture&lt;/FONT&gt;&lt;/A&gt; &lt;/P&gt;
&lt;UL&gt;
&lt;LI&gt;Ressources&lt;/LI&gt;&lt;/UL&gt;
&lt;P&gt;&lt;A class="" href="http://blogs.msdn.com/brada/archive/2008/03/16/silverlight-2-developer-poster.aspx" target=_blank mce_href="http://blogs.msdn.com/brada/archive/2008/03/16/silverlight-2-developer-poster.aspx"&gt;Silverlight Poster&lt;/A&gt;, &lt;A class="" href="http://blogs.msdn.com/jstegman/archive/2008/03/11/deep-zoom-version-of-silverlight-2-developer-reference-poster.aspx" target=_blank mce_href="http://blogs.msdn.com/jstegman/archive/2008/03/11/deep-zoom-version-of-silverlight-2-developer-reference-poster.aspx"&gt;Silverlight Deep Zoom Poster&lt;/A&gt; &lt;/P&gt;
&lt;P&gt;&lt;A class="" href="http://msdn.microsoft.com/en-us/library/bb428859.aspx" target=_blank mce_href="http://msdn.microsoft.com/en-us/library/bb428859.aspx"&gt;Silverlight Architecture Overview on MSDN&lt;/A&gt;&lt;/P&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=8769361" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/silverlight_plus_java/archive/tags/Intro/default.aspx">Intro</category></item><item><title>A few things you may already know about Silverlight</title><link>http://blogs.msdn.com/silverlight_plus_java/archive/2008/07/24/a-few-things-you-may-already-know-about-silverlight.aspx</link><pubDate>Thu, 24 Jul 2008 16:49:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:8769341</guid><dc:creator>Steve SFARTZ</dc:creator><slash:comments>0</slash:comments><comments>http://blogs.msdn.com/silverlight_plus_java/comments/8769341.aspx</comments><wfw:commentRss>http://blogs.msdn.com/silverlight_plus_java/commentrss.aspx?PostID=8769341</wfw:commentRss><description>&lt;P&gt;Silverlight is a client technology which takes the Web to the next stage in terms of user experience.&lt;/P&gt;
&lt;P&gt;Silverlight may be used to deliver Rich Media Experiences or Rich Internet Applications on the Web. V1 of Silverlight focused on Media, V2 focuses on RIA.&lt;/P&gt;
&lt;P&gt;All you need to run Silverlight applications is a Web Browser should it be Internet Explorer, Firefox or Safari, on Windows or Mac. If you are a Linux desktop user, you should turn to Novell who delivers the Moonlight runtime, The technology &amp;amp; architecture issues detailled here also apply for Moonlight.&lt;/P&gt;
&lt;P&gt;Silverlight 1 is RTM, while Silverlight 2 is in beta 2 as of July 2008 and will be RTM'd before the end of 2008.&lt;/P&gt;
&lt;P&gt;A good way to discover Silverlight is to see it by yourself : &lt;A href="http://silverlight.net/Showcase/" mce_href="http://silverlight.net/Showcase/"&gt;Silverlight Gallery&lt;/A&gt; and a few RIA samples &lt;A href="http://www.cookingwithxaml.com/meals/financials/" mce_href="http://www.cookingwithxaml.com/meals/financials/"&gt;WoodGrove Financials&lt;/A&gt;, &lt;A href="http://labs.infragistics.com/silverlight/faceout/" mce_href="http://labs.infragistics.com/silverlight/faceout/"&gt;Faceout&lt;/A&gt;.&lt;/P&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=8769341" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/silverlight_plus_java/archive/tags/Intro/default.aspx">Intro</category></item><item><title>About a Cup of Silverlight</title><link>http://blogs.msdn.com/silverlight_plus_java/archive/2008/07/23/why-silverlight-java.aspx</link><pubDate>Wed, 23 Jul 2008 11:58:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:8766350</guid><dc:creator>Steve SFARTZ</dc:creator><slash:comments>0</slash:comments><comments>http://blogs.msdn.com/silverlight_plus_java/comments/8766350.aspx</comments><wfw:commentRss>http://blogs.msdn.com/silverlight_plus_java/commentrss.aspx?PostID=8766350</wfw:commentRss><description>&lt;P&gt;Silverlight is a terrific platform to build Rich Internet Applications. Yet, there is little practice on the Web to integrate the technology with others platforms.&lt;/P&gt;
&lt;P&gt;The authors have good knowledge of the .Net and Java world to help you get the best of each.&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;You're a Java buddy&lt;/STRONG&gt; : let us take you on the path to Rich Silverlight clients by leveraging on your Java skills and the tools you used to work with (Tomcat, Apache, Java frameworks)&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;You're a Silverlight guy&lt;/STRONG&gt; : you may be interested in exploring the different ways to integrate Java Data &amp;amp; Business Logic into your apps&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;You're neither the one nor the other &lt;/STRONG&gt;: the architecture &amp;amp; technical advices listed here apply to all environments. Hopefully, you 'll find samples for your preferred environment.&lt;/P&gt;
&lt;P&gt;&lt;A href="http://www.linkedin.com/in/ronnykwon" mce_href="http://www.linkedin.com/in/ronnykwon"&gt;&lt;FONT color=#176db5&gt;Ronny Kwon&lt;/FONT&gt;&lt;/A&gt; &amp;amp; &lt;A href="http://www.linkedin.com/in/stevesfartz" mce_href="http://www.linkedin.com/in/stevesfartz"&gt;&lt;FONT color=#176db5&gt;Steve Sfartz&lt;/FONT&gt;&lt;/A&gt; &lt;/P&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=8766350" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/silverlight_plus_java/archive/tags/Intro/default.aspx">Intro</category></item></channel></rss>