Khung công tác xác nhận hợp lệ XML khi sử dụng OASIS CAM (CAMV)

Sử dụng một cách tiếp cận lập trình khai báo để viết các quy tắc xác nhận hợp lệ dữ liệu XML của bạn

Trong bài này, chúng tôi trình bày một cách tiếp cận để xác nhận hợp lệ XML bằng cách sử dụng các khuôn mẫu CAM (Content Assembly Mechanism - Cơ chế lắp ghép nội dung) của OASIS để hỗ trợ một mảng rộng lớn các trao đổi thông báo phức tạp với các đối tác kinh doanh khi sử dụng các mô hình nghiệp vụ B2B hoặc B2C. Các khuôn mẫu CAM đơn giản hóa và thể hiện ra bên ngoài các quy tắc xác nhận hợp lệ trong khi vẫn cho phép các cổng hoạt động như một cơ chế chuyển tiếp các thông tin không liên quan trực tiếp. Chúng tôi cũng trình bày những kinh nghiệm của mình bằng cách sử dụng một thành phần mã nguồn mở được xây dựng bằng cách sử dụng Eclipse và công nghệ Java™ để cung cấp các dịch vụ xác nhận hợp lệ cần thiết. Hãy làm theo quá trình phát triển ứng dụng diễn ra cùng với các đoạn mã mẫu và một ví dụ XML sử dụng lược đồ BOD (Business Object Document –Tài liệu đối tượng nghiệp vụ) ô tô của STAR (Standards for Technology in Automotive Retail- Các tiêu chuẩn Công nghệ trong bán lẻ ô tô) và khuôn mẫu XML của CAM kèm với nó.

Puneet Kathuria, Kiến trúc sư tư vấn CNTT, IBM

Puneet Kathuria là một kiến trúc sư tích hợp làm việc với IBM India Ltd. Ông có hơn 13 năm kinh nghiệm, chủ yếu về các kiến trúc ứng dụng và tích hợp và đã làm cho IBM trong bốn năm qua.



David Webber, Kiến trúc sư cao cấp, INTEGRITYOne Partners

David hiện đang tư vấn về phát triển NIEM IEPD cho chính phủ Hoa Kỳ và có trụ sở tại Washington DC, Hoa Kỳ. David là chủ tịch của ủy ban kỹ thuật OASIS CAM và là nhà đồng phát triển trình soạn thảo CAM Studio Eclipse chịu trách nhiệm chủ yếu là về các kịch bản lệnh xử lý XSLT. David đã có hơn 30 năm kinh nghiệm trong ngành công nghiệp và vào năm 2007 ông đã được công nhận là một thành viên cao cấp của ACM vì hoạt động ngành nghề của mình trong lĩnh vực XML. David đã viết nhiều bài báo về chủ đề của XML và tối ưu hóa trao đổi thông tin, các đặc tả kỹ thuật cho OASIS và đã giới thiệu rộng rãi về XML ở Bắc Mỹ, Châu Âu và châu Á.



Martin Roberts, Nhà phát triển/nhà thiết kế dự án nguồn mở CAM, Ontology Systems

Martin là một nhà tư vấn có trụ sở tại Suffolk, Anh chuyên về XML, các bản thể luận, Java, Eclipse và các giải pháp web với hơn 20 năm kinh nghiệm. Martin đã viết cả hai đặc tả kỹ thuật OASIS CAM đầu tiên và trình soạn thảo CAM Studio Eclipse và triển khai thực hiện máy xác nhận hợp lệ CAMV. Trước đây Martin cũng đã hoạt động trong công việc của ngành công nghiệp viễn thông về các trao thông báo dựa trên XML và hoạt động về các tiêu chuẩn ở châu Âu. Ông đã trình bày tại một số các sự kiện ngành kinh doanh bao gồm các triển lãm công nghệ do OASIS bảo trợ ở châu Âu.



12 07 2011

Những thách thức kỹ thuật và nghiệp vụ

