Đồ án Xây dựng hệ thống hóa đơn điện tử trên nền tảng web sử dụng các dịch vụ cung cấp từ Viettel

BỘ GIÁO DỤC VÀ ĐÀO TẠO  
TRƯỜNG ĐẠI HỌC DÂN LP HẢI PHÒNG  
-------------------------------  
ISO 9001:2015  
ĐỒ ÁN TT NGHIP  
NGÀNH: CÔNG NGHỆ THÔNG TIN  
Sinh viên  
: Hoàng Tiến Duy  
Giảng viên hướng dn: TS. Đỗ Văn Chiểu  
HẢI PHÒNG - 2018  
BỘ GIÁO DỤC VÀ ĐÀO TẠO  
TRƯỜNG ĐẠI HỌC DÂN LẬP HẢI PHÒNG  
-----------------------------------  
XÂY DỰNG HTHỐNG HÓA ĐƠN ĐIỆN TỬ TRÊN NỀN  
TNG WEB SDỤNG CÁC DỊCH VCUNG CP TỪ  
VIETTEL  
ĐỒ ÁN TỐT NGHIỆP ĐẠI HC HỆ CHÍNH QUY  
NGÀNH: CÔNG NGHỆ THÔNG TIN  
Sinh viên  
: Hoàng Tiến Duy  
Giảng viên hướng dẫn: TS. Đỗ Văn Chiểu  
HẢI PHÒNG - 2018  
BỘ GIÁO DỤC VÀ ĐÀO TẠO  
TRƯỜNG ĐẠI HỌC DÂN LẬP HẢI PHÒNG  
--------------------------------------  
NHIM VỤ ĐỀ TÀI TỐT NGHIP  
Sinh viên: Hoàng Tiến Duy  
Mã SV: 1312101009  
Lp: CT1701  
Ngành: Công nghệ thông tin  
Tên đꢀ tài: Xây dựng hthống hóa đơn điện tử trên nꢀn tng web sdụng các  
dch vcung cp tViettel  
3
MỤC LỤC  
 
LỜI MỞ ĐẦU  
Với tốc độ phát triển chóng mặt của thế giới số hiện nay, Internet dễ dàng truy cập và sử dụng  
.Thanh toán hóa đơn điện tử đang ngày càng được sử dụng rộng rãi và phổ biến,vì vậy việc xâ  
y dựng hệ thông  
thanh toán hóa đơn điện tử rất quan trọng vì nó mang lại rất nhiꢀu lợi ích cho chúng ta  
như là : Giảm chi phí in ấn, gửi, bảo quản, lưu trữ,  
khai thác hóa đơn, thuận tiện cho việc hạch toán kế toán, quản trị kinh  
doanh, đối chiếu dữ liệu; thông qua phương tiện điện tử nên thời gian  
giao dịch sẽ được rút ngắn. Hóa đơn điện tử góp phần hiện đại hóa công tác quản trị doanh ng  
hiệp cũng như góp phần bảo vệ môi trường.Vì vậy e đã chọn đꢀ tài Xây dựng hệ thống hóa đơ  
n điện tử trên nꢀn tảng web sử dụng dịch vụ cung cấp từ viettel với mục đích tìm hiêủ và nghi  
ên cứu phát triển và mở rộng hệ thông  
thanh toán điện tử giúp tiết kiệm thời gian và quản lý hóa đơn dễ dàng hơn  
5
LỜI CẢM ƠN  
Em xin gửi lời cảm ơn chân thành nhất đến quý thầy cô Trường Đại Học Dân Lập Hải  
Phòng, những người đã giúp đỡ em tận tình và đã truyꢀn đạt cho em những kiến thức và bài  
học quý báu trong suốt thời gian em theo học tại trường.  
Em xin trân trọng gửi lời cảm ơn đến tất cả các thầy cô trong khoa Công Nghệ Thông  
Tin, đặc biệt là thầy giáo ThS. Chiểu, thầy đã tận tình hướng dẫn và giúp đỡ em trong suốt  
quá trình làm tốt nghiệp. Với sự chỉ bảo của thầy, em đã có những định hướng tốt trong việc  
triển khai và thực hiện các yêu cầu trong quá trình làm đồ án tốt nghiệp.  
Em xin cảm ơn những người thân và gia đình đã quan tâm, động viên và luôn tạo cho  
em những điꢀu kiện tốt nhất trong suốt quá trình học tập và làm tốt nghiệp.  
Ngoài ra, em cũng xin gửi lời cảm ơn tới tất cả bạn bè, đặc biệt là các bạn trong lớp CT1  
701 đã luôn gắn bó, cùng học tập và giúp đỡ em trong những năm qua trong suốt quá trình  
thực hiện đồ án này.  
Em xin chân thành cảm ơn!  
6
CHƯƠNG 1: GIỚI THIỆU  
Giới thiệu về công ty VIETTEL  
1.1  
Tập đoàn Viễn thông Quân đội (Viettel) là doanh nghiệp kinh tế quốc phòng 100% vốn  
nhà nước. Tập đoàn viễn thông quân đội do Bộ Quốc phòng thực hiện quyꢀn chủ sở hữu và  
là một doạnh nghiệp quân đội kinh doanh trong lĩnh vực bưu chính – viễn thông và công  
nghệ thông tin.  
Viettel là Tập đoàn Viễn thông và Công nghệ thông tin lớn nhất Việt Nam, đồng thời được  
đánh giá là một trong những công ty viễn thông có tốc độ phát triển nhanh nhất thế giới,  
nằm trong Top 15 các công ty viễn thông toàn cầu vꢀ số lượng thuê bao. Hiện nay, Viettel  
đã đầu tư tại 7 quốc gia ở 3 Châu lục gồm Châu Á, Chây Mỹ, Châu phi.  
Bên cạnh viễn thông, Viettel còn tham gia vào lĩnh vực nghiên cứu sản xuất công nghệ cao  
và một số lĩnh vực khác như bưu chính, xây lắp công trình, thương mại và XNK, IDC.  
Viettel là một trong những doanh nghiệp viễn thông có số lượng khách hàng lớn nhất trên  
thế giới. Với kinh nghiệm phổ cập hoá viễn thông tại nhiꢀu quốc gia đang phát triển, chúng  
tôi hiểu rằng được kết nối là một nhu cầu rất cơ bản của con người. Chúng tôi cũng hiểu  
rằng, kết nối con người giờ đây không chỉ là thoại và tin nhắn, đó còn là phương tiện để  
con người tận hưởng cuộc sống, sáng tạo và làm giàu. Bởi vậy, bằng cách tiếp cận sáng tạo  
của mình, chúng tôi luôn nỗ lực để kết nối con người vào bất cứ lúc nào cho dù họ là ai và  
họ đang ở bất kỳ đâu.  
Viettel đã chứng minh năng lực của mình thông qua thành công của các công ty con khi  
hầu hết các công ty này đꢀu giữ vị trí hàng đầu trong thị trường viễn thông vꢀ lượng thuê  
bao, doanh thu, cơ sở hạ tầng. Ví dụ như Metfone tại Campuchia, Telemor tại Đông Timor  
hoặc Movitel tại Mozambique .  
Viettel Thành lập Tổng Công ty Điện tử thiết bị thông tin (SIGELCO), tiꢀn thân của Tập  
đoàn Viễn thông Quân đội (Viettel Group). Xây dựng tuyến vi ba băng rộng lớn nhất (140  
Mbps); xây dựng tháp anten cao nhất Việt Nam (85m). Doanh nghiệp duy nhất được cấp  
giấy phép kinh doanh dịch đầy đủ các dịch vụ viễn thông ở Việt Nam. Hoàn thành đường  
trục cáp quang Bắc - Nam với dung lượng 2.5Mbps có công nghệ cao nhất Việt Nam với  
việc áp dụng thành công sáng kiến thu – phát trên mội sợi cấp quang.VIETTEL là nhà  
cung cấp dịch vụ di động, internet, truyꢀn hình và giải pháp CNTT. Cung cấp dịch vụ tạo  
lập hóa đơn điện tử và cung cấp dịch vụ thanh toán online.  
1.2 Giới thiệu về hóa đơn điện tử  
Hóa đơn điện tử : là tập hợp các thông điệp dữ liệu điện tử vꢀ bán hàng hoá, cung ứng  
dịch vụ, được khởi tạo, lập, gửi, nhận, lưu trữ và quản lý bằng phương tiện điện tử. Hoá  
7
     
