Giáo trình Phát triển ứng dụng mã nguồn mở (Phần 1)

Phương thức xây dựng phần mềm mã nguồn mở trên đã chứng tỏ tính ưu việt của mình

trên một số khía cạnh sau:

Giảm sự trùng lặp nguồn lực

Bằng cách công bố sớm phần mềm và trao cho người sử dụng quyền chỉnh sửa cũng

như lưu hành mã nguồn, các nhà lập trình FOSS sẽ được sử dụng kết quả làm việc của đồng

sự. Tính kinh tế của quy mô trở nên rất lớn. Thay vì việc năm nhà lập trình ở mỗi trong số 10

công ty cùng viết một ứng dụng mạng, triển vọng là sẽ kết hợp được công sức của cả 50

người. Việc giảm sự trùng lặp trong phân bổ nguồn lực cho phép quá trình xây dựng một phần

mềm đạt tới quy mô đại chúng chưa từng có trong lịch sử, liên kết hàng ngàn nhà lập trình

trên toàn thế giới.

Tiếp thu kế thừa

Với việc có sẵn mã nguồn để xây tiếp lên trên, thời gian xây sẽ giảm đi đáng kể. Nhiều

dự án phần mềm nguồn mở dựa trên các phần mềm là kết quả của những dự án khác để cung

cấp những chức năng cần thiết. Ví dụ, thay vì viết mã bảo mật riêng cho mình, dự án máy chủ

Apache đã sử dụng lại chương trình của dự án OpenSSL, do đó mà tiết kiệm được hàng ngàn

giờ viết mã hoá và thử nghiệm. Ngay cả trong trường hợp mã nguồn không thể tích hợp trực

tiếp, thì việc có sẵn các mã nguồn tự do cũng cho phép nhà lập trình nghiên cứu cách thức

những dự án khác giải quyết một vấn đề phát sinh tương tự.

Quản lý chất lượng tốt hơn

Nếu có đủ một lực lượng những nhà lập trình giỏi tham gia sử dụng và kiểm tra mã

nguồn, thì các lỗi chương trình sẽ được phát hiện và sửa nhanh hơn. Các ứng dụng đóng cũng

nhận báo lỗi, nhưng do người sử dụng không có quyền tiếp cận mã nguồn, họ chỉ có thể báo

các triệu chứng lỗi chứ không thể chỉ ra nguồn gốc. Các nhà lập trình phần mềm nguồn mở đa

kết luận rằng khi người sử dụng có quyền tiếp cận mã nguồn thì họ không những thông báo

các trục trặc mà còn chỉ ra đích xác nguyên do, và trong một số trường hợp, cung cấp luôn

giải pháp. Điều này giúp giảm đáng kể thời gian lập trình và kiểm tra chất lượng.- 8 -

Giảm chi phí duy trì

Việc duy trì mọi phần mềm đều đòi hỏi một chi phí bằng hoặc lớn hơn chi phí lập trình

ban đầu. Khi một tổ chức tự bỏ tiền ra nuôi phần mềm, việc này có thể trở nên gánh nặng chi

phícực lớn. Tuy nhiên, với mô hình phát triển phần mềm nguồn mở, phí duy trì sẽ được san

đều ra cho hàng ngàn người sử dụng tiềm năng, làm giảm chi phí của từng tổ chức riêng lẻ.

Tương tự, việc nâng cấp sẽ được thực hiện bởi một tổ chức/cá nhân có chuyên môn sâu nhất

về vấn đề này, dẫn tới việc sử dụng hiệu quả hơn nguồn lực.

pdf 27 trang kimcuc 7440
Bạn đang xem 20 trang mẫu của tài liệu "Giáo trình Phát triển ứng dụng mã nguồn mở (Phần 1)", để tải tài liệu gốc về máy hãy click vào nút Download ở trên

Tóm tắt nội dung tài liệu: Giáo trình Phát triển ứng dụng mã nguồn mở (Phần 1)

Giáo trình Phát triển ứng dụng mã nguồn mở (Phần 1)
BỘ GIAO THÔNG VẬN TẢI 
TRƢỜNG ĐẠI HỌC HÀNG HẢI 
BỘ MÔN: KỸ THUẬT MÁY TÍNH 
KHOA: CÔNG NGHỆ THÔNG TIN 
BÀI GIẢNG 
PHÁT TRIỂN ỨNG DỤNG 
MÃ NGUỒN MỞ 
TÊN HỌC PHẦN : PHÁT TRIỂN ỨNG DỤNG 
 MÃ NGUỒN MỞ 
