Mua hàng:0983715689 Diễn đàn   Đặt câu hỏi
Hỗ trợ sử dụng Tư vấn mua hàng
Call 04.5148550
Call 04.5148550
Call 04.5148550
Call 04.5148550
Call 04.5148550
Phản hồi, ý kiến góp ý của bạn với 1VS Phản hồi - góp ý
Hotline:(0988-721-127)
(04) 3514-85-50
(04) 3514-85-51
(04) 3514-84-30
Ý kiến nhận xét

Chị Trần Thị Lâm - Kế toán - Công ty cổ phần Tập đoàn Thái An

"...Lúc bắt đầu sử dụng, bên mình cũng gặp nhiều khó khăn vì chưa quen với phần mềm mới. Tuy nhiên khi đã hiểu các nguyên tắc làm việc của 1C thì mình nhận thấy đây là công cụ đắc lực cho người sử dụng trong việc việc kiểm tra, kiểm soát và đưa ra báo cáo giúp đơn giản hóa công việc của mình...".

Anh Trần Quang Thiện - Chủ Nhà sách cô Hường

"... Mình đặc biệt ưa dùng tính năng tổ chức danh mục phân cấp không giới hạn của phần mềm: hàng hóa và khách hàng được ghi nhận theo từng nhóm nhỏ. Điều này không chỉ hỗ đắc lực cho thu ngân bán hàng chính xác và nhanh chóng mà còn rất tiện dụng khi thiết lập và quản lý các chương trình khuyến mại, chiết khấu cho từng nhóm khách hàng theo một hoặc nhiều nhóm sản phẩm...".

1C:Quản lý tổng thể (ARM)


Đăng ký nhận bài viết

  1. Bạn đang dùng giải pháp 1C nào?
    1. 1C:KẾ TOÁN 8
      1181 (98.83%)
    2. 1C:Bán lẻ 8
      305 (25.52%)
    3. 1C:Quản lý thương mại
      140 (11.72%)
    4. 1C:Quản lý tổng thể (ARM)
      93 (7.78%)
    5. 1C:Quản lý văn bản (ECM)
      72 (6.03%)
    6. 1C:Hóa đơn
      67 (5.61%)
    7. 1C:Hiệu thuốc
      54 (4.52%)
    8. 1C:Cửa hàng điện máy
      52 (4.35%)
    9. 1C:Nhà hàng
      47 (3.93%)

Thông tin công nghệ, giải pháp

Kiến trúc "1C:DOANH NGHIỆP" như là một sản phẩm của tư duy công nghiệp (phần I)
13/09/2010 - Số lần đọc: 7821

Nuraliev S.G

Trong bài viết của người phụ trách khối phát triển giải pháp kinh tế của hãng "1C", Sergey Nuraliev, có mô tả chi tiết các đổi mới về kiến trúc và công nghệ được thực thi trong hệ thống "1C:DOANH NGHIỆP" mà tổng thể đã tạo ra một loạt các công nghệ mới để phát triển giải pháp quản lý với chất lượng mới.

Bản dịch tiếng Việt do Công ty cổ phần Hệ thống 1-V (1VS JSC) thực hiện với sự đồng ý của hãng "1C" 
© ZAO.

Nhìn từ góc độ khác

Ngày nay cứ mỗi sản phẩm thứ hai do con người tạo ra để đáp ứng tiêu dùng đều có liên quan đến kỹ thuật công nghệ cao. Có nghĩa là sản phẩm không chỉ phải đáp ứng một số nhu cầu cụ thể của con người, mà còn phải là hiện thân của ý tưởng khoa học và kỹ thuật. Hiển nhiên, trong một số trường hợp, những ý tưởng đã được đưa vào sản phẩm và sự thành công xác định hoàn toàn bản chất và giá trị sử dụng của nó.

Trong bài này chúng tôi không tập trung vào việc mô tả các khả năng của sản phẩm «1C:DOANH NGHIỆP» mà chính là những phát triển của công nghệ mới, những yếu tố quyết định thành công cho kỹ thuật lập trình giải pháp ứng dụng và chất lượng của chính các ứng dụng mới đó.

Trước hết, chúng tôi muốn có một vài nhận xét nhỏ về sử dụng thuật ngữ. Bài viết này không chỉ dành riêng cho những người hiện đang sử dụng chương trình của hệ thống «1C:DOANH NGHIỆP». Chúng tôi nghĩ, có thể nó sẽ gây được sự chú ý của nhiều chuyên gia, những người đang quan tâm đến sự phát triển công nghệ của các ứng dụng kinh tế và quản lý mà không phụ thuộc vào việc họ đang sử dụng phần mềm quản lý nào. Cho nên, trong bài này chúng tôi sẽ hạn chế tối đa việc sử dụng các thuật ngữ có liên quan đến «1C:DOANH NGHIỆP». Trong một số trường hợp, chúng tôi sẽ sử dụng một số thuật ngữ khác nhưng gần với các khái niệm tương đương và có kèm các giải thích cần thiết.

Cần nói qua về tên gọi của sản phẩm. «1C:DOANH NGHIỆP», đây là hệ thống các chương trình bao gồm trong đó nền tảng công nghệ và bộ các giải pháp ứng dụng được xây dựng dựa trên nền tảng đó, được sử dụng cho nhiều lĩnh vực và các doanh nghiệp có quy mô khác nhau. Trong bài này chúng tôi sẽ nói chủ yếu về nền tảng công nghệ, bởi vì các giải pháp ứng dụng được xây dựng dựa trên nền tảng đó.

Chúng ta phấn đấu vì điều gì

