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

วิศวกรรมคอมพิวเตอร์ – คณะ ...krunapon/courses/seniorProjects/... · Web viewบทนำ ความเป นมาและความสำค

  • Upload
    others

  • View
    2

  • Download
    0

Embed Size (px)

Citation preview

Page 1: วิศวกรรมคอมพิวเตอร์ – คณะ ...krunapon/courses/seniorProjects/... · Web viewบทนำ ความเป นมาและความสำค

บทท 1 บทนำ�

1.1 คว�มเปนม�และคว�มสำ�คญของโครงก�ร

โปรแกรมเวบเซอรวสเรยกงาย เปนโครงการทชวยสรางระบบพนฐานทสามารถเออใหผพฒนาสรางโปรแกรมดงกลาวไดงายขน โดยอาศยเทคนคดานการเขยนโปรแกรมแบบวชวล (Visual Programming) เพอลดเวลาและความซบซอนของการพฒนาไป นอกจากนเทคนคแบบโปรแกรมวชวล (Visual Programming) ยงเออใหผพฒนาสามารถตรวจสอบคณสมบตและสถานะตางๆ ของระบบไดงาย และดวยเทคโนโลยของเวบเซอรวส (Web Services) ทำาใหผพฒนาสามารถใชงานผานเวบบราวเซอร (Web Browser) ไดอกดวย ซงทำาใหผใชเรยกใชเวบเซอรวส (Web Services) ไดงายโดยไมจำาเปนจะตองรจก และเขาใจเวบเซอรวส (Web services)

1.2 วตถประสงคโครงการนมวตถประสงคเพอทำาใหเวบเซอรวส (Web services)

งายตอการเรยกใชและเพอตรวจสอบความถกตองของเวบเซอรวส (Web services) ซงจะทำาใหสามารถลดตนทนในการทำาธรกจหรอทำาใหเกดความสะดวกสบายในการเรยกใชบรการอนๆ

1.3 ขอบเขตของโครงก�ร1.พฒนาโปรแกรมใหสามารถเรยกใชเวบเซอรวส (Web services)

ไดทกแพลตฟอรม (platform) รวมไปถง ชนดของขอมลทสลบซบซอน (Complex type) ดวย 2.พฒนาโปรแกรมใหสามารถใชงานงายและเหมาะสมกบทกๆ เวบเซอรวส (Web services) และ ความตองการของผใช

1

Page 2: วิศวกรรมคอมพิวเตอร์ – คณะ ...krunapon/courses/seniorProjects/... · Web viewบทนำ ความเป นมาและความสำค

3.พฒนาโปรแกรมทสามารถบนทกเวบเซอรวส (Web services) ทผใชทำาการเรยกหรอสรางขนมาใหมเพอใหสามารถเรยกใชไดโดยงาย 4.พฒนาโปรแกรมใหสามารถเรยกใชการบรการ (Services) ไดดวยตวโปรแกรมเอง

1.4 แผนก�รดำ�เนนง�น

โครงการนมระยะเวลาในการดำาเนนงานตงแตเดอน มถนายน พ.ศ. 2547 ถงเดอน กมภาพนธ พ.ศ. 2548 โดยมขนตอนการดำาเนนงานดงน 1.ศกษาและวเคราะห Tool ตางๆทใชในโปรแกรม (AXIS, JWSDL, WSFL, WSDL)

2.ออกแบบโปรแกรมใหสามารถใชงานงายและสมบรณ 3.เรมเขยนโปรแกรม 4.ทดสอบและแกไขขอผดพลาดของโปรแกรม 5.ทำารายงานและสรปผลโครงการและคมอการใช

แผนการดำาเนนงาน ม.ย.2547

ก.ค.2547

ส.ค.2547

ก.ย.2547

ต.ค.2547

พ.ย.2547

ธ.ค.2547

ม.ค.2548

ก.พ.2548

ศกษาหาความรทเกยวของออกแบบโปรแกรม

2

Page 3: วิศวกรรมคอมพิวเตอร์ – คณะ ...krunapon/courses/seniorProjects/... · Web viewบทนำ ความเป นมาและความสำค

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

1.5 ผลทค�ดว�จะไดรบ

1. ทำาให เวบเซอรวส ( Web services ) เปนทรจกและใชกนอยางแพรหลายมากขน

2. ทำาใหมความสะดวกสบายตอผใช เวบเซอรวส (Web services) ไมวาผใช จะรจกและเขาใจ เวบเซอรวส (Web services) หรอไม .

.

.บทท 2

ทฤษฎพนฐ�น

2.1 Web Services เวบเซอรวส (Web services) คอ application หรอ program ททำางานอยางใดอยางหนง ในลกษณะใหบรการ โดยจะถกเรยกใชงานจาก application อนๆ ซงการใหบรการจะมเอกสารทอธบายคณสมบตของบรการกำากบไว โดยภาษาทถกใชเปนสอในการแลกเปลยนคอ XML ทำาใหเราสามารถเรยกใช component ใด ๆ กได ใน platform ใด ๆ กได บน protocol HTTP ซงเปน protocol สำาหรบ World Wide Web อนเปนชองทางทไดรบการยอมรบทวโลกในการตดตอสอสารกนระหวาง application กบ application ในปจจบน