Trong các trao đổi thông tin phức tạp ngày nay bằng XML và lược đồ XSD lớn kèm theo, gắn với một loạt các đối tác thương mại, việc hỗ trợ và duy trì xử lý chính xác tất cả các giao dịch đến sẽ trở thành một thách thức đáng kể. Hiện nay, các lược đồ XML và các DTD cung cấp khả năng xác nhận hợp lệ hay kiểm tra nội dung cấu trúc của một tài liệu XML. Một số nhất định các quy tắc xác nhận hợp lệ cũng có thể được đưa vào như là một phần của các lược đồ XML nhưng không phải mọi loại xác nhận hợp lệ giao dịch đều có thể được thực hiện bằng cách sử dụng các lược đồ XML hay các DTD.

Các từ viết tắt thường dùng

  • API: Application Programming Interface - Giao diện lập trình ứng dụng.
  • B2B: Business-to-business - Doanh nghiệp với Doanh nghiệp.
  • B2C: Business-to-consumer - Doanh nghiệp với người tiêu dùng.
  • DTD: Document Type Definition - Định nghĩa kiểu tài liệu.
  • HTTP: Hypertext Transfer Protocol - Giao thức truyền siêu văn bản.
  • JAX-RPC: Java API for XML-Based remote procedure call - Dựa trên API Java cho XML.
  • JDOM: Java-based Document Object Model - Mô hình đối tượng tài liệu dựa trên Java.
  • J2EE: Java 2 Platform, Enterprise Edition - Nền tảng Java 2, Ấn bản doanh nghiệp.
  • OASIS: Organization for the Advancement of Structured Information Standards - Tổ chức vì sự tiến bộ của Các tiêu chuẩn thông tin có cấu trúc.
  • UI: User Interface - Giao diện người dùng.
  • WSDL: Web Services Description Language - Ngôn ngữ mô tả dịch vụ Web.
  • XML: Extensible Markup Language - Ngôn ngữ đánh dấu mở rộng.
  • XPath: XML Path Language - Ngôn ngữ đường dẫn XML.
  • XSD: XML Schema Definition - Định nghĩa Lược đồ XML.
  • XSLT: Extensible Stylesheet Transformations - Các phép chuyển đổi bảng định kiểu mở rộng.

Với sự ra đời của các tiêu chuẩn đặc thù cho ngành nghề như Các tiêu chuẩn công nghệ trong bán lẻ ô tô (STAR), toàn bộ các bộ sưu tập các định dạng trao đổi thông báo XML tiêu chuẩn được cung cấp dưới dạng các Lược đồ XML. Cả người tiêu dùng lẫn nhà cung cấp các dịch vụ Web phải tuân theo các lược đồ này để được chứng nhận bởi các tiêu chuẩn ngành nghề của mình. Tuy nhiên, các lược đồ đặc thù cho ngành nghề như vậy thường liên kết lỏng lẻo với việc xác nhận hợp lệ tối thiểu và có thể được sử dụng chỉ để xác nhận hợp lệ cấu trúc của XML đến. Cần thêm mã bổ sung để triển khai thực hiện các xác nhận hợp lệ cần thiết, tăng cường việc kiểm tra lược đồ. Các xác nhận hợp lệ này ngăn chặn các lỗi khi các ứng dụng hoặc các thành phần đòi hỏi dữ liệu có một cấu trúc cụ thể và tuân thủ các quy tắc xác nhận hợp lệ nội dung nghiệp vụ.

Cách phổ biến nhất để triển khai thực hiện logic xác nhận hợp lệ cần thiết trong một dịch vụ Web và các ứng dụng XML đi kèm với nó là viết mã tùy chỉnh; kết quả là, các quy tắc xác thực hợp lệ bị chôn chặt bên trong các ứng dụng và không thể sửa đổi, làm tài liệu hoặc chia sẻ dễ dàng được. Tùy thuộc vào số lượng và tính chất của các xác nhận hợp lệ phải có, mã xác nhận hợp lệ có thể phức tạp và dài dòng và việc bảo trì nó có thể trở thành một gánh nặng đáng kể khi có thêm nhiều đối tác hơn nữa. Thêm vào đó còn là thời gian, công sức và các nguy cơ liên quan đến việc biên dịch lại và triển khai lại mã đó lên một máy chủ sản xuất mỗi khi logic xác nhận hợp lệ thay đổi.