MÃ HỌC PHẦN : 17314 
TRÌNH ĐỘ ĐÀO TẠO : ĐẠI HỌC CHÍNH QUY 
DÙNG CHO SV NGÀNH : CÔNG NGHỆ THÔNG TIN 
HẢI PHÒNG - 2010 
- 1 - 
MỤC LỤC 
Chương 1: GIỚI THIỆU VỀ PHẦN MỀM MÃ NGUỒN MỞ.................................................. 5 
1.1. Lịch sử phát triển ............................................................................................................ 5 
1.2. Phương pháp xây dựng phần mềm mã nguồn mở .......................................................... 7 
1.3. Vai trò của phần mềm mã nguồn mở .............................................................................. 8 
1.3.1. Phần mềm nguồn mở có thực sự miễn phí ? ........................................................... 8 
1.3.2. Tính kinh tế của Phần mềm nguồn mở.................................................................... 8 
1.3.3. Sử dụng Phần mềm nguồn mở đem lại những ích lợi gì? ....................................... 9 
1.3.4. Những hạn chế của phần mềm mã nguồn mở ......................................................... 9 
1.4. Những dự án phần mềm mã nguồn mở tiêu biểu .......................................................... 10 
1.4.1. BIND (Máy chủ DNS) .......................................................................................... 10 
1.4.2. Apache ................................................................................................................... 10 
1.4.3. Máy chủ email ....................................................................................................... 10 
1.4.4. Open SSH (Công cụ quản trị mạng an toàn) ......................................................... 11 
1.4.5. Open Office (Bộ tính năng ứng dụng văn phòng) ................................................. 11 
Chương 2: LINUX TRONG PHẦN MỀM MÃ NGUỒN MỞ ................................................ 12 
2.1. Tổng quan về Linux ...................................................................................................... 12 
2.1.1 Giới thiệu ................................................................................................................ 12 
2.1.2. Kiến Trúc của Hệ Điều Hành Linux ..................................................................... 12 
2.1.3. So sánh Dos/Windows và Linux ........................................................................... 13 
2.2. Vai trò của Linux trong phần mềm mã nguồn mở ........................................................ 13 
2.2.1. Vai trò .................................................................................................................... 13 
2.2.2. Các lĩnh vực ứng dụng của Linux ......................................................................... 14 
Chương 3: PHẦN MỀM TRÊN MÁY CHỦ VÀ ĐỀ BÀN ..................................................... 16 
3.1. Hệ điều hành Fedora Core ............................................................................................ 16 
3.1.1. Giới thiệu ............................................................................................................... 16 
3.1.2. Cài đặt ................................................................................................................... 17 
3.2. Giao diện đồ họa GNOME ........................................................................................... 18 
3.3. Bộ công cụ Firefox/Thunderbird/Open Office ............................................................. 20 
3.3.1 FireFox ................................................................................................................... 20 
3.3.2 ThunderBird ........................................................................................................... 20 
3.3.3 Open Office ............................................................................................................ 21 
3.3.4 Máy chủ Web Apache/Tomcat ............................................................................... 24 
3.3.5. Máy chủ DNS ........................................................................................................ 25 
3.3.6 Máy chủ cơ sở dữ liệu MySql ................................................................................ 25 
Chương 4: CÁC PHẦN MỀM MÃ NGUỒN MỞ KHÁC ....................................................... 27 
4.1. Diễn đàn mvnForum ..................................................................................................... 27 
4.2. Hệ quản trị nội dung Joomla ......................................................................................... 34 
4.2.1 Giới thiệu ................................................................................................................ 34 
4.2.2 Cài đặt Joomla ........................................................................................................ 35 
4.3. Quản lý lớp học trực tuyến – Moodle ........................................................................... 40 
4.3.1. Giới thiệu ............................................................................................................... 40 
- 2 - 
4.3.2. Cài đặt ................................................................................................................... 40 
4.3.3. Quản lý lớp học trên Moode ................................................................................. 51 
4.3.4. Backups ................................................................................................................. 57 
4.3.5 Restoring và Copying Course ................................................................................ 58 
4.3.6. Reports - Báo cáo .................................................................................................. 59 
- 3 - 
YÊU CẦU VÀ NỘI DUNG CHI TIẾT 
Tên học phần: Phát triển ứng dụng mã nguồn mở Loại học phần: 4 
Bộ môn phụ trách giảng dạy: Kỹ thuật máy tính Khoa phụ trách: CNTT 
Mã học phần: 17314 Tổng số TC: 3 
TS tiết Lý thuyết Thực hành/Xemina Tự học Bài tập lớn Đồ án môn học 
45 30 15 0 x 0 
Điều kiện tiên quyết: 
 Sinh viên phải học xong các học phần sau mới được đăng ký học phần này: 
 Kỹ thuật lập trình, Hệ điều hành mã nguồn mở, Lập trình mạng 
Mục tiêu của học phần: 
- Phân biệt được phần mềm mã nguồn mở 
 - Xu hướng phát triển phần mềm mã nguồn mở 
 - Phát triển xây dựng phần mềm mã nguồn mở 