đơn điện tử được khởi tạo, lập, xử lý trên hệ thống máy tính của tổ chức đã được cấp mã số  
thuế khi bán hàng hoá, dịch vụ và được lưu trữ trên máy tính của các bên theo quy định của  
pháp luật vꢀ giao dịch điện tử.  
Hóa đơn điện tử được cung cấp bởi hệ thống xác thực hoá đơn của Tổng cục Thuế dựa  
trên các thông tin hoá đơn của doanh nghiệp. Hoá đơn điện tử có giá trị vꢀ mặt pháp lý  
như hoá đơn giấy và được pháp luật công nhận.  
Đây là hình thức hóa đơn hiện đại với nhiꢀu ưu điểm nổi bật và mang lại nhiꢀu lợi ích cho  
doanh nghiệp khi sử dụng.  
Lợi ích của việc sử dụng hóa đơn điện tử so với hóa đơn giấy :  
Tiết kiệm đến 90% chi phí dành cho hóa đơn hàng năm : Không cần phải đầu tư quá  
nhiꢀu nhân lực và thời gian để phục vụ cho công việc in ấn, phát hành hóa đơn đỏ. Bởi  
vậy, doanh nghiệp sẽ có thể tiết kiệm được khoảng 90% chi phí dành cho hóa đơn so với  
trước đây (tức là số tiꢀn cho hóa đơn chỉ bằng 1/10 so với ban đầu).  
Giảm thiểu rủi ro khi lưu trữ, vận chuyển và bảo quản hóa đơn: Không còn nỗi lo mất,  
cháy, hỏng, bị mờ hoặc bay mất thông tin và bảo quản hóa đơn cho doanh nghiệp.  
Đa dạng phương thức gửi hóa đơn cho khách hàng: Chuyển hóa đơn cho khách hàng  
đơn giản, nhanh chóng giúp doanh nghiệp đẩy nhanh quá trình công nợ. Doanh nghiệp có  
thể gửi hóa đơn cho khách hàng qua hệ thống email tích hợp trên phần mꢀm, qua tin nhắn  
SMS để khách hàng tra cứu, Export ra file zip để gửi cho khách hàng qua hình thức gửi  
email thông thường hoặc copy vào USB. Hoặc In hóa đơn ra giấy và gửi chuyển phát  
nhanh như phương thức truyꢀn thống.  
Giảm thiểu chi phí chuyển phát nhanh hoặc rủi ro thất lạc hóa đơn khi vận chuyển.  
Khởi tạo, nhập thông tin hóa đơn nhanh chóng: Không cần viết tay, hóa đơn điện tử  
giúp kế toán viên tránh tình trạng viết nhầm, viết sai. Không phải xử lý các trường hợp viết  
sai hóa đơn.  
An toàn thông tin, dễ dàng tra cứu và tìm kiếm hóa đơn: kế toán không cần phải mất  
hàng giờ vào kho lưu trữ để tìm kiếm hóa đơn gốc. Thông tin hóa đơn được bảo mật.  
Giảm 50% công việc của kế toán: bằng cách tích hợp dữ liệu đầu vào với các phần mꢀm  
kế toán như: MÍA, FAST…..nhanh chóng lên được báo cáo sổ sách thay vì phải ngồi nhập  
dữ liệu như trước đây.  
Không cần phải lập báo cáo tình hình sử dụng hóa đơn: bởi tất cả thông tin hóa đơn đã  
được gửi lên và lưu trữ trên Tổng cục Thuế khi xác thực. Giảm chi phí nhân công giải  
quyết các công việc báo cáo, thực hiện các thủ tục hành chính liên quan tới hóa đơn, thuế.  
8
1.3 Giới thiệu về hệ thống thanh toán điện tử VIETTEL  
Dịch vụ hóa đơn điện tử SInvoice của Viettel cung cấp giải pháp quản lý hóa đơn trên  
nꢀn điện tử cho doanh nghiệp. Hóa đơn được khởi tạo, lập, gửi, nhận, lưu trữ và quản lý bằ  
ng phương tiện điện tử; được ký bằng chữ ký điện tử (ký số), có giá trị vꢀ mặt pháp lý như  
hóa đơn giấy thông thường; có thể chuyển đổi thành hóa đơn giấy khi nhu cầu.  
Các điều kiện Viettel đã đảm bảo khi triển khai hóa đơn điện tử :  
- Hạ tầng vꢀ công nghệ thông tin để lưu trữ và sử dụng chứng từ điện tử và phải có  
chữ ký điện tử;  
- Sử dụng phần mꢀm hoá đơn điện tử tự xây dựng.  
- Ban hành Quyết định áp dụng hoá đơn điện tử và gửi Thông báo phát hành hoá đơn  
điện tử tới cơ quan thuế;  
- Thông báo cho khách hàng vꢀ định dạng hoá đơn và cách thức truyꢀn nhận hoá đơn  
điện tử.  
Ưu điểm :  
-Giảm thiểu các thủ tục hành chính, lưu trữ. Tiết kiệm thời gian thực hiện phân tích, báo  
cáo.  
-Có thể gửi hóa đơn cho khách hàng ngay sau khi phát hành qua nhiꢀu hình thức: Email,  
SMS, Website. Tiết kiệm thời gian tìm kiếm  
-Giảm chi phí in ấn, gửi nhận hóa đơn cho khách hàng. Không mất chi phí lưu trữ, bảo  
quản, không thất lạc, rách, hỏng, cháy. Không thể làm giả hóa đơn.  
-Dch vhin đại, nhanh chóng nhn hóa đơn, thun tin tra cu  
1.4 Mô tả bài toán và giải pháp  
Khi một khách hàng có nhu cầu sử dụng hóa đơn điện tử VIETTEL khách hàng đến các chi  
nhánh của tập đoàn viễn thông VIETEL đăng ký các thông tin cá nhân sau đó vietel sẽ  
cung cấp cho khách hàng tài khoản và mật khẩu đăng nhập, sau khi có thông tin và tài  
khoản khách hàng sử dụng các dịch vụ của viettel gồm các bước sau:  
Đăng nhập, sau đó thêm thông tin cá nhân và kiểm tra thông tin cá nhân  
Sử dụng chức năng thêm hàng hóa bao gồm việc điꢀn các trường bắt buộc từ các form  
nhập của website và xem chi tiết sản phẩm  
Để sử dụng các chức năng khác liên quan đến hóa đơn điện tử như lập hóa đơn xem hóa  
đơn khách hàng cần phải điꢀn đầy đủ các trường trong các form nhập của website .Sau đó  
trang web sẽ gửi yêu cầu lập hóa đơn tới website service của Viettel nếu lập thành công  
9
   
