Oracle Application Express (Oracle APEX) là 1 công cụ phát triển ứng dụng chạy trên Oracle database. Trước đây nó có tên là HTML DB, được phát triển từ khoảng năm 2004, nhưng phải đến những phiên bản sau này thì APEX mới được cộng đồng chú ý đến và sử dụng nhiều hơn. Bản thân mình cũng có nghe qua về HTML DB/APEX, nhưng gần đây mới có dịp tiếp xúc với nó, thấy cũng hay hay, nên tìm hiểu thử xem nó như thế nào.

 

APEX đúng như tên gọi của nó – application express – là 1 công cụ phát triển ứng dụng nhanh, hỗ trợ xây dựng các ứng dụng web hay mobile trong thời gian ngắn với chi phí thấp. APEX cung cấp cho ta một môi trường phát triển (IDE) trên nền web. Điều đặc biệt là APEX được cài đặt đơn giản chỉ là 1 schema trong Oracle database (có tên dạng apex_version). Với phiên bản hiện tại (5.1), schema APEX trong Oracle database có tên là apex_050100. Nói 1 thì cũng không đúng lắm, vì còn vài schema khác liên quan đến chức năng hoạt động của APEX, nhưng schema apex_050100 là schema chính, chứa gần như toàn bộ các đối tượng tạo nên APEX.

 

Môi trường phát triển APEX

 

Oracle database từ phiên bản 11g đã cài sẵn schema apex trong database. Tuy nhiên chúng ta có thể cài đặt phiên bản mới hơn vào để sử dụng cho sướng. APEX có thể cài đặt trên Oracle database từ phiên bản XE cho tới EE chạy RAC, và 1 tính năng miễn phí khi sử dụng Oracle database. 

 

Vậy sử dụng APEX có lợi gì? APEX cung cấp cho ta 1 IDE trên nền web, chỉ cần 1 trình duyệt, đăng nhập vào là có thể dev ứng dụng, chả cần cài đặt gì. APEX với mục đích thiết kế, phát triển, triển khai ứng dụng nhanh nên hỗ trợ sẵn nhiều thứ như thao tác kéo thả các component, quy hoạch sẵn các luồng xử lý trong trang, chỉnh sửa UI nhanh chóng, hỗ trợ các phương thức xác thực khác nhau, khả năng mở rộng với các plugins, save phát ăn ngay mà không cần phải redeploy recompile ứng dụng các kiểu… APEX dùng PL/SQL, SQL để lập trình nên rất tiện lợi cho những người đã làm với Oracle. APEX cũng hỗ trợ JavaScript, jQuery, CSS3, HTML5, RESTful SOAP web service các kiểu, nên phát triển ứng dụng web thoải mái. APEX có thể thay thế cho Oracle Forms cũ cũ chán chán, và APEX cũng có khả năng tích hợp tốt với hệ thống EBS… 

 

Tuy nhiên nó cũng không phải là không có những hạn chế. Đầu tiên là nó chỉ đi với database Oracle, nên khả năng chỉ dùng nội bộ là nhiều. Đa số các nhà cung cấp web hosting chỉ cung cấp các gói web phổ biến như php + mysql hay asp.net + sqlserver chứ không thấy ai cung cấp APEX + Oracle database. Khả năng phát triển ứng dụng của APEX cũng bị giới hạn nhiều cái, do phải phát triển theo bộ khung có sẵn của APEX, nếu muốn chỉnh sửa nhiều thì khá là mệt. Môi trường phát triển tương đối đơn giản nên không có version control, nhiều người làm việc trong 1 project có thể bị đụng độ lẫn nhau…

 

Ví dụ 1 ứng dụng APEX

 

Nói chung là APEX không thể bằng các phương thức lập trình web chuyên nghiệp khác. Nhưng nếu dùng APEX để phát triển nhanh các ứng dụng thiên về Oracle database, về ứng dụng hỗ trợ doanh nghiệp, tích hợp với EBS… thì APEX hoàn toàn có tiềm năng và khả thi.

 

Ví dụ điển hình nhất về APEX là trang web asktom.oracle.com, trang web mà chắc ai làm Oracle cũng đã ghé qua 1 lần.

 

Trang chủ (download bộ cài, tài liệu…): http://www.oracle.com/technetwork/developer-tools/apex/overview/index.html

Trang hỗ trợ dùng thử: https://apex.oracle.com/  (đăng ký account & request để có được 1 workspace miễn phí, tuy nhiên cơ bản dùng để trải nghiệm sơ qua APEX thôi, có nhiều cái hạn chế phải tự cài mới cấu hình dùng được).

 

Bài sau mình sẽ hướng dẫn cài Oracle APEX mới nhất trên database 12c nhé 🙂