Book Image

Mastering LOB Development for Silverlight 5: A Case Study in Action

Book Image

Mastering LOB Development for Silverlight 5: A Case Study in Action

Overview of this book

Microsoft Silverlight is fully established as a powerful tool for creating and delivering Rich Internet Applications and media experiences on the Web. This book will help you dive straight into utilizing Silverlight 5, which now more than ever is a top choice in the Enterprise for building Business Applications. "Mastering LOB Development for Silverlight 5: A Case Study in Action" focuses on the development of a complete Silverlight 5 LOB application, helping you to take advantage of the powerful features available along with expert advice. Fully focused on LOB development, this expert guide takes you from the beginning of designing and implementing a Silverlight 5 LOB application, all the way through to completion. Accompanied by a gradually built upon case study, you will learn about data access via RIA and Web services, architecture with MEF and MVVM applied to LOB development, testing and error control, and much more.With "Mastering LOB Development for Silverlight 5: A Case Study in Action" in hand, you will be fully equipped to expertly develop your own Silverlight Line of Business application, without dwelling on the basics of Enterprise Silverlight development.
Table of Contents (19 chapters)
Mastering LOB Development for Silverlight 5: A Case Study in Action
Credits
Foreword
About the Authors
About the Reviewers
www.PacktPub.com
Preface
Index

Index

A

B

  • basicHttpBinding / Implementing and consuming a WCF service
  • Behavior-Driven Development (BDD)
    • about /
  • binaryMessageEncoding / Implementing and consuming a WCF service
  • BindingValidationError
    • about /
  • BindingValidationError event /
  • bin folder
    • about /
  • black-box testing
    • about /
  • boneheaded exceptions
    • about /
  • BugReport class /
  • bugs
    • reporting /
  • bugs, reporting
    • about /
    • architecture /
    • Composite Bug Report Service /
    • client implementation /

C

D

  • data
    • accessing, in RIA services /
  • DataAnnotations
    • used, for adding validations /
    • about /
    • simple validations /
    • shared validations /
    • custom validations /
    • entity-level validations /
  • data binding
    • about /
    • debugging, URL /
  • data binding modes
    • about /
    • OneWay /
    • TwoWay /
    • OneTime /
  • data binding sources
    • DataContext /
    • ElementName /
    • Source /
    • RelativeSource /
  • DataContext
    • about /
    /
  • DataContract classes / Using complex types via WCF
  • DataContractJsonSerializer / Processing JSON format
  • DataGrid control /
  • DataSource
    • about /
    • Path property /
    • binding sources /
    • DataContext /
    • notifications, changing /
    • data binding modes /
  • Data Transfer Object (DTO) / Processing JSON format
  • Deep Linking
    • about /
    • URL /
  • Deep Sea Obfuscator
  • DeleteRoom method /
  • Dependency Injection (DI) pattern /
  • dependency properties
    • about /
    • using /
    • generating, in Code-Behind file /
    • data binding, from Code-Behind file /
  • DependencyProperty.Register method /
  • Deserialize method / Implementation of the service client
  • deserializer class / Implementation of the service client
  • design pattern
    • reference link /
  • Dispatcher /
  • DispatcherHelper /
  • DisplayService class / Building the server
  • DisplayServiceClient class / Consuming a WCF service from Silverlight
  • Dispose method
    • about /
  • Document Object Model (DOM)
  • DomainContext
    • about /
  • DomainContext class / Server side
  • DomainException class
  • Domain service
    • about /
    • creating /
    • consuming, for Silverlight application /
  • Domain services validations
    • about /
    • server validations /
    • asynchronous validations /
  • DOM handling, from Silverlight
  • Dot Fuscator
  • DoWork method / Building the server
  • dragging-and-dropping controls
    • about /
  • DRY principle /
  • dynamic analysis
    • about /

