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

nghiên cứu và xây dựng ứng dụng gởi và nhận e-mail trên điện thoại blackberry

133 189 0

Đ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

Định dạng
Số trang 133
Dung lượng 3,54 MB

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

Nội dung

Trong đề tài này, chúng em xây dựng một chương trình giúp việc gởi và nhận E-mail trên điện thoại BlackBerry, cụ thể là các điện thoại BlackBerry sử dụng nền tảng hệ điều hành Research

Trang 1

ĐẠI HỌC QUỐC GIA THÀNH PHỐ HỒ CHÍ MINH TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN

KHOA CÔNG NGHỆ THÔNG TIN

BỘ MÔN CÔNG NGHỆ PHẦN MỀM



0612022 – LƯƠNG PHAN BÌNH

0612374 – TỐNG PHƯỚC BẢO QUỐC

NGHIÊN CỨU VÀ XÂY DỰNG ỨNG DỤNG

GỬI NHẬN E-MAIL TRÊN ĐIỆN THOẠI BLACKBERRY

KHÓA LUẬN CỬ NHÂN CNTT

Giáo viên hướng dẫn:

ThS ĐỖ HOÀNG CƯỜNG

NIÊN KHÓA 2006 – 2010

Trang 2

LỜI CÁM ƠN

Chúng em xin bày tỏ lòng biết ơn chân thành nhất đến Thầy Đỗ Hoàng Cường, người Thầy đã tận tâm hướng dẫn, giúp đỡ chúng em trong suốt thời gian thực hiện luận văn này

Chúng con xin gửi tất cả lòng biết ơn sâu sắc và sự kính trọng đến ông bà, cha

mẹ, cùng toàn thể gia đình, những người đã nuôi dạy chúng con trưởng thành đến ngày hôm nay

Chúng em cũng xin chân thành cảm ơn quý Thầy Cô trong Khoa Công Nghệ Thông Tin, trường Đại Học Khoa Học Tự Nhiên TP.Hồ Chí Minh đã tận tình giảng dạy, hướng dẫn, giúp đỡ và tạo điều kiện cho chúng em thực hiện tốt luận văn này

Xin chân thành cảm ơn sự giúp đỡ, động viên và chỉ bảo rất nhiệt tình của các anh chị và tất cả các bạn, những người đã giúp chung tôi có đủ nghị lực và ý chí để hoàn thành luận văn này

Mặc dù đã cố gắng hết sức, song chắc chắn luận văn không tránh khỏi những thiếu sót chúng em rất mong nhận được sự thông cảm và chỉ bảo tận tình của quý Thầy Cô và các bạn

TP.HCM, 6/2010 Nhóm sinh viên thực hiện Lương Phan Bình – Tống Phước Bảo Quốc

Trang 3

NHẬN XÉT CỦA GIÁO VIÊN HƯỚNG DẪN

Trường Đại Học Khoa Học Tự Nhiên, Ngày … Tháng … Năm 2010

Giáo viên hướng dẫn [Ký tên và ghi rõ họ tên]

Trang 4

NHẬN XÉT CỦA GIÁO VIÊN PHẢN BIỆN

Khóa luận đáp ứng đầy đủ yêu cầu của Khóa luận cử nhân CNTT

Trường Đại Học Khoa Học Tự Nhiên, Ngày … Tháng … Năm 2010

Giáo viên phản biện [Ký tên và ghi rõ họ tên]

Trang 5

LỜI NÓI ĐẦU

Hiện nay, công nghệ thông tin đang phát triển mạnh mẽ và trở thành một ngành công nghiệp mũi nhọn ở nhiều quốc gia Máy tính ngày càng trở nên phổ biến, xuất hiện nhiều trong các gia đình và trở thành một công cụ không thể thiếu của nhiều người Bên cạnh sự phát triển của ngành công nghệ thông tin không thể không nhắc tới sự phát triển của Internet Sự xuất hiện và phát triển của Internet đã đáp ứng được nhu cầu con người về giải trí, làm việc, học tập cho đến giao tiếp.v.v

Internet xuất hiện đã đáp ứng được nhu cầu giao tiếp từ xa của con người, với Internet, con người từ khắp nơi có thể liên kết vào cùng một mạng toàn cầu, giúp cho khả năng giao tiếp từ xa của con người dễ dàng hơn Trong đó E-mail xuất hiện đã góp phần giúp cho việc giao tiếp từ xa của con người dễ dàng hơn rất nhiều

Công nghệ E-mail ngày càng phát triển bên cạnh sự phát triển của Internet, rất nhiều E-mail Server đã được lập Từ E-mail Server cung cấp miễn phí cho người dùng như Yahoo, Gmail, Hotmail.v.v Cho tới các E-mail Server dùng riêng cho các doanh nghiệp Nhu cầu về E-mail của con người rất lớn Việc gởi và nhận E-mail đã trở thành một phần không thể thiếu của rất nhiều người Nhu cầu gởi và nhận E-mail ở mọi nơi đã trở thành một nhu cầu cấp thiết

Sự ra đời của các thiết bị di động đã đáp ứng được phần nào nhu cầu của con người, dựa vào đặc tính nhỏ gọn và di động Thiết bị di động đáp ứng được rất nhiều nhu cầu của con người, trong đó có cả việc gởi và nhận E-mail Ngày nay, việc gởi và nhận E-mail trên các thiết bị di động đã trở nên phổ biến Có nhiều giải pháp để thực hiện vấn đề trên như Microsoft phát triển Microsoft Exchange Server để quản lý việc gởi và nhận E-mail, BlackBerry Server quản lý việc gởi và nhận E-mail cho các điện thoại BlackBerry.v.v Trong đó, BlackBerry đang có ưu thế vượt trội về khả năng gởi

và nhận E-mail trên các thiết bị di động của mình BlackBerry đã và đang dần chiếm lĩnh phần lớn thị phần thiết bị di động thông minh

Xuất phát từ các lý do trên, chúng em đã thực hiện đề tài “NGHIÊN CỨU VÀ XÂY DỰNG ỨNG DỤNG GỞI VÀ NHẬN E-MAIL TRÊN ĐIỆN THOẠI

BLACKBERRY” Trong đề tài này, chúng em xây dựng một chương trình giúp việc

gởi và nhận E-mail trên điện thoại BlackBerry, cụ thể là các điện thoại BlackBerry sử dụng nền tảng hệ điều hành Research In Motion phiên bản 5.0

Mục tiêu của đề tài là xây dựng một chương trình giúp cho việc gởi và nhận mail thông qua điện thoại BlackBerry sử dụng hệ điều hành Research In Motion phiên bản 5.0 Giúp người dùng gởi và nhận E-mail dễ dàng bằng thiết bị thông minh

E-BlackBerry của hãng Research In Motion Các nội dung chính của đề tài bao gồm:

 Tìm hiểu về các công nghệ gởi và nhận E-mail

Trang 6

 Tìm hiểu về hệ điều hành Research In Motion và thiết bị di động

BlackBerry của Research In Motion

 Tìm hiểu một số vấn đề về lập trình trên hệ điều hành Research In Motion

 Tìm hiểu lập trình mạng trên BlackBerry

 Xây dựng một ứng dụng chạy trên các thiết bị di động BlackBerry của hãng Research In Motion để gởi và nhận E-mail

Trang 7

MỤC LỤC

LỜI CÁM ƠN 2

NHẬN XÉT CỦA GIÁO VIÊN HƯỚNG DẪN 3

NHẬN XÉT CỦA GIÁO VIÊN PHẢN BIỆN 4

LỜI NÓI ĐẦU 5

Tổ chức luận văn 10

Danh sách hình 11

Danh sách bảng 13

PHẦN 1: MÔI TRƯỜNG LẬP TRÌNH BLACKBERRY 14

Chương 1: Tổng quan hệ điều hành Research In Motion (RIM) 14

1.1 Kiến trúc Research In Motion OS: 14

1.2 Các phiên bản Research In Motion OS: 19

1.3 Giới thiệu Research In Motion OS 5.0: 21

Chương 2: BlackBerry Mobile 23

