Odoo là gì?

  Nov 23, 2019      2m
   

Tut 1: Odoo là gì? Giới thiệu Odoo

Odoo là gì?

Đây là bài mở đầu cho chuỗi bài viết hướng dẫn lập trình Odoo cho những bạn mới bắt đầu hoặc chưa biết gì về Odoo nhưng có niềm "đam mê bất tận" với ngôn ngữ lập trình Python như mình :D. Toàn bộ các bài viết của mình sẽ dùng Odoo 13.0 - phiên bản mới nhất ở thời điểm hiện tại. Bài viết mang thiên hướng thực hành code ngay hơn là lý thuyết dài dòng, buộc người đọc phải tự làm "bẩn tay" (dirty) mình mới có thể thành thạo.

Odoo là gì?

Odoo là một phần mềm ERP mã nguồn mở viết bằng ngôn ngữ lập trình Python. ERP là viết tắt của từ tiếng Anh: Enterprise Resource Planning. Nói một cách tóm gọn ERP có thể được hiểu là việc tích hợp các thành phần để quản lý một doanh nghiệp. Để dễ hình dung hơn, một doanh nghiệp sẽ có nhiều bộ phận cần được quản lý như: quản lý kho (inventory), quản lý bán hàng (sale), quản lý nhân viên (employeee), điểm bán hàng (point of sale - POS), … và các module này được tích hợp vào một phần mềm quản lý đó là Odoo, thay vì mỗi bộ phận dùng một phần mềm. Có thể nói giải pháp ERP doanh nghiệp nào cũng muốn tối ưu, và Odoo ERP là một trong những phần mềm ứng cử viên.

Như vậy, bạn muốn hiểu sâu thêm về Odoo cũng cần phải nắm quy trình làm việc của các thành phần trong doanh nghiệp để từ đó sử dụng Odoo hiệu quả cũng như tùy biến theo nhu cầu cụ thể của người dùng.

Do Odoo là phần mềm mã nguồn mở nên developer có thể code thêm các module (addon / extension) theo như cầu customization của người dùng, ta sẽ cần phải code theo framework mà Odoo cung cấp.

Giới thiệu Odoo

Minh cũng đã cung cấp kha khá thông tin cần thiết về Odoo cho các bạn :). Có thể nói rằng Odoo đã khá hoàn chỉnh khi cung cấp từ source code, tài liệu, cloud cho đến app store cho người dùng.

Nền tảng kỹ thuật Odoo

Mình sẽ liệt kê một số thứ về công nghệ liên quan đến Odoo để bạn có thể hình dung muốn bắt đầu Odoo cần nên tìm hiểu thêm những gì:

  • Ngôn ngữ lập trình chủ yếu: Python
  • CMS backend: Python
  • Frontend: Backbone JS, jQuery, underscore.js, D3.js
  • DBMS: Postgres
  • Proxy: Nginx

Nói chung cũng không có gì nhiều, nhưng việc làm quen với framework Odoo cũng cần phải có thể gian để có thể thấu hiểu cũng như làm chủ.

Cơ hội nghề nghiệp cho developer Odoo tại Việt Nam

Cơ hội nghề nghiệp khi bạn là một Odoo developer mình phải nói là rất triển vọng. Nếu biết mình biết ta biết cách deal thì lương cho Odoo developer sẽ rất khá. Lý do bởi vì để có thể tuyển dụng Odoo developer tại Việt Nam rất khó, dev Odoo khá khan hiếm, đặc biệt những người giỏi và có kinh nghiệm.

Flow hoạt động của Odoo đã cung cấp các thành phần như:

  • Quản lý user login / logout.
  • Kiến trúc MVC: Model - View - Controller.
  • ORM binding: tạo class Python -> mapping thành bảng trong cơ sở dữ liệu Postgres.

Việc customization trên framework Odoo sẽ khiến việc viết phần mềm trở nên nhanh hơn rất nhiều thay vì phải viết code từ đầu. Đó là một lợi thế rất lớn. Hiện tại Minh cũng đã khảo sát để tìm kiếm thêm những framework khác tương tự Odoo mà trên Python thì không có. Duy có thằng Django rất tiềm năng nhưng công tâm nhận xét thì nó không bằng được Odoo.

So sánh giữa Django và Odoo:

  • Điều đầu tiên thấy ngay: giao diện xấu hơn! Không dễ dàng để kiếm được theme đẹp tiện dụng cho CMS của mình.
  • Django hướng theo việc là một framework Python tổng quát, không dành cho ERP. Nên nếu bác nào không quan tâm ERP, chỉ quan tâm đến backend dùng Python thì Django lại là một lựa chọn hay.
  • Django gọn nhẹ và nhanh hơn Odoo, theo cảm tính mình thấy vậy trong quá trình dev.
  • Django hỗ trợ nhiều DBMS hơn (SQLite, Postgres, MongoDB, …) trong khi Odoo chỉ khuyên dùng Postgres. Thực sự đến thời điểm này mình cũng chưa thấy có điểm gì để chê Postgres.
  • Tổ chức code Django có vẻ không tinh gọn bằng Odoo. Lượng code lớn sẽ bắt đầu khó quản lý hơn so với bên Odoo - cảm giác.

Tóm lại, Django là framework Python ở mức tổng quát (general), còn Odoo tập trung vào ERP!

Nhận xét về Odoo

Tóm lại theo quan điểm cá nhân, mình thấy Odoo rất đáng học cho những bạn sở hữu Python làm ngôn ngữ lập trình chủ đạo của mình. Cơ hội nghề nghiệp cho Odoo developer tại Việt Nam có tiềm năng rất lớn, hay bắt đầu ngay tại thời điểm này trước khi nó trở nên dần bão hòa trong tương lai!

Chính vì vậy mình bắt đầu series tutorial Odoo này để hướng dẫn các bạn nhập môn Odoo bằng cách tự học. Dĩ nhiên, việc trải nghiệm bằng dự án thật sẽ rất đáng giá nếu ta có cơ hội.

ps. Nếu bạn nào đã có kinh nghiệm về Odoo cần tìm môi trường làm việc mới (cũng về Odoo :D) thì có thể inbox riêng cho Minh tại đây. Mình sẽ giới thiệu bạn đến các công ty cần tuyển dụng có môi trường làm việc khá tốt.


Cài đặt Odoo:

Danh sách bài viết series Odoo:

Tham gia ngay group trên Facebook để cùng thảo luận với đồng bọn nhé: