1. Trang chủ
  2. » Luận Văn - Báo Cáo

DÙNG GIAO THỨC SOAP VÀ WEB SERVICE ĐỂ CAN THIỆP VÀO CƠ SỞ DỮ LIỆU THUÊ BAO TRẢ TRƯỚC CỦA VINAPHONE

69 1,5K 0
Tài liệu đã được kiểm tra trùng lặp

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Tiêu đề Dùng Giao Thức SOAP Và Web Service Để Can Thiệp Vào Cơ Sở Dữ Liệu Thuê Bao Trả Trước Của Vinaphone
Tác giả Nguyễn Trọng Bình
Người hướng dẫn Tiến sĩ Nguyễn Kim Lan
Trường học Học viện Công nghệ Bưu chính Viễn thông
Chuyên ngành Công nghệ Thông tin
Thể loại Luận văn tốt nghiệp
Năm xuất bản 2023
Thành phố Hà Nội
Định dạng
Số trang 69
Dung lượng 1,16 MB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

Đề tài : DÙNG GIAO THỨC SOAP VÀ WEB SERVICE ĐỂ CAN THIỆP VÀO CƠ SỞ DỮ LIỆU THUÊ BAO TRẢ TRƯỚC CỦA VINAPHONE Luận văn được chia thành 03 chương: Giới thiệu về hệ thống trả tiền trước của Vinaphone Tìm hiểu các giao thức liên quan Nghiên cứu phát triển chương trình ứng dụng

Trang 1

LỜI CẢM ƠN

Tôi xin tỏ lòng cám ơn sâu sắc Tiến sĩ NGUYỄN KIM LAN, Phó Giám

đốc Học viện Công nghệ Bưu chính Viễn thông, đã tận tình hướng dẫn, góp ý giúp tôi thực hiện và hoàn thành luận văn tốt nghiệp này

Tôi xin trân trọng cảm ơn các thầy, cô đã tận tâm giảng dạy, truyền đạt kiến thức, kinh nghiệm thiết thực bổ ích cho hoạt động nghiên cứu và công tác thực tiễn của bản thân cũng như đúc kết vào bản luận văn này trong quá trình học tập tại Học viện nói chung cũng như tại Khoa Quốc tế và Sau đại học nói riêng

Xin được cảm ơn Lãnh đạo và các đồng nghiệp tại Đài GSM – Trung tâm Dịch vụ Viễn thông KVI và Tổ PPS-IN – Trung tâm Phát triển Dịch vụ, Công ty Vinaphone đã tạo điều kiện, giúp đỡ tôi trong thời gian khóa học và khi phát triển

đề tài, ứng dụng đề tài trong thực tế

Tôi cũng xin chân thành cảm ơn gia đình đã chia sẻ, động viên tôi trong quá trình nghiên cứu và hoàn thành bản luận văn này

Trong quá trình nghiên cứu, do trình độ và phạm vi nghiên cứu còn hạn chế nên bản luận văn này không tránh khỏi những thiếu sót nhất định Kính mong nhận được sự góp ý chân thành của các thầy giáo, cô giáo, các bạn bè đồng nghiệp để đề tài này được hoàn thiện hơn

Xin trân trọng cảm ơn!

Học viên thực hiện

Nguyễn Trọng Bình

Trang 2

Mục lục

L I C M N Ờ Ả Ơ 1

THU T NG , CH VI T T T Ậ Ữ Ữ Ế Ắ 3

DANH M C B NG Ụ Ả 4

DANH M C HÌNH V , Ụ Ẽ ĐỒ TH Ị 4

PH N M Ầ Ở ĐẦ 5 U PH N N I DUNG Ầ Ộ 7

Ch ng 1: GI I THI U V H TH NG TR TI N TR ươ Ớ Ệ Ề Ệ Ố Ả Ề ƯỚ C C A Ủ VINAPHONE 7

1Nguyên lý ho t ạ độ ng c a thuê bao tr tr ủ ả ướ 7 c: 2Gi i thi u v h th ng tr tr ớ ệ ề ệ ố ả ướ ủ c c a hãng Comverse: 9

3 M t s d ch v v ch ộ ố ị ụ à ươ ng trình khuy n m i m i: ế ạ ớ 12

4Các lo i d li u trong c s d li u thuê bao tr tr ạ ữ ệ ơ ở ữ ệ ả ướ 14 c: 5Can thi p v o d li u tr tr ệ à ữ ệ ả ướ c b ng các công c hi n t i: ằ ụ ệ ạ 19

6K t lu n: ế ậ 24

Ch ươ ng 2: Tìm hi u các giao th c liên quan ể ứ 25

3 TCP/IP 25

4 HTML 27

5 XML 28

6 Gi i thi u s l ớ ệ ơ ượ ề ổ c v t ch c W3C: ứ 29

7 HTTP: 30

8 RPC: 31

9 Web services: 32

10 WSDL: 37

11 SOAP: 39

11.1.1Một số ưu điểm nổi bật của SOAP: 39

11.1.2Cú pháp của SOAP: 41

11.1.3Xử lý lỗi của bản tin SOAP 44

11.1.4Đóng gói bản tin SOAP vào trong bản tin HTTP: 47

11.1.5Truy cập dữ liệu có cấu trúc: 48

11.1.6Một số hàm cơ bản của SOAP::Lite để tạo bản tin XML 50

2 10 K t lu n: ế ậ 53

Ch ươ ng 3: Nghiên c u phát tri n ch ứ ể ươ ng trình ng d ng ứ ụ 54

1.Gi i thi u: ớ ệ 54

2.Yêu c u ầ đặ t ra c a ch ủ ươ ng trình: 55

3.Xây d ng thu t toán, thi t k , phát tri n ch ự ậ ế ế ể ươ ng trình: 59

4 Ch y ch ạ ươ ng trình, các thông s ố đạ đượ 63 t c: 5 Áp d ng trong th c t : ụ ự ế 64

6 Nh n xét, ánh giá: ậ đ 65

Trang 3

PH N K T LU N: Ầ Ế Ậ 66 DANH M C TÀI LI U THAM KH O Ụ Ệ Ả 69

THUẬT NGỮ, CHỮ VIẾT TẮT

được hưởng khuyến mại tương ứng,

Interface

Giao diện lập trình ứng dụng

để hưởng khuyến mại

CCWS Customer Care Web Service Web service chăm sóc khách hàngGPRS General Package Radio Service Dịch vụ vô tuyến gói chung

Administration

Giao diện máy trạm quản lý

HTTP Hyper Text Transfer Protocol Giao thức truyền tải siêu văn bảnHTML Hyper Text Markup Language Ngôn ngữ đánh dấu siêu văn bảnHSBN High speed backbone network Mạng đường trục tốc độ cao

IVRU Interactive Voice Response Unit Khối trả lời thoại tương tác

MMS Multimedia Messaging Service Dịch vụ tin nhắn đa phương tiệnPayment

server

Máy chủ phục vụ việc trừ cước dịch

vụ (cuộc gọi, MMS, GPRS, …)

Trang 4

SAW Service Administration

Workstation

Máy trạm quản trị dịch vụ

SOAP Simple Object Access Protocol/

Service Oriented Architecture Protocol

Giao thức truy cập đối tượng đơn giản/Giao thức cấu trúc hướng dịch vụ

SQL Structured Query Language Ngôn ngữ truy xuất có cấu trúc

SMSC Short Message Service Center Trung tâm dịch vụ tin nhắn

Discovery and Integration

Chuẩn viết bằng XML để mô tả, quảng bá và tìm kiếm Web serviceURL Uniform Resource Locator Phần xác định địa chỉ tài nguyên

DANH MỤC HÌNH VẼ, ĐỒ THỊ

Trang

Trang 5

Hình 1.2 Khai báo các bonus plan 19

Hình 1.4 Giao diện GUI chạy HIA cho một file nhiều thuê bao 22Hình 2.1 Một mô hình ngăn xếp giao thức và các lớp tương ứng 26

PHẦN MỞ ĐẦU

Đối với một nhà cung cấp dịch vụ di động thì mảng thuê bao trả trước chiếm một phần quan trọng về số lượng, về các dịch vụ dành riêng, về đầu tư công nghệ cũng như về doanh thu Thuê bao di động trả trước có thêm tài khoản nằm trên hệ thống của nhà cung cấp dịch vụ so với các thuê bao trả sau thông thường, điều đó

đã làm nảy sinh nhiều vấn đề về mặt công nghệ để lưu trữ, bảo dưỡng và xử lý chúng

