Các dịch vụ dựa trên internet

Một phần của tài liệu Nghiên cứu ứng dụng các dịch vụ NGN (Trang 56)

4.3.1 Presence

4.3.1.a Giới thiệu

Trong phần trên chúng ta đã xem xét các dịch vụ của call centre và giả sử về sự phát triển của nĩ thành presence centre. Phần này chúng ta sẽ xem xét khái niệm của presence và các dịch vụ mà nĩ hỗ trợ.

RFC 2778 mơ tả hệ thống presence và IM (Instant Message) là những hệ thống cho phép user biết được sự thay đổi trạng thái của các user khác và các user cĩ thể gởi cho nhau các bản tin tức thì (instant message). Trong mạng IN hiện tại các trạng thái này được trình bày dưới một vài dạng của ‘buddy list’ và các instant message cĩ thể được nhận hoặc gửi đi từ web clients và Short Message Service (SMS) hoặc các giao diện Wireless Application Protocol (WAP).

Sự khác nhau giữa IM và presence: các ứng dụng IM hiện tại chỉ cho biết bạn đang online hay offline. Các dịch vụ presence cho biết nhiều hơn, nĩ liên kết với các dịch vụ dựa trên vị trí và với thơng tin về loại đầu cuối bạn đang dùng, loại thơng tin bạn cĩ thể nhận. Điều này được thực hiện nhờ sự tích hợp của các kỹ thuật như: VoIP, IM, mobile handsets và Personal Digital Assistants (PDAs), các dịch vụ của PSTN, email và cả online games.

Các phần chính của một presence service được chỉ ra trong hình 4.9. Presentity software chịu trách nhiệm báo cho presence service biết sự thay đổi trạng thái của user và được gọi là ‘presentity’. Trong ví dụ ở hình 4.9 thì sự thay đổi trạng thái của user phản ánh bằng sự thay đổi trạng thái lựa chọn trên Grapphical User Interface (GUI) của user. Trong các thiết bị di động cĩ thêm một thiết bị cập nhật vị trí, sẵn cĩ các mơi trường thơng tin khác nhau (vd: báo rằng tơi mới vừa vào

phịng cĩ một LAN hoặc một Bluetooth LAN) hoặc các sự thay đổi của user. Watcher software chịu trách nhiệm nhận các bản tin cập nhật.

Hình 4.9. Các thành phần của presence service

Để tìm hiểu rõ hơn về dịch vụ presence và IM chúng ta sẽ tìm hiểu mơ hình presence và instant message.

4.3.1.b Tổng quan về mơ hình

Mơ hình cung cấp phương tiện để hiểu, so sánh và mơ tả các hệ thống hỗ trợ các dịch vụ presence và IM. Mơ hình định nghĩa hai dịch vụ: dịch vụ presence và dịch vụ IM. Dịch vụ presence nhận thơng tin, lưu trữ và phân phối nĩ. Dịch vụ IM phục vụ cung cấp và phân phối Instant Message đến Instant Inboxes.

Presence service

Presence service cĩ hai tập hợp ‘client’ riêng biệt. Một tập hợp là Presentity cung cấp Presence Information. Một tập hợp khác là Watchers, nhận Presence Information từ Presence Service.

Cĩ hai loại Watcher là FETCHER và SUBSCRIBERS. Một FERCHER chỉ yêu cầu giá trị hiện tại của một vài Presence Information của Presentity từ Presence Service. Ngược lại, một Subscriber yêu cầu Presence Service khai báo sự thay đổi trong một vài Presence Information của Presentity. Một loại đặc biệt của Fetcher lấy thơng tin một cách đều đặn gọi là Poller

Các loại Watcher

Presence Service cịn cĩ Watcher Information về Watcher và các hoạt động của nĩ trong việc lấy Presence Information. Presence Service cũng phân phối Watcher Information đến một vài Watcher, sử dụng cùng kỹ thuật như phân phối Presence Information. Những thay đổi của Presence Information được phân phối tới Subcribers thơng qua khai báo (Notifications). Hình 4.10.a đến 4.10.c chỉ luồng thơng tin khi một phần Presence Information thay đổi từ P1 sang P2.

