Tìm hiểu phát triển ứng dụng cơ sở dữ liệu trên Linux bằng công cụ Kylix

Phát triển ứng dụng CSDL Linux mạnh mẽ với Kylix. Hướng dẫn từng bước xây dựng ứng dụng cơ sở dữ liệu hiệu quả trên nền tảng Linux sử dụng Kylix.

Chuyên ngành

Công Nghệ Thông Tin

Người đăng

Ẩn danh

Thể loại

Khóa luận tốt nghiệp

2005

102
0
0

Phí lưu trữ

35 Point

Mục lục chi tiết

LỜI MỞ ĐẦU

LỜI CẢM ƠN

1. CHƯƠNG 1: GIỚI THIỆU HỆ ĐIỀU HÀNH LINUX

1.1. GIỚI THIỆU VỀ HỆ ĐIỀU HÀNH LINUX

1.2. CÁC HỆ ĐIỀU HÀNH LINUX THÔNG DỤNG

1.3. MÔI TRƯỜNG LINUX & CÁC LINUX DESKTOP

1.4. TỔNG QUAN PHÁT TRIỂN ỨNG DỤNG CSDL TRÊN LINUX

2. CHƯƠNG 2: GIỚI THIỆU CÔNG CỤ KYLIX

2.1. CÔNG CỤ LẬP TRÌNH KYLIX

2.2. CÀI ĐẶT KYLIX TRÊN LINUX

2.3. TÌM HIỂU KIẾN TRÚC CỦA KYLIX

2.4. MỘT SỐ CÚ PHÁP VÀ PHÁT BIỂU THƯỜNG DÙNG

2.5. GIỚI THIỆU SƠ LƯỢC VỀ CÁC TOÁN TỬ

3. CHƯƠNG 3: HỆ QUẢN TRỊ CƠ SỞ DỮ LIỆU MYSQL

3.1. NHẬP MÔN CSDL MYSQL

3.2. SỬ DỤNG MYSQL

3.3. PHÁT BIỂU SQL

3.4. CÁC HÀM TIỆN ÍCH CUNG CẤP SẴN BỞI MYSQL

3.5. KYLIX & MYSQL

4. CHƯƠNG 4: CÔNG CỤ THIẾT KẾ BÁO BIỂU REPORT MANAGER

4.1. GIỚI THIỆU TỔNG QUAN VỀ REPORT MANAGER

4.2. CÁC YÊU CẦU PHẦN CỨNG VÀ PHẦN MỀM

4.3. CÁC TÍNH NĂNG CỦA REPORT MANAGER

4.4. TỔNG QUAN VỀ REPORT ENGINE, CÁCH THỰC THI?

4.5. CÀI ĐẶT REPORT MANAGER

5. CHƯƠNG 5: THIẾT KẾ ỨNG DỤNG MINH HỌA:

5.1. CHƯƠNG TRÌNH QUẢN LÝ CÁC THÔNG TIN TRONG GIA ĐÌNH (QUẢN GIA)

5.2. PHÂN TÍCH & THIẾT KẾ HỆ THỐNG

5.3. MỘT SỐ MÀN HÌNH CHÍNH CỦA CHƯƠNG TRÌNH

ĐÁNH GIÁ, NHẬN XÉT VÀ KẾT LUẬN

KẾT LUẬN

HƯỚNG PHÁT TRIỂN

Tóm tắt

I. Tổng quan về phát triển ứng dụng CSDL trên Linux với Kylix

Việc phát triển ứng dụng CSDL trên Linux với Kylix đánh dấu một bước ngoặt quan trọng vào đầu những năm 2000, mang đến một giải pháp mạnh mẽ cho các lập trình viên quen thuộc với Delphi trên Windows. Trước đây, Linux, dù được biết đến với sự ổn định và tính mã nguồn mở, vẫn còn thiếu các công cụ phát triển ứng dụng nhanh (RAD). Borland Kylix ra đời để giải quyết khoảng trống này, được định vị như một phiên bản Delphi dành riêng cho môi trường Linux. Công cụ này kế thừa những thế mạnh vượt trội của Delphi, bao gồm một môi trường phát triển tích hợp (IDE) trực quan và thư viện component phong phú, giúp rút ngắn đáng kể thời gian phát triển sản phẩm. Mục tiêu của Kylix là cho phép xây dựng các ứng dụng Linux native hiệu suất cao, từ ứng dụng giao diện đồ họa đến các dịch vụ web và đặc biệt là các ứng dụng client-server kết nối cơ sở dữ liệu. Nghiên cứu của Võ Minh Triết và Nguyễn Anh Tuấn (2005) khẳng định Kylix là "một trong những công cụ lập trình trực quan nổi tiếng về tính dễ sử dụng cũng như hiệu quả cao". Sự ra đời của Kylix không chỉ cung cấp một công cụ mới mà còn mở ra một xu hướng, khuyến khích việc tìm hiểu và phát triển các ứng dụng chuyên nghiệp trên nền tảng Linux, đáp ứng nhu cầu ngày càng tăng của các doanh nghiệp và tổ chức lựa chọn Linux làm hệ điều hành chiến lược. Nền tảng này tận dụng ngôn ngữ Object Pascal Linux, một biến thể mạnh mẽ và có cấu trúc rõ ràng, kết hợp với thư viện component đa nền tảng CLX để tạo ra các ứng dụng có khả năng chạy trên cả Linux và Windows với những thay đổi tối thiểu.

1.1. Giới thiệu Borland Kylix Phiên bản Delphi cho Linux