2.1 Tổng quan về BlackBerry Mobile: 23

2.2 Một số vấn đề khi xây dựng ứng dụng trên BlackBerry: 25

Chương 3: Lập trình với BlackBerry API 31

3.1 BlackBerry API: 31

3.2 Mail API trên BlackBerry: 34

PHẦN 2: CƠ SỞ LÝ THUYẾT 36

Chương 4: Các giao thức trong gửi nhận e-mail 36

4.1 Giao thức SMTP: 36

4.2 Giao thức POP3: 43

4.3 Giao thức IMAP: 48

Chương 5: Push e-mail và Pull e-mail 67

5.1 Push e-mail: 67

5.2 Pull e-mail: 68

PHẦN 3: XÂY DỰNG ỨNG DỤNG GỬI NHẬN E-MAIL 70

Chương 6: Các kĩ thuật xử lí trong ứng dụng 70

6.1 Các giải pháp về vấn đề nhận e-mail: 70

6.2 Các giải pháp về vấn đề gửi e-mail: 72

Trang 8

6.3 Các giải pháp về vấn đề giả lập Push e-mail: 73

6.4 Các giải pháp về vấn đề xây dựng ứng dụng Push e-mail thực sự: 75

6.5 Các giải pháp về vấn đề lưu trữ thông tin trong ứng dụng: 77

6.6 Các giải pháp về vấn đề tiếng Việt trong ứng dụng: 81

6.7 Các giải pháp về vấn đề đa ngôn ngữ: 83

Chương 7: Phân tích và thiết kế 85

7.1 Khảo sát hiện trạng 85

7.2 Xác định yêu cầu: 85

7.3 Xây dựng mô hình use-case: 86

7.4 Đặc tả use-case: 88

7.5 Thiết kế kiến trúc: 101

7.6 Thiết kế lớp: 103

7.7 Thiết kế xử lí: 105

Chương 8: Cài đặt và thử nghiệm 109

8.1 Môi trường phát triển: 109

8.2 Cài đặt: 109

8.3 Thử nghiệm: 110

Chương 9: Tổng kết 113

9.1 Kết luận: 113

9.2 Hướng phát triển: 113

PHẦN 4: PHỤ LỤC 115

Phụ lục A: Phát triển chương trình BlackBerry 115

A.1 Kiến trúc mạng BlackBerry 115

A.2 Mô hình của chương trình BlackBerry 116

A.3 Những mở rộng của BlackBerry từ J2ME 116

A.4 Phát triển chương trình bằng JDE 117

A.5 Triển khai chương trình bằng Blackberry Desktop Manager 119

Phụ lục B: Tống hợp các giao thức mail 121

B.1 Cấu trúc MIME 121

B.2 Cấu trúc mã trả về và ý nghĩa các chữ số 128

B.3 Base64 và Quoted-printable Encoding 128

Trang 9

B.4 Cách đánh số các thành phần trong MIME 131 Tài liệu tham khảo 133

Trang 10

Tổ chức luận văn

Nội dung của luận văn được chia làm 3 phần và 9 chương:

PHẦN 1: MÔI TRƯỜNG LẬP TRÌNH BLACKBERRY

Chương 1: Tổng quan hệ điều hành Research In Motion(RIM): Giới thiệu tổng

quan về công ty Research In Motion, tổng quan về hệ điều hành Research In Motion,

sơ lược các phiên bản hệ điều hành Research In Motion cũng như tổng quan về hệ điều hành Research In Motion phiên bản 5.0

Chương 2:BlackBerry Mobile: Giới thiệu tổng quan về thiết bị di động BlackBerry

của công ty Research In Motion Tổng quan về lịch sử, các dòng máy, đặc điểm của thiết bị di động Blackberry

Chương 3: Lập trình với Blackberry API: Giới thiệu các vấn đề cơ bản về lập trình

trên điện thoại BlackBerry

PHẦN 2: CƠ SỞ LÝ THUYẾT

Chương 4: Các giao thức trong gởi và nhận E-mail: Giới thiệu và trình bày về các

giao thức trong việc gởi và nhận E-mail, bao gồm tổng quan, lịch sử, các câu lệnh sử dụng trong các giao thức đó

Chương 5: Push E-mail và Pull E-mail: Giới thiệu và phân biệt về Push E-mail và

Pull E-mail - 2 cách để lấy E-mail từ E-mail Server

PHẦN 3: XÂY DỰNG ỨNG DỤNG GỞI VÀ NHẬN E-MAIL

Chương 6: Các kĩ thuật xử lý trong ứng dụng: Các kĩ thuật và giải pháp để xử lý và

giải quyết các vấn đề đặt ra trong quá trình xây dựng ứng dụng gởi và nhận E-mail trên Blackberry

Chương 7: Phân tích và thiết kế: Phân tích, thiết kế các chức năng của chương trình,

thiệt kế lớp, thiết kế màn hình, thiết kế lưu đồ hoạt động và trình bày một số vấn đề quan trọng khác liên quan tới việc xây dựng ứng dụng

Chương 8: Cài đặt và thử nghiệm: Giới thiệu môi trường phát triển và cài đặt ứng

dụng, thử nghiệm ứng dụng trên môi trường máy ảo và trong thực tế

Chương 9: Tổng kết: Trình bày những kết quả đạt được, hạn chế, những vấn đề tồn

tại, hướng phát triển trong tương lai

Trang 11

Danh sách hình

Hình 1.1 - Cấu trúc mạng của Blackberry 15

Hình 1.2 - Trackwheel trên máy BlackBerry 8700 16

Hình 1.3 - Trackball trên điện thoại BlackBerry Pearl 8100 16

Hình 1.4 - Trackpad trên điện thoại Blackberry Bold 9700 17

Hình 1.5 - Touchscreen trên điện thoại Blackberry Storm 9500 17

Hình 1.6 - Bàn phím QWERTY trên máy BlackBerry Curve 8900 18

Hình 1.7 - Bàn phím AZERTY Trên máy BlackBerry Curve 8900 18

Hình 1.8 - Bàn phím SureType trên điện thoại BlackBerry 8100 19

Hình 1.9 - Bàn phím ảo SureType trong máy Blackberry 8550 19

Hình 1.10 - Giao diện Research In Motion OS 5.0 22

Hình 2.1 - Chu kỳ sống của chương trình BlackBerry 26

Hình 2.2 - Các công cụ lập trình MDS trên BlackBerry 27

Hình 2.3 - Máy ảo 9530 của BlackBerry 28

Hình 2.4 – Sơ đồ biểu diễn mới quan hệ giữa các lớp Connection 32

Hình 4.1- Quá trình trao đổi dữ liệu trong giao thức SMTP 36

Hình 4.2 - Giao tác giữa Client và Server trong giao thức SMTP 36

Hình 4.1- Quá trình trao đổi dữ liệu trong giao thức SMTP 36

Hình 4.3 - Mô hình hoạt động của POP3 43

Hình 4.4 - Trạng thái chứng thực của POP3 43

Hình 4.5 - Trạng thái giao tác của POP3 44

Hình 4.6 - Mô hình hoạt động của IMAP4 49

Hình 5.1 - Mô hình BIS của Research In Motion 66

Hình 5.2 - Microsoft Exchange 1.0 67

Hình 6.1 - Quá trình chuyển đổi mẫu E-mail khi gởi mail tới một người dùng 71

Hình 6.2 - Quá trình tự động nhận E-mail của chương trình 72

Trang 12

Hình 6.3- Mô hình hệ thống Push E-mail 74

Hình 6.4 - Sơ đồ quản lý Persistent Data trong máy BlackBerry 77

Hình 6.5 - Cấu trúc lưu trữ danh sách các cấu hình E-mail 78

Hình 7.1 - Sơ đồ use-case ứng dụng 84

Hình 7.2 – Mô hình hoạt động của ứng dụng 99

Hình 7.3 – Kiến trúc thành phần ứng dụng phía Client 100

Hình 7.4 – Các lớp quản lý màn hình 101

Hình 7.5 – Các thành phần lưu trữ và xử lý Message 101

