亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 學院 > 開發設計 > 正文

企業級N Tier體系結構解決方案討論(二)

2019-11-18 22:05:45
字體:
來源:轉載
供稿:網友
企業級N Tier體系結構解決方案討論
--NT+SQL Server plantform篇
Writen by pepper_dog999
    關于企業級的數據庫結合前臺應用程序的解決方案現在成為了整個網絡應用的熱點問題。很多企業在選擇解決的方案時常會考慮的問題可以歸結為三個h,即High performance、High security、High transaction solution。我的這篇文章意在比較業界流行的幾種解決方案之間的優缺點和可行性,本篇討論的是微軟的解決方案。首先我們在這里不去討論常規的Server/Client模式,也就是2-Tier模式,雖然這種模式的應用最為廣泛,但由于對于企業級的需求來說,這種模式的performance和security都不能達到要求,所以我們主要討論的是N>=3 的情況,也就是Database Server/application Server/Client的模式。至于Distribution Transaction的情況我們暫時不做討論。在這里我首先提出我的一個看法,那就是現在大部分的方案開發者都走入了一個誤區,那就是將工作的重點和大部分的精力放在了3-tier體系結構中的第二層,也就是App Server上,由于整個業界不斷的推出新的中間層解決方案,從perl到aspphp到isapi到現在的jsp,所以開發者的大部分時間和精力都用來熟悉新的解決方案和對比各種方案的優缺點上。誠然,好的中間層解決方案能夠提供更高的性能和安全性,也就是前面三h中的前兩個。但是這是在小量數據的時候(tiny data),那么當大量或者是海量數據出現的時候呢?這里我想借用硬件中常用的一個術語--瓶(bottle neck),大家都知道瓶頸是制約整個體系的最慢的部分,當海量數據出現時,整個3 Tier體系中的瓶頸就成了該體系中的第一層,即
database Server,而在企業級應用中,我想可能以第二種情況為多。大概二者性能影響的比例應該為4:1吧,而且數據量越大這個比例也就越大了,這也是數據庫產品的售價遠高于應用程序的原因吧(笑)。現在較高級的數據庫產品如SQL Server、Oracle等都將Autentication、Performance、Transaction緊密的結合在了它們的產品中,那我們的開發重點是否也應該相應的放在database Server端呢?而在app Server端只是幾個簡單的調用過程和參數的傳遞過程,那么app Server端用哪一種方案就不再是一個很重要的問題了。我覺得是越簡單越好,為什么不呢?非要去用isapi嗎?這樣的話開發的重點不就本末倒置了嗎?如果從開發成本/性能效益的角度來分析的話,那就大大的不值得了。所以我覺得與其將大量的精力放在前臺的app Server上,不如將更多的工作重點放在后臺數據庫的設計、開發上,將核心的處理過程都轉移到database Server上。將精力用在數據庫的合理設計,數據庫中實體之間的關系,索引的合理配給等方面。例如2NF、3NF的實現哪,表中仄余column的分析上啊。我的幾位同學都在做這樣的項目,他們的程序不能說不好,所用的技術也是日新月異,可他們數據庫的設計可就實在不怎么樣了。各個表之間的關系混亂、大量的仄余column,我想這可能是因為他們沒有從一個總體的角度去考慮問題吧,而且一個整體的解決方案需要對各個層次都有所了解,這也是不太容易達到的了。周星弛在大話西游中說"斗雞眼其實與常人沒什么不同,只是看事物的方法不同罷了,是將視線和注意力放在事物的某一點罷了。"但我們在項目的總體開發上卻不能這樣,要不然對項目的可行性分析和總體的考慮還有什么意義呢?前面我說的我的那幾位同
學他們的后臺數據庫也多是SQL Server和Oracle。但他們并沒有去發揮這些產品的特性。比如說他們在SQL Server上建立了一個員工的信息數據庫,其中有一個表(member_info)用于保存員工的信息。為了獲得該表的數據他們在app Server端寫了如下的語句:
conn.ConnectionString="Driver={SQL Server};Server=sev1;uid=user_name;
                           pwd=passWord;database=member_database"