WATCHER FETCHE R SUBCRIBER POLLER PRESENCE SERVICE PRESENTITY WATCHER

Instant Messsage Service

Instant Messsage Service cũng cĩ hai tập hợp ‘client’ riêng biệt: Sender và Instant Inboxes. Sender cung cấp Instant Messsage đến Instant Messsage Service để phân phối cho Instant Inboxes. Mỗi Instant Message được đánh địa chỉ đến một Instant Inbox riêng và Instant Messsage Service nỗ lực phân phối bản tin tới một Instant Inbox tương ứng. PRESENCE SERVICE P1 P1 SUBSCRIBER P1->P2 PRESENTITY

Hình 4.10.a. Khai báo (bước 1)

PRESENCE SERVICE P1->P2 P1 SUBSCRIBER P2 PRESENTITY

Hình 4.10.b. Khai báo (bước 2) P2 PRESENCE SERVICE P2 SUBSCRIBER P1->P2 P2 PRESENTITY

Hình 4.10.c. Khai báo (bước 3)

Định dạng

Theo mơ hình nay, Presence Information được dịnh nghĩa gồm một số các yếu tố gọi là các Presence Tuples. Mỗi Tuple gồm một bảng ghi trạng thái (Status marker) (cĩ thể thể hiện các thơng tin như: online/ offline/ busy/ away/ do not disturb), một tùy chọn Communication Address và một tùy chọn Other Presence Markup. Một Communication Address gồm một Communication Means và một Contact Address. Mơ hình này chỉ định nghĩa một loại Communication Means là Instant Message Service. Và mơ hình này cũng chỉ định nghĩa một loại Contact Address là Instant Inbox Address. Tuy nhiên cĩ thể cĩ nhũng khả năng khác, một Communication Means cĩ thể chỉ một vài dạng thoại, với sự tương ứng Contact Address chứa số điện thoại.

INSTANT MESSAGE SERVICE

+ Presence information Presence tuple Status Communication address Contact means Contact address Other markup Presence tuple Status Communication address Contact means Contact address Other markup

Trong mơ hình này Status được định nghĩa cĩ ít nhất hai trạng thái tương ứng với việc phân phối Instant Message: Open: Instant Message sẽ được nhận

Closed: Instant Message sẽ khơng được nhận. Hai trạng thái Open và Closed cũng cĩ thể ứng dụng cho các Communication Means.

Open: Được đặt cho một vài trạng thái cĩ ý nghĩa ‘available’ (sẵn cĩ) hoặc ‘open for business’. (adsbygoogle = window.adsbygoogle || []).push({});

Closed: Được đặt cho một vài trạng thái cĩ ý nghĩa ‘unavailable’ (khơng sẵn cĩ) hoặc ‘closed for business’

Mơ hình này cho phép Status cĩ các giá trị khác được trình bày bởi các chương trình hay bởi con người. Status cĩ thể là các giá trị đơn hoặc đa giá trị.

Presence và những ảnh hưởng lên Instant Message

Instant Inbox là nơi chứa các Instant Message. Địa chỉ của Instant Inbox cĩ thể là thơng tin chứa trong Presence Information để hướng dẫn việc phân phối Instant Messsage đến Instant Inbox. Giá trị của bảng Status xác định liệu Instant Message cĩ được nhận ở Instant Inbox khơng.

Principal và các agent của nĩ

Mơ hình này cịn cĩ các yếu tố khác mơ tả cách các giao thức làm việc. Principle là người, nhĩm người hay phần mềm bên ngồi hệ thống, sử dụng hệ thống như một phương tiện phối hợp và giao tiếp. Principle tương tác với hệ thống thơng qua một vài user Agents (Inbox User Agent, Sender User Agent, Presence User Agent, Watcher User Agent).

Thơng thường các loại user Agent khác nhau được tách riêng ra mặc dù khi thực hiện thì ít nhất là kết hợp một số loại user Agent. Một user Agent thì thuần túy là nối giữa Principle và một vài thành phần lõi của hệ thống (Instant Inbox, Sender, Presenting, Watcher).