Việc can thiệp vào cơ sở dữ liệu thuê bao trả trước luôn cần thiết nhưng cũng cần hết sức thận trọng Sửa đổi dữ liệu được thực hiện để phục vụ các mục đích chăm sóc khách hàng, thực hiện khuyến mãi, đồng bộ dữ liệu… Khi sửa dữ liệu nóng phải chú ý tới ảnh hưởng của nó vì có liên quan đến sự biến đổi liên tục của

dữ liệu thuê bao Khả năng xấu có thể xảy ra khi sửa dữ liệu là gây tăng tải đột biến của cơ sở dữ liệu, bảng dữ liệu bị khóa (lock) dẫn đến dữ liệu thuê bao không truy cập được (thuê bao có thể không thực hiện được cuộc gọi, không nạp thẻ được…),

dữ liệu thuê bao thiếu nhất quán (thông tin truy xuất ra không đúng với thực tế)

Đi kèm với cơ sở dữ liệu của thuê bao, nhà cung cấp hệ thống (các hãng cung cấp thiết bị) luôn có chương trình giao diện GUI đi kèm để cho các nhân viên

Trang 6

chăm sóc khách hàng có thể truy xuất được thông tin về thuê bao, một số người dùng cấp cao có thể dùng GUI để sửa đổi dữ liệu của thuê bao, nhưng công cụ chính của các kỹ sư quản lý, vận hành, bảo trì và phát triển hệ thống vẫn là các chương trình tự xây dựng để có thể làm việc với số lượng lớn thuê bao (làm việc theo batch) và cao hơn là có thể xử lý số liệu thuê bao theo giải thuật, theo tình huống Các chương trình như vậy chủ yếu là dùng kết nối TELNET truyền thống hoặc vào máy chủ cơ sở dữ liệu để gõ lệnh SQL trực tiếp vào cơ sở dữ liệu nhưng thường không được các nhà cung cấp hệ thống khuyến nghị và hỗ trợ.

Được sự định hướng và chỉ bảo tận tình của Tiến Sĩ Nguyễn Kim Lan cùng

với quá trình nghiên cứu tìm hiểu của bản thân, tôi quyết định lựa chọn đề tài luận

văn tốt nghiệp: “Dùng giao thức SOAP và Web service để can thiệp vào cơ sở

dữ liệu thuê bao trả trước của Vinaphone”.

Luận văn tập trung cho việc nghiên cứu lý thuyết và phát triển chương trình phần mềm hoạt động trên giao thức SOAP truy cập Web service để can thiệp và sửa đổi dữ liệu thuê bao trả trước của Vinaphone một cách an toàn, tốc độ và có thể thực hiện theo giải thuật mong muốn

Phương pháp nghiên cứu là bám vào yêu cầu thực tiễn sản xuất, tìm hiểu ưu điểm của giao thức SOAP và Web service và lấy đó làm nền tảng lý thuyết, dùng các kết quả thực nghiệm để kiểm chứng và để hoàn thiện chương trình Mục tiêu cuối cùng là áp dụng chương trình vào hoạt động sản xuất trong thực tiễn tại đơn vị

Luận văn được chia thành 03 chương:

Chương I: Giới thiệu về hệ thống trả tiền trước của Vinaphone

Chương I giới thiệu về thuê bao trả trước, vấn đề lưu trữ và xử lý dữ liệu thuê bao trả trước và mô tả sơ lược về hệ thống trả trước của hãng Comverse, giới thiệu các tính năng và các chương trình khuyến mại mà khi thực hiện sẽ cần can thiệp nhiều đến dữ liệu thuê bao trả trước Chương này cũng giới thiệu các phương

Trang 7

pháp can thiệp vào dữ liệu thuê bao trả trước hiện tại và các ưu, nhược điểm của chúng, từ đó cho thấy tính cần thiết của việc phát triển chương trình mới.

Chương II: Tìm hiểu các giao thức liên quan

Chương này giới thiệu lần lượt các công nghệ, giao thức và ngôn ngữ liên quan đến nội dung chương trình, chú trọng đến mô tả ưu điểm của giao thức SOAP, cách hoạt động và nội dung các bản tin SOAP

Chương III: Nghiên cứu phát triển chương trình ứng dụng

Chương này đề cập đến mô hình hoạt động của SOAP và Web service tại đơn vị, quá trình thiết kế giải thuật và nghiên cứu phát triển ứng dụng trong thực tế

PHẦN NỘI DUNG

Chương 1: GIỚI THIỆU VỀ HỆ THỐNG TRẢ TIỀN TRƯỚC CỦA VINAPHONE

1 Nguyên lý hoạt động của thuê bao trả trước:

1 Thuê bao trả sau:

Thuê bao trả sau là loại hình thuê bao xuất hiện đầu tiên và cho đến nay vẫn

là thuê bao có các dịch vụ cơ bản nhất Thuê bao trả sau có logic hoạt động và các dịch vụ gần giống với các thuê bao cố định hiện nay, tức là sử dụng dịch vụ không hạn chế và thanh toán cước phí vào cuối kỳ Để phục vụ các thuê bao trả sau thì chỉ cần các thành phần lõi của một mạng di động bao gồm MS, BTS, BSC, MSC, VLR, HLR, SMSC và một trung tâm thu nhận cước là về cơ bản đã có thể đáp ứng các dịch vụ cho thuê bao Các dịch vụ và các chương trình khuyến mại dành cho thuê bao trả sau cũng không thật nhiều và đa dạng, các hình thức khuyến mại vẫn chủ

Trang 8

yếu là giảm tiền hòa mạng, giảm trừ tiền cước vào biên lai vào cuối kỳ thanh toán

và một số các hoạt động chăm sóc khách hàng khác

2 Thuê bao trả trước:

So với thuê bao trả sau thì thuê bao trả trước có thêm tài khoản trả trước nằm trong hệ thống của nhà cung cấp dịch vụ, thuê bao trả trước không thể sử dụng dịch

vụ không giới hạn như thuê bao trả sau mà sẽ phải có bước kiểm tra xem thuê bao

có đủ điều kiện sử dụng dịch vụ hay không Điều kiện sử dụng dịch vụ phụ thuộc vào trạng thái của tài khoản, bao gồm số dư tài khoản so với mức cước của dịch vụ đang yêu cầu sử dụng và thời hạn của tài khoản Việc kiểm tra được thực hiện bởi các bản tin báo hiệu trao đổi bởi các phần tử chuyên trách trong hệ thống trả trước ngay khi thuê bao thực hiện cuộc gọi Theo đó để phục vụ thuê bao trả trước cần có thêm một hệ thống trả trước (PPS) để quản lý các dữ liệu của thuê bao trả trước và các node có chức năng của SSP (Service Switching Point) và SCP (Service Control Point) để cung cấp các dịch vụ trả trước, nhận biết cuộc gọi trả trước và điều khiển, định tuyến các cuộc gọi tùy theo dịch vụ yêu cầu

Số dư tài khoản và thời hạn sử dụng sẽ được gia tăng khi thuê bao mua bằng lượng tiền mặt tương đương dưới hình thức nạp thẻ (thẻ cào, thẻ điện tử, cho/tặng giữa các thuê bao, trả tiền trực tiếp cho đại lý…) trước khi sử dụng các dịch vụ

Có hai phương thức tính cước cho thuê bao trả trước:

 Tính cước online: Cước được tính theo thời gian thực Các thuê bao trả trước khi thực hiện dịch vụ (thực hiện cuộc gọi, nhắn tin,…) sẽ được hệ thống kiểm tra về các điều kiện (chủ yếu là số dư tài khoản và thời hạn sử dụng của tài khoản) bằng các bản tin báo hiệu để có thể tiếp tục sử dụng dịch vụ Trong trường hợp không đủ điều kiện thì việc sử dụng dịch vụ sẽ bị từ chối, khách hàng đang sử dụng dịch vụ cũng sẽ bị ngắt kết nối

 Tính cước offline: Cước của các dịch vụ sử dụng được xử lý sau (có trễ) khi dịch vụ được sử dụng Đây là hình thức tính cước cũ và phổ biến, thường thích hợp đối với một số dịch vụ nhắn tin và truy cập các dịch vụ về data Tài khoản

Trang 9

của thuê bao chỉ bị trừ sau vài phút sử dụng dịch vụ, thuê bao chỉ được kiểm tra