conn.open
rs.ActiveConnection=conn
strSQL="select member_ID,address,fri_name,lsr_name…… from member_info
            where……";
rs.open strSQL,conn,,,adCmdText
好了,目的是達到了,但重要的信息也都泄露了。用戶名(user_name)、密碼(password)、連接的數據庫服務器(sev1)、
數據庫名(member_database)、該數據庫下的表名(member_info)、甚至該表的各個Column名都知道了,是的,asp是不允許
看到原代碼的。但asp的漏洞大家都知道的。若它用了SSL還好,否則就是整裸體一個了。也許你會說:"我可以只給
user_name用戶Grant一個最小的權限,那它就不能為所欲為了,是的,但一個Select權限總得有吧。若該表上有很多的敏
感信息,而你只想讓用戶看到部分的Column那怎么辦呢?那你就一個Column一個Column的去賦予權限好了。但現在很多的
開發者對數據庫的設計并不在行,有些又將開發的工作分給了不同的人做,那么在思想的統一上又出現了問題。所以根本
不會考慮很多的問題。我還見過有人在uid字段填個sa,在pwd字段填個""(NULL),哈,開發真的方便了,那我看你還是將
你的數據庫設為"dbo use only "吧!·那我們用SQL Server和Oracle上都有的Stored PRocedure來做呢?
Create Procedure usp_show_info
@memberID int
……
As
select member_ID,address,fri_name,lsr_name……
from member_info where……
我們僅給db_user一個Execute該Procedure的權限,那么它就只能執行該Procedure,對于表的權限它什么也沒有。而且
Procedure是放在database端上的預編譯過程,該用戶連表名都不知道了,他怎么直接操作表呢?只要不發生權限的斷鏈就
一點問題都沒有了。至于性能和可重用性大家也都看得明白拉。前臺的調用過程就幾句:
comm.CommandType=cmdStoredProcedure
comm..CommandText="usp_show_info"
如果我們在App Server端再加個SSL的話,那就有兩層的安全保障了。再不放心,用JSP將原代碼編譯得了。至于只想顯示
一部分的表項,那更好辦,SQL Server和Oracle中都有View的概念,然后將Procedure操作于view上,我們看看它的關系鏈
table->view->procedure->database Server->app Server->SSL->client,如果還有人能解開這個鏈的話,我,我想你還
是把他聘請得了(這樣的性價比絕對最高)。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
亚洲精品成人网| 亚洲第一中文字幕在线观看| 精品国内自产拍在线观看| 中文字幕不卡在线视频极品| 日韩av最新在线| 精品国产91乱高清在线观看| 亚洲欧美另类在线观看| 国产精品夜色7777狼人| 精品欧美国产一区二区三区| 日韩一区二区三区国产| 久久中文字幕国产| 日韩大胆人体377p| 久久精品99久久香蕉国产色戒| 精品国偷自产在线视频| 国产极品jizzhd欧美| 78m国产成人精品视频| 欧美香蕉大胸在线视频观看| 亚洲国产成人在线播放| 欧美激情按摩在线| 国产成人综合av| 欧美做受高潮电影o| 日韩高清有码在线| 亚洲精品美女在线观看播放| 日韩av在线网址| 亚洲三级av在线| 久久久成人av| 久久久女人电视剧免费播放下载| 欧美日韩ab片| 全色精品综合影院| 亚洲视频自拍偷拍| 亚洲国产成人久久综合| 97国产精品视频人人做人人爱| 欧美日韩亚洲一区二区| 欧美极品美女电影一区| 欧美国产亚洲精品久久久8v| 久久久久久国产精品三级玉女聊斋| 欧美一级大片视频| 91精品视频免费观看| 亚洲欧洲偷拍精品| 国产精品久久国产精品99gif| 亚洲精品国产精品自产a区红杏吧| 在线看福利67194| 国产精品18久久久久久麻辣| 一本大道亚洲视频| 26uuu日韩精品一区二区| 日韩欧美国产视频| 成人国内精品久久久久一区| 九九精品视频在线观看| 蜜臀久久99精品久久久久久宅男| 操91在线视频| 2019中文字幕在线免费观看| 91av在线精品| 欧美日韩国产一中文字不卡| 精品久久久一区二区| 欧美日本国产在线| 亚洲国产黄色片| 成人激情免费在线| 亚洲成人性视频| 久久视频在线直播| 国产一区香蕉久久| 欧美与欧洲交xxxx免费观看| 91免费视频国产| 成人乱人伦精品视频在线观看| 欧美日韩性视频在线| 国产精品96久久久久久又黄又硬| 亚洲免费伊人电影在线观看av| 精品国产一区二区三区在线观看| 97精品久久久| 国产精品视频一| 欧美亚洲成人xxx| 成人免费网站在线| 免费91麻豆精品国产自产在线观看| 日韩电影中文 亚洲精品乱码| 国产精品一区二区三区久久| 色爱av美腿丝袜综合粉嫩av| 国产精品美女久久久免费| 日韩欧美在线播放| 日韩欧美国产激情| 久久夜色精品国产亚洲aⅴ| 日韩精品www| 久久久亚洲福利精品午夜| 韩国精品美女www爽爽爽视频| 亚洲第一网站免费视频| 日韩在线观看网站| 亚洲成人激情在线| 中文字幕在线国产精品| 国产精品久久久久久久久久久不卡| 国产精品网站视频| 91成人国产在线观看| 国内精品免费午夜毛片| 国产一区二区在线免费| 国产欧洲精品视频| 国产一区玩具在线观看| 亚洲大尺度美女在线| 色琪琪综合男人的天堂aⅴ视频| 国产精品av网站| xxav国产精品美女主播| 欧美色欧美亚洲高清在线视频| 午夜精品蜜臀一区二区三区免费| 中文字幕日本精品| 欧美老女人性生活| 久久人人97超碰精品888| 日韩电影在线观看永久视频免费网站| 亚洲欧美在线第一页| 久久精品视频免费播放| 成人黄色免费看| 国产在线视频91| 亚洲综合社区网| 国产欧美精品日韩| 国产精品美女主播| 色偷偷噜噜噜亚洲男人| 国产91成人在在线播放| 亚洲色图美腿丝袜| 国产精品亚洲美女av网站| 亚洲护士老师的毛茸茸最新章节| 91黑丝在线观看| 亚洲综合色激情五月| 日韩亚洲成人av在线| 亚洲美女在线观看| 久久国产精品久久久久| 这里精品视频免费| 欧美性猛交xxx| 日韩欧美一区二区三区| 国产精品扒开腿爽爽爽视频| 亚洲自拍小视频免费观看| 日韩成人中文字幕| 性色av香蕉一区二区| 亚洲jizzjizz日本少妇| 亚洲偷欧美偷国内偷| 亚洲桃花岛网站| 久久精品视频在线播放| 国产精品视频久久| 亚洲精品影视在线观看| 日韩av免费一区| 日韩av有码在线| 色综合影院在线| 国产不卡在线观看| 热久久99这里有精品| 日韩免费观看av| 欧美三级欧美成人高清www| 亚洲国产欧美一区二区三区久久| 中文字幕欧美日韩精品| 亚洲第一av网站| 久久精品99国产精品酒店日本| 久久天天躁狠狠躁夜夜av| 亚洲人成欧美中文字幕| 欧美激情在线一区| 欧美一区二区三区免费观看| 热99精品只有里视频精品| 国产精品久久久久久久久久新婚| 亚洲区一区二区| 久久综合亚洲社区| 精品成人久久av| 亚洲国产精品人久久电影| 欧美激情手机在线视频| 欧美高清电影在线看| 国产精品永久免费在线| 国产精品91久久久| 日本在线观看天堂男亚洲| 亚洲一区二区三| 日韩欧美一区二区三区| 久久精品电影网| 成人激情视频在线播放| 一本色道久久综合狠狠躁篇的优点|