15
討論事項 2010/12/20

20101220架構討論

Embed Size (px)

Citation preview

Page 1: 20101220架構討論

討論事項2010/12/20

Page 2: 20101220架構討論

Part IWebFace架構

Page 3: 20101220架構討論

Legacy

Database Schema

User Interface Description

Grid/Form

Page 4: 20101220架構討論

Improvement

.NET / Oracle

MVC

AJAX

Version Control

Testing

Page 5: 20101220架構討論

WebFace Architecture

PHP JAVA.NET

WebFace JS Go Common Library

Platform

Library

HTML

CSS

HANDLER

SCRIPT

Program 1HTML

CSS

HANDLER

SCRIPT

Program 2Module A Module B

HTML

CSS

HANDLER

SCRIPT

Program 3

Application

Page 6: 20101220架構討論

TodoEntity Framework )MVC(

Auto Building with NAnt )CI(

Auto Testing with NUnit )CI(

SVN-BugTrack-Wiki Integration )CI(

DSL, Meta, DocGen

Page 7: 20101220架構討論

Part II選課系統架構探討

Page 8: 20101220架構討論

Load Balancing

Web ServerIIS APR (Application Request Routing)靜態資料搭配Apache/Lighttpd加速

NetworkDNS Round-Robin

Page 9: 20101220架構討論

Pooling

資料庫連接共用

ADO.NETOracle及SQL Server的Provider皆提供Pooling機制

Page 10: 20101220架構討論

Caching

Client延長靜態資料的快取保存時間(圖片、JavaScript)。

Server (System.Web.Caching, memcached)重複利用短時間內不經常改變的處理結果。

Page 11: 20101220架構討論

Message QueueSystem.Messaging

使用時機:伺服器收到選課資料後,先放入佇列,等候批次處理。

目標:確保已送出的資料不會因系統異常而未完成處理,並按照接收先後循序公平處理。

Page 12: 20101220架構討論

AJAX/COMET

使用時機:學生送出選課資料,等待選課處理結果。

目標:降低等待選課結果時,瀏覽器對伺服器的查詢次數。

Page 13: 20101220架構討論

Stress Testing模擬大量使用者同時上線及操作

計算ThroughputWCATab (Apache Benchmark toolkit)wbox (WBox HTTP testing tool)NeoLoad (commercial)

Page 14: 20101220架構討論

Part III自動化測試

Page 15: 20101220架構討論

UI Testing with Selenium

http://seleniumhq.org/download/

Record as Test CaseverifyTextPresentPlayback & Get Test Results