fusion framework_slide_林品辰

Post on 22-Jan-2018

185 Views

Category:

Documents

2 Downloads

Preview:

Click to see full reader

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

top related