Ví dụ

Một ví dụ đơn giản của mơ hình ứng dụng là mơ tả ứng dụng ‘Buddy list’. Ứng dụng này thơng báo sự cĩ mặt của các user này với các user khác và cũng thấy được sự cĩ mặt của các user đĩ. Vì thế buddy list được mơ tả như là sự kết hợp của

PRESENCE SERVICE WATCHER PRESENTITY PRESENCE PROTOCOL WATCHER UA PRESENCE UA (PRINCIPLE) (PRINCIPLE) Hình 4.12. Hệ thống Presence (PRINCIPLE) (PRINCIPLE)

INSTANT MESSAGE SERVICE

INSTANT INBOX SENDER

INSTANT MESSAGE PROTOCOL

INBOX UA SENDER UA

IM

IM

Presence User Agent và Watcher User Agent cho một Principle đơn, sử dụng một Presentity đơn và một Subscriber đơn.

Ví dụ về Instant Messaging là mơ tả ‘Instant Messenger’ giống với ‘Buddy list nhưng cĩ thêm các khả năng gửi và nhận Instant messages. Instant Messenger là sự kết hợp của Presence User Agent, Watcher User Agent, Inbox User Agent Và Sender User Agent cho một Instant Inbox đơn, với Presence Information của Presentity đơn gồm một Instant Inbox Address của Instant Inbox.

Nhìn chung Presence sẽ là một dịch vụ chính trong tương lai.

4.3.3 Các framework ứng dụng 4.3.3.a Giới thiệu 4.3.3.a Giới thiệu

Các framework ứng dụng hướng đối tượng là kỹ thuật thiết kế phần mềm trình bày các lớp đối tượng, cĩ thể được sử dụng để cấu trúc nhiều ứng dụng dựa trên các framework chung lớp dưới. Ví dụ Sun Microsystems cĩ các lớp Swing Java cho xây dựng các ứng dụng GUI (Graphic User Interface).

Gần đây xuất hiện nhiều framework lớn hơn cho phát triển một nhĩm các ứng dụng doanh nghiệp, ví dụ như: .NET của Microsoft, J2EE (Java 2 Enterprise Edition) và JAIN (Java API for Intergrated Networks) của Sun. Những framework này rất quan trọng trong việc phát triển các dịch vụ mạng thế hệ mới.

.NET là nền tảng cho việc tạo các ứng dụng phân tán, các ứng dụng này cĩ thể giao tiếp giữa các thành phần và giữa các ứng dụng với nhau trên mạng diện rộng (wide area network). .NET cung cấp cho các nhà cung cấp dịch vụ phương tiện thực hiện và phân phối các ứng dụng một cách dễ dàng. J2EE cũng cĩ những ý tưởng tương tự và được xây dựng trên các định nghĩa vững chắc sẵn cĩ và nhiều giao diện mở (API- Application Programing Interface) cung cấp cơ sở cho phân phối các ứng dụng n-tier dựa trên web.

Lĩnh vực này vẫn cịn rất mới mẻ và cịn rất nhiều cơng việc cần phải làm để đưa ra các dịch vụ và ứng dụng cĩ giá trị trong thực tế.

4.3.3.b Java APIs for Intergrated Networks (JAIN)

JAIN cĩ cĩ thể mang lại các dịch vụ khơng cố định, điều mà các dịch vụ mạng thơng minh khơng cĩ. JAIN cung cấp các dịch vụ khơng cố định nhờ đưa ra Java write-one, run-anywhere qua việc sử dụng mã byte (byte code) và bằng việc cung

MGCP, SIP, SIP servlets, MEGACO/H248 và H.323, cho phép thực hiện các chức năng chuyển mạch mềm trên các platform được thiết lập kỹ thuật chạy thực Java. JAIN cung cấp một mơi trường an tồn cho các ứng dụng mạng.

