Lanner client Britvic discuss their Leeds factory & warehouse simulation
_Web Client Software Factory
-
Upload
tugrul-karakaya -
Category
Documents
-
view
56 -
download
1
Transcript of _Web Client Software Factory
Armen Ayvazyan, Antonin Jelinek and Nikola Malovic
Agenda
Introduction
We all work @ Monster
Armen Ayvazyan, software engineer http://blog.dotnetstyling.com
Antonin Jelinek, technical lead http://www.fc-bohemians.cz/
Nikola Malovic, solution architect http://blog.vuscode.com
What is WCSF?
Microsoft Patterns & Practice best practice and standards guidance for web applications
Synergic evolution of several P&P blocks: Composite AB User Interface Process AB Enterprise Library
It’s a factory Younger sister of SCSF (adopted by Dell)
What are WCSF assets?
What is WCSF?
Why to use it?
Value for Business: Common and consistent interface
reduced training costs Easy rollout of new functionality and
tasks Value from Architecture teams
Enables baseline architecture Create and distribute to developers
common development architecture Common appearance and behavior Modular approach
Why to use it?
Value for Development Teams: Great starting point - Iteration “0” – out of box Provides automation
Proven solution and project structure Integrate ASP NET site map, role manager and EntLib
security AB – out of box Creates test project Designer for page flow
Value for Operations Teams: Xcopy deployment; easy versioning across modules Module specific configuration files Consolidate number of common components Base service control from server side Common exception management system
Web client design patterns View – Presenter Application controller Service locator Dependency injection
View Presenter
Standard ASP. Net page MVP implementation
PagePage
UI related code
Business logic
View pageView pageUI related code
Presenter classPresenter classBusiness logic
IViewIView
Application controller
Work Item Centralize flow and
navigation
Presenter, View and Controller
Problem: Tight coupling
Service locator
Dependency injection
ObjectBuild
er
Service
ClassA
1
2 3
Application blocks
Composite Web AB Page Flow AB Object Builder
CWAB
Separation of concerns
Modularity Extensibility
CWAB Composition
CWAB Services
Page Flow AB
From
To
public void AttemptTransfer(decimal transferAmount){ if (transferAmount > MaxAmountWithoutApproval) { Response.Redirect("ApprovalRequired.aspx"); } Response.Redirect("Confirmation.aspx");}
public void AttemptTransfer(decimal transferAmount){ StorePageFlow.UserData["TransferAmount "] = transferAmount; StorePageFlow.Next(); }
Page Flow AB
StorePageFlow.Navigate("RegisterUser");
Guidance package
Available receipts
Install the Web Client Software factory
Download and run the Web Client Software Factory June 2007 Installer(http://download.microsoft.com/download/7/a/8/7a8d67ba-eac8-43f9-b00e-f74a25561c47/Web%20Client%20Software%20Factory%20-
%20June%202007.msi)
First step
Install WCSF dependencies
Install WCSF Source code
Modules in WCSF
What are modules? Encapsulates
busyness concerns
Type of modules Business Modules Foundational
Modules
Shell
Business modules have UI representation (“Products”, “Users”, etc)
Foundational modules extends functionality of web site (Logging, Search engine, etc)
Modules in WCSF
DEMO
Benefits of Modularity
Encapsulates business concern in one place
Enterprise development Reuse across multiple solutions Testability
Model View Presenter Pattern Architecture of Model View Presenter
pattern MVP is multiplatform solution
PresenterPresenterViewView
Model View Presenter PatternStandard ASP. Net page MVP implementation
PagePage
UI related code
Business logic
View pageView pageUI related code
Presenter classPresenter classBusiness logic
IViewIView
Model View Presenter
Example
View-Presenter in WCSF
Example
Benefits of MVP
Decouples business logic from UI Allows Unit Testing for UI Separates UX and Devs Reusability against different views Independence for designer
Bundles
Demo
Resources