Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (1.95 MB, 49 trang )
<span class="text_page_counter">Trang 1</span><div class="page_container" data-page="1">
<b>TRƯỜNG ĐẠI HỌC KIẾN TRÚC HÀ NỘIKHOA CÔNG NGHỆ THÔNG TIN</b>
<b>Giảng viên hướng dẫn: Phạm Trọng TuấnNhóm thực hiện: Nhóm 1</b>
</div><span class="text_page_counter">Trang 2</span><div class="page_container" data-page="2"><b>MỤC LỤC</b>
<b>LỜI CẢM ƠN...3</b>
<b>LỜI NĨI ĐẦU...4</b>
<b>CHƯƠNG 1 TÌM HIỂU VỀ WEB SERVICE...5</b>
<b>1. Khái niệm về Web Service...5</b>
<b>2. Đặc điểm Web Service...5</b>
<b>3. Ưu nhược điểm của Web service...7</b>
<b>4. Mô hình Web service...8</b>
<b>5. Các thành phần chính của Web service...8</b>
<b>5.1. Giao thức giao vận HTTP...9</b>
<b>5.2. Giao thức truyền thông SOAP...9</b>
<b>5.3 RESTful Web Service...12</b>
<b>3. Giới thiệu ngơn ngữ lập trình backend...30</b>
<b>4. Giới thiệu ngơn ngữ lập trình FE...31</b>
<b>4.1. HTML, CSS, JS...31</b>
<b>5. Giới thiệu cơ sở dữ liệu MongoDB...31</b>
<b>6. Xây dựng website dự báo thời tiết...32</b>
</div><span class="text_page_counter">Trang 3</span><div class="page_container" data-page="3"><b>LỜI CẢM ƠN</b>
Đầu tiên, chúng em xin gửi lời cảm ơn chân thành đến
<i>“Trường Đại học Kiến Trúc Hà Nội”</i> đã đưa môn học Phát triểnphần mềm hướng dịch vụ vào chương trình giảng dạy.
Đặc biệt, chúng em xin gửi lời cảm ơn sâu sắc đến giáoviên bộ môn - thầy giáo Phạm Trọng Tuấn đã dạy dỗ, truyền đạtnhững kiến thức quý báu cho chúng em trong suốt thời gian họctập vừa qua. Trong thời gian tham gia lớp học Phát triển phầnmềm hướng dịch vụ, chúng em đã có thêm cho mình nhiềukiến thức bổ ích, tinh thần học tập hiệu quả, nghiêm túc. Đâychắc chắn sẽ là những kiến thức quý báu, là hành trang đểchúng em có thể vững bước sau này.
Bộ môn Phát triển phần mềm hướng dịch vụ là môn
học thú vị, vô cùng bổ ích và có tính thực tế cao. Đảm bảo cungcấp đủ kiến thức, gắn liền với nhu cầu thực tiễn của sinh viên.Tuy nhiên, do vốn kiến thức còn nhiều hạn chế và khả năng tiếpthu thực tế còn nhiều bỡ ngỡ. Mặc dù chúng em đã cố gắng hếtsức nhưng chắc chắn bài báo cáo khó có thể tránh khỏi nhữngthiếu sót và nhiều chỗ cịn chưa chính xác, kính mong thầy xemxét và góp ý để bài báo cáo của nhóm 1 chúng em được hồnthiện hơn.V
Chúng em xin chân thành cảm ơn.
<b>NHÓMo 1</b>
---
</div><span class="text_page_counter">Trang 4</span><div class="page_container" data-page="4"><b>—---LỜI NÓI ĐẦU</b>
Ngày nay các tài nguyên internet được xây dựng bằngnhiều công nghệ và ngôn ngữ khác nhau dẫn đến vấn đề là tàinguyên ngày càng nhiều nhưng không đồng bộ, các hệ thốngkhông thể truy xuất hoặc cập nhật lẫn nhau. Các ứng dụngdesktop khơng có khả năng khai thác dữ liệu trực tiếp từ cácwebsite, website được viết bằng ngôn ngữ này cũng gặp khókhăn khi khai thác dữ liệu từ website được viết bằng ngôn ngữkhác. Từ đây sẽ nảy sinh một yêu cầu là cần có một tài nguyênthống nhất để tất cả mọi hệ thống có thể sử dụng ở mọi lúc mọinơi. Để giải quyết yêu cầu trên, các nhà khoa học đã xây dựngwebservice.
Giá trị cơ bản của Web Service dựa trên việc cung cấp cácphương thức theo chuẩn trong việc truy nhập đối với hệ thốngđóng gói và hệ thống kế thừa. Web Service ra đời đã mở ra mộthướng mới cho việc phát triển các ứng dụng trên Internet giảiquyết vấn đề chuyển đổi dữ liệu trong quy trình thương mại củacác doanh nghiệp. Web Service kết hợp sử dụng nhiều côngnghệ khác nhau cho phép các ứng dụng được viết bằng cácngôn ngữ khác nhau, chạy trên các nền tảng khác nhau cóchuyển đổi dữ liệu thông qua môi trường mạng Internet.
Các công nghệ mà Web Service sử dụng như XML, SOAP,WSDL, UDDI,REST.
Để giải quyết vấn đề này, nhiều giải pháp đã được đề ra,trong đó đáng chú ý nhất và cũng có nhiều khả năng triển khaitrong thực tế nhất đó là giải pháp phát triển, tích hợp các hệthống con với cơng nghệ Web Service. Ý tưởng chính của giảipháp này được tóm gọn như sau: Các ứng dụng nhỏ trong hệthống sẽ trình bày giao diện của nó dưới dạng Web Service,một ứng dụng ở trung tâm (cũng là một web service) được xâydựng dựa trên công nghệ NestJS Framework.
Từ những ưu điểm của Web Service nên đề tài “Tìm hiểu vềWeb Service và ứng dụng” đã được lựa chọn cho đồ án mơnhọcV với nội dung gồm 3 chương:
<i>Chương 1</i>: Tìm hiểu về Web Service
</div><span class="text_page_counter">Trang 5</span><div class="page_container" data-page="5"><i>Chương 2:</i> Xây dựng chương trình ứng dụng web service
<i>Chương 3:</i> Kết quả chương trình thực nghiệm.
Kết quả của đề tài đồ án là : Tìm hiểu được cơ bản về webservice, cách xây dựng Web Service, sử dụng kết quả của WebService cho các cơng việc khác. Từ đó đã vận dụng để xây dựngcác trang web cập nhập, tìm kiếm, thống kê dữ liệu từ CSDLcủa bài toán quản lý việc thu học phí của sinh viên hàng ngàyđã thực hiện được một số công việc cụ thể đưa ra hàng ngày.Các trang web của chương trình đã chạy ổn định, hiệu quả trêninternet hiện nay.
</div><span class="text_page_counter">Trang 6</span><div class="page_container" data-page="6"><b>CHƯƠNG 1 TÌM HIỂU VỀ WEB SERVICE1. Khái niệm về Web Service</b>
Theo IBM: "Service is a repeatable task within a business process". Theo đó, Service là một ứng dụng với người dùng, một thao tác được thực hiện một hoặc nhiều lần trong một tiến trình và được thực hiện bởi một hay nhiều người.
Service là một hệ thống có khả năng nhận một hay nhiều yêu cầu xử lý và sau đó đáp ứng lại bằng cách trả về một hay nhiềukết quả. Quá trình nhận yêu cầu và trả kết quả về được thực hiện thông qua các giao diện đã được định nghĩa trước đó. Thơng thường việc giao tiếp này được thực hiện trên các giao diện đã được chuẩn hóa và sử dụng rộng rãi.
Một hệ thống được thiết kế theo kiểu hướng Service là một hệ thống trong đó các chức năng của hệ thống được xây dựng dựa trên các service có độ kết dính thấp. Các service trong hệ thốnggiao tiếp với nhau thông qua việc gửi nhận các thông điệp.
<b>2. Đặc điểm Web Service</b>
Self-Contained (Độc lập)
Web service độc lập vì nó khơng địi hỏi các tiến trình ởphía client phải cài đặt bất cứ một thành phần nào. Ở phíaserver, yêu cầu để triển khai (deploy) Web Service chỉ là servletengine, EJB container hoặc .NET runtime. Khi Web Service đãđược triển khai thì phía client có thể tiêu thụ các dịch vụ màkhơng cần đòi hỏi phải cài đặt bất cứ một thành phần nào.Trong khi đó với các cơng nghệ như DCOM hay RMI, phía clientphải cài đặt client stub trước khi có thể truy cập dịch vụ.
• Tự Mơ Tả
Giao diện của Web Service được xuất bản thông qua tàiliệu WSDL. Tài liệu WSDL định nghĩa cấu trúc thông điệp traođổi và cấu trúc dữ liệu sử dụng trong thông điệp đó. Để triệugọi dịch vụ, client chỉ cần biết cấu trúc và nội dung của thôngđiệp yêu cầu và đáp ứng của Web service.
</div><span class="text_page_counter">Trang 7</span><div class="page_container" data-page="7">• Truy cập thông qua Web
Web được xuất bản, xác định và triệu gọi thông qua Web.Web service sử dụng giao thức chuẩn của web. Mô tả dịch vụđược xuất bản bằng cách sử dụng WSDL, các dịch vụ được xácđịnh với sự giúp đỡ của UDDI registry và triệu gọi thông quaSOAP. Tất cả những giao thức này đều dựa trên web.
• Độc lập về Ngôn ngữ, Nền tảng, Giao thức
Web service có cơ sở là tiêu chuẩn mở XML. Một Clientđược viết bằng bất cứ ngơn ngữ cũng nào có thể truy cập mộttrang web service được viết bằng bất cứ ngôn ngữ nào khác.Web service độc lập nền tảng, client và web service có thể chạytrên hai nền tảng độc lập khác nhau.
• Dựa trên chuẩn Mở
Những chuẩn này là XML, REST, SOAP, WSDL và UDDI.• Web service cho phép client và server tương tác đượcvới nhau mặc dù trong những mơi trường khác nhau.
• Web service thì có dạng mở và dựa vào các tiêu chuẩn.XML và HTTP là nền tảng kỹ thuật cho web service. Phần lớn kỹthuật của web service được xây dựng là những dự án nguồnmở. Bởi vậy, chúng độc lập và vận hành được với nhau.
• Web service thì rất linh động: Vì với UDDI và WSDL, thìviệc mơ tả và phát
triển web service có thể được tự động hóa.
• Web service được xây dựng trên nền tảng những cơngnghệ đã được chấp
• Web service có dạng mơ đun.
• Web service có thể cơng bố (publish) và gọi thực hiệnqua mạng.
Ngày nay Web services được sử dụng rất nhiều trongnhững lĩnh vực khác nhau của cuộc sống như:
</div><span class="text_page_counter">Trang 8</span><div class="page_container" data-page="8">- Tìm kiếm các thơng tin về các khách sạn ở các thành phốhoặc các trung tâm để liên hệ đặt phòng theo yêu cầu củakhách hàng.
- Dịch vụ chọn lọc và phân loại tin tức: Là những hệ thốngthư viện kết nối đến các web portal để tìm kiếm các thơng tin từcác nhà xuất bản có chứa những từ khóa muốn tìm.
- Dịch vụ hiển thị danh sách đĩa nhạc dành cho các cơng tythu thanh.
- Ứng dụng đại lý du lịch có nhiều giá vé đi du lịch khácnhau do có chọn lựa phục vụ của nhiều hãng hàng khơng.
- Bảng tính tốn chính sách bảo hiểm dùng cơng nghệExcel/COM với giao
diện web.
- Thông tin thương mại bao gồm nhiều nội dung, nhiềumục tin như: Dự báo thời tiết, thông tin sức khoẻ, lịch bay, tỷgiá cổ phiếu...
<b>3. Ưu nhược điểm của Web serviceƯu điểm:</b>
Cho phép chương trình được viết bằng các ngôn ngữ khácnhau trên các nền tảng khác nhau giao tiếp được với nhau dựatrên một nền tảng tiêu chuẩn
• Đơn giản (chỉ dùng URL)
Làm việc với các giao thức chuẩn Web như XML, HTTP vàTCP/IP.
Sự an toàn của máy chủ cơ sở dữ liệu luôn được bảo mật mộtcách chắc chắn.
Web Service làm giảm giá thành cho việc tích hợp các hệ thốngkhác nhau.
Nhược điểm:
• Phụ thuộc vào tốc độ đường truyền Internet.
Web Service thiếu cơ chế khôi phục đủ tin cậy để đảm bảogiao dịch được khôi phục lại trạng thái ban đầu trong trườnghợp xảy ra sự cố.
</div><span class="text_page_counter">Trang 9</span><div class="page_container" data-page="9">Số lượng các ứng dụng cộng tác cùng hoạt động sẽ ảnh hưởngtới hiệu suất tối ưu của Web Service.
Tải trọng: ứng dụng Web Service là các ứng dụng sử dụngrất nhiều thông điệp. Khả năng bùng nổ số lượng giao dịch traođổi sẽ làm hệ thống máy chủ ứng dụng và kiến trúc hạ tầng hệthống thơng tin của doanh nghiệp trở nên ngưng trệ.
Vì Web Service địi hỏi kết nối thơng qua khá nhiều máychủ trung gian cho nên băng thông/tốc độ của hạ tầng mạng vàcác yếu tố liên quan tới hệ thống rõ ràng có vai trị quan trọnggóp phần cải thiện hiệu năng của tồn bộ các ứng dụng WS
<b>4. Mơ hình Web service</b>
<i>Hình1.1' Mơ Hình Web Service</i>
Nhà cung cấp đăng ký Web Service với UDDI.
Người sử dụng tìm kiếm dịch vụ trên UDDI qua một URL thích hợp.
UDDI trả lại một bản mô tả WSDL cho nhà cung cấp.Người sử dụng triệu gọi dịch vụ bằng một cuộc gọi SOAP tới nhà cung cấp Nhà cung cấp trả lại kết quả của cuộc gọi SOAP cho người sử dụng
</div><span class="text_page_counter">Trang 10</span><div class="page_container" data-page="10"><b>5. Các thành phần chính của Web service</b>
<i>Hình 1.2 Các thành phần chính của webservice</i>
XML được sử dụng để định dạng dữ liệu, SOAP được sửdụng trao đổi dữ liệu, WSDL được sử dụng để mô tả dịch vụhiện có và UDDI được sử dụng để liệt kê các Web Service hiệncó.
<b>5.1. Giao thức giao vận HTTP</b>
Tầng giao vận liên quan tới cơ chế sử dụng để chuyển ucầu dịch vụ và thơng tin phản hồi từ phía nhà cung cấp dịch vụtới người sử dụng dịch vụ. Có rất nhiều tiêu chuẩn sử dụng xungquanh Web Service, nhưng phổ biến nhất vẫn là giao thứcHTTP.
<b>Ưu điểm</b>
HTTP là một giao thức phổ biến rộng rãi.
Giao thức HTTP hoàn toàn mở và khai triển trên rất nhiềuloại hệ thống.
Hầu hết mọi tổ chức đều chấp nhận cho phép trao đổi thông tindựa trên giao thức HTTP vượt qua tường lửa bảo vệ.
<b>Nhược điểm</b>
</div><span class="text_page_counter">Trang 11</span><div class="page_container" data-page="11">HTTP là một giao thức đơn giản và khơng có tính trạngthái, và khơng được thiết kế đặc biệt cho mục đích vận chuyểndữ liệu của các ứng dụng.
<b>5.2. Giao thức truyền thông SOAP5.2.1. Khái niệm SOAP:</b>
SOAP là giao thức truyền thông giữa các ứng dụng.SOAP được thiết kế để liên lạc qua Internet và làm việc qua tường lửa.
SOAP độc lập nền tảng, độc lập ngôn ngữ.SOAP dựa trên XML, đơn giản và dễ mở rộng.
<b>5.2.2. Đặc trưng SOAP</b>
SOAP có những đặc trưng sau :
- SOAP được thiết kế đơn giản và dễ mở rộng.
- Tất cả các message SOAP đều được mã hóa sử dụng XML. -
- SOAP sử dùng giao thức truyền dữ liệu riêng.
- Khơng có garbage collection phân tán, và cũng khơng cócơ chế tham chiếu. Vì thế SOAP client không giữ bất kỳ mộttham chiếu đầy đủ nào về các đối tượng ở xa. SOAP là giao thứcmà định nghĩa cái cách để chuyển một XML message từ A đếnB dựa trên giao thức chuẩn web HTTP (hoạt động trên cổng 80)qua giao thức Internet TCP/IP.
- SOAP không bị ràng buộc bởi bất kỳ ngôn ngữ lập trình nào hoặc cơng nghệ nào.
<i>Hình 1.3 thơng điệp soap</i>
Tại sao phải có SOAP:
</div><span class="text_page_counter">Trang 12</span><div class="page_container" data-page="12">Phát triển các ứng dụng cho phép các chương trình trao đổi qua Internet.
Các ứng dụng liên lạc với nhau bằng cách sử dụng các cuộc gọi thủ tục ở xa giữa các đối tượng như DCOM,CORBA
SOAP cung cấp cách để liên lạc giữa các ứng dụng chạy trên các hệ điều hành khác nhau, với các công nghệ khác nhau và ngôn ngữ khác nhau.
<b>5.2.3. Cấu trúc một message theo dạng SOAP Cấu trúc một message theo dạngo</b>
SOAP được mô tả như hình dưới đây:
<i>Hình 1.4 cấu trúc message soap</i>
Message theo dạng SOAP là một văn bản XML bình thườnggồm các phần tử sau: - Phần tử gốc - envelop: Phần tử bao trùmnội dung message, khai báo văn bản
XML như là một thông điệp SOAP.
- Phần tử đầu trang – header: Chứa các thông tin tiêu đềcho trang, phần tử này không bắt buộc khai báo trong văn bản.Những đầu mục cịn có thể mang những dữ liệu chứng thực,những chữ ký số hóa, và thơng tin mã hóa, hoặc những cài đặtcho giao tác.
- Phần tử khai báo nội dung chính trong thơng điệp - body,chứa các thơng tin yêu cầu và phản hồi.
- Phần tử phát sinh lỗi (Fault) cung cấp thơng tin lỗi xảy ratrong q trình xử lý thông điệp.
</div><span class="text_page_counter">Trang 13</span><div class="page_container" data-page="13">Trong trường hợp đơn giản nhất, phần thân của SOAP messagegồm có:
- Tên của message
Một tham khảo tới một thể hiện service.
Một hoặc nhiều tham số mang các giá trị và mang cáctham chiếu. Có 3 kiểu thơng báo:
Request messages: Với các tham số gọi thực thi mộtservice
Response messages: Với các tham số trả về, được sử dụngkhi đáp ứng yêu cầu.
Fault messages báo tình trạng lỗi.
<b>5.2.4. Định dạng thông điệp SOAP</b>
Một thông điệp SOAP là một văn bản XML được mô tả bởimột thành phần Envelope, chứa một thành phần Body bắt buộcvà một thành phần Header không bắt buộc.
<b>5.2.5 Các kiểu truyền thông</b>
SOAP hỗ trợ 2 kiểu truyền thông khác nhau :Remote procedure call (RPC).
<b>5.2.6 Q trình xử lý thơng điệp SOAP</b>
Một thơng điệp SOAP giúp cho khách hàng và nơi cung cấpWeb Service hồn thành những tác vụ mà khơng lo lắng đến sựphức tạp của việc xử lý thông điệp SOAP.
Một processor của khách hàng chuyển các lời yêu cầuphương thức vào trong một thông điệp SOAP. Thông điệp nàyđược truyền qua tầng giao vận (HTTP và SMTP) tới processorcủa nơi cung cấp, tại đây thông điệp sẽ được phân tích thành lờiu cầu phương thức. Sau đó nơi cung cấp sẽ thực hiện nhữngbước logic cần thiết và trả lại kết quả cho processor của nó,processor này sẽ phân tích thơng tin trong thơng điệp hồi đáp.Thơng điệp này được truyền qua tầng giao vận tới khách hàngu cầu. Processor của nó phân tích thơng điệp hồi đáp thànhkết quả dưới dạng một đối tượng.
</div><span class="text_page_counter">Trang 14</span><div class="page_container" data-page="14"><i>Hình 1.5 Q trình xử lý thơng điệp Soap</i>
<b>5.3 RESTful Web Servicea.Mơ hình kiến trúc</b>
<i>Hình 1.6 Mơ hình kiến trúc Web Service</i>
</div><span class="text_page_counter">Trang 15</span><div class="page_container" data-page="15"><b>b. o Đặc tả kiến trúc</b>
Rest API là một ứng dụng được dùng để chuyển đổi cấu trúccủa dữ liệu có những phương thức giúp kết nối với các thư việnvà ứng dụng khác nhau. Rest Api thường không được xem làcông nghệ, mà nó là giải pháp giúp tạo ra những ứng dụng webservices chuyên dụng để thay thế cho nhiều kiểu khác như:SOAP, WSDL,...
API là từ viết tắt của cụm từ Application ProgrammingInterface, đây là tập hợp những quy tắc và cơ chế mà theo đóthì: Một ứng dụng hoặc một thành phần nào đó sẽ tương tác vớimột ứng dụng hoặc một số thành phần khác. API có thể sẽ đượctrả về dữ liệu mà người dùng cần cho chính ứng dụng của bạnvới những kiểu dữ liệu được dùng phổ biến như JSON hoặc XML.VRest là từ viết tắt của Representational State Transfer: Nó làmột trong những dạng chuyển đổi cấu trúc, với kiểu kiến trúcthường được viết API. Rest thường sử dụng dụng phương thứcHTTP đơn giản để có thể tạo ra giao tiếp giữa các máy.Bởi vìthế, thay vì phải sử dụng một URL cho việc xử lý một số thơngtin của người dùng thì Rest sẽ u cầu HTTP như: GET, POST,DELETE,... đến với bất kỳ một URL để được xử lý dữ liệu.V
<b>5.4. Tầng mô tả dịch vụ XML, WSDL5.4.1. XML (eXtensible Markup Language)</b>
</div><span class="text_page_counter">Trang 16</span><div class="page_container" data-page="16">XML là công cụ dùng được trên mọi nền phần cứng, độclập với phần cứng và phần mềm để truyền (trao đổi, chia sẻ)thông tin..
<i>c. Cấu trúc chung của XML</i>
Chúng ta có thể sử dụng trình soạn thảo bất kỳ để soạn thảo tài liệu XML, nhưng phải tuân thủ theo nguyên tắc sau:
<i>Hình 1.7 Cấu trúc chung XML</i>
Theo định dạng trên, chúng ta thấy tuy tài liệu XML rấtđơn giản nhưng quy định cũng rất chặt chẽ, tức là các tài liệuXML đều xuất phát từ nút gốc (root), và mỗi phần tử phải có thẻmở và thẻ đóng “<tên thẻ > ... </ tên thẻ>"
<i>d. XML được sử dụng như thế nào?</i>
</div><span class="text_page_counter">Trang 17</span><div class="page_container" data-page="17">XML thiết kế để lưu giữ, mang, và trao đổi dữ liệu nhưng không hiển thị dữ liệu.
XML dùng cho trao đổi dữ liệu
Với XML có thể trao đổi dữ liệu giữa các hệ thống khơng tương thích.
<i>e. Ưu điểm của XML</i>
Đơn giản, ổn định, linh hoạt và có tính mở rộng caoXML được chấp nhận rộng rãi. Rất nhiều công cụ và tiện ích sẵn có đáp ứng nhu cầu phân tích và chuyển đổi dữ liệu XML hoặc hiển thị chúng.
<i>f. Nhược điểm của XML</i>
Sự phức tạp.
Chuẩn hoá: Trong khi đã tồn tại các định nghĩa tên thẻ củangành, bạn vẫn có thể định nghĩa các thẻ không phải là tiêu chuẩn.
Giao thức và kiểu mã hóa.
Loại thơng tin: những thao tác, những tham số,
WSDL chỉ định các đặc tính vận hành của Web Service sử dụng một tài liệu XML. Ngôn ngữ mô tả những khái niệm trả lời cho các câu hỏi sau:
Cái gì (dịch vụ web làm gì)?Ở đâu (nơi chứa dịch vụ)?
Như thế nào (dịch vụ có thể kích hoạt bằng cách nào)?
<i>b.Cấu trúc WSDL -Web Services Description Language :</i>
Một WSDL hợp lệ gồm có hai phần :
</div><span class="text_page_counter">Trang 18</span><div class="page_container" data-page="18">Phần giao diện mô tả giao diện và giao thức kết nối. Phần thi hành mô tả thông tin để truy xuất service.
Cả 2 phần trên được lưu trong 2 tập tin XML, bao gồm:Tập tin giao diện service (cho phần 1).
Tập tin thi hành service (cho phần 2).
<i><small>Hình 1.8 Cấu trúc WSDL – Web Service</small></i>
Service Interface và Service Implementation.
<i>c. Ưu điểm của WSDL</i>:
Như một yêu cầu cơ bản đối với ứng dụng của bất cứ dịchvụ web, WSDL là yêu cầu bắt buộc đáp ứng nhu cầu công bốgiao tiếp và thoả thuận cho các dịch vụ khác kích hoạt.
<i>d. Nhược đểm của WSDL:</i>
Tài liệu không cung cấp một số thông tin người sử dụng có nhu cầu như :
Ai cung cấp dịch vụ ?
• Loại hình kinh doanh cung cấp dịch vụ ?
Các dịch vụ khác cùng do nhà cung cấp dịch vụ này cung cấp?
• Dịch vụ này sẽ cung cấp với chất lượng dịch vụ như thế nào?
• Đây là dịch vụ miễn phí hay có thu phí ?
<b>5.5. Universal Discovery Description and Integration</b>
<i>a. Khái niệm UDDI</i>
UDDI là một chuẩn công nghiệp cho việc cơng bố và tìmkiếm thơng tin về Web Service. Nó định nghĩa một khung thơng
</div><span class="text_page_counter">Trang 19</span><div class="page_container" data-page="19">tin cho phép bạn mô tả và phân loại tổ chức của bạn, dịch vụcủa nó và những chi tiết kỹ thuật về giao diện của Web Servicemà bạn trình bày. Khung thơng tin này cho phép bạn phát hiệndịch vụ một cách thích hợp, hay giao diện của một kiểu đặcbiệt, một loại hay của một hàm.
<i>b. Nội dung của thư mục UDDI</i>
Một nội dung thư mục UDDI là một tệp XML mô tả mộtnghiệp vụ và các dịch vụ nó chào. Có 3 phần đối với một nộidung trong thư mục UDDI, đó là:
Trang vàng -Yellow pages: mô tả công ty chào dịch vụ:tên, địa chỉ, các thông tin liên hệ.
Trang vàng -Yellow pages: chứa thông tin mô tả WebService theo những chủng loại khác nhau. Những thông tinnày cho phép các đối tượng thấy Web Service theo từngchủng loại của nó.
Trang xanh-Green Pages: mơ tả giao diện đối với dịch vụmột cách đầy đủ chi tiết cho ai đó có thể viết một ứng dụng sửdụng dịch vụ Web Service này.
<i>c. Cấu trúc sổ đăng ký UDDI</i>
UDDI cung cấp 4 cấu trúc dữ liệu mô tả dịch vụ mà nó đưara:
BusinessEntity, BusinessService, Binding Template vàtModels.
BusinessEntity: mô tả nhà cung cấp dịch vụ, mỗiBusinessEntity có thể có nhiều cấu trúc BusinessService kếthợp với nó.
BusinessService: chứa các thơng tin chung về dịch vụ, mỗiBusinessService có thể có nhiều Binding Template
Binding Template: chứa thông tin kỹ thuật cách thức truycập vào dịch vụ (ví dụ: URL, số điện thoại, Web Service).
TModel (Technical Model-Mơ hình kỹ thuật): chứa cácthông tin về loại dịch vụ sử dụng... được sử dụng để lấy thông
</div><span class="text_page_counter">Trang 20</span><div class="page_container" data-page="20">tin chi tiết về giao diện của Web Service và làm cho chúng cóthể sử dụng lại giữa các dịch vụ tương thích.
<b>6. Vấn đề an toàn cho Web service:</b>
Dịch vụ Web liên kết và tương tác với các ứng dụng quaInternet, chính vì vậy bảo mật là một vấn đề được quan tâm khicác công ty tiến tới kết hợp ứng dụng với một dịch vụ Web. Việcđảm bảo an toàn cho dịch vụ Web là một vấn đề quan trọng,đặc biệt đối với những dịch vụ liên quan đến trao đổi tiền tệ,thông tin từ thị trường chứng khoán hay dịch vụ bán hàng quamạng (liên quan đến trả tiền bằng tài khoản và có u cầuthơng tin cá nhân của người dùng).
Trước khi có WS-Security (bảo mật cho dịch vụ Web) thì ýnghĩa thơng thường của an tồn dịch vụ Web là bảo mật kênhtruyền dữ liệu. Hiện nay, nó được thực hiện cho nhữngSOAP/HTTP dựa trên cơ chế truyền thông điệp bằng cách sửdụng giao thức HTTPS. Không chỉ là an tồn ở mức truyền thơngđiệp, HTTPS cịn cung cấp sự an tồn tới tồn bộ gói dữ liệuHTTP.
Mặc dù HTTPS khơng bao gồm tất cả các khía cạnh trongchuẩn an tồn chung cho dịch vụ Web nhưng nó đã cung cấpmột lớp bảo mật khá đầy đủ với định danh, chứng thực, tínhtồn vẹn thơng điệp hay độ tin cậy.
* Đảm bảo an toàn cho dịch vụ Web
Khái niệm về WS-Security: đây là một chuẩn an toàn baotrùm cho SOAP, nó được dùng khi muốn xây dựng những dịchvụ Web tồn vẹn và tin cậy. Tồn vẹn có nghĩa là khi có mộtgiao dịch hay khi truyền thơng tin, hệ thống và thông tin sẽkhông bị chặn, giao dịch sẽ khơng bị mất cũng như khơng thểcó người lấy cắp được dữ liệu trên đường truyền. WS-securityđược thiết kế mang tính mở nhằm hướng tới những mơ hình antồn khác bao gồm PKI, Kerberos và SSL. Nó cũng đưa ra nhiềuhỗ trợ cho các cơ chế an toàn khác, nhiều khuôn dạng chữ ký
</div><span class="text_page_counter">Trang 21</span><div class="page_container" data-page="21">và công nghệ mã hóa, đảm bảo sự an tồn, tồn vẹn thơngđiệp và tính tin cậy của thơng điệp. Tuy nhiên, WS-securitycũng chưa thể đảm bảo được tất cả yêu cầu về bảo mật và antồn thơng tin, nó chỉ là một trong những lớp của giải pháp antoàn cho dịch vụ Web.
---
</div><span class="text_page_counter">Trang 22</span><div class="page_container" data-page="22"><b>—---CHƯƠNG 2 XÂY DỰNG —---CHƯƠNG TRÌNH ỨNG DỤNGWEB SERVICE</b>
<b>1. Bài tốn ứng dụngo1.1. Phát biểu bài tốn</b>
Làm thế nào chúng ta có thể đưa ra dự báo thời tiết chínhxác và đáng tin cậy, khơng chỉ để phục vụ nhu cầu hàng ngàymà còn hỗ trợ trong quyết định chiến lược và lập kế hoạch chonhiều lĩnh vực khác nhau? Bài toán này đặt ra thách thức lớnmà chúng ta đang nỗ lực giải quyết thông qua việc xây dựngmột web service dự báo thời tiết độc đáo và hiệu quả
Chính Xác và Chi Tiết:
Chúng tôi cam kết mang lại thông tin dự báo thời tiếtchính xác và chi tiết, cung cấp những dữ liệu không chỉ giúpngười dùng chuẩn bị cho ngày của họ mà còn hỗ trợ các ngànhcông nghiệp như nông nghiệp, du lịch và giao thơng vận tải.
Đa Dạng Tính Năng:
Web service của chúng tôi không chỉ giới hạn ở việc cungcấp nhiệt độ và dự báo mưa. Chúng tôi đi sâu vào chi tiết vớithơng tin về độ ẩm, tốc độ gió, áp suất khơng khí và điều kiệnthời tiết khác như mây, sương mù, hay tuyết. Điều này giúpngười dùng và các doanh nghiệp có cái nhìn tổng thể và chínhxác về mơi trường xung quanh.
Hỗ Trợ Tính Năng Ngơn Ngữ và Đơn Vị:
Chúng tôi hiểu rằng người sử dụng của chúng tơi có thểđến từ nhiều quốc gia và khu vực khác nhau. Do đó, webservice của chúng tôi hỗ trợ nhiều ngôn ngữ và đơn vị đo khácnhau để đảm bảo mọi người dùng đều có trải nghiệm thuận tiệnvà chính xác.
Tích Hợp Dễ Dàng và Linh Hoạt:
</div><span class="text_page_counter">Trang 23</span><div class="page_container" data-page="23">Dịch vụ của chúng tôi được thiết kế để dễ tích hợp vàonhiều ứng dụng và trang web khác nhau thông qua các giaothức tiêu chuẩn như REST hoặc GraphQL. Điều này giúp đơngiản hóa q trình tích hợp và tạo ra trải nghiệm mượt mà chongười sử dụng.
Tính Bảo Mật Cao:
Chúng tơi chấp nhận trách nhiệm về bảo mật thông tinngười dùng. Dữ liệu truyền tải qua web service của chúng tơiđược mã hóa đảm bảo tính an tồn và riêng tư của thơng tin cánhân.
Hỗ Trợ Tìm Kiếm và Dự Báo Dài Hạn:
Ngồi việc cung cấp dự báo thời tiết hiện tại, chúng tơi cũngcung cấp khả năng tìm kiếm địa điểm linh hoạt và dự báo dàihạn để người dùng có thể lập kế hoạch cho những sự kiệntương lai.
Với sự chuyên nghiệp và cam kết của chúng tôi, webservice dự báo thời tiết sẽ trở thành một nguồn thông tin đángtin cậy và không thể thiếu cho cộng đồng người dùng đa dạngvà đòi hỏi chất lượng cao."
<b>1.2. Các chức năng của hệ thốngo</b>
Yêu cầu của hệ thốngV
Yêu cầu của hệ thống web service dự báo thời tiết phảiđáp ứng nhiều khía cạnh để đảm bảo tính chính xác, hiệu quảvà linh hoạt. Dưới đây là một số yêu cầu cơ bản mà một hệthống như vậy có thể phải đối mặt:
Tính Thời Gian Thực:
</div><span class="text_page_counter">Trang 24</span><div class="page_container" data-page="24">- Yêu cầu: Cung cấp thông tin thời tiết gần như thờigian thực.
- Giải Pháp: Tối ưu hóa quy trình cập nhật dữ liệu và sửdụng kỹ thuật streaming để đảm bảo thông tin đượctruyền đến người dùng một cách nhanh chóng.Đa Dạng Tính Năng:
- u cầu: Hỗ trợ nhiều tính năng như dự báo theo giờ,dự báo hằng ngày, chất lượng khơng khí, và các điềukiện khác nhau.
- Giải Pháp: Xây dựng một hệ thống linh hoạt và mởrộng để tích hợp các tính năng mới theo yêu cầu.Tìm Kiếm Địa Điểm:
- Yêu cầu: Cung cấp khả năng tìm kiếm thơng tin thờitiết cho nhiều địa điểm khác nhau.
- Giải Pháp: Sử dụng hệ thống tìm kiếm hiệu quả và hỗtrợ nhiều phương tiện nhập liệu như tên thành phố,mã quốc gia, tọa độ địa lý.
Tính Mở Rộng và Hiệu Suất:
- Yêu cầu: Hệ thống cần có khả năng mở rộng dễ dàngđể xử lý tăng trưởng người dùng và duy trì hiệu suấtcao.
- Giải Pháp: Sử dụng kiến trúc mô-đun và công nghệmở rộng, cùng với các giải pháp đám mây khi cầnthiết.
Bảo Mật Thông Tin Người Dùng:
- Yêu cầu: Bảo vệ thông tin cá nhân và lịch sử tìm kiếmcủa người dùng.
</div>