79
บบบบบ 1 บบบบบ 1.1 บบบบบบบบบบบบบบบบบบบบบบบบบบบบบบบบบ โโโโโโโโโโโโโโโโโโโโโโโโโโโโ โโโโโโโโโโโโโโ โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ โโโโโโโโโโโโโโ โ โโ โ โ โ โ โ โ โโ โ โ โ โ โ โ โ โ โ โ โ โ โโ โ โ (Visual Programming) โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ โโโโโโโ โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ โโโ โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ โโโโโ โโโโโโโโโโโโโโ โโโโโโโโโโโโโโโโโโโ โโโโโโโโโโโโ (Web Services) โโโโโโโโโโโโโโ โโโโโโโโโโโโโโโโโโโโโโโโโโโโโ (Web Browser) โ โ โโ โโ โ โโ โ โ โโโ โ โโ โ โ โโ โโโ โ โโ โ โโ โ โ โ โ โโโโโโโโโโโโ โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ โโโโโโโโโโโโโโโโโโโโโ 1.2 บบบบบบบบบบบบ โ โ โ โ โ โ โ โ โโโ โโ โโ โ โโ โ โ โ โ โ โโ โ โโโ โ โโ โ โ โ โโโโโโโโโโโโ โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ โโโโโโโโโโโโโโโโโโโโโโโโโโโโโ โโโโโโโโโโโโ โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ 1.3 บบบบบบบบบบบบบบบบ 1

บทที่ 1krunapon/courses/seniorProjects/... · Web viewบทนำ ความเป นมาและความสำค ญของโครงการ โปรแกรมเว

  • Upload
    others

  • View
    2

  • Download
    0

Embed Size (px)

Citation preview

Page 1: บทที่ 1krunapon/courses/seniorProjects/... · Web viewบทนำ ความเป นมาและความสำค ญของโครงการ โปรแกรมเว

บทท 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บทนำ ความเป นมาและความสำค ญของโครงการ โปรแกรมเว

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บทนำ ความเป นมาและความสำค ญของโครงการ โปรแกรมเว

แกขอผดพลาดทำารายงานสรปผลโครงการและคมอการใชงาน

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บทนำ ความเป นมาและความสำค ญของโครงการ โปรแกรมเว

ของแอพพลเคชนเหลาน ถกอธบายโดย 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บทนำ ความเป นมาและความสำค ญของโครงการ โปรแกรมเว

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บทนำ ความเป นมาและความสำค ญของโครงการ โปรแกรมเว

> ลาง 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บทนำ ความเป นมาและความสำค ญของโครงการ โปรแกรมเว

  </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บทนำ ความเป นมาและความสำค ญของโครงการ โปรแกรมเว

  <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บทนำ ความเป นมาและความสำค ญของโครงการ โปรแกรมเว

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บทนำ ความเป นมาและความสำค ญของโครงการ โปรแกรมเว

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บทนำ ความเป นมาและความสำค ญของโครงการ โปรแกรมเว

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บทนำ ความเป นมาและความสำค ญของโครงการ โปรแกรมเว

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บทนำ ความเป นมาและความสำค ญของโครงการ โปรแกรมเว

เงอนไขจะม 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บทนำ ความเป นมาและความสำค ญของโครงการ โปรแกรมเว

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บทนำ ความเป นมาและความสำค ญของโครงการ โปรแกรมเว

ตวอยาง WSFL ของ travel agent business ซงประกอบดวย Services airline และ Services traveler ดงรป ท 2.2

รปท 2.2 ตวอยาง WSFL

15

Page 16: บทที่ 1krunapon/courses/seniorProjects/... · Web viewบทนำ ความเป นมาและความสำค ญของโครงการ โปรแกรมเว

รปท 2.2 ตวอยาง WSFL (ตอ)

16

Page 17: บทที่ 1krunapon/courses/seniorProjects/... · Web viewบทนำ ความเป นมาและความสำค ญของโครงการ โปรแกรมเว

รปท 2.2 ตวอยาง WSFL (ตอ)

17

Page 18: บทที่ 1krunapon/courses/seniorProjects/... · Web viewบทนำ ความเป นมาและความสำค ญของโครงการ โปรแกรมเว

บทท 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บทนำ ความเป นมาและความสำค ญของโครงการ โปรแกรมเว

