งานนำเสนอกำลังจะดาวน์โหลด โปรดรอ

งานนำเสนอกำลังจะดาวน์โหลด โปรดรอ

Session 5: Case Study Session 5 - 1 Dr. Nipat Jongsawat.

งานนำเสนอที่คล้ายกัน


งานนำเสนอเรื่อง: "Session 5: Case Study Session 5 - 1 Dr. Nipat Jongsawat."— ใบสำเนางานนำเสนอ:

1 Session 5: Case Study Session Dr. Nipat Jongsawat

2 หัวข้อนำเสนอ Session เนื้อหานำเสนอในเชิงปฏิบัติการ โดยแบ่งเป็น 4 หัวข้อดังนี้ –กรณีศึกษาที่ 1 การพัฒนาด้วยจาวา อาร์เอ็มไอ –กรณีศึกษาที่ 2 การพัฒนาแบบเว็บเซอร์วิซในสภาพแวดล้อมเดียว –กรณีศึกษาที่ 3 การเรียกใช้ Service ต่าง platform –กรณีศึกษาที่ 4การใช้ BPEL ในการควบคุมกิจกรรมทางธุรกิจ อ้างอิงเอกสารประกอบการฝึกอบรม Service-Oriented Architectureกรณีศึกษาที่ใช้ในส่วนปฏิบัติการ (Lab Book) ที่มี Dr. Nipat Jongsawat

3 กรณีศึกษาที่ 1 การพัฒนาด้วยจาวา อาร์เอ็มไอ SOA Lab 1 : Java RMI Session Dr. Nipat Jongsawat

4 หัวข้อนำเสนอ รายละเอียดกรณีศึกษา กรณีศึกษาย่อยที่ 1.1 : การใช้งาน RMI กรณีศึกษาย่อยที่ 1.2 : การเพิ่มเติม RMI Service กรณีศึกษาย่อยที่ 1.3 : การเรียกใช้ RMI ข้าม เครื่อง Session Dr. Nipat Jongsawat

5 กรณีศึกษา : ระบบการสั่งสินค้า ลูกค้าทำการป้อนข้อมูลการสั่งสินค้าเข้าระบบ ระบบทำการตรวจสอบ – มีสินค้าเพียงพอ – ลูกค้ามีเครดิตเพียงพอ ระบบทำการคำนวณราคา ตัดจำนวนสินค้า และ ปรับยอดเครดิตของลูกค้า Session Dr. Nipat Jongsawat

6 Session Dr. Nipat Jongsawat

7 กรณีศึกษาย่อยที่ 1.1 : การใช้งาน RMI Session OrderInventory Client “Place Order” “Check Item Availability” “Check Item Cost” “Check-out Stock” Dr. Nipat Jongsawat

8 Session Dr. Nipat Jongsawat

9 สิ่งที่จะต้องทำ ทำความคุ้นเคยกับเครื่องมือ NetBeans Open Project RMI_CASE1 ทำการ Run InventoryServer ทำการ Run OrderServerLab ทำการทดสอบระบบโดยการ Run ClientRMI – ป้อนรหัสลูกค้า (001) – ป้อนรหัสสินค้า (002) – ป้อนจำนวน (5) Session Dr. Nipat Jongsawat

10 กรณีศึกษาย่อยที่ 1.2 : การเพิ่มเติม RMI Service Session OrderInventory Client “Place Order” “Check Item Availability” “Check Item Cost” “Check-out Stock” Customer Credit “Get Customer Status” “Get Customer Credit” “Decrease Customer Credit” Dr. Nipat Jongsawat

11 Session Dr. Nipat Jongsawat

12 การเรียกใช้ Java Method และ RMI CheckAvailabilityResult = InventoryServer.getItemAvailability(catID); try { CheckAvailabilityResult = InventoryServer.getItemAvailability(catID); } catch (Exception ex) { } Session OrderInventory Dr. Nipat Jongsawat

13 การทำงานของ RMI : Service Registering Session Order Inventory Registry Register: “InventoryServer” Skeleton Dr. Nipat Jongsawat

14 การทำงานของ RMI : Service Binding Session Order Inventory Registry Lookup: “InventoryServer” SkeletonStub Dr. Nipat Jongsawat

15 การทำงานของ RMI : Service Invoking Session Order Inventory Registry CheckAvailabilityResult = InventoryServer.getItemAvailability(catID); SkeletonStub Dr. Nipat Jongsawat