E

  • e.Error property / Consuming a WCF service from Silverlight
  • ElementName
    • about /
  • EnableClientAccess attribute / Protecting communications with SSL
  • EnqueueCallback method /
  • Enterprise application framework /
    • architecture /
    • practice /
  • entities
    • about /
  • entity-level validations
    • about /
  • Entity Library /
  • entry
    • writing, on registry /
  • error control
    • about /
  • error control, CRUD
    • about /
    • error, detecting /
  • error handling mechanisms, LOB application / LOB application case study: applying what we have learned
  • ErrorItem class / Server side
  • error logging
    • combining, with exception handling /
  • ErrorWindow.xaml
    • about /
  • EventToCommand /
  • Exception class
    • about /
  • exception handling
    • about /
    • try block /
    • catch block /
    • finally expression /
    • strategies /
    • asynchronous patterns /
    • error logging, combining with /
  • exception handling, strategies
    • caller beware /
    • caller confuse /
    • caller inform /
  • ExceptionRoutedEventArgs
    • about /
  • exception types
    • about /
    • fatal /
    • boneheaded /
    • vexing /
    • exogenous /
  • exogenous exceptions
    • about /
  • Extreme Programming (XP)
    • about /

F

  • fake
    • about /
  • fatal exceptions
    • about /
  • features, In-browser Trusted applications /
  • FileNotFoundException /
  • filters
    • LogEnabledFilter /
    • PriorityFilter /
    • CategoryFilter /
  • finally block
    • about /
  • Firestarter
    • URL /
  • folder structure, project
    • about /
    • bin /
    • libs /
    • src /
  • FormValidation application
    • Email field /
  • FormValidation application, creating /
  • FxCop
    • about /

G

H

I

  • IBugReportService interface /
  • ICommand interface
    • about /
  • IDataErrorInfo
    • URL /
  • IDataErrorInfo interface
    • implementing /
    /
  • IDialogService /
  • IDisplayService / Building the server
  • IDisplayService interface / Using complex types via WCF
  • IDisplayService node / Referencing a WCF service from client
  • IDisposable interface
    • about /
  • iFrames
    • about /
  • IHomePage interface /
  • ILSpy
    • URL /
  • Image class
    • about /
  • IModel /
  • IModelFactory /
  • in-browser/OOB detection
    • about /
  • In-browser Trusted applications
    • about /
    • features /
  • Inavigable interface
    • implementing /
  • Index class /
  • INotifyColleactionChanged interface /
  • INotifyMonths project /
  • INotifyPropertyChanged interface
    • about /
    /
  • integration tests
    • about /
  • IOException /
  • IsEnabled dependency property /
  • Isolated Storage
    • about /
  • IsolatedStorageLogEntryRepository class /
  • IsolatedStorageTraceListener /
  • ISO standards
    • about /
  • IValueConverter
    • about /
    • Convert function /
    • ConvertBack function /

J

L

  • layers, MVVM pattern
    • presentation /
    • ViewModel /
    • Data Model /
    • interacting /
  • layout definition
    • basic elements /
  • layout definition, elements
    • Canvas /
    • Stack Panel /
    • Grid /
    • Controls /
  • libraries, for testing Silverlight
    • about /
    • SilverlighUT /
    • SilverUnit /
    • Selenium-Silverlight /
    • AgUnit /
    • StatLight /
  • libraries, LOB application case study
    • Packt.Libs.Navigation /
    • Packt.Libs.Threading /
    • Packt.Libs.Utils /
    • Packt.Libs.Windows /
  • libraries, MVVM Light Toolkit
    • Galasoft.MvvmLight.SL4 /
    • GalaSoft.MvvmLightExtras /
  • libs folder
    • about /
  • LoadData method /
  • Loaded event /
  • LOB application
  • LOB application case study
  • LOB application case study, RIA services
    • server /
    • test /
    • model /
    • modules /
  • LogEnabledFilter /
  • LogEntry
    • creating /
    • filtering /
  • log entry
    • formatting /
  • logging
    • about /
  • LoggingAttribute class /
  • logging block /
  • login page, Silverlight-JavaScript interaction
  • LogWriter class /