Ngoài các ứng dụng độc lập, các xác nhận hợp lệ cũng cần thiết khi trưng ra các dịch vụ thông qua một ESB (Enterprise Service Bus – Kênh dịch vụ mức doanh nghiệp). Hình 1 mô tả kiến trúc điển hình của một ESB xoay quanh một bus thông báo. Kênh này cung cấp các dịch vụ chuyển phát thông báo dựa trên các tiêu chuẩn như SOAP, HTTP và JMS (Java Messaging Service – dịch vụ gửi thông báo của Java). ESB cho phép các dịch vụ tương tác với nhau dựa vào loại các yêu cầu chất lượng dịch vụ của từng giao dịch riêng lẻ. Nó cũng hỗ trợ các tiêu chuẩn khác như SOAP, XML, WSDL, JMS, J2EE, JAX-RPC và v.v..

Hình 1. Cách thực hiện các xác nhận hợp lệ trong một kiến trúc ESB
Biểu đồ một tầng tạo thông báo ESB được đặt giữa những người tiêu dùng thông báo và các nhà cung cấp thông báo

Một trong những thách thức chính mà các nhà phát triển phải đối mặt là làm thế nào để thực hiện xác nhận hợp lệ thông báo tại các điểm đầu cuối nhà cung cấp thông báo và người tiêu dùng thông báo khi tương tác qua ESB. Ví dụ, như trong Hình 1, một thành phần dịch vụ web có thể yêu cầu thông tin từ một ứng dụng hiện có. Dịch vụ Web (người tiêu dùng ) sẽ gửi một thông báo yêu cầu thông tin tới ứng dụng hiện có (nhà cung cấp) thông qua ESB. Thành phần ứng dụng cần một yêu cầu dưới một định dạng nhất định với thông tin chính xác, do đó nó sẽ xác nhận hợp lệ thông báo yêu cầu trước khi xử lý nó. Thành phần dịch vụ Web có một tập các yêu cầu riêng của mình và sẽ xác nhận hợp lệ thông báo đáp ứng. Nếu hai điểm đầu cuối sử dụng các giao thức hoặc các tiêu chuẩn khác nhau, ESB có thể chuyển đổi từng thông báo và sẽ thực hiện xác nhận hợp lệ trước khi chuyển đổi các thông báo.

Mỗi nhà cung cấp và người tiêu dùng có yêu cầu riêng của mình; vì vậy, tùy thuộc vào số lượng các loại giao dịch và các xác nhận hợp lệ, điều này có thể dẫn đến một chu kỳ phát triển dài để định nghĩa, tạo và thử nghiệm tất cả các xác nhận hợp lệ. Giai đoạn ổn định này tiếp diễn cho tới khi mỗi thành phần xác nhận hợp lệ có thể cung cấp thông tin phản hồi chính xác về xác nhận hợp lệ thông báo cho thành phần đang gọi nó.


Mô tả giải pháp

Cách tiếp cận của giải pháp mà chúng ta mô tả ở đây là triển khai thực hiện các dịch vụ xác nhận hợp lệ dựa trên đặc tả kỹ thuật CAM (Content Assembly Mechanism - Cơ chế lắp ghép nội dung) của OASIS. Cách tiếp cận của khuôn mẫu CAM của OASIS dựa trên một tiếp cận đơn giản để xử lý và xác nhận hợp lệ nội dung XML để cho phép các doanh nghiệp tạo ra các mô hình trao đổi chung lẫn nhau cho các trao đổi của họ bằng XML. Các khuôn mẫu CAM hỗ trợ các quy tắc dựa trên ngữ cảnh, các danh sách-mã và các xác nhận hợp lệ giữa các trường. Không thể triển khai thực hiện nhiều xác nhận hợp lệ giữa các trường chỉ riêng trong một lược đồ XSD; trong các trường hợp khác, trong các lược đồ ngành nghề đã công bố không thể điều chỉnh tất cả các biến của các xác nhận hợp lệ.

