1.49k likes | 1.8k Vues
Web Service Technology (JAVA EE) Using Netbeans. MFEC (Genius Evolution Team) Version 1, Year 2014 By Pornpan P. ระยะเวลาและเนื้อหาในการอบรม. Agenda I. วันที่ 15 มีนาคม 2014 1. ช่วงเช้า Install Program Install JDK 1.6 , Set Environment (JAVA_HOME and Path)
E N D
Web Service Technology (JAVA EE)Using Netbeans MFEC (Genius Evolution Team) Version 1, Year 2014 By Pornpan P.
ระยะเวลาและเนื้อหาในการอบรมระยะเวลาและเนื้อหาในการอบรม
Agenda I วันที่ 15 มีนาคม 2014 1. ช่วงเช้า Install Program • Install JDK 1.6 , Set Environment (JAVA_HOME and Path) • Netbeans IDE, Glassfish Application Server • Configuration Glassfish application server with Netbeans IDE • Install MySQL 5.0, Install SQLFont • SoapUI
Agenda I วันที่ 15 มีนาคม 2014 2. ช่วงเช้า Introduction Web Service • Introduction to Java EE Architecture Overview • Introduction to SOA • Introduction to Web Service (JAX-RPC, JAX-WS, JAX-RS (REST)) • XML Technology • SOAP, WSDL and UDDI
Agenda II วันที่ 15 มีนาคม 2014 2. ช่วงเช้า • Web Service using Top-down Design • Web Service Asynchronous • Web Service Securing (Security) • Lab : Calling External PTT Web Service by soapUI tools • Lab : Create Web Service Project (Hello Web Service) • Lab : Create Servlet Call Web Service Spell Check.
Agenda II วันที่ 15 มีนาคม 2014 1. ช่วงบ่าย • Create Web Service technology in StrutsCrudWeb • service method : getStudentAll • service method : getStudentByID 2. ช่วงบ่าย • Create Struts Project for invoke Web Service provider (SturtsCrudWeb)
Topic 1 Web Service Overview
Topic 1 : Web Base Overview ประเภทของโปรแกรม • Imperative or Structure Programming • C, C++ • PASCAL • OOP (Object-Oriented Programming) • Java, .Net • COP (Component-Object Programming) • CORBA, EJB, DCOM, COM+
Topic 1 : Web Base Overview วิวัฒนาการของ Application การพัฒนา Application มีดังนี้ • Stand Alone Application • Network Application (LAN, MAN, WAN) • Client-Server • Peer-To-Peer • Web-Base Application • Distributed Application
Topic 1 : Web Base Overview Stand Alone Application
Topic 1 : Web Base Overview Network Application (LAN)
Topic 1 : Web Base Overview Network Application (MAN)
Topic 1 : Web Base Overview Network Application (WAN)
Topic 1 : Web Base Overview Web-Base Application
Topic 1 : Web Base Overview Web-Base Application
JAVA EE Modules J2ee Modules เป็นหน่วยของโปรแกรมที่สามารถบรรจุหลาย ๆ components ที่ทำงานหน้าที่คล้าย ๆ กัน หรือทำงานร่วมกัน เพื่อนำไปใช้งานคือ Deploy ได้โดยถือว่าเป็นหนึ่งหน่วย J2EE modules ทุก ๆ modules จะต้องถูกบีบอัดไว้เป็นไฟล์ jar หรือ war ขึ้นอยู่กับประเภทของ module นั้น และต้องมี deployment descriptor เป็นไฟล์ xml สำหรับบอกโครงสร้างของ module นั้นด้วย ตามข้อกำหนดของ j2EE มี modules3 ประเภทคือ
JAVA EE Application 1. Web Modules เป็น modules สำหรับบรรจุไฟล์ของ Servlets, JSP tag, Applets, java classes/jar, html/xml pages หรือไฟล์ resources อื่น ๆ ที่จะถูกอ้างถึงได้ เช่น ไฟล์รูปภาพและเสียง web modules ต้องถูกสร้างเป็น Web Archive file หรือเรียกไฟล์ war ซึ่งไฟล์ต้องมีนามสกุลเป็น .war ในทุก ๆ ไฟล์ war ต้องมีไฟล์ deployment descriptor ชื่อ web.xml 2. EJB Modules เป็น modules สำหรับบรรจุไฟล์ของ ejb และ resources ที่อาจถูกอ้างถึง ejb modules ต้องถูกสร้างเป็นไฟล์ jar ซึ่งไฟล์ต้องมีนามสกุลเป็น .jar ในทุก ๆ ไฟล์ jar ต้องมีไฟล์ deployment descriptor ชื่อ ejb-jar.xml อยู่ในไ ดเรกทอรี META-INF
JAVA EE Application 3.Java Modules เป็น modules สำหรับโปรแกรม java ที่เรียกใช้งาน ejb ดังนั้นจึงเรียกว่า j2eeapplication clients ซึ่งต้องสร้างเป็นไฟล์ jar และมีไฟล์ deployment descriptor ชื่อ application-client.xml Java EE Application (.ear file) application.xml Java module (.jar file) web module (.war file) ejb module (.jar file) application-client.xml web.xml ejb-jar.xml Servlet JSP EJB EJB Java class Java jar
Topic 1 : Web Services Overview Distributed Application
Topic 1 : Web Services Overview Web Application Evolution – EJB • Enterprise JavaBeans เป็น Server Side Component ที่มีไว้สำหรับ Distributed Programming มี 3 อย่างคือ • Multiple Access Client: สามารถ access เข้าใช้งาน EJB ได้หลายช่องทาง เช่น Swing Application, Applet และ Web Application • Transaction Management: จะมี EJB Container ที่เป็นตัวกลางจัดการ Transaction โดยที่ Program ไม่ต้อง manage transaction เอง • Scalability
Topic 1 : Web Services Overview Web Application Evolution – EJB Enterprise JavaBeans ประกอบด้วย 3 ข้อ ดังนี้ • Session Bean เป็น Service Bean เป็น EJB ที่เน้นถึงการกระทำของ Business Logic มี 2 ประเภท คือ • Stateless Session Beans คือไม่มีการเก็บค่า Status ในการติดต่อไว้ • Statefull Session Beans คือ มีการเก็บค่า Status ในการติดต่อไว้เสมอ เพื่อใช้ประโยชน์ในการทำ Transaction • Entity Bean เป็น Persistent ของข้อมูลระหว่าง Application Layer กับ Database Layer หรือเรียกอีกอย่างว่าเป็น EJB ที่เน้นถึงสิ่งที่ต้องการเก็บข้อมูลมีอยู่ 2 ประเภท คือ • CMP (Container Managed Persistent) ซึ่งจะให้ Container เป็นตัวจัดการทำให้แทน
Topic 1 : Web Services Overview Web Application Evolution – EJB Enterprise JavaBeans ประกอบด้วย 3 ข้อ ดังนี้ ดังนั้น หมายความว่าจะใช้ EJB Container ไป Call กับ Database เองเช่น Hibernate, EJB QL, HQL หรืออื่น ๆ ***ไม่มีปัญหาในการเปลี่ยน Database แต่มีปัญหาในการเปลี่ยน Application Server • BMP (Bean Managed Persistent) ซึ่งจะให้ Programmer ทำการเขียนโปรแกรม SQL เองเพื่อติดต่อกับ Database เอง ***ไม่มีปัญหาในการเปลี่ยน Application Server แต่มีปัญหาในการเปลี่ยน Database • Message Driven Beans
EJB + Struts Architecture RMU News Broadcasting with Distributed Programming
Topic 1 : Web Services Overview JAVA EE Standard Services – containers Different containers have different service requirement:
Topic 1 : Web Services Overview ปัญหาที่เกิดขึ้น? จึงต้องมีเทคโนโลยี Web Service
Topic 1 : Web Services Overview Why is SOA + Web Service ?
Topic 1 : Web Services Overview Introduction to SOA จุดเริ่มต้นสถาปัตยกรรมของ SOA เกิดจากแบบจำลอง ที่ประกอบด้วย 3 ส่วนประกอบที่สำคัญ ดังนี้ : • Service Provider หรือผู้ให้บริการ คือ Applications ที่จัดเตรียมบริการไว้ให้ Application อื่นเรียกใช้ • Service Requester หรือผู้ร้องขอบริการคือ Application ที่ขอบริการจาก Application ที่ประกาศ (Publish) บริการไว้ • Service Registry, Service Broker หรือหน่วยสืบค้นบริการคือ ฐานข้อมูลกลางซึ่งรวบรวมบริการต่าง ๆ ที่ผู้ให้บริการประกาศไว้
Topic 1 : Web Services Overview Concept to SOA
Topic 1 : Web Services Overview Introduction to SOA แนวคิดเชิงบริการ (Service-Oriented)คือแบบแผนการออกแบบ และพัฒนาซอฟต์แวร์ที่อยู่บนพื้นฐาน ของ Serviceซึ่งเป็นแนวคิดที่ตอบสนองความต้องการทางธุรกิจในอนาคต โดยทำงานอยู่บนมาตรฐานเปิด ที่ได้รับการยอมรับ แนวคิดดังกล่าวถูกนำมาประยุกต์ใช้ เพื่อสนับสนุนการออกแบบคุณลักษณะของ Service ซึ่งปัจจัยสำคัญที่ใช้สนับสนุน สถาปัตยกรรมเชิงบริการ หรือ Service-Oriented Architecture (SOA)โดยแนวคิดเชิงบริการจะมองเป็นองค์ประกอบต่าง ๆ ของซอฟต์แวร์เป็น Service
Topic 1 : Web Services Overview Introduction to SOA สถาปัตยกรรมซอฟต์แวร์ (SOA) คือ ? • สถาปัตยกรรมซอฟต์แวร์ (Software Architecture) ซึ่งอยู่บนพื้นฐานของแนวคิดเชิงบริการ (Service-Orientation)โดยนิยามถึงวิธีการใช้ Service ที่มีความเป็นอิสระต่อกัน (Loosely Coupled) หรือการเชื่องโยง Service แบบหลวม ๆ ทำให้การปรับเปลี่ยน หรือประกอบ Service ทำได้อย่างอิสระและสามารถทำงานร่วมกันข้ามระบบได้
Topic 1 : Web Services Overview Introduction to SOA • สนับสนุนการนำ Service ที่พัฒนาไว้แล้วกลับมาใช้ใหม่ (Reuse) ทำให้สามารถรองรับความต้องการของผู้ใช้ซอฟต์แวร์ และกระบวนการทางธุรกิจ (Business Process) ซึ่งเกิดจากการทำงานร่วมกันของ Serviceตามลำดับที่ผู้ใช้งานทำการกำหนด Business Process ไว้ตามลำดับ
Topic 1 : Web Services Overview Introduction to SOA • SOA มาจากเทคโนโลยีการประมวลผลแบบกระจาย (Distributed Computing)จุดเด่นของ SOA คือ ไม่ยึดติดกับภาษาที่ใช้ในการพัฒนาโปรแกรม มีความยืดหยุ่นสูง และสามารถทำงานบนระบบปฏิบัติการที่ต่างกันได้ เพราะ SOA ไม่ได้ถูกออกแบบมาเพื่อเทคโนโลยีใดเทคโนโลยีหนึ่ง และไม่ยึดติดกับมาตรฐานใด ๆ กล่าวคือ SOA เป็นเพียงหลักการวิเคราะห์ และออกแบบซอฟต์แวร์ที่สามารถนำมา Implement และสามารถนำเทคโนโลยีของ Web Service มาใช้กับ SOA
Topic 1 : Web Services Overview Introduction to SOA จุดเด่นของ SOA : • Loose Coupling : Service จะรักษาความสัมพันธ์ระหว่างกันไว้ แต่พยายามให้มีความอิสระต่อกันมากที่สุด โดยทราบเพียงบริการที่ต้องการใช้งานเท่านั้น และไม่ขึ้นกับ Service อื่น • Service Contract: Service ต้องมีข้อตกลง สำหรับการติดต่อสื่อสาร โดยเก็บรวบรวมไว้ใน Service Description และเอกสารอื่น ๆ ที่เกี่ยวข้อง
Topic 1 : Web Services Overview Introduction to SOA จุดเด่นของ SOA : • Autonomy : Service จะควบคุม Logic ต่าง ๆ ที่อยู่ภายในได้ด้วยตนเอง • Abstraction : Service จะต้องแยก Logic (หรือส่วนการทำงาน) ต่าง ๆ ออกจากข้อตกลงที่กำหนดไว้ใน Service Contract เพื่อซ่อน Logic จาก Application หรือ Service อื่นที่อยู่ภายนอก • Reusability : Logic ต่าง ๆ ที่อยู่ภายใน Service ต้อง Support การนำกลับมาใช้ใหม่ (Reuse)
Topic 1 : Web Services Overview Introduction to SOA จุดเด่นของ SOA : • Composability : กลุ่มของ Service สามารถทำงานร่วมกันได้ โดยนำมาประกอบกันเพื่อสร้างเป็น Service ใหม่ • Statelessness : ควรลดการเก็บข้อมูลของกิจกรรมหรือสถานะต่าง ๆ ไว้ให้น้อยที่สุด เพื่อลดการเชื่อมโยงกัน (Coupling) ระหว่าง Service • Discoverability : Service จะถูกประกาศสู่ภายนอก และสามารถค้นหาได้ผ่านกลไกการค้นหา (Discovery Mechanism)
Topic 1 : Web Services Overview Introduction to Web Services. • เว็บเซอร์วิส (Web service) คือ ระบบซอฟต์แวร์ที่ออกแบบมา หรือเทคโนโลยีที่พัฒนาเพื่อสนับสนุนการแลกเปลี่ยนข้อมูลกัน ระหว่างเครื่องคอมพิวเตอร์หรือระหว่าง Application toApplication ผ่านระบบเครือข่าย โดยที่ภาษาที่ใช้ในการติดต่อสื่อสารระหว่างเครื่องคอมพิวเตอร์ คือXML (Extensible Markup Language) • ส่วนประกอบหลักของ Web Service ประกอบด้วย Web Service, Service Description และ Message
Topic 1 : Web Services Overview Introduction to Web Services. • กำหนดมาตรฐานโดย Standard Organization โดยไม่ขึ้นกับผู้ผลิตซอฟต์แวร์ใด ๆ แต่สามารถนำไป Implement บน Platform ของผู้ผลิตซอฟต์แวร์ต่าง ๆ แล้วนำมาใช้งานร่วมกันได้ • ข้อตกลงในการติดต่อสื่อสาร ถูกกำหนดโดย Service Description ที่อยู่ในรูปแบบของ WSDL • Message ที่ใช้ในการติดต่อสื่อสารอยู่ในรูปแบบ SOAP • ใช้สถาปัตยกรรม UDDI ในการลงทะเบียน และค้นหา Service Description
Topic 1 : Web Services Overview Concept to SOA + Web Service
Topic 1 : Web Services Overview Introduction to Web Services. องค์ประกอบของ Web Service : • WSDL (Web Service Definition Language) คือคำอธิบายรายละเอียดของบริการ • SOAP (Simple Object Access Protocol) คือ ผู้จัดเตรียมรูปแบบของ Message ที่ใช้ระหว่างผู้ให้บริการ และผู้ร้องขอบริการ • UDDI (Universal Description, Discovery and Integration) คือ ผู้กำหนดรูปแบบมาตรฐานสำหรับการลงทะเบียน Service
Topic 1 : Web Services Overview มาตรฐานการใช้งาน Web Service
Topic 1 : Web Services Overview การใช้งาน Web Service ในองค์กรปัจจุบัน
Topic 2 XML and XML Schema
Topic 2 : XML and XML Schema Introduction to XML Extensible Markup Language : • เป็นแนวคิดพื้นฐานที่สำคัญของ Web Service • เป็นภาษา Markup คือภาษาที่ใช้วิธีการระบุเนื้อหาและจัดรูปแบบด้วย(Text file) ที่มี Tag คล้าย HTML • มีความสามารถในการแสดงผลผ่าน web browser จึงถูกนำมาใช้เป็นสื่อกลางในการแลกเปลี่ยนข้อมูลบนอินเตอร์เน็ต • XML ยังอนุญาตให้ผู้พัฒนากำหนด Tag ได้ตามที่ต้องการ ดังนั้น XML จึงมีความยืดหยุ่น และใช้งานได้หลากหลาย
Topic 2 : XML and XML Schema Introduction to XML จุดเริ่มต้นของภาษา XML: • ภาษา Markup ถูกพัฒนามาอย่างต่อเนื่อง ตัวแรกมีชื่อว่า “Generalized Markup Language (GML)” ถูกคิดค้นโดยบริษัท IBM (ค.ศ. 1960) มีจุดประสงค์ เพื่อใช้แสดงข้อมูลรูปแบบของ (Text) ทำให้มีความสามารถในการแลกเปลี่ยนข้อมูลบน Platform ที่ต่างกัน • ต่อมามีการพัฒนาภาษา Markup ที่มีความซับซ้อนมากขึ้น เรียกว่า “Standard Generalized Markup Language (SGML)” โดย SGMA ทำการรวบรวมมาตรฐานต่าง ๆ ไว้
Topic 2 : XML and XML Schema Introduction to XML จุดเริ่มต้นของภาษา XML: • ปี ค.ศ. 1980 เป็นจุดเริ่มต้นของภาษา “Hyper Text Markup Language (HTML)” โดยภาษานี้มีจุดมุ่ง หมายเพื่อนำไปใช้แสดงผลข้อมูลบนอินเตอร์เน็ต ซึ่งถือเป็นเครื่องมือที่สำคัญที่ทำให้อินเตอร์เน็ตได้รับความนิยมสูงสุดในปัจจุบัน • การสร้างด้วย HTML มีข้อจำกัด คือขาดความยืดหยุ่น มีลักษณะโค้ดที่ซ้ำกัน แก้ไขยาก และไม่สามารถแลกเปลี่ยนข้อมูลที่อยู่ต่าง Platform ได้
Topic 2 : XML and XML Schema Introduction to XML จุดเริ่มต้นของภาษา XML: • การแก้ไขปัญหาของการแลกเปลี่ยนข้อมูลที่อยู่ต่าง Platform ทำให้มีการคิดค้นมาตรฐานใหม่ขึ้นมานั้นคือ Extensible Markup Language (XML) ที่ดึงมาตรฐานต่าง ๆ ที่เกี่ยวข้องกับเว็บของภาษา SGML มาใช้งาน ทำให้เข้าใจได้ง่ายขึ้น โดย XML ถูกนำเสนอในปี ค.ศ. 1996 ภายใต้การดูแลของ W3C(World Wide Web Consortium) XML เป็น Meta Language ที่ใช้ Tag ในการสื่อสารความหมายของข้อมูล สำหรับเอกสาร XML ที่ได้จะมีนามสกุลเป็น .xml
Topic 2 : XML and XML Schema Introduction to XML บทบาทของ XML ในปัจจุบัน: • XML มีบทบาทต่อวงการ IT อย่างมาก ในอนาคต โดยเฉพาะเทคโนโลยี Web Service ที่ถูกสร้างขึ้นเพื่อรองรับการและเปลี่ยนข้อมูลบนระบบเครือข่าย ที่อยู่ต่าง Platform หรืออยู่ใน Platform เดี่ยวกัน • XSL สำหรับนำเอกสาร XML มาแสดงผลลัพธ์บน Browser • XQL ใช้ในการเข้าถึงข้อมูลเหมือนกับภาษา SQL • DTD ใช้สำหรับนิยามเอกสาร XML และ XHTML ซึ่งนำภาษา HTML มาปรับปรุงให้เข้ากับมาตรฐานของ XML
Topic 2 : XML and XML Schema Well-Formed XML Document กฎพื้นฐานในการเขียน XML (Well-Formed): • ไวยากรณ์ คือ กฎเกณฑ์สำคัญที่ใช้สร้างข้อมูล XML • Element ของ XML จะต้องประกอบด้วยTag เริ่มต้นและ Tagสิ้นสุด โดย 2Tag จะมีชื่อเหมือนกัน <INVENTORY>…</INVENTORY> • การกำหนดชื่อ Tag จะคำนึงถึงCase Sensitive • ทุกเอกสาร XMLจะต้องมี Root Element และมีได้เพียงหนึ่ง Root เท่านั้น โดยเป็น Tag ที่อยู่บนสุด ตามหลังส่วนของการประกาศ XML • Element ของ XML ต้องซ้อนกันอย่างเป็นลำดับ เช่น