M

  • Mail Bug Report Service /
  • MainPage.XAML
    • about /
  • MainPage class
    • about /
  • MainPage Code-Behind
    • about /
  • Managed Extensibility Framework (MEF)
    • about /
  • MapView.XAML page
    • about /
  • Margin properties /
  • markup language
  • Martin Fowler
    • about /
  • MEF
    • about /
    • structure /
    • parts, relating to each other /
    • contracts /
    • composition /
    • mock model, creating /
    • URL /
  • MEF structure
    • composable part /
    • export /
    • import /
    • contracts /
    • Composition Container /
    • Export Providers /
    • Catalogs /
  • MessageEntity class
    • about /
  • Message property /
  • MessageSelected property
    • about /
    /
  • Messenger class
    • about /
  • methods, navigation control services
    • GoBack /
    • GoForward /
    • Navigate /
    • Refresh /
    • StopLoading /
    • Navigated /
    • Navigating /
  • mexHttpBinding / Implementing and consuming a WCF service
  • Microsoft Enterprise Library
    • about /
  • Microsoft Extensibility Framework
    • about /
  • Microsoft Public License (Ms-PL) /
  • Microsoft WCF RIA Services
    • about /
  • Mix10 MVVM
    • URL /
  • Mix 11 MVVM Deep Dive
    • URL /
  • mocking
    • about /
  • mock model
    • creating, MEF used /
  • mocks
    • about /
  • Modal AdminEditionView.xaml dialog
    • about /
  • modal dialogs
    • about /
    • creating /
    • ChildWindow /
    • example /
  • Moq
    • about /
  • MSBuild
    • about /
  • MSDN
  • MSTest
    • about /
    • client code, testing with /
  • MVVM-based sample application
    • creating /
    • project structure, creating /
    • project, creating /
  • MvvmLight
    • about /
  • MVVM Light message
  • MVVM Light Toolkit
    • about /
    • URL /
    • incorporating, into project /
    • ViewModelBase /
    • RelayCommand /
    • Messenger class /
  • MVVM pattern
    • dissecting /
    • layers /
    • View layer, interacting with ViewModel layer /
    • ViewModel layer, interacting with View layer and Model layer /
    • Model /
    • ViewModel /
    • View /
    • URL /
    • RIA services, fitting into /
  • MVVM Pattern
    • about /
    • MVVM-based sample application, creating /
  • MyBookingsVM class / Implementation of the service client
  • Mycontrols
    • about /
  • MyDomainService / Protecting communications with SSL
  • MyFirstDataBinding
    • about /
  • MyTextMessage class
    • about /
  • MyTweet.Model
    • about /
  • MyTweet.View
    • about /
  • MyTweet.ViewModel
    • about /

N

O

  • O/R Mapping Tools /
  • obfuscation process
  • ObservableCollection / Using complex types via WCF
  • ObservableCollection type /
  • OnEntry() method /
  • OnEntry method /
  • OnError method / Server side
  • OnException method /
  • OnExit method /
  • OnMethodBoundaryAspect attribute /
  • OnPropertyChanged function /
  • OOB application
    • about /
    • custom interface, installing /
    • uninstalling /
    • updates /
    • working, offline /
    • trust mode, enabling /
    • trusted applications, advantages /
  • OOB mode
    • Silverlight application, executing /
    • doubts /
  • OpenReadCompleted event / Calling the Twitter API

P

  • P/Invoke
    • about /
    • call support, enabling /
  • Packt .Libs.Navigation /
  • Packt.Libs.Navigation
    • about /
  • Packt.Libs.Navigation.Contracts /
  • Packt.Libs.Threading
    • about /
  • Packt.Libs.Utils
    • about /
  • Packt.Libs.Windows
    • about /
  • Page control
    • about /
  • Page_Load / Communication between an ASPX page and Silverlight
  • partial class
    • adding, to sample /
  • Path property /
    • about /
  • patterns, Silverlight
    • about /
    • MVC /
    • MVP /
    • MVVM /
    • MEF /
  • pluginLoaded function / Accessing Silverlight from JavaScript
  • PostSharp
    • about /
    • URL, for free community edition /
    • using /
  • PriorityFilter /
  • ProgressBar /
  • project structure
    • folder /
    • solution /
    • solution folder /
    • project folder /
    • defining /
    • main solution, creating /
  • project structure, LOB application case study
    • about /
    • folder structure /
    • main solution structure /
  • project structure, MVVM-based sample application
    • creating /
    • MyTweet.Views /
    • MyTweet.ViewModel /
  • PropertyChanged event
    • about /
    /
  • PropertyChangeEventArgs object
    • about /
  • Property Error class /
  • public API web service
  • public REST service

Q

  • quality insurance processes
    • about /