Cơng việc của JAIN được chia thành hai tập hợp API: các API ứng dụng và các API giao thức. API giao thức thì ta đã đề cập ở trên, API ứng dụng là: JAIN call control (JCC), JAIN Co-ordination and transaction (JCAT), một JAIN SLEE, một JAIN service provider API cho quản lý an tồn và tin cậy (SPA), một SPA presence and availability API cho presence và IM, và một mơi trường tạo dịch vụ JAIN. Hình 4.14 trình bày tổng quan mối quan hệ của các thành phần này. (adsbygoogle = window.adsbygoogle || []).push({});

JAIN xây dựng trên mơ hình IN tin cậy việc tạo và điều khiển các dịch vụ bên ngồi, nhưng với thư viện Java API rộng lớn sẵn cĩ để yêu cầu, cĩ thể mở rộng và tạo các ứng dụng tích hợp trong một SCP. JAIN service provider APIs là một ứng dụng Java của Parlay API.

Nhĩm Parlay được hình thành vào năm 1998 bởi BT, Microsoft, Nortel Networks, Siemens và Ulticom. Mục đích của nhĩm này là tạo một framework APIs mở để hỗ trợ phát triển các ứng dụng viễn thơng. Sau sự khởi đầu của nhĩm này, một số các cơng ty khác như Cisco, AT&T, microsoft và IBM cũng tham gia. Mục đích của Parlay APIs là cung cấp một mơi trường phát triển ứng dụng độc lập với mạng.

Đặc điểm kỹ thuật của Parlay gồm các phần sau:

• Xử lý cuộc gọi

• Quản lý kết nối

• Framework, bao gồm cả quản lý và độ an tồn

• Messaging

• Tính di động

Xử lý cuộc gọi API khai báo một dịch vụ điều khiển cuộc gọi chung cung cấp một mơ hình điều khiển cuộc gọi ba bên. Theo lý thuyết thì nĩ cĩ thể cung cấp một framework cho phát triển thư viện chương trình điều khiển cuộc gọi cho phần lớn các giao thức trong mạng NGN.

4.3.3.c Java 2 Enterprise Edition (J2EE)

J2EE phục vụ cho web servers, nĩ là một tập hợp các API trong một framework nằm trong web server và cho phép các ứng dụng được xây dựng trên mơ hình web cĩ nhiều tính năng hơn. J2EE cung cấp cơng cụ (Tools) và các giao diện mở (APIs) cho phát triển cả ở phía server và phía khách hàng. Mơ hình J2EE gồm ba lớp: lớp khách (client tier), lớp trung gian (Middle tier) và lớp dữ liệu (Data tier).

Hình 4.15: Các lớp của J2EE framework

Mỗi lớp gồm một tập hợp các khả năng Java như Enterprise Java Beans (EJB) container, sevlets và web container hoặc các khả năng lập trình như trang chủ Java kết nối tới các trang web thơng qua HTML hoặc như mã nhúng cho trình bày thơng tin từ back office systems.

Servlets là sự mở rộng web server thành các web server cho phép lập trình Java (thực hiện servlet API) được tải một cách tự động vào mơi trường chạy thực Java (Java runtime enviroment) của web server, thay thế cho CGI.

J2EE cũng cung cấp các thư viện chương trình cho các dịch vụ truy cập theo tên như Domain Name System (DNS) và các thư mục Lightweight Directory Access Protocol (LDAP), và truy cập đến các hệ thống email thơng qua thư viện chương trình JavaMail.

J2EE cũng cung cấp các APIs thực hiện việc quản lý, các dịch vụ tin nhắn và Remote Method Invocation (RMI). Các APIs này cung cấp các lớp Java để xây dựng nên các ứng dụng cần thiết cho phối hợp các sự kiện phân tán dẫn đến thực hiện hoạt động tự động như lưu thơng tin khách hàng vào một cơ sở dữ liệu.