Nội dung chủ yếu 
- Giới thiệu phần mềm mã nguồn mở 
- Vai trò Linux trong phần mềm mã nguồn mở 
- Giới thiệu phần mềm mã nguồn mở 
Nội dung chi tiết của học phần: 
TÊN CHƢƠNG MỤC 
PHÂN PHỐI SỐ TIẾT 
TS LT BT TH KT 
Chƣơng 1: Giới thiệu phần mềm mã nguồn mở 4 4 
1.1. Lịch sử phát triển 1 
1.2. Phương pháp xây dựng phần mềm mã nguồn mở 1 
1.3. Vai trò phần mềm mã nguồn mở 1 
1.4. Những thành công phần mềm mã nguồn mở 1 
Chƣơng 2. Linux trong phần mềm mã nguồn mở 6 3 3 
2.1. Tổng quan về linux 1 
2.2. Vai trò Linux trong phần mềm mã nguồn mở 2 
Chƣơng 3. Phần mềm trên máy chủ và để bàn 11 6 4 1 
3.1. Hệ điều hành Fedora Core 1 
3.2. Giao diện đồ họa GNOME 1 
3.3. Bộ công cụ Firefox/Thunderbird/Open Office 1 
3.4. Máy chủ Web Apache/Tomcat 1 
3.5. Máy chủ DNS 1 
3.6. Máy chủ cơ sở dữ liệu MySQL 1 
Chƣơng 4. Các phần mềm mã nguồn khác 39 15 15 8 1 
4.1. Diễn đàn mvnForum 3 
4.2. Hệ quản trị nội dung Joomla 3 4 
- 4 - 
TÊN CHƢƠNG MỤC 
PHÂN PHỐI SỐ TIẾT 
TS LT BT TH KT 
4.3. Bán hàng trực tuyến osCommerce 3 
4.4. SquirrelMail 3 4 
4.5. Quản lý lớp học trực tuyến - Moodle 3 
Nhiệm vụ của sinh viên : 
Tham dự các buổi thuyết trình của giáo viên, tự học, tự làm bài tập do giáo viên giao, 
tham dự các buổi thực hành, các bài kiểm tra định kỳ và cuối kỳ, Hoàn thành bài tập lớn theo 
yêu cầu. 
Tài liệu học tập : 
- Kenneth Wong Free Open/Source Software – Nhà xuất bản UNDP-APDIP,2004 
- The IDA Open Source Migration Guidelines – Nhà xuất bản Netproject Ltd,2003 
- Tài liệu về mã nguồn mở Joomla 1.5. Tham khảo tại địa chỉ www.joomla.org 
- Tài liệu về mã nguồn mở Moodle. Tham khảo tại địa chỉ www.moodle.org 
- Andrew Hudson và Paul Hudson – Fedora 7 UNLEASHED, 2007 
- Forouzan – TCP/IP Protocol Suite – Nhà xuất bản McGraw Hill, 2005 
Hình thức và tiêu chuẩn đánh giá sinh viên: 
- Đánh giá dựa trên tình hình tham dự buổi học trên lớp, các buổi thực hành, điểm kiểm 
tra thường xuyên và điểm kết thúc học phần. 
- Hình thức thi cuối kỳ : thi viểt. 
Thang điểm: Thang điểm chữ A, B, C, D, F 
Điểm đánh giá học phần Z = 0.3X + 0.7Y. 
Bài giảng này là tài liệu chính thức và thống nhất của Bộ môn Kỹ thuật máy tính, Khoa 
Công nghệ Thông tin và được dùng để giảng dạy cho sinh viên. 
Ngày phê duyệt: 15 / 6 / 2010 
Trƣởng Bộ môn: ThS. Ngô Quốc Vinh 
- 5 - 
Chƣơng 1: GIỚI THIỆU VỀ PHẦN MỀM MÃ NGUỒN MỞ 
1.1. Lịch sử phát triển 
Theo Dabid Wheeler , một cách ngắn gọn, chương trình phần mềm nguồn mở là những 
chương trình mà quy trình cấp phép sẽ cho người dùng quyền tự do chạy chương trình theo 
bất kỳ mục đích nào, quyền nghiên cứu và sửa đổi chương trình, quyền sao chép và tái phát 
hành phần mềm gốc hoặc phần mềm đã sửa đổi "mà không phải trả tiền bản quyền cho những 
người lập trình trước‖ 
Phần mềm nguồn mở/tự do (gọi tắt là FOSS) đã trở thành một hiện tượng toàn cầu, đi từ 
vị trí tương đối mờ nhạt lên thành một trào lưu thời thượng trong vòng có vài năm. Tuy nhiên, 
vẫn chưa có nhiều người hiểu một cách thấu đáo những yếu tố gì thật sự tạo nên FOSS và sự 
bùng nổ của khái niệm này. 
Có hai tư tưởng chủ đạo chi phối thế giới phần mềm nguồn mở: tư tưởng của Tổ chức 
Phần mềm tự do (FSF) và tư tưởng của Chương trình Sáng kiến Nguồn mở (OSI). Chúng ta 
hãy bắt đầu từ thuyết của FSF, vì học thuyết này ra đời sớm hơn và có vị trí tiên phong trong 
trào lưu phần mềm nguồn mở. 
Theo thuyết của FSF, phần mềm miễn phí nhằm mục đích bảo vệ bốn quyền tự do của 
người dùng: 
 Quyền tự do chạy một chương trình với bất kỳ mục đích nào 
 Quyền tự do nghiên cứu cách thức vận hành của một chương trình và thích ứng nó 
cho phù hợp với nhu cầu của mình. Khả năng tiếp cận mã nguồn là điều kiện tiên 
quyết cho việc này 
 Quyền tự do phân phát các phiên bản của phần mềm để giúp đỡ những người xung 
quanh 
 Quyền tự do thêm mới các chức năng cho một chương trình và công bố những tính 
