HỌC VIỆN CÔNG NGHỆ BƯU CHÍNH VIỄN THÔNG Ngô Thanh Bình MÔI TRƯỜNG KIẾN TẠO DỊCH VỤ
DỰA TRÊN GIAO DIỆN MỞ Chuyên ngành: KỸ THUẬT ĐIỆN TỬ
Mã số: 60.52.70
TÓM TẮT LUẬN VĂN THẠC SĨ HÀ NỘI - 2013
Luận văn được hoàn thành tại:
HỌC VIỆN CÔNG NGHỆ BƯU CHÍNH VIỄN THÔNG Người hướng dẫn khoa học: ……………………………………………………………
(Ghi rõ học hàm, học vị)
ích mang lại từ môi trường kiến tạo dịch vụ mở.
Đối tượng nghiên cứu của luận văn là mô hình thực thi kiến trúc dịch vụ mở OSA
bao gồm các giao diện mở, các công cụ phát triển và cách thực thi phát triển dịch vụ trong
điều kiện thực tế.
Phương pháp nghiên cứu của luận văn là việc nghiên cứu lý thuyết thông qua các tài
liệu kỹ thuật , các tiêu chuẩn về OSE của ITU-T, 3GPP và việc kiến tạo các dịch vụ dựa trên
môi trường mô phỏng.
Nội dung của luận văn gồm 3 chương:
Chương I: Môi trường dịch vụ mở OSE trong mạng NGN là các kiến thức tổng quan
về xu thế phát triển dịch vụ trong mạng viễn thông, môi trường dịch vụ mở OSE do ITU-T
đề xuất và xu thế hội tụ dịch vụ trong môi trường NGN-IMS.
Chương II: Môi trường kiến tạo dịch vụ dựa trên giao diện mở Parlay/OSA là nội
dung chủ đạo của luận văn. Trong chương này đề cập tới các giao diện mở, giao diện lập
trình ứng dụng API, mô hình kiến tạo dịch vụ Parlay/OSA. Trong kiến tạo dịch vụ mở theo
Parlay/OSA, nghiên cứu khung làm việc (Framework), các dịch vụ logic và các chức năng
được thực thi trong Parlay/OSA.
Chương III: Kiến tạo dịch vụ dựa trên nền Parlay/OSA là quá trình kiến tạo dịch vụ
trên nền Parlay/OSA. Trong chương này là các dịch vụ trên nền Parlay/OSA API, môi
trường kiến tạo dịch vụ bao gồm ngôn ngữ lập trình, các phần mềm mô phỏng ứng dụng,
các thư viện hỗ trợ. Trong chương này cũng đề cập đến các vấn đề trong triển khai dịch vụ
trong thực tế.
Cuối cùng tôi xin gửi lời cảm ơn chân thành tới người hướng dẫn trực tiếp là TS. Lê
Ngọc Giao cùng các thầy cô khoa Kỹ thuật điện tử đã tận tâm giúp đỡ tôi hoàn thành tốt
luận văn này. 1
CHƯƠNG 1: MÔI TRƯỜNG DỊCH VỤ MỞ OSE TRONG MẠNG
NGN
ứng dụng.
Môi trường dịch vụ mở có các đặc điểm sau:
- Mềm dẻo trong phát triển ứng dụng và các tiện ích được cung cấp bởi nhà cung cấp
NGN, nhà cung cấp ứng dụng và các nhà cung cấp dịch vụ khác.
- Tiếp cận các tiện ích thông qua giao diện mạng ứng dụng chuẩn hóa ANI được định
nghĩa trong ITU-T Y.2012
- Tính di động và tái sử dụng của các tiện ích trong mạng (và từ các mạng khác tới
NGN hoặc từ NGN tới mạng khác).
3
- Thúc đẩy tạo ra các tiện ích mới từ các công nghệ không phải trong môi trường
NGN.
Hình 1.4: Môi trường dịch vụ mở trong NGN.
OSE cho phép các ứng dụng sử dụng các tài nguyên hoặc các dịch vụ của NGN được
cung cấp thông qua giao diện mạng ứng dụng ANI. Các nhà cung cấp ứng dụng hoặc các
nhà phát triển có thể tạo và cung cấp các ứng dụng mới thông qua các giao diện chuẩn hóa
tại ANI.
1.3 Giao diện mở trong mạng viễn thông
Ngày nay, các dịch vụ, ứng dụng hoặc thông tin do một cá nhân cung cấp thường hạn
chế và khá sơ sài. Giao diện mở của NGN sẽ cho phép tất cả người sử dụng có thể trở thành
một nhà cung cấp chia sẻ nội dung của họ với người sử dụng khác. Chẳng hạn, khi xem một
chương trình TV, nội dung của người dùng có thể được thêm vào chương trình và phát
chồng lên chương trình gốc trong điều kiện nhất định.
NGN là xu hướng phát triển tất yếu của mạng viễn thông thế giới trong hiện tại và
tương lai. Nó tích hợp cả ba mạng lưới: mạng PSTN, mạng không dây và mạng số liệu
(Internet) vào một mô hình thống nhất để hình thành một mạng chung, thông minh, hiệu quả
trên nền tảng IP.
4
Hình 2.1: Giao diện mở và cho phép tạo dịch vụ.
Trong môi trường mạng NGN, các dịch vụ dựa trên giao diện mở và kiến trúc mạng
sẽ cho phép sự mở rộng vô cùng lớn cho nhà vận hành, nhà cung cấp dịch vụ và khách
hàng.
Một nhà vận hành mạng sẽ không nhất thiết là nhà cung cấp dịch vụ.
Một nhà vận hành mạng sẽ không nhất thiết là nhà vận hành mạng từ đầu cuối tới
đầu cuối nữa, nó có thể chỉ là nhà vận hành mạng truy nhập hoặc truyền tải.
Các dịch vụ là các ứng dụng IT được mạng hóa bao gồm viễn thông, quảng bá và
dịch vụ về IP.
6
Một nhà cung cấp dịch vụ cũng có thể là người dùng cuối hoặc bên cung cấp thứ ba.
Một khách hàng có thể là cá nhân, công ty, hộ gia đình hoặc là một chiếc xe. Một nhà
cung cấp dịch vụ thứ ba cũng có thể được coi như là một khách hàng đặc biệt sử dụng các
dịch vụ cơ bản của mạng như thiết lập cuộc gọi, thông tin vị trí để cung cấp các dịch vụ cao
hơn tới người dùng cuối.
2.2 Các giao diện mở
2.2.1 Truy nhập dịch vụ mở OSA
2.2.2 Parlay/OSA
Cho tới hiện nay, các dịch vụ viễn thông và các ứng dụng được triển khai trong mạng
hầu hết sử dụng công nghệ mạng IN. Ví dụ về các ứng dụng như dịch vụ mạng riêng ảo
VPN hay dịch vụ chuyển hướng cuộc gọi như chuyển hướng cuộc gọi khi bận. Với khả
năng trong cả IT và viễn thông, nó trở thành một thách thức để tạo ra dịch vụ và khai thác
trên cả hai miền.
Parlay/OSA chính là câu trả lời cho các thách thức này. Parlay/OSA được chuẩn hóa,
bảo mật và là một giao diện mở giữa IT và viễn thông. Bạn có thể thực thi các ứng dụng của
mình trên miền IT và cũng sử dụng các tiện ích trong mạng viễn thông.
Hình 2.3: Kiến trúc mạng logic.
dùng cuối, thông báo, gửi tin
nhắn…
6
User location/User
status
SCF nhận thông tin vị trí và trạng
thái
7 Terminal capabilities
SCF nhận thông tin về khả năng
của thiết bị người dùng cuối
8 Data session control SCF để điều khiển phiên dữ liệu
9 Generic Messaging SCF để truy nhập vào hòm thư
Không nằm trong
3GPP Rel.4 OSA
10
Connectivity
Management
SCF về QoS
Không nằm trong
3GPP Rel.4 OSA
11
Account
Management
SCF để truy nhập vào tài khoản
người dùng cuối
Đầu tiên SCS liên lạc với khung framework và yêu cầu giao diện đăng ký của nó.
Khung framework sau đó sẽ trả lại một tham chiếu tới nó. Chúng là bước 1-2 trong hình vẽ.
Tiếp theo SCS điều khiển cuộc gọi đa nhóm sử dụng giao diện này để xuất bản loại SCF của
nó, trong trường hợp này là điều khiển cuộc gọi đa nhóm và khả năng của nó, ví dụ bao
nhiêu nhóm mỗi cuộc gọi mà phương pháp này có thể xử lý. SCS sẽ cung cấp cho khung
framework với tham chiếu của riêng nó (gọi là xưởng dịch vụ) thông qua giao diện đăng ký.
Đây là bước 3 trong hình vẽ. Tại thời điểm này khung framework và SCS đã biết lẫn nhau.
2. Thiết lập thỏa thuận dịch vụ
9
Trong phần này các điều kiện mà một ứng dụng được cho phép để sử dụng SCS được
thiết lập.
Từ thời điểm này, điều hành khung framework có thể nhập vào các điều kiện thông
qua đó một ứng dụng được cho phép để sử dụng SCS. Một trong những điều kiện này là ứng
dụng X chỉ được cho phép sử dụng tối đa 4 nhóm mỗi cuộc gọi. Tất cả các thông tin này
được lưu giữ trong thỏa thuận dịch vụ và thông tin được nhập vào thông qua hệ thống quản
lý.
3. Thiết lập kết nối run-time
Trong giai đoạn này kết nối run-time giữa ứng dụng và SCS được thiết lập.
Bước cuối cùng xảy ra khi một ứng dụng liên lạc với khung framework và sử dụng
giao diện khám phá để tìm ra SCF nào được hỗ trợ (bước 4-6). Giả sử rằng ứng dụng muốn
sử dụng SCF điều khiển cuộc gọi đa nhóm và nó muốn điều khiển cuộc gọi với tối đa 4
nhóm mỗi cuộc gọi. Ứng dụng sẽ hỏi khung framework thông qua giao diện khám phá trả
về tất cả các SCF thực thi mà đáp ứng yêu cầu 4 nhóm mỗi cuộc gọi.
Khung sau đó sẽ kiểm tra thỏa thuận dịch vụ để tìm ra ứng dụng có được cho phép để
sử dụng SCF điều khiền cuộc gọi đa nhóm hay không. Nếu là trường hợp này, nó sẽ trả lại
một danh sách các thực thi của điều khiển cuộc gọi đa nhóm mà có thể xử lý được ít nhất 4
nhóm mỗi cuộc gọi. Ví dụ có thể có hai SCS điều khiển cuộc gọi đa nhóm, trong khi một cái
có thể xử lí tới 8 nhóm mỗi cuộc gọi và cái còn lại xử lí 6 nhóm mỗi cuộc gọi. Khi thông tin
về khả năng của SCS được cung cấp tới ứng dụng, nó có thể chọn lựa ra một SCS từ trong
GetCallInformationRequest(). GetCallInformationRequest() sau đó sẽ được gọi để nhận
thông tin về trạng thái cuộc gọi, dó đó ứng dụng cung cấp dịch vụ logic có thể phải gọi nó
nhiều lần trước khi nhận phản hồi cuộc gọi đang trong quá trình. Khi gọi
MakeCallRequest() trên ThirdPartyCallWebService, nó trao đổi thông tin với Parlay
gateway với các bản tin 3-30. Chuỗi bản tin này tương tự bản tin 3-21 trong phần trước.
Hình 2.10: Dịch vụ Click-to-Dial sử dụng Parlay X API.
12
2.2.4 Bảo mật trong phiên làm việc Parlay/OSA
2.3 Các dịch vụ cơ bản dựa trên nền Parlay/OSA API
Trước khi chúng ta đi vào tổng quan làm thể nào để phát triển một ứng dụng
Parlay/OSA, thì điều quan trọng trước tiên chúng ta cần hiểu là loại ứng dụng nào đang
được sử dụng ngày nay. Chú ý rằng hiện nay có nhiều các API mới và các kiểu ứng dụng
khác nhau. Ví dụ về các API này là: chuyển văn bản tới thoại và trạng thái người dùng (tắt
bật máy hoặc bận)…
Một vài ứng dụng có thể tạo sử dụng Parlay/OSA
· Chữ ký email: gọi lại cho tôi, bao gồm một hình ảnh có thể click trong chữ ký
email của bạn cho phép thiết lập cuộc gọi tới bạn.
· Chặn cuộc gọi: tất cả người sử dụng quay số tới bạn phải biết một số pin mật
mã để có thể thiết lập cuộc gọi tới bạn (ví dụ khi bạn đang trong kì nghỉ).
· Danh sách phân phối cho SMS/MMS/thông báo: dựa trên danh sách phân
phối, gửi quảng bán bản tin của bạn với một danh sách các số.
· Lịch nhắc nhở: nhắc nhở bạn vào một thời điểm nào đó bạn đánh dấu.
· Chặn cuộc gọi tới cuối: cho phép thuê bao chặn cuộc gọi tới cuối cùng (mà
không cần biết số của người gọi)
· Cuộc gọi di động khẩn cấp: gọi một số ngắn và kết nối tới mạng GSM gần
nhất trong vùng xung quanh bạn.
· Digi-Pet: chuyển chiếc điện thoại của bạn thành một vật nuôi ảo. Mỗi khi bạn
thực hiện một cuộc gọi thoại là bạn cho nó ăn. Digipet sẽ nói với bạn “cố lên,
Java Mail (
Java Activation Framework (
b) Ngôn ngữ lập trình
Bất kỳ một ngôn ngữ lập trình nào cũng có thể được sử dụng để phát triển ứng dụng
trong Parlay/OSA. Tuy nhiên trong thực tế cho thấy rằng, hầu hết các nhà phát triển đều
thích sử dụng ngôn ngữ Java hơn vì nó có nhiều hàm thư viện và các bộ công cụ hỗ trợ nhà
14
phát triển phần mềm SDK (Sofware Development Kit). Ngôn ngữ Delphi và C++ cũng có
thể được sử dụng để phát triển ứng dụng nhưng khá là hạn chế.
c) Bộ trang bị phát triển phần mềm SDK và các tiện ích
SDK là một bộ các công cụ nền tảng để phát triển ứng dụng của một ngôn ngữ lập
trình. Nó cung cấp cho ta các thư viện, công cụ, tài liệu liên quan để phát triển ứng dụng.
NRG là một máy chủ dịch vụ tiện ích (SCS) cung cấp các dịch vụ như tin nhắn, điều
khiển cuộc gọi, trạng thái người dùng, vị trí người dùng cho ứng dụng. Có hai cách để trao
đổi thông tin với NRG: trực tiếp thông qua giao thức CORBA hoặc thông qua NRG SDK.
Ở đây chúng ta sử dụng các bộ SDK sau:
+ Sun Java SDK: bộ công cụ phát triển phần mềm của ngôn ngữ lập trình Java.
+ Ericsson Network Resource Gateway SDK: bộ công cụ hỗ trợ phát triển ứng dụng
Parlay/OSA của Ericsson. Bằng cách sử dụng NRG nhà phát triển sẽ không cần phải hiểu
biết chi tiết về mạng viễn thông và các kiến thức về CORBA. Các SDK API sẽ làm nhiệm
vụ phiên dịch từ Java sang CORBA và ngược lại Java khi tương tác trong NRG. Điều này sẽ
giúp việc phát triển ứng dụng được tối giản đi rất nhiều
+ Thư viện API
Các API chính của thư viện phần mềm SDK là Core API, Test API và Utility API.
Các SDK cũng đồng thời chứa một vài ví dụ minh họa các ứng dụng NRG sử dụng các dịch
vụ trên NRG như ví dụ về kết nối tới NRG, cách gửi bản tin thông qua SMS và MMS và
cách xử lí định tuyến cuộc gọi…
Core API chịu trách nhiệm cho việc giao tiếp.
Các tiện ích giúp dễ dàng truy nhập tới các dịch vụ H-OSA, quản lí kết nối H-OSA
Hình 3.10: Mô hình các lớp sử dụng trong dịch vụ cơ bản.
Trong đó:
· Main: Khởi tạo, bắt đầu, dừng hoặc hủy dịch vụ.
· Configuration: Cung cấp các dữ liệu liên quan tới cấu hình, định nghĩa các
tham số cho dịch vụ.
· GUI: Cung cấp một giao diện đồ họa đơn giản cho người dùng.
· Feature: Thực hiện các chức năng logic của ứng dụng. Sử dụng FWproxy để
nhận và giải phóng dịch vụ từ NRG được sử dụng bởi các Processors.
· YY_Processor: Tương tác với NRG. Nó sử dụng một dịch vụ quản lí
(IP_XX_Manager) để gửi yêu cầu tới NRG và sử dụng callback adapter
(IpApp_XX_ManagerAdapter) để nhận phản hồi từ NRG.
Ứng dụng dịch vụ này sử dụng các lớp Java sau:
· MPCCProcessor: sử dụng điều khiển cuộc gọi đa nhóm (MPCC) để lấy thông
tin cuộc gọi nhỡ từ một địa chỉ đích xác định.
17
· UserStatusProcessor: sử dụng trạng thái người dùng (US) để lấy thông tin
trạng thái người dùng.
· SMSProcessor: sử dụng Messaging để gửi bản tin SMS.
Các hàm sử dụng trong các class:
Hình 3.11: Các hàm cơ bản sử dụng để phát triển dịch vụ cuộc gọi nhỡ.
Các API sử dụng cho dịch vụ cuộc gọi nhỡ:
Hình 3.12: Các API sử dụng trong dịch vụ cuộc gọi nhỡ.
Từ các hàm như thiết kế và các API liên quan ta sẽ tiến hành lập trình trên ngôn ngữ
Java để tạo ra dịch vụ. Sau khi lập trình xong ta có thể tiến hành chạy thử luôn dịch vụ trên
bộ mô phỏng NRG Ericsson để kiểm thử.
Hình 3.14: Chuỗi sự kiện khi người dùng không khả dụng.
Tiếp theo là chuỗi các sự kiện khi ứng dụng nhận báo cáo trạng thái người dùng khi
người dùng khả dụng:
19 Hình 3.15: Chuỗi sự kiện khi người dùng khả dụng.
c) Kiểm thử và chạy dịch vụ trên phần mềm mô phỏng
Trong dịch vụ này ta mặc định hai người dùng là “1” và “2”. Khởi chạy dịch vụ, ta
vào Applications rồi chọn Run (hoặc có thể sử dụng phím tắt là Alt+R).
Sau đó, ta chọn Missed Call Messager, rồi click vào nút Run để bắt đầu chạy ứng
dụng.
Quay lại cửa sổ chương trình chính, từ người dùng “1” ta bấm số gọi tới người dùng
“2”. Kết quả người dùng “2” sẽ đổ chuông như hình:
Tiếp theo, ta bấm Cancel để hủy cuộc gọi. Rồi click chuột phải vào người dùng “2”
bỏ chọn “Switched on” để tắt máy người dùng “2”, khi đó thiết bị ngươi dùng “2” sẽ bị mờ
đi.
Bây giờ từ người dùng “1”, ta bấm số để gọi người dùng “2”, cuộc gọi sẽ kết thúc
ngay lập tức. Sau đó, click chuột phải chọn Switched on để bật người dùng “2” lên, ta sẽ
nhận được tin nhắn thông báo cuộc gọi nhỡ từ người dùng “1”.
20 Hình 3.18: Tin nhắn thông báo cuộc gọi nhỡ từ người dùng “1”.
d) Kết luận
3.2.3 Triển khai dịch vụ
KẾT LUẬN VÀ CÁC HƯỚNG NGHIÊN CỨU TIẾP THEO
1. KẾT LUẬN