Giải pháp này bao gồm CAM Studio (một trình soạn thảo khuôn mẫu giao diện người dùng dựa trên Eclipse), được sử dụng để xác định khuôn mẫu CAM. Sau đó máy xác nhận hợp lệ CAMV cung cấp một bộ các API Java mã nguồn mở được sử dụng để xác nhận hợp lệ XML với các khuôn mẫu CAM cụ thể đã biên dịch trong thời gian chạy. Trình soạn thảo khuôn mẫu CAM Studio hỗ trợ các biểu thức XPath tùy chỉnh bổ sung thêm cho các khuôn mẫu đã tạo ra của nó nhưng giao diện người dùng có thể xác định hầu hết các quy tắc mà không phải viết bất kỳ các biểu thức tùy chỉnh nào.

Hình 2 cho thấy các giai đoạn Mô hình, Tạo ra và Thử nghiệm, Triển khai và Giám sát trong vòng đời phát triển các quy tắc xác nhận hợp lệ:

Hình 2. Vòng đời của các quy tắc xác nhận hợp lệ
Biểu đồ về vòng đời (Mô hình, Tạo và thử nghiệm, Triển khai, Giám sát) để phát triển các quy tắc xác nhận hợp lệ

Giai đoạn Mô hình

Trong bước này, các thực thể dữ liệu và các phần tử dữ liệu của chúng được nhận diện cùng với các quy tắc xác nhận hợp lệ tương ứng của chúng. Lược đồ trao đổi XML cần thiết được thiết kế; hoặc thay vào đó, các phần tử cần thiết được ánh xạ tới một lược đồ tiêu chuẩn ngành nghề hiện có như là một lược đồ từ STAR (Các tiêu chuẩn về Công nghệ trong việc bán lẻ ô tô).

Giai đoạn Tạo và Thử nghiệm

Các khuôn mẫu CAM được lắp ghép hoặc được viết ra bằng cách sử dụng trình soạn thảo CAM Studio. Có ba tùy chọn trình soạn thảo có khả năng được cung cấp để tạo ra một khuôn mẫu CAM:

  1. Tạo từ đầu hoặc làm bằng tay.
  2. Sử dụng một Lược đồ XML hiện có.
  3. Sử dụng một cá thể XML hiện có.

Một khi bạn tạo khuôn mẫu CAM, bước tiếp theo là xem xét lại tất cả thành phần và thuộc tính và chỉ định các quy tắc xác nhận hợp lệ có thể áp dụng. Một bảng điều khiển trong trình soạn thảo hiển thị các quy tắc cho mỗi nút khuôn mẫu. Hình 3 hiển thị một ảnh chụp màn hình của cấu trúc khuôn mẫu trong trình soạn thảo khuôn mẫu CAM:

Hình 3. Khuôn mẫu CAM trong trình soạn thảo khuôn mẫu CAM
Ảnh chụp màn hình Trình soạn thảo khuôn mẫu CAM cho thấy một phác thảo về cấu trúc khuôn mẫu

Mặc dù mọi quy tắc xác nhận hợp lệ về bản chất không bắt buộc có hai phần (nghĩa là, hoặc thông qua hoặc thất bại), CAM hỗ trợ việc xếp loại lỗi xác nhận hợp lệ là Các cảnh báo (Warnings). Tính năng này rất tiện dụng cho các kịch bản ở đó bên cung cấp dịch vụ có thể thực hiện hành động chỉnh sửa, thay đổi nội dung để làm cho thông báo có thể sử dụng thay vì từ chối thông báo hoàn toàn. Ví dụ, một quy tắc có thể yêu cầu độ dài của một trường chú thích cụ thể không vượt quá 255 ký tự; tuy nhiên, không nên từ chối một thông báo yêu cầu khi độ dài vượt quá giá trị tối đa này, mà nên gửi một cảnh báo đến người tiêu dùng chỉ rõ rằng chỉ có 255 ký tự đầu tiên trong trường chú thích này sẽ được sử dụng.