năngmới đó đến công chúng để toàn cộng đồng được hưởng lợi. Khả năng tiếp cận 
mã nguồn là điều kiện tiên quyết cho việc này. 
Trung tâm của tư tưởng FSF là quyền tự do hợp tác. Vì phần mềm phi tự do (free ở đây 
nghĩa là freedom chứ không phải vấn đề giá cả) hạn chế quyền tự do hợp tác, FSF coi phần 
mềm phi tự do là phi đạo đức. FSF còn phản đối việc cấp bằng sáng chế phần mềm và những 
hạn chế khác theo luật bản quyền hiện hành. Tất cả những điều này đều hạn chế bốn quyền tự 
do của người dùng như đa nêu ở trên. 
Ý tưởng chủ đạo đằng sau phần mềm nguồn mở của OSI rất đơn giản: khi người lập 
trình có thể đọc, lưu hành, và sửa đổi mã nguồn của một phần mềm, thì phần mềm đó ngày 
càng phát triển. Người ta đọc, điều chỉnh, sửa lỗi. Và quá trình này có thể diễn ra với một tốc 
độ mà nếu bạn đa quen với quy trình chậm chạp của việc phát triển phần mềm theo phương 
thức truyền thống, thì sẽ lấy làm kinh ngạc. 
OSI đặt làm trọng giá trị kỹ thuật của việc tạo những phần mềm mạnh, có độ tin cậy 
cao, và phù hợp với giới kinh doanh hơn FSF. Chương trình này ít quan tâm tới những giá trị 
đạo đức của phần mềm nguồn mở và chú ý nhiều hơn vào những ích lợi thực tiễn của phương 
pháp xây dựng và quảng bá FOSS. 
Mặc dù tư tưởng nền tảng của hai trào lưu này tương đối khác nhau, cả FSF và OSI đều 
chia sẻ cùng một không gian hoạt động và hợp tác với nhau trên những vấn đề thực tiễn như 
xây dựng phần mềm, đấu tranh chống các phần mềm đóng và việc cấp bằng sáng chế phần 
mềm, v.v... Nói như Richard Stallman, thì Trào lưu phần mềm tự do và Trào lưu phần mềm 
nguồn mở là hai đảng chính trị của cùng một cộng đồng dân cư. 
Trào lưu phần mềm nguồn mở có nguồn gốc xa xưa từ những ngày khởi thuỷ nền công 
nghiệp máy tính, cho dù lúc đó nó còn chưa được định nghĩa một cách chính thống. Chỉ cho 
- 6 - 
đến cuối thập kỷ 70 đầu 80 thì tập quán chia sẻ phần mềm mới trở nên xung khắc với bản 
quyền phần mềm. Một trong những tiếng nói đầu tiên cất lên ủng hộ phần mềm đóng là bức 
thư nổi tiếng của William H. Gates III – ―Thư ngỏ gửi những người mê máy tính‖. Trong 
thông điệp này, đề ngày 3 tháng 2 năm 1976, ông kịch liệt đả kích tập quán chia sẻ phần mềm 
bấy giờ rất thịnh hành: 
"Sao lại thế này nhỉ? Đa phần các bạn – những người mê máy tính – hẳn phải ý thức 
được rằng các bạn đang đánh cắp phần mềm của người khác làm của mình. Phần cứng thì 
phải mua, nhưng phần mềm là một thứ có thể chia sẻ. Ai quan tâm liệu những người bỏ công 
sức ra làm phần mềm có được trả công hay không?" 
Phần mềm đóng thu được sự ủng hộ theo thời gian. Tại phòng thí nghiệm Trí tuệ Nhân 
tạo của MIT đầu những năm 80, một công ty có tên Symbolics đã được thành lập và lấy một 
mã nguồn lúc bấy giờ đang lưu hành tự do (ngôn ngữ lập trình LISP) để biến thành sở hữu 
riêng. Trong quá trình hoạt động của mình, công ty này quét sạch tập quán chia sẻ phần mềm 
khỏi các phòng thí nghiệm MIT. Tuy nhiên, công cuộc phá huỷ này rốt cuộc đưa đến sự ra đời 
của tổ chức Phần mềm tự do và nền văn hoá Phần mềm nguồn mở ngày nay. 
Richard Stallman, một trong các nhân viên phòng thí nghiệm MIT hồi đó, ngỡ ngàng và 
phẫn nộ trước những chuyển biến đang diễn ra. Sự chuyển biến đó đã cố định cách nhìn của 
ông với phần mềm đóng và khắc nên quyết tâm kiến tạo một hệ điều hành tự do. Dự án GNU 
(viết tắt của ―Not Unix‖ – không phải là Unix) ra đời vào tháng Giêng năm 1984 và trong suốt 
thập kỷ tiếp theo đã tạo ra những công cụ đa dạng tập hợp nên một phần quan trọng của hệ 
điều hành. Tổ chức phần mềm tự do ra đời một năm sau đó nhằm khuyếch trương các phần 
mềm tự do và dự án GNU. Tuy vậy, cho đến năm 1991, dự án GNU vẫn chưa đưa ra được 
một hệ thống phần mềm hoàn toàn tự do vì một yếu tố cơ bản vẫn còn vắng bóng: lõi hệ 
thống (the kernel). 
Lõi (hay Nhân - Kernel) là trái tim của mọi hệ điều hành. Vào năm 1991, Linus 
Torvalds, khi đó còn đang học năm thứ hai của chương trình sau đại học tại trường ĐH 
Helsinki, đã viết và phổ biến một lõi dạng Unix. Theo đúng phương thức của quy trình phát 
triển phần mềm nguồn mở, nó được lưu hành rộng rãi, được cải tiến và nhanh chóng thích 
ứng để trở thành cốt lõi của hệ điều hành GNU/Linux. 
Thời đó, còn có những dự án phần mềm nguồn mở khác cũng đang tiến hành, bao gồm 
cả hệ điều hành BIND, Perl và BSD. Tất cả những dự án này cuối cùng đều được sáp nhập 
hoặc tích hợp lại với nhau. 
Hệ điều hành GNU/Linux tiếp tục phát triển một cách ổn định cả về năng lực và đặc 
tính kỹ thuật. Năm 1997, đột nhiên Linux nổi lên thành trung tâm chú ý của giới truyền thông 
do Tập đoàn Dữ liệu Quốc tế (IDC) phát hiện ra rằng GNU/Linux đã chiếm tới 25% thị 
trường máy chủ và vẫn tiếp tục tăng trưởng với tốc độ bình quân hàng năm là 25%. 
Năm 1998, đáp lại việc Netscape công bố mã Netscape Navigator như một mã nguồn 
mở tự do, ... g "Địa điểm" 
mới để lưu trữ các trang đánh dấu và lược sử, và giao diện riêng cho các hệ điều hành khác 
nhau. Phiên bản hiện tại là Firefox 3.0.5. 
Quá trình phát triển kéo dài liên tục từ bản Firefox 3 beta đầu tiên (có tên mã 'Gran 
Paradiso’) được phát hành từ trước đó vài tháng vào ngày 19 tháng 11, 2007, theo sau đó là 
vài phiên bản beta vào mùa xuân 2008 cho đến bản phát hành cuối cùng vào tháng 6. 
Firefox 3 đạt được 15.57% thị phần trình duyệt web vào tháng 11, 2008, và đã có hơn 8 
triệu lượt tải xuống vào ngày nó được phát hành, tạo ra một Kỉ lục Thế giới Guinness. 
Tính năng tương lai: Tính năng chơi tập tin video trong trình duyệt, có mã nguồn mở, 
đang được dự tính đưa vào Firefox, theo lời Mitchell Baker, cựu Tổng giám đốc của Mozilla. 
Mục đích là nhằm chơi các tập tin video mà không phải lo gặp trở ngại với các vấn đề về bằng 
sáng chế đi kèm trong các công nghệ video. 
Baker cũng nhắc tới dự án khác của Quỹ Mozilla, đó là tạo ra một phiên bản của 
Firefox, tên mã Fennec, chạy được trên điện thoại di động, cũng như chiến lược đồng bộ nội 
dung trên PC với các thiết bị cầm tay di động. 
Trong khi đó, công nghệ hỗ trợ ứng dụng ngoại tuyến-tương tự như Gears—cũng được 
xây dựng như là một phần của Firefox. Baker đã nói trong một cuộc phỏng vấn rằng, đầu tư 
nhiều vào web cũng để nhằm đưa nó đến bước tiếp theo, đó là các ứng dụng phải tiếp tục làm 
việc được ngay cả lúc máy tính không còn kết nối internet. 
3.3.2 ThunderBird 
Mozilla Thunderbird là phần mềm đọc tin, quản lí thư điện tử, miễn phí, mã nguồn mở 
của Quỹ Mozilla. Dự án này lấy hình mẫu từ Mozilla Firefox, một dự án nhắm tới việc tạo ra 
một trình duyệt web. Vào 7 tháng 12 năm 2004, phiên bản 1.0 được phát hành, đạt được hơn 
500.000 lượt tải chỉ trong ba ngày đầu, và 1.000.000 lượt cho 10 ngày. 
- 21 - 
Ban đầu được gọi là Minotaur sau tên Phoenix (tên gốc của Mozilla Firefox), dự án 
không được chú ý nhiều. Tuy nhiên, với sự thành công của Phoenix, nhu cầu cho một trình 
quản lí thư tăng lên, và công việc trên Minotaur đã được hồi sinh dưới một tên mới, và chuyển 
sang toolkit mới của nhóm Firefox. 
Các phần việc quan trọng trên Thunderbird được bắt đầu lại cùng với một thông báo 
rằng, kể từ phiên bản 1.5 trở đi, bộ Mozilla chính sẽ được thiết kế từ các chương trình tách 
biệt sử dụng toolkit mới. Điều này tương phản với hướng tiếp cận tất-cả-trong-một trước đây, 
và được hi vọng là sẽ tạo ra những đoạn mã hiệu quả hơn, cũng như cho phép người dùng hòa 
trộn và ghép các chương trình của Mozilla với các chương trình thay thế. Bộ ứng dụng 
Mozilla gốc vẫn tiếp tục được phát triển dưới tên SeaMonkey. 
Vào 23 tháng 12 năm 2004, Dự án Lightning được công bố là một chức năng lịch (lập 
kế hoạch, tác vụ, vv.) tích hợp chặt chẽ vào Thunderbird, và bây giờ đang hiện hữu dưới dạng 
phần bổ trợ. 
Vào 11 tháng 10 năm 2006, Qualcomm và Quỹ Mozilla công bố rằng "các phiên bản 
tương lai của Eudora sẽ dựa trên nền tảng công nghệ giống như chương trình quản lí thư mã 
nguồn mở của Mozilla." The project is code-named Penelope. 
Vào 26 tháng 7 năm 2007, Quỹ Mozilla công bố rằng Thunderbird sẽ được phát triển 
bởi một tổ chức độc lập, bởi vì Tập đoàn Mozilla (chi nhánh của quỹ) sẽ tập trung vào việc 
phát triển Mozilla Firefox. 
Vào 17 tháng 9 năm 2007, Quỹ Mozilla công bố hoạt động tài trợ cho một sáng kiến 
liên lạc trên internet mới, cùng với Tiến sĩ David Ascher của ActiveState. Mục đích của sáng 
kiến này là "phát triển các phần mềm liên lạc trên Internet dựa trên thương hiệu, mã nguồn và 
sản phẩm Thunderbird". 
Vào 19 tháng 12 năm 2008, Mozilla Messaging bắt đầu các hoạt động với tư cách là 
một chi nhánh của Quỹ Mozilla, chịu trách nhiệm phát triển các phương thức liên lạc qua thư 
điện tử hoặc tương tự. Sự tập trung đầu tiên là phiên bản Thunderbird 3 sắp tới. Các bản phát 
hành xem thử Beta của Thunderbird 3 có tên mã là "Shredder"; as of 09 tháng 12 2008 (2008 
-12-09)[update], phiên bản là Thunderbird 3 Beta 1 
3.3.3 Open Office 
OpenOffice.org (OOo) hay gọi tắt là OpenOffice là bộ trình ứng dụng văn phòng miễn 
phí, mã nguồn mở được xây dựng trên phiên bản StarOffice mã nguồn mở của Sun 
Microsystems. OpenOffice có thể chạy trên các hệ điều hành Windows (đòi hỏi phải có Java 
Runtime Environment), Solaris và Linux. Phiên bản mới nhất của OpenOffice cho phép 
đọc/ghi các định dạng file của MS Office khá hoàn hảo. 
Các thành phần cơ bản của OOo: 
 Writer (trình soạn thảo văn bản có tính năng tương tự như Microsoft Word) 
 Calc (trình bảng tính tương tự như Microsoft Excel) 
 Draw (trình đồ họa cơ bản, tương tự Microsoft Visio) 
 Impress (trình soạn thảo trình diễn, tương tự PowerPoint) 
 Base (trình quản trị cơ sở dữ liệu, tương tự Microsoft Access) 
 Math (trình viết công thức toán, tương tự Microsoft Equation Editor) 
 Bộ văn phòng StarOffice Cơ Bản. 