về khả năng tiếp tục sử dụng dịch vụ tại mỗi thời điểm tiền bị trừ

Mỗi loại hình thuê bao sẽ có một ưu nhược điểm riêng nhưng nhìn chung thuê bao trả trước thường thích hợp với các khách hàng không sử dụng dịch vụ quá nhiều một cách thường xuyên, đối tượng phục vụ đa dạng theo nhu cầu sử dụng riêng một dịch vụ nào đó (khách hàng thông thường, khách hàng thường xuyên nhắn tin, khách hàng thường xuyên chờ cuộc gọi…) và khách hàng có thể hạn chế được mức sử dụng của chính mình nhờ vào tài khoản

Về phía nhà cung cấp dịch vụ di động thì các thuê bao trả trước cũng là đối tượng được khuyến khích phát triển và thường xuyên được hưởng các hình thức khuyến mại đa dạng và linh hoạt nhằm vào tài khoản của khách hàng

2 Giới thiệu về hệ thống trả trước của hãng Comverse:

Có nhiều mô hình triển khai hệ thống PPS trên thế giới Hệ thống PPS của hãng Ericsson và Comverse được sử dụng tại Vinaphone được thực hiện trên cơ sở mạng IN (Intelligent Network) Cụ thể về mô hình mạng IN có thể được tham khảo tại các tài liệu chuyên sâu của mạng IN, phần tiếp theo đây chỉ có tính giới thiệu sơ

bộ hệ thống PPS IN của Comverse trong mạng VinaPhone nằm trong phạm vi nghiên cứu của đề tài

1.2.1 Tổng quan về hệ thống PPS IN của hãng Comverse.

Trang 10

Hình 1.1 Mô hình tổng quan mạng PPS Comverse

SLU (Service Logic Unit):

SLU là một trong các điểm điều khiển chính của hệ thống có chức năng xử

lý cuộc gọi, tính cước, truyền báo hiệu và thực hiện giao tiếp với các khối bên trong như: SDP, IVR SLU bao gồm hai phần:

- Service Logic Function (SLF): cung cấp môi trường cho các ứng dụng thời gian thực hoạt động Ví dụ: phụ trách tính cước

- IP Core Function (IPF): Quản lý các tài nguyên thoại và chuyển mạch của

hệ thống, giao tiếp với các thành phần mạng báo hiệu khác và cung cấp các dịch vụ như thu thập thống kê và quản lý báo hiệu

Hiện tại hệ thống PPS Comverse của Vinaphone bao gồm 29 SLU trong đó

có 9 SLU đóng vai trò làm Payment Server sử dụng giao thức TCP/IP chịu trách nhiệm trừ tiền nhắn tin SMS, GPRS, điều chỉnh tài khoản

SDP (Service Data Point):

SDP là hệ thống máy chủ cơ sở dữ liệu của thuê bao trả trước, sử dụng phần mềm cơ sở dữ liệu Oracle SDP của Comverse có hai cơ sở dữ liệu Cơ sở dữ liệu

Trang 11

thứ nhất còn gọi là cơ sở dữ liệu chính (Main Database_Main DB), bao gồm dữ liệu

về thuê bao, thẻ cào và đây là dữ liệu theo thời gian thực Cơ sở dữ liệu thứ hai còn gọi là cơ sở dữ liệu lịch sử (History Database_History DB) bao gồm các bản ghi lịch sử cuộc gọi, nạp thẻ, tài khoản và cơ sở dữ liệu này không theo thời gian thực

CCS (Call Control Server):

CCS chịu trách nhiệm cung cấp giao diện báo hiệu C7 giao tiếp với IVR để phục vụ các cuộc gọi 900 nghe tài khoản và nạp thẻ

SGU (Signalling Gateway Unit):

SGU là điểm báo hiệu chịu trách nhiệm điều khiển các bản tin IN Khối này

có thể xử lý khối lượng lớn các bản tin của IN (như bản tin CAP2 hoặc CAP3) và các bản tin báo hiệu

Mỗi một SGU có thể giao tiếp được với nhiều SLU Các SGU CE nhận dạng các SLU thông qua giao thức DTCAP Cấu hình của các SLU đều có thông tin về các SGU CE và chúng luôn giao tiếp với nhau SLU nhận dạng SGU thông qua UDP socket

SGU hoạt động theo cấu hình Active – Standby và giữa hai CE Active và Standby có chia sẻ về lưu lượng báo hiệu C7

TRM (TRILOGUE Manager):

TRM đóng vai trò là điểm quản lý trung tâm, có chức năng hỗ trợ và quản lý tất cả các truy nhập đến từng phần tử của hệ thống TRM cũng lưu trữ bản ghi chi tiết cuộc gọi (CDR_Call Detail Record) và hoạt động như một host ngoài tập hợp tính cước

IVRU (Interactive Voice Response Unit):

Trang 12

IVR được sử dụng để hướng dẫn khách hàng khi khách hàng gọi tới số dịch

vụ 900 trong việc nghe tài khoản, thời hạn và nạp thẻ IVRU hoạt động dưới sự điều khiển của SLU

SAW (Service Administration Workstation) và CCC (Service Administration Workstation):

SAW và CCC là giao diện đồ họa linh hoạt dành cho người sử dụng xem thông tin về thuê bao như: cuộc gọi, nạp thẻ, tài khoản, thời hạn, khuyến mại

CCWS (Customer Care Web Service):

CCWS là một máy chủ SOAP/XML trên cơ sở Web Service và là hệ điều hành giao diện độc lập dùng cho việc xây dựng tuỳ biến các ứng dụng dùng cho việc chăm sóc khách hàng

Trong sơ đồ của hệ thống thuê bao trả trước của Comverse chúng ta quan tâm nhiều nhất đến các khối SDP và CCWS Hai khối chức năng trên kết nối với nhau bằng mạng LAN địa chỉ nội bộ Cơ sở dữ liệu của thuê bao được đặt trên node SDP, chạy hệ điều hành Unix, phần mềm cơ sở dữ liệu là Oracle CCWS là các máy chủ web chạy hệ điều hành Windows NT cài đặt IIS, Net Framework 2.0

3 Một số dịch vụ và chương trình khuyến mại mới:

Phần này xin giới thiệu một số tính năng của hệ thống và các kịch bản khuyến mại tiêu biểu thường áp dụng Thông thường các chương trình khuyến mại được xây dựng trên cơ sở nhà cung cấp dịch vụ di động phân loại và tạo điều kiện cho các thuê bao được hưởng các tính năng khuyến mại sẵn có của hệ thống Đối với các kịch bản vượt ngoài các tính năng của hệ thống thì các kỹ sư của nhà cung cấp dịch vụ phải phát triển các phần mềm để đáp ứng các kịch bản đó và các chương trình như vậy sẽ thường xuyên can thiệp, sửa đổi dữ liệu của thuê bao

Trang 13

- Friends and Family (F&F):

F&F là một tính năng phụ trợ của hệ thống trả trước Comverse, là một gói tính cước có tính chất khuyến khích hoạt động của thuê bao trả trước F&F cho phép thuê bao đăng ký đến tối đa 10 số thuê bao khác vào trong Danh bạ F&F (Friends and Family Phonebook) của mình, danh bạ này nằm trong cơ sở dữ liệu của thuê bao trả trước Thuê bao thực hiện cuộc gọi hoặc nhắn tin đến các số nằm trong danh sách F&F sẽ được áp dụng một mức tính cước rẻ hơn so với mức cước cuộc gọi và nhắn tin bình thường Mỗi thuê bao đều có thể có danh sách F&F của riêng mình và việc đăng ký, thay đổi số thuê bao trong danh sách là linh hoạt, có thể thực hiện nhiều lần Thuê bao có thể thực hiện đăng ký các số thuê bao nằm trong danh sách F&F của mình theo nhiều cách, cách thông thường Vinaphone hay áp dụng là thực hiện nhắn tin đến số dịch vụ 900 theo một cú pháp quy định sẵn

Trang 14

này số lượng tin nhắn hợp lý nhất, tương tự, các khách hàng có nhu cầu gọi hoặc dịch vụ dữ liệu là chính cũng sẽ như vậy.

- Một số hình thức khuyến mại tiêu biểu:

Trên cơ sở các tính năng, dịch vụ mà phần mềm của hệ thống cung cấp, nhà khai thác dịch vụ đã và đang áp dụng các hình thức khuyến mại phổ biến như sau:

+ Kích hoạt mới được hưởng thêm tiền vào tài khoản