website service viettel sẽ gửi lại cho khách hàng một số thông tin quan trọng như mã hóa  
đơn, ngày lập, mã số bí mật  
1.4.1 Dịch vụ web  
Dịch vụ web (Web Service) là sự kết hợp các ứng dụng trên máy tính cá nhân, thiết bị di  
động với ứng dụng trên các thiết bị khác, các cơ sở dữ liệu và các mạng máy tính để tạo  
thành một cơ cấu tính toán hoàn hảo mà người sử dụng có thể làm việc, yêu cầu, phân tích,  
khai thác, cập nhật,… thông tin với nó thông qua mạng Internet hoặc Wifi. Đồng thời nó  
cũng xuất bản các chức năng của mình để mọi người dùng internet trên thế giới đꢀu có thể  
sử dụng thông qua nꢀn tảng web.  
Web Service truyꢀn thông bằng cách sử dụng các giao thức mở, tài nguyên phần mꢀm có  
thể xác định bằng địa chỉ URL, thực hiện các chức năng và đưa ra các thông tin người  
dùng yêu cầu, các ứng dụng độc lập và tự mô tả chính nó. Nó bao gồm các modun độc lập  
cho hoạt động của khách hàng và doanh nghiệp và bản thân nó được thực thi trên server.  
Nꢀn tảng cơ bản của Web Service là XML + HTTP. Bất cứ một ứng dụng nào cũng đꢀu có  
thể có một thành phần Web Service. Web Service có thể được tạo ra bằng bất kỳ một ngôn  
ngữ lập trình nào.  
Dịch vụ Web (Web Service) được coi là một công nghệ mang đến cuộc cách mạng trong  
cách thức hoạt động của các dịch vụ B2B (Business to Business) và B2C (Business to  
Customer). Giá trị cơ bản của dịch vụ Web dựa trên việc cung cấp các phươ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. Các phần mꢀm  
được viết bởi những ngôn ngữ lập trình khác nhau và chạy trên những nꢀn tảng khác nhau  
có thể sử dụng dịch vụ Web để chuyển đổi dữ liệu thông qua mạng Internet theo cách giao  
tiếp tương tự bên trong một máy tính. Tuy nhiên, công nghệ xây dựng dịch vụ Web không  
nhất thiết phải là các công nghệ mới, nó có thể kết hợp với các công nghệ đã có như XML,  
SOAP, WSDL, UDDI… Với sự phát triển và lớn mạnh của Internet, dịch vụ Web thật sự là  
một công nghệ đáng được quan tâm để giảm chi phí và độ phức tạp trong tích hợp và phát  
triển hệ thống. Chúng ta sẽ xem xét các dịch vụ Web từ mức khái niệm đến cách thức xây  
dựng.  
10  
 