Trước hết cần phải xác định, đâu là mục tiêu chính của nền tảng công nghệ «1C:DOANH NGHIỆP». Nếu điểm qua lịch sử phát triển máy vi tính và kỹ thuật lập trình thì có thể thấy rằng, ngoài việc nâng cao hiệu suất, tăng khối lượng thông tin cần xử lý, nâng cao tính thân thiện của giao diện…, còn có sự mong muốn chính đáng là nâng cao mức độ trừu tượng hóa các hệ thống chương trình. Ở một mức độ nào đó, khuynh hướng này là một thuộc tính độc nhất vô nhị vốn có của họ máy tính; trong khi ở các lĩnh vực hoạt động khác của con người, các mục tiêu phát triển chiến lược thường mang tính thực dụng hơn. Có thể dễ dàng quan sát thấy quá trình phát triển mức độ trừu tượng hóa một cách đơn giản như sau: bắt đầu việc lập trình ở mức độ kết nối các đầu mối, tiến đến ngôn ngữ máy, hợp ngữ, sau nữa là ngôn ngữ lập trình có cấu trúc… Mỗi bước đều đánh dấu sự nâng cao mức độ trừu tượng hóa tương tác của con người (là lập trình viên và người sử dụng) với máy vi tính.

Như vậy, nhiệm vụ chính của nền tảng công nghệ «1C:DOANH NGHIỆP», trước hết là thực hiện các quan điểm trên khi lập trình và cả khi sử dụng các giải pháp ứng dụng. Dĩ nhiên, để làm được việc đó thì cần phải giải quyết một loạt các nhiệm vụ truyền thống có liên quan tới hiệu suất, giao diện và các tính năng khác… Nhưng chính việc nâng cao mức độ trừu tượng hóa lại cho phép chuyển từ khái niệm kỹ thuật ở mức thấp đến nội dung ở mức cao hơn, tức càng gần với ngôn ngữ được các chuyên gia và người sử dụng lựa chọn. Rốt cuộc, tất cả những điều đó cho phép đẩy nhanh tốc độ và thống nhất của chính việc tạo dựng việc bảo trì/bảo hành hệ thống.

Nền tảng công nghệ và các giải pháp ứng dụng

Có thể nói nền tảng công nghệ và các giải pháp ứng dụng là khái niệm nổi bật trong kiến trúc của hệ thống «1C:DOANH NGHIỆP».

Dĩ nhiên, bất kỳ hãng phát triển phần mềm đều sở hữu riêng các phương tiện công nghệ và công cụ đủ mạnh để xây dựng cho mình các giải pháp. Thế nhưng, khi xây dựng «1C:DOANH NGHIỆP», ngay từ đầu chúng tôi đã định hướng tạo ra nền tảng công nghệ có đầy đủ các chức năng hoàn chỉnh để sử dụng làm cơ sở phát triển các giải pháp ứng dụng đa dạng nhất không chỉ cho riêng hãng “1C” mà còn cho nhiều công ty lập trình khác có quan tâm và am hiểu với đặc thù của hệ thống «1C:DOANH NGHIỆP». Đó cũng là câu trả lời vì sao mà ngay từ đầu nền tảng công nghệ đã được tạo dựng như một sản phẩm đóng gói bao gồm trong đó tất cả các công nghệ cần thiết để phục vụ việc khai thác các giải pháp ứng dụng cùng với các công cụ phục vụ việc lập trình và chỉnh sửa chúng.

«1C:DOANH NGHIỆP» được chia thành hai phần rõ rệt: nền tảng và các giải pháp ứng dụng. Nền tảng có thể gọi là "khung làm việc" ("Framework") mà trong đó giải pháp ứng dụng hoạt động. Một mặt, chúng ta có thể coi Framework là nền móng để xây dựng trên đó các ứng dụng, mặt khác nó có thể được coi là môi trường thực thi các ứng dụng đó. Ngoài ra dĩ nhiên, nền tảng còn bao gồm trong đó cả các công cụ cần thiết để lập trình, quản trị hệ thống và hỗ trợ các giải pháp ứng dụng. Ứng dụng này là một thực thể độc lập và có thể xem như một sản phẩm chương trình riêng biệt, nhưng lại hoàn toàn dựa trên công nghệ của nền tảng.

Có thể nói, khái niệm nền tảng công nghệ và nền tảng để xây dựng các ứng dụng hiện tại được xem là khái niệm chung và được luận giải rộng hơn nhiều so với khả năng làm việc bình thường của nó trong một hệ điều hành. Có thể hiểu nền tảng công nghệ là môi trường thực thi và tập hợp (bộ) các công nghệ được sử dụng để làm cơ sở xây dựng các ứng dụng. Trên thực tế, các ứng dụng được thiết kế dựa trên cơ sở một số nền tảng. Cho nên, điều quan trọng là để sao cho nền tảng công nghệ đáp ứng được cho người lập trình mô hình thực thi xác định, thông thường, dùng để tách người lập trình khỏi các khái niệm và những chi tiết công nghệ thấp hơn. Như vậy, nền tảng của «1C:DOANH NGHIỆP» cho phép sử dụng các công nghệ khác nhau nhất ở mức thấp hơn mà không cần phải thay đổi mã nguồn của các giải pháp ứng dụng. 

Ví dụ, nền tảng công nghệ đáp ứng cho người lập trình mô hình làm việc riêng với dữ liệu và tách người lập trình khỏi các đặc tính của một kho chứa dữ liệu cụ thể, điều này cho phép, khi không cần thay đổi giải pháp ứng dụng, cũng có thể sử dụng trong đó các kho lưu dữ liệu khác nhau. Một ví dụ khác, với tính chất là cơ sở dữ liệu, khi giải các bài toán có quy mô nhỏ ta có thể sử dụng động cơ quản lý cơ sở dữ liệu dạng tệp, còn để làm việc ở quy mô doanh nghiệp lớn hơn - sử dụng MS SQL Server.

