關(guān)于計(jì)算機(jī)軟件的數(shù)據(jù)接口探究
多數(shù)數(shù)據(jù)庫(kù)系統(tǒng)的開發(fā)者都是使用超級(jí)用戶權(quán)限直接進(jìn)行數(shù)據(jù)系統(tǒng)開發(fā)這種開發(fā)方式雖然對(duì)于程序開發(fā)人員非常有利,但程序在此基礎(chǔ)之上開發(fā)完成并交付到用戶的手中以后,使用程序的用戶也相當(dāng)于獲得了超級(jí)用戶的權(quán)限,這在某些對(duì)于管理等級(jí)要求嚴(yán)格,而且對(duì)于數(shù)據(jù)的精準(zhǔn)性要求極高的科研與財(cái)務(wù)系統(tǒng)而言會(huì)形成致命的漏洞。由于在編程過程中經(jīng)常需要對(duì)遠(yuǎn)程的主機(jī)進(jìn)行訪問,編程人員須對(duì)遠(yuǎn)程主機(jī)的全部信息進(jìn)行逐一描述在編程過程中,由于沒有通用的數(shù)據(jù)接口,編程人員必須對(duì)遠(yuǎn)程主機(jī)的全部信息進(jìn)行逐一的描述,比如遠(yuǎn)程主機(jī)的ip地址或者是可以解析的主機(jī)名,遠(yuǎn)程數(shù)據(jù)庫(kù)名,遠(yuǎn)程數(shù)據(jù)庫(kù)中的表名或存儲(chǔ)過程名,遠(yuǎn)程數(shù)據(jù)庫(kù)的用戶名及其用戶對(duì)象名,遠(yuǎn)程主機(jī)的端口號(hào)。這些信息不僅非常繁瑣,而且一旦遠(yuǎn)程主機(jī)出現(xiàn)任何變動(dòng)都將給程序帶來(lái)不可避免的問題。如果遠(yuǎn)程主機(jī)更改了端口號(hào),則將使程序變得不能再使用。
1、計(jì)算機(jī)軟件的數(shù)據(jù)接口
計(jì)算機(jī)軟件的數(shù)據(jù)接口即指由開發(fā)軟件的供應(yīng)商提供給用戶的或者是由某些第三方的軟件開發(fā)商提供給用戶的軟件與數(shù)據(jù)庫(kù)之間的數(shù)據(jù)庫(kù)連接標(biāo)準(zhǔn)或連接規(guī)范,這些標(biāo)準(zhǔn)或規(guī)范的目的是任何用戶都可以在程序的開發(fā)過程中使用與數(shù)據(jù)源無(wú)關(guān)的操作進(jìn)行開發(fā),只要數(shù)據(jù)接口的名稱確定即可,而連接何種數(shù)據(jù)庫(kù)、數(shù)據(jù)庫(kù)位于何處、數(shù)據(jù)庫(kù)的名稱及其主機(jī)名稱、連接端口等詳細(xì)的信息都可以與程序進(jìn)行分離,只需要程序之外對(duì)接口進(jìn)行配置即可。其有利于減輕程序員頻繁與數(shù)據(jù)接口打交道的過程,不必在每一個(gè)程序中都注明與數(shù)據(jù)庫(kù)相關(guān)的信息;另一方面是用戶可以較為靈活地配置其數(shù)據(jù)庫(kù)。數(shù)據(jù)的接口軟件通常都是由該系統(tǒng)的開發(fā)商提供的。如oracle數(shù)據(jù)庫(kù)的數(shù)據(jù)接口是由oracle公司提供給用戶,隨著windows系統(tǒng)集成度的越來(lái)越高,常用的數(shù)據(jù)接口幾乎微軟都已有提供,至于其沒有提供的數(shù)據(jù)接口用戶可以使用數(shù)據(jù)庫(kù)開發(fā)商提供的接口安裝軟件將其安裝到操作系統(tǒng)上。
2、計(jì)算機(jī)軟件數(shù)據(jù)接口的設(shè)計(jì)原則
技術(shù)人員在進(jìn)行軟件數(shù)據(jù)接口設(shè)計(jì)時(shí),一定要遵循以下原則:面向客戶的應(yīng)用需要;面向?qū)ο蟮脑瓌t;軟件數(shù)據(jù)接口的高容錯(cuò)性與高健壯性;軟件數(shù)據(jù)接口需要具備可擴(kuò)展性;嚴(yán)格業(yè)內(nèi)標(biāo)準(zhǔn)數(shù)據(jù)接口規(guī)范。
3、計(jì)算機(jī)軟件數(shù)據(jù)接口的設(shè)計(jì)與實(shí)現(xiàn)
3.1文件交換模式
文件交換模式指的是用戶、軟件開發(fā)商和第三方軟件開發(fā)商通過某種特定的數(shù)據(jù)模式的文件進(jìn)行的數(shù)據(jù)交互過程。軟件開發(fā)商在對(duì)軟件進(jìn)行開發(fā)時(shí),指定一種數(shù)據(jù)結(jié)構(gòu),用戶和第三方開發(fā)商按照這種數(shù)據(jù)結(jié)構(gòu)建立文件。當(dāng)軟件掃描到該文件時(shí)會(huì)返回一個(gè)文件,后者通過自己制定的規(guī)則對(duì)返回文件進(jìn)行訪問從而實(shí)現(xiàn)數(shù)據(jù)交互的目的。
3.2函數(shù)模式
軟件數(shù)據(jù)接口的函數(shù)模式是指開發(fā)商首先將一些列的函數(shù)定義好,提前完成用戶與第三方開發(fā)商所需介入的數(shù)據(jù)操作,這個(gè)過程將不會(huì)對(duì)用戶及第三方開發(fā)商開放,以此來(lái)保證數(shù)據(jù)的機(jī)密性。
3.3中間數(shù)據(jù)庫(kù)模式
中間數(shù)據(jù)庫(kù)模式是指軟件開發(fā)商會(huì)建立起一個(gè)數(shù)據(jù)庫(kù),其屬于公用性質(zhì),用戶或第三方開發(fā)商若要訪問只需通過簡(jiǎn)單的授權(quán)程序便可。雙方遵循相應(yīng)的規(guī)則,便能通過該數(shù)據(jù)庫(kù)實(shí)現(xiàn)數(shù)據(jù)交互。數(shù)據(jù)接口的主要作用是解決軟件之間的數(shù)據(jù)共享與數(shù)據(jù)轉(zhuǎn)換問題。比如說在開發(fā)某機(jī)械產(chǎn)品時(shí)需要用到的大型三維建模軟件proe和有限元分析軟件ansys。proe擁有著強(qiáng)大的建模功能,并且操作簡(jiǎn)便,但它的結(jié)構(gòu)分析功能并不是很強(qiáng)大。而ansys擁有強(qiáng)大的結(jié)構(gòu)、磁場(chǎng)等方面的分析功能。作為一個(gè)機(jī)械產(chǎn)品,在對(duì)它進(jìn)行建模后必須對(duì)它進(jìn)行一系列的結(jié)構(gòu)分析,以確保所設(shè)計(jì)的產(chǎn)品結(jié)構(gòu)的合理性和安全性。因此,很多設(shè)計(jì)人員都是在proe中進(jìn)行模型的建立,而后在ansys中對(duì)所設(shè)計(jì)的模型進(jìn)行系統(tǒng)分析。那么,在這兩者之間必須存在一個(gè)數(shù)據(jù)接口以完成它們的數(shù)據(jù)文件之間的共享。現(xiàn)有的接口方法有iges格式導(dǎo)入法、無(wú)縫鏈接法等。另外,對(duì)于通過非接口實(shí)現(xiàn)的數(shù)據(jù)交流方式也存在著一些安全隱患:1.部分用戶在對(duì)這種共享機(jī)制進(jìn)行深入的理解和掌握之后,可能繞到這種機(jī)制的底層直接對(duì)數(shù)據(jù)進(jìn)行訪問,從而造成數(shù)據(jù)的不一致;2.惡意攻擊者可能通過這種機(jī)制對(duì)應(yīng)用程序進(jìn)行攻擊。因此,在設(shè)計(jì)時(shí),提高數(shù)據(jù)接口的合理性與科學(xué)性,可以有效提高軟件的使用效率。對(duì)于開發(fā)人員而言,要降低各個(gè)程序模塊之間的耦合性和程序開發(fā)的難度及成本,常用的方法是把其數(shù)據(jù)接口設(shè)計(jì)得更復(fù)雜、更詳細(xì),這樣的數(shù)據(jù)接口效果才會(huì)更好。
4、總結(jié)
總而言之,軟件數(shù)據(jù)接口的設(shè)計(jì)與應(yīng)用已對(duì)計(jì)算機(jī)技術(shù)產(chǎn)生了巨大的影響,它的應(yīng)用將一個(gè)個(gè)獨(dú)立的計(jì)算機(jī)軟件合理的連接起來(lái),既滿足了計(jì)算機(jī)用戶的需求,也促進(jìn)了計(jì)算機(jī)技術(shù)的發(fā)展。計(jì)算機(jī)軟件數(shù)據(jù)接口與程序無(wú)關(guān)的分離方法,使用戶可以更加靈活地配置其數(shù)據(jù)庫(kù),而程序員也可以更加專心地研究其程序的各個(gè)環(huán)節(jié),這種數(shù)據(jù)與程序的適度分離既實(shí)現(xiàn)了編程的專業(yè)化,又實(shí)現(xiàn)了數(shù)據(jù)庫(kù)的專業(yè)化。