3

Page 4: วิศวกรรมคอมพิวเตอร์ – คณะ ...krunapon/courses/seniorProjects/... · Web viewบทนำ ความเป นมาและความสำค

เวบเซอรวส (Web services) ชวยใหการเขาถงขอมลสารสนเทศจากแอพพลเคชนทตางกนเปนไปโดยงาย โดยแอพพลเคชนนนๆ สามารถเขยนดวย Java และรนอยบน Sun Solaris Application Server หรออาจจะเขยนดวย C++ และรนอยบน Windows NT หรออาจะเขยนดวย Perl และรนอยบนเครอง Linux ซงมาตรฐานของ เวบเซอรวส (Web services) ทำาใหอนเทอรเฟซของแอพพลเคชนเหลาน ถกอธบายโดย WSDL และทำาใหอยในมาตรฐานของ UDDI หลงจากนน จงสามารถตดตอสอสารถงกนโดย XML ผาน SOAP อนเตอรเฟส

เวบเซอรวส (Web services) สามารถถกเรยกใชภายในองคกรเองหรอจากภายนอกองคกร โดยผานไฟรวอล (Firewall) ดงนนจงมองคกรใหญๆ มากมาย กำาลงพฒนาระบบทมอยของตน ใหเขากบ เวบเซอรวส (Web services) ซงนบเปนการลงทนทคมคา เนองจาก เวบเซอรวส (Web services) สามารถเพมศกยภาพในการทำางานขององคกร อกทงลดคาใชจายในการจดการทรพยากรขององคกรไดอกทางหนง

นอกจากนน เวบเซอรวส (Web services) ยงสามารถใชรวมกบ เวบแอพพลเคชน (Web Application) โดยสงผานขอมลทางอนเตอรเนตไดอกดวยซงนบเปนวธทมประสทธภาพในการตดตอสอสารกบลกคาหรอหนสวน ถงแมจะตองคำานงถงระบบรกษาความปลอดภย และการจดการรายการของขอมลอยกตาม แต เวบเซอรวส (Web services) ไดใชมาตรฐานทวไปของอนเตอรเนต (Internet) เรองดงกลาวจงนบเปนเรองธรรมดาของการสอสารผานระบบอเลกทรอนกส

2.2 WSDL WSDL (Web Services Description Language)