Bạn sẽ thấy các chi tiết về cách thiết lập một phân loại thông báo xác nhận hợp lệ như là một Cảnh báo trong phần các Thủ thuật và các bí quyết của bài viết này.

Giai đoạn triển khai

Các khuôn mẫu CAM được biên dịch bằng cách sử dụng trình soạn thảo CAM Studio trước khi bạn sử dụng chúng với máy CAMV thời gian chạy của ứng dụng. Định dạng đã biên dịch là phiên bản XML cô đọng của chính khuôn mẫu CAM nguyên bản và được thiết kế để tối ưu hóa hiệu năng của máy xác nhận hợp lệ CAMV. Để biên dịch Khuôn mẫu CAM, hãy chọn tùy chọn trình đơn Tools > Compile Template (Các công cụ > Biên dịch Khuôn mẫu). Việc này sẽ tạo ra các định dạng tệp .cxx của khuôn mẫu này, sẽ được sử dụng trong thời gian chạy.

Máy xác nhận hợp lệ CAMV cung cấp một API Java mã nguồn mở, đơn giản có thể được sử dụng trong bất kỳ ứng dụng Java nào để xác nhận hợp lệ một XML đầu vào với khuôn mẫu CAM thích hợp. Các đoạn mã trong Liệt kê 1 minh họa việc sử dụng CAMV:

Liệt kê 1. Sử dụng API CAMV
TemplateValidator tv = new TemplateValidator(templateDocument);
tv.setErrHandler(new ElementErrorHandler(tv));

boolean tvResult = tv.validate(ioReader);

if (tvResult){
        System.out.println("No errors, might be warnings.....");
}

List errList = tv.getErrors();
List warnList = tv.getWarnings();

Các thông báo cảnh báo, lỗi được định dạng như

<error classification>: <XPATH> => <error or warning message> => Node: <node name> => attribute: <attribute name>

Ví dụ, một thông báo lỗi sẽ như sau:

/p:ProcessRepairOrder[1]/p:ApplicationArea[1]/p:CreationDateTime[1]=>Content does not conform to the mask:YYYY-MM-DD'T'HH:MI:SSZ =>Node: CreationDateTime

Một thông báo cảnh báo sẽ như sau:

Warning: /p:ProcessRepairOrder[1]/p:ProcessRepairOrderDataArea[1]/p:RepairOrder[1] /p:RepairOrderHeader[1]/p:OwnerParty[1]/p:SpecifiedPerson[1]/p:ResidenceAddress[1] /p:LineOne[1]=> length should be less than 80 =>Node: LineOne

Giai đoạn giám sát

Nhờ sử dụng CAMV, bạn có thể thể hiện ra ngoài tất cả các việc kiểm tra xác nhận hợp lệ và không cần phải nhúng chúng vào trong mã hay triển khai thực hiện bằng cách viết mã tùy chỉnh. Trong chu kỳ giám sát, bạn có thể đáp ứng nhu cầu cho các xác nhận hợp lệ bổ sung bằng cách chỉ cần cập nhật các khuôn mẫu xác nhận hợp lệ. Để thêm vào các xác nhận hợp lệ bổ sung hoặc loại bỏ các xác nhận hợp lệ hiện có, hãy phát hành lại các khuôn mẫu CAM đã biên dịch (tệp .cxx). Bạn không cần phải biên dịch lại và triển khai lại bất kỳ mã Java nào trong trường hợp có sự thay đổi về logic xác nhận hợp lệ.