พฒนาจะเรยกวา 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บทนำ ความเป นมาและความสำค ญของโครงการ โปรแกรมเว

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บทนำ ความเป นมาและความสำค ญของโครงการ โปรแกรมเว

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บทนำ ความเป นมาและความสำค ญของโครงการ โปรแกรมเว

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บทนำ ความเป นมาและความสำค ญของโครงการ โปรแกรมเว

คาจะบอกแค ชนดของขอมลทใส ไมไดบอกวาขอมลนนคออะไร ทำาใหเขาใจไดยาก ตองทำาการศกษามากอนจงจะเขาใจ

รปท 3.3 แสดง input ของ Operation ทเรยกผาน Engine ของ wsiam

ขอเสย ของการวเคราะหแบบผาน Engine ของ wsiam น คอ 1 ไมสามารถนำาไปพฒนาตอได ซง ในโปรแกรมเวบเซอรวสเรยกงาย

สามารถนำาไปวเคราะหและเชอมกบ เซอรวสอน ได กำาหนดเงอนไขการทำางานได

2 Input ทใหใสมความยงยาก รายละเอยดในการอธบายนอยเกนไปตอผใชงานทวไปทไมมความรดานโปรแกรม ทำาใหผใชไมสามารถใชเวบเซอรวสไดโดยงาย

3 เมอตองการใชงานใหมจะตองโหลด WSDL และทำาการวเคราะหใหม

ซงโปรแกรมเวบเซอรวสเรยกงาย สามารถแกไขขอบกพรองดงกลาวขางตนได

23

Page 24: บทที่ 1krunapon/courses/seniorProjects/... · Web viewบทนำ ความเป นมาและความสำค ญของโครงการ โปรแกรมเว

บทท 4

ก�รออกแบบและพฒน�โปรแกรมเวบเซอรวสเรยกง�ย

ในบทนจะอธบายถงการออกแบบและพฒนาโปรแกรมเวบเซอรวสเรยกงาย ซงจะมรายละเอยดขนตอนทพฒนา สวนประกอบของโปรแกรมเวบเซอรวสเรยกงาย เหตผลในการออกแบบ และรายละเอยดของสวนประกอบอนๆ

4.1 ขนตอนก�รก�รพฒน�โปรแกรมเวบเซอรวสเรยกง�ย -ศกษาสวนประกอบตางๆทสำาคญและจำาเปนในการทำางานของโปรแกรมเวบเซอรวสเรยกงาย -แยกการทำางานโปรแกรมเวบเซอรวสเรยกงายออกเปนสวนๆเพอใหงายตอการพฒนา -แบงงานใหแตละคนทำาตามทถนด -นำาสวนยอยของโปรแกรมเวบเซอรวสเรยกงายแตละสวนทไดมารวมกน -ทดสอบขอผดพลาดการทำางานของโปรแกรมเวบเซอรวสเรยกงาย

4.2 โครงสร�งและสวนประกอบของโปรแกรมเวบเซอรวสเรยกง�ย ( Graphics User Interface )GUI รวมทงหมดของโปรแกรม

24

Page 25: บทที่ 1krunapon/courses/seniorProjects/... · Web viewบทนำ ความเป นมาและความสำค ญของโครงการ โปรแกรมเว

ไดมการออกแบบหนาตาของโปรแกรมเวบเซอรวสเรยกงาย ใชหลกการของการเขยนโปรแกรมแบบวชวลซงจะทำาใหงายตอการออกแบบ การออกแบบ 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บทนำ ความเป นมาและความสำค ญของโครงการ โปรแกรมเว

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บทนำ ความเป นมาและความสำค ญของโครงการ โปรแกรมเว

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บทนำ ความเป นมาและความสำค ญของโครงการ โปรแกรมเว

ชดเจน และเมอตองการใชงานเฉพาะ บาง Operation กสามารถเรยกใชงานไดเลยโดยไมตองเรยกทงเซอรวส

สวนประกอบทเกบเซอรวส (Service Components) แบงยอยได 2 สวน คอ

1. เซอรวสททำ�ก�รเชอมและกำ�หนดแลวเปนสวนทเราทำาการโหลดเซอรวสอนๆ แลวนำามาทำาการวเคราะห

