intTypePromotion=1
zunia.vn Tuyển sinh 2024 dành cho Gen-Z zunia.vn zunia.vn
ADSENSE

Báo cáo khoa học: "Tính toán phân tán với web serviceS"

Chia sẻ: Nguyễn Phương Hà Linh Linh | Ngày: | Loại File: PDF | Số trang:9

105
lượt xem
23
download
 
  Download Vui lòng tải xuống để xem tài liệu đầy đủ

Tóm tắt: Ra đời sau các công nghệ tính toán phân tán nh- DCOM, CORBA và RMI, Web services (dịch vụ web) thể hiện nhiều -u điểm bao gồm: khả năng liên vận hành, tính khả dụng, tính tái sử dụng, và tính phân tán. Công nghệ này không bị hạn chế bởi hệ điều hành cũng nh- ngôn ngữ lập trình và t-ờng lửa. Sự tiện lợi này làm cho công nghệ tính toán phân tán Web services đ-ợc ứng dụng rộng rãi trong nhiều lĩnh vực mà một trong số đó là dịch vụ th-ơng mại điện tử....

Chủ đề:
Lưu

Nội dung Text: Báo cáo khoa học: "Tính toán phân tán với web serviceS"

  1. TÝnh to¸n ph©n t¸n víi web serviceS ThS. TRÇn ngäc linh Bé m«n Tù ®éng ho¸ thiÕt kÕ cÇu ®−êng TS. ng« ®¨ng quang ViÖn KH & CN x©y dùng Tr−êng §¹i häc Giao th«ng VËn t¶i Tãm t¾t: Ra ®êi sau c¸c c«ng nghÖ tÝnh to¸n ph©n t¸n nh− DCOM, CORBA vμ RMI, Web services (dÞch vô web) thÓ hiÖn nhiÒu −u ®iÓm bao gåm: kh¶ n¨ng liªn vËn hμnh, tÝnh kh¶ dông, tÝnh t¸i sö dông, vμ tÝnh ph©n t¸n. C«ng nghÖ nμy kh«ng bÞ h¹n chÕ bëi hÖ ®iÒu hμnh còng nh− ng«n ng÷ lËp tr×nh vμ t−êng löa. Sù tiÖn lîi nμy lμm cho c«ng nghÖ tÝnh to¸n ph©n t¸n Web services ®−îc øng dông réng r·i trong nhiÒu lÜnh vùc mμ mét trong sè ®ã lμ dÞch vô th−¬ng m¹i ®iÖn tö. Bμi b¸o nμy tr×nh bμy tæng quan vÒ nh÷ng kh¸i niÖm c¬ b¶n cña Web services vμ minh häa c¸ch øng dông cña chóng qua mét m« h×nh hÖ thèng tÝnh to¸n phÇn tö h÷u h¹n trªn m¹ng. Summary: Born after the distributed computing technologies such as DCOM, CORBA and RMI, Web services offer many benefits including: interoperability, usability, reusability, and deployability, this technology is not restricted by operating systems, programming languages or the fire wall. These advantages make Web services be widely applied in many fields, one of which is e-ecomonic or e-business. This paper presents a general view of fundamental concepts of Web services and illustrates the way to apply them through a model of finite element analysis system on the Internet. CT 2 i. Giíi thiÖu chung TÝnh to¸n ph©n t¸n lµ ph−¬ng ph¸p tÝnh to¸n ph©n quyÒn vµ song song, sö dông hai hay nhiÒu m¸y tÝnh ®−îc nèi m¹ng víi nhau (m¹ng Intranet, Internet) ®Ó thùc hiÖn mét nhiÖm vô chung. Nh− vËy, khi sö dông ph−¬ng ph¸p tÝnh to¸n ph©n t¸n, c¸c øng dông vµ logic nghiÖp vô sÏ ®−îc ph©n bè trªn nhiÒu nÒn t¶ng kh¸c nhau. Nãi c¸ch kh¸c, viÖc xö lý ®−îc ph©n bè trªn mét hay nhiÒu m¸y mµ ë ®ã mçi qu¸ tr×nh chØ thùc hiÖn mét phÇn cña øng dông theo mét tr×nh tù nhÊt ®Þnh. C«ng nghÖ tÝnh to¸n ph©n t¸n cho phÐp thùc hiÖn c¸c t−¬ng t¸c gi÷a c¸c m¸y tÝnh/ng−êi vµ m¸y tÝnh/m¸y tÝnh trªn c¬ së lËp tr×nh ph©n t¸n. RÊt nhiÒu bµi to¸n trong ngµnh x©y dùng cã thÓ ®−îc ph©n chia thµnh nhiÒu bµi to¸n nhá, ®éc lËp víi nhau. Víi nh÷ng d¹ng bµi to¸n nµy, tÝnh to¸n ph©n t¸n sÏ mang l¹i hiÖu qu¶ cao. Ngoµi ra, viÖc sö dông c«ng nghÖ tÝnh to¸n ph©n t¸n sÏ cßn cho phÐp x©y dùng c¸c trung t©m tÝnh to¸n mµ ë ®ã, c¸c khèi l−îng tÝnh to¸n lín sÏ ®−îc thùc hiÖn trªn c¸c m¸y tÝnh cã søc m¹nh xö lý lín. C¸c bé phËn nhËp vµ xö lý d÷ liÖu cã thÓ ®−îc thùc hiÖn trªn c¸c hÖ thèng rÎ tiÒn h¬n. §iÒu nµy cho phÐp gi¶m ®¸ng kÓ ®Çu t− cho phÇn mÒm vµ phÇn cøng. Web lµ mét thµnh c«ng tuyÖt vêi vÒ viÖc cho phÐp thùc hiÖn c¸c t−¬ng t¸c ng−êi/m¸y tÝnh mét c¸ch ®¬n gi¶n trong thÕ giíi Internet. Giao thøc HTTP vµ ng«n ng÷ HTML ngµy nay ®−îc sö
  2. dông trong c¸c tr×nh duyÖt Web ®· ®−îc chøng minh lµ mét gi¶i ph¸p hiÖu qu¶ vµ kinh tÕ trong viÖc ®−a c¸c giao tiÕp ng−êi dïng lªn mét diÖn lín c¸c thiÕt bÞ. Mét nh©n tè quan träng trong sù thµnh c«ng cña HTTP vµ HTML lµ sù ®¬n gi¶n t−¬ng ®èi cña chóng – c¶ HTTP vµ HTML ®Òu dùa trªn ®Þnh d¹ng v¨n b¶n vµ cã thÓ ®−îc cµi ®Æt qua viÖc sö dông rÊt nhiÒu hÖ ®iÒu hµnh vµ m«i tr−êng lËp tr×nh. Kh¸i niÖm Web services m« t¶ mét c¸ch chuÈn t¾c vÒ viÖc tÝch hîp c¸c øng dông dùa trªn Web sö dông c¸c chuÈn më XML, SOAP, WSDL vµ UDDI trªn nÒn t¶ng giao thøc m¹ng. XML ®−îc sö dông ®Ó m« t¶ d÷ liÖu, SOAP ®−îc dïng ®Ó chuyÓn ®æi d÷ liÖu, WSDL dïng cho viÖc m« t¶ c¸c dÞch vô vµ UDDI dïng cho viÖc liÖt kª nh÷ng dÞch vô nµo hiÖn h÷u. §−îc sö dông nh− lµ ph−¬ng tiÖn c¬ b¶n ®Ó c¸c nhµ kinh doanh giao tiÕp víi nhau vµ víi c¸c kh¸ch hµng, Web services cho phÐp c¸c tæ chøc trao ®æi d÷ liÖu mµ kh«ng bÞ h¹n chÕ bëi hÖ thèng c¸c t−êng löa. Web services cho phÐp c¸c øng dông kh¸c nhau tõ c¸c nguån kh¸c nhau giao tiÕp víi nhau mµ kh«ng mÊt thêi gian chuyÓn ®æi m· lÖnh, vµ bëi v× tÊt c¶ c¸c giao tiÕp ®Òu trong XML, Web services kh«ng bÞ rµng buéc bëi bÊt kú hÖ ®iÒu hµnh hay ng«n ng÷ lËp tr×nh nµo. VÝ dô, Java cã thÓ nãi chuyÖn víi Perl, c¸c øng dông Windows cã thÓ nãi chuyÖn víi c¸c øng dông UNIX. Web services kh«ng ®ßi hái ph¶i sö dông tr×nh duyÖt hay ng«n ng÷ HTML. ii. KiÕn tróc cña Web services Trong thÕ giíi kh¸ch/chñ truyÒn thèng, chóng ta cã tr×nh chñ cung cÊp mét sè chøc n¨ng ®−îc sö dông hoÆc gäi tõ tr×nh kh¸ch. Mét sè kiÓu tra cøu dÞch vô ®ãng vai trß nh− lµ m«i giíi gi÷a kh¸ch vµ chñ. CT 2 M«i giíi dÞch vô yªu cÇu c«ng bè Internet Cung cÊp Yªu cÇu dÞch vô dÞch vô kÕt nèi H×nh 1. Thμnh phÇn cña Webservices Web services thÓ hiÖn nh− lµ mét mÉu kh¸c cho c¸c øng dông ph©n t¸n, chóng gåm cã ba thµnh phÇn sau: - Mét dÞch vô m«i giíi ®ãng vai trß dÞch vô tra cøu gi÷a nhµ cung cÊp dÞch vô vµ yªu cÇu dÞch vô. - Mét nhµ cung cÊp dÞch vô triÓn khai c¸c dÞch vô cña nã tíi m«i giíi dÞch vô - Mét yªu cÇu dÞch vô hái m«i giíi n¬i cã thÓ t×m thÊy nhµ cung cÊp thÝch hîp vµ tù liªn kÕt víi nhµ cung cÊp. Quan hÖ gi÷a c¸c thµnh phÇn cña Web services ®−îc m« t¶ trªn h×nh 1. [1]
  3. XML, ng«n ng÷ ®Þnh d¹ng më réng, lµ mét ®Þnh d¹ng ®−îc WEB SERVICES chÊp nhËn réng r·i cho viÖc chuyÓn ®æi d÷ liÖu vµ c¸c ng÷ nghÜa t−¬ng øng. Nã lµ mét khèi x©y dùng c¬ b¶n cho gÇn nh− tÊt c¶ c¸c UDDI líp ®−îc sö dông trong Web services. Nh÷ng líp nµy cïng nhau (t×m kiÕm) x©y dùng mét ng¨n xÕp giao thøc Web services nh− h×nh 2, bao WSDL (m« t¶) gåm c¸c phÇn sau [2]: - SOAP, giao thøc truy xuÊt ®èi t−îng ®¬n gi¶n SOAP (lêi gäi dÞch vô - WSDL, ng«n ng÷ m« t¶ Web services tõ xa) - UDDI, tÝch hîp m« t¶ vµ t×m kiÕm toµn bé HTTP C¸c líp nµy m« t¶ nÒn t¶ng ph¸t triÓn Web services gåm 3 (giao thøc øng dông thµnh phÇn dÞch vô vµ ®Þnh nghÜa Web services chÝnh t¾c. D−íi liªn l¹c) ®©y sÏ gi¶i thÝch chi tiÕt c¸c líp SOAP, WSDL vµ UDDI trªn nÒn TCP/IP XML. (giao thøc liªn l¹c) SOAP H×nh 2. Ng¨n xÕp giao thøc cña Web services V× Webservice ch¹y trong mét m«i tr−êng hçn hîp, c¸c giao thøc ®−îc sö dông ®Ó chuyÓn ®æi d÷ liÖu gi÷a c¸c hµm ph¶i ®éc lËp víi bÊt kú m«i tr−êng thùc thi nµo. SOAP lµ mét giao thøc cã nh÷ng ®Æc tÝnh nµy. B¶n th©n SOAP kh«ng ®Þnh nghÜa bÊt kú ng÷ nghÜa øng dông nµo nh− m« h×nh lËp tr×nh hay viÖc cµi ®Æt chuyªn cho c¸c ng÷ nghÜa. Nã chØ ®Þnh nghÜa kü thuËt ®¬n gi¶n cho viÖc biÓu thÞ c¸c ng÷ nghÜa øng dông b»ng c¸ch cung cÊp mét m« h×nh gãi d¹ng m« ®un vµ kü thuËt m· hãa cho d÷ liÖu trong c¸c m« ®un. CT 2 TÊt c¶ c¸c gãi tin SOAP ®Òu ®−îc ®Þnh d¹ng theo XML. C¸c th«ng ®iÖp cña SOAP chøa thÎ th− hay gãi bao (ENVELOPE) lµ phÇn tö gèc. ThÎ th− nµy gåm cã hai phÇn: - Tiªu ®Ò (header), kh«ng b¾t buéc - Th©n (body) PhÇn tiªu ®Ò cã thÓ chøa mét tËp hîp c¸c môc tiªu ®Ò cã thÓ ®−îc sö dông ®Ó cung cÊp th«ng tin nh− sù x¸c thùc hay m· hãa cña d÷ liÖu. Thªm n÷a, hai thuéc tÝnh cña tiªu ®Ò tån t¹i ®Ó cung cÊp th«ng tin vÒ c¸ch tiÕp nhËn mét th«ng ®iÖp SOAP nh− sau: - Thuéc tÝnh t¸c tö (actor), thuéc tÝnh nµy cã thÓ ®−îc dïng ®Ó chØ ®Þnh viÖc nhËn tin cña mét môc tiªu ®Ò nhÊt ®Þnh. - Thuéc tÝnh ph¶i hiÓu ®−îc (mustUnderstand), b»ng c¸ch thªm thuéc tÝnh nµy vµo môc tiªu ®Ò mét gi¸ trÞ “1”, ®Ó Ðp buéc sù tiÕp nhËn môc tiªu ®Ò vµ ch¾c ch¾n r»ng môc tiªu ®Ò nµy sÏ kh«ng bÞ bá qua. NÕu kh«ng chØ ®Þnh, thuéc tÝnh nµy cã cïng ng÷ nghÜa víi tr−êng hîp gi¸ trÞ cña nã lµ “0”. TÊt c¶ c¸c môc tiªu ®Ò ph¶i cã kh«ng gian tªn (namespace). C¸c kh«ng gian tªn cña gãi bao vµ kiÓu m· hãa ®−îc ®Þnh nghÜa trong tiªu chuÈn kü thuËt cña SOAP. PhÇn th©n chøa c¸c th«ng tin vÒ viÖc tiÕp nhËn theo thø tù cña c¸c tiÕp nhËn. Th«ng tin nµy ®−îc ®ãng kÝn trong c¸c môc body. NÕu gãi bao chøa mét tiªu ®Ò, phÇn th©n kh«ng ®−îc lµ
  4. phÇn tö ®Çu tiªn trong gãi bao. C¸c môc body cã thÓ ®−îc ®Æt tªn. Tiªu chuÈn qui ®Þnh mét môc body ®−îc dïng ®Ó chøa c¸c th«ng tin tr¹ng th¸i hay lçi liªn quan ®Õn th«ng ®iÖp. Nã cã thÓ chØ xuÊt hiÖn mét lÇn trong th«ng ®iÖp SOAP. §Ó hiÓu râ h¬n vÒ SOAP, ta h·y xem mét hµm nh− sau dïng ®Ó lÊy tû gi¸ cæ phiÕu cña c«ng ty IBM viÕt b»ng ng«n ng÷ Delphi. function GetStockQuote( Symbol : string ) : double; Lêi gäi cña SOAP sÏ lµ: IBM ThÎ ®Çu tiªn chóng ta thÊy ë ®©y lµ . ThÎ nµy lµ mét vá bäc cho gãi tin SOAP, cho phÐp khai b¸o nhiÒu kh«ng gian tªn tïy nhu cÇu. C¸c kh«ng gian tªn ®−îc ®Þnh nghÜa sao cho c¸c tiÒn tè víi c¸c thÎ vÝ dô nh− “SOAP-ENV:” hoÆc “xsd:” ®Ó dÔ dµng cho ph©n tÝch. CT 2 ThÎ tiÕp theo lµ . (Chóng ta bá qua thÎ SOAP-ENV:Header). ThÎ nµy chø ®ùng lêi gäi thùc sù cña SOAP. TiÕp theo lµ thÎ . Nh− tªn gäi, thÎ nµy lµ chÝnh hµm ®−îc gäi. Trong ng«n ng÷ cña SOAP, ®©y ®−îc gäi lµ to¸n tö. V× thÕ GetStockQuote lµ to¸n tö cÇn ®−îc thùc thi. ns1 lµ mét kh«ng gian tªn, chØ ®Þnh urn:xmethods-quotes trong tr−êng hîp nµy. Thuéc tÝnh kiÓu m· hãa, encodingStyle, chØ ®Þnh c¸ch mét lêi gäi cña SOAP ®−îc nhËn d¹ng. Trong thÎ cã c¸c tham sè. Tr−êng hîp nµy ta chØ cã mét tham sè, ®ã lµ thÎ vµ kiÓu d÷ liÖu ®−îc XML m« t¶ qua dßng th«ng tin xsi:type=”xsd:string” KiÓu d÷ liÖu sÏ ®−îc tr¶ vÒ d¹ng chuçi. Trong thÎ cã néi dung lµ “IBM”, ®ã lµ gi¸ trÞ cña tham sè symbol cho hµm GetStockQuote. §ã lµ tÊt c¶ vÒ mét lêi gäi ®Õn tr×nh chñ SOAP. Sau khi tr×nh chñ ph©n tÝch, nã nhanh chãng göi l¹i mét gãi tin vÒ tû gi¸ cæ phiÕu nh− sau:
  5. 34.5 Sau khi bá tÊt c¶ c¸c bao b×, gãi tin nµy cho chóng ta thÊy gi¸ cæ phiÕu cña IBM lµ 34.5. H×nh 3 m« t¶ c¸ch thøc SOAP ®−îc dïng trong Web services. Víi c¸ch biÓu thÞ gãi tin theo chuÈn XML, râ rµng SOAP ®· cho thÊy sù ®¬n gi¶n trong viÖc thÓ hiÖn vµ chuyÓn ®æi th«ng tin. M«i giíi dÞch vô c«ng bè dÞch vô yªu cÇu dÞch vô sö dông SOAP sö dông SOAP Internet Cung cÊp Yªu cÇu dÞch vô dÞch vô kÕt nèi dÞch vô sö dông SOAP SOAP H×nh 3. Thμnh phÇn cña Webservices víi WSDL CT 2 WSDL lµ mét tµi liÖu ®−îc viÕt b»ng XML. Môc ®Ých chÝnh cña nã lµ m« t¶ dÞch vô web. Nã n¾m gi÷ c¸c th«ng tin sau vÒ Web service: - §Þa chØ cña dÞch vô hay URL - C¸c ph−¬ng thøc mµ nã dïng vµ c¸c tham sè ®i kÌm - C¸c kÕt qu¶ cña ph−¬ng thøc vµ kiÓu (nh− chuçi, sè,…) CÊu tróc tµi liÖu: PhÇn tö c¬ b¶n cña bÊt kú mét tµi liÖu WSDL lµ phÇn tö . Nã gåm s¸u phÇn tö con vµ cã thÓ chia thµnh hai nhãm: ®Þnh nghÜa tãm l−îc vµ ®Þnh nghÜa chi tiÕt. C¸c phÇn tö ®Þnh nghÜa tãm l−îc: 1. C¸c kiÓu, cung cÊp c¸c ®Þnh nghÜa vÒ kiÓu d÷ liÖu ®−îc dïng ®Ó m« t¶ c¸c th«ng ®iÖp ®−îc trao ®æi. 2. Th«ng ®iÖp, biÓu thÞ mét ®Þnh nghÜa tãm l−îc vÒ d÷ liÖu ®−îc chuyÓn ®æi. Mét th«ng ®iÖp gåm cã c¸c phÇn logic, mçi phÇn ®−îc liªn kÕt víi mét ®Þnh nghÜa trong mét sè hÖ thèng kiÓu 3. KiÓu cæng giao tiÕp, lµ mét tËp hîp c¸c to¸n tö tãm l−îc. Mçi to¸n tö tham kh¶o tíi mét th«ng ®iÖp gäi vµ c¸c th«ng ®iÖp kÕt qu¶.
  6. C¸c phÇn tö ®Þnh nghÜa chi tiÕt: 1. C¸c liªn kÕt, chØ ®Þnh giao thøc ®Çy ®ñ vµ c¸c chuÈn ®Þnh d¹ng d÷ liÖu cho c¸c to¸n tö vµ th«ng ®iÖp theo mét kiÓu cæng giao tiÕp nhÊt ®Þnh. 2. Cæng, chØ ®Þnh mét ®Þa chØ cho mét kÕt nèi, ®Þnh nghÜa mét ®iÓm cuèi giao tiÕp mét chiÒu. 3. DÞch vô, ®−îc sö dông ®Ó t¹o mét tËp hîp c¸c cæng liªn quan. UDDI UDDI lµ mét c«ng tr×nh ph¸t triÓn kh¶ n¨ng liªn vËn hµnh vµ sù thùc hiÖn cña dÞch vô web. Nã ®−a ra mét kü thuËt chuÈn cho viÖc xuÊt b¶n vµ t×m kiÕm c¸c m« t¶ dÞch vô Web. Nã cung cÊp mét th«ng tin lín cÇn thiÕt ®Ó quyÕt ®Þnh dÞch vô nµo mµ mét øng dông sÏ dïng vµ t×m nã ë ®©u. Tr×nh kh¸ch cã thÓ truy vÊn mét ®¨ng ký UDDI dùa trªn tªn c«ng ty, danh môc c«ng t¸c, kiÓu ph©n lo¹i hay c¸c tiªu chÝ kh¸c. UDDI sau ®ã cung cÊp c¸c con trá trá ®Õn c¸c tµi liÖu WSDL m« t¶ c¸c dÞch vô vµ mét hay nhiÒu c¸c cµi ®Æt mµ tr×nh kh¸ch cã thÓ chän ®Ó truy cËp. NÕu c¸c ®Þa chØ dÞch vô vµ c¸c cµi ®Æt cÇn thay ®æi theo thêi gian do c¸c vÊn ®Ò nh− sù æn ®Þnh, duy tr× vµ phiªn b¶n, th× UDDI lµ mét c¸ch tuyÖt vêi ®Ó qu¶n lý c¸c dÞch vô mét c¸ch trùc tiÕp. §Ó truy xuÊt c¸c dÞch vô UDDI, th− môc UDDI bµy ra mét tËp hîp c¸c hµm API theo ®Þnh d¹ng cña mét Web Service trªn c¬ së SOAP. API ®−îc chi thµnh hai phÇn logic. Chóng lµ API vÊn tin (Inquiry API) vµ API t¹o tin (Publishers’ API). API vÊn tin gåm cã hai phÇn nhá-mét phÇn ®−îc sö dông cho viÖc x©y dùng ch−¬ng tr×nh ®Ó cã thÓ t×m kiÕm vµ duyÖt th«ng tin ®−îc t×m thÊy trong mét ®¨ng ký UDDI, mét phÇn cßn l¹i ®−îc sö dông trong tr−êng hîp cã lçi x¶y ra. CT 2 Sau khi ®· m« t¶ c¸c c«ng nghÖ chÝnh, chóng ta cã thÓ ®−a ra mét bøc tranh ®Çy ®ñ vÒ c¸c øng dông ph©n t¸n còng nh− nh÷ng øng dông cña SOAP, WSDL vµ UDDI: 1. Nhµ cung cÊp dÞch vô Web m« t¶ dÞch vô web trong mét tµi liÖu WSDL vµ xuÊt b¶n nã thµnh mét ®¨ng ký UDDI sö dông hµm t¹o tin API dùa trªn SOAP. 2. Mét yªu cÇu dÞch vô sö dông vÊn tin API cña UDDI t×m kiÕm ®¨ng ký UDDI cña nhµ cung cÊp dÞch vô thÝch hîp. NÕu cã mét ®¨ng ký t×m thÊy, nã cã thÓ t×m kiÕm mét tModel vµ trá vÒ tµi liÖu WSDL. 3. Mét yªu cÇu SOAP sÏ ®−îc t¹o lËp theo tµi liÖu WSDL 4. Yªu cÇu SOAP sÏ ®−îc göi ®Õn nhµ cung cÊp dÞch vô, vµ ph¶n håi sÏ ®−îc thùc hiÖn. iii. X©y dùng hÖ thèng ph©n tÝch phÇn tö h÷u h¹n trªn m¹ng sö dông c«ng nghÖ Web services 3.1. M« h×nh hÖ thèng Gi¶ sö, chóng ta cÇn ph¶i ph¸t triÓn mét hÖ thèng ph©n tÝch phÇn tö h÷u h¹n trªn m¹ng. Yªu cÇu tÝnh to¸n sÏ ®−îc göi tõ m¸y tr¹m ®Õn m¸y chñ, sau khi hoµn thµnh viÖc ph©n tÝch, m¸y chñ sÏ tr¶ vÒ kÕt qu¶ vµ kÕt qu¶ ®−îc biÓu thÞ trªn m¸y tr¹m. Râ rµng ®©y lµ mét hÖ thèng tÝnh to¸n ph©n t¸n, chóng ta sÏ dïng Web services ®Ó minh häa cho kh¶ n¨ng øng dông trong lÜnh vùc nµy. M« h×nh hÖ thèng ®−îc biÓu diÔn trªn h×nh 4.
  7. FEMClient FEMServer FEMInterface (Tr×nh kh¸ch) (Tr×nh chñ) M¹ng m¸y tÝnh FEMImplement FEA H×nh 4. M« h×nh hÖ thèng ph©n tÝch FEM 3.2. Cµi ®Æt C¸c phÇn FEMInterface vµ FEMImplement ë ®©y chØ dïng mét ph−¬ng thøc RunCommand víi c¸c tham sè ®−îc ®Þnh nghÜa tr−íc ®Ó gäi ®iÒu khiÓn toµn bé hÖ thèng. Môc ®Ých t¹o ra tÝnh gi¶n gän cña sù t−¬ng t¸c gi÷a c¸c m¸y tÝnh. a. FEMInterface b. FEMImplement IFEM = interface(IInvokable) TFEM = class(TInvokableClass, IFEM) ['{7AABCCDA-3A10-44F3-A750- public BA0E3B4D2176}'] procedure RunCommand(cmd:string); stdcall; procedure RunCommand(cmd:string); stdcall; end; end; Lâi ph©n tÝch phÇn tö h÷u h¹n ®Çy ®ñ víi c¸c thuéc tÝnh vµ ph−¬ng thøc nh− sau. CT 2 c. FEA TFEA = class public NODE:array of TNode; ELEM:array of TElement; Support:TSupport; FEMResults:TFEMResult; nN1:integer; nE1:integer; SolveMethod : (_Cholesky,_BandCholesky,_Gauss,_Skyline); VNLoad:arrnR; {Vector Displace and Load} SMatrix:TSparseMatrix; private DataXML: TXMLDocument; MAT:array of TMaterial; SEC:array of TSection;
  8. GM1:arrnnR; {Stiff_Matrix} published procedure Add_NODE(Index:integer;X,Y,Z:double); procedure Add_ELEMENT(Index:integer;EType:string;IMat,ISecThick:integer;aPIndex:arrnI); procedure Add_MATERIAL(Index:integer;MType,Name:string;E,m,at,g:double); procedure Add_THICKNESS(Index:integer;Name:string;T:double); procedure Add_SECTION(Index:integer;Name:string;F,Jx,Jy,Jz,Fx,Fy:double); procedure AddElement(Obj:TElement); procedure AddNODE(Obj:TNode); procedure AddMaterial(Obj:TMaterial); procedure AddSection(Obj:TSection); function Get_NODE(Index:integer):TNode; function Get_MAT(Index:integer):TMaterial; function Get_THICKNESS(Index:integer):TThickness; procedure ReadDataFromFile(fn:string); procedure SetIndexNode; procedure AddStiffMatrix(Obj:TElement;K,T:arrnnR); procedure AddNodeLoadVector(Obj:TElement;L:arrnR;T:arrnnR); CT 2 procedure AddNodeLoad(NL:arr6r;Index:integer); procedure BuildVNodeLoad; procedure BuildBoundary; procedure BuildStiffMatrix; procedure SolveEquation; procedure GetEDeformedVertex(aNIndex:arrnI;n:integer;var VN:arrnR); procedure Add_NodeDisplacementResult; procedure AnalyseAllElement; procedure Init; procedure WriteData(fn:string;ftype:integer); procedure WriteDispResult; procedure WriteToMtxfile(fn:string); end; d. FEMServer vμ FEMClient V× FEMClient võa göi th«ng ®iÖp yªu cÇu tÝnh to¸n ®Õn FEMServer vµ nhËn th«ng ®iÖp kÕt qu¶ tõ FEMServer trë vÒ nªn thùc chÊt mçi hÖ thèng Client vµ Server võa ®ãng vai trß lµ chñ vµ
  9. kh¸ch. Nh÷ng t¸c vô nµy cã thÓ ®−îc cµi ®Æt ®ång thêi trong mét m« ®un hoÆc víi 2 m« ®un t¸c biÖt ho¹t ®éng trªn tõng m¸y tÝnh. 3.3. Mét sè h×nh ¶nh vÒ kÕt qu¶ Sau thùc hiÖn tÝnh to¸n mét vÝ dô ph©n tÝch côc bé trô th©n cét víi hÖ thèng ph©n tÝch võa t¹o lËp trªn m¹ng 2 m¸y tÝnh (1 Laptop vµ 1 PC), c¸c kÕt qu¶ ®−îc thÓ hiÖn trªn h×nh 5. M« h×nh kÕt cÊu ®−îc hiÓn thÞ trªn FEMServer (bªn tr¸i) vµ kÕt qu¶ biÓu diÔn ë FEMClient (bªn ph¶i). H×nh 5. C¸c giao diÖn m« ®un ho¹t ®éng cña FEMServer vμ FEMClient iv. KÕt luËn Trong tÝnh to¸n ph©n t¸n, c¸c c«ng nghÖ DCOM, CORBA vµ RMI tËp trung øng dông chñ yÕu trong c¸c øng dông intranet bëi h¹n chÕ vÒ vÊn ®Ò v−ît qua t−êng löa còng nh− sù kh¸c CT 2 biÖt giao thøc lµm cho kh«ng ®¶m b¶o tÝnh ®ång bé gi÷a c¸c øng dông chñ vµ kh¸ch. C«ng nghÖ Web services kh¾c phôc ®−îc nh÷ng h¹n chÕ trªn nhê tÝnh mÒm dÎo cña c¸c chuÈn XML, SOAP, WSDL vµ UDDI cÊu thµnh hÖ thèng tÝnh to¸n ph©n t¸n. Nhê tÝnh −u viÖt nµy mµ rÊt nhiÒu øng dông tÝnh to¸n ph©n t¸n ®−îc ph¸t triÓn, lµ c¬ së quan träng ®Ó x©y dùng hÖ thèng th−¬ng m¹i ®iÖn tö vµ c¸c hÖ thèng dÞch vô m¹ng kh¸c. HÖ thèng ph©n tÝch phÇn tö h÷u h¹n trªn m¹ng ®−îc ph¸t triÓn víi c«ng nghÖ tÝnh to¸n ph©n t¸n Webservice lµ mét øng dông ®iÓn h×nh trong ngµnh x©y dùng vµ ®· cã mét sè kÕt qu¶ b−íc ®Çu. Trong thêi gian tíi, c¸c t¸c gi¶ sÏ tiÕp tôc hoµn thiÖn ®Ó cã ®−îc mét øng dông ®Çy ®ñ h¬n vµ cã thÓ ¸p dông vµo thùc tÕ. Tµi liÖu tham kh¶o [1]. Hartwig Gunzer, Sales Engineer, Introduce to Web services, Borland, March 2002. [2]. http://www.answers.com/topic/web-service. [3]. http://www.w3.org/TR/wsdl#_service. [4]. Maco Cantu, Building a Web Service in Delphi with a DB2 Backend, http://delphi.about.com, 5 Dec 2002. [5]. Deepak Shenoy, Advanced Web Services, Annual Borland Conference, 2003. [6]. http://www.systinet.com/doc/ssc-65/primer/html/using.web.services.html. [7]. http://www.perfectxml.com/WebSvc3.asp. [8]. http://www.idealliance.org/papers/xml2001/papers/html/03-02-03.html
ADSENSE

CÓ THỂ BẠN MUỐN DOWNLOAD

 

Đồng bộ tài khoản
2=>2