Các tính năng mới trong phiên bản CAMV mới nhất

Một số trong các tính năng chính được thêm vào bản phát hành (12.2009) mới nhất của CAMV là:

  1. Một phiên bản tương thích ngược tải về cho phiên bản Java 1.5 đã được tạo ngoài phiên bản Java1.6 mặc định.
  2. CAMV là an toàn về luồng xử lý; vì vậy, nó có thể được triển khai trong thùng chứa J2EE bất kỳ như WebSphere® Application Server.
  3. Bây giờ CAMV có thể chấp nhận đầu vào XML dưới dạng StringReader ngoài các tài liệu JDOM, làm giảm các cá thể tuần tự hóa và không tuần tự hóa có khả năng trong việc xử lý thông báo.
  4. Bây giờ nhiều điều kiện có thể được định nghĩa trong một phần tử hoặc thuộc tính XML đơn.

Các thủ thuật và các bí quyết

Sau đây là các thủ thuật và các bí quyết mà chúng tôi nhận ra từ một dự án mới đây ở nơi chúng tôi đã sử dụng CAMV để tạo ra một khung công tác xác nhận hợp lệ cho một Gateway B2B, trưng ra các dịch vụ Web dựa trên-STAR cho một tổ chức kinh doanh ô tô hàng đầu.

Các phân loại xác nhận hợp lệ

CAMV hỗ trợ việc tạo các quy tắc xác nhận hợp lệ nhằm đưa ra các thông báo Cảnh báo ngoài các thông báo Lỗi. Một biểu thức XPath có điều kiện cần phải được xác định trên phần tử XML để chỉ rõ việc xác nhận hợp lệ cho thông báo Cảnh báo.

Ví dụ, hãy xem xét một kịch bản nghiệp vụ ở đó yêu cầu dịch vụ Web không bị loại bỏ nếu độ dài của trường cụ thể vượt quá giới hạn đã định là 255 ký tự. Quyết định nghiệp vụ là cắt ngắn độ dài của trường đến 255 ký tự, nếu nó vượt quá, theo yêu cầu của hệ thống tầng sau; tuy nhiên phải đưa ra một cảnh báo cho thành phần gọi.

Các kịch bản như vậy có thể được xử lý bằng cách xác định một biểu thức printmessage() trong các quy tắc khuôn mẫu CAM.

Văn bản của Thông báo phải có một tiền tố Warning: :(Cảnh báo) theo sau là thông báo cảnh báo cần thiết như là length should be less than 255 (độ dài nên nhỏ hơn 255). Văn bản thông báo hoàn chỉnh sẽ hiện ra như là Warning: length should be less than 255 (Cảnh báo: độ dài nên nhỏ hơn 255).

Vì cảnh báo được trả về chỉ khi độ dài của phần tử cụ thể vượt quá độ dài quy định, quy tắc này được quy định là có điều kiện và một biểu thức XPath được tạo ra để thực hiện việc kiểm tra độ dài như được mô tả trong ảnh chụp màn của Hình 4 về công cụ trình thủ thuật nhập biểu thức CAM Studio:

Hình 4. Làm thế nào để cấu hình một quy tắc cảnh báo
Ảnh chụp màn hình về một quy tắc cho một thông báo cảnh báo kiểm tra một độ dài 255 ký tự

Ghi nhớ sẵn khuôn mẫu CAMV

Bạn có thể lưu khuôn mẫu CAMV vào bộ nhớ sẵn để thực hiện các xác nhận hợp lệ lặp lại mà không phải đọc các khuôn mẫu từ đĩa cứng cho tất cả xác nhận hợp lệ được thực hiện. Điều này làm giảm hoạt động vào/ra (I/O) của đĩa và cải thiện đáng kể hiệu năng và khả năng thông qua.

Kiểm tra các lỗi xác nhận hợp lệ