Borland Kylix, đặc biệt là phiên bản Kylix 3, là một giải pháp phát triển phần mềm hiệu suất cao sử dụng ngôn ngữ C++ và Delphi (Object Pascal) để tạo ra ứng dụng cơ sở dữ liệu, giao diện đồ họa và dịch vụ web một cách nhanh chóng trên Linux. Về cơ bản, Kylix chính là Delphi được tái cấu trúc để hoạt động như một ứng dụng Linux native. Công cụ này thừa hưởng toàn bộ những ưu điểm đã làm nên tên tuổi của Delphi trên Windows: một môi trường phát triển tích hợp (IDE) hoàn chỉnh, khả năng lập trình RAD trên Linux (Rapid Application Development) và một thư viện component mạnh mẽ. Tài liệu gốc mô tả Kylix là công cụ "đem lại việc phát triển phần mềm trở nên đơn giản và nhanh chóng thông qua công cụ lập trình trực quan". Kylix cung cấp một bộ thư viện component toàn diện gọi là thư viện CLX (Component Library for Cross-platform), được thiết kế để thay thế cho VCL (Visual Component Library) của Delphi, cho phép các ứng dụng được biên dịch và chạy mượt mà trên môi trường Linux mà không cần các tầng giả lập.

1.2. Lý do chọn Linux làm nền tảng phát triển ứng dụng

Vào thời điểm Kylix ra đời, Linux đang dần khẳng định vị thế là một hệ điều hành của tương lai. Theo tài liệu nghiên cứu năm 2005, Linux sở hữu những ưu điểm vượt trội như mã nguồn mở, miễn phí và tính ổn định cao, thu hút sự quan tâm của nhiều công ty, chính phủ và tổ chức lớn. Các yếu tố chính khiến Linux trở thành một nền tảng hấp dẫn cho việc phát triển ứng dụng CSDL bao gồm: 1) Tính bảo mật: Linux được công nhận là có khả năng miễn dịch cao với virus, một vấn đề nghiêm trọng trên các hệ thống khác. 2) Hiệu suất: Nhiều web server và hệ thống lớn như của HP, Ericsson đã sử dụng Linux để đảm bảo hiệu suất và độ tin cậy. 3) Chi phí: Việc không mất chi phí bản quyền giúp giảm đáng kể tổng chi phí sở hữu cho các dự án công nghệ thông tin. 4) Linh hoạt: Với mã nguồn mở, các nhà phát triển có thể tùy chỉnh hệ điều hành theo nhu cầu cụ thể của ứng dụng. Việc phát triển ứng dụng CSDL trên Linux do đó không chỉ là một lựa chọn kỹ thuật mà còn là một quyết định chiến lược, phù hợp với xu hướng công nghệ toàn cầu.

II. Thách thức khi di chuyển ứng dụng Delphi sang Linux là gì

Quá trình di chuyển ứng dụng Delphi sang Linux bằng Kylix không phải là một con đường bằng phẳng, mà tồn tại nhiều thách thức kỹ thuật đòi hỏi sự chuẩn bị kỹ lưỡng. Thách thức lớn nhất và cơ bản nhất nằm ở sự khác biệt về kiến trúc giữa hai hệ điều hành. Delphi được xây dựng dựa trên Windows API và thư viện VCL, trong khi Kylix phải hoạt động trên một nền tảng hoàn toàn khác với các thư viện Linux native. Điều này dẫn đến vấn đề tương thích cốt lõi. Các nhà phát triển không thể chỉ đơn giản biên dịch lại mã nguồn Delphi trên Kylix và mong đợi nó hoạt động ngay lập tức. Thay vào đó, một phần đáng kể của mã nguồn, đặc biệt là các đoạn mã tương tác trực tiếp với hệ điều hành hoặc các thành phần giao diện người dùng, cần được viết lại hoặc điều chỉnh để tương thích với thư viện CLX. Theo tài liệu gốc, các nhà phát triển Kylix đã quyết định "tạo một trình biên dịch có thể tạo ra các ứng dụng thực sự gốc Linux (Linux native)" thay vì sử dụng các lớp giả lập như WINE. Quyết định này đảm bảo hiệu suất cao nhưng cũng đồng nghĩa với việc các lập trình viên phải từ bỏ VCL quen thuộc. Bên cạnh đó, việc cài đặt và cấu hình môi trường phát triển cũng là một rào cản, đặc biệt đối với các ứng dụng legacy. Việc cài đặt Kylix trên Ubuntu hay các bản phân phối Linux hiện đại có thể gặp phải các vấn đề về phụ thuộc thư viện 32-bit trên hệ thống 64-bit, đòi hỏi kiến thức chuyên sâu về quản trị hệ thống Linux.

2.1. Vấn đề tương thích API Từ VCL của Windows sang CLX

Sự khác biệt nền tảng giữa Visual Component Library (VCL) của Delphi và thư viện CLX (Component Library for Cross-platform) của Kylix là trở ngại chính khi port ứng dụng. VCL được thiết kế xoay quanh Windows API, trong khi CLX được xây dựng dựa trên thư viện Qt, một framework giao diện phổ biến trên Linux (nền tảng của KDE Desktop). Mặc dù Borland đã cố gắng thiết kế CLX có cấu trúc và tên gọi các component tương tự VCL để giảm thiểu công sức chuyển đổi, sự khác biệt vẫn tồn tại ở tầng sâu. Nghiên cứu chỉ ra rằng "mặc dù CLX và VCL rất giống nhau nhưng không hoàn toàn giống". Các lập trình viên phải rà soát lại mã nguồn, tìm kiếm và thay thế các lời gọi hàm đặc thù của Windows, các component chỉ có trong VCL, hoặc các đoạn mã xử lý đồ họa, tệp tin theo cách của Windows. Quá trình này không chỉ tốn thời gian mà còn đòi hỏi sự hiểu biết sâu sắc về cả hai thư viện để đảm bảo ứng dụng hoạt động chính xác và ổn định trên Linux.