+ Thuê bao trên 3 năm được hưởng thêm 100% giá trị thẻ khi nạp, trong đó 50% vào tài khoản chính, 50% vào tài khoản nhắn tin và gọi nội mạng

+ Thuê bao thông thường nạp thẻ lần 1, 2, 3 được hưởng 30% giá trị thẻ nạp+ Thuê bao đã khóa 2 chiều nạp thẻ được hưởng 50% giá trị thẻ nạp

+ Thuê bao đăng ký 5 số máy thân thiết trong phạm vi các đầu số của VNPT

để được giảm tới 90% cước cuộc gọi

+ Thuê bao nghe cũng được thưởng tiền vào tài khoản dựa trên số phút liên lạc v.v…

Tùy thuộc vào nhu cầu và xu hướng của thị trường mà các loại hình khuyến mại có thể được triển khai áp dụng từ cùng một thời điểm hoặc áp dụng xen kẽ, bổ sung nhau Việc xử lý, phân loại dữ liệu thuê bao để áp dụng hình thức khuyến mại cho đúng đối tượng được hưởng khuyến mại là trách nhiệm của các kỹ sư quản lý vận hành hệ thống, theo đó việc can thiệp vào cơ sở dữ liệu trả trước là thường xuyên, cần các quy trình rõ ràng, nắm vững các kiến thức về hệ thống, cơ sở dữ liệu

và sự hỗ trợ của các công cụ đủ mạnh và đáng tin cậy

4 Các loại dữ liệu trong cơ sở dữ liệu thuê bao trả trước:

Hệ thống thuê bao trả trước của Vinaphone (hay còn gọi là hệ thống tính cước theo thời gian thực) sử dụng hệ thống quản lý cơ sở dữ liệu quan hệ (RDBMS)

để quản lý và lưu trữ tất cả dữ liệu về thuê bao của mình Các dữ liệu bao gồm các bản ghi về thuê bao, bảng cước (tariff), các hình thức khuyến mại (promotion plans), các số bị cấm, các số cho phép, v.v… và được lưu ở trong cơ sở dữ liệu dưới dạng các bảng (table) và bản ghi (record) Hệ thống trả trước bao gồm một cơ sở dữ

Trang 15

liệu biến đổi theo thời gian thực để hỗ trợ tính cước, xử lý các giao dịch cuộc gọi,

dữ liệu và các dịch vụ giá trị gia tăng bên ngoài như SMS, MMS và các giá trị trên nền web theo thời gian thực

Việc phân biệt được các loại hình dữ liệu chứa trong cơ sở dữ liệu là cần thiết vì chúng khác nhau về độ phức tạp, tần suất biến động và các đối tượng người dùng tác động xử lý chúng:

- Dữ liệu dịch vụ:

Dữ liệu dịch vụ bao gồm dữ liệu liên quan tới cấu hình dịch vụ và các gói tính năng khác nhau dành cho thuê bao Dữ liệu dịch vụ bao gồm lưu đồ tính cước (thuê bao phải trả bao nhiêu tiền cho các cuộc gọi khác nhau), các kiểu dịch vụ (thuê bao có thể gọi tới các số nào,…) và các cấu hình khác

Dữ liệu dịch vụ không biến đổi thường xuyên, sau lần đầu khởi tạo cho nhiều loại dịch vụ khác nhau, dữ liệu dịch vụ hầu như không biến động Bảng cước thỉnh thoảng sẽ cần phải thay đổi và các gói dịch vụ cũng phải biến đổi thích ứng với nhu cầu của thị trường nhưng những thay đổi đó diễn ra định kỳ và sẽ trải qua các quãng nghỉ dài, thường là hàng tuần hoặc hàng tháng

Dữ liệu dịch vụ có tính phức tạp cao nhưng kích thước lại không quá lớn, so với hàng triệu bản ghi thuê bao và hàng chục triệu bản ghi lịch sử các cuộc gọi gần nhất thì kích thước của dữ liệu dịch vụ vẫn là nhỏ

Dữ liệu dịch vụ không mang tính cá nhân, nó không dành cho riêng một thuê bao nào mà phục vụ một nhóm thuê bao có chung một định nghĩa dịch vụ

- Dữ liệu thuê bao:

Dữ liệu thuê bao bao gồm tất cả các thông tin liên quan đến một thuê bao cụ thể Mỗi bản ghi mô tả một thuê bao và số lượng bản ghi thuê bao là rất lớn Một bản ghi thuê bao bao gồm thông tin về số thuê bao, số tiền, trạng thái thuê bao và có thể bao gồm các dữ liệu cá nhân như tên và địa chỉ Một bản ghi thuê bao cũng bao gồm các thông tin lịch sử mô tả các sự kiện gần nhất có tác động tới thuê bao như các cuộc gọi, số lần nạp thẻ và sự thay đổi trạng thái thuê bao gần nhất Dữ liệu thuê bao có độ phức tạp không bằng so với dữ liệu dịch vụ nhưng được cập nhật rộng

Trang 16

khắp hơn so với dữ liệu dịch vụ Các nhân viên chăm sóc khách hàng thường xuyên

sử dụng dữ liệu thuê bao để giải đáp các thắc mắc của khách hàng Dữ liệu thuê bao

có tính chất biến đổi liên tục, chúng biến đổi mỗi khi thuê bao sử dụng dịch vụ (cuộc gọi, SMS, GPRS, MMS…) Sau mỗi giao dịch tính cước, giá trị tài khoản mới sẽ được ghi vào cơ sở dữ liệu và lịch sử giao dịch gần nhất sẽ được tạo ra Số lượng bản ghi thuê bao phụ thuộc vào quy mô của hệ thống và mạng lõi Một mạng

có hơn 1 triệu bản ghi thuê bao đã được coi là mạng lớn

- Dữ liệu thẻ nạp:

Các thẻ nạp được dùng để nạp thêm tiền vào tài khoản, chúng không liên quan đến bất cứ thuê bao riêng lẻ nào và cũng không được coi là dữ liệu dịch vụ Các bản ghi dữ liệu thẻ nạp có cấu trúc đơn giản và có số lượng lớn để đáp ứng nhu cầu sử dụng của thuê bao Để tạo ra dữ liệu thẻ nạp cần có các quy trình quản lý và thuật toán riêng biệt, ta không đi sâu vào tìm hiểu chúng trong nội dung đề tài

Đề tài nghiên cứu xây dựng chương trình để tác động vào loại hình dữ liệu thuê bao là loại hình dữ liệu có khối lượng rất lớn và biến đổi liên tục như đã nêu ở trên Dữ liệu thuê bao trong cơ sở dữ liệu cũng được tổ chức thành nhiều bảng, chứa đựng nhiều nhóm thông tin khác nhau về thuê bao, dữ liệu trên các bảng có liên quan đến nhau để tạo nên tập hợp dữ liệu đầy đủ về thuê bao Ở đây xin trích dẫn nội dung một bảng quan trọng được áp dụng nhiều trong phạm vi nghiên cứu:

Tên bảng: PPS_SUBSCRIBER

Trang 18

thời hạn nghe dài, thuê bao có mức cước nhắn tin rẻ, thuê bao có mức sử dụng dịch

Ví dụ tạo ra bonus_plan có tên NOR_PLAN, bonus_plan đó quy định rằng các thẻ nạp lần 1, 2 sẽ được hưởng thêm 25% giá trị thẻ nạp trong một khoảng thời gian xác định (xem hình) Như vậy một nhóm thuê bao đủ điều kiện hưởng khuyến mại sẽ được gán (assign) bonus_plan đó để khi thuê bao nạp thẻ sẽ được hưởng đúng kiểu khuyến mại

Trang 19

Hình 1.2 : Khai báo các bonus plan

5 Can thiệp vào dữ liệu trả trước bằng các công cụ hiện tại:

Phần trước đã giới thiệu một số trường quan trọng của 1 bảng dữ liệu thuê bao trả trước, trong công việc làm khuyến mại cũng như các công việc chuẩn hóa

dữ liệu, giải quyết khiếu nại của thuê bao thì việc thay đổi giá trị các trường là việc làm thường xuyên và có lúc phải xử lý khối lượng dữ liệu rất lớn Các thao tác thường làm là cộng, trừ tiền và thời hạn của thuê bao, thay đổi trạng thái của thuê bao, thay đổi COS, reset Accumulator AC1, gán hoặc loại bỏ (remove) một bonus plan đối với 1 hay nhiều thuê bao cho trước…