เชอม Flow กำาหนดคณสมบตและเงอนไขตามทเราตองการแลวทำาการบนทกจดเกบในรปแบบโครงสรางของ XML เมอกลบมาใชงานภายหลง ทำาใหไมตองเสยเวลาทำาการวเคราะห ตรวจสอบและเชอม เซอรวสใหม เราสามารถนำาเซอรวสทเราออกแบบและวเคราะหไวแลวมาเรยกใชงานไดเลย เหมอนกบการทเรานำา เซอรวสอน มาผสมกนโดยการเชอม และกำาหนดเงอนไขทำาใหเกดเปน เซอรวสใหม ขนมาทเกดจากการนำา Operation ของ เซอรวสมารวมกน เวลาเรยกใชงานกจะเรยกเพยงคร งเดยว กจะเหมอนกบการเรยกใชหลายๆ เซอรวส2. เซอรวสทอนๆ ทไมไดทำ�ก�รเชอมตอ

เปนเซอรวสทมผใหบรการอยแลว โดยตวโปรแกรมจะทำาการโหลดและวเคราะหตวใหบรการ และบนทกเกบไวในรปแบบโครงสรางของ XML ทำาใหเราสามารถเรยกใชงานเซอรวสไดเลยโดยทไมตองทำาการวเคราะหใหม ทำาใหการใชงานรวดเรวและสะดวกยงขน อกทงยงนำาไปวเคราะหเชอมเซอรวส ตอไดอกในสวนของเซอรวสททำาการเชอมและกำาหนดแลว

28

Page 29: บทที่ 1krunapon/courses/seniorProjects/... · Web viewบทนำ ความเป นมาและความสำค ญของโครงการ โปรแกรมเว

รปท 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บทนำ ความเป นมาและความสำค ญของโครงการ โปรแกรมเว

ตวแกไขวชวล (Visual Editor)เปนสวนทใชในการออกแบบ โดยการเขยนโปรแกรมแบบวชวล จะ

เปนสวนทใหนำาสวนประกอบ มาวาง และเชอม เซอรวส การดำาเนนการจะทำาใน Visual Editor น เมอออกแบบในสวนนเสรจแลวจะตองสามารถ ทำาการสรางฟงกชน ใหเปนไปตามเงอนไขทวเคราะหและออกแบบได

ในรปท 4.6 แสดงการออกแบบเซอรวสทนำา เซอรวสทมอยแลวมาเชอมกน เร มโดยจดเร มตนและจบดวยจดสนสด ออปเจค (Object) ส เหลองคอ ตวแทนของเซอรวสทเราโหลดมา หรอ นำามาจากทเราไดโหลดและบนทก ไวในสวนของตวทเกบเซอรวสอยกอนแลว การเชอมเงอนไขจะตองสามารถทำาได ออปเจคสฟา คอสวนของเงอนไขทจะเปนตวกำาหนดเงอนไขในการทำา วาจะเลอกไปเชอมและทำางานในสวนของเซอรวสไหนตอ เมอออกแบบและกำาหนดคณสมบตไดครบตามทตองการแลวกจะสรางฟงกชน ขนมา

30

Page 31: บทที่ 1krunapon/courses/seniorProjects/... · Web viewบทนำ ความเป นมาและความสำค ญของโครงการ โปรแกรมเว

รปท 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บทนำ ความเป นมาและความสำค ญของโครงการ โปรแกรมเว

รปท 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บทนำ ความเป นมาและความสำค ญของโครงการ โปรแกรมเว

รปท 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บทนำ ความเป นมาและความสำค ญของโครงการ โปรแกรมเว

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บทนำ ความเป นมาและความสำค ญของโครงการ โปรแกรมเว

System Architecture ของระบบก�รประมวลผลรปท 4.11 แสดงรปแบบการประมวลผล

รปแบบการประมวลผลสามารถแบงได 2 รปแบบ คอก�รประมวลผลแบบต�มลำ�ดบ (Sequential Flow Control)

การประมวลผลลกษณะน คอ การประมวลผลทยดถอเฉพาะลำาดบของการทำางานเทานน ดงตวอยางรปท 4.12

รปท 4.12 การประมวลผลแบบลำาดบ

35