Phương thức Java TemplateValidator.validate(..) của CAMV trả về true (đúng) ngay cả khi có các cảnh báo được trả về. Phương thức này cho kết quả false (sai) khi các lỗi được trả về. Do đó, trong trường hợp ở đó chỉ có các cảnh báo được trả về, hãy sử dụng phương thức getWarnings() để nhận được danh sách của bất kỳ các thông báo cảnh báo nào.

Các thông báo xác nhận hợp lệ

Nếu các thông báo được trả về (có chứa đường dẫn XPath, một thông báo xác nhận hợp lệ và tên một nút), không đủ cho các kịch bản nghiệp vụ và cần có nhiều thông tin hơn, thì ứng dụng khách hàng có thể tạo ra mã tùy chỉnh. CAMV trả về XML đầu vào tương tự sau khi thêm các thuộc tính CAMERROR và CAMWARN tới XML đầu vào của thông báo trao đổi như mô tả trong Liệt kê 2.

Liệt kê 2. XML đã sửa đổi sau khi thực hiện xác nhận hợp lệ
<p:ApplicationArea>
<p:Sender>
<p:CreatorNameCode>CNV</p:CreatorNameCode>
<p:SenderNameCode>SNC</p:SenderNameCode>
</p:Sender>
<p:CreationDateTime CAMERROR="CreationDateTime | Content does not conform to the
mask:YYYY-MM-DD'T'HH:MI:SSZ">2001-12-31T12:00:00</p:CreationDateTime>
<p:Destination/>
</p:ApplicationArea>

<p:ResidenceAddress>
<p:LineOne CAMWARN="WARNING:LineOne |  length should be less than 80">100 Moon Drive 
100 Moon Drive 100 Moon Drive 100 Moon Drive 100 Moon Drive 100 Moon Drive</p:LineOne>
<p:LineTwo>APT # 100</p:LineTwo>
<p:CityName>MALIBU</p:CityName>
<p:CountryID>US</p:CountryID>
<p:Postcode>99999</p:Postcode>
<p:StateOrProvinceCountrySub-DivisionID>CA</p:StateOrProvinceCountrySub-DivisionID>
</p:ResidenceAddress>

Các biểu thức ký tự đại diện

