Nội dung đề tài được thực hiện nhằm tìm hiểu mô hình workflow, hệ thống thông tin hoạch định nguồn lực doanh nghiệp OpenERP và cài đặt thử nghiệm workflow cho ứng dụng trong hệ thống OpenERP. nội dung chính • Tìm hiểu workflow và các mô hình chuẩn trong workflow. • Nghiên cứu, tìm hiểu kiến trúc hệ thống OpenERP. • Xây dựng, cài đặt workflow cho bài toán note trong hệ thống OpenERP 7.0.
Trang 1LỜI CẢM ƠN
Trong quá trình thực hiện đồ án, em đã nhận được sự quan tâm, huớng dẫn,giúp đỡ và động viên tận tình từ nhiều phía: Quý thầy cô khoa Công Nghệ ThôngTin trường Đại Học Công Nghệ Thông Tin và Truyền Thông, cán bộ Sở Thông Tin
và Truyền Thông Thái Nguyên, gia đình và bạn bè
Em xin cảm ơn trường Đại học Công Nghệ Thông Tin và Truyền Thông, đãtạo mọi điều kiện thuận lợi cho phép em hoàn thành đồ án này
Đặc biệt, em xin bày tỏ lời cảm ơn tới Th.s Lê Hữu Nhân, đã tận tình hướngdẫn, tạo mọi điều kiện thuận lợi nhất, để em được học tập, tìm hiểu, củng cố kiếnthức và thực hiện đề tài
Dù đã cố gắng hoàn thiện một cách tốt nhất có thể Nhưng với phạm vi khảnăng nhất định của bản thân, chắc chắn sẽ không tránh khỏi những thiếu sót Chính
vì vậy, những sự góp ý, tận tình chỉ bảo của thầy, cô và các bạn, sẽ là điều vô cùngquý báu cho việc đúc rút kinh nghiệm và hoàn thiện hơn
Em xin chân thành cảm ơn!
Trang 2
LỜI CAM ĐOAN
Em xin cam đoan, toàn bộ kết quả trong đồ án “TÌM HIỂU MÔ HÌNH WORKFLOW ỨNG DỤNG CHO CÁC BÀI TOÁN QUẢN LÝ DOANH NGHIỆP” được hình thành, phát triển, đúc kết qua sự nghiên cứu của em, dưới sự
hướng dẫn, chỉ bảo của Th.S Lê Hữu Nhân, không sao chép của ai Nội dung trong
đồ án có tham khảo, sử dụng tài liệu, thông tin từ một số nguồn khác được trích dẫntrong phần tài liệu tham khảo và một số website Nếu có gì không trung thực em xinhoàn toàn chịu trách nhiệm
Thái Nguyên, ngày … tháng … năm 2015
SINH VIÊN
Nguyễn Tất Duy
Trang 3MỤC LỤC
Trang 4DANH MỤC THUẬT NGỮ VÀ TỪ VIẾT TẮT
CEO Chief Executive Officer Tổng giám đốc điều hành tổ chứcCRM Customer Relationship
Bộ tiêu chuẩn quốc tế cho kế toán
IBM International Business
Tiêu chuẩn báo cáo tài chính quốc tế
Mac OS Macintosh Operating System Hệ điều hành của Apple dành cho
máy MacintoshMRP Manufacturing Resources
Planning
Hoạch định nguồn lực sản xuất
MVC Model View Controller Mô hình Model-View-Controller
Digital Subscriber Line
Công nghệ đường dây thuê bao sốđối xứng
TDM Time - Division Multiplexing Ghép kênh phân chia thời gian
VDC Vietnam Datacommunication
Company
Công ty Điện Toán và Truyền SốLiệu tại Việt Nam
XML Extensible Markup Language Ngôn ngữ định dạng mở rộng
Trang 5DANH MỤC BẢNG BIỂU
Trang 6DANH MỤC HÌNH VẼ
MỞ ĐẦU
Trong những năm đầu của thế kỉ XXI, với sự phát triển, hỗ trợ mạnh mẽcủa công nghệ thông tin, kĩ thuật điều khiển luồng công việc (workflow) đã đượcứng dụng vào các hệ thống thông tin trong nhiều lĩnh vực, phổ biến nhất là hệ thốngquản lý doanh nghiệp, giúp cho các hoạt động quy trình nghiệp vụ được rõ ràng,chính xác và tối ưu Một trong số ứng dụng mà các nhà quản lý quan tâm đó là hệthống hoạch định nguồn lực doanh nghiệp ERP, giúp quản lý tất cả các nguồn lực(nhân lực, tài chính, phương tiện, tư liệu sản xuất…), phân tích thực trạng sử dụngnguồn lực và đưa ra định hướng phát triển tầm nhìn tổng thể cho doanh nghiệp
Thông qua đồ án “TÌM HIỂU MÔ HÌNH WORKFLOW ỨNG DỤNG CHO CÁC BÀI TOÁN QUẢN LÝ DOANH NGHIỆP”, em muốn hiểu hệ thống
hoạch định nguồn lực doanh nghiệp ERP, dựa trên việc tiếp cận phần mềm hệ thốngthông tin mã nguồn mở OpenERP và các xử lý luồng công việc
Tính cấp thiết lựa chọn đề tài
Trong thời đại công nghiệp hóa hiện đại hóa đất nước, các doanh nghiệpđược thành lập ngày càng nhiều, đặc biệt là các tổ chức vừa và nhỏ, sự lớn mạnh này
đã đóng vai trò quan trọng trong tạo việc làm, tăng thu nhập cho người lao động,huy động đầu tư phát triển ở địa phương, hỗ trợ tích cực cho sự lớn mạnh của nềnkinh tế, hướng tới sự phát triển chung cho toàn đất nước trong thời đại mới
Tuy nhiên, tình hình kinh tế khá bất ổn, công tác quản lý hoạt động doanhnghiệp còn nhiều bất cập, nên nhiều doanh nghiệp phải ngừng hoạt động, giải thể,hoặc chuyển đổi hướng phát triển Ðiều này, khiến cho doanh nghiệp cần phải cónhững giải pháp đồng bộ nâng cao năng lực cạnh tranh, duy trì ổn định, phát triển
Trang 7bền vững và một trong số đó phải kể đến hệ thống hoạch định nguồn lực doanhnghiệp mã nguồn mở OpenERP, hướng tới sự tự động hóa quy trình quản lý hoạtđộng của doanh nghiệp, hỗ trợ một cách tối ưu, đảm bảo tính chính xác và khoa học.
Mục đích nghiên cứu
Đề tài được thực hiện nhằm tìm hiểu mô hình workflow, hệ thống thông tin hoạch định nguồn lực doanh nghiệp OpenERP và cài đặt thử nghiệm workflow cho ứng dụng trong hệ thống OpenERP
Nội dung, phạm vi tìm hiểu chính
• Tìm hiểu workflow và các mô hình chuẩn trong workflow
• Nghiên cứu, tìm hiểu kiến trúc hệ thống OpenERP
• Xây dựng, cài đặt workflow cho bài toán note trong hệ thống OpenERP 7.0
Phương pháp nghiên cứu
Qua các tài liệu, lý thuyết CSDL, hệ thống thông tin, công nghệ phần mềm
đã được giảng dạy
Thông qua giáo viên hướng dẫn, quý thầy cô trong trường, trao đổi vớicộng đồng mạng internet và học hỏi những người có kinh nghiệm
Cấu trúc nội dung đề tài
Đề tài bao gồm 3 chương:
Chương 1: Cơ sở lý thuyết về workflow và ứng dụng
Chương 2: Phân tích workflow trong hệ thống OpenERP với ngôn ngữPython
Chương 3: Xây dựng workflow cho ứng dụng trong hệ thống OpenERP
Trang 8CHƯƠNG 1: CƠ SỞ LÝ THUYẾT VỀ WORKFLOW VÀ ỨNG DỤNG
Nội dung chính của chương này, với mục đích tóm lược cơ sở lý thuyếtchung về workflow như các khái niệm, cơ sở logic toán học, lịch sử, ưu điểm, cáclĩnh vực, ứng dụng sử dụng kĩ thuật workflow Bên cạnh đó là kiến thức tổng quan
về hệ thống thông tin hoạch định tài nguyên doanh nghiệp ERP nói chung và hướngtới sự làm rõ cấu trúc hệ thống thông qua việc tiếp cận phần mềm hệ thống mãnguồn mở OpenERP, qua đó có cái nhìn toàn diện, thuận tiện nhất về hệ thống ERP,
mà chi phí cho quá trình sử dụng là hoàn toàn miễn phí, ngoại trừ các dịch vụ đikèm theo cho hoạt động của hệ thống được đầy đủ và tốt hơn
có để thực hiện công việc nhằm đạt được mục đích nhất định, các bước trong từng
kế hoạch có mối quan hệ với nhau và tạo thành luồng công việc
Trang 9Hình 1.1: Workflow trong lĩnh vực toán học
Đặc biệt, workflow đã được ứng dụng ngày một rộng rãi trong hầu hết cáclĩnh vực của công nghệ thông tin, kèm theo đó là nhu cầu mỗi lúc một cấp thiết hơnđối với các ứng dụng quản lý đa năng, linh động và thật sự mạnh mẽ Đó là các yêucầu về các mức độ quản lý từ tổng quát đến chi tiết, về phương thức quản lý trựctiếp đến quản lý từ xa, về khả năng đưa ra các thông tin quan trọng hỗ trợ tối đa quátrình dự báo, cảnh báo cũng như giải quyết các rủi ro… và một ứng dụng quản lýcấp cao cần phải thật sự linh động đối với sự thay đổi trong quy trình nghiệp vụ
1.1.1 Khái niệm workflow
Luồng công việc (workflow) là một dãy các công việc có quan hệ với nhau,chúng có thể được lặp lại, được tổ chức một cách có hệ thống, định nghĩa sẵn vaitrò, các luồng thông tin ở trong một tiến trình công việc Các luồng công việc đượcthiết kế để xử lý các công việc theo đúng các trình tự, các luật…, như các quá trìnhtuyển dụng, xử lý đơn đặt hàng, rà soát bài báo, đăng ký thành viên
Trang 10Hình 1.2: Workflow cho quá trình phát triển phiên bản
Khái niệm workflow hình thành, được xuất phát từ những công việc đòi hỏitính tự động trong những hoạt động văn phòng của doanh nghiệp, trong đó mọi tàiliệu cần phải được số hóa và được lưu chuyển giữa các nhóm làm việc Các côngviệc quản lý workflow được quan tâm vì dựa vào khả năng linh hoạt trong việc môhình hóa các hoạt động, thực thi và quản lý các tiến trình nghiệp vụ
Qua đó, workflow được sử dụng để đảm bảo các hoạt động quản lý được rõràng, là một cơ chế mạnh mẽ, nhằm mô tả sự tiến hóa của các mô hình, tài liệu trongthời gian thực, là một quá trình định nghĩa và kiểm soát sự hoàn thành
Như vậy, workflow là quá trình tự động hóa một phần hoặc toàn bộ mộttiến trình trong các hoạt động của tổ chức, doanh nghiệp [3]
Trang 11Hình 1.3: Workflow mở hóa đơn trong hệ thống OpenERP
Trang 121.1.2 Logic toán học trong workflow
Workflow áp dụng nền tảng toán học vào quá trình xử lý, dựa trên các ràngbuộc, lý thuyết đồ thị và logic mệnh đề, sự có mặt của logic giúp các hoạt động xử
lý được chặt chẽ tuân theo khuôn khổ nhất định [6], logic là công thức chính để xác
định các quy trình công việc, qua đó có thể mô tả kiến trúc của luồng công việc,phương pháp tiếp cận xử lý workflow trong việc sử dụng logic mệnh đề, thông quacác giá trị Boolean được xác định cho mỗi sự chuyển tiếp, cho phép xác định luồnghoạt động của ứng dụng và từ đó xác định theo điều kiện nào một luồng công việc sẽđược hoàn thành
Các loại Logic mệnh đề toán học được sử dụng trong workflow: AND, OR,XOR, trong trường hợp, nếu nhiệm vụ chỉ có một quá trình chuyển đổi đến hoặc đithì khi ấy điều kiện sẽ không có toán tử logic, đối với bất kỳ workflow, tất cả cáctrường hợp workflow trong xử lý công việc được xác định rõ ràng dựa trên các phéptoán logic, nhờ đó mà quy trình làm việc của workflow hoạt động chính xác và đảmbảo đúng với những mô tả mà người phát triển xây dựng áp dụng workflow phục vụcho các quy trình nghiệp vụ cần xử lý rõ ràng trong tổ chức
Trang 13Hình 1.4: Logic toán học trong điều khiển luồng công việc
1.1.3 Workflow biểu diễn qua logic Concurrent Transaction (CTR)
Logic chuyển tiếp đồng thời (CTR), cung cấp một cơ chế thống nhất cho
mô hình hóa quy trình công việc phức tạp, biến đổi chúng thành những quy trìnhhiệu quả hơn sử dụng hợp lý và tương đồng với lý luận về tính chất công việc Các
mô hình lý thuyết của CTR cung cấp ngữ nghĩa chính xác cho cả công việc, phục vụnhư là thước đo đúng đắn cho sự chuyển đổi và xác minh các thuật toán Các lýthuyết chứng minh của logic có thể phục vụ như là một lịch trình, mà cũng có thểthực hiện thông số kỹ thuật quy trình làm việc [6]
Mô hình hóa quy trình công việc qua CTR
CTR có thể mô hình quy trình công việc ở nhiều cấp độ, mục tiêu CTR làchuyển mô hình đồ thị luồng điều khiển phức tạp qua biểu diễn logic và các quy tắc
có thể được sử dụng để mô tả các subworkflows
Hằng số mệnh đề có thể được sử dụng để đại diện cho từng nhiệm vụ, kýpháp ⊗ đại diện cho luồng chuyển tiếp tuần tự các nhiệm vụ và ký pháp | được sửdụng để kết hợp các nhiệm vụ diễn ra song song Ngoài ra, ký pháp ∨, đại diện cho
sự lựa chọn không xác định và chuyển đổi giữa các tác vụ điều kiện có thể được môhình hóa như các truy vấn [6]
Ví dụ, trong đồ thị luồng điều khiển hình 1.4, trong đó bao gồm cả tuần tự
và thực hiện đồng thời của các nhiệm vụ cũng như các điều kiện chuyển tiếp, đượcbiểu diễn qua CTR:
a ⊗ ((cond1 ⊗ b ((d ⊗ cond3 ⊗ h) ∨ e) ⊗ j) | (Cond2 ⊗ c ((f ⊗ i cond4) ∨(g ⊗ cond5)))) ⊗ k
Trang 14Mục đích này đại diện cho một biểu đồ kiểm soát công việc khiển với điềukiện chuyển tiếp trên vòng cung, CTR có thể được sử dụng để kiểm tra thông số kỹthuật, xác định quy trình công việc và làm lý luận để lập lịch trình [6].
Trang 151.1.4 Lịch sử workflow
Lịch sử của workflow, được bắt nguồn từ Frederick Taylor and HenryGantt, thuật ngữ workflow được sử dụng sớm nhất, vào năm 1921 trên một tạp chí
kỹ thuật đường sắt [9] Hai ông đã đưa ra nghiên cứu của các tổ chức quốc tế trong
xử lý công việc và tập trung chủ yếu ở trong quá trình sản xuất
Khi máy đánh chữ và máy photocopy ra đời, đã giúp lan truyền khái niệm
kĩ thuật luồng công việc tới hầu hết các công xưởng sản xuất, văn phòng làm việc,
hệ thống đăng ký, quản lý thông tin Hai trong những sự kiện mà đóng góp mộtđộng lực to lớn giúp cho sự phát triển chính thức của luồng công việc là: Các lĩnhvực lý thuyết tối ưu hóa quá trình hình thành và phát triển của các kỹ thuật tối ưutoán học, thứ hai, là sự kiện chiến tranh thế giới thứ hai và các chương trình Apollothì chưa từng có trong yêu cầu của họ đối với việc tổ chức công việc một cách hợplý
Năm 1980, toàn cầu đều tập trung đề cao vào quản lý chất lượng, quy trìnhsản xuất, điều đó đã dẫn tới một loạt các quy trình kỹ thuật quản lý kinh doanh rađời Dưới tác động của kiểm soát chất lượng, thì workflow đã chính thức được ápdụng trong lĩnh vực nền kinh tế tri thức, trở thành kỹ thuật chuẩn cho việc giám sát
và tối ưu hóa hơn nữa trong quy trình nghiệp vụ của từng lĩnh vực hoạt động
1.1.5 Mục tiêu của workflow
Mô tả sự phát triển của quy trình xử lý đối tượng
Tự động chuyển các hành động nếu một vài điều kiện được thỏa mãn
Quản lý các nghiệp vụ của công ty, theo các bước của quy trình xử lý đặt ra.Quản lý tương tác giữa các đối tượng khác nhau hoặc các module
Trang 16Cung cấp giao diện đồ họa, cho việc mô hình hóa các nội dung xử lý đốitượng trong mô hình worklow.
1.1.6 Lợi ích khi áp dụng workflow
Workflow của đối tượng được hoàn toàn tùy biến cho phù hợp với quy trình
xử lý, chúng thích nghi với bất kỳ dòng và hệ thống thương mại nào của một công ty[3] Hệ thống quy trình làm việc linh hoạt và cho phép dễ dàng hỗ trợ nhu cầu thayđổi không cần phải lập trình các chức năng mới Một số lợi ích có thể thấy được khi
áp dụng workflow trong quản lý kinh doanh của tổ chức:
• Tiến trình kinh doanh được mô hình hóa một cách rõ ràng, trách nhiệm của nhữngmối quan hệ cộng tác trong các nghiệp vụ được định rõ
• Dễ dàng thực hiện điều chỉnh, tối ưu hóa công việc, phù hợp với hoạt động thực tếcủa tổ chức
• Đảm bảo cho việc quản lý, theo dõi hoạt động của hệ thống hàng ngày
• Workflow phân rõ những quan hệ, trách nhiệm cho từng công việc
• Workflow có thể được tích hợp với những ứng dụng hay những hệ thống khác chohoạt động của hệ thống
1.1.7 Sự thực thi các luồng công việc
Ứng với một quá trình thực thi workflow là một thể hiện của workflow đó.Một workflow có thể có nhiều thể hiện khác nhau do quá trình thực thi khác nhau.Mỗi workflow khi thực thi sẽ phải tuân thủ các quy tắc nhất định Đó là các quytrình nghiệp vụ trong thực tế của tổ chức, doanh nghiệp tạo ra và việc thực thiworkflow đó như các ràng buộc về sự tương tác với người thực hiện công việc, vềthời gian thực thi, các điều kiện cho phép xảy ra sự kiện chuyển đổi trạng thái…
Ngoài ra, từng công việc thành phần bên trong một workflow cũng có cácràng buộc riêng trong quá trình thực thi Ví dụ, công việc “nhận đăng ký thi” có thể
có một số ràng buộc như: bắt đầu từ ngày t1 và kết thúc vào ngày t2, chỉ cho phép
Trang 17đăng ký khi các giấy tờ đều hợp lệ, thí sinh đăng ký phải tốt nghiệp trung học phổthông trước đó…
1.2 Mô hình luồng công việc (workflow modeling)
Mô hình luồng công việc là một dạng biểu diễn luồng công việc thành sơ
đồ, việc biểu diễn workflow thành mô hình luồng công việc gọi là mô hình hóaluồng công việc Một công việc thực tế sẽ mô hình hóa thành một thành phần xử lýcủa workflow và quy tắc thực hiện công việc trong thực tế sẽ được mô hình hóathành các quan hệ logic giữa các thành phần xử lý đó
1.2.1 Các loại mô hình workflow điển hình
Hiện tại các mô hình xử lý workflow được sử dụng trong nhiều ứng dụng,trong đó mô hình workflow tuần tự (sequential workflow) và mô hình workflowmáy trạng thái (state machine workflow) là hai loại mô hình phổ biến được sử dụngtrong các ứng dụng hiện nay như trong hệ thống OpenERP, Share Point…
Mô hình tuần tự
Mô hình thể hiện workflow theo các công việc được thực hiện một cách cóthứ tự cho đến khi công việc cuối cùng được hoàn thành, mỗi công việc được địnhnghĩa rõ ràng điểm đến và điểm đi Một công việc chỉ được thực hiện khi các côngviệc phía trước đã được hoàn thành, với đặc điểm là có duy nhất một điểm bắt đầu
và một điểm kết thúc trong toàn bộ quá trình hoạt động, mô hình này phù hợp chocác bài toán có các công việc trong quy trình đã được xác định rõ ràng
Trang 18Hình 1.5: Các mô hình workflow tuần tự
Mô hình máy trạng thái
Trong mô hình này, hệ thống sẽ được mô hình hóa thành một tập các trạngthái, sự chuyển giao và các hành động, không giới hạn số lượng các bước cần thựchiện, tại mỗi trạng thái có thể có một tập các sự kiện được phép xảy ra Với một sựkiện xảy ra sẽ dẫn tới việc chuyển đổi từ trạng thái này sang trạng thái khác Trong
mô hình tồn tại nhiều trạng thái kết thúc, một luồng công việc có thể kết thúc bất cứkhi nào xảy ra sự kiện dẫn đến trạng thái này, làm cho các hoạt động được linh hoạt,đáp ứng các trường hợp xử lý điển hình của tổ chức và phù hợp với các bài toánphức tạp khi việc chuyển đổi trạng thái được kiểm soát bởi các sự kiện bên ngoài
Hình 1.6: Mô hình workflow máy trạng thái
Trang 19Ngoài ra còn có một loại mô hình workflow khác ít phổ biến hơn đó là môhình workflow dựa trên tập luật (rules-based workflow) Đây là một sự kết hợp giữa
mô hình workflow tuần tự và một tập các luật, các quy tắc chuyên dùng để môphỏng các workflow trong các quy trình nghiệp vụ phức tạp
Một mô hình luồng công việc có một trạng thái bắt đầu và một trạng tháikết thúc nhất định Trạng thái bắt đầu là điểm khởi đầu mặc định của một quá trìnhthực thi quy trình Còn trạng thái kết thúc thì tùy vào loại mô hình luồng công việc
mà có những điều kiện khác nhau để đạt được đến các trạng thái này
Quản lý tài liệu: Gắn liền với các công tác quản lý lưu trữ kho tài liệu phântán trong một tổ chức như một tài nguyên dùng chung và các tiện ích đề phát tán tàiliệu tới từng cá nhân ứng với vai trò tương ứng trong hệ thống, phục vụ cho việctruy cập và các thao tác với tài liệu, do vậy cần có nghiệp vụ xử lý đáp ứng nhu cầutruy cập tài liệu trong hệ thống
Phần mềm hỗ trợ dự án: Phần mềm giám sát sự phát triển dự án thường cókèm theo dạng chức năng của workflow để thực hiện việc trao đổi giữa các cá nhân
và xử lý thông tin của các thành viên, hỗ trợ cho các nhiệm vụ trong dự án
Trang 20Trong các ứng dụng hướng giao dịch: Có nhiều vấn đề phát sinh trong quátrình giao dịch, do vậy cần có sự giám sát, điều khiển, hỗ trợ việc xử lý các giaodịch, đảm bảo cho hệ thống vận hành theo quy trình nghiệp vụ tương ứng
Ví dụ, IBM Lotus Notes thường được nhắc đến như là một hệ thống quản lýcông việc, hợp tác làm việc nhóm, các ứng dụng trong thương mại, chẳng hạn nhưMessage Queue Series Workflow của IBM, Oracle Workflow và iFlow Fujitsu cungcấp hỗ trợ cho mô hình quy trình kinh doanh thông qua các biểu đồ điều khiển luồngcho các quá trình với cấu trúc tĩnh hoặc thông qua hành động điều kiện sự kiện gây
ra cho quá trình phát triển và quy trình có cấu trúc
Trang 211.2.3 Tầm quan trọng của workflow trong ứng dụng thực tế
Khi chưa có mặt của luồng công việc trong các ứng dụng, thì người dùngchỉ được hỗ trợ thực hiện các công việc một cách riêng rẽ, tách biệt nhau, thiếunhững ràng buộc quan hệ tương tác lẫn nhau Trong khi đó, những ứng dụng trongdoanh nghiệp cần có sự linh động, tương tác qua các mối quan hệ với nhau, chính vìvậy cần phải có workflow trong những ứng dụng khi áp dụng vào thực tế
Workflow hỗ trợ người dùng thực hiện công việc theo một quy luật cụ thể,giữa các công việc tồn tại những mối quan hệ nhất định: Công việc này phải đượcthực hiện trước công việc kia, để thực hiện được một công việc này thì cần hoànthành những công việc cụ thể…, sau khi hoàn tất xử lý, sẽ cho kết quả cụ thể nhấtđịnh như hoàn thành đăng kí khóa học, thực hiện xác nhận và thanh toán hóa đơn…
Như vậy, workflow giúp việc thực thi quy trình làm việc được đảm bảotheo đúng thứ tự, quy tắc thực hiện, qua đó, phần nào giảm thiểu những rủi ro xảy ratrong quá trình thực hiện các công việc mà không có mặt của workflow Thông quaworkflow, giúp cho người quản lý của doanh nghiệp có cái nhìn tổng thể, nắm bắtđược các quy trình xử lý trong hoạt động của tổ chức, để từ đó có thể đưa ra nhữngchỉnh sửa, xử lý thích hợp, nhằm đảm bảo tính thống nhất, phù hợp với hoạt độngđặc trưng của doanh nghiệp
Có thể thấy, workflow là kĩ thuật cần thiết, quan trọng khi tham gia vào cácquy trình hoạt động của doanh nghiệp, phát huy tính rõ ràng và linh hoạt cho các xử
lý trong các nghiệp vụ của tổ chức, chính vì vậy, hiện nay trên thế giới có nhiều ứngdụng hỗ trợ thực thi sử dụng workflow, đặc biệt là trong các giải pháp hoạch địnhnguồn lực doanh nghiệp ERP, một trong các giải pháp như hệ thống OpenERP đã có
sự tham gia của workflow và trở thành vai trò quan trọng trong toàn bộ hoạt động
Trang 22của ứng dụng một cách logic có hệ thống, góp phần đảm bảo hệ thống vận hành ổnđịnh và tối ưu.
1.3 Tìm hiểu về ERP (Enterprise Resource Planning)
ERP là một giải pháp phần mềm ra đời đã khá lâu, nhằm hỗ trợ cho hoạtđộng của tổ chức, doanh nghiệp và thực hiện các quy trình xử lý một cách tự độnghoá và hiệu quả thông qua tích hợp tất cả phòng ban, mọi chức năng lại trong một hệthống máy tính duy nhất để dễ theo dõi hơn, đồng thời đáp ứng nhiều nhu cầu khácnhau Hệ thống được xây dựng, nhằm đảm bảo quản lý tốt các nguồn lực của doanhnghiệp như nhân lực, vật tư, máy móc và tiền bạc có sẵn với số lượng đủ khi cần,bằng cách sử dụng các công cụ hoạch định và lên kế hoạch Đặc điểm nổi bật củaERP là một hệ thống phần mềm linh hoạt, có thể mở rộng và phát triển theo thờigian áp dụng cho từng loại hình doanh nghiệp [10]
Trang 23Hình 1.7: Các nguồn lực cơ bản của doanh nghiệp trong ERP
1.3.1 Khái niệm ERP
ERP là viết tắt của từ Enterprise Resource Plainning, trong đó:
E - Enterprise (Doanh nghiệp): Là mục tiêu chính của ERP, tích hợp tất
cả chức năng của các phòng ban trong công ty vào chung một hệ thống máy tính duynhất, mà hệ thống có thể đáp ứng hoạt động của tất cả các nhu cầu quản lý khácnhau của từng phòng ban
R - Resource (Tài nguyên): Trong kinh tế, resource là nguồn lực gồm tài
chính, nhân lực, công nghệ, còn trong ERP, resource là tài nguyên Trong công nghệ
Trang 24thông tin, tài nguyên là bất kỳ phần mềm, phần cứng hay dữ liệu thuộc hệ thống mà
có thể truy cập và sử dụng được Ứng dụng ERP vào quản trị doanh nghiêp (DN)đòi hỏi DN phải biến nguồn lực (NL) thành tài nguyên như việc: Phải làm cho mọi
bộ phận của đơn vị đều có khả năng khai thác NL phục vụ cho DN Phải hoạch định
và xây dựng lịch trình khai thác NL của các bộ phận có sự phối hợp nhịp nhàng, đạthiệu quả cao nhất Phải luôn cập nhật thông tin tình trạng NL DN một cách chínhxác, kịp thời
P - Planning (Hoạch định): Là khái niệm quen thuộc trong quản trị kinh
doanh, nhằm hỗ trợ lên DN lên kế hoạch cho toàn bộ hoạt động của tổ chức
Như vậy, ERP là hệ thống tổng thể hoạch định tài nguyên doanh nghiệp,cho phép tự kiểm soát được nguồn lực của doanh nghiệp Thông qua việc thực hiệnkết hợp toàn bộ các hệ thống riêng lẻ vào một chương trình phần mềm tích hợp, sửdụng chung một cơ sở dữ liệu để các bộ phận có thể dễ dàng chia sẻ thông tin vàtương tác với nhau, từ đó, nhà quản trị có thể lên kế hoạch khai thác các nguồn tàinguyên này hợp lý nhờ vào các quy trình nghiệp vụ thiết lập trong hệ thống
Ngoài ra ERP còn cung cấp cho các doanh nghiệp một hệ thống quản lýđiều hành doanh nghiệp cho lãnh đạo cũng như tác nghiệp của các nhân viên vớiquy trình hiện đại theo tiêu chuẩn quốc tế
1.3.2 Lịch sử ERP
ERP xuất hiện lần đầu tiên vào năm 1990, khi tập đoàn Gartner dùng để mởrộng cho MRP (Manufacturing Resources Planning), cũng là một phần mềm quản lýnhưng tập trung cho việc sản xuất hàng hóa, đến khoảng giữa những năm 1990, ERP
đã được áp dụng cho hầu hết các mảng của một doanh nghiệp
Các cơ quan chính phủ và tổ chức phi chính phủ cũng bắt đầu ứng dụngERP, tới khoảng năm 2000, thuật ngữ “ERP II” xuất hiện và được dùng để chỉ
Trang 25những phần mềm ERP có khả năng dùng giao diện web để truy cập và sử dụng ERP
II cho phép quản lý nội bộ và hỗ trợ việc hợp tác giữa các công ty nhằm nâng caovai trò của thống trong toàn bộ hoạt động của doanh nghiệp
1.3.3 Mô hình triển khai ERP tổng thể
Hình 1.8: Mô hình tổng thể triển khai hệ thống ERP trong doanh nghiệp
Hình trên là mô hình triển khai tổng thể cho một hệ thống ERP, với các đặcđiểm là ứng dụng dạng Thin Client, Online và tập trung (Centralized) thì căn bản hệthống phải bao gồm các thành phần sau: Trung tâm dữ liệu, các máy chủ ứng dụng
và CSDL được đặt tại đây và là nơi lưu trữ và xử lý các giao dịch của hệ thống ERP
Hệ thống mạng trung tâm, cho phép người dùng của khu văn phòng trungtâm truy cập vào hệ thống ERP thông qua trình ứng dụng ERP Client; Hệ thống
Trang 26mạng WAN, kết nối với các văn phòng ở xa; Hệ thống dự phòng, làm nhiệm vụphòng ngừa thảm họa khi có các sự cố bất khả kháng xảy ra (có thể có hoặc không),tùy vào tình hình cụ thể của doanh nghiệp để có những lựa chọn cho phù hợp.
1.3.4 Các yêu cầu chính khi triển khai hệ thống ERP
Với một hệ thống chứa toàn bộ các dữ liệu của công ty và phục vụ một sốlượng lớn người dùng trên nhiều vị trí công tác và mục đích khác nhau, từ việc chophép các nhân viên thực hiện cập nhật các giao dịch đến việc cung cấp các thông tin
hỗ trợ ra quyết định của các cấp lãnh đạo, ngoài ra hệ thống còn phải phục vụ một sốđối tượng bên ngoài như khách hàng và các đối tác, thì khi triển khai hệ thống chohoạt động của doanh nghiệp cần phải thoả mãn những yêu cầu sau:
• Hệ thống phải cung cấp một môi trường làm việc liên tục và có tính sẵn sàng đápứng mọi yêu cầu đặt ra
• Đảm bảo được tính an toàn của dữ liệu
• Xử lý và trả lại kết quả cho người dùng trong một khoảng thời gian chấp nhận được(không cản trở công việc, lãng phí thời gian của người sử dụng)
• Dễ dàng trong việc vận hành và bảo trì hệ thống
• Có khả năng nâng cấp và mở rộng và khôi phục được khi có các tình huống bất khảkháng xảy ra
1.3.5 Các phân hệ chính trong ERP
ERP kết nối các ứng dụng của doanh nghiệp thành một phần mềm quản trị
và chỉ sử dụng một cơ sở dữ liệu duy nhất để tất cả mọi người, mọi phòng ban đều
có thể truy cập vào và chia sẻ dữ liệu cho nhau Các phân hệ chính trong ERP:
Trang 27Hình 1.9: Các phân hệ chính trong ERP
1.3.6 Vai trò của ERP trong hoạt động doanh nghiệp
Kiểm soát Thông tin khách hàng: Vì dữ liệu nằm ở một nơi nên mọi nhân
viên trong công ty đều có thể truy cập và xem thông tin khách hàng, người đượcphân quyền thì có thể đổi cả thông tin mà không lo sợ hồ sơ khách hàng không đượccập nhật xuyên suốt các bộ phận khác nhau Ngay cả CEO (Chief Executive Officer)của công ty cũng có thể dễ dàng xem ai mua cái gì, ở đâu và bao nhiêu tiền
Tăng tốc quá trình sản xuất, cung cấp hàng hóa, dịch vụ: ERP có thể
phục vụ như một công cụ giúp tự động hóa một phần hoặc tất cả quy trình sản xuất,
từ việc chuẩn bị nguyên vật liệu cho đến ra sản phẩm, quản lý đầu vào, đầu ra, đónggói sản phẩm Vì chỉ sử dụng một hệ thống máy tính duy nhất nên công ty có thểtiết kiệm thời gian, giảm chi phí, tăng năng suất và giảm lượng nhân sự cần thiết
Kiểm tra chất lượng, quản lý dự án: ERP giúp doanh nghiệp kiểm tra và
theo dõi tính đồng nhất trong chất lượng sản phẩm, đồng thời lên kế hoạch và phân
Trang 28bổ nhân lực một cách hợp lý tùy nhu cầu dự án Có thể tự động kiểm tra trong cơ sở
dữ liệu xem nhân viên nào có thế mạnh nào rồi tự gán họ vào từng tác vụ của dự án,người quản lý không phải mất nhiều thời gian cho công đoạn này [10]
Kiểm soát thông tin tài chính: ERP thì tổng hợp hết mọi thứ liên quan đến
tài chính lại một nơi và số liệu chỉ có một phiên bản, hạn chế tiêu cực cũng nhưnhững đánh giá sai lầm của người quản lý về hiệu năng của doanh nghiệp ERP cũng
có thể giúp tạo ra các bản báo cáo tài chính theo những chuẩn quốc tế như IFRS(International Financial Reporting Standards), GAAP (Generally acceptedaccounting principles) và cả theo tiêu kế toán Việt Nam (công ty TRG International
ở Việt Nam cũng đang chỉnh sửa bộ phần mềm Infor ERP LN theo chuẩn Việt Nam)
Kiểm soát lượng tồn kho: ERP giúp kiểm soát xem trong kho còn bao
nhiêu hàng, hàng nằm ở đâu, nguyên vật liệu còn nhiều ít ra sao Việc này giúp cáccông ty giảm vật liệu mà họ chứa trong kho, chỉ khi nào cần thiết thì mới nhập thêm,nhằm sẽ giúp giảm chi phí, giảm số người cần thiết, tăng nhanh tốc độ làm việc
Chuẩn hóa hoạt động về nhân sự: Nhờ ERP mà bộ phận nhân sự có thể
theo dõi sát sao giờ làm việc, giờ ra về, khối lượng công việc từng nhân viên đã làm
là bao nhiêu (để tính lương bổng và các phúc lợi), ngay cả khi những người nhânviên đó làm việc trong nhiều bộ phận khác nhau, ở nhiều khu vực địa lý khác nhau
Giao tiếp, xã hội hóa việc liên lạc trong công ty: Môi trường doanh
nghiệp thì cần có mạng xã hội, rất hữu ích trong việc liên lạc giữa nhân viên cácphòng ban với nhau, như nền tảng tên là Ming.le cho phép mọi người trong một hệthống ERP chat với nhau, các tác vụ rộng rãi của mạng xã hội khác
1.3.7 Ưu điểm và nhược điểm của ERP
Ưu điểm
Trang 29Tích hợp toàn bộ ứng dụng quản lý sản xuất kinh doanh vào một hệ thốngduy nhất, có thể tự động hoá các quy trình quản lý.
Việc triển khai thành công ERP, sẽ tăng khả năng cạnh tranh, đem lại chodoanh nghiệp lợi ích lâu dài
Nhược điểm
Chi phí đầu tư ban đầu cho một gói phần mềm rất cao (theo các nghiên cứucủa Meta Group đối với 63 công ty thì chi phí trung bình cho một dự án ERP baogồm phần mềm, chi phí nhân công, tư vấn và phần cứng là 15 triệu đô la mỹ) [13]
Muốn triển khai ERP, doanh nghiệp cần có đủ cán bộ có năng lực, dámchấp nhận và biết cách thay đổi thích ứng với tình hình mới
1.3.8 Thực trạng triển khai ERP
Việc thay đổi thường là điều trở ngại ban đầu đối với con người, trong khiERP lại yêu cầu có những thay đổi trong cách làm việc, minh bạch hóa mọi thứ, tất
cả đều được hệ thống quản lý nên việc tham nhũng rất khó xảy ra và chính điều nàykhiến một số cá nhân trong công ty từ chối sử dụng phần mềm mới ERP cũng cóhạn chế với dự án tích hợp, chưa thể đáp ứng được hết phần mềm kế toán, khi đó,vấn đề lớn nhất là làm sao để cho ERP tích hợp tốt với các giải pháp bên ngoài, từviệc trao đổi dữ liệu cho đến quy trình làm việc, điều này là một thử thách lớn
Đồng thời, với thực trạng của doanh nghiệp Việt Nam hiện nay, thì vấn đềchi phí là điều cần phải tính toán và đưa ra các quyết sách tối ưu có lợi nhất cho tổchức, một trong số đó là giải pháp mã nguồn mở, hoạch định nguồn lực doanhnghiệp mã nguồn mở OpenERP, thừa hưởng những mặt mạnh của ERP, rất hợp lý
cả về mặt công nghệ và chi phí phục vụ cho hoạt động của tổ chức
Trang 301.4 Tổng quan về OpenERP
OpenERP (trước đây là Tiny ERP) là một phần mềm ERP mã nguồn mở,được xây dựng với mục tiêu đáp ứng nhanh các nhu cầu khác nhau của từng doanhnghiệp Từ sau phiên bản 7, OpenERP có tên gọi mới là Odoo với Phiên bản mớinhất tính đến tháng 1 năm 2015 là Odoo 8.0
Hình 1.10: Các phiên bản của hệ thống OpenERP
1.4.1 Điểm mạnh của OpenERP
Môi trường cài đặt đã nền tảng, tương thích trên nhiều hệ điều hành nhưWindows, Linux, Unix, Mac OS X… Hiện tại, OpenERP hỗ trợ hơn 20 ngôn ngữ,với ngôn ngữ tiếng việt vẫn chưa được việt hóa hoàn toàn
Cũng giống với ERP, hệ thống mã nguồn mở OpenERP mang tính toàndiện, bao gồm và tích hợp hầu hết các yêu cầu cũng như quy trình ứng dụng trongdoanh nghiệp: Kế toán, nhân sự, bán hàng, CRM, mua hàng, chứng khoán, sản xuất,quản lý dịch vụ, dự án, chiến lược marketing…, hiện tại hệ thống cung cấp hơn 500module phổ biến phục vụ cho các hoạt động của doanh nghiệp và đồng thời tích hợpcác module nhỏ, được xây dựng bởi cộng đồng nguồn mở trên toàn thế giới, nhăm
Trang 31đưa ra những cải thiện, các xử lý đặc trưng, đáp ứng từng nhu cầu cụ thể, trong tổchức.
Hình 1.11: Mô hình tích hợp các phân hệ cơ bản trong hệ thống OpenERP
Với khả năng linh hoạt cao, phát triển trên nền tảng mã nguồn mở, phầnmềm này hoạt động như một bộ khung chuẩn giúp ta thay đổi theo nhu cầu, cungcấp khả năng thêm mới, sửa hoặc xóa, Open ERP quản lý các module một cách linhhoạt giúp người sử dụng dễ dàng khi nâng cấp và cập nhật hệ thống
1.4.2 Vai trò của OpenERP trong doanh nghiệp
OpenERP là một phần mềm ERP & CRM thực thụ, vì vậy việc ứng dụngOpenERP vào hoạt động quản lý doanh nghiệp sẽ mang lại những lợi ích thiết thực
có trong hệ thống ERP & CRM và một số vai trò như:
Cung cấp tức thì các thông tin, báo cáo cần thiết
Thiết lập mối quan hệ tốt đẹp và bền vững với khách hàng
Tích hợp thông tin đặt hàng của khách hàng
Trang 32Chuẩn hóa quy trình nhân sự và hệ thống tính lương.
Tối ưu hóa lợi nhuận
1.4.3 Đánh giá các phần mềm ERP mã nguồn mở
Dưới đây là đánh giá đặc điểm của các giải pháp ERP mã nguồn mở:OpenBravo, Open ERP, Neogia, ERP5, Adempiere, Compiere…, trong hoạt độngcủa doanh nghiệp [10] Ngoài ra chúng ta có thể tham khảo qua Evaluation-matrix.com, website đánh giá chuyên sâu các giải pháp ERP phổ biến trên thế giớihiện nay
Hình 1.12: Mức hỗ trợ của một số giải pháp ERP mã nguồn mở
Trang 331.5 Kiến trúc hệ thống OpenERP
Hệ thống OpenERP thuộc kiểu kiến trúc 3 tầng (multitenant three - tiers):Tầng database để lưu trữ dữ liệu, tầng application để chứa các quy trình xử lý và cáchàm chức năng của hệ thống và tầng presentation cung cấp giao diện người dùng.Trong đó tầng application được coi là phần lõi gồm nhiều module, được cập nhật,cài đặt để đáp ứng các yêu cầu cụ thể cho tổ chức, các cấu trúc của module trongOpenERP được tuân theo mô hình kiến trúc Model – View - Controller (MVC) [5]
Hình 1.13: Kiến trúc của hệ thống OpenERP
Như vậy, hệ thống Open ERP được cấu tạo từ 3 thành phần chính:
• PostgreSQL database server, chứa toàn bộ cơ sở dữ liệu, trong đó có hầu hếtcác dữ liệu và cấu hình của hệ thống
• OpenERP application server, chứa các thuật toán và đảm bảo sự vận hành hệthống, với một lớp dành riêng để trao đổi với CSDL PostgreSQL và kỹ thuật ORM.Lớp khác, cho phép truyền thông giữa máy chủ và web client
Trang 34• Web client server, một ứng dụng riêng được gọi là Open Object client-web,cho phép kết nối đến Open ERP từ một trình duyệt web
1.5.1 Server - ORM
Các lớp Object Relational Mapping (ORM) là một trong những tính năngnổi bật của OpenERP Server, cung cấp thêm các chức năng cần thiết trên máy chủPostgreSQL Mô hình dữ liệu được mô tả trong OpenERP dùng ORM tạo các bảng
cơ sở dữ liệu Những lợi ích của RDBMS như ràng buộc duy nhất, quan hệ toàn vẹnhoặc truy vấn được sử dụng một cách hiệu quả bởi sự linh hoạt của Python
ORM (Object Relational Mapping), là kỹ thuật ánh xạ từ mô hình đối tượngvới các table trong cơ sở dữ liệu quan hệ, trong đó các đối tượng sẽ được ánh xạ với
sự ràng buộc liên quan, là một phần trung tâm của OpenERP, các mô hình dữ liệuđược mô tả và thao tác thông qua các lớp và các đối tượng trong Python Đây làcông việc ORM để thu hẹp khoảng cách như minh bạch tốt hơn cho các nhà pháttriển, giữa Python và các cơ sở dữ liệu quan hệ cơ bản (PostgreSQL)
1.5.2 Mô hình MVC trong OpenERP
Model View Controler (MVC), là mô hình được sử dụng trong công nghệphần mềm Trong các ứng dụng máy tính phức tạp chứa rất nhiều dữ liệu, thườngmuốn tách riêng biệt dữ liệu (model) và giao diện người dùng (view) [5] Theo đó,
sự thay đổi trong giao diện người dùng trước đó không ảnh hưởng đến quản lý dữliệu và dữ liệu được tổ chức lại mà không thay đổi giao diện người dùng Một thànhphần trung gian controller được quyền truy cập đầy đủ cho cả model và view, cónhiệm vụ tách việc truy cập dữ liệu và tương tác người dùng
Trang 35Hình 1.14: Mô hình Model-View-Controller
View với Model: Model gửi thông báo khi dữ liệu đã được sửa đổi cho các
view cập nhật lại nội dung Model không cần biết các hoạt động bên trong các view,nhưng view cần phải truy cập vào các bộ phận bên trong của model
View với Controler: Quyền truy cập từ view vào controler là do phụ thuộc
từ view tới controller cần phải được tối thiểu, bởi controller có thể được thay thế bất
cứ lúc nào Như vậy mô hình MVC trong hệ thống OpenERP được thể hiện:
• Model: Các bảng PostgreSQL (dữ liệu trong cơ sở dữ liệu)
• View: Các giao diện được định nghĩa ở trong tập tin XML của OpenERP
• Controller: Các đối tượng điều khiển, viết bằng Python trong OpenERP 1.5.3 Cấu trúc thư mục OpenERP
Trong OpenERP, nhằm đảm bảo tính hợp lý phục vụ cho toàn bộ quá trìnhvận hành hoạt động của hệ thống, khi đó việc sắp xếp tổ chức thư mục sẽ giúp chongười phát triển dễ tiếp cận và quản lý hệ thống được chặt chẽ và logic Ngoài cáctập tin cấu hình chung, thì tổ chức thư mục chính của hệ thống OpenERP được nằmtrong OpenERP:
Trang 36Hình 1.15: Tổ chức thư mục của OpenERP
1.5.4 Quy ước đặt tên trong OpenERP
Module: Tên module phải được viết bằng chữ thường, có dấu gạch dưới để
ngăn cách các từ, có cùng tên với thư mục đại diện chứa module đó, nếu có phụthuộc vào các module khác, thì tên được phân cách bằng dấu gạch dưới, bắt đầubằng cái tên cơ bản đặc trưng cho module đó Ví dụ như sale_commission
Các đối tượng: Tên của một đối tượng phải có dạng tên module.tên đối
tượng như: name_of_module.name1.name2.name3 Phần name của đối tượng phải
đi từ cái tên quan trọng cơ bản nhất tính theo chiều trái sang phải, tránh không sửdụng số nhiều trong tên đối tượng và các phím tắt, ví dụ về tên hợp lệ sale.order
Fields (các trường): Được đặt bằng chữ thường, cách nhau bằng dấu gạch
dưới Quy uớc phụ thuộc vào loại liên kết, với many2one, phải kết thúc bằng "_id"(partner_id), many2many, phải kết thúc bằng '_ids' (category_ids)
1.5.5 Module trong OpenERP
Cấu trúc module
Trang 37Module là một thành phần quan trọng, tạo lên sự thành công của hệ thốngOpenERP, các module được xây dựng theo từng phân hệ nghiệp vụ, tạo nên một sựthống nhất trong khâu quản lý, được đặt trong thư mục addons của hệ thống [5]
Hình 1.16: Cấu trúc của Module
Các thành phần trong module
stt Thành phần Chức năng
1 Name Tên thư mục mô đun, giúp quản lý cho toàn bộ module
2 Demo Chứa các dữ liệu demo và test
4 Report Các báo cáo có liên quan tới nghiệp vụ của module dưới
dạng ODT, PDF
5 Security Định nghĩa các nhóm người dùng, quyền truy cập
6 View Khai báo các views (form, tree view), các menu và actions
7 Wizard Định nghĩa các giải thuật cho views và objects
8 Workflow Định nghĩa workflow
9 init .py File khởi tạo package, thông báo cho Python đây là một
mô tả của thư mục, (bắt buộc phải có)
Trang 3811 Names.py Tạo object mới, chứa các lớp, các đối tượng xây dựng
trong module và chứa các định nghĩa logic ứng dụng vàcấu trúc bảng cơ sở dữ liệu cho module, ví dụ nếu ta viếtthêm module quản lý nhà sách thì file Python mới có thểđặt tên là book_manager.py (bắt buộc phải có)
12 Names.xml Định nghĩa các giao diện, Để tạo các cấu trúc view: form
view, tree view, gant view, kanban view…, các menu, giaodiện với người dùng, (thành phần bắt buộc phải có)
Bảng 1.1: Chức năng của các thành phần trong một module
Tạo mới một module
Ví dụ tạo một module ‘newmodule', làm tuần tự như sau:
• Tạo ra một thư mục con có tên là newmodule trong thư mục: /addons
• Tạo tập tin init .py
• Tạo tập tin mô hình manifield: OpenERP .py
• Tạo các file Python py chứa các đối tượng có liên quan tới module chínhcần xây dựng như: newmodule.py…
• Tạo ra các tập tin xml, để các module dữ liệu tương thích với view đã xâydựng ở trên và mục trình đơn hoặc dữ liệu demo nếu có
• Tạo các báo cáo hoặc các luồng công việc workflows liên quan
Tập tin Manifest OpenERP .py
Trang 39Hình 1.17: Các mô tả về module base trong OpenERP
1.5.6 Đối tượng (Object)
Tất cả các nguồn lực OpenERP là các đối tượng như invoices (hóa đơn), cảmetadata cũng là các đối tượng: Menu, actions, reports , tên đối tượng được phântheo cấp độ, như account.transfer, account.invoice, account.invoice.line Trong đó,
từ đầu tiên là tên của module như tài khoản (acount), bán hàng (sale) Những đốitượng được khai báo trong Python là lớp con kế thừa từ lớp mô hình osv
Các ORM của OpenERP được xây dựng trên CSDL PostgreSQL, có thểtruy vấn các đối tương bằng cách dùng OpenERP, giao diện đối tượng (ORM) hoặcbằng cách trực tiếp sử dụng câu lệnh SQL
1.5.7 Bảo mật trong OpenERP
Người dùng và vai trò của họ là những điểm quan trọng liên quan đến anninh nội bộ doanh nghiệp [5] OpenERP cung cấp một số các cơ chế bảo mật liên
Trang 40quan, được thực hiện trong OpenERP Server, chúng được thực hiện ở mức thấp nhấtcấp độ máy chủ, sử dụng công cụ ORM OpenERP phân biệt ba khái niệm sau:
• Người dùng (user): Là một người nào đó truy cập vào các ứng dụng, đượcxác định bằng cách đăng nhập bằng tài khoản cá nhân Lưu ý, tất cả các nhân viêncủa một công ty không nhất thiết đều là người sử dụng hệ thống OpenERP
• Nhóm (group): Nhóm người dùng, mà có một số quyền truy cập, được cấpphép sử dụng trên hệ thống, thực hiện quản lý phân quyền hạn cho người dùng trongnhóm đó như quản trị, giám đốc kinh doanh, kế toán
• Quy tắc bảo mật (security rule): Một quy tắc xác định quyền truy cập chomột nhóm và được gắn một nguồn lực nhất định Quy tắc bảo mật sẽ được gắn chocác nhóm, sau đó người dùng, có thể được gán cho một hoặc nhiều nhóm dựa trên
sự phân quyền của người quản trị, điều này cho phép người dùng các quyền đínhkèm theo các nhóm Do đó việc kiểm soát vai trò người dùng thông qua quản lý cácnhóm người dùng và thêm hoặc thay đổi quy định bảo mật cho các nhóm
CHƯƠNG 2: PHÂN TÍCH WORKFLOW TRONG HỆ THỐNG OPENERP
VỚI NGÔN NGỮ PYTHON
Workflow là một trong những kĩ thuật góp phần làm cho hoạt động đượcđảm bảo, rõ ràng và chính xác, do vậy hầu hết các ứng dụng hệ thống thông tin quản
lý hiện nay đều áp dụng kĩ thuật này, đặc biệt là trong các bài toán quản lý chodoanh nghiệp, đây cũng là yếu tố quan trọng góp phần làm nên sự thành công của hệthống OpenERP và nội dung chương này cho phép hiểu về được cấu trúc củaworkflow: Tổ chức các lớp, các biểu diễn workflow thông qua XML kết hợp vớingôn ngữ lập trình Python, cùng các quy tắc xác định các hoạt động, chuyển tiếp,các đối tượng giao diện trong quy trình workflow