Trang 20

Để thay đổi nội dung các trường trong database của hệ thống Comverse có thể sử dụng một trong các phương pháp sau:

- Dùng trực tiếp câu lệnh SQL (Structured Query Language):

SQL là ngôn ngữ dòng lệnh chung dùng để giao tiếp với các hệ thống cơ sở

dữ liệu quan hệ Các cơ sở dữ liệu quan hệ thông dụng nhất hiện nay phải kể đến Oracle và MySQL nhờ vào độ ổn định, tính an toàn và tốc độ của chúng Để truy cập vào cơ sở dữ liệu Oracle nói chung hay của hệ thống trả trước của Vinaphone nói riêng bằng giao diện dòng lệnh SQL thì có một số cách sau:

+ Truy cập vào máy chủ chứa cơ sở dữ liệu, ở Vinaphone là node SDP Trên SDP, gõ lệnh sau để truy cập vào cơ sở dữ liệu:

sqlplus username/password@databasename

tiếp theo, từ dấu nhắc của SQL, gõ lệnh để sửa đổi dữ liệu

+ Dùng các chương trình phần mềm của một hãng thứ 3 chuyên hỗ trợ để kết nối vào các cơ sở dữ liệu, để kết nối được vào cơ sở dữ liệu trả trước thì cũng phải cung cấp username, password, databasename và địa chỉ IP của SDP Trên giao diện của các phần mềm đó cũng dùng các dòng lệnh SQL để sửa đổi dữ liệu Có thể kể đến một số phần mềm thông dụng như SQuirreL SQL Client, SQL Navigator,…

Chi tiết về cú pháp các lệnh SQL có thể xem thêm ở các tài liệu chuyên sâu

Ở đây chỉ đề cập đến nhược điểm lớn của phương pháp dùng câu lệnh SQL

là cơ chế khóa (lock) dữ liệu của Oracle, đặt biệt là đối với cơ sở dữ liệu quan trọng, biến động liên tục theo thời gian thực như của các thuê bao Vinaphone Việc sửa (update) một dòng dữ liệu (record) của thuê bao sẽ có khả năng gây lock dữ liệu của thuê bao đó hoặc nặng hơn là lock toàn bộ bảng Khả năng xấu là việc biến động dữ liệu của thuê bao đó hoặc tất cả các thuê bao tại thời điểm đó không thực hiện được, thuê bao thực hiện cuộc gọi có thể bị lỗi, các dữ liệu của thuê bao hiển thị trên các màn hình giao diện người dùng (GUI) phục vụ chăm sóc khách hàng sẽ không đúng với giá trị thực tế…Các câu lệnh SQL do người dùng viết không chuẩn hoặc thực

Trang 21

hiện không đúng thời điểm có khả năng làm tăng tải của cơ sở dữ liệu lên rất nhiều, việc vô tình xóa mất bảng hay dữ liệu của thuê bao là điều có thể xảy ra Việc người dùng mở thêm một kết nối tới cơ sở dữ liệu đã làm tăng số kết nối tới cơ sở dữ liệu một cách cưỡng bức Vì các lý do đó, nhà cung cấp hệ thống không hỗ trợ và không khuyến nghị sử dụng phương pháp này đối với cơ sở dữ liệu của mình.

- Dùng một giao diện có sẵn của hệ thống gọi là giao diện HIA:

HIA (Host Interface for Administration) là giao diện giữa hệ thống trả trước của Comverse và một nút mạng (máy tính) phục vụ các thao tác đối với dữ liệu thuê bao và thẻ nạp

HIA PC hay còn được gọi là HIA Gateway là thiết bị trung gian của HIA, là các máy tính được cài đặt phần mềm HIA và tạo các kết nối tới node SDP và các máy tính mạng khác, nhờ đó các máy tính trong mạng nội bộ sử dụng giao diện HIA sẽ không kết nối trực tiếp với cơ sở dữ liệu trên SDP mà chỉ sử dụng các bộ lệnh có sẵn của HIA

Khi bắt đầu một phiên làm việc thì cần có thao tác telnet vào HIA PC để làm việc với câu lệnh ở dấu nhắc HIA (HIA>)

Hình 1.3 Mô hình kết nối HIA

HIA hỗ trợ 2 kiểu làm việc:

Trang 22

1 Kiểu làm việc theo lô (batch mode):

Là chương trình của hệ thống có giao diện GUI như hình 1.4:

Hình 1.4 Giao diện GUI chạy HIA cho 1 file nhiều thuê bao

Người dùng muốn thao tác trên số lượng lớn thuê bao thì cần viết sẵn các câu lệnh HIA theo đúng cú pháp rồi lưu nội dung vào 1 file có phần mở rộng hia Sau

đó mở đường dẫn trỏ đến file và click vào “Load” để bắt đầu chạy

2 Kiểu làm việc theo dòng lệnh (interactive mode):

Từ một máy trạm bên ngoài telnet vào 1 HIA PC rồi gõ lệnh ở dấu nhắc HIA như đã đề cập ở trên, tuy nhiên phương pháp này chỉ để thao tác với từng thuê bao hoặc để kiểm tra việc hoạt động của HIA PC Thông thường muốn làm xử lý nhiều thuê bao theo kiểu dòng lệnh thì các kỹ sư phải viết chương trình phần mềm để lần lượt chạy lệnh cho từng thuê bao

Phương pháp dùng HIA có một số nhược điểm như sau:

Trang 23

a Mỗi chương trình GUI chỉ có thể chạy được 1 file vào 1 thời điểm, nên nếu muốn sử dụng giao diện batch của hệ thống thì trên mỗi máy tính pc chỉ có thể chạy được 1 file Số lượng thuê bao lớn nên để xử lý hết (ví dụ khoảng vài triệu thuê bao) thì phải chia thành rất nhiều file, việc kiểm soát nhân công để khỏi xử

lý lặp file là khá vất vả

b Về các thông số kỹ thuật, mỗi HIA PC chỉ đáp ứng tối đa 10 kết nối telnet và hỗ trợ 25 câu lệnh/giây cho mỗi máy HIA chưa sử dụng công nghệ connection pool mà sử dụng nhiều kết nối tới cơ sở dữ liệu cho mỗi người dùng tức là sẽ chiếm cố định một số kết nối tới cơ sở dữ liệu, đồng thời chưa áp dụng các biến liên kết (bind variables) nên sẽ gây ra các vấn đề về tải và bộ nhớ chia sẻ đối với node SDP khi tăng tốc độ xử lý HIA là giao thức dựa trên telnet đơn thuần, chưa áp dụng công nghệ API

c Số lượng HIA PC là không nhiều nên nếu cố gắng dùng chương trình để xử lý

số lượng lớn thuê bao trong khoảng thời gian ngắn sẽ làm tải của các HIA PC tăng cao, các giao dịch sẽ bị chậm đi và bản thân tốc độ của chương trình cũng không được như ý muốn Ngày càng có nhiều dịch vụ gia tăng được triển khai nên số lượng các ứng dụng sử dụng HIA là lớn, việc tăng tải HIA PC ở một thời điểm có thể kéo theo hoạt động của các dịch vụ này cũng bị quá tải theo, các giao dịch liên quan đến dữ liệu thuê bao sẽ không được xử lý kịp thời

d Bộ lệnh HIA chưa đầy đủ được như tất cả các lệnh SQL để thay đổi dữ liệu thuê bao ở các mức như mong muốn nên việc dùng HIA chỉ dừng lại ở một số công việc nhất định như cộng trừ tiền, thời hạn, chuyển đổi COS của thuê bao, xóa/tạo thuê bao,… mà chưa thể áp dụng vào việc thay đổi AC1 hay gán bonus plan,… để phục vụ khuyến mại

- Dùng payment server (PMTSVR):

Payment server thực chất là các SLU được cài đặt phần mềm chuyên biệt như đã trình bày ở trên, để phục vụ việc trừ tiền các giao dịch SMS, data (GPRS, MMS…), điều chỉnh tài khoản Để thực hiện được các thao tác đó thì các kỹ sư

Trang 24

cũng sẽ phải phát triển các chương trình kết nối tới payment server bằng TELNET

và gửi vào các lệnh theo cú pháp định sẵn Việc gửi lệnh vào bằng payment server