RMI API cho phép giao tiếp đồng bộ giữa các ứng dụng phân tán được lập trình với rất ít kiến thức về các ứng dụng phân tán. Điều này làm cho việc xây dựng các ứng dụng phân tán n-tier cĩ thể thực hiện được. API của dịch vụ tin nhắn cung cấp dịch vụ tương tự đến các thư viện RMI, ngoại trừ các dịch vụ dựa trên tin nhắn là đồng bộ.

J2EE là mơ hình ứng dụng hồn hảo cho phát triển các ứng dụng doanh nghiệp nhiều lớp.

Client Application Presentation layer

or Client Tier

Business Logic Layer Or Middle Tier Enterprese Information Systems Layer or Data Tier

4.3.3.d .NET

.NET của Microsoft là một ý tưởng được thiết kế và xây dựng trên XML. .NET là một tập hợp các cơng nghệ kết nối thơng tin, con người, hệ thống và thiết bị. Đây là thế hệ mới của cơng nghệ dựa trên các dịch vụ Web.

Microsoft .NET là một thành phần mới trong gia đình hệ điều hành Microsoft Windows. Nĩ là nền tảng của các ứng dụng dựa trên Windows thế hệ mới, những ứng dụng để xây dựng, triển khai và tích hợp với các hệ thống mạng khác dễ hơn.

.NET framework chạy trên các máy tính cầm tay, điện thoại thơng minh, hoặc máy tính, mang lại cho các thiết bị này độ tin cậy, dễ sử dụng, và khả năng kết nối đến các hệ thống khác. .NET framework giúp các nhà phát triển phần mềm và quản trị hệ thống dễ dàng xây dựng và bảo trì hệ thống hướng tới hoạt động, độ an tồn và độ tin cậy.

.NET framework giúp đơn giản hĩa việc phát triển phần mềm Windows. Nĩ cung cấp cho các nhà phát triển một cách mới để xây dựng các ứng dụng desktop- đơi khi được gọi là các ứng dụng khách thơng minh và các ứng dụng dựa trên web. Nĩ cũng cho phép các nhà phát triển sử dụng cùng cơng cụ và kỹ năng để phát triển phần mềm cho nhiều hệ thống từ những điện thoại thơng minh cầm tay cho đến việc lắp đặt các server lớn.

Những phần mềm được xây dựng trên .NET framework cĩ thể được triển khai và bảo trì dễ hơn các phần mềm thơng thường. Các ứng dụng cĩ thể được thiết kế để tự nâng cấp thành phiên bản mới nhất. .NET framework cũng giúp giảm tối thiểu những xung đột bằng việc giúp cho các thành phần của phần mềm khơng tương thích cùng tồn tại.

Lợi ích của .NET famework:

• Giúp cho các nhà quản trị mạng tích hợp các hệ thống hiện tại với các dịch vụ web tốt hơn.

• Giúp triển khai phần mềm ở cả server và web server. (adsbygoogle = window.adsbygoogle || []).push({});

• Làm cho dễ dàng phát triển các phần mềm cĩ độ tin cậy, khả năng mở rộng, hiệu suất hoạt động và độ an tồn cao.

• Giúp cho các nhà phát triển làm việc hiệu quả hơn: - Làm cho họ dễ sử dụng lại các mã đang tồn tại.

- Họ cĩ thể tích hợp được các thành phần được viết từ hơn hai mươi ngơn ngữ lập trình.

- Giúp họ dễ dàng xây dựng phần mềm cho nhiều thiết bị sử dụng cùng kỹ năng và cơng cụ.

4.3.3.e SIP CGI và SIP servlets

SIP CGI được sử dụng trong các Web server. Đây là một kỹ thuật cĩ thể được đưa vào các server ứng dụng/ proxy server/ registration server một cách dễ dàng và cho phép các user upload các kịch bản (scripts) được viết bằng CPL.

SIP CGI làm việc như một Web CGI truyền thống, khi một yêu cầu đến ở server, bản tin và tất cả các thơng số của nĩ được đưa đến một kịch bản (script) thơng qua ngõ nhập tiêu chuẩn và thiết lập một số biến chứa thơng tin về bản tin

Một phần của tài liệu Nghiên cứu ứng dụng các dịch vụ NGN (Trang 56)