2.2. Khó khăn khi cài đặt Kylix trên các bản phân phối mới

Việc cài đặt Kylix trên Ubuntu và các bản phân phối Linux hiện đại là một thách thức đáng kể đối với việc bảo trì các ứng dụng legacy. Borland Kylix được phát hành lần cuối vào năm 2002 và được thiết kế cho các thư viện và nhân Linux cũ hơn. Các hệ thống ngày nay chủ yếu là 64-bit, trong khi Kylix là một ứng dụng 32-bit. Điều này gây ra xung đột về thư viện phụ thuộc. Ví dụ, trình cài đặt Kylix có thể yêu cầu các phiên bản cũ của glibc hoặc các thư viện đồ họa không còn tồn tại trong kho phần mềm mặc định. Tài liệu gốc cũng đề cập đến các vấn đề với trình quản lý gói RPM, yêu cầu người dùng phải chạy trình cài đặt ở chế độ dòng lệnh với tham số đặc biệt (sh setup.sh -m). Để cài đặt thành công, người dùng thường phải tìm và cài đặt thủ công các gói tương thích 32-bit (multi-lib), tạo các liên kết tượng trưng (symlinks) cho các thư viện, hoặc thậm chí sử dụng các container như Docker để tạo một môi trường Linux cũ hơn, tương thích với Kylix.

III. Hướng dẫn kiến trúc Kylix cho lập trình RAD trên Linux

Kiến trúc của Borland Kylix được thiết kế để mang lại trải nghiệm lập trình RAD trên Linux, kế thừa triết lý từ Delphi. Cốt lõi của kiến trúc này bao gồm ba thành phần chính: Môi trường phát triển tích hợp (IDE), ngôn ngữ Object Pascal Linux, và thư viện CLX. IDE của Kylix cung cấp một không gian làm việc thống nhất, nơi các nhà phát triển có thể thiết kế giao diện, viết mã, gỡ lỗi và triển khai ứng dụng một cách trực quan. Các công cụ như Form Designer, Object Inspector, và Code Editor hoạt động liền mạch với nhau, cho phép kéo-thả các component lên form và thiết lập thuộc tính của chúng mà không cần viết nhiều mã. Ngôn ngữ Object Pascal là một ngôn ngữ lập trình hướng đối tượng mạnh mẽ, có cú pháp rõ ràng, dễ học nhưng vẫn đủ sức mạnh để xây dựng các hệ thống phức tạp. Nó hỗ trợ đầy đủ các tính năng như tính kế thừa, đa hình và đóng gói. Thành phần quan trọng nhất trong kiến trúc này là thư viện CLX (Component Library for Cross-platform). Đây là khung sườn của Kylix, cung cấp một tập hợp lớn các component có thể tái sử dụng, từ các control giao diện cơ bản (nút bấm, hộp văn bản) đến các component phức tạp cho việc kết nối CSDL Linux và mạng. CLX được xây dựng dựa trên thư viện Qt, đảm bảo các ứng dụng được tạo ra có giao diện và hoạt động như một ứng dụng Linux native thực thụ.

3.1. Khám phá thư viện CLX Component Library for Cross platform

Thư viện CLX là trái tim của Kylix, được thiết kế như một thư viện component đa nền tảng. Theo tài liệu gốc, CLX được chia thành nhiều phần, bao gồm BaseCLX (các lớp cơ sở), VisualCLX (các component giao diện đồ họa), DataCLX (các component truy cập dữ liệu), và NetCLX (các component mạng). VisualCLX, phần quan trọng nhất cho lập trình giao diện, sử dụng Qt làm nền tảng đồ họa. Điều này cho phép ứng dụng Kylix tích hợp chặt chẽ với các môi trường desktop Linux như KDE và GNOME. Cấu trúc phân cấp của CLX bắt đầu từ lớp TObject, tương tự như VCL. Các component trực quan kế thừa từ TControl, trong khi các component không trực quan kế thừa từ TComponent. Sự phân cấp rõ ràng này giúp quản lý đối tượng và sự kiện một cách có hệ thống, đồng thời cho phép các nhà phát triển dễ dàng mở rộng và tạo ra các component tùy chỉnh.

3.2. Tìm hiểu Môi trường phát triển tích hợp IDE của Kylix

Môi trường phát triển tích hợp (IDE) của Kylix là bản sao gần như hoàn chỉnh của Delphi trên Windows, mang lại một môi trường làm việc quen thuộc và hiệu quả. IDE này tích hợp tất cả các công cụ cần thiết cho một chu trình phát triển phần mềm hoàn chỉnh. Các thành phần chính bao gồm: Form Designer (công cụ thiết kế giao diện kéo-thả), Component Palette (bảng chứa các component CLX), Object Inspector (cửa sổ để xem và thay đổi thuộc tính, sự kiện của component), Code Editor (trình soạn thảo mã thông minh với tính năng tô sáng cú pháp và hoàn thành mã), và Integrated Debugger (trình gỡ lỗi tích hợp). Sự kết hợp chặt chẽ giữa các công cụ này hiện thực hóa mô hình lập trình RAD trên Linux, giúp các nhà phát triển xây dựng và thử nghiệm các nguyên mẫu một cách nhanh chóng, từ đó giảm thiểu đáng kể thời gian đưa sản phẩm ra thị trường.