Hình 7.6 – Sơ đồ các lớp quản lý E-mail 102

Hình 7.7 – Thành phần các lớp quản lý cấu hình và lưu trữ 102

Hình 7.8 – Quá trình nhận E-mail bằng giao thức IMAP 103

Hình 7.9 - Quá trình nhận E-mail bằng giao thức POP 103

Hình 7.10 – Xử lý và hiển thị nội dung E-mail 104

Hình 7.11 – Xử lý Attachment trong E-mail 104

Hình 7.12 – Đóng gói và gởi E-mail 105

Hình 7.13 - Các trạng thái chuyển đổi của chương trình 105

Hình 8.1 – Giao diện BlackBerry Desktop Manager 107

Hình 8.2 – Danh sách chương trình trong thiết bị 107

Hình A.1 - Kiến trúc mạng của BlackBerry 111

Hình A.2 - Cài đặt để kết nối BES 112

Hình A.3 - Tạo Workspace để quản lý công việc 113

Hình A.4 - Tạo chương trình mới 113

Hình A.5 - Thêm một tập tin mới vào chương trình 114

Hình A.6 - đưa một tập tin vào chương trình 114

Trang 13

Danh sách bảng

Bảng 1.1 Các phiên bản hệ điều hành Research In Motion 21

Bảng 2.1 - Các gói API cần phải ký trước khi sử dụng 30

Bảng 4.1 Các định nghĩa mở rộng của SMTP 38

Bảng 4.2 các câu lệnh trả về trong SMTP 41

Bảng 6.1 - Các ký tự Unicode tổ hợp 81

Bảng 7.1 - Các yêu cầu của chương trình 84

Bảng 7.2 – Danh sách các actor 84

Bảng 7.3 – Danh sách các use-case 85

Bảng 8.1 - Kết quả thử nghiệm trên máy ảo của chương trình 86

Bảng A.1 - Chương trình HelloWorld 115

Bảng A.2 - cấu trúc một tập tin alx 116

Bảng B.1 – Ví dụ về tập tin MIME 119

Bảng B.2 - Chữ số “x” 124

Bảng B.3 – Chữ số “y” 124

Bảng B.4 – Bảng mã chuyển đổi 126

Bảng B.5 – Ví dụ về chuyển đổi mã 126

Bảng B.6 – Cách đánh số các thành phần trong MIME 127

Trang 14

Chương 1: Tổng quan hệ điều hành Research In Motion

PHẦN 1: MÔI TRƯỜNG LẬP TRÌNH BLACKBERRY

Chương 1: Tổng quan hệ điều hành Research In Motion (RIM)

1.1 Kiến trúc Research In Motion OS:

1.1.1 Giới thiệu Research In Motion OS:

Hệ điều hành Research In Motion(RIM OS) được phát triển bởi công ty

Research In Motion, được sử dụng hầu hết cho dòng điện thoại thông minh

BlackBerry của hãng này

Sơ lược về hệ điều hành Research In Motion:

 Hệ điều hành RIM lập trình trên ngôn ngữ C++

 Ngôn ngữ lập trình: Sử dụng ngôn ngữ Java và BlackBerry API

 Kernel: Sử dụng Kernel Java

 Bản quyền sử dụng: Research In Motion độc quyền phân phối và phát triển

 Ngôn ngữ hỗ trợ: US English, UK English, French, Spanish, European

Portuguese, Brazilian Portuguese, Basque, Catalan, Galician, Italian, German, Dutch, Russian, Polish, Czech, Hungarian, Turkish, Arabic, Hebrew,

Indonesian, Thai, Japanese, Chinese (Traditional), Chinese (Simplified),

Korean

Hệ điều hành BlackBerry là một hệ điều hành đa nhiệm, sử dụng cách thức dẫn nhập dữ liệu thông qua bánh xe di chuyển(Trackwheel), viên bi di chuyển(Trackball) hay bàn cảm ứng(Trackpad), màn hình cảm ứng(Touchscreen) Hệ điều hành hỗ trợ các thông tin thiết bị di động chuẩn MIDP 1.0 và giao thức không dây chuẩn WAP 1.2 Hỗ trợ trình duyệt web WAP và các thông tin như lịch, công việc, địa chỉ, E-mail

và chú thích như một số điện thoại thông minh khác Các điện thoại OS 4.0 trở lên hỗ trợ MIDP 2.0

Các chức năng này được thực hiện bởi phần mềm BES1, phần mềm này là một phần của hệ điều hành Một phiên bản cải tiến của BES là BIS2 Nó cho phép người dùng truy cập Internet Ngoài ra, người dùng còn có thể sử dụng các giao thức POP33, IMAP4 và truy cập Outlook E-mail mà không cần truy cập thông qua BES khi sử dụng BIS BIS là một dịch vụ được điều hành bởi RIM, được cung cấp thông qua các nhà

Trang 15

Chương 1: Tổng quan hệ điều hành Research In Motion

cung cấp dịch vụ di động Các phiên bản cập nhật có thể được tải thông qua dịch vụ tải OTASL5 cung cấp bởi hệ điều hành BlackBerry

Hình 1.1 - Cấu trúc mạng của Blackberry (Nguồn: BlackBerry OS Report - Josh Schiffman)

Mặc dù hệ điều hành BlackBerry là một hệ điều hành đóng, nhưng nó cung cấp một thư viện giao diện lập trình ứng dụng(Application Programming Interface – API) Các nhà lập trình có thể sử dụng các API này để biết chương trình ứng dụng cho BlackBerry

1.1.2 Nhập liệu trên Research In Motion OS:

Hệ điều hành Research In Motion được sử dụng cho các máy của chính hãng là BlackBerry Vì vậy đều được sử dụng các phương thức nhập liệu sau:

di chuyển trackwheel Chọn ứng dụng hay mở menu ứng dụng bằng cách nhấp vào Trackwheel

Trang 16

Chương 1: Tổng quan hệ điều hành Research In Motion

Hình 1.2 - Trackwheel trên máy BlackBerry 8700

(Nguồn: www.gsmarena.com)

 Trackball:

Được sử dụng từ dòng máy 8100, và các dòng máy 8300, 8800, 8900, 9000,

9600 Trackball là một viên bi nằm ở chính giữa máy Người dùng có thể cuộn viên bi lên xuống và qua trái, qua phải để di chuyển trong giao diện người dùng Nhấn vào trackball để chọn và mở menu của ứng dụng

Hình 1.3 - Trackball trên điện thoại BlackBerry Pearl 8100

Trang 17

Chương 1: Tổng quan hệ điều hành Research In Motion

Hình 1.4 - Trackpad trên điện thoại Blackberry Bold 9700

(Ngồn www.GSMArena.com)

 Touchscreen:

Touchscreen là kiểu nhập liệu được sử dụng cho các máy có màn hình cảm ứng như dòng điện thoại 9500 Người dùng có thể dùng tay hoặc bút cảm ứng để chọn trực tiếp trên màn hình cảm ứng này

Hình 1.5 - Touchscreen trên điện thoại Blackberry Storm 9500

Trang 18

Chương 1: Tổng quan hệ điều hành Research In Motion

đổi và sắp xếp lại các ký tự trên bàn phím, và bàn phím kiểu QWERTY ra đời Kiểu bàn phím này đuợc sử dụng rộng rãi cho các máy đánh chữ và máy tính ngày nay

Research In Motion đã ứng dụng kiểu bàn phím này vào điện thoại của mình Giúp người dùng có thể nhập liệu bằng cả 2 tay và nhập liệu nhanh hơn Kiểu bàn phím này đươc sử dụng trên hầu hết các điện thoại của BlackBerry, trừ các loại điện thoại cảm ứng và các dòng sử dụng bàn phím SureType

Hình 1.6 - Bàn phím QWERTY trên máy BlackBerry Curve 8900

(Nguồn: ecvv.com)

Một số điện thoại được phân phối ở Bỉ hoặc Pháp còn sử dụng bàn phím

AZERTY, một phiên bản khác của kiểu bàn phím QWERTY cho những người sử dụng ngôn ngữ Bỉ hay Pháp