Có lẽ việc đáp ứng đầy đủ các phương tiện để giải quyết các vấn đề đặt ra trước các giải pháp ứng dụng là tính chất căn bản của nền tảng «1C:DOANH NGHIỆP». Nó cho phép đáp ứng đầy đủ và tốt nhất các công nghệ và phương tiện cho người lập trình. Dẫu sao thì việc thường xuyên xuất hiện các "mối hàn" giữa các công nghệ lắp ghép khác nhau cũng sẽ là nguyên nhân của các vấn đề cần được quan tâm nghiêm túc, mà ví dụ đơn giản nhất là hệ thống các kiểu dữ liệu. Trong nền tảng của «1C:DOANH NGHIỆP» người lập trình sử dụng một hệ thống các kiểu dữ liệu để tương tác với cơ sở dữ liệu và cũng để triển khai lô-gíc nghiệp vụ, kể cả việc tạo dựng các giải pháp giao diện:

 

Chính vì vậy, người lập trình không bị nảy sinh các vấn đề có liên quan tới việc biến đổi các kiểu dữ liệu khi chuyển giữa các lớp khác nhau của hệ thống ứng dụng. Một yếu tố rất quan trọng khác, đó là việc chuẩn hóa. Việc tồn tại một nền tảng duy nhất đối với một số lượng lớn các giải pháp ứng dụng đã góp phần tạo nên một "lớp văn hóa" chung, bao gồm con người (lập trình viên, các nhà phân tích, người sử dụng) và phương pháp luận (các cấu trúc dữ liệu mẫu, thuật toán và các giao diện sử dụng). Dựa trên "lớp văn hóa" này, người lập trình không cần phải tốn nhiều công sức để tìm kiếm giải pháp cần thiết, tức quá trình từ khi người lập trình bắt đầu nhận dự án cho đến khi kết thúc bằng việc triển khai một giải pháp ứng dụng cụ thể của một phân hệ nào đó theo phương pháp luận mẫu.

Mức độ tùy ứng cao của các giải pháp ứng dụng theo yêu cầu của khách hàng là một trong số những lợi thế quan trọng được phân định rõ ràng giữa nền tảng và các giải pháp ứng dụng.

Cần hiểu rằng, đối với các bài toán kinh tế thì điều đặc biệt quan trọng là người lập trình phải biết cách đưa những thay đổi hợp lý vào giải pháp đóng gói (mà trong quá trình tạo dựng họ không được tham gia) để tùy chỉnh giải pháp theo yêu cầu cụ thể của doanh nghiệp. Khác với nhiều lĩnh vực khác, trong công nghệ lập trình luôn có những lập trình viên, họ không phải là những người viết chương trình "từ số không" mà chỉ chuyên triển khai và phát triển các giải pháp mẫu.

Những người lập trình này phải dựa vào sự hiểu biết của mình đối với giải pháp mà họ đang triển khai cho doanh nghiệp để xác định những yêu cầu đặc biệt và tiến hành ngay các tùy chỉnh hợp lý, công việc này cần được phát huy tối đa trong tất cả mọi cơ chế của nền tảng.

Các phương tiện của «1C:DOANH NGHIỆP» không phải là một "bộ công cụ" ("toolkit") bổ sung nào đó mà là một phần không tách rời của nền tảng. Chúng được sử dụng như nhau trong việc tạo các giải pháp và để tùy ứng cho giải pháp của từng doanh nghiệp cụ thể. Các công cụ này đã được cài đặt sẵn trong bộ sản phẩm đóng gói của «1C:DOANH NGHIỆP» và được sử dụng để bổ sung những thay đổi nhỏ vào bộ sản phẩm đóng gói (ví dụ, bổ sung vào khuôn của biểu mẫu in), cũng như để thực hiện các chỉnh sửa quan trọng của giải pháp ứng dụng (bao gồm cấu trúc dữ liệu và lô-gíc nghiệp vụ). Các tính năng được sử dụng bổ sung hiệu quả các thay đổi vào ứng dụng khi triển khai nó đã được cài sẵn trong chính các công cụ đó, ngoài ra, còn được bổ sung thêm cả kiểu thiết kế để tạo giải pháp ứng dụng. Trong các phần tiếp theo của bài viết, chúng tôi sẽ cố gắng trình bày luận điểm này.

Việc tách giải pháp ứng dụng ra như một phần tử độc lập, thực tế, là đã giúp chúng tôi tổ chức hoàn chỉnh công nghệ xây dựng giải pháp, phổ biến và hỗ trợ các hệ thống ứng dụng đa dạng, để tập trung nỗ lực của mình vào đặc thù của lớp bài toán này mà không yêu cầu có kiến thức sâu về công nghệ. Ví dụ, đối với một công ty mà có đội ngũ chuyên gia lành nghề trong một lĩnh vực cụ thể thì chỉ cần một khoảng thời gian ngắn cũng có thể đưa ra thị trường sản phẩm riêng của mình mà không phải mất nhiều năm để xây dựng cơ sở công nghệ.

Metadata, phương pháp mô tả giải pháp ứng dụng

Trong «1C:DOANH NGHIỆP», giải pháp ứng dụng không được viết trực tiếp bằng ngôn ngữ lập trình. Ngôn ngữ lập trình chỉ được sử dụng ở những nơi cần thiết nhất.

Trong nhân của giải pháp ứng dụng có Metadata. Metadata là bản mô tả cấu trúc của giải pháp. Metadata tạo ra thứ bậc các đối tượng, từ các đối tượng này để tạo ra các thành phần của hệ thống ứng dụng, và chính các thành phần này xác định tất cả các tính chất của hệ thống. Thực tế, khi giải pháp ứng dụng làm việc thì nền tảng "tái tạo lại" (diễn lại) Metadata để đáp ứng mọi chức năng cần thiết.

Tất cả các cấu trúc dữ liệu, thành phần các kiểu dữ liệu, những mối liên hệ giữa các đối tượng, các đặc điểm về thuộc tính của chúng, cách trình bày trực quan, hệ thống phân quyền truy cập, giao diện sử dụng… đều được mô tả bằng Metadata. Trên thực tế, trong Metadata không chỉ là nơi tập trung các thông tin về "cái gì chứa trong cơ sở dữ liệu" mà về cả "vì sao" cần phải lưu dạng thông tin này hay dạng thông tin khác, thông tin được lưu có vai trò gì trong hệ thống, và các mảng thông tin được liên hệ với nhau như thế nào. Việc sử dụng ngôn ngữ lập trình nói chung chỉ đem lại kết quả hạn chế, khi giải quyết các vấn đề có đòi hỏi mô tả thuật toán, ví dụ, tính thuế, kiểm tra độ chính xác khi nhập dữ liệu…