3.3. Sức mạnh ngôn ngữ Object Pascal và cú pháp cơ bản

Ngôn ngữ được sử dụng trong Kylix là Object Pascal, một ngôn ngữ lập trình hướng đối tượng có cấu trúc. Tài liệu nghiên cứu (2005) mô tả Object Pascal là "một ngôn ngữ tuyệt vời", hỗ trợ toàn diện các tính năng như tính đa hình, kế thừa và đóng gói. Cú pháp của nó rất trong sáng và dễ đọc, giúp việc bảo trì mã nguồn trở nên dễ dàng hơn so với các ngôn ngữ có cú pháp phức tạp khác. Cú pháp cơ bản bao gồm các câu lệnh điều khiển luồng quen thuộc như if...then...else, vòng lặp for...to...do, while...do, và repeat...until. Cấu trúc chương trình được tổ chức theo các unit, với phần interface để khai báo và implementation để định nghĩa chi tiết. Sức mạnh của Object Pascal Linux không chỉ nằm ở cú pháp mà còn ở khả năng biên dịch ra mã máy native, cho hiệu suất thực thi cao, tương tự như C++.

IV. Cách kết nối CSDL Linux với Kylix 3 bằng DataCLX và dbExpress

Khả năng kết nối CSDL Linux một cách hiệu quả là một trong những thế mạnh lớn nhất của Kylix 3. Borland đã phát triển một kiến trúc truy cập dữ liệu hoàn toàn mới, nhẹ và đa nền tảng có tên là dbExpress, được tích hợp thông qua bộ component DataCLX. Kiến trúc này được thiết kế để giải quyết những hạn chế của Borland Database Engine (BDE) trước đây, tập trung vào tốc độ, sự độc lập với nền tảng và tối thiểu hóa tài nguyên sử dụng. Theo tài liệu nghiên cứu, mục tiêu của lớp truy cập dữ liệu này là "tối ưu hóa tốc độ truy cập dữ liệu" và "cung cấp một giao diện chung để xử lý SQL". dbExpress hoạt động như một lớp trung gian mỏng, cung cấp các trình điều khiển (drivers) gốc cho các hệ quản trị CSDL phổ biến trên Linux như MySQL, PostgreSQL, InterBase, và Oracle. Thay vì tải toàn bộ dữ liệu về client, dbExpress sử dụng con trỏ một chiều (unidirectional cursor), chỉ lấy dữ liệu khi cần thiết, giúp giảm thiểu bộ nhớ và tăng tốc độ truy vấn, đặc biệt hiệu quả với các tập dữ liệu lớn. Các component trong DataCLX như TSQLConnection, TSQLQuery, và TDataSetProvider cho phép các nhà phát triển dễ dàng cấu hình kết nối, thực thi các câu lệnh SQL và liên kết dữ liệu với các component giao diện một cách trực quan ngay trong IDE.

4.1. Tổng quan về kiến trúc dbExpress và DataCLX

Kiến trúc truy cập dữ liệu của Kylix bao gồm hai thành phần chính: dbExpressDataCLX. dbExpress là một engine truy cập dữ liệu nhẹ, cung cấp một API chung và các trình điều khiển (drivers) riêng cho từng loại CSDL. Đặc điểm nổi bật của nó là kiến trúc driver-based, cho phép dễ dàng mở rộng để hỗ trợ các CSDL mới. DataCLX là bộ component Pascal bao bọc lấy API của dbExpress, cung cấp các đối tượng dễ sử dụng trong môi trường RAD. Các component chính trong DataCLX bao gồm TSQLConnection để quản lý kết nối CSDL, TSQLQuery, TSQLStoredProc, TSQLTable để thực thi truy vấn và truy cập dữ liệu, và TClientDataSet để lưu trữ dữ liệu ở phía client, hỗ trợ các thao tác offline và caching. Kiến trúc này tạo ra một giải pháp kết nối CSDL Linux linh hoạt và hiệu suất cao, là nền tảng cho việc xây dựng các ứng dụng client-server mạnh mẽ.

4.2. Hướng dẫn kết nối CSDL MySQL và PostgreSQL trên Linux

Việc kết nối đến các CSDL phổ biến như MySQLPostgreSQL với Kylix rất đơn giản thông qua component TSQLConnection của DataCLX. Quy trình chung bao gồm các bước sau: 1) Kéo component TSQLConnection vào Form hoặc Data Module. 2) Trong Object Inspector, chọn driver tương ứng (ví dụ: MYSQL hoặc POSTGRESQL) cho thuộc tính DriverName. 3) Thiết lập các tham số kết nối trong thuộc tính Params, bao gồm HostName, Database, User_Name, và Password. 4) Đặt thuộc tính LoginPrompt thành False để tránh hiển thị hộp thoại đăng nhập. 5) Đặt thuộc tính Connected thành True để thiết lập kết nối. Sau khi kết nối thành công, có thể sử dụng các component như TSQLQuery để thực thi các câu lệnh SQL và TDataSource để liên kết kết quả với các component hiển thị dữ liệu như TDBGrid. Cách tiếp cận này giúp trừu tượng hóa các chi tiết kết nối phức tạp, cho phép lập trình viên tập trung vào logic nghiệp vụ của ứng dụng.

V. Xây dựng ứng dụng Client Server thực tiễn bằng Kylix