Hình 1.7 - Bàn phím AZERTY Trên máy BlackBerry Curve 8900

(Nguồn: www mepodphone.net)

 Bàn phím SureType:

Bàn phím SureType là kiểu bàn phím dựa vào kiểu bàn phím QWERTY,

nhưng thiết kế 2 ký tự trên 1 phím, giúp cho bàn phím SureType trở nên nhỏ gọn hơn

Trang 19

Chương 1: Tổng quan hệ điều hành Research In Motion

so với bàn phím QWERTY nhưng vẫn đáp ứng được nhu cầu nhập liệu nhanh của

người sử dụng BlackBerry

Bàn phím SureType còn trang bị cho người dùng một từ điển khoảng 35.000

chữ tiếng Anh, giúp cho người dùng có thể gõ nhanh hơn bằng chế độ gõ chữ thông

minh Ngoài ra, các dòng điện thoại sử dụng bàn phím SureType còn có chức năng tự

động học và nhớ những từ người dùng để nhập liệu để thêm vào bộ tự điển, giúp

người dùng nhập liệu nhanh hơn

Bàn phím SureType được sử dụng cho các điện thoại như Pearl 8100, 8110,

T-Mobile[3] AT&T[4] Bell[5] Rogers[6] Telus[7] Verizon[8] Sprint[9]

Trang 20

Chương 1: Tổng quan hệ điều hành Research In Motion

5.0.0.624 (05/04/2010)

Trang 21

Chương 1: Tổng quan hệ điều hành Research In Motion

1.3 Giới thiệu Research In Motion OS 5.0:

Do ứng dụng gởi và nhận mail trên điện thoại Blackberry được viết để chạy

trên nền tảng hệ điều hành Research In Motion phiên bản 5.0, sau đây là một số sơ

lược về phiên bản này

Sự ra đời và phát triển mạnh mẽ của dòng điện thoại thông minh đã tạo ra môi

trường phát triển ứng dụng mới Trong đó sự phát triển mạnh mẽ của dòng điện thoại

cảm ứng thúc đẩy sự ra đời của các dòng máy, hệ điều hành tiên tiến hơn, có thể đáp

ứng được nhu cầu phát triển của thị trường

Research In Motion đã cho ra đời phiên bản OS 5.0, được phát triển cho các

dòng điện thoại BlackBerry Pearl Flip 8200, Curve 8350i, 8330, 8520 và 8900, Bold

9000, Storm 9530 và Tour 9630 Sự ra đời của hệ điều hành phiên bản mới này đánh

dấu bước phát triển mạnh mẽ của hãng và hệ điều hành với các tính năng hỗ trợ màn

hình cảm ứng, và các tính năng mạnh mẽ khác hỗ trợ tốt hơn cho người dùng

Trang 22

Chương 1: Tổng quan hệ điều hành Research In Motion

Hình 1.10 - Giao diện Research In Motion OS 5.0

xa, chuyển lịch công việc và kết nối mạnh mẽ Ngoài ra, với các tính năng hỗ trợ màn hình cảm ứng, giao diện hoàn toàn mới và tiện dụng cho người dùng, Phiên bản hệ điều hành Research In Motion 5.0 đánh dấu một bước phát triển mạnh mẽ, đáp ứng nhu cầu của người sử dụng và cả lập trình viên

 Đặc điểm nổi bật:

o Hỗ trợ các chức năng dành cho thiết bị có màn hình cảm ứng

o Khả năng kết nối và thể hiện website mạnh mẽ

o Kết nối và quản lý văn bản từ xa

o Giao diện mới thân thiện và tiện dụng cho người dùng

7

Aynchoronous Java Script And XML

Trang 23

Chương 2: Blackberry Mobile

Chương 2: BlackBerry Mobile

2.1 Tổng quan về BlackBerry Mobile:

2.1.1 Khái niệm về BlackBerry Mobile:

BlackBerry là tên gọi chung của một thiết bị di động được phát triển bởi công

ty Research In Motion(RIM) có trụ sở chính tại Canada Ngoài các tính năng thông thường của một thiết bị thông minh như sổ địa chỉ, lịch công việc.v.v BlackBerry còn được biết đến như một thiết bị hỗ trợ mạnh mẽ cho việc gởi và nhận mail ở bất kì đầu, miễn là nó có thể kết nối với mạng di động

BlackBerry hiện nay chiếm hơn 20% thị trường thiết bị cầm tay thông tin(hay còn gọi là smart phone) Với nhiều đặc tính nổi trội như khả năng bảo mật cao, hỗ trợ gởi và nhận mail một cách mạnh mẽ, có thể kết nối ở khắp mọi nơi.v.v BlackBerry đã trở thành thiết bị cầm tay thông minh phổ biến nhất đối với các doanh nhân ở thị trường Mỹ

2.1.2 Lịch sử phát triển:

Thiết bị Blackberry xuất hiện đầu tiên vào năm 1999 chỉ đơn thuần là một máy nhắn tin di động(Pager) Chiếc máy có số hiệu 850 sử dụng 2 pin AA, có một số chức năng cơ bản như truy cập Internet, lịch hẹn, sắp xếp và quản lý công việc.v.v Ở thời điểm các thiết bị di động đều rất lớn và không có nhiều chức năng như bấy giờ, 850 được đón nhận như một trong những thiết bị thành công nhất thời điểm đó, và rất được các doanh nhân ưa chuộng

Vào năm 2002, các thiết bị phổ biến hơn của BlackBerry ra đời, hỗ trợ push mail, gọi điện thoại di động, nhắn tin, fax, duyệt web và một số ứng dụng mạng khác Lúc này thiết bị khá giống với hình dạng các điện thoại phổ biến bây giờ Được cung cấp pin lithium có thể sạc, dung lượng bộ nhớ và tốc độ xử lý cũng cải tiến hơn rất nhiều

e-Mặc dù hầu hết các điện thoại dòng 5000 và 6000 của Blackberry đều hướng vào thị trường mạng GSM8 Nhưng với sự phát triển của Sprint và Verizon trên nền tảng mạng CDMA9 ở thị trường Mỹ, vào năm 2003 RIM đã phát tirển BlackBerry

6750 cho mạng của Verizon Kế tới là các phiên bản dòng 7200, điển hình là dòng sản phẩm 7250, được phân phối qua Sprint và Verizon Đây là thiết bị đầu tiên của

Trang 24

Chương 2: Blackberry Mobile

7250 được thiết kế cho mạng CDMA Riêng 7270 thật chất là một thiết bị WLAN, không hoạt động dựa trên mạng di động mà được sử dụng cho mục đích gọi VoIP10 Dòng điện thoại 7500 sau đó được thiết kế cho mạng di động iDEN của Motorola

Có thể nói, bàn phím QWERTY là biểu tượng của Blackberry Tuy nhiên, một

số người lại cho rằng thiết bị full QWERTY lại quá cồng kềnh, và họ ưa chuộng dòng thiết bị mỏng và nhẹ hơn Chính vì điều này, RIM đã phát triển và phân phối 7100t thông qua mạng T-Mobile vào cuối năm 2004, sử dụng bàn phim SureType – kiểu bàn phím với 2 ký tự cho mỗi phím

Dòng thiết bị sử dụng bằng phím SureType thật sự được biết đến rộng rãi với

sự ra đời của phiên bản 8100 vào năm 2006, hay còn gọi là BlackBerry Pearl Với thay đổi lớn chính là một viên bi cuộn ở giữa(được gọi là Trackball) được thay thế cho thanh cuộn bên hông(được gọi là Trackwheel) của những dòng sản phẩm trước Ban đầu, Pearl được thiết kế hỗ trợ mạng GSM, nhưng vào cuối 2007, Pearl 8130 được phát triển cho mạng CDMA

Sau một loạt sản phẩm với bàn phím cải tiến SureType, BlackBerry lại cho ra đời dòng sản phẩm 8700 với kiểu bàn phím QWERTY, sản phẩm này là một trong những sản phẩm bán chạy nhất của BlackBerry 8700 được phát triển với 3 dòng sản phẩm, một cho mạng GSM với EDGE11, một cho mạng GSM không sử dụng