Phương pháp xây dựng giải pháp ứng dụng này sẽ cho ta những gì? Thứ nhất, khi mô tả Metadata, ta có thể sử dụng rộng rãi cách soạn thảo trực quan. Điều này cho phép ráp nối phần lập trình quan trọng với phần được thiết kế bằng trực quan mà không phải viết tỉ mỷ từng dòng mã lệnh. Thế nhưng, trong phương pháp này còn có các lợi thế khác cũng không kém phần quan trọng. Khi mô tả giải pháp ứng dụng trong các thuật ngữ Metadata, người lập trình "thông báo" cho nền tảng rất nhiều thông tin bổ ích để sử dụng hiệu quả trong các mục đích khác nhau. Trên cơ sở Metadata, hệ thống sẽ tự động "xây dựng" phần lớn các cơ chế và các đối tượng để đảm bảo hoạt động cho giải pháp ứng dụng. Ví dụ, mô tả Metadata cho nền tảng để tự động tạo ra giao diện sử dụng của hệ thống, đảm bảo việc nhập và soạn thảo các thông tin có mối ràng buộc với nhau. Ví dụ, cung cấp tính năng giúp cho người sử dụng không có kỹ năng lập trình cũng có thể lập các báo cáo phức tạp.

Ý tưởng sử dụng Metadata có thể được khái quát bằng luận điểm đơn giản nhất: "Hãy đừng lập trình tất cả các chức năng của giải pháp cần được khai thác. Hãy nhắc cho nền tảng biết về thành phần, cấu trúc, các đặc điểm và các mối ràng buộc giữa các phần khác nhau của nó, rồi để nền tảng tự giải quyết lấy".

Ý tưởng này (Metadata Driven) ngày nay được ứng dụng rộng rãi trong công nghệ lập trình đầy triển vọng.

Xây dựng ứng dụng trên cơ sở mô hình

Ngay từ đầu trong «1C:DOANH NGHIỆP» đã có đặt định hướng xây dựng giải pháp ứng dụng trên cơ sở mô hình xác định.

Cách làm này hoàn toàn hợp lý, và theo đánh giá của chúng tôi, đó sẽ là phương pháp chiếm ưu thế trong tương lai của các công cụ lập trình hiện đại. Ý tưởng xây dựng giải pháp ứng dụng trên cơ sở mô hình, ví dụ, có thể tìm thấy hiện thân trong cấu trúc MDA (Model Driven Architecture) của cộng đồng OMG.

Có thể hiểu mô hình như là toàn bộ ý tưởng xây dựng giải pháp ứng dụng. Đó là các phương pháp xây dựng cấu trúc dữ liệu, các dạng liên hệ giữa dữ liệu, các nguyên tắc quản lý và sử dụng dữ liệu, các dạng mô tả lô-gíc nghiệp vụ, các phương pháp liên kết dữ liệu với các đối tượng giao diện, sự phân định chức năng theo các lớp của hệ thống và các vấn đề khác.

Điều quan trọng là các giải pháp ứng dụng phải tuân thủ theo mô hình đã được chọn và chúng phải được đáp ứng đồng nhất và phải tiên lượng được các thuộc tính của chúng. Trên thực tế, người lập trình mong muốn thể hiện trong giải pháp ứng dụng đặc thù của lĩnh vực ứng dụng cần thiết và có đủ các phương pháp để giải quyết vấn đề này bằng các công cụ có trong nền tảng. Một mặt, phương pháp này hạn chế (hoàn toàn có chủ ý) tự do của người lập trình, nhưng mặt khác, nó giúp họ tránh được nhiều lỗi khi lập trình, và cho phép họ chỉ trong thời gian ngắn có thể thu được giải pháp cần thiết, để sau đó giải pháp có thể được phát triển và hỗ trợ bằng chính mình hay nhờ sự trợ giúp của các chuyên gia khác, nếu thấy cần thiết.

Kết quả rõ ràng của phương pháp này là việc cách ly người lập trình giải pháp ứng dụng khỏi các chi tiết công nghệ lưu thông tin, tổ chức cấu trúc ba lớp… Ví dụ, như đã nói trên, tất cả các giải pháp ứng dụng được tạo dựa trên nền tảng của «1C:DOANH NGHIỆP» đều không cần phải bổ sung bất kỳ mọi thay đổi cũng có thể làm việc ngay với tệp dữ liệu riêng và Server dữ liệu. Lúc đó, các cấu trúc dữ liệu cần thiết đều được tạo ra và được thay đổi bằng hệ thống tự động trên cơ sở mô tả của Metadata, và người lập trình không cần phải tìm hiểu chi tiết các định dạng lưu hệ thống quản lý cơ sở dữ liệu cụ thể. Việc xử lý dữ liệu trong ứng dụng cũng được mô tả ở mô hình bậc cao và được thực hiện tự động, có tính đến các đặc tính của kho chứa thông tin đang sử dụng.

Theo đánh giá của chúng tôi, việc đảm bảo cho người lập trình mô hình xác định đã được trừu tượng hóa từ các công cụ sử dụng cụ thể, trong tương lai sẽ chiếm ưu thế trong các công cụ lập trình hiện đại.

Sự tồn tại một mô hình thống nhất đã tạo điều kiện tốt cho người lập trình dễ dàng khai thác hệ thống. Toàn bộ việc lập trình được tiến hành trong khuôn khổ một hệ thống khái niệm xuyên suốt và trong một không gian thống nhất của các kiểu dữ liệu. Người lập trình không cần phải hiểu thấu đáo cách trình bày của một số mô hình và không phải mất nhiều công sức để chuyển đổi chúng giữa các lớp khác nhau.

Ví dụ, bản mô tả trong các đối tượng (bản chất, thực thể) Metadata này hay khác xác định được ngay cả các kiểu tương ứng của ngôn ngữ lập trình hệ thống và cả các cấu trúc dữ liệu cần thiết để lưu chúng. Tất cả các thủ thuật tiếp theo để xử lý các dữ liệu này trong bộ nhớ cũng như trong cơ sở dữ liệu đều được thực hiện như nhau mà không cần phải vượt bất kỳ một "rào cản" nào giữa các ký hiệu khác nhau, đã được chấp nhận khi làm việc với hệ thống quản trị cơ sở dữ liệu và với các ngôn ngữ lập trình đa năng.

Quản lý dữ liệu

Một trong số các khác biệt cơ bản của giải pháp ứng dụng so với các chương trình có chức năng khác là hệ thống biến hóa được sử dụng để xử lý dữ liệu trong chúng.

Như chúng ta được biết, đối với các bài toán quản lý thì làm việc với dữ liệu là phần nội dung chính, nhưng quan trọng hơn là vấn đề nghiên cứu để giải bài toán đó. Điều này có thể lý giải như sau: nếu trong nhiều lĩnh vực phát triển các hệ thống chương trình đã đạt được kết quả đến mức "gần như hoàn thiện" (ví dụ, trong bộ công cụ soạn thảo văn bản) thì trong lĩnh vực phần mềm quản lý kinh tế còn lâu mà đạt được như vậy.

Hệ thống các chương trình ứng dụng quản lý kinh tế thường xuyên bị các yêu cầu trái ngược "áp đảo". Đó là do phải xử lý các khối lượng dữ liệu lớn nhưng đồng thời phải đáp ứng được nhiều tính năng và hiệu suất cao. Khối lượng dữ liệu cần được xử lý tăng sẽ dẫn đến việc tăng nhu cầu giải các bài toán đa dạng, và những đòi hỏi về nâng cao và mở rộng quy mô. Đồng thời cũng không được quên về việc bảo đảm tiện lợi cho công tác lập trình, về quản trị hệ thống, về các khả năng cập nhật và chỉnh sửa chương trình… Trong thực tế của thế giới hiện đại, còn tồn tại nhiều hình thức quản trị và sử dụng dữ liệu, chúng được sử dụng trong các công cụ lập trình các giải pháp ứng dụng trong các tổ hợp khác nhau. Vả lại, còn xa mới đạt được lý tưởng - tất cả các công nghệ hiện có và đang được tạo ra đều là các giải pháp dung hòa, nhằm nâng cao chỉ tiêu của các hệ thống theo một số các tiêu chí đã được quy định.

Dĩ nhiên, các mâu thuẫn này có liên quan đến tất cả các khía cạnh của hệ thống, nhưng trong các phương pháp quản trị và xử lý dữ liệu thì chúng được thể hiện rõ ràng hơn.

Trong «1C:DOANH NGHIỆP» có sử dụng phương pháp hỗn hợp, phương pháp này có nhiều cách tiếp cận chung đã được đưa vào trong công tác lập trình của các hãng khác, nhưng vẫn giữ được các nét khác biệt căn bản của giải pháp.

Để thực hiện các thao tác chỉnh sửa dữ liệu (như tạo mới, sửa đổi, hủy bỏ), trong «1C:DOANH NGHIỆP» có sử dụng kỹ thuật đối tượng đặc biệt. Có nghĩa là người lập trình tương tác với cơ sở dữ liệu không phải ở lớp các nội dung mà là nhờ các đối tượng có bản chất tương ứng đang được lưu trong cơ sở dữ liệu. Để xử lý các dữ liệu này, người lập trình không cần phải viết các truy vấn phức tạp và biến đổi các kết quả xử lý dữ liệu thành các đối tượng của ngôn ngữ lập trình. Ta cần lấy ra đối tượng từ cơ sở dữ liệu, thay đổi các thuộc tính của nó và lưu trở lại. Khi đó người lập trình có khả năng tạo các bộ xử lý sự kiện có liên quan đến việc thay đổi dữ liệu, nhờ chúng để thực hiện các kiểm tra khác nhau và thay đổi dữ liệu khác khi thấy cần thiết. Hệ thống đảm bảo hỗ trợ hiệu quả công nghệ phương pháp đối tượng, ví dụ, như sắp xếp các đối tượng, kiểm tra tính toàn vẹn và các tham chiếu đối tượng… Để đọc dữ liệu, ta có thể sử dụng kỹ thuật đối tượng hay ngôn ngữ truy vấn hình thức – đây là ngôn ngữ được dựa trên ngôn ngữ lập trình cũ SQL, nhưng có một loạt các mở rộng quan trọng. Các mở rộng này, một mặt, nhằm hỗ trợ làm việc với các đối tượng được lưu trong cơ sở dữ liệu, mặt khác, để giải quyết thành công các nhiệm vụ quản lý kinh tế. Sau đây chúng ta sẽ xem xét chi tiết hơn về ngôn ngữ truy vấn:

Một trong số các lợi thế căn bản của luận thuyết quản trị dữ liệu theo đối tượng quan hệ là tính rành mạch và đơn giản khi xây dựng ứng dụng. Kỹ thuật đối tượng được sử dụng chính là để xử lý dữ liệu, để đảm bảo đọc ra các thuật toán lô-gíc nghiệp vụ, để giảm lỗi cơ bản khi lập trình, cả để đáp ứng an toàn ở mức độ cao cho tính toàn vẹn dữ liệu. Ngoài ra, còn một đặc tính quan trọng của kỹ thuật đối tượng là đơn giản hóa việc chuyển đổi sang hệ thống phân tán và tích hợp.

Về phía mình, việc mô tả hình thức các truy vấn cho phép lựa chọn tùy ý dữ liệu và đảm bảo đủ khả năng trừu tượng hóa cần thiết để giải quyết các nhiệm vụ phân tích.