Việc xây dựng một ứng dụng client-server hoàn chỉnh với Kylix tận dụng tối đa các thế mạnh của môi trường lập trình RAD trên Linux. Quy trình này bao gồm việc thiết kế giao diện người dùng, kết nối cơ sở dữ liệu và viết mã xử lý logic nghiệp vụ. Giao diện người dùng được xây dựng một cách trực quan bằng cách kéo thả các component từ Component Palette lên Form. Kylix cung cấp đầy đủ các control cần thiết thông qua thư viện CLX, từ các nút bấm, hộp thoại, menu cho đến các lưới hiển thị dữ liệu phức tạp. Việc lập trình giao diện Linux với Kylix cho phép tạo ra các ứng dụng có giao diện thân thiện và nhất quán với môi trường desktop của người dùng. Sau khi thiết kế giao diện, bước tiếp theo là thiết lập kết nối đến CSDL server (ví dụ: MySQL hoặc Firebird) bằng các component DataCLX. Dữ liệu được truy vấn và hiển thị trên giao diện thông qua sự kết hợp của các component TSQLQuery, TDataSource và các component nhận biết dữ liệu (data-aware) như TDBEdit, TDBGrid. Cuối cùng, logic nghiệp vụ của ứng dụng được triển khai bằng cách viết các trình xử lý sự kiện (event handlers) bằng ngôn ngữ Object Pascal Linux. Ví dụ, một sự kiện OnClick của một nút bấm có thể kích hoạt việc thực thi một câu lệnh SQL để thêm, sửa hoặc xóa dữ liệu.

5.1. Quy trình thiết kế với các công cụ lập trình giao diện Linux

Quy trình thiết kế giao diện trong Kylix tuân theo mô hình trực quan, giúp đẩy nhanh tiến độ. Bắt đầu bằng việc tạo một Form mới, đóng vai trò là cửa sổ chính của ứng dụng. Sau đó, từ Component Palette, các lập trình viên kéo và thả các component VisualCLX cần thiết như TButton, TEdit, TLabel, TMemo, và TDBGrid lên Form. Vị trí, kích thước và các thuộc tính trực quan khác của các component này có thể được điều chỉnh dễ dàng bằng chuột hoặc thông qua Object Inspector. Object Inspector cho phép thiết lập các thuộc tính như Caption (nhãn), Color (màu sắc), Font (phông chữ), và Enabled (trạng thái kích hoạt). Phương pháp lập trình giao diện Linux này giúp lập trình viên thấy ngay kết quả thiết kế của mình mà không cần biên dịch lại chương trình, đúng với tinh thần của lập trình RAD trên Linux.

5.2. Xử lý sự kiện và logic nghiệp vụ trong ứng dụng Kylix

Logic nghiệp vụ của ứng dụng client-server được cài đặt thông qua các trình xử lý sự kiện. Mỗi component trực quan trong Kylix đều có một danh sách các sự kiện (Events) có thể phản hồi, chẳng hạn như OnClick, OnChange, OnKeyPress. Để viết mã cho một sự kiện, lập trình viên chỉ cần chọn component, chuyển sang tab Events trong Object Inspector và nhấp đúp vào sự kiện mong muốn. IDE sẽ tự động tạo ra một khung thủ tục (procedure) trống trong Code Editor. Bên trong thủ tục này, lập trình viên sẽ viết mã Object Pascal để thực hiện các hành động tương ứng, ví dụ như gọi phương thức ExecSQL của một TSQLQuery để cập nhật cơ sở dữ liệu, thực hiện các phép tính toán, hoặc hiển thị thông báo cho người dùng. Cách tiếp cận hướng sự kiện này giúp cấu trúc mã nguồn một cách rõ ràng, dễ quản lý và bảo trì.

VI. Tương lai Kylix Từ ứng dụng legacy đến giải pháp Lazarus

Mặc dù Borland Kylix từng là một công cụ đầy hứa hẹn cho việc phát triển ứng dụng CSDL trên Linux, dự án này đã bị Borland ngừng phát triển sau phiên bản Kylix 3 vào năm 2002. Tài liệu nghiên cứu năm 2005 đã sớm nhận thấy dấu hiệu này, ghi nhận rằng "sự đầu tư phát triển dành cho Kylix của Borland đang chững lại". Ngày nay, Kylix được xem là một công nghệ cũ, và việc sử dụng nó để phát triển các dự án mới là không khả thi. Tuy nhiên, vẫn còn một số lượng nhất định các ứng dụng legacy được xây dựng bằng Kylix cần được bảo trì hoặc nâng cấp. Đối với các lập trình viên và doanh nghiệp đang đối mặt với thách thức này, việc di chuyển ứng dụng Delphi sang Linux không còn phụ thuộc vào Kylix nữa. Thay vào đó, cộng đồng mã nguồn mở đã tạo ra một giải pháp thay thế mạnh mẽ và tích cực phát triển hơn rất nhiều: Lazarus IDE. Lazarus là một môi trường phát triển tích hợp đa nền tảng, miễn phí, được xây dựng dựa trên trình biên dịch Free Pascal. Nó được thiết kế để tương thích cao với Delphi và VCL, sử dụng thư viện component riêng gọi là LCL (Lazarus Component Library). LCL có khả năng ánh xạ tới các bộ công cụ widget gốc trên nhiều nền tảng (GTK+ trên Linux, WinAPI trên Windows, Cocoa trên macOS), cho phép biên dịch một mã nguồn duy nhất ra các ứng dụng native cho nhiều hệ điều hành.

6.1. Đánh giá ưu và nhược điểm của Kylix trong bối cảnh hiện đại