Writer trong bộ ứng dụng văn phòng mã mở này có các chức năng gần như tương 
đương với Word của Microsoft Office và những điểm mới lạ như tạo mới nhãn hàng, bảng 
công thức toán hay mẫu danh thiếp... 
- 22 - 
Sau khi chạy Writer, bạn sẽ thấy giao diện chương trình khá giống Word ở một số đặc 
điểm cơ bản như hệ thống menu, biểu tượng. Người dùng gõ tiếng Việt bình thường với các 
bộ mã và font tương ứng như khi viết trên Word, ví dụ mã Unicode đi với font Times New 
Roman, Arial..., mã VNI đi với các font bắt đầu bằng chữ VNI... Writer có khả năng đọc các 
văn bản của Word (hiện nay Microsoft cũng vừa phát hành một chương trình bổ sung để 
Word có thể đọc các văn bản mã mở). 
Có một vài khác biệt giữa Writer và Word: 
Thẻ New ở menu File có thể mở ra không chỉ một văn bản .odt mới mà tích hợp các 
chương trình khác trong bộ OpenOffice. Ví dụ: New > Spreadsheet mở ra bảng tính của 
chương trình Calc, New > Presentation mở ra giao diện soạn bài trình chiếu của Impress... Sự 
liên thông này giúp người sử dụng thuận tiện hơn trong công việc vì họ không phải tìm 
chương trình tương ứng ở mục Start > Programs. 
- 23 - 
Ngoài ra, Business Cards là mục tiện dụng để bạn thiết kế danh thiếp của mình theo 
nhiều mẫu khác nhau. 
Văn bản soạn thảo thông thường có thể chuyển đổi ngay sang định dạng PDF chỉ bằng 
một cái nhấn chuột vào biểu tượng như hình trên hoặc từ menu File > Export as PDF. 
Những người thích trang trí cho văn bản có thể dùng tính năng Gallery (biểu tượng như 
hình được đánh dấu viền đỏ ở trên hoặc vào menu Tools > Gallery) để mở ra những phông 
nền (theme) khác nhau. Chú ý là cửa sổ của Gallery bị ẩn giữa thước kẻ ngang và phần menu 
bên trên, nên khi muốn xem, di chuyển con trỏ vào đó để kéo ra. Muốn chọn hình nào làm 
nền, bấm chuột phải vào đó > Background > Page (cho cả trang) hoặc Paragraph (cho một 
đoạn). 
Sau khi chọn chèn bảng từ menu Table, bạn sẽ thao tác khá thoải mái vì có một bảng 
công cụ nhỏ tự động hiện lên. Dù tắt nó đi, bạn vẫn có thể gọi ra dễ dàng chỉ bằng cách bấm 
chuột trái ngoài bảng rồi bấm chuột trái ở trong bảng. Trong Word, bảng công cụ này chỉ hiện 
ra khi người dùng bấm biểu tượng Tables and Borders để làm việc nên đôi khi khó tìm kiếm. 
- 24 - 
Tuy nhiên, người sử dụng có thể bỡ ngỡ khi thực hiện lệnh Copy - Paste từ trang nào đó 
vào giao diện của Writer vì bao quanh đoạn chữ là viền bảng biểu và phần chữ này bị vượt ra 
ngoài vùng soạn thảo định sẵn. Muốn loại bỏ điều này, (1) lôi phần chữ ra ngoài rồi xóa bảng 
Table > Delete Table (2) đặt con trỏ trong bảng, vào Table > Convert > Table to Text > OK. 
3.3.4 Máy chủ Web Apache/Tomcat 
Apache Tomcat là một Java Servlet được phát triển bởi Apache Software Foundation 
(ASF). Tomcat thi hành các ứng dụng Java Servlet và JavaServer Pages (JSP) từ Sun 
Microsystems, và cung cấp một máy chủ HTTP cho ngôn ngữ Javathuần túy để thực thi các 
chương trình lệnh viết bằng ngôn ngữ Java. 
Tomcat không nên được hiểu nhầm với các máy chủ HTTP Apache - cái mà dùng để 
thực thi các câu lệnh viết bằng ngôn ngữ C trên máy chủ HTTP; có 2 máy chủ web được kết 
nối với nhau. Apache Tomcat cung cấp các công cụ cho việc cấu hình và quản lý, nhưng cũng 
có thể được cấu hình bởi việc soạn thảo các file cấu hình viết bằng XML. 
Các thành viên của ASF và các tình nguyện viên riêng lẻ vẫn đang phát triển và duy trì 
Tomcat. Người dùng có thể truy cập miễn phí vào mã nguồn và các lớp nhị phân của Tomcat 
dưới sự cho phép của Apache. Phiên bản Tomcat đầu tiên được công bố là phiên bản 3.0.x 
(các phiên bản trước được Sun phát hành nội bộ, và không được phát hành rộng rãi ra ngoài). 
Phiên bản Tomcat 6.0.20 là sản phẩm cuối cùng của thế hệ phiên bản 6.0.x (một phần của bộ 
2.5 servlet), vào năm 2009. 
Tomcat phiên bản 4.x xuất hiện bao gồm Jasper (một thiết kể lại của bộ công cụJSP), 
Catalina (thiết kế lại của bộ Servlet) và Coyote (một trình kết nối HTTP). 
Catalina: Catalina chính là bộ servlet container của Tomcat. Catalina thực hiện các chi 
tiết kỹ thuật của Sun Microsystems' đối với servlet và các trang JavaServer (JSP). Người đã 
xây dựng lên Catalina là Craig McClanahan. 
Coyote: Coyote là bộ phận kết nối HTTP của Tomcat, có cung cấp giao thức HTTP 1.1 
cho các máy chủ web hoặc các ứng dụng khác. Coyote nghe ngóng các kết nối đến nó trên 
cổng TCP được định sẵn trên máy chủ và sau đó trả lời các yêu cầu đến Tomcat để thực thi 
các yêu cầu và gửi lại trả lời cho máy trạm đã yêu cầu. 
Jasper: Jasper là công cụ JSP của Tomcat. Tomcat 5.x sử dụng Jasper 2, chính là một 
thực thi các trang JSP được chỉ rõ của Sun Microsystems. Jasper phân tích các file JSP để 
biên dịch chúng trong code Java như là các servlets (có thể được điều khiển bởi Catalina). Tại 
thời điểm thực thi, Jasper có khả năng tự động dò ra các file JSP và biên dịch chúng. 
Jasper 2: Từ Jasper sang Jasper 2, có những đặc điểm quan trọng được thêm vào: 
 Cụm các thư viện JSP dùng chung - Mỗi cụm đặt trong các file JSP được điều 
