‒ Tăng thêm sự hiểu biết của sinh viên về các phương pháp cũngnhư các cách để xây dựng lên một website bán hàng.‒ Xây dựng website mang lại tính tiện lợi, tiết kiệm thời gian khi muasắm.
Trang 1TRƯỜNG ĐẠI HỌC KIẾN TRÚC HÀ NỘI KHOA CÔNG NGHỆ THÔNG TIN
XÂY DỰNG WEBSITE BÁN HÀNG THỜI TRANG NAM
Giảng Viên Hướng Dẫn: Th.S Phạm Trọng Tuấn
Sinh Viên Thực Hiện: Phạm Ngọc Khánh - 2055010149
Đỗ Minh Hiếu - 2055010089 Trần Ngọc Huy - 2055010125 Trần Lê Nam - 2055010185 Nguyễn Bảo Quốc - 2055010221
Hà Nội, 11/2023
Trang 2MỤC LỤC
MỞ ĐẦU 4
CHƯƠNG 1: TỔNG QUAN 5
1 MỤC TIÊU ĐỀ TÀI 5
2 YÊU CẦU CỦA DỰ ÁN VÀ PHƯƠNG HƯỚNG PHÁT TRIỂN 5
2.1 Yêu cầu chung 5
2.2 Xây dựng website bán quần áo 5
2.3 Phương hướng phát triển 6
3 CÁC CHỨC NĂNG CHÍNH 6
4 ĐỐI TƯỢNG VÀ PHẠM VI NGHIÊN CỨU 6
5 CÔNG NGHỆ LIÊN QUAN 7
5.1 Laravel 7
5.2 Cơ sở dữ liệu MySQL 8
5.3 HTML 8
6 ƯU ĐIỂM CỦA HỆ THỐNG BÁN HÀNG QUA MẠNG 8
7 LỢI ÍCH CỦA WEBSITE 9
CHƯƠNG 2: TÌM HIỂU VỀ WEB SERVICE 11
1 K HÁI NIỆM VỀ W EB S ERVICE 11
2 Đ ẶC ĐIỂM W EB S ERVICE 11
3 Ư U NHƯỢC ĐIỂM CỦA W EB SERVICE 13
4 M Ô HÌNH W EB SERVICE 14
5 C ÁC THÀNH PHẦN CHÍNH CỦA W EB SERVICE 14
5.1 Giao thức giao vận HTTP 15
5.2 Giao thức truyền thông SOAP 15
5.3 RESTful Web Service 19
5.3.1 Mô hình kiến trúc 19
5.4 Tầng mô tả dịch vụ XML, WSDL 20
5.5 Universal Discovery Description and Integration 23
6 V ẤN ĐỀ AN TOÀN CHO W EB SERVICE : 24
CHƯƠNG 3: PHÂN TÍCH THIẾT KẾ WEBSITE 26
1 PHÂN TÍCH 26
2 PHÂN TÍCH QUY TRÌNH KINH DOANH 28
3 MÔ HÌNH USE – CASE 28
3.1 Danh sách Actor 29
3.2 Đặc tả Use – case 30
3.3 Xây dựng mô hình động Use-case 32
4 SƠ ĐỒ PHÂN CẤP CHỨC NĂNG 38
Trang 35 PHÂN TÍCH LUỒNG DỮ LIỆU 38
5.1 Sơ đồ luồng dữ liệu mức khung cảnh (mức 0) 38
5.2 Sơ luồng dữ liệu mức đỉnh (mức 1) 39
6 SƠ ĐỒ TUẦN TỰ SCENRIO 39
6.2 Xóa sản phẩm trong giỏ hàng 40
6.3 Thêm vào giỏ hàng 40
7 SƠ ĐỒ THỰC THỂ LIÊN KẾT ER 42
CHƯƠNG IV: CÀI ĐẶT VÀ SỬ DỤNG 43
1 THIẾT KẾ CƠ SỞ DỮ LIỆU 43
1.1 Bảng cơ sở dữ liệu 43
1.2 Database Diagram 45
2 MỘT SỐ GIAO DIỆN CỦA TRANG WEB TRÊN MÁY TÍNH 45
2.1 Giao diện “Đăng nhập” cho user 46
2.2 Giao diện trang chủ 46
2.3 Giao diện “ Sản phẩm” 47
2.4 Giao diện trang “ giỏ hàng” 48
2.5 Giao diện thông tin “ sản phẩm” 49
2.6 Giao diện “ Tìm kiếm” 49
2.7 Giao diện Bảng điều khiển của “Trang chủ” 51
2.8 Trang “Danh Mục” 51
2.9 Trang “Đơn hàng” 53
KẾT LUẬN 54
1 NHẬN XÉT VÀ TỰ ĐÁNH GIÁ 54
2 NHỮNG ĐIỀU CẦN CẢI THIỆN 54
3 HƯỚNG PHÁT TRIỂN 54
3.1 Nâng Cấp Giao Diện Người Dùng: 55
3.2 Tích Hợp Hệ Thống Đánh Giá và Đánh Giá: 55
3.3 Mở Rộng Chức Năng Tìm Kiếm: 55
3.4 Phát Triển Ứng Dụng Di Động: 55
3.5 Cập Nhật Hệ Thống Thanh Toán: 55
3.6 Chăm Sóc Khách Hàng và Hỗ Trợ Trực Tuyến: 55
4 KẾT LUẬN 55
TÀI LIỆU THAM KHẢO 56
Trang 4MỞ ĐẦU
Ngày nay với sự phát triển mạnh mẽ của khoa học công nghệ, côngnghệ thông tin là một trong những ngành có vị thế dẫn đầu và có vaitrò rất lớn trong sự nghiệp phát triển chung. Các ứng dụng của côngnghệ thông tin được áp dụng trong mọi lĩnh vực nghiên cứu khoa họccũng như trong mọi lĩnh vực của đời sống. Là một phần của ngànhcông nghệ thông tin, công nghệ web đang có được sự phát triển mạnh
mẽ và phổ biến rất nhanh bởi những lợi ích mà nó mang lại cho cộngđồng là rất lớn
Đặc biệt những năm gần đây ở nước ta thu nhập bình quân đầungười tăng khá cao, mức sống và thu nhập cũng tăng lên theo thống
kê từng năm. Cuộc sống ngày càng phát triển và đi theo hướng hiệnđại hóa. Chúng ta quan tâm đến ngoại hình của mình nhiều hơn, vì thế
mà nghành công nghiệp quần áo ngày càng phát triền để phục vụ nhucầu làm đẹp của nhiều người đặc biệt là các chị em
Website giúp cung cấp cho khách hàng những lựa chọn linh hoạt vàtiện lợi trong việc chọn lựa mua sắm quần áo phù hợp cho bản thân,tìm kiếm sản phẩm tốt nhất cho mình thông qua chức năng tìm kiếm
và giỏ hàng Hệ thống mang lại sự tiện dụng trong việc cập nhật vàquản lý các thông tin cho website, tạo khả năng liên lạc nhanh và dễdàng
Trang 5CHƯƠNG 1: TỔNG QUAN 1.Mục tiêu đề tài
‒ Xây dựng website thương mại điện tử về quần áo, cùng các tin tứckhuyến mại của cửa hàng Phục vụ nhu cầu mua sắm online sauthời điểm dịch bệnh Covid-19 diễn biến phức tạp, tiết kiệm thờigian, chi phí cho khách hàng
‒ Tăng thêm sự hiểu biết của sinh viên về các phương pháp cũngnhư các cách để xây dựng lên một website bán hàng
‒ Xây dựng website mang lại tính tiện lợi, tiết kiệm thời gian khi muasắm
‒ Xây dựng website giúp nhân viên dễ dàng nắm bắt tình hình củacửa hàng, việc quản lý cửa hàng trở nên dễ dàng, thuận tiện vànhanh chóng hơn
‒ Thuận tiện cho người sử dụng website
2.Yêu cầu của dự án và phương hướng phát triển
2.1.Yêu cầu chung
‒ Tìm hiểu về hoạt động kinh doanh của website bán hàng
‒ Tìm hiểu các phương pháp xây dựng một website bán hàng nhưthế nào
‒ Xây dựng một website mang tính thương mại hóa
‒ Xây dựng một trang web với đầy đủ các tính năng phục vụ cho bánhàng trực tuyến và cập nhật tin tức
‒ Xây dựng website mang lại tính tiện lợi, tiết kiệm thời gian khi muasắm
‒ Xây dựng website giúp nhân viên dễ dàng nắm bắt tình hình củacửa hàng, việc quản lý cửa hàng trở nên dễ dàng, thuận tiện vànhanh chóng hơn
Trang 62.2.Xây dựng website bán quần áo
‒ Website có đầy đủ các chức năng cơ bản cho người dùng
‒ Cụ thể, website bán quần áo có một số chức năng như sau:
+ Đối với khách hàng: Xem danh sách các sản phẩm, tìm kiếm sảnphẩm, đưa sản phẩm vào giỏ hàng, đặt mua, thanh toán, thanhtoán trực tuyến, liên hệ, xem đơn hàng, xem lịch sử giao dịch.+ Đối với người quản trị: quản lý sản phẩm, quản lý tài khoản,quản lý đơn hàng, quản lý doanh thu, quản lý bình luận, góp ý
2.3.Phương hướng phát triển
‒ Triển khai ý tưởng, tạo dựng một trang web bán quần áo với một
số chức năng cơ bản của tài khoản khách hàng và tài khoản nhânviên bán hàng như đăng ký, đăng nhập, tìm kiếm, mua hàng…
‒ Hướng đến phục vụ nhu cầu mua quần áo trực tuyến, dễ dàng,tiện lợi, tiết kiệm thời gian
‒ Xây dựng web bán hàng với nhiều sản phẩm quần áo mới, đa dạng
về cả chủng loài cũng như kích cỡ, màu sắc
‒ Trình bày giao diện trang web có hệ thống, khoa học và dễ nhìn,màu sắc hài hòa
‒ Có thể sử dụng cho mục đích thương mại điện tử trong tương lai
Trang 7+ Cập nhật danh sách khách hàng.
+ Cập nhật danh sách hàng hóa cần vận đơn
4.Đối tượng và phạm vi nghiên cứu
‒ Website cửa hàng quần áo được xây dựng với tiêu chí phục vụ chotất cả mọi người trong lĩnh vực làm đẹp với mong muốn đáp ứngđầy đủ chức năng của một website bán hàng trực tuyến
‒ Đối tượng: cửa hàng bán quần áo tại Hà Nội
‒ Với khoảng thời gian có hạn nên nhóm đã giới hạn phạm vi nghiêncứu ở một mức độ hợp lý cho mình:
+ Xây dựng các chức năng cho khách hàng
+ Xây dựng các chức năng cho người quản trị
+ Tìm hiểu framework PHP laravel với mô hình MVC
5.Công nghệ liên quan
Trang web áp dụng kiến trúc Laravel tương đối phổ biến hiện nay vàcác phân tích kỹ thuật khác nhau được thực hiện trước khi phát triển
để tạo nền tảng kỹ thuật vững chắc cho việc triển khai thêm trongtương lai. Tính đến tính khả thi của việc phát triển và triển khai trangweb, về phần mềm, framework Laravel phổ biến hiện nay được lựachọn để phát triển và quản lý thiết kế trang web, và dữ liệu MySQLđược sử dụng để lưu trữ dữ liệu trong cơ sở dữ liệu. Vì PHP Laravel làcông cụ phát triển rất hoàn thiện, nên không có nghi ngờ gì về tính bảomật, độ tin cậy và tính khả dụng
‒ Môi trường phát triển ứng dụng:
+ Lập trình bằng ngôn ngữ PHP với framwork Laravel
+ Sử dụng mô hình MVC thuần
+ Công cụ xây dựng ứng dụng: Visual Studio, Laragon
‒ Môi trường triển khai ứng dụng:
Trang 8‒ Laravel cung cấp một bộ công cụ và thư viện mạnh mẽ giúp lậptrình viên PHP phát triển các ứng dụng web một cách nhanh chóng
và dễ dàng Laravel có nhiều tính năng ưu việt
5.2 Cơ sở dữ liệu MySQL
‒ MySQL, là một máy chủ cơ sở dữ liệu SQL đa người dùng, đa luồngthực sự, là một hệ quản trị cơ sở dữ liệu quan hệ dựa trên mô hìnhmáy khách / máy chủ SQL, nó có các chức năng mạnh mẽ, quản lýthuận tiện, sử dụng đơn giản, an toàn và tin cậy cao, đa luồng Ưuđiểm của đa nền tảng, tương đối ổn định, v.v., phù hợp hơn chocác nhiệm vụ phát triển phần cuối cơ sở dữ liệu của các trang Webhoặc phần mềm ứng dụng khác. Ngoài ra, người dùng có thể viếtchương trình để truy cập cơ sở dữ liệu MySQL bằng nhiều ngônngữ. Cơ sở dữ liệu MySQL cũng là mã nguồn mở Các nhà pháttriển ngày càng thích sử dụng cơ sở dữ liệu quan hệ MySQL vàphạm vi ứng dụng cũng được mở rộng Điều này là do tốc độnhanh và dễ sử dụng cũng như sự phát triển của các chương trìnhphụ trợ cơ sở dữ liệu cho các trang Web hoặc phần mềm ứngdụng
5.3 HTML
Trang 9‒ HTML (Ngôn ngữ đánh dấu siêu văn bản) là một ngôn ngữ đánhdấu, bao gồm một loạt các thẻ, qua đó định dạng tài liệu trênmạng có thể được thống nhất, để một số lượng lớn tài nguyênInternet phân tán được kết nối thành một tổng thể logic. Văn bảnhtml là văn bản mô tả bao gồm các lệnh Html Các lệnh html cóthể là văn bản, đồ họa, âm thanh, bảng hoặc liên kết. Thông quangôn ngữ Html, thông tin cần được thể hiện có thể được ghi vàocác tệp Html theo các quy tắc nhất định và được các trình duyệtchính thống nhận ra và các tệp Htm này được "dịch" thành thôngtin có thể nhận dạng, tức là các trang Web bạn thấy bây giờ.
6.Ưu điểm của hệ thống bán hàng qua mạng
‒ Khách hàng có đầy đủ thông tin về sản phẩm với chỉ một cái Clickchuột mà không cần phải nhân viên bán hàng giải thích rõ ràng và
cụ thể
‒ Giao diện được thiết kế bắt mắt, thu hút khách hàng
‒ Danh sách sản phẩm liệt kê từng sản phẩm một cách chi tiết nhất
‒ Mua một hay nhiều sản phẩm chỉ với một cú Click chuột Kháchhàng chỉ cần điền thông tin cần thiết một cách chính xác và chốtđơn
‒ Tiết kiệm thời gian cũng như đảm bảo phục vụ cho nhu cầu muasắm trực tuyến trong mùa dịch
7.Lợi ích của website
Lợi ích khi sở hữu website bán quần áo chuyên nghiệp?
‒ Cơ hội quảng bá không giới hạn, công việc kinh doanh mở cửa 24h/ngày: Website bán quần áo có thể ví như một phòng
giao dịch toàn cầu, bất kể các giới hạn không gian và thời gian Nóluôn mở cửa 24/24 trong suốt 365 ngày của năm Vì vậy, bạn sẽkhông bỏ lỡ bất kỳ cơ hội kinh doanh cũng như quảng bá sảnphẩm nào
Trang 10‒ Tối ưu chi phí vận hành và truyền thông doanh nghiệp quần áo: Thay vì phải gửi Catalogue quần áo bằng giấy hoặc đĩa
CDROM cho khách hàng. Bạn có thể mời khách hàng đến thămwebsite quần áo của mình với những thông tin còn cặn kẽ và đầy
đủ hơn ở Catalogue được đăng trên đó Khoảng chi phí bạn bỏ ra
để duy trì và thiết kế website quần áo sẽ là rất nhỏ bé so với
các khoảng chi phí in ấn, sao chép, chi phí nhân lực giành choviệc quảng bá quần áo đến khách hàng Đó là chưa kể các chi phícho các dịch vụ truyền thông nếu bạn không có website
‒ Có thêm hàng ngàn khách hàng mới, làm thỏa mãn cả những khách hàng khó tính nhất: Với môi trường internet năng
động, Bạn dễ dàng thay đổi và cập nhật thông tin lên website củamình để sẵn sàng làm thoả mãn yêu cầu của các khách hàng khótính nhất Và tất nhiên, nỗ lực cung cấp các thông tin chất lượngcao của Bạn sẽ mang lại kết quả là bạn sẽ có thêm vô số cáckhách hàng tiềm năng và hàng ngàn khách hàng sử dụng sảnphẩm và dịch vụ của bạn
Trang 11‒ Tạo ra được hình ảnh về một doanh nghiệp được tổ chức khoa học và hiệu quả: Với việc tổ chức các thông tin trên
website của mình hướng tới lợi ích của khách hàng thì khách hàng
sẽ dễ dàng khai thác các thông tin trên website của Bạn Và khikhách hàng hài lòng thì Bạn đã xây dựng được hình ảnh tốt đẹp vềmình trong tâm trí và tình cảm của khách hàng
Trang 12CHƯƠNG 2: TÌM HIỂU VỀ WEB SERVICE 1.Khái niệm về Web Service
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 đượcthực hiện một hoặc nhiều lần trong một tiến trình và được thực hiệnbở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ều kế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ácgiao 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ộngrãi
Một hệ thống được thiết kế theo kiểu hướng Service là một hệ thốngtrong đó các chức năng của hệ thống được xây dựng dựa trên cácservice có độ kết dính thấp Các service trong hệ thống giao tiếp vớinhau thông qua việc gửi nhận các thông điệp
2.Đặc điểm Web Service
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 clientphải cài đặt bất cứ một thành phần nào Ở phía server, yêu cầu đểtriển khai (deploy) Web Service chỉ là servlet engine, EJB containerhoặ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 hayRMI, phía client phải cài đặt client stub trước khi có thể truy cập dịchvụ
Tự mô tả
Giao diện của Web Service được xuất bản thông qua tài liệu WSDL
Trang 13liệu sử dụng trong thông điệp đó Để triệu gọi dịch vụ, client chỉ cầnbiết cấu trúc và nội dung của thông điệp yêu cầu và đáp ứng của Webservice.
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 Webservice sử dụng giao thức chuẩn của web Mô tả dịch vụ được xuất bảnbằng cách sử dụng WSDL, các dịch vụ được xác định với sự giúp đỡ củaUDDI registry và triệu gọi thông qua SOAP 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ếtbằng bất cứ ngôn ngữ cũng nào có thể truy cập một trang web serviceđược viết bằng bất cứ ngôn ngữ nào khác Web service độc lập nềntảng, client và web service có thể chạy trên hai nền tảng độc lập khácnhau
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 được với nhaumặ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ủaweb service được xây dựng là những dự án nguồn mở 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ông nghệ đãđược chấp
nhận
Web service có dạng mô đun
Trang 14 Web service có thể công bố (publish) và gọi thực hiện qua mạng.Ngày nay Web services được sử dụng rất nhiều trong những lĩnh vựckhác nhau của cuộc sống như:
- Tìm kiếm các thông tin về các khách sạn ở các thành phố hoặc cáctrung tâm để liên hệ đặt phòng theo yêu cầu của khách hàng
- Dịch vụ chọn lọc và phân loại tin tức: Là những hệ thống thư việnkế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 ty thuthanh
- Ứng dụng đại lý du lịch có nhiều giá vé đi du lịch khác nhau do cóchọn lựa phục vụ của nhiều hãng hàng không
- Bảng tính toán chính sách bảo hiểm dùng công nghệ Excel/COMvới giao
diện web
- Thông tin thương mại bao gồm nhiều nội dung, nhiều mục tin như:
Dự báo thời tiết, thông tin sức khoẻ, lịch bay, tỷ giá cổ phiếu
3.Ưu nhược điểm của Web service
Ưu điểm:
Cho phép chương trình được viết bằng các ngôn ngữ khác nhautrên các nền tảng khác nhau giao tiếp được với nhau dựa trên mộtnề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ột cáchchắ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:
Trang 15 Web Service thiếu cơ chế khôi phục đủ tin cậy để đảm bảo giaodịch được khôi phục lại trạng thái ban đầu trong trường hợp xảy ra
Vì Web Service đòi hỏi kết nối thông qua khá nhiều máy chủ trunggian 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ọng góp phần cảithiện hiệu năng của toàn bộ các ứng dụng WS
4.Mô hình Web service
Hình 1.1: Mô Hình Web Service
‒ 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
Trang 16‒ 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 chongười sử dụng
5.Các thành phần chính của Web service
Hình 1.2: Các thành phần chính của Web Service
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ện có
5.1.Giao thức giao vận HTTP
Tầng giao vận liên quan tới cơ chế sử dụng để chuyển yêu cầ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 xung quanh WebService, nhưng phổ biến nhất vẫn là giao thức HTTP
Ưu điểm
‒ 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ều loạ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ệ
Nhược điểm
Trang 17‒ HTTP là một giao thức đơn giản và không có tính trạng thái, vàkhông được thiết kế đặc biệt cho mục đích vận chuyển dữ liệu củacác ứng dụng.
5.2.Giao thức truyền thông SOAP
5.2.1 Khái niệm SOAP:
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ườnglử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
5.2.2 Đặc trưng SOAP
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ột tham chiếuđầy đủ nào về các đối tượng ở xa SOAP là giao thức mà định nghĩacái cách để chuyển một XML message từ A đến B dựa trên giaothức chuẩn web HTTP (hoạt động trên cổng 80) qua giao thứcInternet 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ặccông nghệ nào
Hình 1.3: Thông điệp soap
Trang 18Tại sao phải có SOAP:
Phát triển các ứng dụng cho phép các chương trình trao đổi quaInternet
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ácnhau
5.2.3 Cấu trúc một message theo dạng SOAP Cấu trúc một message theo dạng
SOAP được mô tả như hình dưới đây:
Hình 1.4: Cấu trúc message soap
Message theo dạng SOAP là một văn bản XML bình thường gồm cácphần tử sau: - Phần tử gốc - envelop: Phần tử bao trùm nội dungmessage, 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 đầumụ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 đặt cho giao tác
Trang 19- Phần tử khai báo nội dung chính trong thông điệp - body, chứa cácthô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 ra trong quátrình xử lý thông điệp
Trong trường hợp đơn giản nhất, phần thân của SOAP message gồmcó:
- 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ác tham chiếu
Có 3 kiểu thông báo:
Request messages: Với các tham số gọi thực thi một service
Response messages: Với các tham số trả về, được sử dụng khi đápứng yêu cầu
Fault messages báo tình trạng lỗi
5.2.4 Định dạng thông điệp SOAP
Một thông điệp SOAP là một văn bản XML được mô tả bởi một thànhphần Envelope, chứa một thành phần Body bắt buộc và một thànhphần Header không bắt buộc
5.2.5 Các kiểu truyền thông
SOAP hỗ trợ 2 kiểu truyền thông khác nhau :
Remote procedure call (RPC)
Document
5.2.6 Quá trình xử lý thông điệp SOAP
Một thông điệp SOAP giúp cho khách hàng và nơi cung cấp WebService hoàn thành những tác vụ mà không lo lắng đến sự phức tạpcủa việc xử lý thông điệp SOAP
Trang 20Một processor của khách hàng chuyển các lời yêu cầu phương thứcvào trong một thông điệp SOAP Thông điệp này được truyền qua tầnggiao vận (HTTP và SMTP) tới processor của nơi cung cấp, tại đây thôngđiệp sẽ được phân tích thành lời yêu cầu phương thức Sau đó nơi cungcấp sẽ thực hiện những bước logic cần thiết và trả lại kết quả choprocessor 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áchhàng yêu cầu Processor của nó phân tích thông điệp hồi đáp thành kếtquả dưới dạng một đối tượng.
Hình 1.5: Quá trình xử lý thông điệp Soap
Trang 215.3.RESTful Web Service
API là từ viết tắt của cụm từ Application Programming Interface, đây
là tập hợp những quy tắc và cơ chế mà theo đó thì: Một ứng dụng hoặcmột thành phần nào đó sẽ tương tác với một ứng dụng hoặc một sốthành phần khác API có thể sẽ được trả về dữ liệu mà người dùng cầncho chính ứng dụng của bạn với những kiểu dữ liệu được dùng phổ biếnnhư JSON hoặc XML.
Trang 22Rest là từ viết tắt của Representational State Transfer: Nó là mộttrong những dạng chuyển đổi cấu trúc, với kiểu kiến trúc thường đượcviết API Rest thường sử dụng dụng phương thức HTTP đơ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ộtURL cho việc xử lý một số thông tin của người dùng thì Rest sẽ yêu cầuHTTP như: GET, POST, DELETE, đến với bất kỳ một URL để được xử lý
- XML rất quan trọng đối với sự phát triển của web trong tương lai
- Tầm quan trọng của XML đối với tương lai của web cũng giốngnhư tầm quan trọng của HTML đối với nền tảng của web, và XML
sẽ là công cụ xử lý và truyền dữ liệu phổ biến nhất
- XML là công cụ dùng được trên mọi nền phần cứng, độc lập vớiphần cứng và phần mềm để truyền (trao đổi, chia sẻ) thông tin
Cấu trúc chung của XML
Chúng ta có thể sử dụng trình soạn thảo bất kỳ để soạn thảo tài liệuXML, nhưng phải tuân thủ theo nguyên tắc sau:
Trang 23 XML được sử dụng như thế nào?
- XML thiết kế để lưu giữ, mang, và trao đổi dữ liệu nhưng khônghiể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ươngthích
Ưu điểm của XML
- Đơn giản, ổn định, linh hoạt và có tính mở rộng cao
- XML đượ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ặchiển thị chúng
Nhược điểm của XML
- Sự phức tạp
Trang 24- 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êuchuẩ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ụngmột tài liệu XML Ngôn ngữ mô tả những khái niệm trả lời chocá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)?
Cấu trúc WSDL -Web Services Description Language :
Một WSDL hợp lệ gồm có hai phần :
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)
Trang 25Hình 1.8: Cấu trúc WSDL – Web Service
Service Interface và Service Implementation
Ưu điểm của WSDL:
Như một yêu cầu cơ bản đối với ứng dụng của bất cứ dịch vụ 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
Nhược đểm của WSDL:
Tài liệu không cung cấp một số thông tin người sử dụng có nhu cầunhư :
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í ?
5.5.Universal Discovery Description and Integration
Khái niệm UDDI
UDDI là một chuẩn công nghiệp cho việc công bố và tìm kiếmthông tin về Web Service Nó định nghĩa một khung thông tin chophé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 Service mà bạn trìnhbày Khung thông tin này cho phép bạn phát hiện dịch vụ một cách
Trang 26thích hợp, hay giao diện của một kiểu đặc biệt, một loại hay của mộthàm.
Nội dung của thư mục UDDI
Một nội dung thư mục UDDI là một tệp XML mô tả một nghiệp vụ
và các dịch vụ nó chào Có 3 phần đối với một nội dung 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ả Web Service theonhững chủng loại khác nhau Những thông tin này cho phép các đốitượng thấy Web Service theo từng chủ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
Cấu trúc sổ đăng ký UDDI
UDDI cung cấp 4 cấu trúc dữ liệu mô tả dịch vụ mà nó đưa ra:
BusinessEntity, BusinessService, Binding Template và tModels.BusinessEntity: mô tả nhà cung cấp dịch vụ, mỗi BusinessEntity cóthể có nhiều cấu trúc BusinessService kết hợ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 truy cập vàodịch vụ (ví dụ: URL, số điện thoại, Web Service)
TModel (Technical Model-Mô hình kỹ thuật): chứa các thông tin vềloại dịch vụ sử dụng được sử dụng để lấy thông tin chi tiết về giaodiện của Web Service và làm cho chúng có thể sử dụng lại giữa cácdịch vụ tương thích
Trang 276.Vấn đề an toàn cho Web service:
Dịch vụ Web liên kết và tương tác với các ứng dụng qua Internet,chính vì vậy bảo mật là một vấn đề được quan tâm khi các công ty tiếntới kết hợp ứng dụng với một dịch vụ Web Việc đảm bảo an toàn chodị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 haydịch vụ bán hàng qua mạng (liên quan đến trả tiền bằng tài khoản và
có yêu cầu thô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ĩathông thường của an toàn dịch vụ Web là bảo mật kênh truyền dữ liệu.Hiện nay, nó được thực hiện cho những SOAP/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à antoàn ở mức truyền thông điệp, HTTPS còn cung cấp sự an toàn tới toàn
bộ gói dữ liệu HTTP
Mặc dù HTTPS không bao gồm tất cả các khía cạnh trong chuẩn antoàn chung cho dịch vụ Web nhưng nó đã cung cấp một lớp bảo mậtkhá đầy đủ với định danh, chứng thực, tính toà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 bao trùm choSOAP, nó được dùng khi muốn xây dựng những dịch vụ Web toàn vẹn
và tin cậy Toàn vẹn có nghĩa là khi có một giao dịch hay khi truyềnthô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 đườngtruyền WS-security được thiết kế mang tính mở nhằm hướng tới những
mô hình an toàn khác bao gồm PKI, Kerberos và SSL Nó cũng đưa ranhiều hỗ trợ cho các cơ chế an toàn khác, nhiều khuôn dạng chữ ký vàcông nghệ mã hóa, đảm bảo sự an toàn, toàn vẹn thông điệp và tínhtin cậy của thông điệp Tuy nhiên, WS-security cũng chưa thể đảm bảo
Trang 28được tất cả yêu cầu về bảo mật và an toàn thông tin, nó chỉ là mộttrong những lớp của giải pháp an toàn cho dịch vụ Web.
Trang 29CHƯƠNG 3: PHÂN TÍCH THIẾT KẾ WEBSITE
Hiện nay các công cụ làm website ra đời vô tận, sử dụng cũng rấttiện lợi giúp cho công việc làm website ngày càng dễ dàng hơn, tuynhiên để làm được một website tốt bạn phải có những sáng kiến và ýtưởng của riêng mình, và tuân thủ nghiêm ngặt quy trình sản xuất, chỉkhi từng bước phát triển theo đúng yêu cầu và thiết kế thì mới có thểthiết kế được một website ưng ý. Kiến trúc B / S và hai chế độ dựa trêncác dịch vụ Web được trang web áp dụng là một cấu trúc mô hình phùhợp với môi trường Internet. Miễn là người dùng có thể kết nối Internet,
họ có thể truy cập trang web bất cứ lúc nào và ở bất kỳ đâu
Thiết kế tổng thể của website là chia nhỏ một nhiệm vụ phát triểnrất lớn thành nhiều nhiệm vụ con, sau khi hoàn thành chúng được kếthợp lại thành một trang web hoàn chỉnh Các bước công việc cụ thể là:(1) Phân chia trang web thành nhiều mô-đun con có thể được pháttriển độc lập
(2) Tiến hành phân tích và thiết kế chi tiết các chức năng của từng đun con
mô-(3) Thiết kế chi tiết mối quan hệ logic giữa các mô-đun con
(4) Thiết kế chi tiết giao diện của từng phân hệ con và việc truyền dữliệu giữa các phân hệ
Trong toàn bộ quá trình thiết kế, để xác định các giải pháp cụ thể cóthể đạt được từng mục tiêu nhỏ, đối với từng mục tiêu nhỏ, trước tiênbạn phải hiểu thông tin nhu cầu tương ứng, sau đó tiến hành thiết kế
sơ bộ trang web, rồi dần dần sau khi tối ưu hóa một cấu trúc tổng thể
có thể đạt được của trang web cuối cùng được thiết kế
1 Phân tích
1.1.1 Yêu cầu chức năng
Chức năng đăng nhập của quản lý
Trang 30‒ Để đảm bảo tính bảo mật của website, quản lý chặt chẽ có thẩmquyền về thông tin website, trước tiên người dùng phải đăng
nhập vào website. Đầu tiên, người dùng nhập tên tài khoản và mật khẩu có được và trang web sẽ thực hiện các xác minh
thông tin khác nhau
Thêm, xóa, sửa đổi và kiểm tra thông tin
‒ Người dùng có thể thêm dữ liệu vào quản lý sản phẩm, quản lý
đơn hàng, v.v và cũng có thể thêm các dữ liệu khác trong phạm
vi quyền hạn, nhập dữ liệu cần thêm và trang web sẽ tự độngxác minh từng dữ liệu Nếu dữ liệu là hợp pháp thì việc xác minh
là thành công và được lưu trong cơ sở dữ liệu, nếu dữ liệu là bấthợp pháp, nó sẽ nếu rằng việc thêm dữ liệu đã không thànhcông
‒ Người dùng có thể chỉnh sửa dữ liệu để quản lý đơn hàng,
quản lý dịch vụ,… Đầu tiên, vào giao diện sửa đổi dữ liệu, chỉnhsửa dữ liệu và lưu lại, sau đó website sẽ thực hiện phán đoán vàxác minh dữ liệu Nếu dữ liệu sửa đổi là hợp pháp thì việc sửađổi sẽ thành công và dữ liệu sẽ được cập nhật vào cơ sở dữ liệu.Nếu là bất hợp pháp, việc sửa đổi sẽ không thành công và phảinhập lại
‒ Người dùng có thể xóa dữ liệu trong quản lý đơn hàng, quản lý dịch vụ,… chọn dữ liệu cần xóa, bấm vào nút xóa, trang web sẽ nhắc có xóa dữ liệu hay không, chọn OK để xóa, dữ liệu sẽ xóa
thành công, và dữ liệu trong cơ sở dữ liệu sẽ bị xóa Xóa, bạnphải xem xét liên kết xóa khi thực hiện chức năng xóa
‒ Người dùng cũng có thể thực hiện các thao tác xem dữ liệu về
quản lý đơn hàng, quản lý dịch vụ, v.v., nhập các từ khóa khácnhau cho các câu hỏi và cho phép các câu hỏi mở kết hợp nhiều
từ khóa
1.1.2 Bảo mật và quyền hạn
Trang 31‒ Đảm bảo tính toàn vẹn dữ liệu định kỳ lưu giữ thông tin đề phòngkhi có sự cố còn có thể khắc phục một cách dễ dàng.
‒ Quyền hạn của mỗi User được bảo vệ chặt chẽ Chí có Admin mới
có quyền tạo các User và xóa User
Trang 322.Phân tích quy trình kinh doanh
3.Mô hình Use – case
Theo thuật ngữ của UML thì người hoặc hệ thống sử dụng phần mềm
mà ta đang xem xét được gọi là tác nhân của phần mềm đó, còn
use-Module người dùng thông thường
Xem thông tin sản phẩm
Thêm sản phẩm vào giỏ hàng
Đặt hàng trực tuyến
Module người dùng quản trị viên
Quản lý danh mục sản phẩm
Quản lý đơn hàng
Quản lý sản phẩm