Trong bối cảnh hiện tại, Borland Kylix có những ưu điểm mang tính lịch sử như là công cụ tiên phong mang mô hình lập trình RAD trên Linux. Nó đã chứng minh rằng việc phát triển ứng dụng giao diện phức tạp trên Linux có thể trở nên nhanh chóng và hiệu quả. Tuy nhiên, nhược điểm của nó là rất lớn và không thể khắc phục: 1) Ngừng phát triển: Không có bản cập nhật, không hỗ trợ các nhân Linux và thư viện mới. 2) Vấn đề tương thích: Rất khó khăn khi cài đặt Kylix trên Ubuntu hay các hệ thống 64-bit hiện đại. 3) Hệ sinh thái hạn chế: Cộng đồng người dùng và các component của bên thứ ba gần như không còn tồn tại. Do đó, Kylix chỉ còn giá trị trong việc bảo trì các ứng dụng legacy hiện có, chứ không phải là lựa chọn cho các dự án mới.

6.2. Lazarus và Free Pascal Lựa chọn thay thế cho Borland Kylix

Lazarus IDE cùng với trình biên dịch Free Pascal là sự kế thừa tinh thần của Delphi và Kylix trong thế giới mã nguồn mở. Đây là giải pháp tối ưu cho việc di chuyển ứng dụng Delphi sang Linux ngày nay. Lazarus cung cấp một IDE có giao diện và tính năng gần như tương đồng với Delphi, giúp các lập trình viên Delphi dễ dàng làm quen. Thư viện LCL của nó có độ tương thích cao với VCL, cho phép tái sử dụng phần lớn mã nguồn từ các dự án Delphi. Quan trọng nhất, LazarusFree Pascal là các dự án đang được phát triển rất tích cực, hỗ trợ đầy đủ các kiến trúc 32-bit và 64-bit, và có một cộng đồng người dùng lớn mạnh. Chúng không chỉ là một sự thay thế mà còn là một sự nâng cấp so với Kylix, mang lại khả năng phát triển ứng dụng đa nền tảng thực sự từ một cơ sở mã duy nhất.

22/09/2025

Trích đoạn nội dung tài liệu

BO GIAO DUC vA DAo TAO TRUONG DHDL NGO~I NGU-TIN IiQc TP.HCM KHOA CONG NGH~ THONG TIN • ,. KHOA LUAN • TOT NGHIEP • TIM HIEU PHAT TRIEN irNG DUNG CO sa DU LIEU • TREN MOl TRUONG LINUX BANG CONG CU. GIANG vrEN HUONG DAN: D& Hoang CuO'ng SINH vrEN THlfC HI~N: vo Minh Tri~t 0111911 Nguy~n Anh TuAn 0111448 TP.HO CHI MINH - 2005 LmMaDAu Ngay nay, Linux dang dfrn tra nen ngay cang quen thuQc ca v6i gi6i phat triSn phfrn m~m cling nhu v6i nguai su d\lng. V6i uu diSm v~ rna ngu6n rna, mi~n phi va tinh 6n dinh, Linux dang dfrn khfulg dinh duQ'cthS m~mhcua minh va dang tra thanh mQt trong nhfing h~ di~u hanh Ian m?nh va tiSng Him nh~t cua thS ky 21.

V6i sv phat triSn va thay d6i lien t\lC v~ cong ngh~ va giao di~n, Linux da lam cho nhi~u cong ty, chinh phu, cac t6 chuc va nguai su d\lng quan tam dSn. Hang tram ngan website dang su d\lng webserver la Linux, nhi~u cong ty Ian nhu HP, Ericsson da su d\lng Linux nhu mQt h~ diSu hanh ch?y tren cac san ph~m cua hQ nhu chung ta co thS nghe qua thu?t ngfr Linux Embedded. Nhi~u nu6c tren thS gi6i da chQn Linux lam nSn tang triSn khai cac dv an cong ngh~ thong tin Ian tfrm cO'qu6c gia. Va mQt minh chUng cho th~y chinh la s6 nguai dung Linux dang tang dfrn len con s6 hang tram tri~u nguai.

Qua do, ta th~y Linux se -la mQt h~ di~u hanh cua tuO'ng lai dap ung duQ'c nhi~u yeu cfru cua nguai tieu dung tren kh~p thS gi6i. Vi V?y vi~c tim hiSu va phat triSn cac irng d\lng cO'sa dfr li~u (CSDL) tren moi truang Linux la mQt nhu cfru thiSt thvc va se la xu huang m6i trong giai do?n phat triSn cua tuang lai nganh CNTT tren toan thS gi6i cling nhu t?i Vi~t Nam. Borland Delphi da r~t thanh cong trong moi truang Windows, duQ'cbiSt dSn nhu mQt cong Cl)I?p trinh CSDL r~t hi~u qua. Borland cling da xay dvng mQt cong Cl)tuang tv Delphi trong Linux v6i ten rna la Kylix - duQ'cdanh gia la mQt trong nhfing cong Cl) I?p trinh trl)"cquan n6i tiSng vS tinh d~ su dl)ng cling nhu hi~u qua cao.

Ml)c dich cua nghien CUunay la tiSp c?n moi truang Linux va vi~c phat triSn Ung d\lng CSDL tren Linux, trong do cong C\l su d\lng la Kylix va h~ quan tri CSDL su d\lllg la MySQL. V6i nghien cUu nay, chung em mong mu6n gop phfrn vao qua trinh nghien CUuchung cua nhfing nguai ho?t dQng trong nganh CNNT, cling la t?O mQt n~n tang ban dfru cho nhfing ai mu6n tim hiSu v~ Kylix - mQt cong C\l thvc sv con m6i me v6i hfru hSt cac nha phat triSn phfrn m~m trong nu6c. Nghien cUu nay nhfun giup nhfing nguai di sau co thS kS thira duQ'c nhling nghien Cll'll,duc kSt va kinh nghi~m cua chung em, qua do hQ se co nhi~u cO' hQi han dS phat triSn va t?O ra nhfing san ph~m ngay mQt nang cao v~ m~t ch~t luqng cling nhu rut ng~n thai gian phat triSn. LmcAMON Su6t trong qua trinh hQc t~p, duQ'ccac quy thcly co cung c<1pva truySn d~t cac chuyen man ccln thiSt va quy gia nh<1t,duQ'c ren luy~n m9t tiOOthcln hQc t~p sang t~o, lam vi~c co t6 chu'c, t<1tca nhfrng diSu quy gia <1yla hanh trang d~n d~t chung em vao nghS nghi~p trong tuong lai.

