fusion framework_slide_林品辰
TRANSCRIPT
林品辰
Pony LinFusion Framework
1
2
Fusoin.Common (Core API)
Fusion.Service Middleware (Web API & SignalR)
Logging
Formatting
Data Access/ORM
Compression
Serialization Cryptography
Fusion Action Configs
User Interface
Web Application (ASP.NET MVC)
BaseControllerFusionJS Fusion.ServiceProxy Fusion.PushProxy
Interfaces & Contracts
Components Configurations
Extensions
PagingCaching
Validation
Fusion.Service (ASP.NET Web API)
Fusion Controller Fusion Data Access
Fusion Token Service (Token Identity)
Fusion Push HubFusion Action Interceptor
Pure ADO.NET, No DAAB, No Entity Framework
Similar API just like Microsoft Enterprise Library DAAB
Similar DataContext just like Entity Framework DbContext
ORM (Object-Relational Mapping)
Support dif ferent database provider
Same API for MSSQL & Oracle
3
Fusion.DataAccess/ORM
4
Data Access 傳統作法
Project/
ProductControl Dao
ADO.NET DataSet
Hard to validate
Hard to use
DbConnection
DbCommand
Execute
5
Fusion.DataAccess/ORM
Project/
ProductControl
Fusion
Dao
Strong Type
C# Model
LINQ & Lambda
Easy to validate
DataContext
(CRUD method)
6
Data Access 傳統作法
MS SQLServer
Oracle
Control
SQL Client
Enterprise Library DAAB
AddParameter:
@param
MSSQL_Dao
Oracle Client/Devart
Enterprise Library DAAB
AddParameter: :param
Oralce_Dao
7
Fusion.DataAccess/ORM
Oracle
Control AddParameter:
@strFundID
Fusion Dao
MS SQLServer
Dao is the same.
Database provider is extendable.
Support ORM.
8
Fusion.Service (Middleware)
Cross platform (.NET C# ServiceProxy, JavaScript Proxy)
Reusable, Extendable, Loose-coupling, Portability…
Token Service: Token Identity
Push Service
Logging & Tracing
Validation, Formatting, Caching, Paging
9
Service 傳統作法
Project A
(Win Form)
Project B
(WPF)
Project C
(ASP.NET)
Project D
(iOS App)
Remoting
WCF
Web Service
?
Project E
(Mobile Web)?
Project A
API
Project B
API
Project C
API
Project D
API
Project E
API
10
Fusion.Service (Middleware)
Fusion
Service
(Middleware)
Project A
(Win Form)
Project B
(WPF)
Project C
(ASP.NET)
Project D
(iOS App)
Project E
(Mobile Web)
Project A
API
Project B
API
Project C
API
Project D
API
Project E
API
11
Fusion.Service (Middleware)
Fusion.Service
Client Side
APIs
Database
Fusion Caching
Action A
Action B
Action C
Action D
Fusion Validation
Fusion Paging
Fusion
Formatting
token
token
12
Fusion.Service & Push Service