Page 36: บทที่ 1krunapon/courses/seniorProjects/... · Web viewบทนำ ความเป นมาและความสำค ญของโครงการ โปรแกรมเว

ก�รประมวลผลแบบมเงอนไข (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บทนำ ความเป นมาและความสำค ญของโครงการ โปรแกรมเว

เดยวกบเครองทรนโปรแกรมอย ) เมอเซอรวสยอยประมวลผลเสรจกจะสงผลลพธกลบมายง 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บทนำ ความเป นมาและความสำค ญของโครงการ โปรแกรมเว

-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บทนำ ความเป นมาและความสำค ญของโครงการ โปรแกรมเว

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บทนำ ความเป นมาและความสำค ญของโครงการ โปรแกรมเว

รปท 5.1 การเรยกใช class ททำาการ call service

รปท 5.2 แสดงตวอยางของการผลลพธของการ call Services

40

Page 41: บทที่ 1krunapon/courses/seniorProjects/... · Web viewบทนำ ความเป นมาและความสำค ญของโครงการ โปรแกรมเว

เนองจากปญหาจากการพฒนาของภาคการเรยนท 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บทนำ ความเป นมาและความสำค ญของโครงการ โปรแกรมเว

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บทนำ ความเป นมาและความสำค ญของโครงการ โปรแกรมเว

รปท 5.3 แสดงการวางวตถแลวลากไมกระพรบ

รปท 5.4 แสดงการวางวตถ

43

Page 44: บทที่ 1krunapon/courses/seniorProjects/... · Web viewบทนำ ความเป นมาและความสำค ญของโครงการ โปรแกรมเว

รปท 5.5 ซงพฒนา GUI ขนมาใหม

รปท 5.5 GUI

- สามารถยอ หรอขยาย Frame ได- ลดจำานวน Object Components ใหเหลอเฉพาะทจำาเปน

5.2 สรปก�รดำ�เนนง�นต�มแผนง�น

44

Page 45: บทที่ 1krunapon/courses/seniorProjects/... · Web viewบทนำ ความเป นมาและความสำค ญของโครงการ โปรแกรมเว

คว�มก�วหน�ต�มแผนก�รดำ�เนนก�ร แผนการดำาเนนงาน ม.ย

.2547

ก.ค.

2547

ส.ค.2547

ก.ย.2547

ต.ค.2547

พ.ย.2547

ธ.ค.2547

ม.ค.

2548

ก.พ.2548

ศกษาหาความรทเกยวของ

-------******

-------******

-------******

ออกแบบโปรแกรม -------******

-------******

-------******

-------******

-------******

เรมเขยนโปรแกรม -------******

-------******

-------******

-------******

-------******

-------******

ทดสอบโปรแกรมและแกขอผดพลาด

-------

-------******

-------******

-------**

ทำารายงานสรปผลโครงการและคมอการใชงาน

-------**

-------- สวนทวางแผนไว ******* สวนทไดดำาเนนการจรง

45

Page 46: บทที่ 1krunapon/courses/seniorProjects/... · Web viewบทนำ ความเป นมาและความสำค ญของโครงการ โปรแกรมเว

.

.

.

.บทท 6

ก�รทดสอบและใชง�นโปแกรม

6.1 ก�รทดสอบกบเวบเซอรวสทมขอมลชนดไมซบซอน (Simple Type)นำาสวนประกอบมารวมกนแลวทำาการทดสอบการใชงาน ขนตอนการทำางานมดงน

1. ออกแบบใน Visual Editor วาเราตองการจะใชเซอรวสกตวโดย ไปคลกเลอกจากสวนของ component แลวนำามาวาง ดงรปท 6.1 และกำาหนดจดเรมตนและจดสนสด ของเซอรวส ทออกแบบ

46

Page 47: บทที่ 1krunapon/courses/seniorProjects/... · Web viewบทนำ ความเป นมาและความสำค ญของโครงการ โปรแกรมเว

รปท 6.1 แสดงการเอา component มาวางเพอออกแบบ

2. คลกเลอก Service component เพอทจะทำาการโหลด WSDL ใหกบ object (Service 0)วธการคอ คลกท ในสวนของ component กอน แลว มาคลก object ใน Visual Editor ดงรปท 6.2

47