Khoa lu~ t6t nghi~p la cO' h9i d~ chung em co th~ v~n d\U1g,t6ng hoa t<1t ca cac kiSn thuc rna thcly co dii truySn d~y, d6ng thai qua do rut ra duQ'c nhfrng bai hQc kinh nghi~m khi g~p phai nhfrng v<1ndS thllC tS trong su6t qua triOO nghien Clm thllC hi~n dS tai. £)~ co duQ'c t<1tca kiSn thuc, t<1tca kiOO nghi~m quy bau <1ychinh nha cong lao d~y d6 cua quy thcly co trong truang. Chung em xin chan thanh cam on kllOQ Cong Nghf Thong Tin truung D{li HfJc Dan L~p Ngo{li Ngit' Tin HfJc (HUFLIT) dii t~o diSu ki~n cho chung em thlJc hi~n khoa lu~n t6t nghi~p nay, cac thcly co.trong khoa dii t~n tiOOgiang d~y va trang bi OOfrngkiSn thuc c~n thiSt, d~ hom nay chung em v~ d\U1g nhfrng kiSn thuc tich lUy duQ'cvao thllc tS. Chung em xin chan thanh cam on thay Da Hoang CuO'ng dii t~n tinh hu6ng d~n, chi bao trong su6t qua trinh lam khoa lu~n t6t nghi~p.

• M~c du dii c6 g~ng hoan thanh khoa lu~ v6i t<1tca S1Jn6 l1Jc cua ban than, OOungch~c h~n khoa lu~n nay khong tranh kh6i OOfrngthiSu sot nh<1tdiOO, kinh mong S1Jthong cam va chi bao cua quy thcly co. Va tren hSt, chung con xin kinh g&i long biSt on sau s~c dSn cha mt;, nguai dii sinh thanh va nuoi duang chung con nen nguai, t~o mQi diSu ki~n cho chung con an hQc d~ chung con co duQ'c thanh qua nhu ngay nay. Chung Wi cling xin g&i lai biSt an dSn cac anh chi, b~ be dii ling h9 va OOi~ttinh giup dO' trong su6t nhfrng nam hQc vua qua cling nhu trong thai gian th1Jchi~n khoa lu~n t6t nghi~p nay. Lai cam an chan thimh, Vo Minh TriSt Nguy~n AOOTu<1n MUCLUC • • CHUaNG 1 G](ll THleU He nrEU HANH LINUX 1 1.

GIOI THI~U VE H~ DIEU HANH LINUX 2 1. cAc H~ DIEU HANH LINUX THONG Dl)NG 4 1. MOl TRUONG LINUX & cAc LINUX DESKTOP 5 1. TONG QUAN PHAT TRIEN UNG Dl)NG CSDL TREN LINUX 8 CHUONG 2 GIal THIeU CONG ClJ KYLIX 13 2.

CONG Cl) L~P TRINH KYLIX 14 2. cAl D~ T KYLIX TREN LINUX 16 2. TIM HIEU KIEN TRUC CVA KYLIX 18 2. MOT SO CU PHAp vA PHAT B1EU THUONG DUNG 27 2.

Glm THI~U so LUQ'C VE cAc ToAN TU 36 CHUONG 3 He QuAN TR! CO' sO'DiI LIeU MySQL 40 3.N TRJ CSDL MYSQL 41 3. SUDl)NG MySQL 42 3. PHA T B1EU SQL 53 ------------------ 3. cAc HAM TI~N iCH CUNG cAp SAN BOI MySQL 55 3.

KYLIX & MySQL 58 CHUaNG 4 CONG ClJ THIET KE BAo BIEU REPORT MANAGER 62 4. GIOI THI~U TONG QUAN VE REPORT MANAGER 63 4. cAc YEU cAu PHAN CUNG vA PHAN MEM 64 4. cAc TiNH NANG CVA REPORT MANAGER 65 4.