1.4.2 Các công nghệ xây dựng dịch vụ Web  
1.4.2.1 Đặc điểm của dịch vụ Web  
- Cho phép client và server tương tác ngay cả trong môi trường khác nhau.  
- Phần lớn được xây dựng dựa trên mã nguồn mở và phát triển các chuẩn đã được công  
nhận.  
- Nó có thể triển khai bởi 1 phần mꢀm ứng dụng phía server (vd: PHP, Oracle  
Application server)  
a) Ưu điểm  
- Cung cấp khả năng hoạt động rộng lớn với các phần mꢀm khác nhau chạy nên tảng  
khác nhau.  
- Sử dụng các giao thức chuẩn mở.  
- Nâng cao khả năng tái sử dụng.  
- Thúc đẩy đầu tư các hệ thống phần mꢀm đã tồn tại.  
- Tạo mối quan hệ tương tác lẫn nhau và mꢀm dẻo giữa các thành phần trong hệ thống,  
dễ dàng cho việc phát triển các ứng dụng phân tán.  
- Thúc đẩy hệ thống tích hợp, giảm sự phức tạp của hệ thống, hạ giá thành hoạt động,  
phát triển hệ thống nhanh và tương tác hiệu quả với hệ thống của các doanh nghiệp  
khác.  
b) Nhược điểm  
Vào những khoảng thời gian chết của Web Service sẽ dẫn đến những thiệt hại lớn:  
- Giao diện không thay đổi.  
- Có thli nếu một máy khách không được nâng cấp.  
- Thiếu các giao thức cho vic vận hành.  
- Có quá nhiꢀu chuẩn cho dịch vụ web khiến người dùng khó nắm bắt.  
- Phải quan tâm nhiꢀu hơn tới vấn đꢀ an toàn bảo mật.  
1.4.2.2 Cách thức hoạt động  
- Nꢀn tảng cơ bản là XML + HTTP.  
- XML cung cấp một ngôn ngữ mà có thể được sử dụng giữa ngôn ngữ lập trình và các nꢀn  
tảng khác. Đồng thời, nó còn có thể được dùng để mô tả những thông điệp và chức năng  
phức tạp. Do web service là sự kết hợp của nhiꢀu thành phần khác nhau, do đó web service  
sử dụng các tính năng và đặc trưng của các thành phần này để giao tiếp với nhau. Vì vậy  
XML là một công cụ chính yếu để giải quyết vấn đꢀ này. Web service tận dụng khả năng  
giải quyết vấn đꢀ của các ứng dụng lớn trên các hệ điꢀu hành khác nhau cho chúng giao  
11  
 
