iT邦幫忙

DAY 3
7

15年ERP維護/規劃/備份/建置/應用 經驗 分享系列 第 3

15年ERP維護/規劃/備份/建置/應用經驗分享-3層比2層快?

WFERP 是 3層式架構
來說說 何謂 3層式架構(OR 多層)

在沒有網路以前
都是 單PC
有了網路後 才能有 Server/Client
Client 端程式 連到 server 端 抓取資料
C->S 這叫做 2層式
電腦多了 電腦強了 就發展出多層架構
這時 程式變成
Client 端程式 請 APP SERVER 幫忙連到 DB server 端 抓取資料
C->APP->DB 就是 3層了
APP 一多了 就叫做多層

這兒所談的ERP系統是指鼎新WORKFLOW ERP
屬於 鼎新電腦版權所有!
WFERP 的 S端程式 在 安裝目錄(CONDUCTOR)下的 C_ 開頭的目錄裡
安裝目錄(CONDUCTOR)下 放共用檔
C_DATE 放 CLINET端用的其他資料 比如 MENU檔 &圖 &檢視設定 & 憑證格式檔
C_DSBIN 放 CLIENT端程式 及元件
C_PKG 放 CLINET端的作業DLL程式
C_MODI 放 CLIENT端客製DLL程式
C_HLP 放 help 檔
所以 純 CLIENT端只要上述的檔案就好

APP SERVER 只要裝 S端程式
在 安裝目錄(CONDUCTOR)下的 S_ 開頭的目錄裡
安裝目錄(CONDUCTOR)下 放共用檔
S_DATE 放 SERVER端用的其他資料 批次的LOG, html 報表等!
S_DSBIN 放 SERVER端程式 及元件
S_PKG 放 SERVER端的作業DLL程式
S_MODI 放 SERVER端客製DLL程式

DB server 裝 MSSQL SERVER & 資料
和 系統控制員 & Borlend SOCKET SERVER 兩個常駐程式
注意 不用裝 ERP 喔!
真的不用裝ERP喔!

CLIENT 程式 讀取 安裝目錄(CONDUCTOR)下 ConductorC.INI 檔中的

[Server Information]		;APP Server定義
;--APP Server 電腦名稱或IP位址
ComputerName=127.0.0.1
;--APP Server 電腦所開放socket port
ServerPort=211

知道 APP SERVER 的
IP = 127.0.0.1
ServerPort=211
就跟APP SERVER 的 211 port 溝通
所以 APP SERVER 需要常駐 Borlend SOCKET SERVER 程式

APP SERVER 接收到 CLIENT端的請求
啟動 S_DSBIN 裡的元件
然後 讀取 安裝目錄(CONDUCTOR)下 ConductorS.INI 檔中的
[DBE Setting] 區段的資料
透過BDE 跟 DB server 要資料
計算後回傳給 CLIENT
所以 DB SERVER 也要常駐 Borlend SOCKET SERVER 程式

而 DB SERVER 就是 MSSQL 給 APP 要的資料就好
所以 DB server 不用裝 ERP!

OK!
以上例子 APP SERVER 是 127.0.0.1 就是自己
所以這是 2 層

那 ComputerName <> 127.0.0.1 就是 3層 了嗎?
答對了!

這就是WFERP 2層 3層 的分辨方式

最後
繞了一圈回到標題
3層比2層快?
why?
因為 APP 的元件 只要跑一次 常駐 在 RAM裡
就可以繼續接受其他CLIENT的呼叫
有可能 A 要的資料 跟 B 要的資料 一樣
所以APP 有 暫存資料的功用
就可以加速資料存取了喔!

尤其在 CLIENT 跟 DB 中間隔著 INTERNET 時 會更好喔!
因為 CLIENT 跟 APP 中間傳資料 比 AP 跟 DB 要的資料少!
因為 ERP 的計算都在 APP 上面!

全系列文章http://ithelp.ithome.com.tw/event/ironmanarticle3/id/20024401


上一篇
15年ERP維護/規劃/備份/建置/應用經驗分享-KILLERP 踢走死掉的ERP程式
下一篇
15年ERP維護/規劃/備份/建置/應用經驗分享-10分鐘裝好WFERP用戶端
系列文
15年ERP維護/規劃/備份/建置/應用 經驗 分享18
0
suda
iT邦新手 3 級 ‧ 2010-09-29 23:26:15

1.是 Borlend SOCKET SERVER ,不是 BDE SOCKET SERVER ,BDE 是資料引擎.

  1. 3層比2層快? 較多的使用者比較有效果,且不知 wferp 是做sql query cache 還是 Socket封包的 cache ? Remote datamodule 是否有實作 Pooling?
  1. 謝謝釘正!
  2. 我也只是猜測! 因為我不是原廠! 經驗上 3層比2層快?
0
jasper64
iT邦新手 4 級 ‧ 2010-09-30 11:15:22

因為鐵人賽,值、不是很重要。那家都在充、量。

我自問每篇都是自己15年來的心得
且發表前都是重新編輯
不是抓抓圖就好!
請明查!

那兒不上您慧眼請不吝指教!

我對 鐵人賽 是重質也重量!
大人請明查!

0
warrenpan
iT邦新手 4 級 ‧ 2010-10-31 15:36:15

您好:
CLIENT 程式 讀取 安裝目錄(CONDUCTOR)下 ConductorC.INI 檔中的
檢視原始檔複製到剪貼簿列印關於
[Server Information] ;APP Server定義
;--APP Server 電腦名稱或IP位址
ComputerName=127.0.0.1
;--APP Server 電腦所開放socket port
ServerPort=211

這個設法是讓client走二層的,
但沒有把S端的程式放在Client的電腦中,
是會有問題的,
三層的設法應該要把ComputerName=AP的IP

比如192.168.10.x的網段
AP的IP是192.168.10.10
那CLIENT的ConductorC.INI 檔中
應該是要設
[Server Information] ;APP Server定義
;--APP Server 電腦名稱或IP位址
ComputerName=192.168.10.10
;--APP Server 電腦所開放socket port
ServerPort=211

以上是對鼎新系統的瞭解,
對三層設定修正的做法,
供各位參考,
謝謝~

我要留言

立即登入留言