có một chút khó khăn hơn so với HIA ở chỗ các lệnh của payment server không hoàn toàn bằng các ký tự ASCII có thể đọc được mà là sự kết hợp của các ký tự binary, hexa, ASCII Đồng thời payment server cũng chỉ dừng lại ở việc hỗ trợ sửa đổi các dữ liệu cơ bản nhất nên đã bộc lộ các hạn chế khi tham gia vào các công việc làm khuyến mại mới

6 Kết luận:

Ở các phiên bản và dung lượng cũ của hệ thống PPS Comverse thì việc sử dụng các phương pháp như trên đã được coi là đủ Nhưng theo thời gian số lượng thuê bao tăng mạnh mẽ, các dịch vụ đa dạng và phát triển không ngừng, các chương trình khuyến mại thay đổi liên tục về hình thức và nội dung để thích ứng với nhu cầu thị trường Việc khuyến mại cho thuê bao trước đây chỉ phổ biến ở hình thức thuê bao kích hoạt mới được tặng thêm tiền vào tài khoản thì nay đã phát triển lên không ngừng về loại hình, độ đa dạng và độ phức tạp như một vài ví dụ đã nêu

Nhà cung cấp hệ thống đã có các phiên bản hệ thống mới với các khái niệm Accumulator, bonus plan, discount plan, dedicated account, … để phục vụ các hình thức khuyến mại mới, đồng thời cung cấp các công nghệ, giao thức tiên tiến để hỗ trợ việc xử lý dữ liệu, thiết lập các máy chủ web service để phục vụ chăm sóc khách hàng Xu thế của các nhà cung cấp hệ thống là cung cấp các công nghệ, giao diện

mở để nhà khai thác dịch vụ có thể tùy biến phát triển công cụ phục vụ công việc của mình trên các giao diện đó tùy theo khả năng chứ không viết sẵn một phần mềm GUI có các tính năng cố định như trước Như thế vừa đảm bảo được độ an toàn về

dữ liệu của hệ thống, vừa tận dụng được các ưu điểm của các giao diện được xây dựng trên nền tảng của các công nghệ tiên tiến đồng thời cũng đạt được các yêu cầu

về tốc độ, xử lý logic đa dạng…

Các công cụ để can thiệp vào cơ sở dữ liệu thuê bao trả trước hiện nay đã dần bộc lộ những hạn chế nhất định ở các khía cạnh như công năng, khả năng đảm

Trang 25

bảo tải của hệ thống và độ an toàn về dữ liệu Vì vậy việc tìm hiểu và khai thác được giao thức mới để làm chủ hệ thống là việc rất cần thiết và bắt buộc Sử dụng giao thức SOAP để can thiệp vào cơ sở dữ liệu trả trước đảm bảo các tiêu chí nêu trên đồng thời sử dụng được cấu hình, dịch vụ, tính năng và các công nghệ tiên tiến của hệ thống Chương trình tự viết sẽ có thể được chỉnh sửa liên tục để đáp ứng đa dạng các bài toán về xử lý dữ liệu một cách chủ động và nhanh chóng so với việc phải thuê một hãng phát triển phần mềm thứ ba viết và hỗ trợ thường xuyên.

Chương 2: Tìm hiểu các giao thức liên quan

Chương này giới thiệu lần lượt các giao thức, ngôn ngữ và công nghệ có liên quan đến chương trình ứng dụng Các thành phần đó đều là các giao thức, ngôn ngữ

và công nghệ tiên tiến mà SOAP sẽ được xây dựng bên trên Ở phần cuối chương chúng ta đi sâu vào bàn luận, mô tả Web service và giao thức SOAP là giao thức nằm ở lớp cao nhất so với các giao thức được giới thiệu ở trong nội dung chương

3 TCP/IP

TCP/IP (Transmission Control Protocol / Internet Protocol) là một bộ các

giao thức liên lạc (communication protocol) sử dụng mô hình ngăn xếp giao thức (protocol stack) để làm cơ sở cho Internet và một số mạng thương mại khác chạy

Trang 26

trên đó Giao thức liên lạc là một tập các quy ước mà một máy tính phải tuân theo

để có thể trao đổi thông tin với các máy tính khác

Hình 2.1 Một mô hình ngăn xếp giao thức và các lớp tương ứng

Có thể hiểu TCP/IP là bộ giao thức mà các trình duyệt web và các máy chủ Internet sử dụng để kết nối với Internet và kết nối với nhau Chương trình email mà chúng ta đang sử dụng dùng TCP/IP để kết nối Internet để gửi và nhận mail Địa chỉ Internet cùa máy tính ("203.160.1.60"), địa chỉ cổng (ví dụ 80), các tên miền chúng

ta gặp hàng ngày (ví dụ www.ptit.edu.vn) cũng là một phần của giao thức TCP/IP tiêu chuẩn

TCP là giao thức hướng kết nối Khi một ứng dụng muốn trao đổi thông tin với một ứng dụng khác qua TCP thì nó phải gửi một yêu cầu liên lạc tới địa chỉ mong muốn, sau đó sẽ là quá trình “bắt tay” (handshake) giữa 2 ứng dụng trước khi

2 ứng dụng có thể liên lạc 2 chiều với nhau (full-duplex) Kết nối 2 chiều đó chỉ đóng lại khi một trong 2 bên đóng kết nối

IP là giao thức không hướng kết nối, nó không chiếm một kết nối nào giữa 2 máy tính đang trao đổi thông tin với nhau, điều đó làm giảm nhu cầu về kết nối mạng và làm cho nhiều máy tính có thể trao đổi thông tin với nhau cùng một lúc

Dữ liệu truyền đi trong mạng bằng giao thức IP sẽ được chia thành nhiều gói nhỏ độc lập với nhau và sẽ được “định tuyến” để có thể đến được đúng máy đích Việc định tuyến được thực hiện bởi bộ định tuyến nằm trong mạng, nó nhận bản tin

từ máy nguồn và chịu trách nhiệm gửi gói tin đến máy đích, các bản tin trong cùng một quá trình trao đổi thông tin không nhất thiết phải đi cùng một đường giữa máy

Trang 27

nguồn và máy đích, tùy thuộc vào topo mạng, lưu lượng, lỗi xảy ra trong mạng và một số thông số khác.

Như vậy TCP/IP là sự kết hợp của TCP và IP, trong đó TCP chịu trách nhiệm về phần liên lạc giữa các ứng dụng (ví dụ một chương trình phần mềm của người dùng với một ứng dụng mạng có sẵn ở trên máy chủ…) còn IP chịu trách nhiệm về phần liên lạc giữa máy tính của người dùng với máy tính khác TCP chịu trách nhiệm chia nhỏ dữ liệu thành các gói IP trước khi gửi và tập hợp các gói tin IP theo đúng thứ tự khi nhận được IP có trách nhiệm gửi các gói đến đúng nơi nhận

4 HTML

HTML (Hyper Text Markup Language) là ngôn ngữ đánh dấu siêu văn bản

Siêu văn bản (hyper text) ở đây được hiểu là một dạng text được lưu trong hệ thống máy tính, không có tính chất tuần tự thông thường mà nó được tổ chức có cấu trúc sao cho các đơn vị thông tin có liên quan được gắn kết với nhau Hyper text cũng bao gồm các đường link cho phép người dùng có thể nhảy từ một đoạn văn bản hiện hành sang một đoạn văn bản khác

Một file hay một đoạn mã HTML sẽ bao gồm nhiều thẻ (tag) đánh dấu, nội dung của mỗi thẻ sẽ bắt đầu từ các ký tự mở thẻ (<thẻ>) và kết thúc ở các ký tự kết thẻ (</thẻ>), trong các thẻ có thể sẽ có nhiều thẻ con khác Trình duyệt Web sẽ đọc nội dung của file HTML và theo đó sẽ biểu diễn trang web tương ứng File HTML

có tên ở phần mở rộng là HTM hoặc HTML có thể được tạo ra và viết bằng một chương trình soạn text thông thường (như Notepad của Windows) Ví dụ về một đoạn mã HTML:

Trang 28

Hình 2.2 Hiển thị nội dung đoạn mã HTML

Tên các thẻ đều là chuẩn sẵn có của HTML và mỗi thẻ có một chức năng khác nhau, ví dụ đoạn giữa <title> và </title> sẽ là nội dung tiêu đề hiện trên thanh tiêu đề của trình duyệt, đoạn giữa <body> và </body> sẽ là nội dung mà trình duyệt

sẽ hiển thị và đoạn giữa <b> và </b> sẽ được trình duyệt in đậm…

5 XML

XML (eXtensible Markup Language) là ngôn ngữ đánh dấu bằng thẻ có thể