Khi nhập các quy tắc vào khuôn mẫu, các biểu thức xác nhận hợp lệ XPath được xác định (theo mặc định) bằng cách sử dụng biểu thức ký tự đại diện là hai dấu gạch chéo (//) để chọn tất cả các nút trong tài liệu kể từ nút hiện tại khớp với sự lựa chọn bất kể chúng đang ở đâu.

Hình 5. Cách xác định các biểu thức ký tự đại diện trong khi định nghĩa các quy tắc
Ảnh chụp màn hình về một quy tắc với một biểu thức XPath khi sử dụng hai dấu gạch chéo ngược (một giá trị đại diện)

Điều này dẫn đến các quy tắc sắp được áp dụng cho tất cả các các thể như vậy của một phần tử cụ thể. (Lưu ý: Các quy tắc này có thể không nhìn thấy ngay lập tức tại tất cả các cá thể khác của một phần tử cụ thể nhưng sẽ trở nên nhìn thấy khi khuôn mẫu được làm mới trong khung nhìn của trình soạn thảo khuôn mẫu CAM).

Tuy nhiên, trong trường hợp bạn cần áp dụng việc kiểm tra một cá thể cụ thể của một phần tử XML thì lời khuyên là nên đánh dấu chọn Full cho hộp kiểm Rule XPath.

Hình 6. Cách xác định biểu thức hiện trong khi xác định các quy tắc
Ảnh chụp màn hình về một quy tắc với một biểu thức XPath rõ ràng

Tóm tắt

Khi sử dụng CAMV, bạn có thể bắt buộc kiểm tra xác nhận hợp lệ một cách nhất quán và sau đó nhanh chóng thay đổi các quy tắc để tinh chỉnh việc xử lý thông báo cho khớp với các trao đổi và nội dung của đối tác cụ thể. Bằng cách thể hiện ra bên ngoài các quy tắc xác thực hợp lệ, mà thông thường vẫn được nhúng vào sâu bên trong mã ứng dụng tầng sau, bạn có quyền kiểm soát và quản lý tốt hơn cùng với việc xử lý thông báo có dự báo trước nhiều hơn. Các khuôn mẫu quy tắc dựa trên các tiêu chuẩn này, tùy trường hợp có thể được chia sẻ với các đối tác để tạo điều kiện thuận lợi cho sự liên kết xử lý nội dung tốt hơn trên toàn hệ thống.

Với một quá trình tự thích nghi và khắc phục lỗi tốt hơn, ứng dụng có thể xử lý một phạm vi rộng lớn hơn các nội dung và, do đó hỗ trợ dễ dàng hơn một tập rộng lớn các đối tác tương tác với chi phí hỗ trợ và bảo trì giảm đi — đó là điều trái ngược với các kinh nghiệm thường thấy.

Việc sử dụng mã nguồn mở đã tạo điều kiện hợp tác tuyệt vời để phát triển giải pháp và tích hợp máy CAMV vào môi trường triển khai.

Nhìn chung, dự án này đã chứng tỏ rằng sử dụng sáng tạo XML và các khuôn mẫu quy tắc XML có khả năng cấu hình động có thể cung cấp một trải nghiệm ứng dụng tốt hơn, ổn định hơn, nhanh hơn và có khả năng tùy chỉnh hơn là chỉ dựa vào các tài nguyên mã nguồn được biên dịch tĩnh.


Tải về

Mô tảTênKích thước
Sample Java project that uses CAMV Java APIsValidationFrameworkSample.zip2032KB

Tài nguyên

Học tập

Lấy sản phẩm và công nghệ

Thảo luận

Bình luận

developerWorks: Đăng nhập

Các trường được đánh dấu hoa thị là bắt buộc (*).


Bạn cần một ID của IBM?
Bạn quên định danh?


Bạn quên mật khẩu?
Đổi mật khẩu

Bằng việc nhấn Gửi, bạn đã đồng ý với các điều khoản sử dụng developerWorks Điều khoản sử dụng.

 


Ở lần bạn đăng nhập đầu tiên vào trang developerWorks, một hồ sơ cá nhân của bạn được tạo ra. Thông tin trong bản hồ sơ này (tên bạn, nước/vùng lãnh thổ, và tên cơ quan) sẽ được trưng ra cho mọi người và sẽ đi cùng các nội dung mà bạn đăng, trừ khi bạn chọn việc ẩn tên cơ quan của bạn. Bạn có thể cập nhật tài khoản trên trang IBM bất cứ khi nào.

Thông tin gửi đi được đảm bảo an toàn.

Chọn tên hiển thị của bạn



Lần đầu tiên bạn đăng nhập vào trang developerWorks, một bản trích ngang được tạo ra cho bạn, bạn cần phải chọn một tên để hiển thị. Tên hiển thị của bạn sẽ đi kèm theo các nội dung mà bạn đăng tải trên developerWorks.

Tên hiển thị cần có từ 3 đến 30 ký tự. Tên xuất hiện của bạn phải là duy nhất trên trang Cộng đồng developerWorks và vì lí do an ninh nó không phải là địa chỉ email của bạn.

Các trường được đánh dấu hoa thị là bắt buộc (*).

(Tên hiển thị cần có từ 3 đến 30 ký tự)

Bằng việc nhấn Gửi, bạn đã đồng ý với các điều khoản sử dụng developerWorks Điều khoản sử dụng.

 


Thông tin gửi đi được đảm bảo an toàn.


static.content.url=http://www.ibm.com/developerworks/js/artrating/
SITE_ID=70
Zone=Nguồn mở, Công nghệ Java
ArticleID=715467
ArticleTitle=Khung công tác xác nhận hợp lệ XML khi sử dụng OASIS CAM (CAMV)
publish-date=07122011