1 / 69

Switch on the LightSwitch

Switch on the LightSwitch. Gill Cleeren Microsoft Regional Director / Silverlight MVP Ordina Belgium www.snowball.be - @gillcleeren. Glad to meet you!. Gill Cleeren Microsoft Regional Director MVP Silverlight .NET Architect @Ordina (www.ordina.be)

charo
Download Presentation

Switch on the LightSwitch

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Switch on the LightSwitch Gill CleerenMicrosoft Regional Director / Silverlight MVP Ordina Belgium www.snowball.be - @gillcleeren

  2. Glad to meet you! • Gill Cleeren • Microsoft Regional Director • MVP Silverlight • .NET Architect @Ordina (www.ordina.be) • Speaker (TechDays, DevDays, NDC Norway, Spring Conference UK, SQL Server Saturday Switzerland...) • Visug user group lead (www.visug.be) • Author (Silverlight 4 Data and services cookbook) • www.snowball.be - gill@snowball.be - @gillcleeren

  3. Agenda • Introduction: what and why LightSwitch? • Part 1: The basics • Data • Screens • Queries • Small demo • Part 2: Deeper dive • More on data • More on screens • More on queries • Writing code in LightSwitch • Security in LightSwitch • Deploying a LightSwitch application • Extending LightSwitch

  4. Introduction What and Why LightSwitch?

  5. Not everyone is a developer... This guy at least looks like one...

  6. Developers like working fast as well This is not a Mac...

  7. What is LightSwitch? An easy way to build business apps for desktop and cloud applications

  8. The LightSwitch Development Experience At this point, we already have working app (SL, MVVM, RIA Services)

  9. Part 1: The basics

  10. Basic #1: Data • Data is the base of our application • LS allows • Connecting to existing data sources • Newly created tables • Creating relations between tables • Even in one or more databases • Based on data, LS will do • Field validation • Transactions processing • Concurrency checking

  11. Basic #1: Data • LS can connect to • Existing SQL Server data base • SharePoint list • WCF RIA Service • LS has an internal database as well, used for • Internal setting storage • Custom entities • LS allows changing internal fields, external can’t be changed

  12. Basic #1: Data • LS can create relations between data items • If items are in internal database • Doesn’t work between 2 external items • Works between 2 different types (internal and SQL Server for example)

  13. Basic #2: Screens • Screens allow us to display data • A LS app is made up of screens (which may seem logical) • Creating a screen is done by: • Selecting the type of screen you want • Selecting the data you want • Have LS generate it for you • These screens can be tweaked: • How they look • What features they offer • What commands they allow • ...

  14. Basic #2: Screens • Types of screens that exist in LS: • New Data Screen • Search Data Screen • Details Screen • Editable Grid Screen • List and Details Screen • Your own!

  15. Basic #2: Screens • Appearance of screens can be altered: • Using the Screen Designer (Visual Studio) • Customization Mode Screen (Run time, sends back the changes to Visual Studio)

  16. Basic #3: Queries • A query in LS returns data that matches some criteria • Return all products in selected category • LS has internal query designer • A query becomes part of the model • Can be used to create (part of) screens from

  17. The BookStore application

  18. Part 2: Deep Dive into LightSwitch

  19. More on data

  20. Formatting data • The Entity Designer is used to create and format data items • Cool stuff such as adding space in camel-cased words • Business types are a layer on top of “normal” data types • Applies default validation • More cool stuff such as default domain on Email field • Summary properties • Can be a “computed property” • Requires coding • IDs are int by default • Fields can have a choice list as values • We can decide whether or not we want to show a data item • Custom validation is done by code

  21. Sorting and Filtering data • For this, we need to change/create a query • Can be created specifically for a screen or on entity level to be used throughout the application (global query)

  22. Types of data • Data can be mixed between • Local (internal) data • External data • Relations can be created between • Internal and internal • Internal and external • LS can’t change an external model • Links to internal are visualized as dotted lines • External data is linked through Foreign key • This doens’t support transactions

  23. Coding the data • LS generates objects and members that describe our data • Customer table  Customer entity

  24. Coding the data • Application • Top level object • Allows access to objects within the app • Can be used to retrieve active user • Data Workspace • DW is top level for all data-access within app • Contains property for each data source • Default: ApplicationData • External: XXXData

  25. Coding the data • Data Source • Object per data source in application • Members contain entity set properties and query methods • Entity Set returns collection of entities • Query methods gets results of a query • <Entity Name>_Single • <Entity Name>_SingleOrDefault • EntityObject • Is generated for each entity in an entity collection • Contains members to delete or update an entity • Can be retrieved by calling query method that returns an entity

  26. Types of external data • LS can connect with • SQL Server Database • WCF RIA Services • SharePoint List • OData • Not native, through workaround • ...

  27. Working with data

  28. More on Screens

  29. Screen Designer • LS has no drag and drop interface! • Screen Designer does the job • Can be used to • Add/remove items from a screen • Add buttons • Add items • Add custom controls • Change positionof items • ...

  30. Screen designer at runtime • Screens can be edited while running in the debugger • Changes are sent back to Visual Studio • Gives preview including data

  31. Master-detail • On one or more screens, we can easily create an editable master-detail functionality • Start with a search screen • Create a detail screen • Add the detail property as a summary on the search screen • Clickable to detail • On the child, include a summary back to the master This is easy to work if the user has many screens open

  32. Working with screens

  33. More on queries

  34. Query designer • Visual design of queries • Filters • Sorting • Parameters • Not everything is possible • We can code thequeries • Count(), Sum()... • Navigating properties

  35. Working with queries

  36. Writing code in LightSwitch

  37. Code in LightSwith • Code is required for • Business rules • Validation • ... • LS has normal code editor (C# or VB, IntelliSense, Silverlight...) • Most code will be in default methods • Entities • Queries • Screens • <ScreenName>_CanRun() can be used to check permissions on this screen from code

  38. Data events • General methods that are run when data is created, deleted, or modified. • Access control methods that are run when data is created, deleted, or modified. • Query methods that are run when a data source is queried. • Query access control methods that are run prior to a query executing. • Data source methods that are run when a data source is saved to. • Property methods that are run when a property is modified.

  39. Screen events • Button methods that are called when a button is clicked. • General methods that are called when data is loaded or saved, or when a screen is closed. • Access control methods that are called to verify if a user has permission to perform a task. • Collection methods that are called when a collection is modified.

  40. Code and screens • We have access from code to change screens • Hide/show/enable elements • Set default values from code

  41. Writing code in LightSwitch

  42. Security in LightSwitch

  43. Authentication in LightSwitch • 3 options in beta 2: • No authentication • Forms authentication • Windows authentication • Specific user API built-in • Available after deployment to user specified during deploy • SecurityAdministration

  44. Permissions in LightSwitch • Securing an application starts with defining permissions • Developer must create these • In code, we can then check the permission • Can be granted for debug mode

  45. Security in a LightSwitch application

  46. Deploying a LightSwitch application

  47. Deployment options • Desktop client • 2-tier deployment creates an application that runs on the end-user’s Windows desktop; the database and server components run on a networked computer. • Desktop client • 3-tier deployment creates an application that runs on the end-user’s Windows desktop; the database and server components run on a server that is running Internet Information Services (IIS) or on Windows Azure. • Browser client • 3-tier deployment creates an application that runs in the end-user’s web browser; the database and server components run on a server that is running IIS or on Windows Azure.

  48. Desktop, 2 tier deployment Silverlight 4 Out-Of-Browser App .NET Framework 4.0 All LightSwitch Components (DLLs)

  49. Desktop, 3 tier deployment Clients can be on the Internet or same network Silverlight 4Out-Of-Browser App (Office Integration possible) Internet Information Server (IIS) NET Framework 4.0 LightSwitch Middle-tier components

  50. Browser, 3 tier deployment Clients can be on the Internet or same network Silverlight 4Browser App Internet Information Server (IIS) NET Framework 4.0 LightSwitch Middle-tier components

More Related