mở rộng, nó là ngôn ngữ đánh dấu bằng thẻ (markup) giống như HTML nhưng chức năng của XML là để truyền tải và lưu trữ dữ liệu trong khi của HTML chủ yếu

là để hiển thị dữ liệu XML dùng để tập trung vào vấn đề dữ liệu là gì và có cấu trúc như thế nào, còn HTML sẽ tập trung vào vấn đề dữ liệu sẽ được hiển thị như thế nào Các thẻ của XML không được định nghĩa sẵn như trong HTML mà do người dùng tự định nghĩa để mô tả dữ liệu của mình nên XML còn được gọi là ngôn ngữ

tự mô tả XML là một khuyến nghị của tổ chức W3C

Tuy được gọi là một ngôn ngữ nhưng XML không dùng để chạy và thực hiện một nhiệm vụ nào cả, mà nó chỉ biểu diễn cấu trúc của dữ liệu, lưu trữ chúng và

Trang 29

truyền đi khi cần Ví dụ về một “mẩu tin do Jani gửi cho Henry” (note to Henry from Jani) biểu diễn bằng XML sẽ có dạng như sau:

Bản thân mẩu tin trên đã có thể tự mô tả nội dung của nó, bao gồm thông tin

về người gửi và người nhận cùng với tiêu đề và nội dung bản tin Vì nội dung của bản tin là giá trị của các thẻ được tổ chức có quy tắc và chặt chẽ nên nó thuận lợi không chỉ cho người độc thông thường mà còn cho việc kiết xuất thông tin bằng chương trình Để thực hiện một nhiệm vụ nào đó với XML, người dùng viết chương trình phần mềm để gửi, nhận, đọc dữ liệu hoặc hiển thị nó Mục đích của XML không phải là ngôn ngữ để thay thế HTML, mà để bổ sung, thực hiện công việc của

nó một cách chuyên biệt và hiệu quả hơn Trong rất nhiều ứng dụng web, XML và HTML cùng song hành để thực hiện các chức năng của chúng như đã nêu ở trên

6 Giới thiệu sơ lược về tổ chức W3C:

W3C (World Wide Web Consortium): công hội toàn cầu về web, là tổ chức hoạt động nhằm phát triển các tiêu chuẩn của Web, thực hiện đầy đủ các khả năng tiềm tàng của Web bằng cách phát triển các giao thức, các đường lối chính sách đảm bảo sự phát triển lâu dài của Web

Tháng 10 năm 1994 Tim Berners-Lee đã sáng lập ra tổ chức W3C tại phòng Lab Khoa học máy tính thuộc Viện Kỹ thuật Massachusetts của Mỹ Sự ra đời của W3C có sự cộng tác của Tổ chức nghiên cứu nguyên tử châu Âu, nơi đặt chiếc máy chủ Web đầu tiên và sự hỗ trợ của DARPA (U.S Defense Advanced Research Project Agency) và Ủy ban Châu Âu EC Tim Berners-Lee cũng là người đã phát

Trang 30

minh ra World Wide Web vào năm 1989 và là tác giả của HTML phiên bản đầu tiên cũng như các khái niệm như URI, HTTP…

Hiện nay W3C có hơn 400 tổ chức thành viên đến từ hơn 40 quốc gia trên thế giới, bao gồm các nhà cung cấp sản phẩm và dịch vụ, các nhà cung cấp nội dung, người dùng văn phòng, các nhà nghiên cứu, các hội đồng tiêu chuẩn, các chính phủ, v.v…W3C đã và đang có rất nhiều hoạt động liên quan đến Web như XML, HTML, quốc tế hóa Web, bảo mật, web ngữ nghĩa, web di động, trình duyệt bằng giọng nói, Web Services,… W3C đặt ra các mục tiêu của mình là:

- Web cho mọi người

- Web trên mọi thiết bị

- Cơ sở tri thức trên Web

- Độ tin cậy và riêng tư trên Web

7 HTTP:

HTTP (Hypertext Transfer Protocol) là giao thức liên lạc dùng để truyền tải thông tin trên World Wide Web Các thông tin truyền tải có thể là các trang siêu văn bản và một số dạng dữ liệu khác như các file HTML, file ảnh, các kết quả truy xuất, v.v… gọi chung là các tài nguyên (resourse) Các tài nguyên được xác định bởi địa chỉ URL mà HTTP client gọi để request thông tin

HTTP được phát triển bởi sự hợp tác giữa W3C và Internet Engineering Task Force (IETF), đỉnh cao là một bộ các Request for Comments (RFCs), là bộ tài liệu

mô tả các tiêu chuẩn, các giao thức và các thông tin tạo nên Internet, trong đó nổi bật là RFC 2616 định nghĩa HTTP/1.1, phiên bản thông dụng của HTTP ngày nay

HTTP là tiêu chuẩn request/response giữa một client và một server Trong đó client là người dùng cuối và server là một trang web Khi client tạo một HTTP request cũng là lúc nó thiết lập một kết nối TCP tới cổng mặc định 80 dành cho HTTP của server Server sẽ xử lý thông tin và trả kết quả về cho client thông qua cổng đó, bao gồm trạng thái “HTTP/1.1 200 OK" và một bản tin, nội dung tin có

Trang 31

thể là một file, một bản tin thông báo lỗi nếu người dùng gửi request sai và một số thông tin khác.

Có nhiều dạng bản tin HTTP request khác nhau, ở đây ta quan tâm đến 2 dạng chính là HTTP POST và HTTP GET:

- HTTP POST: gửi (submit) dữ liệu đến server để xử lý, có thể bằng chương trình hay dưới dạng thông dụng là các form dữ liệu trên web Dữ liệu được

xử lý thậm chí có thể thay đổi được cả trạng thái của server trong trường hợp cho phép

Hình 2.3 Giao diện web của một ứng dụng dùng HTTP POST

- HTTP GET: là loại request được ứng dụng nhiều nhất cho đến nay, HTTP GET là request yêu cầu trình diễn đối với 1 resourse, ví dụ thông dụng nhất chính là việc truy cập và xem một trang web nào đó

8 RPC:

RPC (remote procedure call) gọi hàm từ xa, là công nghệ cho phép một phần mềm máy tính có thể chạy được một hàm con (subroutine) hay thủ tục (procedure) của một chương trình khác trên một không gian địa chỉ khác, thông thường là ở trên

Trang 32

một máy tính khác cùng nằm trong mạng chia sẻ Như vậy người lập trình khi viết

mã có thể coi hàm con ở xa như nằm trên máy mình để từ đó có thể gọi hàm đó chạy, lấy kết quả trả ra và tiếp tục xử lý kết quả trả ra đó

Client bắt đầu một phiên RPC bằng cách gửi một bản tin request tới server ở

xa để yêu cầu chạy một hàm cụ thể với các tham số kèm theo Khi nhận được bản tin phản hồi từ server thì chương trình tiếp tục quá trình xử lý của nó Khi server đang thực hiện chạy hàm bị gọi thì client coi như bị khóa Một điểm khác biệt quan trọng giữa việc gọi hàm từ xa hay thực hiện hàm nội bộ là gọi hàm từ xa có thể thất bại do lỗi đường mạng, thông thường client gặp lỗi mà không xác định được hàm ở

xa đã thực sự được gọi hay chưa

RPC là một hình mẫu phổ biến của mô hình client-server trong điện toán phân tán, một mô hình mà các phần nhỏ của một chương trình phần mềm có thể chạy đồng thời trên 2 hay nhiều máy tính khác nhau và có thể trao đổi thông tin với nhau, tận dụng khả năng tính toán của nhiều máy tính cộng lại

9 Web services:

Web service được W3C định nghĩa là “một hệ thống phần mềm được thiết kế

để hỗ trợ sự tương tác giữa Máy tính với Máy tính dưới hình thức trao đổi và sử dụng thông tin qua mạng điện toán”

Định nghĩa về Web service của W3C bao hàm rất nhiều hệ thống khác nhau, nhưng thông thường Web service đề cập đến các client và server trao đổi thông tin với nhau bằng các bản tin XML theo chuẩn SOAP Điều đó có nghĩa rằng Web service dùng XML để mã hóa và giải mã thông tin do người dùng cung cấp và sử dụng SOAP làm phương tiện truyền tải thông tin Web service được tạo nên bởi 3 phần tử cơ bản là SOAP, WSDL và UDDI biểu diễn trong Hình 2.4, chúng ta sẽ đi sâu tìm hiểu về WSDL và SOAP ở các phần sau