Theo chúng tôi, kỹ thuật hỗn hợp này dù ở dạng nào cũng sẽ là sự khởi đầu cho việc sử dụng rộng rãi và đầy triển vọng của công tác lập trình cho hệ thống quản lý kinh tế.

Xin được nói sớm một chút là trong mô hình «1C:DOANH NGHIỆP» có thực thi mô hình ý tưởng hiện đại để làm việc với thông tin, trong đó kết hợp ba phương pháp trình bày dữ liệu. Đó là lưu các thực thể trong cơ sở dữ liệu, trình bày chúng trong ngôn ngữ lập trình ở dạng đối tượng, và thể hiện theo định dạng XML. Thực tế, bất kỳ mọi thông tin đều có thể được trình bày bằng một trong ba phương pháp trên, tùy thuộc vào chế độ làm việc hiện tại.

Việc lưu lâu dài các bản chất hay thực thể (Persistence) được thực hiện trong cơ sở dữ liệu, đảm bảo được độ tin cậy và xử lý hiệu quả khối lượng lớn thông tin. Để đưa vào các thay đổi, trước hết dữ liệu phải được chuyển thành các đối tượng ngôn ngữ hệ thống. Khi trao đổi nội bộ trong cơ sở dữ liệu phân tán, hay khi tương tác với các hệ thống thông tin khác, dữ liệu được chuyển thành định dạng XML.

Cần nhớ rằng, cả ba phương pháp trình bày nói trên đều được dựa trên một hệ thống khái niệm thống nhất và người lập trình không cần mất công sức để chuyển đổi dữ liệu từ phương pháp trình bày này sang phương pháp khác.

Cách thức này cho phép «1C:DOANH NGHIỆP» hòa nhập cùng với các giải pháp không đồng nhất trong tương lai, theo đánh giá của chúng tôi (cũng giống với đánh giá của các chuyên gia cao cấp) thì ngày càng được áp dụng rộng rãi.

Một trong số những đặc tính khác biệt của mô hình «1C:DOANH NGHIỆP» mà không có các điểm tương tự trong các hệ thống tương đương khác, đó là việc phân chia tất cả các dữ liệu sử dụng ra thành thực thể đối tượng và những đối tượng không có các bản chất đó. Cần nhớ rằng, để quản lý bất kỳ kiểu dữ liệu này hay kiểu dữ liệu khác ta cần sử dụng kỹ thuật đối tượng.

Việc phân chia này phù hợp với bản chất thực của dữ liệu. Trong lĩnh vực ứng dụng luôn luôn tồn tại các thực thể có tính chất đối tượng, ví dụ, "Khách hàng", "Pháp nhân", "Hàng hóa". Ở đây bản thân đối tượng được xác định ý nghĩa đầy đủ mà không phụ thuộc vào dữ liệu mô tả nó. Ví dụ, ở một người có thể thay đổi họ, tên, số chứng minh nhân dân, nhưng điều quan trọng mà chúng ta biết thì đây chính là cá nhân đó (đối tượng duy nhất), mặc dù họ tên đã được thay đổi. Mặt khác, cũng có những thực thể không có tính chất đối tượng. Ví dụ, khi ghi nhận việc tiếp nhận một loại hàng hóa nào đó vào kho, đây hoàn toàn là thông tin về sự luân chuyển hàng hóa, ngoài việc nó được ghi nhận vào nhật ký (biểu ghi) thì không có nội dung nào khác. Nhưng nếu ta thay thế loại hàng hóa trong biểu ghi này bằng một loại hàng hóa khác thì ý nghĩa biểu ghi luân chuyển hàng hóa sẽ hoàn toàn thay đổi. Nói cách khác, đối với một bản chất mà nội dung không chỉ ra giá trị cụ thể cho các trường thì không có ý nghĩa.

Nhờ sự phân định bản chất, nền tảng «1C:DOANH NGHIỆP» đã đáp ứng sẵn cho người lập trình phương pháp luận để dễ dàng giải quyết các bài toán xử lý dữ liệu phù hợp với thuộc tính của các bản chất này.

Làm việc với các thực thể đối tượng được hỗ trợ bằng cách trình bày (thể hiện) bản chất của cơ sở dữ liệu trong kiểu các đối tượng ngôn ngữ lập trình hệ thống, và bởi các kiểu dữ liệu chuyên dùng để trình bày các tham chiếu đối tượng (các tham chiếu tới đối tượng cơ sở dữ liệu). Lúc này, khi đã biết đối tượng thì dễ dàng nhận lại được tham chiếu của nó, còn khi biết được tham chiếu thì ta có thể lấy ra được đối tượng từ cơ sở dữ liệu. Kỹ thuật này đảm bảo cho ta có phương pháp đơn giản mô tả các thuật toán lô-gíc nghiệp vụ trong mã nguồn, để quản lý các đối tượng; ngoài ra, nó còn đảm bảo sự toàn vẹn lô-gíc cho dữ liệu, khi thực hiện bất kỳ mọi thao tác. Kỹ thuật này nhắc lại cách viết ứng dụng của các cơ sở dữ liệu đối tượng, chỉ có khác là, việc lưu dữ liệu được tiến hành trong các bảng có liên quan tới hệ thống quản trị cơ sở dữ liệu. Lúc đó, trong các mô-đun đã được viết trên ngôn ngữ hệ thống có thể cùng tồn tại một số đối tượng để trình bày một thực thể của cơ sở dữ liệu.

