Responsive Web Client Reference Implementation29 October 2007
This week has seen the folks at Patterns and Practices shipping a Reference Implementation for the web client bundle. I can’t wait to have time to look into this – nuggets like this can really make your development life so much easier. Surely anything that takes 10 to 15 degrees of your learning curve can only be a good thing, no?
The Responsive Web Client Reference Implementation is a executable Order Entry sample application the demonstrates the Web client guidance in action.
Here is a brief summery of what the reference implementation shows (effortlessly pinched from Brad, who himself seamlessly stole from Blaine)
- Composability : Building a composite web application
- Modularity: Building complex sites based on modules that can be independently developed, tested, versioned, and deployed
- Page composition: Creating composite Web pages that contain multiple user control views. The user controls can be used across modules and can be independently developed, tested, versioned, and deployed.
- Testing of UI Logic: Utilizing unit tests to test Web page logic
- Responsiveness : Improving usability and performance of the composite user interface utilizing ASP.NET AJAX.
- Autocomplete : Providing a list of suggestions to a user that are retrieved based on the characters they have entered.
- Validation : Validating user input on both the Web browser and the Web server.
- Live Form: Dynamically updating a field in the browser based on input from another field.
- Live Search : Searching against LOB data from within the browser.
- Live Grid : Adding, Removing and Modifying records in a grid.
- Popup : Utilizing AJAX popup’s to dynamically display data that is retrieved from the server.
- JSON Service: Calling a Web service from the browser.
- UI Appearance: Creating and modifying the look and feel of the UI
- Layout management: Creating a common user experience across different independent modules, separating the responsibility of the UI design from UI development.
- User profile–based UIs: Changing the behavior of the UI based on the user identity and profile information
- Navigation: Providing role-based site navigation.
- Security : Improving site security
- Authentication: Identifying registered users of a site
- Authorization: Changing permissions for different users
- Data security: Validating input data to reduce the probability of cross-site scripting and SQL injection attacks.
- Easy deployment: deploying and updating modules independently of other modules.
- Logging and Exception Management: Providing a standard logging and exception management approach to ensure the operations team can more easily operate the application.
I encourage you to join me and take a look and see if this work can help you in your next product.