khiển bởi một lớp điều khiển các tag. Các đối tượng lớp điều khiển các cụm có 
thể được dùng chung hoặc tái sử dụng lại trong toàn bộ JSP servlet. 
 Biên dịch JSP - Khi việc dịch lại sửa đổi Java code, các phiên bản cũ vẫn có 
hiệu lực cho yêu cầu máy chủ. Bản JSP servlet cũ nhất bị xóa đi một khi bản JSP 
servlet mới được biên dịch lại. 
- 25 - 
 Dịch lại JSP khi các trang có sự thay đổi - Các trang cso thể được chèn và bao 
gồm trong một file JSP tại thời điểm biên dịch. JSP sẽ không chỉ được tự động 
dịch lại với các sự thay đổi các file JSP mà còn bao gồm sự thay đổi trang. 
 Trình biên dịch JDT Java - Jasper 2 có thể sử dụng trình biên dịch JDT Java là 
Eclipse thay cho Ant và javac. 
3.3.5. Máy chủ DNS 
DNS là từ viết tắt trong tiếng Anh của Domain Name System, là Hệ thống tên miền 
được phát minh vào năm 1984 cho Internet, chỉ một hệ thống cho phép thiết lập tương ứng 
giữa địa chỉ IP và tên miền. Hệ thống tên miền (DNS) là một hệ thống đặt tên theo thứ tự cho 
máy vi tính, dịch vụ, hoặc bất kì nguồn lực tham gia vào Internet. Nó liên kết nhiều thông tin 
đa dạng với tên miền được gán cho những người tham gia. Quan trọng nhất là, nó chuyển tên 
miền có ý nghĩa cho con người vào số định danh (nhị phân), liên kết với các trang thiết bị 
mạng cho các mục đích định vị và địa chỉ hóa các thiết bị khắp thế giới. 
Phép tương ứng thường được sử dụng để giải thích hệ thống tên miền là, nó phục vụ 
như một ―Danh bạ điện thoại‖ để tìm trên Internet bằng cách dịch tên máy chủ máy tính thành 
địa chỉ IP Ví dụ, www.example.com dịch thành 208.77.188.166. 
Hệ thống tên miền giúp cho nó có thể chỉ định tên miền cho các nhóm người sử dụng 
Internet trong một cách có ý nghĩa, độc lập với mỗi địa điểm của người sử dụng. Bởi vì điều 
này, World-Wide Web (WWW) siêu liên kết và trao đổi thông tin trên Internet có thể duy trì 
ổn định và cố định ngay cả khi định tuyến dòng Internet thay đổi hoặc những người tham gia 
sử dụng một thiết bị di động. Tên miền internet dễ nhớ hơn các địa chỉ IP như là 
208.77.188.166 (IPv4) hoặc 2001: db8: 1f70:: 999: de8: 7648:6 e8 (IPv6). 
Mọi người tận dụng lợi thế này khi họ thuật lại có nghĩa các URL và địa chỉ email mà 
không cần phải biết làm thế nào các máy sẽ thực sự tìm ra chúng. 
Hệ thống tên miền phân phối trách nhiệm gán tên miền và lập bản đồ những tên tới địa 
chỉ IP bằng cách định rõ những máy chủ có thẩm quyền cho mỗi tên miền. Những máy chủ có 
tên thẩm quyền được phân công chịu trách nhiệm đối với tên miền riêng của họ, và lần lượt có 
thể chỉ định tên máy chủ khác độc quyền của họ cho các tên miền phụ. Kỹ thuật này đã thực 
hiện các cơ chế phân phối DNS, chịu đựng lỗi, và giúp tránh sự cần thiết cho một trung tâm 
đơn lẻ để đăng kí được tư vấn và liên tục cập nhật. 
Nhìn chung, Hệ thống tên miền cũng lưu trữ các loại thông tin khác, chẳng hạn như 
danh sách các máy chủ email mà chấp nhận thư điện tử cho một tên miền Internet. Bằng cách 
cung cấp cho một thế giới rộng lớn, phân phối từ khóa – cơ sở của dịch vụ đổi hướng , Hệ 
thống tên miền là một thành phần thiết yếu cho các chức năng của Internet. Các định dạng 
khác như các thẻ RFID, mã số UPC, kí tự Quốc tế trong địa chỉ email và tên máy chủ, và một 
loạt các định dạng khác có thể có khả năng sử dụng DNS. 
3.3.6 Máy chủ cơ sở dữ liệu MySql 
MySQL là cơ sở dữ liệu được sử dụng cho các ứng dụng Web có quy mô vừa và nhỏ. 
Tuy không phải là một cơ sở dữ liệu lớn nhưng chúng cũng có trình giao diện trên Windows 
hay Linux, cho phép người dùng có thể thao tác các hành động liên quan đến cơ sở dữ liệu. 
Cũng giống như các cơ sở dữ liệu, khi làm việc với cơ sở dữ liệu MySQL, bạn đăng ký 
kết nối, tạo cơ sở dữ liệu, quản lý người dùng, phần quyền sử dụng, thiết kế đối tượng Table 
của cơ sở dữ liệu và xử lý dữ liệu. 
Tuy nhiên, trong bất kỳ ứng dụng cơ sở dữ liệu nào cũng vậy, nếu bản thân chúng có hỗ 
trợ một trình giao diện đồ hoạ, bạn có thể sử dụng chúng tiện lợi hơn các sử dụng Command 
line. Bởi vì, cho dù bạn điều khiển MySQL dưới bất kỳ hình thức nào, mục đích cũng quản lý 
và thao tác cơ sở dữ liệu. 
- 26 - 
MySQL là một hệ thống quản lý cơ sở dữ liệu quan hệ (RDBMS) hay còn được gọi là 
Relational Database Management System. RDBMS là một trong những mô hình cơ sở dữ liệu 
quan hệ thông dụng hiện nay. 
Ngôn ngữ SQL chia làm 4 loại sau: 
 DDL (Data Definition Language): Ngôn ngữ định nghĩa dữ liệu, dùng để tạo cơ 
