+ All Categories
Home > Documents > Smart Client Software Factory 2010

Smart Client Software Factory 2010

Date post: 18-Jun-2015
Category:
Upload: tomy-ismail
View: 2,945 times
Download: 9 times
Share this document with a friend
Description:
Smart Client Architecture, create modular, extensible, loosely-couple application
Popular Tags:
17
Smart Client Software Factory 2010 A Brief Development Guidance - Western Digital #tomysmile – 05 Aug 2010
Transcript

Smart Client Software Factory 2010

A Brief Development Guidance -Western Digital #tomysmile – 05 Aug 2010

Agenda

• Overview

• Application Layering

• Architecture Patterns

• Development Activities

Overview

SCSF takes advantage of the Microsoft Enterprise Library 2.0 and Composite UI Application Block, using a software factory model to generate the application framework

Rapid and standardized application development, allowing developers to generate core application frameworks and focus on building the business logic

End result is an extensible, extendable, modular, maintainable and loosely couple architecture application

Application Layering

Application Layering cont.

Presentation – outer layer, exchangeable

Business• Services

• Rules

Data Access

Modules

Infrastructure

Architecture Patterns

Architecture Patterns cont.

Presentation Pattern

Dependency Injection / Object Builder

Observer Pattern

Composite and Modularity

Commanding Pattern

Development Activities

Development Activities cont.

Architects approach

Business analyst approach

Developer approach

Designer approach

Development Activities cont. – Business Analyst Approach

Data Access Layer• This layer concern only for database activity (CRUD), no

business validation or caching or else.

• Create DAL for each database activity

▪ LookupDAL, AllocationDAL, BuildRequestDAL

• Business Analyst will need to work closely with database dev / admin and define the output of the result.

Business Rules Layer• The main concern of this layer is to provide business

specific rules and validation. Rules must be exchangeable and configurable.

• Create Rules as specific and clear as it can in this layer, if no rules required then just passed it on to the upper layer (DAL)

▪ DataLookupRule, AllocationRule, BuildRequestRule

Development Activities cont. – Business Analyst Approach

Service Layer• The main concern of this layer is to be the application data

End Point and all the data related activities must be through this layer in order to maintain the standard and maintainability.

• Service can be passed to the Business Rule layer or accessing a Web / WCF Services

• Service must be exchangeable, testable and mock able, so always use interface based programming in this layer

• This layer is perfect for caching feature because all the data will need to be retrieve or pass from this layer.

▪ Eg: DataLookupService, AllocationService

Development Activities cont. – Business Analyst Approach

Presentation Layer• This is the most outer layer that presents the data looks

and feel

• The SCSF use MVP and MVC for the presentation, so it can be extend and exchange either use Web-based, Windows Form-based, WPF-based even Silverlight without having to change the whole codes and project structures.

• Contain 3 sub layer :▪ Model – represent the data source ( service layer )

▪ View – this is the display that user can see

▪ Presenter / Controller – the hub between data source and the view

• View layer must be dumb enough so it can be replace by Windows Form, Web Form, WPF or Silverlight

Development Activities cont – Developer Approach

The reverse of the Business analyst approach

Development Activities cont. – The Flow

Data Access Layer

Business Layer

Service Layer

Presentation Layer

Interface

Concrete

Interface usually prefix with char ‘I’

Interface

Concrete

Presenter

View

Development Activities cont. – The Flow

Presentation (MVP/MVC)

Service (By Pass to Rule, Web Service, WCF Service)

Business

Data Access

View Interface (IMainView)

View PresenterView / User Control

Service InterfaceService Concrete

Infrastructure.InterfaceInfrastructure.ModuleCache FeatureException Handling (Opt)

Business InterfaceBusiness Concrete

DAL / Repository

Database

Development Activities cont. - Configuration Application Config

• app.config

• appSettings.config

• appConnectionStrings.config

Modules Config• ProfileCatalog.xml

Messaging Config• Messages.xml

Thank You


Recommended