fusion framework_slide_林品辰

12
林品辰 Pony Lin Fusion Framework 1

Upload: -

Post on 22-Jan-2018

182 views

Category:

Documents


2 download

TRANSCRIPT

Page 1: Fusion Framework_Slide_林品辰

林品辰

Pony LinFusion Framework

1

Page 2: Fusion Framework_Slide_林品辰

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

Page 3: Fusion Framework_Slide_林品辰

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

Page 4: Fusion Framework_Slide_林品辰

4

Data Access 傳統作法

Project/

ProductControl Dao

ADO.NET DataSet

Hard to validate

Hard to use

DbConnection

DbCommand

Execute

Page 5: Fusion Framework_Slide_林品辰

5

Fusion.DataAccess/ORM

Project/

ProductControl

Fusion

Dao

Strong Type

C# Model

LINQ & Lambda

Easy to validate

DataContext

(CRUD method)

Page 6: Fusion Framework_Slide_林品辰

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

Page 7: Fusion Framework_Slide_林品辰

7

Fusion.DataAccess/ORM

Oracle

Control AddParameter:

@strFundID

Fusion Dao

MS SQLServer

Dao is the same.

Database provider is extendable.

Support ORM.

Page 8: Fusion Framework_Slide_林品辰

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

Page 9: Fusion Framework_Slide_林品辰

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

Page 10: Fusion Framework_Slide_林品辰

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

Page 11: Fusion Framework_Slide_林品辰

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

Page 12: Fusion Framework_Slide_林品辰

12

Fusion.Service & Push Service