บทที่ 1krunapon/courses/seniorprojects/... · web viewบทนำ ความเป...
TRANSCRIPT
![Page 1: บทที่ 1krunapon/courses/seniorProjects/... · Web viewบทนำ ความเป นมาและความสำค ญของโครงการ โปรแกรมเว](https://reader033.vdocuments.pub/reader033/viewer/2022041623/5e4054a5aeaf3e32ea667d0e/html5/thumbnails/1.jpg)
บทท 1 บทนำ�
1.1 คว�มเปนม�และคว�มสำ�คญของโครงก�ร
โปรแกรมเวบเซอรวสเรยกงาย เปนโครงการทชวยสรางระบบพนฐานทสามารถเออใหผพฒนาสรางโปรแกรมดงกลาวไดงายขน โดยอาศยเทคนคดานการเขยนโปรแกรมแบบวชวล (Visual Programming) เพอลดเวลาและความซบซอนของการพฒนาไป นอกจากนเทคนคแบบโปรแกรมแบบวชวล ยงเออใหผพฒนาสามารถตรวจสอบคณสมบตและสถานะตางๆ ของระบบไดง าย และดวยเทคโนโลยของเวบเซอรวส (Web Services) ทำาใหผ พฒนาสามารถใชงานผานเวบบราวเซอร (Web Browser) ไดอกดวย ซงทำาใหผใชเรยกใชเวบเซอรวส ไดงายโดยไมจำาเปนจะตองรจก และเขาใจเวบเซอรวส
1.2 วตถประสงคโครงการนมวตถประสงคเพอทำาใหเวบเซอรวส งายตอการเรยกใชและ
เพอตรวจสอบความถกตองของเวบเซอรวส ซงจะทำาใหสามารถลดตนทนในการทำาธรกจหรอทำาใหเกดความสะดวกสบายในการเรยกใชบรการอนๆ
1.3 ขอบเขตของโครงก�ร1.พฒนาโปรแกรมใหสามารถเรยกใชเวบเซอรวส ไดทกแพลตฟอรม
(platform) รวมไปถ ง ชน ดของขอม ลท สล บซบซอน (Complex type) ดวย 2.พฒนาโปรแกรมใหสามารถใชงานงายและเหมาะสมกบทกๆ เวบเซอรวส และความตองการของผใช 3.พฒนาโปรแกรมทสามารถบนทกเวบเซอรวส ทผใชทำาการเรยกหรอสรางขนมาใหมเพอใหสามารถเรยกใชไดโดยงาย
1
![Page 2: บทที่ 1krunapon/courses/seniorProjects/... · Web viewบทนำ ความเป นมาและความสำค ญของโครงการ โปรแกรมเว](https://reader033.vdocuments.pub/reader033/viewer/2022041623/5e4054a5aeaf3e32ea667d0e/html5/thumbnails/2.jpg)
4.พฒนาโปรแกรมใหสามารถเรยกใชเวบเซอรวส ไดด วยตวโปรแกรมเอง
1.4 แผนก�รดำ�เนนง�น
โครงการนมระยะเวลาในการดำาเนนงานตงแตเดอน มถนายน พ.ศ. 2547 ถงเดอน กมภาพนธ พ.ศ. 2548 ดงแสดงในตารางท 1.1 โดยมขนตอนการดำาเนนงานดงน 1.ศกษาและวเคราะห Tools ตางๆทใชในโปรแกรม (AXIS, JWSDL, WSFL, และ WSDL)
2.ออกแบบโปรแกรมใหสามารถใชงานงายและสมบรณ 3.พฒนาโปรแกรม 4.ทดสอบและแกไขขอผดพลาดของโปรแกรม 5.ทำารายงานและสรปผลโครงการและคมอการใช
ตารางท 1.1 ระยะเวลาของขนตอนตางๆในการดำาเนนงานแผนการดำาเนนงาน ม.
ย.2547
ก.ค.2547
ส.ค.2547
ก.ย.2547
ต.ค.2547
พ.ย.2547
ธ.ค.2547
ม.ค.2548
ก.พ.2548
ศกษาหาความรทเกยวของออกแบบโปรแกรมเรมเขยนโปรแกรมทดสอบโปรแกรมและ
2
![Page 3: บทที่ 1krunapon/courses/seniorProjects/... · Web viewบทนำ ความเป นมาและความสำค ญของโครงการ โปรแกรมเว](https://reader033.vdocuments.pub/reader033/viewer/2022041623/5e4054a5aeaf3e32ea667d0e/html5/thumbnails/3.jpg)
แกขอผดพลาดทำารายงานสรปผลโครงการและคมอการใชงาน
1.5 ผลทค�ดว�จะไดรบ
1. ทำาให เวบเซอรวส เปนทรจกและใชกนอยางแพรหลายมากขน2. ทำาใหมความสะดวกสบายตอผใช เวบเซอรวส ไมวาผใช จะ
รจกและเขาใจ เวบเซอรวส หรอไม .
.
.บทท 2
ทฤษฎพนฐ�น
2.1 Web Services เว บ เซอร ว ส (Web services) ค อ application หร อ program ททำางานอยางใดอยางหนง ในลกษณะใหบรการ โดยจะถกเรยกใชงานจาก application อนๆ ซงการใหบรการจะมเอกสารทอธบายคณสมบตของบรการกำากบไว โดยภาษาทถกใชเปนสอในการแลกเปลยนค อ XML ท ำา ให เ ร าสามารถเร ยก ใช component ใด ๆ ก ได ใน platform ใด ๆ กได และไมจ ำาเป นตองทำางานบน protocol HTTP เทานน เพยงแต protocol HTTP เปนทนยมทสด
เวบเซอรวส ชวยใหการเขาถงขอมลสารสนเทศจากแอพพลเคชนทตางกนเปนไปโดยงาย โดยแอพพลเคชนนนๆ สามารถเขยนดวย Java และรนอยบน Sun Solaris Application Server หรออาจจะเขยนดวย C++ และรนอยบน Windows NT หรออาจะเขยนดวย Perl และรนอยบนเครอง Linux ซงมาตรฐานของ เวบเซอรวส ทำาใหอนเทอรเฟซ
3
![Page 4: บทที่ 1krunapon/courses/seniorProjects/... · Web viewบทนำ ความเป นมาและความสำค ญของโครงการ โปรแกรมเว](https://reader033.vdocuments.pub/reader033/viewer/2022041623/5e4054a5aeaf3e32ea667d0e/html5/thumbnails/4.jpg)
ของแอพพลเคชนเหลาน ถกอธบายโดย WSDL และทำาใหอยในมาตรฐานของ UDDI หลงจากนน จงสามารถตดตอสอสารถงกนโดย XML ผาน SOAP อนเตอรเฟส
เวบเซอรวส สามารถถกเรยกใชภายในองคกรเองหรอจากภายนอกองคกร โดยผานไฟรวอล (Firewall) ดงนนจงมองคกรใหญๆ มากมาย กำาลงพฒนาระบบทมอยของตน ใหเขากบ เวบเซอรวส ซงนบเปนการลงทนทคมคา เนองจาก เวบเซอรวส สามารถเพมศกยภาพในการทำางานขององคกร อกทงลดคาใชจายในการจดการทรพยากรขององคกรไดอกทางหนง
นอกจากนน เวบเซอรวส ยงสามารถใชรวมกบ เวบแอพพลเคชน (Web Application) โดยสงผานขอมลทางอนเตอรเนตไดอกดวยซงนบเปนวธทมประสทธภาพในการตดตอสอสารกบลกคาหรอหนสวน ถงแมจะตองคำานงถงระบบรกษาความปลอดภย และการจดการรายการของขอมลอยกตาม แต เวบเซอรวส ไดใชมาตรฐานทวไปของอนเตอรเนต (Internet) เร องดงกลาวจงนบเปนเร องธรรมดาของการสอสารผานระบบอเลกทรอนกส
2.2 WSDLWSDL (Web Services Description Language) เ ป น
ภาษาทใชอธบายคณลกษณะการใช เวบเซอรวส และวธการตดตอกบ เวบเซอรวส ความตองการของนยามนเกยวเนองกบความตองการของระบบกระจายขอมล (distributed system) ทจะกำาหนด Interface Definition Language (IDL) โดยใชภาษา XML, WSDL เกดจากการรวมแนวคดของ NASSL (The Network Accessible Service
4
![Page 5: บทที่ 1krunapon/courses/seniorProjects/... · Web viewบทนำ ความเป นมาและความสำค ญของโครงการ โปรแกรมเว](https://reader033.vdocuments.pub/reader033/viewer/2022041623/5e4054a5aeaf3e32ea667d0e/html5/thumbnails/5.jpg)
Specification Language), WDS (Well-Defined Services) ของบรษทไอบเอม, SDL (The Service Description Language) และ SCL (the SOAP Contract Language) ของบรษ ท ไมโครซอฟท ปจจบน WSDL เปนภาษา ทอยในการดแลของ W3C (World Wide Web Consortium) ซงยงไมเปนมาตรฐานทสมบรณ เวอรชนทใชงานอยใน โครงการน คอ WSDL 1.1 (รายละเอยดเพมเตมเกยวกบ WSDL สามารถศกษาเพมเตมไดท http://www.w3c.org/TR/wsdl แตปจจบนเวอรชน ลาสดออกมาแลวซงก คอ WSDL 1.2 ) WSDL คอ มาตรฐานสำาหรบการประกาศ process ทจำาเปนในการเรยกใชเซอรวส SOAP (Simple Object Access Protocol)
โครงสร�งเอกส�ร WSDL WSDL เปนภาษาทอยในความดแลขององคกร W3C เวอรชนทใชในโครงการน คอ WSDL 1.1 หากเราสราง เวบเซอรวส กจะมเครองมอชวยสรางเอกสาร WSDL สำาหรบ เวบเซอรวส อยางอตโนมต จดภายในเอกสารทเราควรรเกยวกบการตดตอและเรยกใชบรการของ เวบเซอรวส มจดทควรร ดงตารางท 2.1
ตารางท 2.1 แสดงการอธบาย Element ของเอกสาร WSDLElement Definition<portTy
pe>เปนสวนทสำาคญทสดใน WSDL element อธบาย Operations ท web service มใหบรการและ messages ทเกยวของ เทยบไดกบ function library หรอ module หรอ class ในการเขยนโปรแกรม
<Operation>
อธบาย method ทใหบรการ เวบเซอรวส หนงจะม method จำานวนก method กได
<message>
อธบาย data elements ของ Operation แตละ message อาจมมากกวาหนงสวนเทยบไดกบ parameter ของ function ในการเขยนโปรแกรม
<types อธบายชนดขอมลท web service ใช เพอความเปนก
5
![Page 6: บทที่ 1krunapon/courses/seniorProjects/... · Web viewบทนำ ความเป นมาและความสำค ญของโครงการ โปรแกรมเว](https://reader033.vdocuments.pub/reader033/viewer/2022041623/5e4054a5aeaf3e32ea667d0e/html5/thumbnails/6.jpg)
> ลาง WSDL ใช XML Schema syntax ในการระบชนดขอมล
<binding>
อธบาย format ของ message และ protocol details ในแตละ port
<service>
สำาหรบ web server จะม เวบเซอรวส จำานวนกบรการกได และ ชอ เวบเซอรวส กเปนตวจำาแนกและบงบอกแตละบรการซงหามมชอซำากน
ตามทฤษฎ แล ว ไฟล เอกสาร WSDL แต ละ ไฟล สามารถอธบายคณลกษณะของบรการ เวบเซอรวส (Web services) ไดมากกวา 1 บรการโดยแตละ เวบเซอรวส (Web services) จะม port สอสารเฉพาะตว ซงบงบอกไวในเอกสาร WSDL อยแลว
ตวอยาง WDSL <?xml version="1.0" encoding="UTF-8" ?> <wsdl:definitions targetNamespace="http://localhost/axis/services/Version"
xmlns="http://schemas.xmlsoap.org/wsdl/" xmlns:apachesoap="http://xml.apache.org/xml-soap" xmlns:impl="http://localhost/axis/services/Version" xmlns:intf="http://localhost/axis/services/Version" xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/" xmlns:tns1="http://www.soapinterop.org/Bid" xmlns:tns2="http://www.soapinterop.org/Registry" xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" xmlns:wsdlsoap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<wsdl:types><schema targetNamespace="http://www.soapinterop.org/Bid"
xmlns="http://www.w3.org/2001/XMLSchema"> <import namespace="http://schemas.xmlsoap.org/soap/encoding/" /> <complexType name="Address"><sequence> <element name="address" nillable="true" type="xsd:string" /> <element name="city" nillable="true" type="xsd:string" /> <element name="name" nillable="true" type="xsd:string" /> <element name="state" nillable="true" type="xsd:string" /> <element name="zipCode" nillable="true" type="xsd:string" /> </sequence> </complexType>
<complexType name="LineItem"><sequence> <element name="name" nillable="true" type="xsd:string" /> <element name="price" nillable="true" type="xsd:decimal" /> <element name="quantity" type="xsd:int" /> </sequence>
6
![Page 7: บทที่ 1krunapon/courses/seniorProjects/... · Web viewบทนำ ความเป นมาและความสำค ญของโครงการ โปรแกรมเว](https://reader033.vdocuments.pub/reader033/viewer/2022041623/5e4054a5aeaf3e32ea667d0e/html5/thumbnails/7.jpg)
</complexType><complexType name="PurchaseOrder"><sequence> <element name="billTo" nillable="true" type="tns1:Address" /> <element name="createDate" nillable="true" type="xsd:dateTime" /> <element name="items" nillable="true"
type="impl:ArrayOf_tns1_LineItem" /> <element name="poID" nillable="true" type="xsd:string" /> <element name="shipTo" nillable="true" type="tns1:Address" /> </sequence> </complexType> </schema>
<schema targetNamespace="http://www.soapinterop.org/Registry" xmlns="http://www.w3.org/2001/XMLSchema">
<import namespace="http://schemas.xmlsoap.org/soap/encoding/" /> <complexType name="Service"><sequence> <element name="serviceName" nillable="true" type="xsd:string" /> <element name="serviceType" nillable="true" type="xsd:string" /> <element name="serviceUrl" nillable="true" type="xsd:string" /> <element name="serviceWsdl" nillable="true" type="xsd:string" /> </sequence> </complexType> </schema>
<schema targetNamespace="http://localhost/axis/services/Version" xmlns="http://www.w3.org/2001/XMLSchema">
<import namespace="http://schemas.xmlsoap.org/soap/encoding/" /> <complexType name="ArrayOf_tns1_LineItem"><complexContent><restriction base="soapenc:Array"> <attribute ref="soapenc:arrayType" wsdl:arrayType="tns1:LineItem[]" /> </restriction> </complexContent> </complexType> </schema> </wsdl:types>
<wsdl:message name="getVersionRequest" /> <wsdl:message name="getVersionResponse"> <wsdl:part name="getVersionReturn" type="xsd:string" /> </wsdl:message>
<wsdl:portType name="Version"><wsdl:Operation name="getVersion"> <wsdl:input message="impl:getVersionRequest"
name="getVersionRequest" /> <wsdl:output message="impl:getVersionResponse"
name="getVersionResponse" /> </wsdl:Operation> </wsdl:portType>
<wsdl:binding name="VersionSoapBinding" type="impl:Version"> <wsdlsoap:binding style="rpc"
transport="http://schemas.xmlsoap.org/soap/http" /> <wsdl:Operation name="getVersion"> <wsdlsoap:Operation soapAction="" /> <wsdl:input name="getVersionRequest"> <wsdlsoap:body
encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" namespace="http://axis.apache.org" use="encoded" />
</wsdl:input><wsdl:output name="getVersionResponse">
7
![Page 8: บทที่ 1krunapon/courses/seniorProjects/... · Web viewบทนำ ความเป นมาและความสำค ญของโครงการ โปรแกรมเว](https://reader033.vdocuments.pub/reader033/viewer/2022041623/5e4054a5aeaf3e32ea667d0e/html5/thumbnails/8.jpg)
<wsdlsoap:body encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" namespace="http://localhost/axis/services/Version" use="encoded" />
</wsdl:output> </wsdl:Operation> </wsdl:binding>
<wsdl:service name="VersionService"><wsdl:port binding="impl:VersionSoapBinding" name="Version"> <wsdlsoap:address location="http://localhost/axis/services/Version" /> </wsdl:port> </wsdl:service> </wsdl:definitions>
2.3 WSFL ศกษาและทำาความเขาใจกบ WSFL ไดดงน
Web Services Flow Language 1.0 (WSFL) เปนการใชมาตรฐานภาษา XML ในการอธบายการเชอมโยงกนระหวางเซอรวสและกำาหนดถงระดบการทำางานของแตละเซอรวส โดยลำาดบการทำางานจะใหนยามดวย Flow Control และการเชอมโยงระหวาง Services จะใหนยามดวย Data Link ขอมลทใชในการนำาเอามาและสำาคญมากคอ Web Services Description Language (WSDL) ซงเปนขอมลทอธบายถงการทำางานของแตละเซอรวส โดยจะอธบายวาจะสามารถเขาถงแตละเซอรวสอยางไร โดยจะมสวนเชอมตอ (interface) ของแตละเซอรวส ทจะให WSFL เขาถงและเรยกใชงาน (Binding)
สวนประกอบของ WSFL มดงน 1. เซอรวสทจะเรยกใช (Service Provider) 2. โอเปอรเรชนทจะเรยกใชแตละเซอรวส (Activity) 3. ทอย หรอ WSDL Object ของแตละเซอรวส (Locator) 4. Input และ Output ของแตละเซอรวส 5. Source Services คอ เซอรวสเรมตนทมการเรยกใช
6. ความสามารถในการเชอมโยงของแตละ Services (Data Link) ตองพจารณาชนดของ Data ทจะเชอมโยงกน
7. รปแบบการ Flow วาจะมการเรยกใชงาน Service ไหนกอนหลง (Control link)
8
![Page 9: บทที่ 1krunapon/courses/seniorProjects/... · Web viewบทนำ ความเป นมาและความสำค ญของโครงการ โปรแกรมเว](https://reader033.vdocuments.pub/reader033/viewer/2022041623/5e4054a5aeaf3e32ea667d0e/html5/thumbnails/9.jpg)
8. เงอนไขในการ Flow วาจะเรยกใชแตละ Service เมอ เงอนไขเปนจรง (Transition Condition)9. เมอสรางรปแบบ Flow เสรจแลวจะใช Service ไหนในการ นยาม WSDL ของ FlowModel นน และสงออก (export) ในรปโครงสรางการทำางานของ WSFL จะเหนไดดงรปท 2.1
รปท 2.1 โครงสรางของ WSFL
Syntax Definition จากโครงสราง เราจะไดรปแบบของ tag ตางๆ ดงตารางท 2.2
ตารางท 2.2 แสดงการอธบาย Element ของเอกสาร WSFLElement Attribut
e คำาอธบาย
FlowModel
name เปน root ของเอกสารทอธบายถงรปแบบการ ทำางาน ของ Flow Services
9
![Page 10: บทที่ 1krunapon/courses/seniorProjects/... · Web viewบทนำ ความเป นมาและความสำค ญของโครงการ โปรแกรมเว](https://reader033.vdocuments.pub/reader033/viewer/2022041623/5e4054a5aeaf3e32ea667d0e/html5/thumbnails/10.jpg)
Element Attribute
คำาอธบาย
FlowSource
name อธบายเซอรวส เรมตนทมการเรยกใชงาน
Element Attribut
eคำาอธบาย
ServiceProvider
name อธบายถงเซอรวส ทมการเรยกใช Flow Model
Element Attribute
คำาอธบาย
PortType
name อธบายถง PortType ของเซอรวสทเรยกใชเนองจากแตละเซอรวสอาจจะม PortType มากกวา 1 PortType ดงนนจงตองระบ PortType ทจะใชงานจรงดวย
Locator Type อธบายถงชนดของตำาแหนงของเซอรวส ซงจะมคาเปน static คอตำาแหนงของเซอรวสทมตำาแหนงไมแนนอนไมเปลยนแปลง หรอ Dynamics คอตำาแหนงของเซอรวสทมตำาแหนงไมแนนอนเปลยนแปลงได
Service ตำาแหนงของเซอรวส หรอ เอกสาร WSDL
Element Attribute
คำาอธบาย
Export PortType
อธบายถงการจะ publish WSDL เปนเซอรวสทจะใช PortType อะไรซงโดยทวไปจะใช PortType เดยวกนกบ PortType ของ FlowSource หรอเซอรวสเรมตนของเอกสาร
10
ตารางท 2.2 แสดงการอธบาย Element ของเอกสาร WSFL (ตอ)
![Page 11: บทที่ 1krunapon/courses/seniorProjects/... · Web viewบทนำ ความเป นมาและความสำค ญของโครงการ โปรแกรมเว](https://reader033.vdocuments.pub/reader033/viewer/2022041623/5e4054a5aeaf3e32ea667d0e/html5/thumbnails/11.jpg)
WSDL Operation
อธบายถงการจะ publish WSDL เปนเซอรวสจะใช Operation อะไรซงโดยทวไปจะใช Operation เดยวกนกบ Operation ของ FlowSource หรอเซอรวสเรมตนของ WSDL
Message
Name อธบายถงการจะ publish WSDL เปนเซอรวสจะใช Message อะไรซงโดยทวไปจะใช Message เดยวกนกบ Message Input ของ FlowSource หรอ เซอรวส เรมตน WSDL
Host Name อธบายถงการจะ publish WSDL เปนเซอรวสจะใหเซอรวสนนอยทตำาแหนง หรอใหเอกสาร WSDL ของ WSDL อยท URL ใด
ตารางท 2.2 แสดงการอธบาย Element ของเอกสาร WSFL (ตอ)
Element Attribute
คำาอธบาย
Activity Name อธบายถง Operation ทใชเรยกเซอรวสในแตละ PortType ทเลอกเนองจากในแตละ PortType ของเซอรวสตางๆ อาจจะม
11
![Page 12: บทที่ 1krunapon/courses/seniorProjects/... · Web viewบทนำ ความเป นมาและความสำค ญของโครงการ โปรแกรมเว](https://reader033.vdocuments.pub/reader033/viewer/2022041623/5e4054a5aeaf3e32ea667d0e/html5/thumbnails/12.jpg)
Operation มากกวา 1 Operation จงตองเลอก Operation ดวย
Element Attribute คำาอธบายperformby
Serviceprovider
อธบายถง Operation อยใน Service ใด
Input Name อธบายถง ชอ Input ของ OperationMessage อธบายถง Message Input ของ
OperationOutput Name อธบายถง ชอของ Output ของ
OperationMessage อธบายถง Message Output ของ
Operation
Element Attribute คำาอธบายControlLink
Name อธบายถงลำาดบการทำางานของเซอรวสตางๆ ซงจะกำาหนดโดยการพจารณาการทำางานแตละครง หลงจากทำางานเซอรวสปจจบนจะกำาหนดเปนตำาแหนง source แลวจะทำางานในเซอรวสใดในลำาดบถดไปซงจะกำาหนดเปนตำาแหนง target ทำาจนกระทงถงเซอรวส สดทาย
source อธบายถงเซอรวสปจจบนทกำาลงทำางานtarget อธบายถงเซอรวสถดไปทจะมการเรยกใชงาน
transitioncondition
อธบายถงเงอนไขในการทำางานของเซอรวสถดไป ซงจะตองพจารณาเงอนไขดวย โดย
12
ตารางท 2.2 แสดงการอธบาย Element ของเอกสาร WSFL (ตอ)
![Page 13: บทที่ 1krunapon/courses/seniorProjects/... · Web viewบทนำ ความเป นมาและความสำค ญของโครงการ โปรแกรมเว](https://reader033.vdocuments.pub/reader033/viewer/2022041623/5e4054a5aeaf3e32ea667d0e/html5/thumbnails/13.jpg)
เงอนไขจะม 2 รปแบบ คอ -เงอนไขแบบเปรยบเทยบ และเงอนไขการกำาหนด loop-เงอนไขจากการเปรยบเทยบจะพจารณาผลการเปรยบเทยบเปนจรง หรอ เทจ เชนการเปรยบเทยบ X >Y ซงเซอรวสถดไปจะทำางานเมอผลการเปรยบเปนจรง-เงอนไขการกำาหนด loop จะทำางานจากเซอรวส source และถดไปทำางานเซอรวส target จนกระทงครบตามจำานวน loop ทกำาหนด
end อธบายถงจดสนสดของการทำางานของเซอรวส ซงจะพจารณาจาก คา True หรอ False ถาเปน True จะถอวา target ของ ControlLink นนจะทำางานเปนเซอรวสสดทายของ WSDL
Element Attribute
คำาอธบาย
DataLink
Name อธบายถงความสมพนธ และการเชอมโยงระหวาง Output ของ Service source และ Input ของ Service target
Source อธบายถง Service source ทจะพจารณาคา Output วาจะกำาหนดเปน Input ของเซอรวสถดไปไดอยางไร
Target อธบายถง Service target ทจะพจารณาคา Input วาจะสามารถนำาคานมาจาก Output ของเซอรวสกอนหนาไดอยางไร
13
![Page 14: บทที่ 1krunapon/courses/seniorProjects/... · Web viewบทนำ ความเป นมาและความสำค ญของโครงการ โปรแกรมเว](https://reader033.vdocuments.pub/reader033/viewer/2022041623/5e4054a5aeaf3e32ea667d0e/html5/thumbnails/14.jpg)
Element Attribute
คำาอธบาย
Part value อธบายคาทเปน Input ของ Service target ซงอาจจะไดมาจาก Output ของเซอรวสกอนหนา หรอไดมาจากการกำาหนดคา Input จากผใชกได
Type อธบายถงชนดของ Input เชน Integer, String เปนตน
Arg อธบายถง Field หรอ Argument ของ Message Input ซงจะใชสำาหรบการ mapping คาของ Input ของ Service target ใหถกตอง กบ Part ของ Message Input
จากการออกแบบแทกดวยภาษา XML โดยพจารณาถงความเหมาะสมในหลายๆสวนดงน
1. ความหลากหลายของ tag ควรเหมาะสมตามจำานวนความจำาเปนของขอมล โดยไมนยาม tag ใหมากเกนความจำาเปนซงจะทำาใหไมเกดความสบสนสำาหรบผทจะศกษาการออกแบบ WSDL
2. เนองจาก WSDL เปนภาษาทอยระหวางการพฒนาเปนภาษามาตรฐาน ดงนนในการออกแบบ จงเปนการผสมระหวางแนวความคดเดมทไดมผออกแบบระบบกอนหนานแลว กบความคดใหม เพอใหเหมาะสมกบระบบ Visual Editor ของโครงการน
3. รปแบบของ tag มความยดหยนพอทจะสามารถประยกตเพอทจะทำาการขยาย หรอปรบปรงใหเหมาะสมในอนาคต
4. ในการพฒนาดาน programming ใช ภาษา java ในการพฒนา และใชเทคโนโลย DOM ( Document Object Model ) ซงจะม API (Application Programming Interface) ในการเรยกใชงานซงทำาใหมความสะดวกและยดหยนในการขยายระบบตอไป ซงเหมาะกบการพฒนาโครงการน
14
![Page 15: บทที่ 1krunapon/courses/seniorProjects/... · Web viewบทนำ ความเป นมาและความสำค ญของโครงการ โปรแกรมเว](https://reader033.vdocuments.pub/reader033/viewer/2022041623/5e4054a5aeaf3e32ea667d0e/html5/thumbnails/15.jpg)
ตวอยาง WSFL ของ travel agent business ซงประกอบดวย Services airline และ Services traveler ดงรป ท 2.2
รปท 2.2 ตวอยาง WSFL
15
![Page 16: บทที่ 1krunapon/courses/seniorProjects/... · Web viewบทนำ ความเป นมาและความสำค ญของโครงการ โปรแกรมเว](https://reader033.vdocuments.pub/reader033/viewer/2022041623/5e4054a5aeaf3e32ea667d0e/html5/thumbnails/16.jpg)
รปท 2.2 ตวอยาง WSFL (ตอ)
16
![Page 17: บทที่ 1krunapon/courses/seniorProjects/... · Web viewบทนำ ความเป นมาและความสำค ญของโครงการ โปรแกรมเว](https://reader033.vdocuments.pub/reader033/viewer/2022041623/5e4054a5aeaf3e32ea667d0e/html5/thumbnails/17.jpg)
รปท 2.2 ตวอยาง WSFL (ตอ)
17
![Page 18: บทที่ 1krunapon/courses/seniorProjects/... · Web viewบทนำ ความเป นมาและความสำค ญของโครงการ โปรแกรมเว](https://reader033.vdocuments.pub/reader033/viewer/2022041623/5e4054a5aeaf3e32ea667d0e/html5/thumbnails/18.jpg)
บทท 3ง�นทเกยวของ
งานทเกยวของกบโครงการมดงตอไปน- HOOK- การวเคราะหเวบเซอรวส ของ WWW.WSIAM.COM 3.1 HOOK
HOOK เปนโครงการพฒนาตนแบบโปรแกรมสรางการกระจายงานในระบบเครอขาย เปนโครงการทชวยสรางระบบพนฐานทสามารถเออใหผพฒนาสรางโปรแกรมดงกลาวไดงายขน โดยเฉพาะเมออาศยเทคนคดานการเขยนโปรแกรมแบบวชวล (Visual Programming) สามารถลดเวลาและความซบซอนของการพฒนาไปไดมาก นอกจากนการเขยนโปรแกรมแบบวชวล (Visual Programming) ยงเอ อใหผ พฒนาสามารถตรวจสอบคณสมบตและสถานะตางๆ ของระบบไดงาย และดวยเทคโนโลยของเวบเซอรวส (Web Service) ทำาใหผพฒนาสามารถใชงานผานเวบบราวเซอร (Web Browser) ไดอกดวย
ซอฟตแวรในโครงการ จะประกอบดวยซอฟตแวรหลก 3 ชนงานไดแก1. ซอฟตแวรสำาหรบการสรางโปรแกรมประมวลผลแบบกระจาย
ระบบ GIS (Hook System Application)2. ซอฟตแวรสำาหรบการสรางโปรแกรมประมวลผลแบบกระจายโดย
ใช Visual Editor3. ซอฟตแวรต วอยางการประมวลผลแบบกระจายทสรางจาก
ซอฟตแวรของโครงการโดยซอฟตแวรหลกของโครงการนจะเปนการพฒนาซอฟตแวรสำาหรบการประมวลผลแบบ กระจายโดยใช Visual Editor
3.1.1 คว�มส�ม�รถของ HOOK ผใชสามารถออกแบบระบบการประมวลผลโดยนำา object ไปวางใน
Editor และกำาหนดทศทางการไหลของการประมวลผลใหกบ object เพอทโปรแกรมสามารถประมวลผลตามระบบทออกแบบได object ทวานผ
18
![Page 19: บทที่ 1krunapon/courses/seniorProjects/... · Web viewบทนำ ความเป นมาและความสำค ญของโครงการ โปรแกรมเว](https://reader033.vdocuments.pub/reader033/viewer/2022041623/5e4054a5aeaf3e32ea667d0e/html5/thumbnails/19.jpg)
พฒนาจะเรยกวา WSDL Component โดยความสามารถโดยรวมมดงน
1. สามารถออกแบบระบบการประมวลผลแบบกระจายได โดยการนำาองคประกอบตางๆ สำาหรบการออกแบบระบบมาวางบน Visual Editor
2. สามารถตรวจสอบหรอกำาหนดคณสมบตขององคประกอบการประมวลผลได
3. สามารถกำาหนดทศทางการไหลของการประมวลผลแบบกระจายได
4. สามารถกำาหนดเงอนไขในการไหลของการประมวลผลแบบกระจายได
5. สามารถทจะตรวจสอบคณสมบตขององคประกอบการประมวลผล (WSDL Component) จากตางเครองซงเปนระบบประมวลผลเดยวกนได
6. มความสามารถในการแลกเปลยนขอมลทเกดจากการออกแบบโดยผใช บคคลอนสามารถดขอมลขององคประกอบตางๆ เพอใหตวโปรแกรมเดยวกนจากตางเครองซงอยในระบบประมวลผลเดยวกน แตไมสามารถทจะแกไขขอมลได
7. สามารถตรวจสอบความถกตองของระบบทออกแบบได8. สามารถทจะทำาการประมวลผลแบบกระจาย และแสดงผลลพธ
ของการประมวลผลได
ซ งจากความสามารถในการทจะสามารถกำาหนดคณสมบตของ WSDL Component โดยคณสมบตหนงกค อ ก ำาหนดถงทอยของ WSDL Component นน ทำาให WSDL Component ทมาประกอบบน Visual Editor นนมาจากทอยหลายทและทำาการประมวลผลตามแตละท ท WSDL Component นนใหบรการอย ซงการประมวลผลรปแบบนกคอระบบการกระจายงานในระบบเครอขายนนเอง
19
![Page 20: บทที่ 1krunapon/courses/seniorProjects/... · Web viewบทนำ ความเป นมาและความสำค ญของโครงการ โปรแกรมเว](https://reader033.vdocuments.pub/reader033/viewer/2022041623/5e4054a5aeaf3e32ea667d0e/html5/thumbnails/20.jpg)
3.1.2 รปแบบของ HOOK- เปนลกษณะ Visual Programming - สราง Source Code ได- ปรบแตงคาของ Services ได
รปท 3.1 รปตวอยางของโปรแกรม HOOK
สภ�พแวดลอมของระบบทจะส�ม�รถใชง�นโปรแกรมได1.ระบบปฏบตการ Linux หรอ Windows 95/98/NT/XP2. ตดตง JRE 1.4.0 ขน3.ตดตง GLUE ของบรษท The Mind Electric Co., Ltd4.ตดตง โปรแกรม Web Browser คอ Netscape หรอ
Internet Explorer 5.ตดตง โปรแกรม Web Server คอ Apache Web Server
3.1.3 ขอเสยของ HOOK1. สนบสนนเวบเซอรวสทพฒนาดวย GLUE อยางเดยว2. ไมสามารถใชกบเวบเซอรวส ทมชนดขอมลทสลบซบซอน
( Complex Type ) ได
20
![Page 21: บทที่ 1krunapon/courses/seniorProjects/... · Web viewบทนำ ความเป นมาและความสำค ญของโครงการ โปรแกรมเว](https://reader033.vdocuments.pub/reader033/viewer/2022041623/5e4054a5aeaf3e32ea667d0e/html5/thumbnails/21.jpg)
3. ไมสามารถเรยกการบรการ ( Call Services ) ไดดวยตวเอง (คอเมอโปรแกรมเสรจแลว จะไมสามารถเรยกใชงานเซอรวสไดโดยตรงตองสรางคลาสและใชเครองมอตวอนทเรยกวา GLUE )
4. ไมสามารถทำาตามความสามารถของโปรแกรม HOOK อยางทไดออกแบบไวไดจรง เชน ไมสามารถกำาหนดเงอนไขในการไหลของการประมวลผลได
3.1.4 ขอแตกต�งระหว�ง HOOK และ โปรแกรมเวบเซอรวสเรยกง�ย
จากขอแตกตางระหวาง HOOK และ โปรแกรมเวบเซอรวสเรยกงาย ดงตารางท 3.1 จะเหนวาโปรแกรมเวบเซอรวสเรยกงาย สามารถกำาจดขอดอยของ HOOK ไปได
ตารางท 3.1 แสดงการเปรยบเทยบระหวาง HOOK และ โปรแกรมเวบเซอรวสเรยกงาย
HOOK โปรแกรมเวบเซอรวสเรยกงาย
สนบสนน GLUE อยางเดยว สนบสนนทกแพลตฟอรม (Platform)
ไมสามารถใชกบเวบเซอรวส ( Web Services ) ทมชนดขอมลทสลบซบซอน ( Complex Type ) ได
สามารถใชกบเวบเซอรวส ( Web Services ) ทมชนดขอมลทสลบซบซอน ( Complex Type ) ได
ไมสามารถเรยกการบรการ ( Call Services ) ไดดวยตวเอง
สามารถเรยกเซอรวสไดโดยตรง
ไมสามารถทำาตามความสามารถของโปรแกรม HOOK ไดจรง
สามารถทำางานตามคณสมบตทออกแบบไวได
21
![Page 22: บทที่ 1krunapon/courses/seniorProjects/... · Web viewบทนำ ความเป นมาและความสำค ญของโครงการ โปรแกรมเว](https://reader033.vdocuments.pub/reader033/viewer/2022041623/5e4054a5aeaf3e32ea667d0e/html5/thumbnails/22.jpg)
3.2 ก�รวเคร�ะหเวบเซอรวส ของ WWW.WSIAM.COM
งานทไดศกษาอกอยางคอ การโหลดและวเคราะห WSDL ผาน engine ของ www.wsiam.com ขนตอนในการโหลดและวเคราะห WSDL ของ WWW.WSIAM.COM
ในส วนของ www.wsiam.com น น เม อ เร ยกใช เซอรว ส (Services) ผ า น Engine ข อ ง www.wsiam.com แ ล ว จ ะวเคราะห WSDL ออกมาและแสดง การใหบรการ(Operation) ทมอย ใหทำาการเรยกใช ดงรปท 3.2
รปท 3.2 แสดง Services ทวเคราะหผาน Engine ของ
www.wsiam.com
เมอทำาการเรยกใช การใหบรการ ทมใน เซอรวส จะแสดงชองใหใสขอมลทตองการ ดงรปท 3.3 เพอนำาไปประมวลใหไดผลลพธ ชองทใหใส
22
![Page 23: บทที่ 1krunapon/courses/seniorProjects/... · Web viewบทนำ ความเป นมาและความสำค ญของโครงการ โปรแกรมเว](https://reader033.vdocuments.pub/reader033/viewer/2022041623/5e4054a5aeaf3e32ea667d0e/html5/thumbnails/23.jpg)
คาจะบอกแค ชนดของขอมลทใส ไมไดบอกวาขอมลนนคออะไร ทำาใหเขาใจไดยาก ตองทำาการศกษามากอนจงจะเขาใจ
รปท 3.3 แสดง input ของ Operation ทเรยกผาน Engine ของ wsiam
ขอเสย ของการวเคราะหแบบผาน Engine ของ wsiam น คอ 1 ไมสามารถนำาไปพฒนาตอได ซง ในโปรแกรมเวบเซอรวสเรยกงาย
สามารถนำาไปวเคราะหและเชอมกบ เซอรวสอน ได กำาหนดเงอนไขการทำางานได
2 Input ทใหใสมความยงยาก รายละเอยดในการอธบายนอยเกนไปตอผใชงานทวไปทไมมความรดานโปรแกรม ทำาใหผใชไมสามารถใชเวบเซอรวสไดโดยงาย
3 เมอตองการใชงานใหมจะตองโหลด WSDL และทำาการวเคราะหใหม
ซงโปรแกรมเวบเซอรวสเรยกงาย สามารถแกไขขอบกพรองดงกลาวขางตนได
23
![Page 24: บทที่ 1krunapon/courses/seniorProjects/... · Web viewบทนำ ความเป นมาและความสำค ญของโครงการ โปรแกรมเว](https://reader033.vdocuments.pub/reader033/viewer/2022041623/5e4054a5aeaf3e32ea667d0e/html5/thumbnails/24.jpg)
บทท 4
ก�รออกแบบและพฒน�โปรแกรมเวบเซอรวสเรยกง�ย
ในบทนจะอธบายถงการออกแบบและพฒนาโปรแกรมเวบเซอรวสเรยกงาย ซงจะมรายละเอยดขนตอนทพฒนา สวนประกอบของโปรแกรมเวบเซอรวสเรยกงาย เหตผลในการออกแบบ และรายละเอยดของสวนประกอบอนๆ
4.1 ขนตอนก�รก�รพฒน�โปรแกรมเวบเซอรวสเรยกง�ย -ศกษาสวนประกอบตางๆทสำาคญและจำาเปนในการทำางานของโปรแกรมเวบเซอรวสเรยกงาย -แยกการทำางานโปรแกรมเวบเซอรวสเรยกงายออกเปนสวนๆเพอใหงายตอการพฒนา -แบงงานใหแตละคนทำาตามทถนด -นำาสวนยอยของโปรแกรมเวบเซอรวสเรยกงายแตละสวนทไดมารวมกน -ทดสอบขอผดพลาดการทำางานของโปรแกรมเวบเซอรวสเรยกงาย
4.2 โครงสร�งและสวนประกอบของโปรแกรมเวบเซอรวสเรยกง�ย ( Graphics User Interface )GUI รวมทงหมดของโปรแกรม
24
![Page 25: บทที่ 1krunapon/courses/seniorProjects/... · Web viewบทนำ ความเป นมาและความสำค ญของโครงการ โปรแกรมเว](https://reader033.vdocuments.pub/reader033/viewer/2022041623/5e4054a5aeaf3e32ea667d0e/html5/thumbnails/25.jpg)
ไดมการออกแบบหนาตาของโปรแกรมเวบเซอรวสเรยกงาย ใชหลกการของการเขยนโปรแกรมแบบวชวลซงจะทำาใหงายตอการออกแบบ การออกแบบ Visual Programming โดยสามารถจบวางแลวก ำาหนดคณสมบตได จะทำาใหผใช สามารถเรยกใชเวบเซอรวสไดงาย แมผใชไมมความรดานการเขยนโปรแกรมเลยกตาม
รปท 4.1 แสดงสวนประกอบทงหมดของโปรแกรมเวบเซอรวสเรยกงาย
เมนและแถบเครองมอเมน จะมคำาสงทใชในโปรแกรมทงหมด ดรปท 4.2 ประกอบ
1 File ม การสราง Project, เปด Project, ปด Project , และ Load WSDL2 Edit มคำาสงแก ในสวน Visual Editor 3 Build มคำาสงเกยวกบการสรางโปรแกรม และฟงกชน
25
![Page 26: บทที่ 1krunapon/courses/seniorProjects/... · Web viewบทนำ ความเป นมาและความสำค ญของโครงการ โปรแกรมเว](https://reader033.vdocuments.pub/reader033/viewer/2022041623/5e4054a5aeaf3e32ea667d0e/html5/thumbnails/26.jpg)
4 Help ขอความชวยเหลอในการใชงาน
สวนแถบเครองมอ จะเกบเฉพาะ เมนทคาดวาจะใชบอย ทำาเปนแถบเครองมอขนมาเพอใหสะดวกในการใชงาน สวนคำาสงทไมจำาเปนจะไมนำามาใสในแถบเครองมอเพราะจะไมทำาใหดรกและไมทำาใหโปรแกรมมขนาดใหญขนโดยไมจำาเปนอกดวย
เมนในสวนของเมน และแถบเคร องมอเพอเพมความสะดวก จะทำาใหมคยลด (Hot key) ใหผใชงานใชไดสะดวกยงขน
รปท 4.2 แสดงสวนของเมน และแถบเครองมอ
สวนประกอบของก�รกำ�หนดและควบคม (Flow Components)เป นสวนท จะก ำาหนดการเช อม Flow โดยนำาไปวางใน Visual
Editor โดยจะเชอม เซอรวส ตางๆ และจะกำาหนดคณสมบต เงอนไขของการทำางานของ เซอรวส ทนำามาทำางานรวมกน เซอรวส ทจะนำามาเชอมกนนจะตองเรมดวย สวนของจดเรม (Component Start) และจบดวย สวนของจดจบ (Component Stop) เพอทเราจะไดทราบวาจดเร มตนของ เซอรวส ทเรานำามาเชอมอยท ใด และไปสนสดทตรงไหน ทำาใหในการเขยนโปรแกรมเพอตรวจสอบขบวนการภายในทำาไดงายไมสบสน ทำาใหการสรางฟงกชนของเซอรวส ททำาการเชอมและวเคราะห แลวทงหมดสะดวกขน
สวนประกอบ (Components) ทใชมดงน ดรปท 4.3 ประกอบ 1 Start มเพอบอกจดเรมตนของ เซอรวส ทเราจะนำาเชอม 2 Stop มเพอบอกจดสนสดของ เซอรวส ทเราจะนำาเชอม 3 Flow มเพอทจะเชอม เซอรวส, เงอนไข, เชอมกบจดเรมตน และจดสนสด
26
![Page 27: บทที่ 1krunapon/courses/seniorProjects/... · Web viewบทนำ ความเป นมาและความสำค ญของโครงการ โปรแกรมเว](https://reader033.vdocuments.pub/reader033/viewer/2022041623/5e4054a5aeaf3e32ea667d0e/html5/thumbnails/27.jpg)
4 Services Flow ทำาหนาทเชอมเหมอน Flow แตจะเปนเฉพาะกรณท เซอรวส เชอม กบ เซอรวส เทานน เพอเปนการแยกความแตกตางระหวาง การเชอมแบบปรกต และการเชอมแบบ เซอรวส ในอนาคตอาจจะยบไปรวมกบ Flow ได ถาสามารถแยกการเชอมไดวาเปนการเชอมแบบไหน
5 Pointer มเพอทจะเปนตวเลอกเหมอนสวตซ เปดปดไฟ วาจะใชสวนประกอบตวไหน 6 Condition เปนการกำาหนดเงอนไขแบบปรกต 7 Loop Condition เปนสวนทกำาหนดเงอนไขแบบวนลป (Loop) 8 Summary Condition เปนเงอนไขทจะรวมเซอรวส
1 2 3 4
5 6 7 8รปท 4.3 แสดงสวนของ Flow Components
สวนประกอบทเกบเซอรวส (Service Components)เปนสวนทเกบเซอรวส ททำาการโหลดมาและวเคราะหแลวทำาการ
บนทกเกบในรปแบบของโครงสรางของ XML และรปแบบในการเกบเซอรวสจะใชแบบตนไม (Tree) แทนการเกบแบบ List เพราะ แตละ เซอรวส อาจจะม หลาย Operation ทำาใหเวลาใชงานอาจทำาใหสบสนได Tree ทำาใหเราเกบไดเปนระเบยบแยกแตละ Operation ใน เซอรวส ได
27
![Page 28: บทที่ 1krunapon/courses/seniorProjects/... · Web viewบทนำ ความเป นมาและความสำค ญของโครงการ โปรแกรมเว](https://reader033.vdocuments.pub/reader033/viewer/2022041623/5e4054a5aeaf3e32ea667d0e/html5/thumbnails/28.jpg)
ชดเจน และเมอตองการใชงานเฉพาะ บาง Operation กสามารถเรยกใชงานไดเลยโดยไมตองเรยกทงเซอรวส
สวนประกอบทเกบเซอรวส (Service Components) แบงยอยได 2 สวน คอ
1. เซอรวสททำ�ก�รเชอมและกำ�หนดแลวเปนสวนทเราทำาการโหลดเซอรวสอนๆ แลวนำามาทำาการวเคราะห
เชอม Flow กำาหนดคณสมบตและเงอนไขตามทเราตองการแลวทำาการบนทกจดเกบในรปแบบโครงสรางของ XML เมอกลบมาใชงานภายหลง ทำาใหไมตองเสยเวลาทำาการวเคราะห ตรวจสอบและเชอม เซอรวสใหม เราสามารถนำาเซอรวสทเราออกแบบและวเคราะหไวแลวมาเรยกใชงานไดเลย เหมอนกบการทเรานำา เซอรวสอน มาผสมกนโดยการเชอม และกำาหนดเงอนไขทำาใหเกดเปน เซอรวสใหม ขนมาทเกดจากการนำา Operation ของ เซอรวสมารวมกน เวลาเรยกใชงานกจะเรยกเพยงคร งเดยว กจะเหมอนกบการเรยกใชหลายๆ เซอรวส2. เซอรวสทอนๆ ทไมไดทำ�ก�รเชอมตอ
เปนเซอรวสทมผใหบรการอยแลว โดยตวโปรแกรมจะทำาการโหลดและวเคราะหตวใหบรการ และบนทกเกบไวในรปแบบโครงสรางของ XML ทำาใหเราสามารถเรยกใชงานเซอรวสไดเลยโดยทไมตองทำาการวเคราะหใหม ทำาใหการใชงานรวดเรวและสะดวกยงขน อกทงยงนำาไปวเคราะหเชอมเซอรวส ตอไดอกในสวนของเซอรวสททำาการเชอมและกำาหนดแลว
28
![Page 29: บทที่ 1krunapon/courses/seniorProjects/... · Web viewบทนำ ความเป นมาและความสำค ญของโครงการ โปรแกรมเว](https://reader033.vdocuments.pub/reader033/viewer/2022041623/5e4054a5aeaf3e32ea667d0e/html5/thumbnails/29.jpg)
รปท 4.4 แสดงสวนของ Service Components
คำ�อธบ�ยคณลกษณะ(Description)เปนสวนทอธบาย ความสามารถของ เซอรวสวาใหบรการเกยวกบ
อะไร รวมถงคำาจำากดความสนๆ ของ เซอรวสนนๆ รวมถงขอมลอนพท (input) และขอมลเอาพท (output) วาเปนขอมลชนดอะไร อธบายขอมลเทาทจะหาไดจากผทใหบรการ
ออกแบบใหมสวนนเพอทจะชวยใหผใชเขาใจ เซอรวสทใหบรการวาเปนบรการอะไร จะไดสงขอมลเพอทจะรบบรการไดถกตอง อยางในรปท 4.5 เปนการอธบาย เซอรวส ท ช อ Spell Checker ท ม URL ค อ http://wsdl.wsdlfeeds.com/spell.cfc?wsdl
เมอเราคลกเลอกตวโปรแกรมจะทำาการแสดงคำาอธบาย เซอรวสในสวนประกอบทเกบเซอรวส
รปท 4.5 แสดงสวนของ Description
29
![Page 30: บทที่ 1krunapon/courses/seniorProjects/... · Web viewบทนำ ความเป นมาและความสำค ญของโครงการ โปรแกรมเว](https://reader033.vdocuments.pub/reader033/viewer/2022041623/5e4054a5aeaf3e32ea667d0e/html5/thumbnails/30.jpg)
ตวแกไขวชวล (Visual Editor)เปนสวนทใชในการออกแบบ โดยการเขยนโปรแกรมแบบวชวล จะ
เปนสวนทใหนำาสวนประกอบ มาวาง และเชอม เซอรวส การดำาเนนการจะทำาใน Visual Editor น เมอออกแบบในสวนนเสรจแลวจะตองสามารถ ทำาการสรางฟงกชน ใหเปนไปตามเงอนไขทวเคราะหและออกแบบได
ในรปท 4.6 แสดงการออกแบบเซอรวสทนำา เซอรวสทมอยแลวมาเชอมกน เร มโดยจดเร มตนและจบดวยจดสนสด ออปเจค (Object) ส เหลองคอ ตวแทนของเซอรวสทเราโหลดมา หรอ นำามาจากทเราไดโหลดและบนทก ไวในสวนของตวทเกบเซอรวสอยกอนแลว การเชอมเงอนไขจะตองสามารถทำาได ออปเจคสฟา คอสวนของเงอนไขทจะเปนตวกำาหนดเงอนไขในการทำา วาจะเลอกไปเชอมและทำางานในสวนของเซอรวสไหนตอ เมอออกแบบและกำาหนดคณสมบตไดครบตามทตองการแลวกจะสรางฟงกชน ขนมา
30
![Page 31: บทที่ 1krunapon/courses/seniorProjects/... · Web viewบทนำ ความเป นมาและความสำค ญของโครงการ โปรแกรมเว](https://reader033.vdocuments.pub/reader033/viewer/2022041623/5e4054a5aeaf3e32ea667d0e/html5/thumbnails/31.jpg)
รปท 4.6 แสดงสวนของ Visual Editor
เหตผล ในการออกแบบ เปนวชวล ค อ การทมภาพออปเจค (Object) แสดงเปนตวแทนจะทำาใหเขาใจไดงาย ออกแบบไดงาย เพราะไมตองไปยงกบการเขยนคำาสงโปรแกรม ซงคำาสงโปรแกรมหรอฟงกชน น จ ะถ กสร างข นมาจาก class ท ใ ช ในการสร างค ำาส งฟ งก ช น (Generate Code) ใน Library Axis ทนำามาใชในโปรแกรมนนม class ทใชใน การสรางคำาสงฟงกชน (Generate Code) ดงนนจงไมตองเขยน class นนใชขนมาเอง4.3 ก�รโหลดและวเคร�ะห WSDL ขนตอนในก�รโหลด WSDL ของโปรแกรมเวบเซอรวสเรยกง�ย คอ 1 หาทอย URL ของ Services ทใหบรการ ในทนเลอกหาจาก www.wsiam.com ดงรปท 4.7
31
![Page 32: บทที่ 1krunapon/courses/seniorProjects/... · Web viewบทนำ ความเป นมาและความสำค ญของโครงการ โปรแกรมเว](https://reader033.vdocuments.pub/reader033/viewer/2022041623/5e4054a5aeaf3e32ea667d0e/html5/thumbnails/32.jpg)
รปท 4.7 แสดงการหา URL ทอยของ Services จาก www.wsiam.com
2 เมอได URL มาแลว เรยก class ในการโหลด WSDL ขนมา ใส URL ทตองการจะโหลดลงไป ดงรปท 4.8
รปท 4.8 แสดงการโหลด WSDL3 เรากจะไดขอมลของ เซอรวส (Services) นนมาวเคราะห ดงรปท 4.9
32
![Page 33: บทที่ 1krunapon/courses/seniorProjects/... · Web viewบทนำ ความเป นมาและความสำค ญของโครงการ โปรแกรมเว](https://reader033.vdocuments.pub/reader033/viewer/2022041623/5e4054a5aeaf3e32ea667d0e/html5/thumbnails/33.jpg)
รปท 4.9 แสดง WSDL ทโปรแกรมโหลดมาได4 เมอโหลด WSDL มาแลวเราจะนำาขอมลไปวเคราะห ตอได เพอแยก การใหบรการ (Operation) แลวบนทก เกบไวใน Others Services หรอจะนำาไปใสในสวนของ Visual Editor เพ อท ำาการ เช อม Flow และ เซอรวส (Services) อนกำาหนดเงอนไขแลว คอยทำาการบนทก เกบไวกได เมอนำามาเรยกใชงานจะเปนดงรปท 4.10
รปท 4.10 แสดงสวนของ Visual Editor เมอ Load WSDL
33
![Page 34: บทที่ 1krunapon/courses/seniorProjects/... · Web viewบทนำ ความเป นมาและความสำค ญของโครงการ โปรแกรมเว](https://reader033.vdocuments.pub/reader033/viewer/2022041623/5e4054a5aeaf3e32ea667d0e/html5/thumbnails/34.jpg)
4.4 แนวก�รพฒน�โปรแกรมสถาปตยกรรมของระบบ (System Architecture)
ลกษณะการประมวลผลของระบบทออกแบบโดยโปรแกรมการประมวลผลแบบกระจายดวย Visual Editor จะมลกษณะดง รปโดย WSDL Component แตละโมดลจะใชบรการจาก เวบเซอรวส เพอประมวลผลอนพตทผใชงานโปรแกรมกำาหนด
เมอ WSDL Component เรยกใชบรการ เวบเซอรวส และไดรบผลลพธการประมวลผล เอาตพตทไดนจะถกสงตอไปเปนอนพตของ WSDL Component ตวอนๆ เพอประมวลผลตอไปตามทไดออกแบบระบบไว โดยผพฒนาจะอาศยมาตรฐานของ WSFL (Web Service Flow Language) ในการควบคม และตรวจสอบเงอนไขตางๆ เพอใหการไหลของขอมลการประมวลผลเปนไปตามทผใชงานโปรแกรมไดออกแบบระบบประมวลผลไว23233333125
34
![Page 35: บทที่ 1krunapon/courses/seniorProjects/... · Web viewบทนำ ความเป นมาและความสำค ญของโครงการ โปรแกรมเว](https://reader033.vdocuments.pub/reader033/viewer/2022041623/5e4054a5aeaf3e32ea667d0e/html5/thumbnails/35.jpg)
System Architecture ของระบบก�รประมวลผลรปท 4.11 แสดงรปแบบการประมวลผล
รปแบบการประมวลผลสามารถแบงได 2 รปแบบ คอก�รประมวลผลแบบต�มลำ�ดบ (Sequential Flow Control)
การประมวลผลลกษณะน คอ การประมวลผลทยดถอเฉพาะลำาดบของการทำางานเทานน ดงตวอยางรปท 4.12
รปท 4.12 การประมวลผลแบบลำาดบ
35
![Page 36: บทที่ 1krunapon/courses/seniorProjects/... · Web viewบทนำ ความเป นมาและความสำค ญของโครงการ โปรแกรมเว](https://reader033.vdocuments.pub/reader033/viewer/2022041623/5e4054a5aeaf3e32ea667d0e/html5/thumbnails/36.jpg)
ก�รประมวลผลแบบมเงอนไข (Condition Flow Control)การประมวลผลลกษณะน คอ การประมวลผลทยดถอทงลำาดบของ
การทำางานและเงอนไขในการจะทำางานลำาดบตางๆ ดงตวอยาง รปท 4.13
รปท 4.13 รปแบบการประมวลแบบมเงอนไข.
รปแบบก�รทำ�ง�นของระบบรปแบบการทำางานของระบบจากตวอยาง Flow Control สามารถ
แสดงไดดง รปท 414. ซงจะเหนไดวา ผทตองการใชบรการจากระบบประมวลผล GIS นนจะเขาถงบรการไดจาก Easy Call Web Services (ซงโปรแกรมเปนตว Generate Code สวนนจากการออกแบบระบบประมวลผล ) หนาทของ Easy Call Web Services คอการควบคมการไหลของการประมวลผล ( Flow Control ) ใหเปนไปตามทไดออกแบบระบบไว เมอ Easy Call Web Services ถกกำาหนดอนพตและถกสงใหเร มตนประมวลผล Easy Call Web Services จะทำางานโดยการไปเรยกใชงานเซอรวส ยอยอนๆ ภายในระบบ ในกรณทเซอรวสยอยเหลานนตองการอนพต Hook Service กสามารถบอกเซอรวสยอยเหลานนไดวาสามารถไปเอาอนพตไดจากทไหน
ผลลพธทเกดจากการประมวลผลของเซอรวสยอยเหลาน ไมไดถกสงกลบมายงต ว Easy Call Web Services แตเซอรวสยอยจะเก บผลลพธการประมวลผลไวทตวเอง (ททเซอรวสอย ซงไมจำาเปนตองอยท
36
![Page 37: บทที่ 1krunapon/courses/seniorProjects/... · Web viewบทนำ ความเป นมาและความสำค ญของโครงการ โปรแกรมเว](https://reader033.vdocuments.pub/reader033/viewer/2022041623/5e4054a5aeaf3e32ea667d0e/html5/thumbnails/37.jpg)
เดยวกบเครองทรนโปรแกรมอย ) เมอเซอรวสยอยประมวลผลเสรจกจะสงผลลพธกลบมายง Easy Call Web Services พรอมทงตำาแหนงของผลลพธ หลงจากนน Easy Call Web Services กจะไป เรยกเวบเซอรวสอนๆ ตามลำาดบและเงอนไขทกำาหนด พรอมทงบอกเซอรวสยอยนนวาสามารถไปเอาอนพต (ทจะเอามาประมวลผลจรง ) ไดจากทไหน ซ ง จ ะเหนไดวาการทำางานลกษณะนจะเสมอนกบวาแตละเซอรวสยอยนนไดคยกนเอง
รปท 4.14 แสดงรปแบบการทำางานของระบบ
4.5 สวนประกอบของ class ทจำ�เปน
package ชอ WSDLDocument มอย 7 class ซงแตละ class หนาทแตกตางกนออกไป
-ReadWSDL ทำาหนาทอานและกำาหนด configure ตางๆ ของ WSDL
37
![Page 38: บทที่ 1krunapon/courses/seniorProjects/... · Web viewบทนำ ความเป นมาและความสำค ญของโครงการ โปรแกรมเว](https://reader033.vdocuments.pub/reader033/viewer/2022041623/5e4054a5aeaf3e32ea667d0e/html5/thumbnails/38.jpg)
-WSDLDocument เปนตวหลกในการทำางานในการตรวจสอบ WSDL -WSDLComplexType เปนตวตรวจสอบ Complex Type -WSDLOperation ตรวจสอบ Operation ของ Services -WSDLMessage ตรวจสอบ Message ของ Services -WSDLPortType ตรวจสอบ PortType ของ Services
-WSDLVariable ตรวจสอบตวแปรทมชนดขอมลสลบซบซอน (Complex Variable Type) ใน WSDL
. .
บทท 5 ขนตอนก�รพฒน�
5.1 สวนของก�รพฒน�
-ในการทดสอบเรยกใช เซอรวสเราไดเขยน class เพอทำาการเรยกเซอรวส ขนมา เพอทำาการเรยกใช เซอรวสดงน ซงเมอทำาการทดสอบ โดยใช Service Stock Quote ซง ผ Publish คอ walterjones เปน service ทใชในการดขอมลของ หน ตางๆทสำาคญ โดยไดทำาการสง input เปน หนของ CNN จะได output ดงน GetQuoteResult=<StockQuotes><Stock><Symbol>CNN</Symbol><Last>6.28</Last><Date>12/17/2004</Date><Time>2:56pm</Time><Change>0.00</Change><Open>6.29</Open><High>6.32</High><Low>6.28</Low><Volume>2600</Volume><MktCap>N/A</MktCap><PreviousClose>6.28</
38
![Page 39: บทที่ 1krunapon/courses/seniorProjects/... · Web viewบทนำ ความเป นมาและความสำค ญของโครงการ โปรแกรมเว](https://reader033.vdocuments.pub/reader033/viewer/2022041623/5e4054a5aeaf3e32ea667d0e/html5/thumbnails/39.jpg)
PreviousClose><PercentageChange>0.00%</PercentageChange><AnnRange>5.36 - 6.65</AnnRange><Earns>0.00</Earns><P-E>N/A</P-E><Name>PROSPECT INC SHS </Name></Stock></StockQuotes>ทดสอบโดยการ ใส input เปน CNS (พฒนสน) GetQuoteResult=<StockQuotes><Stock><Symbol>CNS</Symbol><Last>15.86</Last><Date>12/17/2004</Date><Time>4:10pm</Time><Change>-0.24</Change><Open>16.10</Open><High>16.10</High><Low>15.76</Low><Volume>123100</Volume><MktCap>560.3M</MktCap><PreviousClose>16.10</PreviousClose><PercentageChange>-1.49%</PercentageChange><AnnRange>13.00 - 17.98</AnnRange><Earns>0.18</Earns><P-E>89.44</P-E><Name>COHN & STEERS</Name></Stock></StockQuotes>ดงรปท 5.1 เปนรปตวอยางการเรยกใช class ททำาการ call service
โดยการแกในตวโปรแกรมโดยตรง
39
![Page 40: บทที่ 1krunapon/courses/seniorProjects/... · Web viewบทนำ ความเป นมาและความสำค ญของโครงการ โปรแกรมเว](https://reader033.vdocuments.pub/reader033/viewer/2022041623/5e4054a5aeaf3e32ea667d0e/html5/thumbnails/40.jpg)
รปท 5.1 การเรยกใช class ททำาการ call service
รปท 5.2 แสดงตวอยางของการผลลพธของการ call Services
40
![Page 41: บทที่ 1krunapon/courses/seniorProjects/... · Web viewบทนำ ความเป นมาและความสำค ญของโครงการ โปรแกรมเว](https://reader033.vdocuments.pub/reader033/viewer/2022041623/5e4054a5aeaf3e32ea667d0e/html5/thumbnails/41.jpg)
เนองจากปญหาจากการพฒนาของภาคการเรยนท 1/2547 ทแลว พบวาเมอนำา GUI มาใชทำางานจรงในสวนของ Visual Editor จะมการกระพรบของภาพวตถเกดขน ดงนนจงได ทดลองเขยนโปรแกรมทแกไขปญหาการกระพรบของ VisualEditor ทมการปรบปรงและแกไข
สวนของโปรแกรมมดงน
public void paint(Graphics g) { super.paint(g); paintModel(g); /* if (bufimg!=null) g.drawImage(bufimg,0,0,this); else { bufimg = createImage(getWidth(),getHeight()); // Works in Java2 from Sun only !!! bufgrf = bufimg.getGraphics(); }*/
} public void paintModel(Graphics g){ if(flagMove){ g.setColor(Color.white); g.fillRect(tempmoveX, tempmoveY, model_services.getWidth(this), model_services.getHeight(this)); } for(int i=0;i<pointX.size();i++){ g.drawImage(model_services,Integer.parseInt(pointX.g
41
![Page 42: บทที่ 1krunapon/courses/seniorProjects/... · Web viewบทนำ ความเป นมาและความสำค ญของโครงการ โปรแกรมเว](https://reader033.vdocuments.pub/reader033/viewer/2022041623/5e4054a5aeaf3e32ea667d0e/html5/thumbnails/42.jpg)
et(i).toString().trim()),Integer.parseInt(pointY.get(i).toString().trim()),this); } } public void update(Graphics g){ paintModel(g); } private void canvas1MouseDragged(java.awt.event.MouseEvent e) { if(flagMove){ tempmoveX = Integer.parseInt(pointX.get(tempMove).toString()); tempmoveY = Integer.parseInt(pointY.get(tempMove).toString()); pointX.setElementAt(e.getX()+"",tempMove); pointY.setElementAt(e.getY()+"",tempMove); repaint(); } }ผลของการทำางานของโปรแกรมดงรปท 5.3 และ รปท 5.4 และผลของการทำางานจะทำาให
1. สามารถลากและวาง object โดยไมเกดการกระพรบ2. สามารถสราง object ซำาๆกนได3. แกปญหาเวลา ลากรปแลวไมใหกระพรบโดยการเลอก พนทในการใช method update
เฉพาะสวน แลวทำาการ repaint ทบ object เดมทไมตองการ ทำาใหไมเกดการกระพรบ
42
![Page 43: บทที่ 1krunapon/courses/seniorProjects/... · Web viewบทนำ ความเป นมาและความสำค ญของโครงการ โปรแกรมเว](https://reader033.vdocuments.pub/reader033/viewer/2022041623/5e4054a5aeaf3e32ea667d0e/html5/thumbnails/43.jpg)
รปท 5.3 แสดงการวางวตถแลวลากไมกระพรบ
รปท 5.4 แสดงการวางวตถ
43
![Page 44: บทที่ 1krunapon/courses/seniorProjects/... · Web viewบทนำ ความเป นมาและความสำค ญของโครงการ โปรแกรมเว](https://reader033.vdocuments.pub/reader033/viewer/2022041623/5e4054a5aeaf3e32ea667d0e/html5/thumbnails/44.jpg)
รปท 5.5 ซงพฒนา GUI ขนมาใหม
รปท 5.5 GUI
- สามารถยอ หรอขยาย Frame ได- ลดจำานวน Object Components ใหเหลอเฉพาะทจำาเปน
5.2 สรปก�รดำ�เนนง�นต�มแผนง�น
44
![Page 45: บทที่ 1krunapon/courses/seniorProjects/... · Web viewบทนำ ความเป นมาและความสำค ญของโครงการ โปรแกรมเว](https://reader033.vdocuments.pub/reader033/viewer/2022041623/5e4054a5aeaf3e32ea667d0e/html5/thumbnails/45.jpg)
คว�มก�วหน�ต�มแผนก�รดำ�เนนก�ร แผนการดำาเนนงาน ม.ย
.2547
ก.ค.
2547
ส.ค.2547
ก.ย.2547
ต.ค.2547
พ.ย.2547
ธ.ค.2547
ม.ค.
2548
ก.พ.2548
ศกษาหาความรทเกยวของ
-------******
-------******
-------******
ออกแบบโปรแกรม -------******
-------******
-------******
-------******
-------******
เรมเขยนโปรแกรม -------******
-------******
-------******
-------******
-------******
-------******
ทดสอบโปรแกรมและแกขอผดพลาด
-------
-------******
-------******
-------**
ทำารายงานสรปผลโครงการและคมอการใชงาน
-------**
-------- สวนทวางแผนไว ******* สวนทไดดำาเนนการจรง
45
![Page 46: บทที่ 1krunapon/courses/seniorProjects/... · Web viewบทนำ ความเป นมาและความสำค ญของโครงการ โปรแกรมเว](https://reader033.vdocuments.pub/reader033/viewer/2022041623/5e4054a5aeaf3e32ea667d0e/html5/thumbnails/46.jpg)
.
.
.
.บทท 6
ก�รทดสอบและใชง�นโปแกรม
6.1 ก�รทดสอบกบเวบเซอรวสทมขอมลชนดไมซบซอน (Simple Type)นำาสวนประกอบมารวมกนแลวทำาการทดสอบการใชงาน ขนตอนการทำางานมดงน
1. ออกแบบใน Visual Editor วาเราตองการจะใชเซอรวสกตวโดย ไปคลกเลอกจากสวนของ component แลวนำามาวาง ดงรปท 6.1 และกำาหนดจดเรมตนและจดสนสด ของเซอรวส ทออกแบบ
46
![Page 47: บทที่ 1krunapon/courses/seniorProjects/... · Web viewบทนำ ความเป นมาและความสำค ญของโครงการ โปรแกรมเว](https://reader033.vdocuments.pub/reader033/viewer/2022041623/5e4054a5aeaf3e32ea667d0e/html5/thumbnails/47.jpg)
รปท 6.1 แสดงการเอา component มาวางเพอออกแบบ
2. คลกเลอก Service component เพอทจะทำาการโหลด WSDL ใหกบ object (Service 0)วธการคอ คลกท ในสวนของ component กอน แลว มาคลก object ใน Visual Editor ดงรปท 6.2
47
![Page 48: บทที่ 1krunapon/courses/seniorProjects/... · Web viewบทนำ ความเป นมาและความสำค ญของโครงการ โปรแกรมเว](https://reader033.vdocuments.pub/reader033/viewer/2022041623/5e4054a5aeaf3e32ea667d0e/html5/thumbnails/48.jpg)
รปท 6.2 แสดงการคลกเลอก เพอทจะทำาการโหลด WSDL
3.จากนนจะมหนาจอขนมาใหเราใสทอยของเอกสาร WSDL ของเซอรวส ทเราตองการจะทำาการโหลดเมอทำาการโหลดเอกสาร WSDL จะเปนการตรวจสอบไปดวยวามเซอรวส นนอยจรงหรอไม เอกสารWSDL ท โ ห ล ด ค อ http://localhost:8080/axis/topza/EasyPlus.jws?wsdl ซ งเปนเซอรวสทสามารถเรยกเพอใชในการบวกเลขได
48
![Page 49: บทที่ 1krunapon/courses/seniorProjects/... · Web viewบทนำ ความเป นมาและความสำค ญของโครงการ โปรแกรมเว](https://reader033.vdocuments.pub/reader033/viewer/2022041623/5e4054a5aeaf3e32ea667d0e/html5/thumbnails/49.jpg)
รปท 6.3 แสดงการโหลด WSDL
4. เมอโหลดเอกสาร WSDL เสรจแลว จะโปรแกรมจะทำาการวเคราะหใหวาเซอรวสทโหลดมานน ม Port Type เปนอะไร มก Operation และ Operation มอนพท เปนอะไร ขอมลทรบเขาเปนชนดไหน ดงรปท 6.4 สำาหรบเซอรวสแรกทเชอมกบจดเร มตน จะรบขอมลมาจากจดเรมตนทผใชจะกำาหนดเมอตองการจะทำาการเรยกใชงานเซอรวสทงหมดทออกแบบ
49
![Page 50: บทที่ 1krunapon/courses/seniorProjects/... · Web viewบทนำ ความเป นมาและความสำค ญของโครงการ โปรแกรมเว](https://reader033.vdocuments.pub/reader033/viewer/2022041623/5e4054a5aeaf3e32ea667d0e/html5/thumbnails/50.jpg)
รปท 6.4 แสดงการวเคราะห Services
5. ทำาการโหลด WSDL ใหกบ object ตวถดมา
50
![Page 51: บทที่ 1krunapon/courses/seniorProjects/... · Web viewบทนำ ความเป นมาและความสำค ญของโครงการ โปรแกรมเว](https://reader033.vdocuments.pub/reader033/viewer/2022041623/5e4054a5aeaf3e32ea667d0e/html5/thumbnails/51.jpg)
รปท 6.5 แสดงการคลกเลอก Object เพอทจะโหลด Services ตวถดมา
6. โหลด WSDL ใหกบ object ทชอ Service 1
รปท 6.6 แสดงโหลด WSDL ใหกบ object ทชอ Service 17.วเคราะห WSDL ทโหลดมาของ Service 1
51
![Page 52: บทที่ 1krunapon/courses/seniorProjects/... · Web viewบทนำ ความเป นมาและความสำค ญของโครงการ โปรแกรมเว](https://reader033.vdocuments.pub/reader033/viewer/2022041623/5e4054a5aeaf3e32ea667d0e/html5/thumbnails/52.jpg)
รปท 6.7 แสดงวเคราะห WSDL ทโหลดมาของ Service 18. ทำาการเชอมอนพท ของ Service 1 เขากบ Service 0 ในรปท 6.8 จะเหนวา เราเช อม ผลล พธของ Service 0 ใหเป น input ของ Service 1 ทตวแปร y สวนในรปท 6.9 จะเปนการใหผใชใสคาเองทอนพทตวแปร x
รปท 6.8 แสดงการเชอม Service โดยเอา ผลลพธจาก Service กอนหนา
52
![Page 53: บทที่ 1krunapon/courses/seniorProjects/... · Web viewบทนำ ความเป นมาและความสำค ญของโครงการ โปรแกรมเว](https://reader033.vdocuments.pub/reader033/viewer/2022041623/5e4054a5aeaf3e32ea667d0e/html5/thumbnails/53.jpg)
รปท 6.9 แสดงการเชอม Service โดยผใชใสคาเอง
9.ผลของการเชอมตอ Service 0 และ Service 1 แสดงในรปท 6.10
รปท 6.10 แสดงผลของการเชอม
10. โหลด WSDL ใหกบ Service 2 โดยใชเซอรวสอนทตางจากเซอรวสกอนหนานนนกคอ
53
![Page 54: บทที่ 1krunapon/courses/seniorProjects/... · Web viewบทนำ ความเป นมาและความสำค ญของโครงการ โปรแกรมเว](https://reader033.vdocuments.pub/reader033/viewer/2022041623/5e4054a5aeaf3e32ea667d0e/html5/thumbnails/54.jpg)
http://localhost:8080/axis/services/CalculatorService?wsdl
รปท 6.11 แสดงการโหลด WSDL ใหกบ Service 2
11. เนองจาก จากเซอรวส ทโหลดมา ม Operation อย 2 ตวใหเลอก เราสามารถเลอก Operation ทตองการได ดงรปท 6.12 ในทนเลอก Operation sub
54
![Page 55: บทที่ 1krunapon/courses/seniorProjects/... · Web viewบทนำ ความเป นมาและความสำค ญของโครงการ โปรแกรมเว](https://reader033.vdocuments.pub/reader033/viewer/2022041623/5e4054a5aeaf3e32ea667d0e/html5/thumbnails/55.jpg)
รปท 6.12 แสดงการเลอก Operation
12.ทำาการเชอมเซอรวส ดงในรปท 6.13 ผลลพธจาก service 1 จะเปนอนพท ของ service 2 สวนอนพท อก ตวผใชจะปอนคาเอง คอ 1
รปท 6.13 แสดงการเชอมของ service 2
55
![Page 56: บทที่ 1krunapon/courses/seniorProjects/... · Web viewบทนำ ความเป นมาและความสำค ญของโครงการ โปรแกรมเว](https://reader033.vdocuments.pub/reader033/viewer/2022041623/5e4054a5aeaf3e32ea667d0e/html5/thumbnails/56.jpg)
13. เมอทำาการเชอมเซอรวสทตองการครบแลว เมอผใชตองการจะใหโปรแกรมทำาการเรยกใชงานเซอรวส ทงหมด จะไปทำาการกำาหนดอนพท เร มตนทจดเร มตน (Start) คอ ไปคลก ปมจดเร มตน ใน component แลวมาคลก ใน Visual Editor เพอ กำาหนดคา ดงในรปท 6.14 เมอกดปม OK จะทำาการเรยกเซอรวส และ แสดงผลลพธออกมาดงรปท 6.15
รปท 6.14 การกำาหนดคาใหกบจด Start เมอจะทำาการเรยกใชงานเซอรวส
56
![Page 57: บทที่ 1krunapon/courses/seniorProjects/... · Web viewบทนำ ความเป นมาและความสำค ญของโครงการ โปรแกรมเว](https://reader033.vdocuments.pub/reader033/viewer/2022041623/5e4054a5aeaf3e32ea667d0e/html5/thumbnails/57.jpg)
รปท 6.15 ผลลพธของการเรยกใชงาน Services ทไดออกแบบ
6.2 ก�รทดสอบกบเวบเซอรวสทมขอมลชนดซบซอน (Complex Type)1. ออกแบบเซอรวสโดยนำา object มาวางลงใน Visual Editor
57
![Page 58: บทที่ 1krunapon/courses/seniorProjects/... · Web viewบทนำ ความเป นมาและความสำค ญของโครงการ โปรแกรมเว](https://reader033.vdocuments.pub/reader033/viewer/2022041623/5e4054a5aeaf3e32ea667d0e/html5/thumbnails/58.jpg)
รปท 6.16 ออกและแบบวาง object2. หาทอยเอกสาร WSDL ของเวบเซอรวสทมชนดขอมลแบบสลบซบซ อ น (Complex Type) ใ น ท น ค อ http://localhost:8080/axis/HotelServices.jws?wsdl ซ ง เป น เซอรวสของโรงแรมทมใหบรการการเชคหองพก สงจอง ตรวจสอบราคาของหองพก
58
![Page 59: บทที่ 1krunapon/courses/seniorProjects/... · Web viewบทนำ ความเป นมาและความสำค ญของโครงการ โปรแกรมเว](https://reader033.vdocuments.pub/reader033/viewer/2022041623/5e4054a5aeaf3e32ea667d0e/html5/thumbnails/59.jpg)
รปท 6.17 WSDL ทเปน Complex Type
3. โหลด WSDL ให object โดย คลกท object Service ดงร ปท 6.18 จากนน จะมหนาจอขนมาใหผใสคาทอยของ WSDL เซอรวส ในทนค อ http://localhost:8080/axis/HotelServices.jws?wsdl เมอกด Load จะเปนการตรวจสอบดวยวา เวบเซอรวสนมอยจรงหรอไม ถ าม จร งจ ะ โหลดส ำา เร จและข นข อม ลของ WSDL ด งร ปท 6.19 ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
59
![Page 60: บทที่ 1krunapon/courses/seniorProjects/... · Web viewบทนำ ความเป นมาและความสำค ญของโครงการ โปรแกรมเว](https://reader033.vdocuments.pub/reader033/viewer/2022041623/5e4054a5aeaf3e32ea667d0e/html5/thumbnails/60.jpg)
............ รป ร ปท 6.18 โหลด WSDL ให object โดย คลกท object Service
60
![Page 61: บทที่ 1krunapon/courses/seniorProjects/... · Web viewบทนำ ความเป นมาและความสำค ญของโครงการ โปรแกรมเว](https://reader033.vdocuments.pub/reader033/viewer/2022041623/5e4054a5aeaf3e32ea667d0e/html5/thumbnails/61.jpg)
รปท 6.19 การโหลด WSDL ให object 4. หลงจากโหลด WSDL แลวจะมผลของการวเคราะหขนมา วาเซอรวสทเราโหลดมานน ม Port Type อะไรบาง ม Operation กตว แลวในแตละ Operation นนมอนพทและเอาทพท อะไร ดงรปท 6.20
รปท 6.20 ผลของการวเคราะห และเลอก Operation5. เมอทำาการวเคราะหเสรจแลว ใหไปคลกท object Start เพมจะใสคา แลวเรยกใชงานเซอรวส ดงรปท 6.21 เมอกด OK จะเปนการสงคาทผใชปอนเขาไปผลลพธทไดจะเปนดงรปท 6.22 คาทใสไปคอ หมายเลขหองของโรงแรมทเราตองการทราบราคา ผลลพธกจะไดราคาคาเชาหอง
61
![Page 62: บทที่ 1krunapon/courses/seniorProjects/... · Web viewบทนำ ความเป นมาและความสำค ญของโครงการ โปรแกรมเว](https://reader033.vdocuments.pub/reader033/viewer/2022041623/5e4054a5aeaf3e32ea667d0e/html5/thumbnails/62.jpg)
รปท 6.21 การใสคาให object Start
รปท 6.22 ผลลพธของการเรยกใชเซอรวส
6.3 สรปผลก�รทดสอบ จากผลการทดสอบพบวา ตวโปรแกรมสามารถเรยกใชงานไดทงเวบเซอรวสทมขอมลชนดไมซบซอน
62
![Page 63: บทที่ 1krunapon/courses/seniorProjects/... · Web viewบทนำ ความเป นมาและความสำค ญของโครงการ โปรแกรมเว](https://reader033.vdocuments.pub/reader033/viewer/2022041623/5e4054a5aeaf3e32ea667d0e/html5/thumbnails/63.jpg)
และ เวบเซอรวสชนดทมขอมลซบซอนได ยงพบวาโปรแกรมมขอจำากดตรงท ไมสามารถวเคราะหเวบเซอรวสท ม ขอม ลเป นแบบชน ดสล บซบซอน(Complex Type) ทซอนกนหลายๆชนได ขนตอนการใชงานโดยสรปมดงน
1. ออกแบบเซอรวส โดย วาง object ลงใน Visual Editor 2. ทำาการโหลดและวเคราะหเซอรวส ให3. นำาเซอรวสมาทำาการเชอม4. กำาหนดคาเรมตนเซอรวสทตองการและเรยกใชงานเซอรวส
บทท 7 บทสรปและขอเสนอแนะ7.1 สรปผลก�รดำ�เนนง�น
โปรแกรมเวบเซอรวสเรยกงาย คอโปรแกรมทจะชวยผใชในการเรยก ใชงานเวบเซอรวสไดสะดวกขน โดยทผใชสามารถกำาหนดคณสมบตตางๆ
ทตวเวบเซอรวสมมาให ก ำาหนดการเช อมตอกบเซอรวสอน แลวยงสามารถเกบเซอรวสทไดปรบแตงแลวไวใชงานในภายหลงหรอเรยกใชงาน
เซอรวสอนทมอยแลว โดยทไมจ ำาเปนตองโหลดและวเคราะหเวบเซอรวส ใ ห ม ซ ง ห ล ก ก า ร ข อ ง ก า ร เ ข ย น โ ป ร แ ก ร ม แ บ บ ว ช ว ล (Visual
Programming) ทำาใหผใชไมจำาเปนตองมความรดานการเขยนโปรแกรม กสามารถใชโปรแกรมได หรอแมแตโปรแกรมเมอรเอง กจะไดรบความ
สะดวกสบายดวยเพราะไมจ ำาเปนตองเขยนโปรแกรมขนมาตรวจสอบวเคราะหหรอเรยกใชงานเซอรวสกสามารถทำาการตรวจสอบคณสมบตหรอความถกตองของขอมลและความถกตองของเวบเซอรวสไดซงทำาใหการ
พฒนาหรอเรยกใชเปนไปไดอยางรวดเรวแลวสะดวกสบายมากยงขน (การพฒนาโครงการนจะประสบผลสำาเรจหากมการนำาไปใชงานไดจรงและตว
63
![Page 64: บทที่ 1krunapon/courses/seniorProjects/... · Web viewบทนำ ความเป นมาและความสำค ญของโครงการ โปรแกรมเว](https://reader033.vdocuments.pub/reader033/viewer/2022041623/5e4054a5aeaf3e32ea667d0e/html5/thumbnails/64.jpg)
โปรแกรมสามารถทำางานไดตามคณสมบตทไดออกแบบไวแลวในขางตน ซงในขณะนกำาลงนำาไปทดลองใชงาน)7.2 ปญห�และแนวท�งแกไข
1. เวบเซอรวสเปนเทคโนโลยใหม คมอในการพฒนาหรออปกรณยงไมแพรหลายทำาใหการศกษาคนควาหาความรยงไมเพยงพอกบความตองการทจำาเปนตองใชในการพฒนาโปรแกรม การแกไข เมอไมเขาใจหรอสงสยจะสอบถามผรหรอคนควาเพมเตมในเวบไซต
2. การพฒนาโปรแกรมแบบวชวล (Visual Programming) นนเปนการออกแบหรอพฒนาเพอใหผใชสามารถใชงานโปรแกรมไดงาย ซงตองอาศยประสบการณและความรเพอทจะออกแบบใหผใชสามารถใชงานไดงาย ซงผพฒนาเองยงมประสบการณนอยและความรยงไมเพยงพอทำาใหการพฒนาหรอออกแบบทำาใหยงใชงานไมงายเทาทควร
การแกไข เมอจะทำาการออกแบบโปรแกรมแบบวชวล (Visual Programming) จะสอบถามผใชวาโปรแกรมแบบไหนทชอบ และใชงานไดงายรวมไปถงการศกษาหาความรเพอออกแบบโปรแกรมใหสามารถใชงานไดงาย
3.ก า ร พ ฒ น า เ พ อ ใ ห ส า ม า ร ถ ท ำา ก า ร เ ร ย ก ข อ ม ล ท ซ บ ซ อ น (Complex Type) นนทำาไดยากเนองจากเครองมอหรอ อปกรณทใชในการพฒนายงไมสามารถสนบสนนการใชขอมลทซบซอน (Complex Type) มากนกซงทำาใหการพฒนาเปนไปดวยความยากลำาบาก ทำาใหการพฒนาเพอรองรบขอมลทซบซอน (Complex Type) รวมไปถงการแสดงผลเปนไปดวยความยากลำาบาก
การแกไข การแกปญหาขอมลทซบซอน (Complex Type) จะทำาการสรางเมทรอดหรอคลาสทเปนคลาสกลางเพอเรยกใชขอมลทซบซอน7.4 ขอเสนอแนะ
โปรแกรม เวบเซอรวสเรยกงายเปนโปรแกรมทจดท ำาขนเพอให สามารถเรยกใชงานเวบเซอรวสไดงาย ซงผลงานทไดท ำาในปการศกษา 2547 นน ผลงานทออกมาโปรแกรมสามารถทำางานไดในระดบหนง แตกยงไมเปนทพอใจของผพฒนามากนก จงอยากจะใหมการพฒนาตอในสวน
64
![Page 65: บทที่ 1krunapon/courses/seniorProjects/... · Web viewบทนำ ความเป นมาและความสำค ญของโครงการ โปรแกรมเว](https://reader033.vdocuments.pub/reader033/viewer/2022041623/5e4054a5aeaf3e32ea667d0e/html5/thumbnails/65.jpg)
ทจะทำาใหโปรแกรมสามารถใชงานไดงายมากยงขนผพฒนาจงขอเสนอใหพฒนาในสวนทควรพฒนาตอเพอใหโปรแกรมสมบรณดงน
1. สามารถเรยกเซอรวสหลายๆเซอรวสไดพรอมกน2. สามารถบอกผลในการเรยกแตหละเซอรวสได3. ตรวจสอบแตละเซอรวสวาผลทออกมาสามารถใชดวยกนได4. สามารถเพมลบเซอรวสททำาการเชอมตอไดไมจำากด5. สามารถเชอมเซอรวสไดหลายๆเซอรวสโดยไมจำาเปนตองเปนแบบ
เสนตรงโดยสามารถเชอมเปนแบบ tree ได ผพฒนาหวงวาโปรแกรมเวบเซอรวสเรยกงายจะเปนประโยชนและเปนแนวทางในการพฒนาเวบเซอรวสรวมไปถงพฒนาตวเรยกเวบเซอรวสได
ภ�คผนวก คมอก�รใชง�น
ก�รเรยกใชง�น
65
![Page 66: บทที่ 1krunapon/courses/seniorProjects/... · Web viewบทนำ ความเป นมาและความสำค ญของโครงการ โปรแกรมเว](https://reader033.vdocuments.pub/reader033/viewer/2022041623/5e4054a5aeaf3e32ea667d0e/html5/thumbnails/66.jpg)
1.สามารถเรยกใชงานโดย คลกไฟลตวโปรแกรมทชอ EasyCallWebServices.jar ซงเปนไฟลทสามารถเรยกใชงานไดในตวเหมอน .EXE เพยงแคม JVM (java visual machine) ในเครอง
รปท ผ.1 แสดงการเรยกใชโปรแกรม
2.เมอเรยกใชงานแลวจะขนหนาจอหลกของการใชงานโปรแกรมดงรป ก.2
รปท ผ.2 หนาตาของโปรแกรม
66
![Page 67: บทที่ 1krunapon/courses/seniorProjects/... · Web viewบทนำ ความเป นมาและความสำค ญของโครงการ โปรแกรมเว](https://reader033.vdocuments.pub/reader033/viewer/2022041623/5e4054a5aeaf3e32ea667d0e/html5/thumbnails/67.jpg)
3.คลกเลอก object แลวนำามาวาง สวนประกอบอยางนอยตองม 3 สวน คอ
- Services component- Start component- End component
รปท ผ.3 แสดงการวาง object
4.ทำาการเชอม object
รปท ผ.4 แสดงการเชอม object
67
![Page 68: บทที่ 1krunapon/courses/seniorProjects/... · Web viewบทนำ ความเป นมาและความสำค ญของโครงการ โปรแกรมเว](https://reader033.vdocuments.pub/reader033/viewer/2022041623/5e4054a5aeaf3e32ea667d0e/html5/thumbnails/68.jpg)
5.โหลด WSDL ใหกบ object
รปท ผ.5 ผลของการโหลด WSDL
6.กำาหนดคาของการเชอมเซอรวส (ถามหลายเซอรวส)
รปท ผ.6 แสดงการเชอม input และ output
68
![Page 69: บทที่ 1krunapon/courses/seniorProjects/... · Web viewบทนำ ความเป นมาและความสำค ญของโครงการ โปรแกรมเว](https://reader033.vdocuments.pub/reader033/viewer/2022041623/5e4054a5aeaf3e32ea667d0e/html5/thumbnails/69.jpg)
รปท ผ.7 แสดงผลของการเชอม
7.กำาหนดขอมลทรบเขามา
รปท ผ.8 แสดงการใสคาเพอจะทำาการเรยก
เซอรวส
69
![Page 70: บทที่ 1krunapon/courses/seniorProjects/... · Web viewบทนำ ความเป นมาและความสำค ญของโครงการ โปรแกรมเว](https://reader033.vdocuments.pub/reader033/viewer/2022041623/5e4054a5aeaf3e32ea667d0e/html5/thumbnails/70.jpg)
8.เรยกเซอรวสทไดออกแบบไวกจะไดผลลพธตามทตองการ
รปท ผ.9 แสดงผลลพธของการเรยกเซอรวสทไดออกแบบ
70
![Page 71: บทที่ 1krunapon/courses/seniorProjects/... · Web viewบทนำ ความเป นมาและความสำค ญของโครงการ โปรแกรมเว](https://reader033.vdocuments.pub/reader033/viewer/2022041623/5e4054a5aeaf3e32ea667d0e/html5/thumbnails/71.jpg)
บรรณ�นกรม
1. Prof. Dr. Frank Leymann. WSFL. Distinguished Engineer Member IBM Academy of Technology IBM Software Group
2. Kanda Runapongsa. http://gear.kku.ac.th/~krunapon/178375/ . WSDL. Dept. of Computer Engineering Khon Kaen University
3. Mitch Glodstein, 2001. HardcoreJFC . SIGS BOOK US.
4. Ramesh Nagappan , Robert Skoczylas, and Rima Patel Sriganesh ,2003. Developing Java Web Services. WILEY. UK
5. www.wsiam.com การวเคราะห Web Services โดย Engine ของ WSIAM
6. www.ibm.com WSFL7. http://java.sun.com J2EE, J2SDK, java Tutorial 8. www.apache.org jakarta tomcat
71