NH .Net Code Camp 2010 - Silverlight business applications


Published on

Complete content can be found at

Published in: Technology
  • Be the first to comment

  • Be the first to like this

No Downloads
Total views
On SlideShare
From Embeds
Number of Embeds
Embeds 0
No embeds

No notes for slide
  • * Source – Pro Silverlight 3 in C#, Matthew MacDonald, APress 2009** Source – RIAStats.com*** HTML5:"Will HTML 5 make RIA technologies such as Adobe Flash/Flex and Microsoft Silverlight obsolete? For at least the next five years, the answer is a definite 'no,'" reads Hammond's executive summary. "Inconsistent implementations of the draft HTML 5 specification and immature tooling make building HTML 5 apps that work consistently across browsers and operating systems a real challenge." - Forrester author and principal analyst Jeffrey Hammond When W3C itself projects 2022 (no, that's not a typo) as the earliest date that a final HTML 5 specification can be completed and published, some are actually saying that date is optimistic.The next stage for HTML 5 adoption is the first "candidate recommendation," set for 2012...At that time, Hammond foresees a process not unlike network appliance vendors hawking "802.11n" or "pre-11n" wares prior to that standard's final adoption last October.In 2015, we'll see pretty consistent support, even though there won't be a final standard. So I don't think it's dead, but I think you need to differentiate between a 'good enough' implementation and a 'fully compliant' standard.""The folks that benefit most from a new standard are the folks that don't necessarily have a commanding position in the existing standard," Hammond responded. ===========================================================================================SOURCE: http://www.betanews.com/article/Actual-Analysis-Is-HTML-5-already-outmoded/1273009131===========================================================================================Ian Hickson, editor of the HTML5 specification, expects the specification to reach the W3C Candidate Recommendation stage during 2012, and W3C Recommendation in the year 2022 or later.[8] However, many parts of the specification are stable and may be implemented in products:Some sections are already relatively stable and there are implementations that are already quite close to completion, and those features can be used today (e.g. <canvas>).– WHAT Working Group, When will HTML5 be finished?[8], FAQ===========================================================================================SOURCE: http://en.wikipedia.org/wiki/HTML5===========================================================================================
  • Get the data  WCF, then RIADisplay the data  Charting, mapping, mixing it with other sourcesSharing the data  Local saving, printing, excelSecure the data  Using RIA Services A&A
  • Plain old WCF Business objects “shared” via proxies.Net 4, there is a story for the .Net RT consuming “simple” SL classes (lowest-common-denominator business class) Validation code has to be repeated on both sides (Prism project linker, copy & paste.)Async completion handling Authentication would be web-service calls to ASP.Net authentication web service Other issues – “cluttering” of web service methods – pagination, filtered results, etc.Show creating WCF web serviceShow Data Sources windowShow Grid – Copy/Paste to Excel (yippee)
  • Replace the graphic (or credit it to Nikhil)RIA Services Tool to help write n-tier applications on the .Net / Silverlight platforms where there is a desire to simplify data access and reuse business logic across tiers Projects are “linked” – making changes on the server makes changes to the generated code that is produced on the client Metadata (validation) is “projected” into the client Shared code via convention (.shared file)Async is handled internally Show Create domain service Show “basic” g.cs fileShow data sources window Show Paging Show Updating Show Validation – Exchange of metadata – attributed and custom (show g.cs and shared files)
  • Charting Product Page Add a chart item in the appropriate square, set the title Add a LineSeries element to the chart for Price Set the ItemsSource to bing to the dataSource, path = dataDependentvaluePath = ListPrice (Y Axis)IndependentValuePath = Name Add a LineSeries element to the chart for Weight Set the ItemsSource to bing to the dataSource, path = dataDependentvaluePath = Weight (Y Axis)IndependentValuePath = NameMapping Customer Page Drop in Bing Maps Map control into UI section (add key value) Hook address data fetched event to set visibility of map and/or to geocode the address with the helper classPrinting Add the button Hook the completed, page events In page event, return false for more pages In page event, build the display element out of bitmaps GO!
  • HTTPS!WHAT ABOUT SYSTEM/CRYPTO?Create another domain service for authentication  Implement IAuthentication<IUser>Hooking up in the client  MainPage.XAML, bind button panel DataCOntext to WebContext Bind button visibility to WebContext(inherited).User (needs a User to visibilityconverter) Note that buttons are now not displayed until user logs in Note that the login password validates (breakpoint)? against the server-side
  • NH .Net Code Camp 2010 - Silverlight business applications

    1. 1. http://blog.dotnetgator.com<br />1<br />John Garland<br />Senior Consultant<br />Burntsand Consulting<br />Silverlight Business Applications<br />
    2. 2. About Burntsand<br /><ul><li>Custom Development Solutions
    3. 3. Smart Client Development
    4. 4. Web Development
    5. 5. Information Worker Solutions
    6. 6. Web & Portal Publishing
    7. 7. Document & Records Management
    8. 8. Data Management Solutions
    9. 9. Business Intelligence & Reporting Solutions
    10. 10. Business Process and Integration Solutions
    11. 11. CRM – ReMS</li></ul>Producing tangible results through disciplined execution<br /><ul><li>Leading systems integration firm founded in January 1996
    12. 12. More than 350 blue chip clients
    13. 13. 4 North American locations: Boston, San Jose, Houston, Indianapolis
    14. 14. Microsoft Gold Certified partner with 4 competencies
    15. 15. Additional partnerships with EMC Documentum and BMC Software</li></ul>http://blog.dotnetgator.com<br />2<br />
    16. 16. <ul><li>Strongly-typed, compiled development for web applications
    17. 17. Large transfer of skillset from .Net-based client applications to web applications (especially WPF)
    18. 18. Code reuse with .Net applications
    19. 19. Rich interactive user interfaces
    20. 20. Can be used for standalone / occasionally connected applications
    21. 21. Leverage skills and/or code for phone development
    22. 22. Access to rich development tools and communities
    23. 23. Hosting by multiple server platforms
    24. 24. Requires installation of a separate runtime
    25. 25. Not included with any “classic” .Net runtime, OS, or browser
    26. 26. Not as widely adopted as other RIA technologies
    27. 27. Currently 59% adoption** vs. 96% for Flash
    28. 28. Limited to HTTP binding for WCF Service interactions
    29. 29. AJAX, especially with tools like jQuery and the related extensions also offer RIA experiences
    30. 30. Linux client support limited to what is available in Moonlight</li></ul>Why Silverlight?<br />http://blog.dotnetgator.com<br />3<br />Silverlight is a technology for creating cross-platform .Net applications for the browser*<br />Cons<br />Pros<br />
    31. 31. Business Application Goals<br />Get the data<br />Interacting with the data<br />Displaying the data in a way that adds meaning<br />Sharing the data<br />Secure the data<br />http://blog.dotnetgator.com<br />4<br />
    32. 32. Consuming & Interacting With Data<br />Basic Web Service Access (WCF/ASMX)<br />Code “sharing” via proxies<br />Business logic either through cut & paste or Prism Project Linker<br />http://blog.dotnetgator.com<br />5<br />DEMO<br />
    33. 33. Enhancing Data Access With WCF RIA Services<br />http://blog.dotnetgator.com<br />6<br />- Connects the Client and Server Projects- Allows “flow-through” queries and CRUD- Shared business logic via metadata & projection- Adding RIA Services<br />- Convention and Configuration<br />- Query, Insert, Update, Delete attributes<br />- Released 5/18/2010<br />DEMO<br />Services<br />Application<br />Presentation<br />Logic<br />Data Access Layer<br />App<br />Logic<br />Network<br />DB<br />Source: Nikhil Kothari<br />
    34. 34. Adding Display Value<br />http://blog.dotnetgator.com<br />7<br />DEMO<br />Charting<br />Bing Maps Silverlight Control & API<br />Printing<br />
    35. 35. Authentication & Authorization<br />http://blog.dotnetgator.com<br />8<br />NOTE: KEEP YOUR SECRETS BEHIND YOUR SERVICE BOUNDARY<br />Use HTTPS to transmit sensitive information<br />DEMO<br />
    36. 36. Going Further<br />http://blog.dotnetgator.com<br />9<br />Silverlight.Net<br />Silverlight Toolkit<br />Bing Maps API<br />Blog – Nikhil Kothari<br />Blog – Brad Abrams<br />Blog – Christian Schormann<br />ONLINE<br />Silverlight TV<br />MIX Videos<br />MSDev<br />Perspectives on Flash & Silverlight<br />VIDEOS<br />Pro Silverlight 3 in C# (Matthew MacDonald)<br />Silverlight Recipes (Rob Cameron)<br />WPF Control Development (Podila)<br />Next Generation Business Intelligence Software With Silverlight 3 (Czernicki)<br />BOOKS<br />http://dotnet.uservoice.com/ - Suggestions<br />http://www.microsoft.com/design/toolbox - Free Online Training<br />OTHER<br />
    37. 37. Other Sessions<br />http://blog.dotnetgator.com<br />10<br />
    38. 38. Please Complete Your Evaluation Forms<br />http://blog.dotnetgator.com<br />11<br />
    39. 39. Giveaway<br />http://blog.dotnetgator.com<br />12<br />
    40. 40. Questions<br />http://blog.dotnetgator.com<br />13<br />