เปนภาษาทใชอธบายคณลกษณะการใชบรการของ เวบเซอรวส (Web

4

Page 5: วิศวกรรมคอมพิวเตอร์ – คณะ ...krunapon/courses/seniorProjects/... · Web viewบทนำ ความเป นมาและความสำค

services) และวธการตดตอกบ เวบเซอรวส (Web service) ความตองการของนยามนเกยวเนองกบความตองการของระบบกระจายขอมล (distributed system) ทจะกำาหนด Interface Definition Language (IDL) โดยใชภาษา XML, WSDL เกดจากการรวมแนวคดของ NASSL (The Network Accessible Service 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 คอ มาตรฐานสำาหรบการประกาศ process ทจำาเปนในการเรยกใชเซอรวส SOAP (Simple Object Access Protocol)โครงสร�งเอกส�ร WSDL WSDL เปนภาษาทอยในความดแลขององคกร W3C (World Wide Web Consortium) version ทมอยในปจจบน คอ WSDL 1.1 ในการใชงานจรง หากเราสราง เวบเซอรวส (Web services) กจะมเครองมอชวยสรางเอกสาร WSDL สำาหรบ เวบเซอรวส (Web services) อยางอตโนมต จดภายในเอกสารทเราควรรเกยวกบการตดตอและเรยกใชบรการของ เวบเซอรวส (Web services) มจดทควรร ดงนElement Definition<portTy

pe>เปนสวนทสำาคญทสดใน WSDL element อธบาย operations ท web service มใหบรการและ messages ทเกยวของ เทยบไดกบ function library หรอ module หรอ class ในการเขยนโปรแกรม

5

Page 6: วิศวกรรมคอมพิวเตอร์ – คณะ ...krunapon/courses/seniorProjects/... · Web viewบทนำ ความเป นมาและความสำค

<operation>

อธบาย method ทใหบรการ เวบเซอรวส (Web services) หนงจะม method จำานวนก method กได

<message>

อธบาย data elements ของ operation แตละ message อาจมมากกวาหนงสวนเทยบไดกบ parameter ของ function ในการเขยนโปรแกรม

<types>

อธบายชนดขอมลท web service ใช เพอความเปนกลาง WSDL ใช XML Schema syntax ในการระบชนดขอมล

<binding>

อธบาย format ของ message และ protocol details ในแตละ port

<service>

สำาหรบ web server จะม เวบเซอรวส (Web services) จำานวนกบรการกได และ ชอ เวบเซอรวส (Web services) กเปนตวจำาแนกและบงบอกแตละบรการซงหามมชอซำากน

ตามทฤษฎแลว ไฟลเอกสาร 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" />

6

Page 7: วิศวกรรมคอมพิวเตอร์ – คณะ ...krunapon/courses/seniorProjects/... · Web viewบทนำ ความเป นมาและความสำค

  <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>  </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>

7

Page 8: วิศวกรรมคอมพิวเตอร์ – คณะ ...krunapon/courses/seniorProjects/... · Web viewบทนำ ความเป นมาและความสำค

  </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">  <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)

8

Page 9: วิศวกรรมคอมพิวเตอร์ – คณะ ...krunapon/courses/seniorProjects/... · Web viewบทนำ ความเป นมาและความสำค

4. Input และ Output ของแตละเซอรวส 5. Source Services คอ เซอรวสเรมตนทมการเรยกใช

6. ความสามารถในการเชอมโยงของแตละ Services (Data Link) ตองพจารณาชนดของ Data ทจะเชอมโยงกน

7. รปแบบการ Flow วาจะมการเรยกใชงาน Service ไหนกอนหลง (Control link)

8. เงอนไขในการ Flow วาจะเรยกใชแตละ Service เมอ เงอนไขเปนจรง (Transition Condition)9. เมอสรางรปแบบ Flow เสรจแลวจะใช Service ไหนในการ นยาม WSDL ของ FlowModel นน และสงออก (export) ในรปโครงสรางการทำางานของ WSFL จะเหนไดดงรปท 2.1

รปท 2.1 โครงสรางของ WSFL

Syntax Definition จากโครงสราง เราจะไดรปแบบของ tag ตางๆ ดงน

Element Attribut คำาอธบาย

9

Page 10: วิศวกรรมคอมพิวเตอร์ – คณะ ...krunapon/courses/seniorProjects/... · Web viewบทนำ ความเป นมาและความสำค

e FlowModel

name เปน root ของเอกสารทอธบายถงรปแบบการ ทำางาน ของ Flow Services

Element Attribut

eคำาอธบาย

FlowSource

name อธบาย Services เรมตนทมการเรยกใชงาน

Element Attribut

eคำาอธบาย

ServiceProvider

name อธบายถง Services ทมการเรยกใช FlowModel

Element Attribute

คำาอธบาย

PortType

name อธบายถง PortType ของเซอรวสทเรยกใชเนองจากแตละเซอรวสอาจจะม PortType มากกวา 1 PortType ดงนนจงตองระบ PortType ทจะใชงานจรงดวย

Locator Type อธบายถงชนดของตำาแหนงของเซอรวส ซงจะมคาเปน static คอตำาแหนงของเซอรวสทมตำาแหนงไมแนนอนไมเปลยนแปลง หรอ Dynamics คอตำาแหนงของเซอรวสทมตำาแหนงไมแนนอนเปลยนแปลงได

Service ตำาแหนงของเซอรวส หรอ WSDL files

Element Attribute

คำาอธบาย

Export PortType

อธบายถงการจะ publish WSDL เปนเซอรวสทจะใช PortType อะไรซงโดยทวไปจะใช

10

Page 11: วิศวกรรมคอมพิวเตอร์ – คณะ ...krunapon/courses/seniorProjects/... · Web viewบทนำ ความเป นมาและความสำค

PortType เดยวกนกบ PortType ของ FlowSource หรอเซอรวสเรมตนของ WSDL files

operation

อธบายถงการจะ publish WSDL เปนเซอรวสจะใช operation อะไรซงโดยทวไปจะใช operation เดยวกนกบ operation ของ FlowSource หรอเซอรวสเรมตนของ WSDL

Message

Name อธบายถงการจะ publish WSDL เปนเซอรวสจะใช Message อะไรซงโดยทวไปจะใช Message เดยวกนกบ Message Input ของ FlowSource หรอ เซอรวส เรมตน WSDL

Host Name อธบายถงการจะ publish WSDL เปนเซอรวสจะใหเซอรวสนนอยทตำาแหนง หรอให WSDL file ของ WSDL อยท URL ใด

Element Attribute

คำาอธบาย

Activity Name อธบายถง operation ทใชเรยกเซอรวสใน

11

Page 12: วิศวกรรมคอมพิวเตอร์ – คณะ ...krunapon/courses/seniorProjects/... · Web viewบทนำ ความเป นมาและความสำค

แตละ PortType ทเลอกเนองจากในแตละ PortType ของเซอรวสตางๆ อาจจะม 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

Page 13: วิศวกรรมคอมพิวเตอร์ – คณะ ...krunapon/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: วิศวกรรมคอมพิวเตอร์ – คณะ ...krunapon/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 มความยดหยนพอทจะสามารถประยกตเพอทจะทำาการขยาย หรอปรบปรงใหเหมาะสมในอนาคต

14

Page 15: วิศวกรรมคอมพิวเตอร์ – คณะ ...krunapon/courses/seniorProjects/... · Web viewบทนำ ความเป นมาและความสำค

4. ในการพฒนาดาน programming ใช ภาษา java ในการพฒนา และใชเทคโนโลย DOM ( Document Object Model ) ซงจะม API (Application Programming Interface) ในการเรยกใชงานซงทำาใหมความสะดวกและยดหยนในการขยายระบบตอไป ซงเหมาะกบการพฒนาโครงการน

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

รปท 2.2 ตวอยาง WSFL

15

Page 16: วิศวกรรมคอมพิวเตอร์ – คณะ ...krunapon/courses/seniorProjects/... · Web viewบทนำ ความเป นมาและความสำค

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

16

Page 17: วิศวกรรมคอมพิวเตอร์ – คณะ ...krunapon/courses/seniorProjects/... · Web viewบทนำ ความเป นมาและความสำค

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

17

Page 18: วิศวกรรมคอมพิวเตอร์ – คณะ ...krunapon/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: วิศวกรรมคอมพิวเตอร์ – คณะ ...krunapon/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: วิศวกรรมคอมพิวเตอร์ – คณะ ...krunapon/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. ไมสามารถใชกบเวบเซอรวส ( Web Services ) ทมชนดขอมลท

สลบซบซอน

20

Page 21: วิศวกรรมคอมพิวเตอร์ – คณะ ...krunapon/courses/seniorProjects/... · Web viewบทนำ ความเป นมาและความสำค

( Complex Type ) ได3. ไมสามารถเรยกการบรการ ( Call Services ) ไดดวยตวเอง

(คอเมอโปรแกรมเสรจแลว จะไมสามารถเรยกใชงานเซอรวสไดโดยตรงตองสรางคลาสและใชเครองมอตวอนเรยกอกท (GLUE) )

4. ไมสามารถทำาตามความสามารถของโปรแกรม HOOK ไดจรง

3.1.4 ขอแตกต�งระหว�ง HOOK และ โปรแกรมเวบเซอรวสเรยกง�ย

HOOK โปรแกรมเวบเซอรวสเรยกงาย

สนบสนน GLUE อยางเดยว สนบสนนทกแพลตฟอรม (Platform)

ไมสามารถใชกบเวบเซอรวส ( Web Services ) ทมชนดขอมลทสลบซบซอน ( Complex Type ) ได

สามารถใชกบเวบเซอรวส ( Web Services ) ทมชนดขอมลทสลบซบซอน ( Complex Type ) ได

ไมสามารถเรยกการบรการ ( Call Services ) ไดดวยตวเอง

สามารถเรยกเซอรวสไดโดยตรง

ไมสามารถทำาตามความสามารถของโปรแกรม HOOK ไดจรง

สามารถทำางานตามคณสมบตทออกแบบไวได

3.2 ก�รวเคร�ะหเวบเซอรวส ของ WWW.WSIAM.COM

งานทไดศกษาอกอยางคอ การโหลดและวเคราะห WSDL ผาน engine ของ www.wsiam.com

21

Page 22: วิศวกรรมคอมพิวเตอร์ – คณะ ...krunapon/courses/seniorProjects/... · Web viewบทนำ ความเป นมาและความสำค

ขนตอนในก�รโหลดและวเคร�ะห WSDL ของ WWW.WSIAM.COM

ในสวนของ www.wsiam.com นน เมอเรยกใช เซอรวส (Services) ผาน Engine ของ www.wsiam.com แลว จะวเคราะห WSDL ออกมาและแสดง การใหบรการ(Operation) ทมอย ใหทำาการเรยกใช ดงรปท 3.2

รปท 3.2 แสดง Services ทวเคราะหผาน Engine ของ

www.wsiam.com

เมอทำาการเรยกใช การใหบรการ(Operation) ทมใน เซอรวส(Services) จะแสดงชองใหใสขอมลทตองการ ดงรปท 3.3 เพอนำาไปประมวลใหไดผลลพธ ชองทใหใสคาจะบอกแค ชนดของขอมลทใส ไมไดบอกวาขอมลนนคออะไร ทำาใหเขาใจไดยาก ตองทำาการศกษามากอนจงจะเขาใจ

22

Page 23: วิศวกรรมคอมพิวเตอร์ – คณะ ...krunapon/courses/seniorProjects/... · Web viewบทนำ ความเป นมาและความสำค

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

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

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

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

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

ซงโปรแกรมเวบเซอรวสเรยกงาย (Easy Call Web Services) สามารถแกไขขอบกพรองดงกลาวขางตนได

23

Page 24: วิศวกรรมคอมพิวเตอร์ – คณะ ...krunapon/courses/seniorProjects/... · Web viewบทนำ ความเป นมาและความสำค

บทท 4

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

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

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

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

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

24

Page 25: วิศวกรรมคอมพิวเตอร์ – คณะ ...krunapon/courses/seniorProjects/... · Web viewบทนำ ความเป นมาและความสำค

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

รปท 4.1 แสดงสวนประกอบทงหมดของโปรแกรมเวบเซอรวสเรยกงาย

เมนและแถบเครองมอเมน จะมคำาสงทใชในโปรแกรมทงหมด ดรปท 4.2 ประกอบ

1 File ม การสราง Project, เปด Project, ปด Project , และ Load WSDL2 Edit มคำาสงแก ในสวน Visual Editor 3 Build มคำาสงเกยวกบการสรางโปรแกรม และฟงกชน4 Help ขอความชวยเหลอในการใชงาน

25

Page 26: วิศวกรรมคอมพิวเตอร์ – คณะ ...krunapon/courses/seniorProjects/... · Web viewบทนำ ความเป นมาและความสำค

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

เมนในสวนของเมน และแถบเครองมอเพอเพมความสะดวก จะทำาใหมคยลด (Hot key) ใหผใชงานใชไดสะดวกยงขน

รปท 4.2 แสดงสวนของเมน และแถบเครองมอ

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

Editor โดยจะเชอม เซอรวส (Services) ตางๆ และจะกำาหนดคณสมบต เงอนไขของการทำางานของ เซอรวส (Services) ทนำามาทำางานรวมกน เซอรวส (Services) ทจะนำามาเชอมกนนจะตองเรมดวย สวนของจดเรม (Component Start) และจบดวย สวนของจดจบ (Component Stop) เพอทเราจะไดทราบวาจดเรมตนของ เซอรวส (Services) ทเรานำามาเชอมอยทใด และไปสนสดทตรงไหน ทำาใหในการเขยนโปรแกรมเพอตรวจสอบขบวนการภายในทำาไดงายไมสบสน ทำาใหการสรางฟงกชนของเซอรวส (Services) ททำาการเชอมและวเคราะห แลวทงหมดสะดวกขน

สวนประกอบ(Components) ทใชมดงน ดรปท 4.3 ประกอบ 1 Start มเพอบอกจดเรมตนของ เซอรวส (Services) ทเราจะนำาเชอม 2 Stop มเพอบอกจดสนสดของ เซอรวส (Services) ทเราจะนำาเชอม 3 Flow มเพอทจะเชอม เซอรวส (Services) , เงอนไข (Condition) , เชอมกบจดเรม (Start)

26

Page 27: วิศวกรรมคอมพิวเตอร์ – คณะ ...krunapon/courses/seniorProjects/... · Web viewบทนำ ความเป นมาและความสำค

และจดจบ(Stop) 4 Services Flow ทำาหนาทเชอมเหมอน Flow แตจะเปนเฉพาะกรณ

ท เซอรวส (Services) เชอม กบ เซอรวส (Services) เทานน เพอเปนการแยกความแตกตางระหวาง การเชอมแบบปรกต และการเชอมแบบ เซอรวส (Services) ในอนาคตอาจจะยบไปรวมกบ Flow ได ถาสามารถแยกการเชอมไดวาเปนการเชอมแบบไหน

5 Pointer มเพอทจะเปนตวเลอกเหมอนสวตซ เปดปดไฟ วาจะใชงาน Component ตวไหน 6 Condition เปนการกำาหนดเงอนไขแบบปรกต 7 Loop Condition เปนสวนทกำาหนดเงอนไขแบบวนลป (Loop) 8 Summary Condition เปนเงอนไขทจะรวม เซอรวส (Services)

1 2 3 4

5 6 7 8รปท 4.3 แสดงสวนของ Flow Components

สวนประกอบทเกบเซอรวส (Service Components)เปนสวนทเกบ เซอรวส (Services) ททำาการโหลดมาและวเคราะห

แลวทำาการบนทก (Save) เกบในรปแบบของโครงสรางของ XML และรปแบบในการเกบเซอรวส (Services) จะใชแบบตนไม (Tree) แทนการเกบแบบ List เพราะ แตละ เซอรวส (Services) อาจจะม หลาย Operation ทำาใหเวลาใชงานอาจทำาใหสบสนได Tree ทำาใหเราเกบไดเปนระเบยบแยกแตละ Operation ใน Services ไดชดเจน และเมอ

27

Page 28: วิศวกรรมคอมพิวเตอร์ – คณะ ...krunapon/courses/seniorProjects/... · Web viewบทนำ ความเป นมาและความสำค

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

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

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

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

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

28

Page 29: วิศวกรรมคอมพิวเตอร์ – คณะ ...krunapon/courses/seniorProjects/... · Web viewบทนำ ความเป นมาและความสำค

รปท 4.4 แสดงสวนของ Service Components

คำ�อธบ�ยคณลกษณะ(Description)เปนสวนทอธบาย ความสามารถของ เซอรวส (Services) วาให

บรการเกยวกบอะไร รวมถงคำาจำากดความสนๆ ของ เซอรวส (Services) นนๆ รวมถงขอมลอนพท (input) และขอมลเอาพท (output) วาเปนขอมลชนดอะไร อธบายขอมลเทาทจะหาไดจากผทใหบรการ

ออกแบบใหมสวนนเพอทจะชวยใหผใชเขาใจ เซอรวส (Services) ทใหบรการวาเปนบรการอะไร จะไดสงขอมลเพอทจะรบบรการไดถกตอง อยางในรปท 4.5 เปนการอธบาย เซอรวส (Services) ทชอ Spell Checker ทม URL คอ http://wsdl.wsdlfeeds.com/spell.cfc?wsdl

ตวโปรแกรมจะทำาการแสดงคำาอธบาย เมอเราคลกเลอก เซอรวส (Services) ทเกบไวใน สวนประกอบทเกบเซอรวส (Services Components)

รปท 4.5 แสดงสวนของ Description

29

Page 30: วิศวกรรมคอมพิวเตอร์ – คณะ ...krunapon/courses/seniorProjects/... · Web viewบทนำ ความเป นมาและความสำค

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

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

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

30

Page 31: วิศวกรรมคอมพิวเตอร์ – คณะ ...krunapon/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: วิศวกรรมคอมพิวเตอร์ – คณะ ...krunapon/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: วิศวกรรมคอมพิวเตอร์ – คณะ ...krunapon/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: วิศวกรรมคอมพิวเตอร์ – คณะ ...krunapon/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: วิศวกรรมคอมพิวเตอร์ – คณะ ...krunapon/courses/seniorProjects/... · Web viewบทนำ ความเป นมาและความสำค

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

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

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

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

35

Page 36: วิศวกรรมคอมพิวเตอร์ – คณะ ...krunapon/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 จะทำางานโดยการไปเรยกใชงาน (Invoke) Services ยอยอนๆ ภายในระบบ ในกรณทเซอรวสยอยเหลานนตองการอนพต Hook Service กสามารถบอกเซอรวสยอยเหลานนไดวาสามารถไปเอาอนพตไดจากทไหน

ผลลพธทเกดจากการประมวลผลของเซอรวสยอยเหลาน ไมไดถกสงกลบมายงต ว Easy Call Web Services แตเซอรวสยอยจะเก บผลลพธการประมวลผลไวทตวเอง (ททเซอรวส locate อย ซงไมจำาเปน

36

Page 37: วิศวกรรมคอมพิวเตอร์ – คณะ ...krunapon/courses/seniorProjects/... · Web viewบทนำ ความเป นมาและความสำค

ตองอยทเดยวกบเคร องทรนโปรแกรมอย ) เมอเซอรวสยอยประมวลผลเสรจกจะสง response กลบมายง Easy Call Web Services พรอมทงตำาแหนงของผลลพธ หลงจากนน Easy Call Web Services กจะไป เรยกเวบเซอรวสอนๆ ตามลำาดบและเงอนไขทกำาหนด พรอมทงบอกเซอรวสยอยนนวาสามารถไปเอาอนพต (ทจะเอามาประมวลผลจรง ) ไดจากทไหน ซงจะเหนไดวาการทำางานลกษณะนจะเสมอนกบวาแตละเซอรวสยอยนนไดคยกนเอง

รปท 4.14 แสดงรปแบบการทำางานของระบบ

4.5 สวนประกอบของ class ทจำ�เปน

package ชอ WSDLDocument มอย 7 class ซงแตละ class หนาทแตกตางกนออกไป

-ReadWSDL ทำาหนาทอานและกำาหนด configure ตางๆ ของ WSDL

37

Page 38: วิศวกรรมคอมพิวเตอร์ – คณะ ...krunapon/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 สวนของก�รพฒน�

- ในการทดสอบเรยกใช Service เราไดเขยน class เพอทำาการเรยก service ขนมา เพอทำาการเรยกใช service ดงน

ซงเมอทำาการทดสอบ โดยใช 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: วิศวกรรมคอมพิวเตอร์ – คณะ ...krunapon/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: วิศวกรรมคอมพิวเตอร์ – คณะ ...krunapon/courses/seniorProjects/... · Web viewบทนำ ความเป นมาและความสำค

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

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

40

Page 41: วิศวกรรมคอมพิวเตอร์ – คณะ ...krunapon/courses/seniorProjects/... · Web viewบทนำ ความเป นมาและความสำค

-เนองจากปญหาจากการพฒนาของภาคการเรยนทแลว ทพบวาเมอนำา 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: วิศวกรรมคอมพิวเตอร์ – คณะ ...krunapon/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

42

Page 43: วิศวกรรมคอมพิวเตอร์ – คณะ ...krunapon/courses/seniorProjects/... · Web viewบทนำ ความเป นมาและความสำค

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

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

43

Page 44: วิศวกรรมคอมพิวเตอร์ – คณะ ...krunapon/courses/seniorProjects/... · Web viewบทนำ ความเป นมาและความสำค

- สามารถลากและวาง object โดยไมเกดการกระพรบ- สามารถสราง object ซำาๆกนได- แกปญหาเวลา ลากรปแลวไมใหกระพรบโดยการเลอก พนทในการใช

method updateเฉพาะสวน แลวทำาการ repaint ทบ object เดมทไมตองการ ทำาใหไมเกดการกระพรบ

เขยน GUI ขนมาใหม

รปท 5.5 GUI

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

44

Page 45: วิศวกรรมคอมพิวเตอร์ – คณะ ...krunapon/courses/seniorProjects/... · Web viewบทนำ ความเป นมาและความสำค

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

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

.2547

ก.ค.

2547

ส.ค.2547

ก.ย.2547

ต.ค.2547

พ.ย.2547

ธ.ค.2547

ม.ค.

2548

ก.พ.2548

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

-------

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

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

-------**

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

-------**

-------- สวนทวางแผนไว

45

Page 46: วิศวกรรมคอมพิวเตอร์ – คณะ ...krunapon/courses/seniorProjects/... · Web viewบทนำ ความเป นมาและความสำค

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

.

.

.

.บทท 6

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

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

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

46

Page 47: วิศวกรรมคอมพิวเตอร์ – คณะ ...krunapon/courses/seniorProjects/... · Web viewบทนำ ความเป นมาและความสำค

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

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

47

Page 48: วิศวกรรมคอมพิวเตอร์ – คณะ ...krunapon/courses/seniorProjects/... · Web viewบทนำ ความเป นมาและความสำค

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

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

48

Page 49: วิศวกรรมคอมพิวเตอร์ – คณะ ...krunapon/courses/seniorProjects/... · Web viewบทนำ ความเป นมาและความสำค

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

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

49

Page 50: วิศวกรรมคอมพิวเตอร์ – คณะ ...krunapon/courses/seniorProjects/... · Web viewบทนำ ความเป นมาและความสำค

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

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

50

Page 51: วิศวกรรมคอมพิวเตอร์ – คณะ ...krunapon/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: วิศวกรรมคอมพิวเตอร์ – คณะ ...krunapon/courses/seniorProjects/... · Web viewบทนำ ความเป นมาและความสำค

รปท 6.7 แสดงวเคราะห WSDL ทโหลดมาของ Service 18. ทำาการเชอม input ของ Service 1 เขากบ Service 0 ในรปท 8 จะเหนวา เราเชอม ผลลพธของ Service 0 ใหเปน input ของ Service 1 ทตวแปร y สวนในรปท 9 จะเปนการใหผใชใสคาเองท input ตวแปร x

รปท 6.8 แสดงการเชอม Service โดยเอา ผลลพธจาก Service กอนหนา

52

Page 53: วิศวกรรมคอมพิวเตอร์ – คณะ ...krunapon/courses/seniorProjects/... · Web viewบทนำ ความเป นมาและความสำค

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

9.ผลของการเชอม

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

10. โหลด WSDL ใหกบ Service 2 โดย ใช Services อนทตางจาก Services กอนหนา คอ

53

Page 54: วิศวกรรมคอมพิวเตอร์ – คณะ ...krunapon/courses/seniorProjects/... · Web viewบทนำ ความเป นมาและความสำค

http://localhost:8080/axis/services/CalculatorService?wsdl

รปท 6.11 แสดงการโหลด WSDL ใหกบ Service 2

11. เนองจาก จาก Services ทโหลดมา ม 2 Operation ใหเลอก เราสามารถเลอก Operation ทตองการได ดงรปท 6.12 ในทนเลอก Operation sub

54

Page 55: วิศวกรรมคอมพิวเตอร์ – คณะ ...krunapon/courses/seniorProjects/... · Web viewบทนำ ความเป นมาและความสำค

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

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

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

55

Page 56: วิศวกรรมคอมพิวเตอร์ – คณะ ...krunapon/courses/seniorProjects/... · Web viewบทนำ ความเป นมาและความสำค

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

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

56

Page 57: วิศวกรรมคอมพิวเตอร์ – คณะ ...krunapon/courses/seniorProjects/... · Web viewบทนำ ความเป นมาและความสำค

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

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

57

Page 58: วิศวกรรมคอมพิวเตอร์ – คณะ ...krunapon/courses/seniorProjects/... · Web viewบทนำ ความเป นมาและความสำค

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

58

Page 59: วิศวกรรมคอมพิวเตอร์ – คณะ ...krunapon/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: วิศวกรรมคอมพิวเตอร์ – คณะ ...krunapon/courses/seniorProjects/... · Web viewบทนำ ความเป นมาและความสำค

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

object Service

60

Page 61: วิศวกรรมคอมพิวเตอร์ – คณะ ...krunapon/courses/seniorProjects/... · Web viewบทนำ ความเป นมาและความสำค

รปท 6.19 การโหลด WSDL ให object 4. หลงจากโหลด WSDL แลวจะมผลของการวเคราะหขนมา วาเซอรวสทเราโหลดมานน ม Port Type อะไรบาง ม operation กตว แลวในแตละ operation นนม input และ output อะไร ดงรปท 6.20

รปท 6.20 ผลของการวเคราะห และเลอก operation5. เมอทำาการวเคราะหเสรจแลว ใหไปคลกท object Start เพมจะใสคา แลวเรยกใชงานเซอรวส ดงรปท 6.21 เมอกด OK จะเปนการสงคาทผใชปอนเขาไปผลลพธทไดจะเปนดงรปท 6.22คาทใสไปคอ หมายเลขหองของโรงแรมทเราตองการทราบราคา ผลลพธกจะไดราคาคาเชาหอง

61

Page 62: วิศวกรรมคอมพิวเตอร์ – คณะ ...krunapon/courses/seniorProjects/... · Web viewบทนำ ความเป นมาและความสำค

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

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

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

62

Page 63: วิศวกรรมคอมพิวเตอร์ – คณะ ...krunapon/courses/seniorProjects/... · Web viewบทนำ ความเป นมาและความสำค

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

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

บทท 7ก�รสรปผล

7.1 ก�รสรปผลโครงก�ร โปรแกรมเวบเซอรวสเรยกงาย คอโปรแกรมทจะชวยผใชในการเรยก

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

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

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

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

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

63

Page 64: วิศวกรรมคอมพิวเตอร์ – คณะ ...krunapon/courses/seniorProjects/... · Web viewบทนำ ความเป นมาและความสำค

7.2 ปญห�และอปสรรค1. เวบเซอรวสเปนเทคโนโลยใหม การพฒนาหรออปกรณ คมอ ยง

ไมแพรหลายทำาให การศกษาคนควา หาความรยงไมเพยงพอกบความตองการทจำาเปนตองใชในการพฒนาโปรแกรม

2. การพฒนาโปรแกรมแบบวชวล (Visual Programming) นนเปนการออกแบหรอพฒนาเพอใหผใชสามารถใชงานโปรแกรมไดงาย ซงตองอาศยประสบการณและความรเพอทจะออกแบบใหผใชสามารถใชงานไดงาย ซงผพฒนาเองยงมประสบการณนอยและความรยงไมเพยงพอทำาใหการพฒนาหรอออกแบบทำาใหยงใชงานไมงายเทาทควร

3.การพฒนาเพอใหสามารถทำาการเรยกขอมลทซบซอน (Complex Type) นนทำาไดยากเนองจากเครองมอหรอ อปกรณทใชในการพฒนายงไมสามารถสนบสนนการใชขอมลทซบซอน (Complex Type) มากนกซงทำาใหการพฒนาเปนไปดวยความยากลำาบาก ทำาใหการพฒนาเพอรองรบขอมลทซบซอน (Complex Type) รวมไปถงการแสดงผลเปนไปดวยความยากลำาบาก

7.3 ก�รแกปญห�1.จากการทเวบเซอรวสเปนเทคโนโลยใหมเมอไมเขาใจหรอสงสยจะ

สอบถามผรหรอคนควาเพมเตมในเวบไซต2.เมอจะทำาการออกแบบโปรแกรมแบบวชวล (Visual

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

64

Page 65: วิศวกรรมคอมพิวเตอร์ – คณะ ...krunapon/courses/seniorProjects/... · Web viewบทนำ ความเป นมาและความสำค

3.การแกปญหาขอมลทซบซอน (Complex Type) จะทำาการสรางเมทรอดหรอคลาสทเปนคลาสกลางเพอเรยกใชขอมลทซบซอน

7.4 ขอเสนอแนะเวบเซอรวสเปนเทคโนโลยทเพงเขามาซงการทำางานของเวบเซอรวส

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

บรรณ�นกรม

65

Page 66: วิศวกรรมคอมพิวเตอร์ – คณะ ...krunapon/courses/seniorProjects/... · Web viewบทนำ ความเป นมาและความสำค

1. Prof. Dr. Frank Leymann. WSFL. Distinguished Engineer Member IBM Academy of Technology IBM Software Group2. Kanda Runapongsa ([email protected]).

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

ภ�คผนวก

66

Page 67: วิศวกรรมคอมพิวเตอร์ – คณะ ...krunapon/courses/seniorProjects/... · Web viewบทนำ ความเป นมาและความสำค

คมอก�รใชง�น ก�รเรยกใชง�น

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

รปท A1 แสดงการเรยกใชโปรแกรม

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

รปท A2 หนาตาของโปรแกรม

67

Page 68: วิศวกรรมคอมพิวเตอร์ – คณะ ...krunapon/courses/seniorProjects/... · Web viewบทนำ ความเป นมาและความสำค

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

- Services component- Start component- End component

รปท A3 แสดงการวาง object

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

68

Page 69: วิศวกรรมคอมพิวเตอร์ – คณะ ...krunapon/courses/seniorProjects/... · Web viewบทนำ ความเป นมาและความสำค

รปท A4 แสดงการเชอม object

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

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

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

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

69

Page 70: วิศวกรรมคอมพิวเตอร์ – คณะ ...krunapon/courses/seniorProjects/... · Web viewบทนำ ความเป นมาและความสำค

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

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

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

เซอรวส

70

Page 71: วิศวกรรมคอมพิวเตอร์ – คณะ ...krunapon/courses/seniorProjects/... · Web viewบทนำ ความเป นมาและความสำค

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

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

71