sở dữ liệu, định nghĩa các đối tượng cơ sở dữ liệu như Table, Query, Views hay 
các đối tượng khác. 
 DML (Data Manipulation Language): Ngôn ngữ thao tác dữ liệu, dùng để thao 
tác dữ liệu, chẳng hạn như các phát biểu: Select, Inert, Delete, Update, ... 
 DCL: (Data Control Language): Ngôn ngữ sử dụng truy cập đối tượng cơ sở dữ 
liệu, dùng để thay đổi cấu trúc, tạo người dùng, gán quyền chẳng hạn như: Alter, 
Grant, Revoke, ... 
 TCL: (Transaction Control Language): Ngôn sử dụng để khai báo chuyển tác 
chẳng hạn như: Begin Tran, Rollback, Commit, ... 
Câu hỏi cuối chƣơng 
1. Trình bày tóm tắt các phiên bản của Fedora Core 
2. Nêu các bước cài đặt Fedora Core 
3. Trình bày những hiểu biết về KDE và Gnome 
4. Trình bày các mốc phát triển của phần mềm ThunderBird 
5. Trình bày những ưu điểm và nhược điểm của Writer so với Word 
6. Trình bày những ưu điểm và nhược điểm của Calc so với Excel 

File đính kèm:

  • pdfgiao_trinh_phat_trien_ung_dung_ma_nguon_mo_phan_1.pdf