Các cơ chế của nền tảng đảm bảo việc hỗ trợ tên định danh (ID) của các đối tượng (tham chiếu), đảm bảo việc kiểm tra các phiên bản đối tượng, đảm bảo duy trì cả việc phong tỏa tạm thời hệ thống trong trường hợp cần thiết. Việc phong tỏa tối ưu nhằm đảm bảo cho sự toàn vẹn lô-gíc khi thay đổi đối tượng, còn việc phong tỏa không tối ưu cho phép người sử dụng cùng đồng thời tiến hành việc soạn một loại đối tượng trong giao diện của «1C:DOANH NGHIỆP». Nền tảng thực hiện tối ưu hóa các thao tác đọc đối tượng nhờ sử dụng cơ chế lưu giữ chúng bên trong cũng như bên ngoài chúng. Khi xử lý việc chỉnh sửa các đối tượng, trong hệ thống có thực thi kỹ thuật "ghi chép thông minh": hệ thống sẽ kiểm soát các thay đổi của chúng và ghi vào đĩa cứng chỉ những dữ liệu đã được xử lý mà vẫn bảo đảm được sự toàn vẹn của thao tác này.

Làm việc với các thực thể không mang tính chất đối tượng được thực hiện nhờ bộ bản ghi, về thực chất thì chúng là tập hợp bản ghi. Các bộ bản ghi này được hỗ trợ việc đọc và xử lý dữ liệu theo yêu cầu chi tiết đối với lô-gíc ứng dụng.

Điều quan trọng là cả hai phương pháp nêu trên đều đáp ứng thành công việc xây dựng thuật toán lô-gíc nghiệp vụ. Khi đọc thuật toán, người lập trình cần xử lý lô-gíc nghiệp vụ hiện có trong ứng dụng có thể hiểu nhanh bản chất vấn đề và tiến hành gỡ rối, chỉnh sửa mã nguồn. Bây giờ, để tương tác với cơ sở dữ liệu, người lập trình không cần phải lập phức tạp trình biến đổi thông tin từ các cấu trúc đối tượng thành các thông tin quan hệ, cho phép nâng cao hiệu quả tạo và gỡ rối giải pháp phần mềm.

Có một đặc tính quan trọng của kỹ thuật đối tượng nữa trong nền tảng của «1C:DOANH NGHIỆP», đó là những đối tượng có mặt trong các mô-đun của ngôn ngữ hệ thống (đối với các thực thể là đối tượng và cả các thực thể không mang tính đối tượng), chúng được sử dụng cả để phản ánh dữ liệu trong giao diện. Các phần tử điều khiển hộp thoại được liên hệ trực tiếp với các đối tượng cần thiết, người sử dụng có thể cho hiển thị và soạn thảo chúng mà không cần đến sự hỗ trợ của người lập trình.

Đối với các thực thế mang tính đối tượng, nền tảng «1C:DOANH NGHIỆP» có hỗ trợ cơ chế trình bày. Cơ chế này đáp ứng việc hiển thị trong giao diện các giá trị nhận được bằng cách tham chiếu tới các thực thể của cơ sở dữ liệu. Khi cần hiển thị giá trị tham chiếu, hệ thống sẽ tự động tạo cách trình bày trên cơ sở các thuộc tính của Metadata, và ta có thể nhận được thông tin từ cơ sở dữ liệu nhờ kho chứa hay các cơ chế khác. Trong quá trình xử lý các truy vấn và xây dựng các báo cáo cũng sử dụng cách trình bày. Bằng phương pháp tổng hợp cho phép ta nhận được các cách trình bày các trường tham chiếu, nếu truy vấn được tạo để hiển thị dữ liệu trong giao diện sử dụng, và đưa chế độ tự động hiển thị cách trình bày vào trong các báo cáo đối với những trường chứa các giá trị tham chiếu. Điều quan trọng là cơ chế trình bày đảm bảo khả năng cho người lập trình dễ dàng xử lý và sử dụng các tham chiếu đối tượng, nếu ta đồng thời sử dụng một số lệnh gọi đến cơ sở dữ liệu.

Cùng với các phương pháp quản lý dữ liệu và lập truy vấn đã được mô tả ở phần trên, hệ thống còn đáp ứng một phương pháp truy cập dữ liệu khác, đó là phương pháp chọn động. Cơ chế này cho phép truy cập và chọn được khối lượng thông tin rất lớn mà vẫn bảo đảm cho người sử dụng đọc được các mục thông tin đó. Khi đó người lập trình chỉ việc chỉ ra những dữ liệu nào họ cần, còn hệ thống sẽ tự động thực hiện truy cập các thông tin cần thiết. Để làm việc này người sử dụng không cần sử dụng bất kỳ mọi phương tiện chuyên dụng đọc động cụ thể, mà hệ thống sẽ tự động định dạng các truy vấn để chọn lần lượt các khối bản ghi.

Còn một giải pháp quan trọng nữa trong phần làm việc với dữ liệu trong «1C:DOANH NGHIỆP», đó là sự hỗ trợ bảng các kiểu dữ liệu phức hợp trong các trường. Khả năng này, như chúng ta biết, không giống như trong các hệ thống khác. Khi mô tả kiểu trường của một đối tượng nào đó, ta không chỉ có thể chọn một trong số các kiểu dữ liệu hợp lý mà trên thực tế có thể chọn bất kỳ mọi tổ hợp của chúng. Ví dụ, trong trường "Người trả tiền" của chứng từ để phản ánh các giao dịch với ngân hàng được phép lưu các tham chiếu tới đơn vị pháp nhân và cá nhân, tùy thuộc vào từng giao dịch cụ thể. Mặc dù đây là một ví dụ đơn giản, khả năng làm việc với các kiểu phức hợp cho phép giải các bài toán này, ví dụ như lưu lại các đặc tính tùy ý của hàng hóa, tiến hành kế toán phân tích trên các tài khoản kế toán theo thành phần bất kỳ của phạm vi kế toán phân tích đã được thiết lập bởi người sử dụng… Điều quan trọng là hệ thống không chỉ đáp ứng được khả năng lưu các giá trị khác loại trong một trường mà còn giúp người lập trình hiểu rõ phương pháp hơn. Trước hết, cần đánh dấu sự hỗ trợ công việc toàn phần của "nhân" cơ sở dữ liệu và của ngôn ngữ truy vấn với các trường có kiểu phức hợp. Các trường này đều được hỗ trợ bộ các thao tác chuẩn (so sánh, mô phỏng…). Một vấn đề quan trọng khác là sự hỗ trợ của các kiểu phức hợp trong các cơ chế giao diện của hệ thống. Ví dụ, trường nhập liệu có liên quan với dữ liệu của kiểu phức hợp loại này có thể bảo đảm các khả năng soạn thảo (chọn kiểu; soạn các giá trị của tất cả các kiểu để đưa vào trường đã nói tới trên; hạn chế các kiểu cần chọn).