Page 48: บทที่ 1krunapon/courses/seniorProjects/... · Web viewบทนำ ความเป นมาและความสำค ญของโครงการ โปรแกรมเว

รปท 6.2 แสดงการคลกเลอก เพอทจะทำาการโหลด WSDL

3.จากนนจะมหนาจอขนมาใหเราใสทอยของเอกสาร WSDL ของเซอรวส ทเราตองการจะทำาการโหลดเมอทำาการโหลดเอกสาร WSDL จะเปนการตรวจสอบไปดวยวามเซอรวส นนอยจรงหรอไม เอกสารWSDL ท โ ห ล ด ค อ http://localhost:8080/axis/topza/EasyPlus.jws?wsdl ซ งเปนเซอรวสทสามารถเรยกเพอใชในการบวกเลขได

48

Page 49: บทที่ 1krunapon/courses/seniorProjects/... · Web viewบทนำ ความเป นมาและความสำค ญของโครงการ โปรแกรมเว

รปท 6.3 แสดงการโหลด WSDL

4. เมอโหลดเอกสาร WSDL เสรจแลว จะโปรแกรมจะทำาการวเคราะหใหวาเซอรวสทโหลดมานน ม Port Type เปนอะไร มก Operation และ Operation มอนพท เปนอะไร ขอมลทรบเขาเปนชนดไหน ดงรปท 6.4 สำาหรบเซอรวสแรกทเชอมกบจดเร มตน จะรบขอมลมาจากจดเรมตนทผใชจะกำาหนดเมอตองการจะทำาการเรยกใชงานเซอรวสทงหมดทออกแบบ

49

Page 50: บทที่ 1krunapon/courses/seniorProjects/... · Web viewบทนำ ความเป นมาและความสำค ญของโครงการ โปรแกรมเว

รปท 6.4 แสดงการวเคราะห Services

5. ทำาการโหลด WSDL ใหกบ object ตวถดมา

50

Page 51: บทที่ 1krunapon/courses/seniorProjects/... · Web viewบทนำ ความเป นมาและความสำค ญของโครงการ โปรแกรมเว

รปท 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บทนำ ความเป นมาและความสำค ญของโครงการ โปรแกรมเว

รปท 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บทนำ ความเป นมาและความสำค ญของโครงการ โปรแกรมเว

รปท 6.9 แสดงการเชอม Service โดยผใชใสคาเอง

9.ผลของการเชอมตอ Service 0 และ Service 1 แสดงในรปท 6.10

รปท 6.10 แสดงผลของการเชอม

10. โหลด WSDL ใหกบ Service 2 โดยใชเซอรวสอนทตางจากเซอรวสกอนหนานนนกคอ

53

Page 54: บทที่ 1krunapon/courses/seniorProjects/... · Web viewบทนำ ความเป นมาและความสำค ญของโครงการ โปรแกรมเว

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บทนำ ความเป นมาและความสำค ญของโครงการ โปรแกรมเว

รปท 6.12 แสดงการเลอก Operation

12.ทำาการเชอมเซอรวส ดงในรปท 6.13 ผลลพธจาก service 1 จะเปนอนพท ของ service 2 สวนอนพท อก ตวผใชจะปอนคาเอง คอ 1

รปท 6.13 แสดงการเชอมของ service 2

55

Page 56: บทที่ 1krunapon/courses/seniorProjects/... · Web viewบทนำ ความเป นมาและความสำค ญของโครงการ โปรแกรมเว

13. เมอทำาการเชอมเซอรวสทตองการครบแลว เมอผใชตองการจะใหโปรแกรมทำาการเรยกใชงานเซอรวส ทงหมด จะไปทำาการกำาหนดอนพท เร มตนทจดเร มตน (Start) คอ ไปคลก ปมจดเร มตน ใน component แลวมาคลก ใน Visual Editor เพอ กำาหนดคา ดงในรปท 6.14 เมอกดปม OK จะทำาการเรยกเซอรวส และ แสดงผลลพธออกมาดงรปท 6.15

รปท 6.14 การกำาหนดคาใหกบจด Start เมอจะทำาการเรยกใชงานเซอรวส

56

Page 57: บทที่ 1krunapon/courses/seniorProjects/... · Web viewบทนำ ความเป นมาและความสำค ญของโครงการ โปรแกรมเว

