MỤC LỤC
Thay vỡ đỏi hỏi con người phải tương tỏc với nhau để theo dừi tài sản hay hàng húa trong nhà chúng ta, các ứng dụng sẽ có thể “thấy” món hàng trên mạng nhờ định danh điện tử và kết nối RF không dây. Các đối tác kinh doanh cuối cùng sẽ có thể trao đổi thông tin về sản phẩm từ đầu n ày đến đầu kia của dây chuyền cung ứng và có thể nhận ra ngay tức thì vị trí và tình trạng hiện thời của cỏc mún hàng.
Kiến trúc hướng dịch vụ cho phép chúng ta phát triển và triển khai nhiều module “liên kết lỏng lẻo” với nhau sử dụng các chuẩn dựa trên dịch vụ web. Ở các phần sau, chúng ta sẽ thấy rằng nhiều thành phần RFID lớp trung gian dựa trên các chuẩn của dịch vụ web, và kiến trúc tổng quan của một hệ thống RFID tuân theo các nguy ên tác mà ngày nay đư ợc chấp nhận rộng rãi như là nền tảng của kiến trúc hướng dịch vụ.
In nhận dạngtheo một font chữ nhất định có thể giúp cho hệ thống làm việc dễ dàng hơn nhưng nếu thông tin nhận dạng chỉ cần đ ược đọc từ hệ thống tự động, tại sao không in thông tin nhận dạng đó theo một mẫu mà hệ thống có thể đọc được một cách dễ dàng?. Công ty dư ợc phẩm cú thể sẽ cú được thụng tin theo dừi hoàn chỉnh về từng loại thuốc mà họ đó sản xuất ra và gửi đến một vùng nào đó bằng cách yêu cầu các nhà phân phối, nhà vận chuyển, và các nhà thuốc truyền thụng tin này vào hệ thống theo dừi của họ.
Nếu bạn chỉ đơn giản chuyển hết những quan sát này tới ứng dụng doanh nghiệp chạy tại trung tậm dữ liệu của bạn, bạn sẽ không chỉ làm ngập các ứng dụng mà cònđẩy các mạng và các thành phần hạ tầng khác tới mức giới hạn cho phép.T ương tự, các ứng dụng xuôi dòng này cũng sẽ tìm thấy các quan sát thô không thật sự cần thiết. Có thể sẽ mất nhiều năm để nhìn ra được một mạng lưới các máy chủ EPCIS trải rộng khắp các ngành công nghiệp, một bước trung gian cần thiết là thực hiện một cơ sở dữ liệu có thể ánh xạ các định danh được dung trong dữ liệu theo dừi RFID vào một tập đầy đủ hơn cỏc thụng tin liờn quan đ ến cỏc ứng dụng doanh nghiệp.
Nếu bạn làm vậy, thì hệ thống kiểm kê hàng hóa, ngoài việc bị quá tải bởi lượng dữ liệu đầu vào quá lớn, còn phải liên tục điều chỉnh theo các quan sát biến động từ các đầu đọc trên kệ thông minh. Tuân theo các nguyên tắc của kiến trúc hướng dịch vụ, chúng ta sẽ muốn giao diện này có thể gắn kết lỏng (loosely coupled) , bất đồng bộ và tuân theo các chuẩn dịch vụ bất đồng bộ ngày nay.
Trong hình 3-3, middleware có thể hỗ trợ chức năng phát hiện đầu đọc, phòngđoán, giám sát và quản lý, cung cấp tập dữ liệu, phiên dịch, lọc, và các cơ chế phân nhóm, hỗ trợ các giao diện hướng dịch vụ chuẩn như Java, J2EE, .NET và dịch vụ Web; và đề xuất các tính năng phỏng đoán từ xa, giám sát và quản lý. Chúng ta sẽ trỡnh bàyđặc tả này theo cỏc chi tiết quan trọng để bạn cú thể tự mỡnh hiểu rừ cỏc khỏi niệm và API trọng tâm, nhưng bạn cũng nên ý thức rằng một vài triển khai đặc tả ALE khác nhau đã có mặt trên thị trường, với những ưu điểm và mở rộng riêng.
Trong ngữ cảnh của đặc tả ALE, một thiết bị vật lý có thể là một đầu đọc RFID có gắn ang-ten, một máy quét mã vạch tương thích EPC hay bất kì thiết bị tương tự nào; còn một Reader là một khái niệm trừu tượng. Đặc tả cũng cung cấp cơ chế gắn kết SOAP tương thích với các dịch vụ web (WS-I-compliant SOAP binding).Tất cả những gì mà đặc tả ALE yêu cầu là các thực thi từ nhà phát triển tương thích với đặc tả về dịch vụ Web theo mô hình giao diện và gắn kết SOAP.
Nếu bạn gắn kết một thiết bị luận lý tới một nhóm thiết bị vật lý một cách tường minh bằng cách sử dụng Bind Wizard, BizTalk sẽ tạo một hard link tới nhóm thiết bị n ày, tạo các soft link tới tất cả các nhóm thiết bị con, tạo các soft link tới tất cả các thiết bị trong c ùng nhóm, và tạo các soft link tới tất cả các nguồn trong thiết bị. Ví dụ, trong kịch bản “Xử lý đơn đặt hàng”, bạn có thể xây dựng một luật nh ư sau: trong một sự kiện đọc thẻ, dùng các tài liệu XML bên ngoài để so sánh giá trị hiện tại của nó với thông tin thẻ, và thực hiện hành động gửi dữ liệu thẻ tới c ơ sở dữ liệu Cases Shipped.
Ví dụ, bạn có thể chỉ định tần suất bạn muốn hệ thống kiểm tra các bản chính sách mới nhất và thực thi chúng, bạn có thể nói hệ thống dùng một phiên bản chính sách mà không quan tâm đến việc chính sách bị thay đổi bao nhiêu lần. Trong kịch bản ví dụ, một luật đ ơn giản được thiết lập là so sánh các thông tin thẻ với các thông tin đơn đặt hàng, trong trường hợp không trùng khớp, một cảnh báo sẽ đ ược thực thi.
DSPI là một giao diện mà các thiết bị RFID dùng để giao tiếp với BizTalk RFID, thông qua quá trình trừu tượng hóa và quản trị thiết bị. Điều đó cónghĩa là DSPI sẽ chịu trách nhiệm tương tác và thực hiện các yêu cầu về phía thiết bị, nhà phát triển chỉ cần tương tác với DSPI thông qua các đối t ượng của BizTalk RFID.
Các nhà sản xuất phần cứng sử dụng DSPI như là một SDK chuẩn thống nhất do Microsoft cung cấp để xây dựng các device providers. Dựa trên tình huống kinh doanh, lớp xử lý sự kiện có thể thực thi các mã tùy chỉnh dựa trên .NET framework hoặc một chính sách Bussiness Rule Engine.
Một nút xử lý sự kiện có thể thực thi chức năng lọc, cảnh bảo, hoặc chuyển đổi sự kiện. Điều này giúp làm sạch các dữ liệu thẻ trước khi chúng đến các ứng dụng đằng sau để đ ược xử lý thêm.
Thiết bị xử lý yêu cầu và thực hiện hành động theo yêu cầu nó nhận được.
Các bộ xử lý sự kiện trong ống quy trình xử lý các sự kiện này. Quy trình gửi các sự kiện tới EventHandler2 sau khi EventHandler1 xử lý xong yêu cầu.
BizTalk RFID tạo một sự kiện WMI t ương ứng với tín hiệu từ thiết bị và gửi sự kiện WMI này tới các ứng dụng WMI client đang lắng nghe.
Lớp DeviceManagerProxy cung cấp các APIs quản lý thiết bị và nhóm thiết bị, như thêm một thiết bị mới, cập nhật thiết bị hiện tại, hoặc xóa bỏ một thiết bị. Mô hình truyền lệnh đồng bộ được thiết kế theo kết cấu request-response, mà ở đó một đối tượng đưa ra một yêu cầu tới đối tượng khác và chờ đợi cho đến khi nó nhận lại câu trả lời tr ước khi nó đưa ra yêu cầu khác.
Bản chất hướng kết nối của mô hình lệnh đồng bộ yêu cầu nhà phát triển phần mềm đóng kết nối sau khi dùng chúng, giống với việc các kết nối tới cơ sở dữ liệu phải được đóng lại sau khi dùng xong. Nếu một nhà phát triển quên đóng kết nối và thoát khỏi kết nối, thì kết nối này không thể dùng được nữa cho đến khi nhà phát triển đóng kết nối bằng ph ương thức KillConnection trong lớp Microsoft.SensorServices.Rfid.Management.DeviceManagerProxy.
Ứng dựng ngoài (Ứng dụng Windows) yêu cầu BizTalk RFID các thông tin về các thiết bị sẵn có thông qua ph ương thức GetAllDevices của lớp Microsoft.SensorServices.Rfid.Management.Device ManagerProxy. MessageBox.Show(ex.Message);. Lưuý: RFID Service phải được khởi động trước khi sử dụng ứng dụng Lấy thông tin thẻ. Để lấy thông tin thẻ, ta sử dụng phương thức GetTags của lớp System.IO. TagDataSelector selector = TagDataSelector.All;. //now get the tags currentTags = null;. currentTags = IList<TagReadEvent>)connection.GetTags(selector);.
ErrorPercentageThreshold: Nếu tỉ lệ phần trăm của số l ượng lỗi trên tổng số sự kiện vượt qua ngưỡng do nhà lập trình chỉ định trong tham số ErrorPercentageThreshold, BizTalk RFID sẽ cố gắng khởi động lại quy trình. Tuy nhiên, nếu một sự kiện kết thúc thực thức trước khi quy trình chuyển sang cho độ EventCollection hoặc ngừng lại hay khởi động lại, sự kiện vẫn được xử lý bình thường, nghĩa là BizTalk RFID sẽ không đẩy sự kiện này vào hàng đợi SuspendedQueue.
Chúng ta có thể sử dụng Business Rule Composer để định nghĩa các từ vựng đặt trong một khu vực chia sẻ, nghĩa là các từ vựng này có thể được sử dụng trong nhiều quy tắc và chính sách khác nhau. Điều này có nghĩa là một chính sách sử dụng một phiên bản cụ thể của từ vựng, sẽ không gặp phải các sự cố không mong đợi do sự thay đổi b ên dưới từ vựng đó.
Lưu, phát hành (publish) và đăng kí (deloy) chính sách vào môi trư ờng thực thi. Thêm một bộ xử lý sự kiện RuleEnginePolicyExcutor vào quy trình RFID. Chọn chính sách kinh doanh và phiên bản sử dụng cho bộ xử lý RuleEnginePolicyExcutor. Ghi chú: các bước 1,2,3 có thể được thực hiện thông qua công cụ Business Rules Composer. Các bước 4,5 được thực hiện trên công cụ RFID Manager. phép xây dựng các dịch vụ mạng phân tán). Trong “quy trình cung ứng sản phẩm”, một dịch vụ tính tiền đ ược triển khai trongquy trình “OrderFulfillment”, các s ự kiện RFID hợp lệ sẽ đ ược bộ xử lý sự kiện WCF chuyển về một ứng dụng tính tiền client thông qua dịch vụ WCF.
1Độ trễ đầu cuối đến đầu cuối trong kịch bản này là thời gian dữ liệu thẻ đến bộ ghi nhận sự kiện, nhưng không tính thời gian SQL Server chèn thông tin này vào bảng dự liệu. Nếu thông lượng và tốc độ đọc thẻ đầu vào là đồng nhất (nghĩa là các thẻ không phải xếp hàng để chờ xử lý) thìlượng bộ nhớ tăng thêm là một hằng số (xấp xỉ 60MB cho một quy trình).