TONG QUAN VE REPORT ENGINE, CACH THljC THI? 66 4. cAl D~T REPORT MANAGER 69 CHUaNG 5 THIET KE UNG DlJNG MINH H(JA: 72 CHUaNG TRiNH QuAN LY cAc THONG TIN TRONG GIA niNH (QuAN GIA) 72 5. PHAN TiCH & THIET KIt H~ THONG 75 5. MOT SO MAN HINH CHiNH CVA CHUONG TRINH 78 nANH GIA, NH4JVXET VA KET LU4JV 94 KET LU~ 95 HUONG PHAT TRIEN 95 ------------------- ChU'O'ng 1: GiOi thi~u h~ di~u hanh Linux Trang 1.

CHUONG! Glen THIEU HE nlEU HANH LINUX • • GVHD: D6 Hoang CUOng SVTH: VO Minh TriSt NguySn Anh Tuftn Ch1f()'ng 1: Gi6'i thi~u h~ diSu hanh Linux Trang 2 1. GI61 THI~U VE H~ DIEU HANH LINUX 1. MQt sA gi6'i thi~u vS h~ diSu hanh Linux Linux la h~ di~u himh thu hut duQ'c nhi~u S\f chu y nh~t la trong vai nam tra l~i day. Ngay til khi xu~t hi~n no da Ian r(mg mQt cach nhanh chong va duQ'C bi~t t6i nhu mQt h~ di~u hanh UNIX - v6i rna ngu6n rna.

S\f thanh cong clla Linux co duQ'c nha S\f lam l~i mQt trong nhfrng h~ di~u hanh lau dai nh~t va hi~n v~n dang duQ'c su d1,1ngrQng rai - h~ di~u hanh UNIX. Linux bao g6m ca cong ngh~ Cll va m6i. Nhin tir goc dQ ky thu~t, Linux chi la mQt nhan h~ di~u hanh (kernel), no h6 trg d~y dll cac dich V1,1co bim v~ quim ly ti~n trinh, bQ nh6 ao, quan ly file va cac thi~t bi ph~n Ctmg. Noi cach khac, ban than Linux la ph~n th~p nh~t Clla h~ di~u hanh.

Tuy nhien, phk Ian nguai dung d~u xem Linux nhu mQt h~ th6ng hoan chinh g6m nhan h~ di~u hanh kern theo cac trinh tmg d1,1ngkhac: mQt moi truang lam vi~c va phat triSn d~y dll bao g6m trinh dich, cac h~ so~n thao, giao di~n d6 h9a, xu ly van ban. Hi~n nay, d\l'a tren nhan Linux, nhi~u cong ty nhu RedHat, SuSE, Caldera. da phat triSn thanh nhfrng h~ di~u hanh d~y dll cho thuang m~i, giao d1,1cho~c nguai dung ca nhan. Di~u lam cho Linux khac bi~t va duQ'c ua chuQng chinh la rna ngu6n rna.

Vi~c nay do mQt nhom phat triSn t\f nguy~n tren m~g, h9 trao d6i rna ngu6n, phat hi~n va sua l6i trong mQt moi truang rna. Them vao do, Linux con co kha nang ch~y duQ'c tren h~u nhu t~t ca cac lo~i may tinh til PC, Mac cho d~n nhfrng h~ th6ng Alpha, Amigas. Lich sir phat tri~n Linux la phien ban Unix duQ'c cung c~p mi8n phi, ban d~u duQ'c phat triSn theo mQt d~ an ca nhan bai Linus Tovalds nam 1991 khi con la mQt sinh vien Clla d~i h9C Helsinki, Ph~n Lan, luc do Linus m6i 23 tu6i. Hi~n nay, Linus dang lam vi~c t~i t~p doan Transmeta va v~n ti~p t1,1Cphat triSn nhan h~ di~u hanh Linux (Linux kernel).

Thang 11/1991, Linus dua ra phien ban Linux 0.02 va da lam vi~c t6t, d~n thang 3/1994 thi phien ban 1.0 clla nhan Linux dugc ra dai, day la phien ban tuang d6i 6n dinh. T~i thai diSm d~ tai nay dang dugc th\fc hi~n, kernel da co phien ban 2.x chinh thuc va v~n ti~p t1,1Cdugc phat triSn trong thai gian t6i. Linux duQ'c phat triSn va phan ph6i du6i gi~y phep clla GNU General Public License (www.org/copyleft/gpl.html ) va rna ngu6n cho phep download mi8n phi tir cac website tren Internet. GVHD: D6 Hoang Cuang SVTH: VO Minh Tri~t Nguy8n Anh Tu~n ChU'O'ng1: GiOi thi~u h~ di~u himh Linux Trang 3 Hi~n nay Linux dang dugc phM tri~n va bao tri bO'imQt nhom hang nghin l?p trinh vien cQng tac ch~t che v6'i nhau qua Internet.

Cae tinh nang eua Linux Linux la h~ diSu hanh rna ngu6n mO',dugc cung c~p mien phi cho nguai su d\lllg. No co kha nang da nhi~m, da xu ly, h6 trg m~ng, kha nang tuang thich ph~n Clmg va nhiSu tinh nang khac. Sau day la mQt s6 tinh nang chinh cua Linux: • Da nhi~m (multitasking) • Da nguai dung (multiuser) • Than thi~n v6'i nguai su d\lllg (user-friendly) • Tinh 6n dinh • Tinh bao m?t • Tinh hoan chinh • Tinh tuang thich • H~ diSu hanh 32-bit d~y du • De c~u hinh • Kha nang lam vi~c tren nhiSu lo~i may 1. Tri~n vqng eua rnQt h~ di~u hanh ngu8n rnlr Khong co tiSn ban quySn tac gia va su d\lllg Linux mien phi, rna ngu6n co th~ thay d6i theo nhu c~u, vi~c thay d6i giup co th~ t~o ra nhfrng san ph~rn t6t han va b~ co th~ ban san ph~m cua minh nhung tac gia ban d~u (original author) v~n gifr tac quySn va b~n se phai cung c~p rna ngu6n b~n da thay d6i cho cQng d6ng (theo lu?t copyleft).

Nhu da dS C?P & tren, rna ngu6n kernel mO', kha chuy~n, diSu nay co y nghia r~ng Linux co th~ ch~y tren nhiSu lo~i CPU va cac phk Ctmg khac nhau han b~t ky h~ diSu hanh nao khac. V6'i Sl,l phM tri~n va thay d6i lien tl)C vS cong ngh~ va giao di~n, Linux da lam cho nhiSu cong ty, chinh phu, cac t6 chuc va nguai su dl)ng quan tam dSn.

Nội dung được bảo vệ bản quyền — Tải xuống đầy đủ