EDGE(phổ biến ở các nước Anh, Ý, Hồng Kông, Singapore, W-CDMA12 ở Nhật), và một dòng sản phẩm khác sử dụng cho mạng CDMA

Vào ngày 12/2/2007, Blackberry bắt đầu phân phối 8800, sản phẩm GSM bán chạy nhất tại thời điểm lúc bấy giờ Đây là thiết bị với kiểu bàn phím QWERTY kết hợp với viên bi Trackball của dòng sản phẩm 8100 Vài tháng sau dòng sản phẩm

8830 được phân phối thông qua Verizon, sử dụng mạng CDMA Và sau đó dòng sản phẩm 8820 ra đời đây là sản phẩm sử dụng Wifi đầu tiên của BlackBerry

Vào tháng 5/2007 BlackBerry lại tiếp tục giới thiệu dòng sản phẩm

BlackBerry 8300, hay còn gọi là BlackBerry Curve Đây là sản phẩm đầu tiên của BlackBerry có tích hợp camera, sản phẩm này cũng được phân phối ở nhiều mạng khác nhau như GSM hay CDMA

BlackBerry đã và đang phát triển cho tới tận ngày nay Với nhiều sản phẩm cải tiến theo từng năm cụ thể, với nhiều kiểu dáng khác nhau như nắp gập, nắp trượt, cảm ứng.v.v BlackBerry đã và đang dần khẳng định vị thế là một trong những sản phẩm thiết bị cầm tay thông minh mạnh và hiệu quả nhất

Trang 25

Chương 2: Blackberry Mobile

2.2 Một số vấn đề khi xây dựng ứng dụng trên BlackBerry:

2.2.1 Java trên BlackBerry:

Ứng dụng trên Blackberry có thể được phát triển bằng ngôn ngữ Java, cụ thể là J2ME13 như các thiết bị di động có hỗ trợ Java khác Ngoài ra, Research In Motion còn cung cấp cho những người phát triển ứng dụng một bộ API14 bao gồm các hàm và các câu lệnh hỗ trợ việc lập trình trên điện thoại BlackBerry

API của BlackBerry bao gồm các lớp, các hàm hỗ trợ cho việc phát triển ứng dụng trên BlackBerry, bao gồm:

 Brower: trong bộ net.rim.blackberry.api , hỗ trợ các thao tác về trình duyệt web

và tạo trang web

 Invoke: trong bộ net.rim.blackberry.api, hỗ trợ truy cập vào các ứng dụng sẵn

có của máy như mail, task, memo.v.v

 Mail:Hỗ trợ các thao tác về mail như đọc, soạn mail và gởi mail

 Phone: Hỗ trợ các thao tác về nghe và nhận cuộc gọi

 Pdap: Hỗ trợ thao tác cho các ứng dụng PDA như công việc, lịch, sổ địa

chỉ.v.v

 API về thiết bị ngoại vi như bluetooth, pin, ui.v.v

 API hỗ trợ việc mã hóa, lưu trữ khóa, giải mã.v.v

2.2.2 Chu kì sống của một chương trình BlackBerry:

Chương trình được bắt đầu ở trạng thái tạm dừng(Pause), lắng nghe các thông điệp mà người dùng có thể tương tác trong chương trình Khi có một thông điệp mà chương trình có thể quản lý, chương trình sẽ chuyển sang trạng thái hoạt

động(Active), sau khi thực hiện xong, chương trình lại quay về trạng thái tạm dừng

Chương trình kết thúc(Destroyed) khi người dùng chọn thoát chương trình Quá trình lắng nghe diễn ra liên tục

Trang 26

Chương 2: Blackberry Mobile

Hình 2.1 - Chu kỳ sống của chương trình BlackBerry (Nguồn: BlackBerry OS Report - Josh Schiffman)

2.2.3 Môi trường lập trình BlackBerry:

Về cơ bản, người dùng có thể sử dụng bất kỳ môi trường nào để lập trình ứng dụng java cho BlackBerry BlackBerry còn cung cấp cho người dùng một số môi trường lập trình như sau để hỗ trợ thêm về API của BlackBerry

 BlackBerry JDE15: Đây là chương trình cần thiết khi lập trình BlackBerry, nó cung cấp môi trường, máy ảo và các API cần thiết để lập trình BlackBerry Bộ lập trình này yêu cầu JRE16 và JDK17 1.6 để chạy Bộ lập trình này bao gồm:

o Một bộ tra cứu về API của BlackBerry và java

o Máy ảo giả lập để chạy và phát triển ứng dụng

o Giả lập MDS

o Một số chương trình mẫu

o Khả năng tạo code file để đưa ứng dụng vào máy Blackberry

o Công cụ ký(sign) code để phát triển ứng dụng trên môi trường máy thực

Trang 27

Chương 2: Blackberry Mobile

 Rapid Application Development tools for BlackBerry(MDS Studio 2.0): Môi trường này cung cấp cho người phát triển ứng dụng khả năng phát triển các ứng dụng khác nhau như mạng, cơ sở dữ liệu.v.v

 BlackBerry Plug-in cho Microsoft Visual Studio: Đây là Plug-in dành cho Visual Studio của Microsoft Cung cấp khả năng phát triển ứng dụng

BlackBerry qua môi trường Visual Studio Tuy nhiên, Plug-in này hiện nay không được Research In Motion phát triển tiếp

 NetBeans19: Người dùng có thể sử dụng Netbeans để lập trình ứng dụng

BlackBerry

Hình 2.2 - Các công cụ lập trình MDS trên BlackBerry (Nguồn: BlackBerry OS Report - Josh Schiffman)

2.2.4 Máy ảo BlackBerry:

BlackBerry cung cấp cho người dùng một bộ máy ảo gần như hoàn chỉnh về các tính năng để người dùng có thể chạy thử và phát triển ứng dụng trên BlackBerry

Tất cả các dòng máy đã sản xuất của Research In Motion đều có một máy ảo với chức năng và hình dáng tương đương

Máy ảo BlackBerry bao gồm tất cả các tính năng của một máy BlackBerry thông thường, bao gồm kết nối mạng di động và mạng máy tính, chế độ Holster20, chế

Trang 28

Chương 2: Blackberry Mobile

Hình 2.3 - Máy ảo 9530 của BlackBerry (Nguồn: www.Blackberry.com)

2.2.5 Ký (sign) chương trình BlackBerry:

Mặc dù người phát triển ứng dụng có thể tự do phát triển ứng dụng cho

BlackBerry Tuy nhiên, khi sử dụng API của BlackBerry cung cấp, Research In

Motion cần phải theo dõi một số chương trình nhạy cảm sử dụng các API liên quan tới việc bảo mật và quản lý các thông tin nằm trong máy Các hàm về bảo mật và quản lý trong BlackBerry API đều bị khóa, và yêu cầu phải được ký trước khi sử dụng trên máy thật

Một số API như các API về mã hóa, bảo mật bắt buộc phải được Research In Motion ký trước khi sử dụng Điều này giúp cho người dùng có thể sử dụng các

chương trình được phát triển mà không phải lo về các vấn đề mã hóa và bảo mật của mình

Một số chương trình sử dụng MIDP21 để truy cập vào máy cần được ký để xác minh ứng dụng này an toàn Khi được ký, chương trình sẽ không xuất hiện các cảnh báo cho người dùng khi chương trình sử dụng các kết nối file, kết nối mạng cũng như truy cập dữ liệu trong máy nữa

21

Mobile Information Device Profile

Trang 29

Chương 2: Blackberry Mobile

Các gói cần phải ký trước khi sử dụng là:

vào trình duyệt của BlackBerry

vào các ứng dụng có sẵn của BlackBerry như lịch công việc, tin nhắn, sổ ghi chép và các ứng dụng

về mạng điện thoại

phần mềm tin nhắn của BlackBerry để gởi, nhận và đọc tin nhắn E-mail

nghe, quản lý các sự kiện liên quan tới mail

có thể thêm các menu vào chương trình BlackBerry