รปท 6.15 ผลลพธของการเรยกใชงาน Services ทไดออกแบบ

6.2 ก�รทดสอบกบเวบเซอรวสทมขอมลชนดซบซอน (Complex Type)1. ออกแบบเซอรวสโดยนำา object มาวางลงใน Visual Editor

57

Page 58: บทที่ 1krunapon/courses/seniorProjects/... · Web viewบทนำ ความเป นมาและความสำค ญของโครงการ โปรแกรมเว

รปท 6.16 ออกและแบบวาง object2. หาทอยเอกสาร WSDL ของเวบเซอรวสทมชนดขอมลแบบสลบซบซ อ น (Complex Type) ใ น ท น ค อ http://localhost:8080/axis/HotelServices.jws?wsdl ซ ง เป น เซอรวสของโรงแรมทมใหบรการการเชคหองพก สงจอง ตรวจสอบราคาของหองพก

58

Page 59: บทที่ 1krunapon/courses/seniorProjects/... · Web viewบทนำ ความเป นมาและความสำค ญของโครงการ โปรแกรมเว

รปท 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บทนำ ความเป นมาและความสำค ญของโครงการ โปรแกรมเว

............ รป ร ปท 6.18 โหลด WSDL ให object โดย คลกท object Service

60

Page 61: บทที่ 1krunapon/courses/seniorProjects/... · Web viewบทนำ ความเป นมาและความสำค ญของโครงการ โปรแกรมเว

รปท 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บทนำ ความเป นมาและความสำค ญของโครงการ โปรแกรมเว

รปท 6.21 การใสคาให object Start

รปท 6.22 ผลลพธของการเรยกใชเซอรวส

6.3 สรปผลก�รทดสอบ จากผลการทดสอบพบวา ตวโปรแกรมสามารถเรยกใชงานไดทงเวบเซอรวสทมขอมลชนดไมซบซอน

62

Page 63: บทที่ 1krunapon/courses/seniorProjects/... · Web viewบทนำ ความเป นมาและความสำค ญของโครงการ โปรแกรมเว

และ เวบเซอรวสชนดทมขอมลซบซอนได ยงพบวาโปรแกรมมขอจำากดตรงท ไมสามารถวเคราะหเวบเซอรวสท ม ขอม ลเป นแบบชน ดสล บซบซอน(Complex Type) ทซอนกนหลายๆชนได ขนตอนการใชงานโดยสรปมดงน

1. ออกแบบเซอรวส โดย วาง object ลงใน Visual Editor 2. ทำาการโหลดและวเคราะหเซอรวส ให3. นำาเซอรวสมาทำาการเชอม4. กำาหนดคาเรมตนเซอรวสทตองการและเรยกใชงานเซอรวส

บทท 7 บทสรปและขอเสนอแนะ7.1 สรปผลก�รดำ�เนนง�น

โปรแกรมเวบเซอรวสเรยกงาย คอโปรแกรมทจะชวยผใชในการเรยก ใชงานเวบเซอรวสไดสะดวกขน โดยทผใชสามารถกำาหนดคณสมบตตางๆ

ทตวเวบเซอรวสมมาให ก ำาหนดการเช อมตอกบเซอรวสอน แลวยงสามารถเกบเซอรวสทไดปรบแตงแลวไวใชงานในภายหลงหรอเรยกใชงาน

เซอรวสอนทมอยแลว โดยทไมจ ำาเปนตองโหลดและวเคราะหเวบเซอรวส ใ ห ม ซ ง ห ล ก ก า ร ข อ ง ก า ร เ ข ย น โ ป ร แ ก ร ม แ บ บ ว ช ว ล (Visual

Programming) ทำาใหผใชไมจำาเปนตองมความรดานการเขยนโปรแกรม กสามารถใชโปรแกรมได หรอแมแตโปรแกรมเมอรเอง กจะไดรบความ

สะดวกสบายดวยเพราะไมจ ำาเปนตองเขยนโปรแกรมขนมาตรวจสอบวเคราะหหรอเรยกใชงานเซอรวสกสามารถทำาการตรวจสอบคณสมบตหรอความถกตองของขอมลและความถกตองของเวบเซอรวสไดซงทำาใหการ