16 สิ่งที่จะต้องทำ Open Project RMI_CASE2 – มี Interface สำหรับ CustomerCreditService ทำการ แก้ไข OrderServerLab เพื่อเรียกใช้ CustomerCreditService – เพิ่มรายละเอียดของเครื่องและ port ของ Registry ที่มี CustomerCreditService String CustomerCreditServerAddress = “ ”; Registry CustomerCreditServerRegistry; String CustomerCreditServerPort = “3234 ”; Session Dr. Nipat Jongsawat

17 สิ่งที่จะต้องทำ – ทำการเรียกใช้ Registry เพื่อจัดทำ Proxy ที่ใช้ใน การ Binding กับตัว Service CustomerCreditServerRegistry = LocateRegistry.getRegistry(CustomerCreditServerAddress, (new Integer(CustomerCreditServerPort).intValue()); CustomerCreditServer= (CustomerCreditService)(CustomerCreditServerRegistry.lookup("CustomerServer" )); Session Dr. Nipat Jongsawat

18 สิ่งที่จะต้องทำ – ทำการเรียกใช้ Service try { CheckExistingCustomerResult = CustomerCreditServer.getCustomerStatus(custID); System.out.println("CheckExistingCustomer=“ + CheckExistingCustomerResult ); } catch (Exception ex) { } try { CheckCreditResult = CustomerCreditServer.getCredit(custID); System.out.println("CheckCreditResult = “ + CheckCreditResult); } catch (Exception ex) { } Session Dr. Nipat Jongsawat

19 สิ่งที่จะต้องทำ ทำการ Run InventoryServer ทำการ Run OrderServerLab ทำการทดสอบระบบโดยการ Run ClientRMI – ป้อนรหัสลูกค้า (003) – ป้อนรหัสสินค้า (001) – ป้อนจำนวน (1) Session Dr. Nipat Jongsawat

20 กรณีศึกษาย่อยที่ 1.3 : การเรียกใช้ RMI ข้ามเครื่อง Session OrderInventory Client “Place Order” “Check Item Availability” “Check Item Cost” “Check-out Stock” Bank Customer Credit “Get Customer Status” “Get Customer Credit” “Decrease Customer Credit” Dr. Nipat Jongsawat

21 Session Dr. Nipat Jongsawat

22 สิ่งที่จะต้องทำ Open Project RMI_CASE3 – มี Interface สำหรับ BankCustomerCtrditService ทำการ แก้ไข OrderServerLab เพื่อเรียกใช้ BankCustomerCreditService – เพิ่มรายละเอียดของเครื่องและ port ของ Registry ที่มี BankCustomerCreditService – ทำการเรียกใช้ Registry เพื่อจัดทำ Proxy ที่ใช้ใน การ Binding กับตัว Service – ทำการเรียกใช้ Service Session Dr. Nipat Jongsawat

23 สิ่งที่จะต้องทำ ทำการ Run InventoryServer ทำการ Run OrderServerLab ทำการทดสอบระบบโดยการ Run ClientRMI – ป้อนรหัสลูกค้า (003) – ป้อนรหัสสินค้า (001) – ป้อนจำนวน (1) Session Dr. Nipat Jongsawat

24 บทสรุป หลักการทำงานของ RMI การเพิ่มเติม RMI Service การเรียกใช้ RMI ข้ามเครื่อง Session Dr. Nipat Jongsawat

25 กรณีศึกษาที่ 2 การพัฒนาแบบเว็บเซอร์วิซในสภาพแวดล้อมเดียว SOA Lab 2 : JAX-WS (Homogeneous Env.) Session Dr. Nipat Jongsawat

26 หัวข้อนำเสนอ Creating a Web Service Consuming the Web Service กรณีศึกษาย่อยที่ 2.1 : การใช้งาน JAX-WS กรณีศึกษาย่อยที่ 2.2 : การเพิ่มเติม JAX-WS Service กรณีศึกษาย่อยที่ 2.3 : การเรียกใช้ JAX-WS ข้ามเครื่อง กรณีศึกษาที่ 3 การเรียกใช้ Service ต่าง platform Session Dr. Nipat Jongsawat

27 Creating a Web Service Create a new Web Application Add new Web Service Add Web Service Operation Session Dr. Nipat Jongsawat

28 Coding the to declare a reference to a web service. WebServiceRef uses the wsdlLocation element to specify the URI of the deployed service’s WSDL = "http://localhost:8080/ InventoryManagementSystem/InventoryService?WSDL"); private InventoryService inventoryService; Retrieves a proxy to the service, also known as a port, by invoking Inventory inventoryPort = InventoryService.getInventoryPort(); – The port implements the SEI defined by the service. Invokes the port’s method, passing to the service a name. int CheckAvailableResult = inventoryPort.getItemAvailability(catID); Session Dr. Nipat Jongsawat