thêm các tùy chọn của chương trình vào danh sách tùy chọn có sẵn của máy BlackBerry

vào chương trình quản lý thông tin người dùng của Blackberry như sổ địa chỉ, công việc, lịch

Javax.mircoedition.pim

các tính năng của các ứng dụng phone

Trang 30

Chương 2: Blackberry Mobile

bảo mật, mã hóa, chữ ký điện tử, chứng thực dữ liệu và quản lý chứng thực

một hay nhiều địa chỉ tới trình duyệt web của BlackBerry

Bảng 2.1 - Các gói API cần phải ký trước khi sử dụng

(Nguồn:BlackBerry API references)

Các gói kể trên sẽ hoạt động bình thường trên máy ảo khi phát triển ứng dụng

Tuy nhiên, chương trình cần phải ký trước khi sử dụng trên máy thật

Để ký cho chương trình của mình, người phát triển ứng dụng cần truy cập vào

địa chỉ: http://na.blackberry.com/eng/developers/javaappdev/codekeys.jsp và điền đầy

đủ vào: https://www.blackberry.com/SignedKeys/ Sau khi trả phí cho Research In

Motion, người phát triển ứng dụng sẽ chờ để lấy chữ ký và ký cho ứng dụng của

mình Sau đó người phát triển ứng dụng có thể triển khai trên máy thật

Trang 31

Chương 3: Lập trình với Blackberry API

Chương 3: Lập trình với BlackBerry API

3.1 BlackBerry API:

Ngoài việc hỗ trợ các gói thư viện MIDLET của các ứng dụng Java trên di động, BlackBerry còn bổ sung rất nhiều thư viện đặc biệt chỉ sử dụng trên RIM OS

Các gói thư viện này có tên bắt đầu net.rim.* Hướng dẫn sử dụng của các thư

viện này được miêu tả cụ thể trong BlackBerry JDK API References (nằm trong bộ SDK của BlackBerry) Trong nội dung của báo cào này chỉ xin giới thiệu một số lớp được sử dụng trong xây dựng chương trình

3.1.1 Lập trình giao diện trên BlackBerry:

BlackBerry API cung cấp cho người dùng các lớp cơ bản nhất để lập trình ứng dụng có giao diện tương tác người dùng Bao gồm các control cơ bản nhất của lập trình giao diện như button, listbox, combobox, textfield.v.v

Các lớp API này đều cho phép kế thừa để người phát triển ứng dụng có thể tùy biến tùy vào mục đích sử dụng của mình

Trong đó:

 <host>: đường dẫn tới server

 <port>: port kết nối tới server

 <path>: đường dẫn thư mục trên server

 <optional parameters>: Các tham số mở rộng, bao gồm:

o Deviceside: Cho biết kết nổi được kết nối trực tiếp qua TCP hay qua proxy TCP Deviceside=true nếu kết nối trực tiếp qua TCP, deviceside=false nếu kết nối thông qua proxy TCP

o Interface: interface=wifi cho biết kết nối wifi được mở

o Apn: một kết nối thông qua APN được tạo ra

Trang 32

Chương 3: Lập trình với Blackberry API

o TunnelAuthUsername: tên truy cập để kết nối tới APN

o TunnetAuthPassword: mật khẩu để kết nối tới APN

 Kết nối bằng SSL 24

/TLS 25 :

Lớp Connector mở một kết nối TLS hay SSL bằng câu lệnh sau:

Connector.open("tls://<host>:<port>/<path>[<optional parameters>]");

Hay

Connector.open("ssl://<host>:<port>/<path>[<optional parameters>]");

Trong đó:

 <host>: đường dẫn tới server

 <port>: port kết nối tới server

 <path>: đường dẫn thư mục trên server

 <optional parameters>: Các tham số mở rộng, bao gồm:

o Deviceside: Cho biết kết nổi được kết nối trực tiếp qua TCP hay qua proxy TCP Deviceside=true nếu kết nối trực tiếp qua TCP, deviceside=false nếu kết nối thông qua proxy TCP

o Interface: interface=wifi cho biết kết nối wifi được mở

o Apn: một kết nối thông qua APN được tạo ra

o TunnelAuthUsername: tên truy cập để kết nối tới APN

o TunnetAuthPassword: mật khẩu để kết nối tới APN

Kết nối SSL/TLS có thể thực hiện thông qua 2 chế độ:

 Chế độ proxy: Dịch vụ dữ liệu điện thoại( Mobile Data Service – MDS) của BlackBerry Enterprise Server(BES) cung cấp TLS/SSL như một hỗ trợ cho thiết bị Mọi giao tiếp thông qua internet giữa BES và Web server được mã hóa sử dụng TLS Giao tiếp thông qua mạng diện rộng giữa thiết bị và BES không được mã hóa bởi TLS/SSL, nhưng vẫn được

mã hóa bằng thuật toán TripleDES Dữ liệu TLS được giải mã tại MDS

và mã hóa lần nữa bằng TripleDES

 Chế độ proxy: Dịch vụ dữ liệu điện thoại( Mobile Data Service – MDS) của BlackBerry Enterprise Server(BES) cung cấp TLS/SSL như một hỗ trợ cho thiết bị Mọi giao tiếp thông qua internet giữa BES và Web server được mã hóa sử dụng TLS Giao tiếp thông qua mạng diện rộng giữa thiết bị và BES không được mã hóa bởi TLS/SSL, nhưng vẫn được

mã hóa bằng thuật toán TripleDES Dữ liệu TLS được giải mã tại MDS

và mã hóa lần nữa bằng TripleDES

Trang 33

Chương 3: Lập trình với Blackberry API

3.1.2.2 javax.microedition.io.SocketConnection interface và javax.microedition.io.StreamConnection interface:

Hình 2.4 – Sơ đồ biểu diễn mới quan hệ giữa các lớp Connection

2 lớp này cung cấp kết nối socket giữa thiết bị và server Đồng thời nó còn cung cấp một dữ liệu InputStream và dữ liệu OutputStream để quản lý quá trình gởi/nhận của kết nối đó

Khi dữ liệu InputStream hay OutputStream bị đóng, nó chỉ có thể được

mở lại bằng lệnh gọi Connector.open()

3.1.2.3 net.rim.device.api.crypto.tls.tls10.TLS10Connection:

Lớp này có thể tạo ra một kết nối TLS1.0 trực tiếp thông qua kết nối thông thường(ví dụ như TCP) Ngoài ra lớp này còn có chức năng định hướng kết nối là kết nối TLS nếu sử dụng kết nối thông thường

3.1.3 Lưu trữ thông tin trên BlackBerry:

Thông tin trên BlackBerry được lưu trữ thông qua 2 lớp hỗ trợ là

PersistentObject và PersistentStore:

- PersistentObject: Lớp nãy hỗ trợ lưu trữ dữ liệu của chương trình trên thiết bị Dữ liệu này sẽ không bị mất sau mỗi lần thiết bị khởi động lại

o Để xác định dữ liệu cần lưu trữ, ta sử dụng câu lệnh

setContents(“Dữ liệu cần lưu trữ”)

o Để lưu trữ dữ liệu, ta sử dụng câu lênh commit() hoặc

forcecommit()

- PersistentStore: Lớp này hỗ trợ lưu trữ dữ liệu đã được xác định trong PersistentObject vào dữ liệu của thiết bị và lưu trữ

Trang 34

Chương 3: Lập trình với Blackberry API

3.1.4 Lập trình truy cập các ứng dụng có sẵn trên BlackBerry:

Blackberry API cung cấp cho người phát triển ứng dụng khả năng truy cập và lấy dữ liệu trong thiết bị Blackberry như tin nhắn, danh bạ điện thoại, lịch làm việc, sổ ghi nhớ.v.v

Việc truy cập các dữ liệu trong thiết bị BlackBerry kể trên được thông qua các lớp trong nhóm lớp net.rim.blackberry.api.pdap Nhóm lớp này cung cấp các lớp ứng với các ứng dụng có sẵn trên BlackBerry:

- Lớp BlackBerryContact, BlackBerryContactGroup,