tiếp với nhau. Yêu cầu này được đáp ứng với lập trình Java, đây là sự lựa chọn thích hợp  
cho sự phát triển web service.  
- Giao thức HTTP là giao thức được sử dụng nhiꢀu nhất trong các giao thức trên internet.  
- Nꢀn tảng của web service bao gồm các chuẩn: SOAP, WSDL, UDDI, RESTful.  
1.4.2.3 Đặc điểm của dịch vụ Web  
a) Mô hình hoạt động  
Hình 1.1 Mô hình chung của Web Service  
- Giai đoạn triển khai công bố định nghĩa dịch vụ, xây dựng WSDL và triển khai mã  
thực thi của dịch vụ Web.  
- Giai đoạn tiến hnàh tìm kiếm và gọi thực thi dịch vụ Web bởi những người sử udnjg  
dịch vụ.  
- Giai đoạn quản lý quản lý và quản trị dịch vụ, duy trì sự ổn dịch của dịch vụ, cập  
nhật thông tin mới, sửa lỗi khi nó xảy ra.  
b) Quy trình xây dựng mt dch vWeb bao gồm các bước sau:  
- Định nghĩa và xây dựng các chức năng, các dịch vụ mà dịch vscung cp.  
- To WSDL cho dch v.  
- Xây dựng SOAP hoc REST server.  
- Đăng ký WSDL với UDDI registry để cho phép các client có thể tìm thấy và truy  
xut.  
- Client nhn tập tin WSDL và từ đó xây dựng SOAP hoặc REST client để có thể kết  
ni vi SOAP hoc REST server.  
12  
- Xây dựng ng dụng phía client và sau đó gọi thực hiên dịch vụ thông qua việc kết  
ni ti SOAP hoc REST server.  
c) XML eXtensible Markup Language  
- Là ngôn ngữ đánh dấu với mục đích chung do W3C đꢀ nghị.  
- Là một dạng chuẩn cho phép lưu các thông tin hướng cấu trúc, được tổ chức dưới  
dạng thẻ (tag) tương ứng.  
- Các thẻ (tag) của XML thường không được định nghĩa trước mà chúng được tạo ra  
theo quy ước của người, (hoặc Chương trình) tạo ra XML theo những quy ước của  
chính người tạo.  
- Giúp đơn giản hóa việc chia sẻ dữ liệu giữa các hệ thống khác nhau, đặc biệt là các  
hệ thống được kết nối với Internet.  
- Sử dụng các khai báo kiểu dữ liệu DTD (Document Type Dèinition) hay lược đồ  
Schenma để mô tả dữ liệu.  
d) JSON JavaScript Object Notation  
- Định nghĩa dữ liệu theo ngôn ngữ JavaScript, tiêu chuẩn ECMA-262 năm 1999.  
- Là một định dạng văn bản đơn giản với các trường dữ liệu được lồng vào nhau.  
- Dùng để trao đổi dữ liệu giữa các thành phần của một hệ thống tương thích với hầu  
hết các ngôn ngữ C, C++, C#, Java, JavaScript, Perl, Python…  
Vì sao nên sử dụng JSON ?  
- Có thể đọc hiểu và dễ dàng tiếp cận (human-readability).  
- Dữ liệu truyꢀn tải ngắn gọn so với những định dạng dữ liệu khác như: XML.  
HTML,..  
Tiết kiệm dung lượng hơn XML, HTML,…  
- Dễ dàng chuyển đổi (parse) dữ liệu từ dạng chuỗi (nhận từ server) sang dữ liệu có  
thể sử dụng được (Object, Number, Array).  
- Dễ truy cập nội dung.  
- Với những ứng dụng AJAX lấy và xử lý dữ liệu từ 1 web service nào đó khác  
domain. Nếu nội dung trả vꢀ có dạng JSON thì javascript từ trang web của chúng ta  
có thể trực tiếp truy cập.  
Các kiểu dữ liệu JSON  
- JSON có 5 kiểu dữ liệu chính:  
- Kiu s(Number).  
13  
- Kiu chui (String).  
- Kiu mng (Array).  
- Kiểu đối tượng (Object).  
- Giá tr(Value).  
Kiểu đối tượng (Object)  
- 1 đối tượng là 1 hỗn độn của các cặp tên và giá trị.  
- 1 đối tượng bắt đầu bởi dấu ngoặc đơn trái { và kết thúc với dấu ngoặc đơn phải }.  
- Từng tên được theo sau bởi dấu 2 chấm (:) và các cặp tên/giá trị được tách ra bởi  
dấu phẩy (,).  
- 1 đối tượng có thể chứa chiꢀu cặp tên/giá trị (Name/values).  
Hình 1.1  
Ví dụ:  
{"Ten":"Cuong", "Ho":"Nguyen"}  
Kiểu mảng (Array)  
- 1 mảng là 1 tập hợp các giá trị đã được sắp xếp.  
- 1 mảng bắt đầu bởi dấu mở ngoặc vuông trái [ và kết thúc với dấu ngoặc vuông  
phải ].  
- Các giá trị được cách nhau bởi dấu phẩy (,).  
- 1 mảng có thể chứa nhiꢀu đối tượng.  
Hình 1.2  
14  
Ví dụ:  
{
"NhanVien":  
[
{"tenNV":"Truong", "Ho":"Nguyen"},  
{"tenNV":"Dai", "Ho":"Dinh"},  
{"tenNV":"Hoc", "Ho":"Pham"}  
]
}
Kiểu giá trị (Value)  
Giá trị JSON có thể là:  
- 1 số nguyên (integer) hay số thực (floating point).  
- 1 chuỗi (nằm trong dấu nháy đôi "").  
- 1 luận lý (true hoặc false).  
- 1 mảng (nằm trong ngoặc vuông []).  
- 1 đối tượng (nằm trong dấu ngoặc nhọn {}).  
- Kiểu null.  
Những cấu trúc này có thể đã được lồng vào nhau.  
Hình 1.3  
15  
Kiểu chuỗi (String)  
- 1 chuỗi (string) là 1 tập hợp của các số hay mẫu tự Unicode, được bao bọc trong các dấu  
trích dẫn kép (").  
- Dùng dấu chéo (/) để thoát khỏi 1 chuỗi.  
- 1 ký tự đã được hiển thị như là 1 chuỗi ký tự đơn đọc.  
1.4.2.4 Kiến trúc của Dịch vụ Web  
Dịch vụ Web gồm có 3 chuẩn chính: SOAP (Simple Object Access Protocol), WSDL  
(Web Service Description Language) và UDDI (Universal Description, Discovery, and  
Integration). Hình 1 mô tả chồng giao thức của dịch vụ Web, trong đó UDDI được sử dụng  
để đăng ký và khám phá dịch vụ Web đã được miêu tả cụ thể trong WSDL. Giao tác UDDI  
sử dụng SOAP để nói chuyện với UDDI server, sau đó các ứng dụng SOAP yêu cầu một  
dịch vụ Web. Các thông điệp SOAP được gửi đi chính xác bởi HTTP và TCP/IP.  
Chồng giao thức dịch vụ Web là tập hợp các giao thức mạng máy tính được sử dụng để  
định nghĩa, xác định vị trí, thi hành và tạo nên dịch vụ Web tương tác với những ứng dụng  
hay dịch vụ khác. Chồng giao thức này có 4 thành phần chính:  
– Dịch vụ vận chuyển (Service Transport): có nhiệm vụ truyꢀn thông điệp giữa các ứng  
dụng mạng, bao gồm những giao thức như HTTP, SMTP, FTP, JSM và gần đây nhất là  
giao thức thay đổi khổi mở rộng (Blocks Extensible Exchange Protocol- BEEP).  
– Thông điệp XML: có nhiệm vụ giải mã các thông điệp theo định dạng XML để có thể  
hiểu được ở mức ứng dụng tương tác với người dùng. Hiện tại, những giao thức thực  
hiện nhiệm vụ này là XML-RPC, SOAP và REST.  
– Mô tả dịch vụ: được sử dụng để miêu tả các giao diện chung cho một dịch vụ Web cụ  
thể. WSDL thường được sử dụng cho mục đích này, nó là một ngôn ngữ mô tả giao tiếp  
và thực thi dựa trên XML. Dịch vụ Web sẽ sử dụng ngôn ngữ này để truyꢀn tham số và  
các loại dữ liệu cho các thao tác và chức năng mà dịch vụ Web cung cấp.  
– Khám phá dịch vụ: tập trung dịch vụ vào trong một nơi được đăng ký, từ đó giúp một  
dịch vụ Web có thể dễ dàng khám phá ra những dịch vụ nào đã có trên mạng, tốt hơn  
trong việc tìm kiếm những dịch vụ khác để tương tác. Một dịch vụ Web cũng phải tiến  
hành đăng ký để các dịch vụ khác có thể truy cập và giao tiếp. Hiện tại, UDDI API  
thường được sử dụng để thực hiện công việc này.  
Trong đó, tầng giao thức tương tác dịch vụ (Service Communication Protocol) với công  
nghệ chuẩn là SOAP. SOAP là giao thức nằm giữa tầng vận chuyển và tầng mô tả thông  
tin vꢀ dịch vụ, cho phép người dùng triệu gọi một dịch vụ từ xa thông qua một thông điệp  
XML. Ngoài ra, để các dịch vụ có tính an toàn, toàn vẹn và bảo mật thông tin, trong kiến  
trúc dịch vụ Web, chúng ta có thêm các tầng Policy, Security, Transaction, Management.  
16  
1.4.2.5 An toàn cho dịch vụ Web  
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ế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 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ĩa thô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à an toà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 an toàn chung cho dịch  
vụ Web nhưng nó đã cung cấp một lớp bảo mật khá đầ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 cho SOAP, 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ꢀ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 an toàn khác bao gồm  
PKI, Kerberos và SSL. Nó cũng đưa ra nhiꢀ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ính  
tin cậy của thông điệp. Tuy nhiên, WS-security cũng chưa thể đảm bảo được tất cả yêu cầu  
vꢀ bảo mật và an toàn thông tin, nó chỉ là một trong những lớp của giải pháp an toàn cho  
dịch vụ Web.  
Tính toàn vẹn tạo ra một chữ ký số hóa XML dựa trên nội dung của thông điệp. Nếu dữ  
liệu bị thay đổi bất hợp pháp, nó sẽ không còn thích hợp với chữ ký số hóa XML đó. Chữ  
ký này được tạo ra dựa trên khóa mà người gửi thông điệp tạo ra, do đó người nhận chỉ  
nhận thông điệp khi có chữ ký sử dụng và nội dung phù hợp. Ngược lại sẽ có một thông  
báo lỗi. Việc chứng thực được thực hiện giữa client và server là cách chứng thực rất cơ bản  
(sử dụng định danh người dùng và mật khẩu).  
WS-security chỉ là một trong những lớp an toàn và bảo mật cho dịch vụ Web, vì vậy cần  
một mô hình an toàn chung lớn hơn để có thể bao quát được các khía cạnh khác. Các thành  
phần được thêm có thể là WS-Secure Conversation Describes,WS-Authentication  
Describes,WS-Policy Describes hay WS-Trust Describes. Chúng sẽ thực hiện việc đảm  
17  
bảo an toàn hơn cho hệ thống khi trao đổi dữ liệu, mở và đóng các phiên làm việc cũng  
như quản lý dữ liệu cần chứng thực và chính sách chứng thực.  
1.4.2.6 Xây dựng một dịch vụ Web  
Có 4 giai đoạn chính để xây dựng một dịch vụ Web là xây dựng, triển khai, tiến hành và  
quản lý, trong đó:  
– Giai đoạn xây dựng bao gồm phát triển và chạy thử ứng dụng dịch vụ Web, xây dựng  
các chức năng và định nghĩa dịch vụ. Có hai cách khác nhau để tiến hành trong giai  
đoạn này, đó là Red-path- solod và Blue-path-dashed. Với Red- path-solod, chúng ta sẽ  
xây dựng một dịch vụ Web mới từ trạng thái ban đầu hoặc với một dịch vụ đã có sẵn.  
Từ đó, xây dựng định nghĩa service (WSDL) với các đối tượng, hàm chức năng mà  
chúng ta mong muốn. Nếu theo cách Blue-path-dashed, dịch vụ Web sẽ được xây dựng  
từ đầu hoặc từ một định nghĩa dịch vụ WSDL. Sử dụng WSDL này, xây dựng hoặc sửa  
đổi lại mã để thực hiện các yêu cầu mong muốn trong dịch vụ Web.  
– Giai đoạn triển khai: công bố định nghĩa dịch vụ, xây dựng WSDL và triển khai mã  
thực thi của dịch vụ Web. Triển khai dịch vụ Web tới một ứng dụng phía server, sau đó  
sẽ công bố dịch vụ Web trên mạng Internet để các client có thể nhìn thấy. Sử dụng  
UDDI registry để công bố lên mạng.  
– Giai đoạn tiến hành: tìm kiếm và gọi thực thi dịch vụ Web bởi những người dùng  
muốn sử dụng dịch vụ.  
– Quản lý: Quản lý và quản trị dịch vụ, duy trì sự ổn định của dịch vụ, cập nhật thông  
tin mới, sửa lỗi khi nó xảy ra…  
Để xây dựng một dịch vụ Web, chúng ta cần hiểu được những việc phải làm và nên bắt đầu  
từ đâu. Có 3 cách tiếp cận chủ yếu để xây dựng nên một dịch vụ Web, có thể từ một ứng  
dụng đã có (bottom-up); từ một định nghĩa dịch vụ, WSDL để phát sinh một ứng dụng mới  
(top-down) hoặc có thể từ một nhóm các dịch vụ Web hiện có, kết hợp lại với nhau để tạo  
nên các chức năng mới hoặc mở rộng thêm chức năng. Những hướng tiếp cận này dựa trên  
những gì mà chúng ta đã có, tùy thuộc vào yêu cầu của hệ thống, trong đó tối đa việc sử  
dụng lại các chức năng, các thành phần, môđun đã được xây dựng.  
Qui trình xây dựng một dịch vụ Web bao gồm các bước sau:  
- Định nghĩa và xây dựng các chức năng, các dịch vụ mà dịch vụ sẽ cung cấp (sử dụng  
ngôn ngữ Java chẳng hạn).  
- Tạo WSDL cho dịch vụ  
- Xây dựng SOAP server  
- Đăng ký WSDL với UDDI registry để cho phép các client có thể tìm thấy và truy xuất.  
- Client nhận file WSDL và từ đó xây dựng SOAP client để có thể kết nối với SOAP  
18  
server  
- Xây dựng ứng dụng phía client (chẳng hạn sử dụng Java) và sau đó gọi thực hiện dịch  
vụ thông qua việc kết nối tới SOAP server.  
- Lựa chọn một ngôn ngữ, xây dựng các tiến trình nghiệp vụ và chúng ta bắt đầu tạo nên  
một dịch vụ Web như ý muốn. Sau đó là cung cấp dịch vụ Web này trên Internet.  
1.4.2.7. Tích hợp dịch vụ Web theo chuẩn  
- Để có thể thành công với dịch vụ Web chúng ta phải quan tâm đến khá nhiꢀu vấn đꢀ, bao  
gồm việc triển khai, giám sát và tích hợp hệ thống. Doanh nghiệp không những phải phát  
triển một ứng dụng dịch vụ Web mới mà còn phải tích hợp các ứng dụng nghiệp vụ phụ trợ  
của họ trong kiến trúc Dịch vụ Web. Cùng với việc triển khai và tích hợp, những nhà kinh  
doanh và những người sử dụng kỹ thuật cũng cần có khả năng giám sát, triển khai toàn  
diện để đảm bảo hoạt động kinh doanh hiệu quả và tin cậy.  
– Giám sát (monitoring): Cần hỗ trợ ở cả mức công cụ và cơ sở hạ tầng để giám sát các  
dịch vụ Web chạy như thế nào qua toàn bộ mạng, từ một chi nhánh con của một công ty  
trên mạng tới các chi nhánh khác trong công ty hay giao tiếp với doanh nghiệp khác. Kết  
hợp thông báo theo sự kiện với các lỗi trong luồng nghiệp vụ cho những người dùng không  
có kinh nghiệm giám sát dịch vụ Web và các dịch vụ kế thừa khác.  
– Xác định đường đi dữ liệu (Data routing): Việc thiết lập đường đi của dữ liệu giữa những  
thành phần của dịch vụ Web hướng tới tối đa hóa khả năng sử dụng lại. Nếu coi một thành  
phần (component) là một đối tượng thì mỗi thể hiện (instance) của nó sẽ không quan tâm  
đến các thể hiện khác của cùng thành phần đó. Những thể hiện của cùng một thành phần có  
thể dễ dàng được sử dụng lại trong các ứng dụng phân tán khác bởi vì chúng hoàn toàn độc  
lập và không phụ thuộc lẫn nhau.  
– Triển khai (Deployment): Triển khai các dịch vụ Web có khả năng nâng cấp, điꢀu khiển  
và cấu hình các thành phần từ xa thông qua mạng phân tán.  
– Quản lý (Management): Có thể xây dựng theo kiến trúc P2P (Peer-to-Peer). Các hoạt  
động chính như thực thi các thành phần, định tuyến dữ liệu, xử lý luồng công việc và  
chuyển đổi dữ liệu được thực hiện tại các điểm cuối của mạng. Server sẽ tập trung giải  
quyết các hoạt động khác như quản lý, điꢀu khiển sự kiện, chứng thực bảo mật và quản trị.  
– Cấu hình và quản lý phiên bản (Configuration and version management): Sử dụng các  
công cụ linh hoạt để quản lý các phiên bản khác nhau của dịch vụ Web, cho phép các phiên  
bản được nâng cấp và điꢀu khiển từ một công cụ quản lý tập trung. Kết hợp giữa ứng dụng  
và mạng giúp các kỹ sư triển khai có thể điꢀu khiển các thành phần chạy trên nꢀn tảng hệ  
thống phần cứng cụ thể bên trong mạng.  
19  
– Bảo mật (Security): các chuẩn mở như HTTP, XML, SOAP, WSDL và chuẩn bảo mật  
JSM được sử dụng rộng rãi khiến chúng trở thành lý tưởng để xây dựng các ứng dụng web.  
Đầu tiên, dịch vụ Web sử dụng những công nghệ này giống như firewall, SSL và các  
chứng nhận số. Dịch vụ Web thế hệ sau này sẽ kết hợp với những công nghệ có khả năng  
bảo mật cao hơn, giống như mã hóa XML và chứng nhận số XML.  
Như vậy, với một dịch vụ Web, việc giao tiếp và truyꢀn nhận dữ liệu trở nên dễ dàng và  
hiệu quả hơn, đồng thời đem lại chi phí thấp hơn và tăng cường những khả năng giao tiếp  
thời gian thực, kết nối với mọi người trên khắp thế giới. Bản chất của nꢀn tảng công nghệ  
này là kiến trúc hướng dịch vụ và sự phát triển của dịch vụ Web có tương lai rất khả quan.  
1.5 Giới thiệu về ngôn ngữ PHP và MYSQL  
1.5.1 Ngôn ngữ PHP  
PHP ( viết tắt hồi quy “PHP: Hypertext Preprocessor”) : là một ngôn ngữ lập trình kịch  
bản hay một loại mã lệnh chủ yếu được dùng để phát triển các ứng dụng viết cho máy  
chủ, mã nguồn mở, dùng cho mục đích tổng quát. Nó rất thích hợp với web và có thể dễ  
dàng nhúng vào trang HTML. Do được tối ưu hóa cho các ứng dụng web, tốc độ nhanh,  
nhỏ gọn, cú pháp giống C Java  
PHP được phát triển từ một sản phẩm có tên là PHP/FI. PHP/FI do Rasmus Lerdorf tạo  
ra năm 1994, ban đầu được xem như là một tập con đơn giản của các mã kịch  
bản Perl để theo dõi tình hình truy cập đến bản sơ yếu lý lịch của ông trên mạng. Ông đã  
đặt tên cho bộ mã kịch bản này là 'Personal Home Page Tools'. Khi cần đến các chức  
năng rộng hơn, Rasmus đã viết ra một bộ thực thi bằng C lớn hơn để có thể truy vấn tới  
các cơ sở dữ liệu và giúp cho người sử dụng phát triển các ứng dụng web đơn giản.  
Rasmus đã quyết định công bố mã nguồn của PHP/FI cho mọi người xem, sử dụng cũng  
như sửa các lỗi có trong nó đồng thời cải tiến mã nguồn.  
TOOL :  
-Notepad++  
-Netbean  
-Sublime Text  
-PHP Designer  
1.5.2 Hệ quản trị CSDL MYSQL  
MySQL hệ quản trị cơ sở dữ liệu tự do nguồn mở phổ biến nhất thế giới và được các  
nhà phát triển rất ưa chuộng trong quá trình phát triển ứng dụng. MySQL là cơ sở dữ liệu  
tốc độ cao, ổn định và dễ sử dụng, có tính khả chuyển, hoạt động trên nhiꢀu hệ điꢀu hành  
cung cấp một hệ thống lớn các hàm tiện ích rất mạnh. Với tốc độ và tính bảo mật cao,  
MySQL rất thích hợp cho các ứng dụng có truy cập CSDL trên internet. Người dùng có  
thể tải vꢀ MySQL miễn phí từ trang chủ. MySQL có nhiꢀu phiên bản cho các hệ điꢀu  
20  
     
Tải về để xem bản đầy đủ
pdf 58 trang yennguyen 29/03/2022 6981
Bạn đang xem 20 trang mẫu của tài liệu "Đồ án Xây dựng hệ thống hóa đơn điện tử trên nền tảng web sử dụng các dịch vụ cung cấp từ Viettel", để tải tài liệu gốc về máy hãy click vào nút Download ở trên

File đính kèm:

  • pdfdo_an_xay_dung_he_thong_hoa_don_dien_tu_tren_nen_tang_web_su.pdf