Trang 33

Hình 2.4 Cấu trúc Web service

Trong thực tế, có thể nói Web service biến một chương trình thông thường của người dùng thành một chương trình mạng để phục vụ các chương trình từ xa khác, tức là chương trình từ xa của các client có thể sử dụng các hàm, các bản tin của chương trình trên server qua giao thức internet Việc gọi hàm từ xa có thể thực hiện được mà không cần quan tâm tới các client hay server chạy trên hệ điều hành nào hay chúng được viết bằng ngôn ngữ lập trình gì, áp dụng cấu trúc, công nghệ ra sao Điều này có ý nghĩa rất quan trọng, được coi là đã đưa các ứng dụng web lên một tầm cao mới khi giải quyết được vấn đề tương thích, khả năng liên lạc, đọc và hiểu thông tin giữa các ứng dụng khác nhau Vấn đề đó càng có ý nghĩa hơn khi hầu hết mọi người và doanh nghiệp ngày nay đều có đường kết nối Internet, sử dụng web ngày một nhiều hơn, các hệ điều hành phổ biến đều có khả năng tiếp cận Web bằng các trình duyệt khác nhau,… Một số ứng dụng rõ nét trong thực tế có thể kể đến là các dịch vụ thông tin tỉ giá tiền tệ, thông tin thời tiết, từ điển online, v.v…

Chúng ta xem xét một ví dụ dùng ASP.NET để tạo một web service đơn giản:

<%@ WebService Language="VBScript" Class="TempConvert" %>

Imports System

Imports System.Web.Services

Public Class TempConvert :Inherits WebService

<WebMethod()> Public Function FahrenheitToCelsius

(ByVal Fahrenheit As String) As String

Trang 34

Xin được trình bày sơ lược về các thuật ngữ ASP.NET và NET đã nêu:

.NET (dot net) được coi là một chiến lược Internet của hãng Microsoft đưa ra vào 6/2000, lúc đó là chiến lược mới về Internet và Web của hãng Bản thân NET không phải là một hệ điều hành mà là một công nghệ, một cơ sở hạ tầng dành cho các ứng dụng chạy trên nền Web và Internet Theo đó, các phần mềm sử dụng công nghệ NET chính là các web service .NET sẽ chạy trên bất cứ trình duyệt nào và trên bất cứ hệ điều hành nào vì nó được xây dựng trên các chuẩn Internet như HTTP, XML, SOAP và UDDI

ASP.NET là phiên bản mới nhất của ASP Microsoft, một phần của bộ khung NET là công cụ mạnh mẽ giúp người dụng có thể tạo ra các trang web động và có tính tương tác cao ASP.NET là công nghệ hỗ trợ lập trình trên server giúp cho các máy chủ Internet có thể chạy được các đoạn mã viết nhúng trong các trang web Một file ASP.NET có phần mở rộng là aspx và giống như một file HTML, nội dung có thể là HTML, XML và các đoạn mã nhúng bên trong

ASP.NET được chạy bên trong IIS (Microsoft Internet Information Services)

- phần mềm máy chủ của Microsoft Có thể hiểu IIS là phần mềm tối thiểu để một máy chủ dùng hệ điều hành Windows có thể chạy như một máy chủ web IIS là phần mềm máy chủ web thịnh hành thứ 2 trên thế giới đứng sau phần mềm Apache HTTP server, theo Netcraft thì tính đến tháng 5/2008, IIS phục vụ 35% số lượng trang web trên toàn thế giới

Ngày đăng: 20/06/2014, 00:06

HÌNH ẢNH LIÊN QUAN

Bảng 2.1 Các thành phần chính của WSDL 38 - DÙNG GIAO THỨC SOAP VÀ WEB SERVICE  ĐỂ CAN THIỆP VÀO CƠ SỞ DỮ LIỆU THUÊ BAO TRẢ TRƯỚC CỦA VINAPHONE
Bảng 2.1 Các thành phần chính của WSDL 38 (Trang 4)
Hình 1.1. Mô hình tổng quan mạng PPS Comverse - DÙNG GIAO THỨC SOAP VÀ WEB SERVICE  ĐỂ CAN THIỆP VÀO CƠ SỞ DỮ LIỆU THUÊ BAO TRẢ TRƯỚC CỦA VINAPHONE
Hình 1.1. Mô hình tổng quan mạng PPS Comverse (Trang 10)
Bảng 1.1 Một số trường của bảng PPS_SUBSCRIBER - DÙNG GIAO THỨC SOAP VÀ WEB SERVICE  ĐỂ CAN THIỆP VÀO CƠ SỞ DỮ LIỆU THUÊ BAO TRẢ TRƯỚC CỦA VINAPHONE
Bảng 1.1 Một số trường của bảng PPS_SUBSCRIBER (Trang 17)
Hình 1.2 : Khai báo các bonus plan - DÙNG GIAO THỨC SOAP VÀ WEB SERVICE  ĐỂ CAN THIỆP VÀO CƠ SỞ DỮ LIỆU THUÊ BAO TRẢ TRƯỚC CỦA VINAPHONE
Hình 1.2 Khai báo các bonus plan (Trang 19)
Hình 1.3 Mô hình kết nối HIA - DÙNG GIAO THỨC SOAP VÀ WEB SERVICE  ĐỂ CAN THIỆP VÀO CƠ SỞ DỮ LIỆU THUÊ BAO TRẢ TRƯỚC CỦA VINAPHONE
Hình 1.3 Mô hình kết nối HIA (Trang 21)
Hình 1.4 Giao diện GUI chạy HIA cho 1 file nhiều thuê bao - DÙNG GIAO THỨC SOAP VÀ WEB SERVICE  ĐỂ CAN THIỆP VÀO CƠ SỞ DỮ LIỆU THUÊ BAO TRẢ TRƯỚC CỦA VINAPHONE
Hình 1.4 Giao diện GUI chạy HIA cho 1 file nhiều thuê bao (Trang 22)
Hình 2.1 Một mô hình ngăn xếp giao thức và các lớp tương ứng - DÙNG GIAO THỨC SOAP VÀ WEB SERVICE  ĐỂ CAN THIỆP VÀO CƠ SỞ DỮ LIỆU THUÊ BAO TRẢ TRƯỚC CỦA VINAPHONE
Hình 2.1 Một mô hình ngăn xếp giao thức và các lớp tương ứng (Trang 26)
Hình 2.2 Hiển thị nội dung đoạn mã HTML - DÙNG GIAO THỨC SOAP VÀ WEB SERVICE  ĐỂ CAN THIỆP VÀO CƠ SỞ DỮ LIỆU THUÊ BAO TRẢ TRƯỚC CỦA VINAPHONE
Hình 2.2 Hiển thị nội dung đoạn mã HTML (Trang 28)
Hình 2.3 Giao diện web của một ứng dụng dùng HTTP POST - DÙNG GIAO THỨC SOAP VÀ WEB SERVICE  ĐỂ CAN THIỆP VÀO CƠ SỞ DỮ LIỆU THUÊ BAO TRẢ TRƯỚC CỦA VINAPHONE
Hình 2.3 Giao diện web của một ứng dụng dùng HTTP POST (Trang 31)
Hình 2.4 Cấu trúc Web service - DÙNG GIAO THỨC SOAP VÀ WEB SERVICE  ĐỂ CAN THIỆP VÀO CƠ SỞ DỮ LIỆU THUÊ BAO TRẢ TRƯỚC CỦA VINAPHONE
Hình 2.4 Cấu trúc Web service (Trang 33)
Hình 2.5 Mô hình triển khai SOAP và Web service - DÙNG GIAO THỨC SOAP VÀ WEB SERVICE  ĐỂ CAN THIỆP VÀO CƠ SỞ DỮ LIỆU THUÊ BAO TRẢ TRƯỚC CỦA VINAPHONE
Hình 2.5 Mô hình triển khai SOAP và Web service (Trang 40)
Bảng 2.3 Các giá trị của &lt;faultcode&gt; - DÙNG GIAO THỨC SOAP VÀ WEB SERVICE  ĐỂ CAN THIỆP VÀO CƠ SỞ DỮ LIỆU THUÊ BAO TRẢ TRƯỚC CỦA VINAPHONE
Bảng 2.3 Các giá trị của &lt;faultcode&gt; (Trang 45)

TỪ KHÓA LIÊN QUAN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

🧩 Sản phẩm bạn có thể quan tâm

w