BlackBerryContactList: Cung cấp cho người dùng khả năng truy cập các thông tin trong danh bạ điện thoại của máy, bao gồm các thông tin về tên, E-mail, địa chỉ, số điện thoại.v.v tương ứng với các trường đã được định nghĩa sẵn trong 2 lớp này

- Lớp BlackBerryEvent và BlackBerryEventList: Cung cấp cho người dùng khả năng truy cập các lịch hẹn trên lịch của thiết bị

- Lớp BlackBerryMemo và BlackBerryMemoList: Cung cấp cho người dùng khả năng truy cập dữ liệu lưu trữ sổ ghi nhớ của BlackBerry

- Lớp BlackBerryToDo và BlackBerryToDoList: Cung cấp cho người dùng khả năng truy cập dữ liệu về lịch làm việc của thiết bị

- Ngoài ra nhóm lớp này còn cung cấp cho người dùng các lớp dùng để lắng nghe và quản lý các sự kiện lên quan tới sổ địa chỉ, lịch công việc và sổ ghi nhớ của BlackBerry

3.1.5 Lập trình sự kiện trên BlackBerry:

BlackBerry API cung cấp cho người phát triển ứng dụng khả năng lập trình sự kiện Người dúng có thể lắng nghe các sự kiện từ việc nhập liệu Kiểm tra các sự kiện

đó thuộc về phần nào của ứng dụng để quản lý

3.2 Mail API trên BlackBerry:

Điểm đặc biệt của BlackBerry API là cung cấp đầy đủ các lớp cần thiết để quản

lý thông tin của một cấu trúc Mime, Các lớp này được chứa trong gói thư viện net.rim.device.api.mime.* và net.rim.blackberry.api.mail.*

3.2.1 Gói net.rim.device.api.mime.*:

Multipurpose Internet Mail Exntensions(MIME) là một chuẩn được định nghĩa

để lưu trữ e-mail, hỗ trợ các loại định dạng khác nhau như văn bản, hình ảnh, âm

thanh, video.v.v

Vì mail gởi qua các server thường được mã hóa và đóng gói Nhóm lớp mime cung cấp các lớp lưu trữ dữ liệu giao tiếp giữa mail server và thiết bị để lưu trữ dữ liệu mail đã được đóng gói Bao gồm MIMEInputStream để đọc dữ liệu đã được mã

Trang 35

Chương 3: Lập trình với Blackberry API

hóa theo chuẩn MIME26 Và MIMEOutputStream dùng để ghi dữ liệu mã hóa theo chuẩn MIME:

Trang 36

Chương 4: Các giao thức trong gởi nhận E-mail

Do tầm quan trọng và thực tế của việc trao đổi thư điện tử, đến tháng 11 năm

1981, một giao thức mới được thiết kế riêng biệt cho việc gửi thư điện tử ra đời, đó là giao thức SMTP (Simple Mail Transfer Protocol) Ban đầu giao thức SMTP chỉ truyền những thư dạng văn bản theo chuẩn ARPAnet (định nghĩa trong RFC 733)

Đến tháng 8 năm 1982, 2 tài liệu RFC 821 và 822 được công bố, phát triển các tính năng cho giao thức SMTP

Từ đó đến nay, mặc dù có nhiều tài liệu mới nhưng chủ yếu là bổ sung vào tài liệu chuẩn RFC 821 và RFC 822 Có thể ghi nhận một số thay đổi đáng chú ý của giao thức SMTP, đó là RFC 1425 được công bố tháng 2 năm 1993

RFC 1425 bổ sung khả năng mở rộng cho SMTP và có tên là ESMTP (SMTP Service Extensions hoặc Extended SMTP hoặc Enhenced SMTP)

RFC 1425 tiếp tục được sửa thành RFC 1651 (6/1994) và RFC 1869 (11/1995) Các bổ sung về trao đổi kênh liên lạc và kích thước thư được định nghĩa trong những lần sửa đổi này

Một cột mốc đáng ghi nhận trong quá trình phát triển của giao thức SMTP là 2 tài liệu RFC 2821 và RFC 2822 được công bố tháng 4 năm 2001 RFC 2821 kết hợp chặt chẽ những đặc điểm của giao thức trong RFC 821 và RFC 1869, và hiện là tài liệu chuẩn của giao thức SMTP Các tài liệu khác tiếp theo hỗ trợ các cơ chế truyền an toàn, truyền tập tin kích thước lớn,

4.1.2 Tổng quan:

SMTP là giao thức truyền thư tín đơn giản, một chuẩn truyền thư điện tử qua mạng Internet dựa trên văn bản (text-based) Bên gửi và bên nhận lần lượt dùng các chuỗi lệnh và các thông tin cần thiết trao đổi qua một kênh truyền tin cậy (reliable

27

Simple Mail Transfer Protocol

Trang 37

Chương 4: Các giao thức trong gởi nhận E-mail

channel) thông thường là TCP SMTP sử dụng cổng 25 cho kết nối thông thường và

465 (hoặc 587) cho các kết nối an toàn sử dụng SSL hoặc TLS

Một phiên (session) trao đổi SMTP được bắt đầu từ khi client kết nối thành công đến server và client thực hiện thành công lệnh HELO Sau khi thiết lập kết nối, server sẵn sàng lắng nghe các lệnh từ client gửi tới Client nên gửi lời chào HELO đến server, server sẽ đáp lại bằng mã 250 Nếu sử dụng EHLO thay thế thì kết quả trả về

là một danh sách các khả năng mà server hỗ trợ Sau câu lệnh trên, một phiên

(session) trao đổi giữa client và server được bắt đầu

Hình 4.1- Quá trình trao đổi dữ liệu trong giao thức SMTP

Trang 38

Chương 4: Các giao thức trong gởi nhận E-mail

Hình 4.2 - Giao tác giữa Client và Server trong giao thức SMTP

(Nguồn: www.TCPIPGuide.com )

Một số đặc điểm và sự mở rộng của giao thức SMTP:

Ngoài chức năng cơ bản là gửi thư, giao thức SMTP còn được sử dụng vào một

số mục đích bên phía máy chủ như :

 Chuyển tiếp thư (Mail relaying)

 Chuyển thư (Mail forwarding): Nhận thư và chuyển tới một địa chỉ thích hợp

 Cổng thư (Mail gatewaying): Máy chủ SMTP có thể được cấu hình thành một cổng thư có nhiệm vụ chuyển đổi e-mail TCP/IP thành một dạng tương thích với các hệ thống thư điện tử khác và ngược lại

 Kiểm tra địa chỉ (Address Debugging): lệnh VRFY của giao thức SMTP có thể dùng để kiểm tra tính xác thực của một địa chỉ mail mà không cần phải gửi mail đến địa chỉ đó

 Mở danh sách địa chỉ (Mailing list expansion): lệnh EXPN trong giao thức SMTP có thể được dùng để quyết định xem các địa chỉ mail có gắn với danh sách các địa chỉ mail không

Các định nghĩa mở rộng của SMTP: khi sử dụng ESMTP với lệnh EHLO, kết quả trả về từ server có thể bao gồm các khả năng mở rộng sau:

Trang 39

8-Chương 4: Các giao thức trong gởi nhận E-mail

nội dung của thư có dạng MIME

trạng thái chuyển thư

RFC

1891

Cho phép SMTP bên gửi yêu cầu SMTP bên nhận cung cấp thông tin khi xảy ra lỗi trong quá trình chuyển thư cho bên nhận

thước thư

RFC

1870

SMTP bên gửi có thể báo cho SMTP bên nhận biết kích thước thư sẽ gửi và bên nhận có thể quyết định nhận hay không

3207

Bảng 4.1 Các định nghĩa mở rộng của SMTP

Vấn đề an toàn trong trong SMTP:

Một số cơ chế an toàn được sử dụng trong giao thức SMTP:

 Kiểm tra địa chỉ IP của thiết bị muốn kết nối tới SMTP server

 Hạn chế lệnh được sử dụng, chẳng hạn một số lệnh chỉ được thực hiện sau khi