พฒนาหรอเรยกใชเปนไปไดอยางรวดเรวแลวสะดวกสบายมากยงขน (การพฒนาโครงการนจะประสบผลสำาเรจหากมการนำาไปใชงานไดจรงและตว

63

Page 64: บทที่ 1krunapon/courses/seniorProjects/... · Web viewบทนำ ความเป นมาและความสำค ญของโครงการ โปรแกรมเว

โปรแกรมสามารถทำางานไดตามคณสมบตทไดออกแบบไวแลวในขางตน ซงในขณะนกำาลงนำาไปทดลองใชงาน)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บทนำ ความเป นมาและความสำค ญของโครงการ โปรแกรมเว

ทจะทำาใหโปรแกรมสามารถใชงานไดงายมากยงขนผพฒนาจงขอเสนอใหพฒนาในสวนทควรพฒนาตอเพอใหโปรแกรมสมบรณดงน

1. สามารถเรยกเซอรวสหลายๆเซอรวสไดพรอมกน2. สามารถบอกผลในการเรยกแตหละเซอรวสได3. ตรวจสอบแตละเซอรวสวาผลทออกมาสามารถใชดวยกนได4. สามารถเพมลบเซอรวสททำาการเชอมตอไดไมจำากด5. สามารถเชอมเซอรวสไดหลายๆเซอรวสโดยไมจำาเปนตองเปนแบบ

เสนตรงโดยสามารถเชอมเปนแบบ tree ได ผพฒนาหวงวาโปรแกรมเวบเซอรวสเรยกงายจะเปนประโยชนและเปนแนวทางในการพฒนาเวบเซอรวสรวมไปถงพฒนาตวเรยกเวบเซอรวสได

ภ�คผนวก คมอก�รใชง�น

ก�รเรยกใชง�น

65

Page 66: บทที่ 1krunapon/courses/seniorProjects/... · Web viewบทนำ ความเป นมาและความสำค ญของโครงการ โปรแกรมเว

1.สามารถเรยกใชงานโดย คลกไฟลตวโปรแกรมทชอ EasyCallWebServices.jar ซงเปนไฟลทสามารถเรยกใชงานไดในตวเหมอน .EXE เพยงแคม JVM (java visual machine) ในเครอง

รปท ผ.1 แสดงการเรยกใชโปรแกรม

2.เมอเรยกใชงานแลวจะขนหนาจอหลกของการใชงานโปรแกรมดงรป ก.2

รปท ผ.2 หนาตาของโปรแกรม

66

Page 67: บทที่ 1krunapon/courses/seniorProjects/... · Web viewบทนำ ความเป นมาและความสำค ญของโครงการ โปรแกรมเว

3.คลกเลอก object แลวนำามาวาง สวนประกอบอยางนอยตองม 3 สวน คอ

- Services component- Start component- End component

รปท ผ.3 แสดงการวาง object

4.ทำาการเชอม object

รปท ผ.4 แสดงการเชอม object

67

Page 68: บทที่ 1krunapon/courses/seniorProjects/... · Web viewบทนำ ความเป นมาและความสำค ญของโครงการ โปรแกรมเว

5.โหลด WSDL ใหกบ object

รปท ผ.5 ผลของการโหลด WSDL

6.กำาหนดคาของการเชอมเซอรวส (ถามหลายเซอรวส)

รปท ผ.6 แสดงการเชอม input และ output

68

Page 69: บทที่ 1krunapon/courses/seniorProjects/... · Web viewบทนำ ความเป นมาและความสำค ญของโครงการ โปรแกรมเว

รปท ผ.7 แสดงผลของการเชอม

7.กำาหนดขอมลทรบเขามา

รปท ผ.8 แสดงการใสคาเพอจะทำาการเรยก

เซอรวส

69

Page 70: บทที่ 1krunapon/courses/seniorProjects/... · Web viewบทนำ ความเป นมาและความสำค ญของโครงการ โปรแกรมเว

8.เรยกเซอรวสทไดออกแบบไวกจะไดผลลพธตามทตองการ

รปท ผ.9 แสดงผลลพธของการเรยกเซอรวสทไดออกแบบ

70

Page 71: บทที่ 1krunapon/courses/seniorProjects/... · Web viewบทนำ ความเป นมาและความสำค ญของโครงการ โปรแกรมเว

บรรณ�นกรม

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