29 Consuming the Web Service in Netbeans Create new client application (Web, Servlet, JSP page) New > Web Service Client Servlet: New > Servlet – In Editor Web Service Client Resource > Call Web Service Operation JSP: drag Web service operation -> index.jsp Session Dr. Nipat Jongsawat

30 กรณีศึกษาที่ 2 Session Dr. Nipat Jongsawat

31 กรณีศึกษา 2.1 : ระบบการสั่งสินค้า ลูกค้าทำการป้อนข้อมูลการสั่งสินค้าเข้าระบบ ระบบทำการตรวจสอบ – มีสินค้าเพียงพอ ระบบทำการคำนวณราคา ตัดจำนวนสินค้า Session Dr. Nipat Jongsawat

32 กรณีศึกษาย่อยที่ 2.1 : การใช้งาน JAX-WS Session OrderInventory Client “Place Order” “Check Item Availability” “Check Item Cost” “Check-out Stock” Dr. Nipat Jongsawat

33 Session Dr. Nipat Jongsawat

34 Session Dr. Nipat Jongsawat

35 กรณีศึกษา 2.2 : ระบบการสั่งสินค้า ลูกค้าทำการป้อนข้อมูลการสั่งสินค้าเข้าระบบ ระบบทำการตรวจสอบ – มีสินค้าเพียงพอ – ลูกค้ามีเครดิตเพียงพอ ระบบทำการคำนวณราคา ตัดจำนวนสินค้า และ ปรับยอดเครดิตของลูกค้า Session Dr. Nipat Jongsawat

36 Session Dr. Nipat Jongsawat

37 กรณีศึกษา 2.3 : ระบบการสั่งสินค้า ลูกค้าทำการป้อนข้อมูลการสั่งสินค้าเข้าระบบ ระบบทำการตรวจสอบ – มีสินค้าเพียงพอ – ลูกค้ามีเครดิตกับธนาคารเพียงพอ ระบบทำการคำนวณราคา ตัดจำนวนสินค้า และ เรียกใช้บริการปรับยอดเครดิตลูกค้าของธนาคาร Session Dr. Nipat Jongsawat

38 Session Dr. Nipat Jongsawat

39 กรณีศึกษาที่ 3 การเรียกใช้ Service ต่าง platform Session Dr. Nipat Jongsawat

40 กรณีศึกษาที่ 3 Session Dr. Nipat Jongsawat

41 Session Dr. Nipat Jongsawat

42 . NET Web Service Web Service References = "http://localhost:8080/ InventoryManagementSystem/InventoryService?WSDL"); private org.inventory.InventoryService inventoryService; = "http:// / InventoryManagementSystem/InventoryService.asmx?WSDL"); private org.inventory.InventoryService inventoryService; Port/Endpoint ตัวเดิม org.inventory.Inventory inventoryPort = inventoryService.getInventoryPort(); แทนที่ด้วย org.inventory.InventoryServiceSoap inventoryPort = inventoryService.getInventoryServiceSoap(); Session Dr. Nipat Jongsawat

43 Session Dr. Nipat Jongsawat

44 WebSphere Web Service Web Service References CustomerManagementSystem/CustomerCreditService?WSDL"); private org.customer.CustomerCreditService customerCreditService; = "http:// :9080/CustomerMgtSystem/services/ CustomerMgtSystem/wsdl/CustomerMgtSystem.wsdl"); private org.customer.CustomerMgtSystemService customerCreditService; Session Dr. Nipat Jongsawat

45 WebSphere Web Service Port/Endpoint ตัวเดิม org.customer.CustomerCredit customerPort = customerCreditService.getCustomerCreditPort(); แทนที่ด้วย org.customer.CustomerMgtSystem customerPort = customerCreditService.getCustomerMgtSystem(); Customer Status Return ตัวเดิม if(!customerPort.getCustomerStatus(custID)) แทนที่ด้วย if(!customerPort.getCustomerStatus(custID).equals( “ 1 ” )) Session Dr. Nipat Jongsawat

46 Session Dr. Nipat Jongsawat

47 Index.jsp Port/Endpoint ตัวเดิม org.order.OrderService service = new org.order.OrderService(); org.order.Order port = service.getOrderPort(); แทนที่ด้วย org.order.OrderService service = new org.order.OrderService(); org.order.OrderServiceSoap port = service.getOrderServiceSoap(); Session Dr. Nipat Jongsawat

48 กรณีศึกษาที่ 4 การใช้ BPEL ในการควบคุมกิจกรรมทางธุรกิจ Session Dr. Nipat Jongsawat


ดาวน์โหลด ppt Session 5: Case Study Session 5 - 1 Dr. Nipat Jongsawat.

งานนำเสนอที่คล้ายกัน


Ads by Google