pbootcms网站模板|日韩1区2区|织梦模板||网站源码|日韩1区2区|jquery建站特效-html5模板网

網(wǎng)絡(luò)開(kāi)發(fā)新進(jìn)展 “RIA+SOA”劃時(shí)代

雖然Web 2.0應(yīng)用程序著實(shí)讓人興奮,但它們?cè)谙乱淮鶵IA+SOA集成平臺(tái)形成之前是不會(huì)成為主流的。 下一代RIA+SOA平臺(tái)什么樣子 目前,在基于HTML、CSS、Javascript標(biāo)準(zhǔn)的網(wǎng)絡(luò)環(huán)境下,RIA開(kāi)發(fā)人員

雖然Web 2.0應(yīng)用程序著實(shí)讓人興奮,但它們?cè)谙乱淮鶵IA+SOA集成平臺(tái)形成之前是不會(huì)成為主流的。

 

      下一代RIA+SOA平臺(tái)什么樣子

      目前,在基于HTML、CSS、Javascript標(biāo)準(zhǔn)的網(wǎng)絡(luò)環(huán)境下,RIA開(kāi)發(fā)人員在構(gòu)建富用戶界面時(shí),必須對(duì)多種第三方庫(kù)文件和框架進(jìn)行編譯。這種“ 照單選菜”的RIA程序開(kāi)發(fā)方式給開(kāi)發(fā)人員增加了多余的負(fù)擔(dān)。他們不能將精力全部用于編寫(xiě)程序,而必須拿出部分時(shí)間用來(lái)尋找、集成和整理各種各樣的RIA 開(kāi)發(fā)平臺(tái)。

      SOA方面也是如此。開(kāi)發(fā)人員必須自己解決如何創(chuàng)建服務(wù),以及如何將這些服務(wù)集成到RIA前端程序。開(kāi)發(fā)人員需要一個(gè)能解決編寫(xiě)程序時(shí)所需考慮的各種問(wèn)題的平臺(tái),這樣他們才能把精力放在他們最擅長(zhǎng)的事情上——編寫(xiě)程序。

      問(wèn)題是:下一代RIA+SOA平臺(tái)應(yīng)該是什么樣子呢?

      我們可以從建立一個(gè)RIA+SOA應(yīng)用的活動(dòng)開(kāi)始。一般來(lái)說(shuō),這些活動(dòng)主要包括:

      1、設(shè)計(jì)程序的“樣子”

      也就是程序的總體外觀。它包括以下方面:顏色、字體、圖表,以及總體頁(yè)面布局。

      常用工具包括:HTML、CSS和圖像工具。

      2、集成控件(widget)

      控件將一系列常用功能封裝在一個(gè)單獨(dú)的組件里。除一些預(yù)定義的動(dòng)態(tài)行為之外,它們通常還包含“感觀”效果。它們是RIA程序的基礎(chǔ)組成模塊。

      常用工具包括:ExtJS、Dojo、Yahoo YUI,以及一些其它小型控件工具。

      3、為用戶界面添加動(dòng)態(tài)行為

      在用戶界面創(chuàng)建動(dòng)態(tài)行為涉及兩件事:

      事件處理

      文檔對(duì)象模型(DOM)操作

      事件處理是對(duì)發(fā)生的特定事件(比如用戶點(diǎn)擊一個(gè)按鈕或者收到服務(wù)響應(yīng))進(jìn)行判定的能力。DOM操作可以讓你根據(jù)接收到的事件動(dòng)態(tài)改變用戶界面。

      常用工具包括:Javascript庫(kù)類,比如JQuery、Prototype和Scriptaculous。

      4、使用服務(wù)

      RIA的一個(gè)主要功能是使用后端服務(wù)。這使它可以用單頁(yè)面用戶界面?zhèn)鬏敺?wù)的應(yīng)用數(shù)據(jù)。用戶界面與服務(wù)層也可以完全分開(kāi)。Ajax是最常用的與服務(wù)交互的方法。

      常用工具包括:Javascript庫(kù)類,比如Jquery和Prototype。

      5、創(chuàng)建服務(wù)

      服務(wù)為數(shù)據(jù)和應(yīng)用業(yè)務(wù)邏輯層提供了一個(gè)接口。

      常用工具包括:可以根據(jù)你所用的程序設(shè)計(jì)語(yǔ)言選擇適當(dāng)?shù)目蚣軄?lái)創(chuàng)建服務(wù)。

      下一代RIA+SOA平臺(tái)基本特征

      了解了創(chuàng)建RIA+SOA應(yīng)用程序的大致需求,我們?cè)賮?lái)看一下怎樣將這些活動(dòng)整合到一起,從而最大化開(kāi)發(fā)人員的效率。下面幾個(gè)部分概述了下一代RIA+SOA平臺(tái)的基本特征。

      1、支持HTML和CSS

      這兩種語(yǔ)言非常適合用來(lái)實(shí)現(xiàn)應(yīng)用程序的“外觀”,并且大多網(wǎng)絡(luò)用戶界面的開(kāi)發(fā)人員對(duì)它們都很熟悉。所以沒(méi)必要再去另做一些工作實(shí)現(xiàn)重復(fù)的功能。

      2、提供開(kāi)放的控件框架(Open Widget Framework)

      正如前面講到的,控件是RIA程序的基礎(chǔ)組成模塊。有許多工具可以使用,比如Yahoo、Dojo和ExtJS。也有一些小型項(xiàng)目或個(gè)人開(kāi)發(fā)的獨(dú)立控件。你可以使用這些控件構(gòu)建RIA程序,但有一些需要注意的地方:

      幾乎不可能僅靠一個(gè)控件來(lái)滿足你所有的需求。

      集成各種第三方控件時(shí)可能需要定制代碼,并對(duì)各個(gè)控件有深入的了解。

      編寫(xiě)新的控件是一項(xiàng)有挑戰(zhàn)性的工作,因?yàn)檫@意味著你得編寫(xiě)自己所用的控件工具的低層API,甚至要從零開(kāi)始。

      某些控件框架要求開(kāi)發(fā)人員為所用的控件編寫(xiě)大量的JavaScript,這對(duì)那些JavaScript開(kāi)發(fā)經(jīng)驗(yàn)很少甚至沒(méi)有的人來(lái)說(shuō),無(wú)疑是有很大問(wèn)題。

      為解決以上問(wèn)題,RIA+SOA平臺(tái)提供的開(kāi)放控件框架需要具備以下功能:

      ·支持集成現(xiàn)有的第三方控件

      ·為新建控件提供簡(jiǎn)單的API

      ·可以通過(guò)簡(jiǎn)單標(biāo)記(markup)使用控件(不需要使用JavaScript)

      ·支持分布模型,以簡(jiǎn)化新控件的提交、發(fā)現(xiàn)和使用。

      開(kāi)放的控件框架將成為開(kāi)發(fā)人員獲取控件的資源,并使開(kāi)發(fā)人員可以很容易地集成控件和應(yīng)用程序。如果沒(méi)有所需的控件,使用開(kāi)放控件框架的API重新創(chuàng)建也很容易。

      由于控件在RIA開(kāi)發(fā)中的重要性及其分散的特性,開(kāi)放的控件框架應(yīng)該是任何RIA+SOA平臺(tái)必不可少的組成部分。

      3、提供一個(gè)集成的RIA編程模型

      與傳統(tǒng)的Web應(yīng)用相比,RIA程序需要編寫(xiě)更多的用戶界面代碼。因此,下一代平臺(tái)需要集成的RIA編程模型來(lái)簡(jiǎn)化主要用戶界面設(shè)計(jì)任務(wù)。這些任務(wù)包括:

      ·事件處理

      ·DOM操作

      ·服務(wù)使用(Ajax)

      事件處理、DOM操作和Ajax是富網(wǎng)絡(luò)應(yīng)用中實(shí)現(xiàn)“富”任務(wù)的部分。它們的關(guān)系非常緊密。為說(shuō)明這一點(diǎn),我們來(lái)看一個(gè)典型的RIA登錄過(guò)程。

      ·點(diǎn)擊登錄按鈕(事件處理)

      ·發(fā)送服務(wù)請(qǐng)求(Ajax)

      ·顯示相應(yīng)的活動(dòng)指示器(DOM操作)

      ·返回服務(wù)(Ajax)

      ·關(guān)閉活動(dòng)指示器(DOM操作)

      ·顯示登錄“成功”的消息(DOM操作)

      雖然它們關(guān)系緊密,大部分框架和庫(kù)都只提供了簡(jiǎn)單的集成,而讓開(kāi)發(fā)人員完成剩下的任務(wù)。為表明這一點(diǎn),我們來(lái)看一些代碼。在下面的示例中,當(dāng)一個(gè)組合框的值發(fā)生改變時(shí),我們將設(shè)定另一個(gè)組合框的內(nèi)容。示例是用Jquery寫(xiě)的。

      $(function(){$(“select#comboOne”).change(function(){$.getJSON(“/combo.php”,{id: $(this).val(), ajax: “true”}, function(j){var options = “”;for (var i = 0; i < j.length; i++) {options += “” + j[i].optionDisplay + “”;}$(“select#comboTwo”).html(options);})})})

      現(xiàn)在我們來(lái)看看怎么用事件處理、DOM操作和Ajax完全集成的方法來(lái)完成同樣的任務(wù)。

      on=“change then r:load.combo2.request”>on=“r:load.combo2.response then value[property=rows,text=text,value=value]”>

      這兩段代碼用不同的方式完成同一件任務(wù)。第一段使用了較多的代碼,并且都是用JavasSript。第二段使用了簡(jiǎn)單的表達(dá)式語(yǔ)言來(lái)完成同樣的任務(wù)。我們來(lái)分析一下語(yǔ)法。

      on=“change then r:load.combo2.request”

      在這句表達(dá)式中,當(dāng)  on=“r:load.combo2.response then value[property=rows,text=text,value=value]

      and effect[Highlight]”>

      通過(guò)在表達(dá)式中添加effect[Highlight],我們就能使用一種微妙的效果來(lái)提示使用者組合框的值已經(jīng)發(fā)生變化。

      這些示例代碼顯示了事件處理、DOM操作和Ajax完全集成這一方法的強(qiáng)大與簡(jiǎn)易。沒(méi)有JavaScript經(jīng)驗(yàn)的開(kāi)發(fā)人員也很容易掌握像上面所示的表達(dá)式語(yǔ)言。這將使他們很快進(jìn)入工作狀態(tài),因?yàn)樗麄儾辉傩枰A(yù)先進(jìn)行大量枯燥的學(xué)習(xí)。當(dāng)然,有JavaScript經(jīng)驗(yàn)的開(kāi)發(fā)人員也可以自由選擇使用 JavaScript。這樣,一個(gè)集成的RIA編程模型也應(yīng)該支持JavaScript,特別是要支持行為與標(biāo)記的分離。通常稱之為低調(diào)(unobtrusive)JavaScript。我們來(lái)看一個(gè)示例:

      $(“progress_images”).on(“r:login.request then show”).on(“r:login.response then hide”);

      在這個(gè)示例中,標(biāo)記與JavaScript代碼定義的行為——收到登錄請(qǐng)求消息的時(shí)候“show”及收到登錄響應(yīng)消息的時(shí)候“hide”——就是分離的。 這種編程模型有利于喜歡使用JavasScript進(jìn)行RIA編程的開(kāi)發(fā)人員。

      一個(gè)集成的RIA編程模型是RIA+SOA平臺(tái)的基礎(chǔ)組成部分。它為開(kāi)發(fā)人員處理主要的RIA編程活動(dòng)提供了單一、完整的機(jī)制。這樣,相較現(xiàn)在來(lái)說(shuō),開(kāi)發(fā)人員可以使用更少的代碼、更快地構(gòu)建富用戶界面。

      4. 提供集成的服務(wù)平臺(tái)(Integrated Services Platform)

      RIA 只是構(gòu)建富應(yīng)用程序的一部分。我們?nèi)孕枰瓿蒖IA+SOA中的SOA部分。不幸的是,當(dāng)前的Web 2.0工具包和框架主要用于RIA,很少甚至不提供對(duì)構(gòu)建服務(wù)的支持。這確實(shí)是個(gè)問(wèn)題,因?yàn)檫@樣又需要開(kāi)發(fā)人員來(lái)完成大量的工作,使得應(yīng)用開(kāi)發(fā)和維護(hù)需要耗費(fèi)更多的時(shí)間并變得異常困難。

      下一代RIA+SOA平臺(tái)要解決這個(gè)問(wèn)題必需提供一個(gè)能滿足以下條件的集成的服務(wù)平臺(tái):

      ·支持使用任何語(yǔ)言創(chuàng)建服務(wù)

      ·實(shí)現(xiàn)RIA與SOA層的無(wú)縫交互

      ·可以使用本地模擬服務(wù)(mock service)

      過(guò)去,網(wǎng)絡(luò)框架使用單一的編程語(yǔ)言構(gòu)建,但是在RIA+SOA時(shí)代,這種做法將變得過(guò)時(shí)并且多余。RIA程序只與服務(wù)交換應(yīng)用數(shù)據(jù),它們應(yīng)該是獨(dú)立于編程語(yǔ)言的。RIA程序與SOA服務(wù)只需要一個(gè)簡(jiǎn)單的消息關(guān)系。RIA與SOA層之間的松耦合特性為集成的服務(wù)平臺(tái)提供了方法,可以使開(kāi)發(fā)人員使用任何編程語(yǔ)言創(chuàng)建服務(wù)并不會(huì)影響到RIA層。

      集成的服務(wù)平臺(tái)同樣應(yīng)該提供RIA與SOA各層之間的無(wú)縫交互。特別是,它應(yīng)該代替開(kāi)發(fā)人員處理服務(wù)路由選擇和數(shù)據(jù)轉(zhuǎn)換。下面是一個(gè)用簡(jiǎn)單的集成方法創(chuàng)建服務(wù)的示例。這個(gè)示例是用Java編寫(xiě)的。

      @Service (request = 'login.request‘, response ='login.response’)protected void loginRequest (Message req, Message resp)throws Exception{String username = req.getData().getString(“username”);String password = req.getData().getString(“password”);User user = UserDAO.login(username,password);if (user !=null){response.getData().put(“success”,true);response.getData().put(“user”,user);return;}response.getData().put(“success”,false);}

      在上面的示例中,有兩點(diǎn)需要注意:首先,通過(guò)在Java方法中加入一個(gè)簡(jiǎn)單的“Service”注釋便讓一個(gè)平常的Java對(duì)象變成了一個(gè)服務(wù)。注釋中包含了這個(gè)方法所處理的服務(wù)請(qǐng)求和服務(wù)響應(yīng)消息,使路由設(shè)置變得簡(jiǎn)單。其次,可以簡(jiǎn)單明了地處理請(qǐng)求和響應(yīng)數(shù)據(jù)。在這個(gè)示例中,將整個(gè)User對(duì)象放入響應(yīng)消息中。服務(wù)平臺(tái)負(fù)責(zé)處理數(shù)據(jù)轉(zhuǎn)換。這樣開(kāi)發(fā)人員可以集中精力編寫(xiě)服務(wù)邏輯而不是膠合代碼(glue code),可以減少代碼量并提高開(kāi)發(fā)速度。

      然后,如果RIA與服務(wù)之間的關(guān)系是基于消息的,就可以創(chuàng)建本地模擬服務(wù)。本地模擬服務(wù)可以響應(yīng)遠(yuǎn)程請(qǐng)求,但它們只存在于本地RIA中。這是一種很強(qiáng)大的功能,因?yàn)闊o(wú)需一行服務(wù)代碼便可創(chuàng)建功能齊全的RIA模型。可以將這些本地模擬服務(wù)放在單個(gè)文件中,并在用戶界面開(kāi)發(fā)完成后刪除。我們來(lái)看一個(gè)例子:

      on=“r:login.request then show or r:login.response then hide”/>Username: Password: on=“click then r:login.request”/>登錄表單$MQ(‘r:login.response’, {'success‘:true,'username’:‘foo'});

      模擬服務(wù)

      在上面的示例中,我們有一個(gè)產(chǎn)生服務(wù)請(qǐng)求r:login.request的登錄表單。我們還有一張圖像,它將在收到r:login.request消息時(shí)顯示,并在收到r:login.response消息后隱藏。第二部分是一個(gè)模擬服務(wù)的示例。這個(gè)模擬服務(wù)監(jiān)聽(tīng)r:login.request服務(wù)請(qǐng)求,并在一秒后用r:login.response消息響應(yīng)(當(dāng)然這一秒只是模擬服務(wù)延遲)。登錄表單并不知道服務(wù)的位置,它只負(fù)責(zé)響應(yīng)消息。這個(gè)簡(jiǎn)單的示例顯示了如何不靠一行服務(wù)代碼創(chuàng)建一個(gè)完整的RIA模型。這種模型是100%可重用的,并使開(kāi)發(fā)人員可以在服務(wù)創(chuàng)建之前定義服務(wù)合約。這樣,服務(wù)創(chuàng)建工作得到了很大程度的簡(jiǎn)化,因?yàn)殚_(kāi)發(fā)人員不僅有一個(gè)功能齊全的模型作為參考,還同時(shí)得到了一個(gè)完整的服務(wù)界面。

      總結(jié)

      開(kāi)發(fā)人員目前正在經(jīng)歷網(wǎng)絡(luò)應(yīng)用開(kāi)發(fā)的巨大轉(zhuǎn)變。我們正從Web 1.0的基于服務(wù)器的MVC模式轉(zhuǎn)為面向網(wǎng)絡(luò)的客戶機(jī)/服務(wù)器架構(gòu),或者更準(zhǔn)確一點(diǎn)應(yīng)該稱為RIA+SOA。由于這個(gè)轉(zhuǎn)變,開(kāi)發(fā)人員要將他們所用的網(wǎng)絡(luò)開(kāi)發(fā)平臺(tái)集成到一起才能進(jìn)行富網(wǎng)絡(luò)應(yīng)用的開(kāi)發(fā)。當(dāng)然,轉(zhuǎn)變的同時(shí)也會(huì)帶來(lái)機(jī)會(huì)。這個(gè)機(jī)會(huì)便是建立下一代為Web 2.0應(yīng)用提供端對(duì)端支持的網(wǎng)絡(luò)平臺(tái)。

      在 Appcelerator,我們看到公司在一年以前已經(jīng)接受這種轉(zhuǎn)變。他們正在開(kāi)發(fā)Appcelerator Platform,這是一個(gè)支持RIA+SOA的全新平臺(tái)。本文所用的示例正是基于這一平臺(tái)。當(dāng)然,創(chuàng)建下一代網(wǎng)絡(luò)平臺(tái)有許多不同的方法。但是,即使實(shí)現(xiàn)細(xì)節(jié)上有些許不同,大體特征應(yīng)該都是一樣的。

【網(wǎng)站聲明】本站除付費(fèi)源碼經(jīng)過(guò)測(cè)試外,其他素材未做測(cè)試,不保證完整性,網(wǎng)站上部分源碼僅限學(xué)習(xí)交流,請(qǐng)勿用于商業(yè)用途。如損害你的權(quán)益請(qǐng)聯(lián)系客服QQ:2655101040 給予處理,謝謝支持。

相關(guān)文檔推薦

Adobe公司出品的多媒體處理軟件產(chǎn)品線較多,涵蓋了音視頻編輯、圖像處理、平面設(shè)計(jì)、影視后期等領(lǐng)域。這篇文章主要介紹了Adobe Html5 Extension開(kāi)發(fā)初體驗(yàn)圖文教程,非常不錯(cuò),需要的朋
Kerkee是一個(gè)多主體共存型Hybrid框架,具有跨平臺(tái)、用戶體驗(yàn)好、性能高、擴(kuò)展性好、靈活性強(qiáng)、易維護(hù)、規(guī)范化、集成云服務(wù)、具有Debug環(huán)境、徹底解決跨域問(wèn)題。Hybrid App兼具了Native
作為一名前端工程師,寫(xiě)組件的能力至關(guān)重要。雖然javascript經(jīng)常被人嘲笑是個(gè)小玩具,但是在一代代大牛的前仆后繼的努力下,漸漸的也摸索了一套組件的編寫(xiě)方式。下面我們來(lái)談?wù)劊?/div>
Sublime Text作為一個(gè)盡為人知的代碼編輯器,其優(yōu)點(diǎn)不用贅述。界面整潔美觀、文本功能強(qiáng)大,且運(yùn)行速度極快,非常適合編寫(xiě)代碼,寫(xiě)文章做筆記。Sublime Text還支持Mac、Windows和Linux各大
本文屬于波瀾不驚,平鋪直敘版本。講述幾點(diǎn)分為:一、基于HTML開(kāi)發(fā)組件的設(shè)計(jì)思想 二、基于原生HTML的UI組件開(kāi)發(fā) 三、面向HTML的UI組件開(kāi)發(fā)的好處 四、總結(jié) ...,HTML5中國(guó),中國(guó)最大的
最近看過(guò)幾個(gè)基于HTML5開(kāi)發(fā)的移動(dòng)一樣,已經(jīng)越來(lái)越流暢了,相信隨著職能手機(jī)的配置越來(lái)越高性能越來(lái)越好,HTML5技術(shù)的使用在移動(dòng)端應(yīng)用的會(huì)越來(lái)越普及,應(yīng)用越來(lái)越廣泛,因此作為
主站蜘蛛池模板: 山东商品混凝土搅拌楼-环保型搅拌站-拌合站-分体仓-搅拌机厂家-天宇 | 提升海外网站流量,增加国外网站访客UV,定制海外IP-访客王 | 天一线缆邯郸有限公司_煤矿用电缆厂家_矿用光缆厂家_矿用控制电缆_矿用通信电缆-天一线缆邯郸有限公司 | 合肥宠物店装修_合肥宠物美容院装修_合肥宠物医院设计装修公司-安徽盛世和居装饰 | 游泳池设备安装工程_恒温泳池设备_儿童游泳池设备厂家_游泳池水处理设备-东莞市君达泳池设备有限公司 | 绿萝净除甲醛|深圳除甲醛公司|测甲醛怎么收费|培训机构|电影院|办公室|车内|室内除甲醛案例|原理|方法|价格立马咨询 | 尾轮组_头轮组_矿用刮板_厢式刮板机_铸石刮板机厂家-双驰机械 | 不锈钢管件(不锈钢弯头,不锈钢三通,不锈钢大小头),不锈钢法兰「厂家」-浙江志通管阀 | 飞利浦LED体育场灯具-吸顶式油站灯-飞利浦LED罩棚灯-佛山嘉耀照明有限公司 | 篷房[仓储-婚庆-展览-活动]生产厂家-江苏正德装配式帐篷有限公司 | 济南ISO9000认证咨询代理公司,ISO9001认证,CMA实验室认证,ISO/TS16949认证,服务体系认证,资产管理体系认证,SC食品生产许可证- 济南创远企业管理咨询有限公司 郑州电线电缆厂家-防火|低压|低烟无卤电缆-河南明星电缆 | 臻知网大型互动问答社区-你的问题将在这里得到解答!-无锡据风网络科技有限公司 | TPE塑胶原料-PPA|杜邦pom工程塑料、PPSU|PCTG材料、PC/PBT价格-悦诚塑胶 | 河北中仪伟创试验仪器有限公司是专业生产沥青,土工,水泥,混凝土等试验仪器的厂家,咨询电话:13373070969 | 济南冷库安装-山东冷库设计|建造|冷库维修-山东齐雪制冷设备有限公司 | 针焰试验仪,灼热丝试验仪,漏电起痕试验仪,水平垂直燃烧试验仪 - 苏州亚诺天下仪器有限公司 | 药品/药物稳定性试验考察箱-埃里森仪器设备(上海)有限公司 | 馋嘴餐饮网_餐饮加盟店火爆好项目_餐饮连锁品牌加盟指南创业平台 | 光照全温振荡器(智能型)-恒隆仪器| 对辊破碎机-液压双辊式,强力双齿辊,四辊破碎机价格_巩义市金联机械设备生产厂家 | 谷歌关键词优化-外贸网站优化-Google SEO小语种推广-思亿欧外贸快车 | 无菌水质袋-NASCO食品无菌袋-Whirl-Pak无菌采样袋-深圳市慧普德贸易有限公司 | KBX-220倾斜开关|KBW-220P/L跑偏开关|拉绳开关|DHJY-I隔爆打滑开关|溜槽堵塞开关|欠速开关|声光报警器-山东卓信有限公司 | Eiafans.com_环评爱好者 环评网|环评论坛|环评报告公示网|竣工环保验收公示网|环保验收报告公示网|环保自主验收公示|环评公示网|环保公示网|注册环评工程师|环境影响评价|环评师|规划环评|环评报告|环评考试网|环评论坛 - Powered by Discuz! | 假肢-假肢价格-假肢厂家-河南假肢-郑州市力康假肢矫形器有限公司 | 坏男孩影院-提供最新电影_动漫_综艺_电视剧_迅雷免费电影最新观看 | 罐体电伴热工程-消防管道电伴热带厂家-山东沃安电气 | 化妆品加工厂-化妆品加工-化妆品代加工-面膜加工-广东欧泉生化科技有限公司 | 贴片电感_贴片功率电感_贴片绕线电感_深圳市百斯特电子有限公司 贴片电容代理-三星电容-村田电容-风华电容-国巨电容-深圳市昂洋科技有限公司 | 冻干机(冷冻干燥机)_小型|实验型|食品真空冷冻干燥机-松源 | 钢板仓,大型钢板仓,钢板库,大型钢板库,粉煤灰钢板仓,螺旋钢板仓,螺旋卷板仓,骨料钢板仓 | 聚合氯化铝-碱式氯化铝-聚合硫酸铁-聚氯化铝铁生产厂家多少钱一吨-聚丙烯酰胺价格_河南浩博净水材料有限公司 | 航空连接器,航空插头,航空插座,航空接插件,航插_深圳鸿万科 | 水压力传感器_数字压力传感器|佛山一众传感仪器有限公司|首页 | 海鲜池-专注海鲜鱼缸、移动海鲜缸、饭店鱼缸设计定做-日晟水族厂家 | 上海单片机培训|重庆曙海培训分支机构—CortexM3+uC/OS培训班,北京linux培训,Windows驱动开发培训|上海IC版图设计,西安linux培训,北京汽车电子EMC培训,ARM培训,MTK培训,Android培训 | 杭州荣奥家具有限公司-浙江办公家具,杭州办公家具厂 | 西宁装修_西宁装修公司-西宁业之峰装饰-青海业之峰墅级装饰设计公司【官网】 | 深圳货架厂_仓库货架公司_重型仓储货架_线棒货架批发-深圳市诺普泰仓储设备有限公司 | 济南网站策划设计_自适应网站制作_H5企业网站搭建_济南外贸网站制作公司_锐尚 | 旋片真空泵_真空泵_水环真空泵_真空机组-深圳恒才机电设备有限公司 |