R

  • RaiseCanExecuteChanged /
  • Real windows
    • about /
  • Reflector
    • about /
  • RefreshButtonClick / Calling the Twitter API
  • RefreshCommand command / Implementation of the service client
  • RefreshCompleted handler / Processing JSON format
  • RegisterScriptableObject method / Registering a Silverlight object
  • registry
    • entry, writing on /
  • regression tests
    • about /
  • RelativeSource
    • about /
  • RelayCommand
    • about /
  • RemoteServiceTraceListener /
  • Reservation class
    • about /
  • ReservationNavigation
    • about /
  • ReSharper
    • about /
  • ResponseTweetSearchArgs class /
  • REST (Representational State Transfer)
  • REST based web service
  • REST services
  • RIA services
    • data, accessing /
    • challenges /
    • about /
    • services layer generator /
    • simple database, using /
    • validation /
    • changes, cancelling /
    • transactions /
    • partial class, adding /
    • country entity, including /
    • composition /
    • many-to-many relationship issue, solving /
    • fitting, in MVVM /
    • encapsulating, in model /
    • context lifetime discussion /
    • model factory /
    • additional resources /
  • RIA services and security
  • RIA services context
    • about /
  • RIA services project
    • creating /
    • Domain service, creating /
  • RIATec /
  • Rule CA2200
    • URL /
  • Rule CA2202 /

S

T

  • Team Foundation Services /
  • Test-Driven Development (TDD)
    • about /
  • TestClass attributes /
  • testing
    • types /
    • methodologies /
  • testing, types
    • static analysis /
    • dynamic analysis /
  • TestMethod attribute /
  • test project
    • about /
  • TestRunner.App /
  • tests
    • about /
  • TFS Bug Report Service /
  • TheFloorIndex property /
  • TheFloorIndexSelected property /
  • TheFloors property /
  • TheName property /
  • TheRoomIndexSelected property /
  • TheRoom property /
  • TheRooms property /
  • Tim Heuer
    • URL /
  • Toolbox palette
    • about /
  • trace listeners
    • selecting /
  • trace sources
    • selecting /
  • transactions, RIA services
    • about /
  • TranslationResult dependency property /
  • TranslationResultUC /
  • trusted applications
    • about /
    • advantages /
    • files, accessing /
    • calls, making to COM+ /
    • notepad, exceuting from /
  • trusted mode
    • enabling /
  • trusted OOB application
    • about /
  • Trusted OOB application
    • real windows /
  • try block
    • about /
  • Tweet class / Processing JSON format
  • TweetModel class /
  • TweetSearch /
  • Twitter API
  • Twitter project
  • TwitterSearchApi / Starting the Twitter project
  • TwoWay mode, data binding modes
    • about /

U

  • UnhandledExceptionEventHandler
    • about /
  • Unit of Work pattern
    • URL /
    • about /
    • working /
  • unit testing
    • about /
    • with Silverlight /
  • unit tests
    • isolating, via substitutes /
  • Unity
    • about /
  • UriMapper
    • about /
  • uriMapper key
    • about /
  • URI mappings
    • examples /
  • URI parameters
    • about /
  • URL
  • UserControl
    • about /
    • creating /
    • example /
    • instantiating, from code /
  • user interface (UI) / Starting the Twitter project
  • using statement
    • about /

V

  • ValidateAll() method /
  • ValidateOnDataError property /
  • ValidateProperty method /
  • validation
    • about /
    • levels /
  • Validation and Bindings tutorial
    • URL /
  • validation levels, RIA services
    • DataAnnotations /
    • Domain services /
  • validations
    • adding, in Silverlight /
    • BindingValidationError /
    • adding, DataAnnotations used /
  • validations, server-side and communication security
  • Validator object /
  • vexing exceptions
    • about /
  • View layer
    • interacting, with ViewModel layer /
  • ViewModel
  • ViewModelBase
    • about /
    • INotifyPropertyChanged interface /
    • Galasoft.MvvmLight, adding /
    • RaisePropertyChanged, adding /
  • ViewModel class /
  • ViewModel constructor /
  • ViewModel layer
    • interacting, with View layer and Model layer /
  • ViewModel object /
  • ViewModel properties
    • about /
    • TheFloors /
    • TheFloorIndexSelected /
    • TheRooms /
    • TheRoomIndexSelected /
    • TheRoom /
    • search string /
    • tweet results /
  • ViewModel public methods
    • AddNewRoom /
    • SaveRoom /
    • DeleteRoom /
    • LoadData /
  • Visual Studio 2010
  • Visual Studio 2010 Premium
    • about /
  • Visual Studio 2010 Ultimate
    • about /
  • Visual Studio solution

W

X