đã được chứng thực hoặc kênh truyền đã được thiết lập an toàn bằng SSL hoặc TLS

 Hạn chế việc sử dụng lệnh EXPN để ngăn chặn các người dùng chưa được chứng thực vẫn truy cập được vào server

 Giới hạn kích thước thư và số lượng thư được gửi trong một khoảng thời gian

4.1.3 Các lệnh hỗ trợ:

Lệnh HELO và EHLO:

- Cú pháp:

Trang 40

Chương 4: Các giao thức trong gởi nhận E-mail

HELO <SP> <domain> <CRLF>

Hoặc EHLO <SP> <domain> <CRLF>

- Tham số: domain: tên miền bên gửi

- Ý nghĩa: Khởi tạo quá trình trao đổi giữa người dùng và server Giúp cho server biết được mình đang giao tiếp với ai Kết quả trả về thường nhiều dòng ứng với các khả năng mà server hỗ trợ bao gồm các cơ chế chứng thực, thiết lập kết nối an toàn, Kết thúc lệnh cả client và server đều ở trạng thái khởi tạo Hiện nay, hầu hết các máy chủ đều hỗ trợ ESMTP, do

đó ta nên thử gửi lệnh EHLO tới máy chủ trước thay vì lệnh HELO

- Ví dụ:

HELO mydomain.com Lệnh MAIL:

- Cú pháp:

MAIL <SP> FROM:<reverse-path> <CRLF>

- Tham số: reverse-path: chứa tên hộp thư người gửi

- Ý nghĩa: Lệnh MAIL sẽ khởi tạo một giao tác (transaction) - SMTP bên gửi báo cho SMTP bên nhận biết bên gửi muốn gửi thư và cung cấp địa chỉ e-mail cho bên nhận

- Tham số: forward-path: chứa tên hộp thư bên nhận

- Ý nghĩa: SMTP bên gửi cung cấp một địa chỉ e-mail của người nhận cho SMTP bên nhận

ký tự “\r\n.\r\n”

Lệnh RSET:

- Cú pháp:

RSET <CRLF>

Ngày đăng: 29/08/2014, 00:38

Nguồn tham khảo

Tài liệu tham khảo Loại Chi tiết
[1] BlackBerry Forum – Blackberry Development Documents – Research In Motion Khác
[2] BlackBerry JDE 4.7 API References – BlackBerry 4.7 SDK Khác
[3] BlackBerry Forum – Writing You Frist Application V5 – Research In Motion Khác
[4] BlackBerry Forum – How And When To Sign V2 – Research In Motion Khác
[5] BlackBerry Forum – Storing Persistent Data V2 – Research In Motion Khác
[6] BlackBerry Developer Journal Team – BlackBerry Developer Journal Volume 2, issue 2 Khác
[8] Logic mail – Logicmail Development Blog – 2008 - 2009 Các website Khác
[9] www.Blackberry.com [10] www.codeproject.com [11] www.java2s.com [12] www.wikipedia.org Khác

HÌNH ẢNH LIÊN QUAN

Hình 2.1 - Chu kỳ sống của chương trình BlackBerry  (Nguồn: BlackBerry OS Report - Josh Schiffman)  2.2.3  Môi trường lập trình BlackBerry: - nghiên cứu và xây dựng ứng dụng gởi và nhận e-mail trên điện thoại blackberry
Hình 2.1 Chu kỳ sống của chương trình BlackBerry (Nguồn: BlackBerry OS Report - Josh Schiffman) 2.2.3 Môi trường lập trình BlackBerry: (Trang 26)
Hình 2.2 - Các công cụ lập trình MDS trên BlackBerry  (Nguồn: BlackBerry OS Report - Josh Schiffman)  2.2.4  Máy ảo BlackBerry: - nghiên cứu và xây dựng ứng dụng gởi và nhận e-mail trên điện thoại blackberry
Hình 2.2 Các công cụ lập trình MDS trên BlackBerry (Nguồn: BlackBerry OS Report - Josh Schiffman) 2.2.4 Máy ảo BlackBerry: (Trang 27)
Hình 2.3 - Máy ảo 9530 của BlackBerry  (Nguồn: www.Blackberry.com)  2.2.5  Ký (sign) chương trình BlackBerry: - nghiên cứu và xây dựng ứng dụng gởi và nhận e-mail trên điện thoại blackberry
Hình 2.3 Máy ảo 9530 của BlackBerry (Nguồn: www.Blackberry.com) 2.2.5 Ký (sign) chương trình BlackBerry: (Trang 28)
Hình 2.4 – Sơ đồ biểu diễn mới quan hệ giữa các lớp Connection - nghiên cứu và xây dựng ứng dụng gởi và nhận e-mail trên điện thoại blackberry
Hình 2.4 – Sơ đồ biểu diễn mới quan hệ giữa các lớp Connection (Trang 33)
Hình 4.1-  Quá trình trao đổi dữ liệu trong giao thức SMTP   (Nguồn: www.TCPIPGuide.com) - nghiên cứu và xây dựng ứng dụng gởi và nhận e-mail trên điện thoại blackberry
Hình 4.1 Quá trình trao đổi dữ liệu trong giao thức SMTP (Nguồn: www.TCPIPGuide.com) (Trang 37)
Hình 4.2 - Giao tác giữa Client và Server trong giao thức SMTP  (Nguồn: www.TCPIPGuide.com) - nghiên cứu và xây dựng ứng dụng gởi và nhận e-mail trên điện thoại blackberry
Hình 4.2 Giao tác giữa Client và Server trong giao thức SMTP (Nguồn: www.TCPIPGuide.com) (Trang 38)
Hình 4.5 - Trạng thái giao tác của POP3  (Nguồn: www.TCPIPGuide.com) - nghiên cứu và xây dựng ứng dụng gởi và nhận e-mail trên điện thoại blackberry
Hình 4.5 Trạng thái giao tác của POP3 (Nguồn: www.TCPIPGuide.com) (Trang 45)
Hình 4.6 - Mô hình hoạt động của IMAP4   (Nguồn: www.TCPIPGuide.com) - nghiên cứu và xây dựng ứng dụng gởi và nhận e-mail trên điện thoại blackberry
Hình 4.6 Mô hình hoạt động của IMAP4 (Nguồn: www.TCPIPGuide.com) (Trang 50)
Hình 5.2 - Microsoft Exchange 1.0  (Nguồn: www.Wikipedia.org) - nghiên cứu và xây dựng ứng dụng gởi và nhận e-mail trên điện thoại blackberry
Hình 5.2 Microsoft Exchange 1.0 (Nguồn: www.Wikipedia.org) (Trang 68)
Hình 6.1 - Quá trình chuyển đổi mẫu E-mail khi gởi mail tới một người dùng - nghiên cứu và xây dựng ứng dụng gởi và nhận e-mail trên điện thoại blackberry
Hình 6.1 Quá trình chuyển đổi mẫu E-mail khi gởi mail tới một người dùng (Trang 73)
Hình 6.3 - Mô hình hệ thông PUSH E-MAIL. - nghiên cứu và xây dựng ứng dụng gởi và nhận e-mail trên điện thoại blackberry
Hình 6.3 Mô hình hệ thông PUSH E-MAIL (Trang 76)
Hình 7.3 – Kiến trúc thành phần ứng dụng phía Client - nghiên cứu và xây dựng ứng dụng gởi và nhận e-mail trên điện thoại blackberry
Hình 7.3 – Kiến trúc thành phần ứng dụng phía Client (Trang 102)
Hình 7.4 – Các lớp quản lý màn hình - nghiên cứu và xây dựng ứng dụng gởi và nhận e-mail trên điện thoại blackberry
Hình 7.4 – Các lớp quản lý màn hình (Trang 103)
Hình 7.5 – Các thành phần lưu trữ và xử lý Message - nghiên cứu và xây dựng ứng dụng gởi và nhận e-mail trên điện thoại blackberry
Hình 7.5 – Các thành phần lưu trữ và xử lý Message (Trang 104)

TỪ KHÓA LIÊN QUAN

TRÍCH ĐOẠN

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