Cũng cần lưu ý đến các công cụ lập truy vấn của «1C:DOANH NGHIỆP». Như chúng tôi đã nói ở trên, công cụ này được tạo ra trên cơ sở của các cấu trúc ngôn ngữ chuẩn của QSL, thế nhưng cũng có một loạt các mở rộng quan trọng.

Trước hết lưu ý là trong ngôn ngữ truy vấn có hỗ trợ công việc với các đối tượng đã được lưu trong cơ sở dữ liệu. Tất cả các toán tử của ngôn ngữ truy vấn bảo đảm công việc với các kiểu tham chiếu (với các trường lưu các tham chiếu lên các đối tượng của cơ sở dữ liệu). Ví dụ, hỗ trợ việc gọi các trường theo ký hiệu "dấu chấm" mà không bị hạn chế số các lớp. Có thể chỉ ra trường được chọn trong truy vấn, ví dụ, "HàngHóa.NhàSảnXuất.TênNước". Đối với các đối tượng của cơ sở dữ liệu, cho phép gọi ra các bảng lồng trong, giống như là cách gọi các bảng riêng hoặc giống như là khi gọi các trường thông thường của đối tượng có chứa tập hợp bản ghi.

Một đặc trưng quan trọng nữa là trong nền tảng có thực thi tính năng tạo lập các tổng kết nhiều chiều với trình tự quét các chiều đo tùy ý. Khi đó, có thể sử dụng khả năng như kết hợp quét nhiều chiều và nhiều lớp theo phân nhánh giá trị của từng chiều đo (ví dụ, cấu trúc nhiều lớp của các bộ phận, hoặc nhiều lớp gom nhóm hàng hóa). Ngoài ra còn hỗ trợ một loạt các chế độ đặc biệt để xử lý các kết quả tổng kết.

Cơ chế truy vấn có khả năng tự động sắp xếp các tập mẫu dữ liệu trên cơ sở các thuộc tính của các đối tượng ứng dụng đã được xác định trong Metadata. Như vậy sẽ cho phép người lập trình trong khi tạo truy vấn có thể nhận báo cáo hoặc để đọc dữ liệu, không cần chỉ ra theo những trường nào cần thực hiện việc sắp xếp mà chỉ cần bật chế độ tự động để chấp nhận việc sắp xếp chuẩn đối với các dữ liệu đã được chọn.

Còn một công cụ mạnh của cơ chế truy vấn nữa, đó là các bảng ảo. Các bảng ảo bảo đảm truy cập dễ dàng tới dữ liệu bất kỳ hiện có trong các phân hệ ứng dụng khác nhau mà không cần phải lập các truy vấn phức tạp. Ví dụ, có thể gọi bảng ảo để nhận lại số dư và phát sinh hàng hóa theo các kho và hàng hóa theo từng kỳ. Cần nhớ rằng, làm việc với các bảng ảo không giống như khi lưu bình thường các truy vấn mẫu (View). Khi sử dụng các bảng ảo người lập trình phải chỉ ra bộ các tham số để mô tả lựa chọn cần thiết, đó không chỉ là các giá trị cụ thể mà còn có thể là các điều kiện phức tạp. Người tạo giải pháp ứng dụng làm việc với bảng ảo, thực tế, cũng như với các bảng bình thường, nhưng hệ thống sẽ giúp định dạng truy vấn cho cơ sở dữ liệu để đạt được hiệu quả cao nhất. Chẳng hạn, khi gọi dữ liệu cần được xử lý bằng các cơ chế kế toán ta có thể sử dụng các kết quả trung gian đã được lưu bởi chúng.

Xem tiếp Phần II



Tin tức khác


Báo chí viết về 1VS
25/12/2015
Giải đáp vướng mắc trong lập Báo cáo tài chính năm 2015:

"Nội dung chính của sự kiện là tập trung hướng dẫn rà soát từng tài khoản trước khi lập báo cáo tài chính, chỉ ra những điểm cần lưu ý, hay sai sót, và những rủi ro về thuế khi lập báo cáo tài chính năm 2015. Trong đó, có nêu rõ những khác biệt giữa các đơn vị thực hiện theo quyết định 48 và thông tư 200".

10/08/2015
Ứng dụng dịch vụ đám mây cho các giải pháp kế toán và quản lý 1C - Đài Truyền hình Kỹ thuật số VTC (VTC1):
Điện toán đám mây là xu thế tất yếu của nền công nghệ hiện đại. Với việc đưa lên mây nhiều giải pháp như kế toán, bán hàng, quản lý tổng thể doanh nghiệp... dịch vụ đám mây của 1C được nhiều doanh nghiệp ứng dụng để tự động hóa công tác quản lý trong nhiều lĩnh vực. 
01/06/2015
Phần mềm kế toán 1C: Một dữ liệu cho hàng trăm khách hàng - Báo Tài chính điện tử:
"... Thứ nhất, đám mây 1C của chúng tôi sử dụng cơ chế chia tách dữ liệu Multitenancy. Với cơ chế này, 1VS chỉ cần quản lý 1 dữ liệu phần mềm duy nhất dùng chung cho hàng trăm, hàng nghìn khách hàng của mình. Trong đó, có chia tách thành các vùng dữ liệu riêng của mỗi khách hàng, đảm bảo tính riêng tư của từng vùng dữ liệu. Nhờ công nghệ này, chúng tôi giảm được tới mức tối thiểu về thời gian, công sức và chi phí cho việc bảo trì sản phẩm trong đám mây.".