Rich Client Application Questions List

J.D. Meier, Alex Homer, Jason Taylor, Prashant Bansode, Lonnie Wall, Rob Boucher, Akshay Bogawat

Contents

  • General
  • Communication
  • Composition
  • Configuration Management
  • Data Services
  • Exception Management
  • State Management
  • Workflow

General

  • Why would I want to choose a Rich Client Application over other types of applications?
  • What distinguishes a Rich Client Application over other types of applications?
  • What are the key scenarios when I should prefer a Rich Client Application over other types of applications?
  • What are the benefits of a standalone application?
  • How does the client communicate with the services of other layers?
  • What are the various deployment options for Rich Client Applications?
  • What are the key scenarios when I should deploy Rich Client Applications on multiple tiers?
  • What are the technology options available for Rich Client Applications?
  • What are the relevant patterns for separating UI rendering from UI processing?
  • When do I use a presentation layer in my Rich Client Application?
  • When do I use a business layer in my Rich Client Application?
  • How do I implement business rules in a reusable manner in a Rich Client Application?
  • When do I expose my Business process components via services?
  • How do I design business entity components in a Rich Client Application?
  • When do I expose my Business entity components via services?

Communication

  • Why should I prefer asynchronous communication over synchronous?
  • How to design for occasionally connected scenarios?
  • How to design for disconnected scenarios?
  • Why should I design coarse-grained interfaces?
  • How do I design communication with other layers of the application?
  • How do I design communication with other services?
  • How do I design communication with applications on the same physical tier?
  • What are the relevant options available for communication protocol?
  • How does the communication strategy affect performance of Rich Client Application?

Composition

  • How is composition useful in building complex user interfaces?
  • What is the p&p Composition Application Guidance and how does it help me in building composite Rich Client Application?
  • What are the relevant patterns for navigation?
  • What are the relevant visual interface components available for navigation?
  • Why should I choose WPF forms over Windows Forms?
  • When should I choose Office-style documents?
  • How do I design the visual components for navigation?

Configuration Management

  • How do I decide what belongs in configuration files for my Rich Client Application?
  • What are the effective configuration management patterns?
  • What are the common architectural pitfalls with configuration?
  • How do I manage per application configuration?
  • How do I manage per user configuration?
  • In what scenarios do I use distributed configuration management?
  • How do I secure sensitive configuration information?
  • How do I decide whether to store all or part of the configurations locally?
  • What are the relevant options to store the configuration locally?

Data Services

  • When do I use a data layer in my Rich Client Application?
  • Where does a data layer live in my Rich Client Application?
  • How do I design data access components in a Rich Client Application?
  • How does efficient data access improve performance and responsiveness?
  • What are best practices for exposing my data access components via services?
  • When should I consume outside services from my data layer?
  • How do I properly consume services from my data layer?
  • How do we pass data through the layers (tiers)?
  • How do I choose between domain-driven and database-driven?
  • How do I decide if I need translation mechanism to convert data while passing to client application?
  • How do I design translation mechanism with minimum effect on performance?
  • What are the relevant technology options for implementing data access?
  • How do I handle transactions?
  • How do I handle concurrency?
  • What logic should be implemented in the data helper components?
  • Should I implement logic in stored procedures or in application code?
  • How do I design for offline data access?
  • How do I design for synchronizing data?
  • Why should I use loading data asynchronously instead of synchronous?
Exception Management
  • What are the common types of exceptions in a Rich Client Application?
  • How do I catch exceptions in each layer of my application?
  • How do I propagate exceptions to other layers in a Rich Client Application?
  • How do I log exception information in each layer?
  • How to log exception information available to administrators useful for troubleshooting activities?
  • How do I protect sensitive data from revealing to user?
  • When and how should I create custom exception classes?
  • How does the Enterprise Library Exception Management Application Block help me in managing exceptions?
  • How do I display exception information to users?
  • What are the common pitfalls?

State Management

  • Which layers should maintain state?
  • What data should be stored to maintain session?
  • What are the relevant options for storing session?
  • How do I choose appropriate state store for my application?
  • How does effective state management affect performance of my application?
  • What are the common pitfalls?
  • How to design state management for supporting transactions?

Workflow

  • How do I design business workflow components in a Rich Client Application?
  • When do I expose my business workflow components via services?
  • What are best practices for exposing my business workflow components via services?
  • What tools can I use to assist me in designing workflow?
  • What support libraries can I use to implement workflow in my Rich Client Application?
  • What are the relevant patterns for implementing workflows in Rich Client Application?
  • What are the UI components for implementing workflows?

Last edited Oct 15, 2008 at 11:39 PM by prashantbansode, version 1

Comments

No comments yet.