I'm seeing a bit of traffic these days around "how to architect" Silverlight. I think this is exciting news as folks have not only digested Silverlight well, but are now pushing beyond the boundaries (growth is a powerful thing to monitor and observe).
I've got a few ideas on how to solve this, but am curious to hear some of your pain points specifically around what hurdles you face when architecting Rich Applications such as Silverlight? From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] On Behalf Of .net noobie Sent: Wednesday, September 17, 2008 9:43 PM To: [email protected] Subject: Re: [OzSilverlight] A couple of questions ok cool, thanks On Thu, Sep 18, 2008 at 2:31 PM, Jonas Follesø <[EMAIL PROTECTED]<mailto:[EMAIL PROTECTED]>> wrote: Well, you can actually do all this from a Silverlight application. And anything you could do from MS AJAX, you could do from Silverlight. And to be fair the "Client Application Services" (for Windows Forms/WPF) comes with classes that abstract away the service interaction, and actually gives you a "client side" Membership- and Role Provider. But under the hood it's all HTTP JSON calls (I assume for performance reasons, as their API only has synchronous methods for accessing the Membership- and Role Provider). Check this post: http://blogs.msdn.com/brada/archive/2007/05/23/net-client-application-services.aspx for more information on what you can do. The service-end point used by the "Client Application Services" client libraries are: http://localhost/myservice/Profile_JSON_AppService.axd http://localhost/myservice/Authentication_JSON_AppService.axd http://localhost/myservice/Role_JSON_AppService.axd You don't get WSDL for these services, but you can invoke them as REST services and do things like create user, create role etc. given that the currently authenticated user have the permissions needed. On Thu, Sep 18, 2008 at 2:19 PM, .net noobie <[EMAIL PROTECTED]<mailto:[EMAIL PROTECTED]>> wrote: "new users, create roles, change role assignment etc." they are the things I wanted to do... so really I would be better off handling all this in the ASP.NET<http://ASP.NET> page that is hosting my Silverlight Applications and then talking too and from the ASP.NET<http://ASP.NET> page with my Silverlight Application to do these things? then to stop the page reloading I would need to do these tasks "new users, create roles, change role assignment etc." via something like MS AJAX...? On Thu, Sep 18, 2008 at 2:07 PM, Jonas Follesø <[EMAIL PROTECTED]<mailto:[EMAIL PROTECTED]>> wrote: >From a Silverlight client point of view, what else do you really need? >Everything that has to do with validation, accessing user store etc. has to >happen on the server and not on the client. Some thing, like Authorization >(does this user belong to this role) is useful from the UI, as you can >enable/disable certain buttons and functionality. But in the end you have to >redo all the validation on the server as you can't trust any input coming from >the client. The reason you got allot more functionality in ASP.NET<http://ASP.NET> is because you're running on the server, and that is a whole different ball game. You got functionality to create new users, create roles, change role assignment etc. To do those things from a Silverlight client you would have to expose (and secure) the individual pieces your self. On Thu, Sep 18, 2008 at 2:00 PM, .net noobie <[EMAIL PROTECTED]<mailto:[EMAIL PROTECTED]>> wrote: Authentication Application Service, via WCF is a very limited set of functionality compared to what you have in a ASP.NET<http://ASP.NET> page, you can do a few things like "Login, Logout" and one to two there things right..? when I was checking it out I ended up making a normal WCF service for my Silverlight application, then adding the membership to it via just wrapping the methods of the Membership class I wanted, but it also had a few issues doing it that way to, but I got all the parts of Membership I wanted to use...? is this a bad way to go about it in the future? please note it was just a learning application for myself, so I was not really worried about any security issues passing the data back and forth at the time On Thu, Sep 18, 2008 at 12:51 PM, Ross McKinnon <[EMAIL PROTECTED]<mailto:[EMAIL PROTECTED]>> wrote: Thanks to both of you. ________________________________ From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED]<mailto:[EMAIL PROTECTED]>] On Behalf Of Jordan Knight Sent: Thursday, 18 September 2008 12:44 PM To: [email protected] Subject: RE: [OzSilverlight] A couple of questions You where slowed down by all the extra detail :) Regards, Jordan Knight Readify - Senior Developer Suite 206 Nolan Tower | 29 Rakaia Way | Docklands | VIC 3008 | Australia M: +61 403 532 404 | E: [EMAIL PROTECTED]<mailto:[EMAIL PROTECTED]> | W: www.readify.net<http://www.readify.net/> From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED]<mailto:[EMAIL PROTECTED]>] On Behalf Of Jonas Follesø Sent: Thursday, 18 September 2008 12:42 PM To: [email protected]<mailto:[email protected]> Subject: Re: [OzSilverlight] A couple of questions Haha - looks like you beat me too by 5 min Jordan ;) On Thu, Sep 18, 2008 at 12:38 PM, Jordan Knight <[EMAIL PROTECTED]<mailto:[EMAIL PROTECTED]>> wrote: Sorry Ross :) - not Michael. Regards, Jordan Knight Readify - Senior Developer Suite 206 Nolan Tower | 29 Rakaia Way | Docklands | VIC 3008 | Australia M: +61 403 532 404 | E: [EMAIL PROTECTED]<mailto:[EMAIL PROTECTED]> | W: www.readify.net<http://www.readify.net/> From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED]<mailto:[EMAIL PROTECTED]>] On Behalf Of Jordan Knight Sent: Thursday, 18 September 2008 12:35 PM To: [email protected] Subject: RE: [OzSilverlight] A couple of questions Hi Michael, I can answer 1 and 3 for you (and maybe a bit of 4): The short answer is Forms Authentication and/or ASP.NET<http://ASP.NET> membership - i.e. use the normal stuff :). Whenever Silverlight accesses the server, it uses the standard browser networking stack, so you will have access to session state, cookies and all the other goodies you expect. To find out which user is logged in you can use the ASP.NET<http://ASP.NET> Authentication Application Service, which can be exposed via WCF quite easily (then you can log in and check login status etc from Silverlight). 4 is a little more tricky, but basically you could hook up events to AJAX changes in the page then fire through pieces of information to Silverlight using the HTML JavaScript bridge... It's quite easy to do, have a Google around. Regards, Jordan Knight Readify - Senior Developer Suite 206 Nolan Tower | 29 Rakaia Way | Docklands | VIC 3008 | Australia M: +61 403 532 404 | E: [EMAIL PROTECTED]<mailto:[EMAIL PROTECTED]> | W: www.readify.net<http://www.readify.net/> From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED]<mailto:[EMAIL PROTECTED]>] On Behalf Of Ross McKinnon Sent: Thursday, 18 September 2008 12:20 PM To: [email protected] Subject: [OzSilverlight] A couple of questions Hi all, I am the CIO of Michael Hill Jeweller which is an international (US, Canada, New Zealand, Australia) jewellery retail chain whose global head office is based in Brisbane and we are in the process of replacing our global website. The executive here are very excited by the opportunities presented by silverlight and we will be developing the new site using this technology and are trying to release it as soon as possible. I did have a couple of questions which I have posed to Microsoft, but they have been unable to answer and most of them are directed towards my personally perceived weaknesses of silverlight and I was hoping that someone would be able to point out how they can be achieved. Hopefully our work arounds are not the suggested best practice. 1) What is the best way of persisting user identity through multiple silverlight pages? 2) It appears to me that linq to SQL entities seem to lose the ability to maintain state (ie know what is changed) after passing through a wcf call and silverlight treats it like a normal class. Is that the case and if so, is that going to be changed? 3) What is the best practice for integrating security and sessions between asp.net<http://asp.net> / silverlight / wcf? 4) Are there plans for a binary formatter in the silverlight framework? 5) I have been overlaying silverlight pages over aspx with master and content pages. The largest issue with that is being able to pass information between your master and content pages (easily achievable in aspx), but are there any plans to implement a method to easily pass information between SL pages on the client (usually user specific information), other than at creation of the page. Thanks for any help in advance, Ross. 18/9/2008 Ross McKinnon [email protected] This email and any attachments ("Email") are intended only for the addressee and may contain privileged, confidential and/or disclosure-exempt information. You must not edit this Email without our express consent. Michael Hill Jeweller (Australia) Pty Ltd does not warrant that this Email is complete, error-free or virus free, and by opening any attachments, you accept full responsibility for the consequences. If you are not the addressee, you must not disseminate, rely upon or copy this Email, and you must immediately erase permanently and destroy all records of it and notify us by phone (at our cost). Thank you. ------------------------------------------------------------------- OzSilverlight.com - to unsubscribe from this list, send a message back to the list with 'unsubscribe' as the subject. Powered by mailenable.com<http://mailenable.com> - List managed by www.readify.net<http://www.readify.net> ------------------------------------------------------------------- OzSilverlight.com - to unsubscribe from this list, send a message back to the list with 'unsubscribe' as the subject. Powered by mailenable.com<http://mailenable.com> - List managed by www.readify.net<http://www.readify.net> ------------------------------------------------------------------- OzSilverlight.com - to unsubscribe from this list, send a message back to the list with 'unsubscribe' as the subject. Powered by mailenable.com<http://mailenable.com> - List managed by www.readify.net<http://www.readify.net> ------------------------------------------------------------------- OzSilverlight.com - to unsubscribe from this list, send a message back to the list with 'unsubscribe' as the subject. Powered by mailenable.com<http://mailenable.com> - List managed by www.readify.net<http://www.readify.net> ------------------------------------------------------------------- OzSilverlight.com - to unsubscribe from this list, send a message back to the list with 'unsubscribe' as the subject. Powered by mailenable.com<http://mailenable.com> - List managed by www.readify.net<http://www.readify.net> 18/9/2008 Ross McKinnon [email protected] This email and any attachments ("Email") are intended only for the addressee and may contain privileged, confidential and/or disclosure-exempt information. You must not edit this Email without our express consent. Michael Hill Jeweller (Australia) Pty Ltd does not warrant that this Email is complete, error-free or virus free, and by opening any attachments, you accept full responsibility for the consequences. If you are not the addressee, you must not disseminate, rely upon or copy this Email, and you must immediately erase permanently and destroy all records of it and notify us by phone (at our cost). Thank you. ------------------------------------------------------------------- OzSilverlight.com - to unsubscribe from this list, send a message back to the list with 'unsubscribe' as the subject. Powered by mailenable.com<http://mailenable.com> - List managed by www.readify.net<http://www.readify.net> -- .net noobie(tm) ------------------------------------------------------------------- OzSilverlight.com - to unsubscribe from this list, send a message back to the list with 'unsubscribe' as the subject. Powered by mailenable.com<http://mailenable.com> - List managed by www.readify.net<http://www.readify.net> ------------------------------------------------------------------- OzSilverlight.com - to unsubscribe from this list, send a message back to the list with 'unsubscribe' as the subject. Powered by mailenable.com<http://mailenable.com> - List managed by www.readify.net<http://www.readify.net> -- .net noobie(tm) ------------------------------------------------------------------- OzSilverlight.com - to unsubscribe from this list, send a message back to the list with 'unsubscribe' as the subject. Powered by mailenable.com<http://mailenable.com> - List managed by www.readify.net<http://www.readify.net> ------------------------------------------------------------------- OzSilverlight.com - to unsubscribe from this list, send a message back to the list with 'unsubscribe' as the subject. Powered by mailenable.com<http://mailenable.com> - List managed by www.readify.net<http://www.readify.net> -- .net noobie(tm) ------------------------------------------------------------------- OzSilverlight.com - to unsubscribe from this list, send a message back to the list with 'unsubscribe' as the subject. Powered by mailenable.com - List managed by www.readify.net ------------------------------------------------------------------- OzSilverlight.com - to unsubscribe from this list, send a message back to the list with 'unsubscribe' as the subject. Powered by mailenable.com - List managed by www.readify.net
