The infrastructure for RFID edge components must be incredibly robust. Ideally, the readers, RFID middleware, and so on should support effortless plug-and-play functioning. In other words, they should be the edge equivalents of telephones in terms of ease of use, provisioning, monitoring, and management. A human operating a bar code scanner will be able to tell if the scanner goes down, but you'll need to employ automated means to monitor and manage RFID readers. Also, you'll want to shield your applications from the large number of readers deployed in a store or other location. To support all this, your edge architectures will need to be more flexible, scalable, robust, secure, and manageable than ever before.
As is always the case in a technology's early adoption phase, RFID standards and products are rapidly evolving. It is very likely that you will encounter a highly heterogeneous infrastructure, whereas types of RFID tags, readers, and other sensors will vary. Event managers based on standards such as ALE will have to coexist with other vendor-specific extensions to vertical applications such as point-of-sale and warehouse-management systems. When developing your RFID architecture roadmap, it is very important to take a close look at both your business and systemic quality requirements and how they might evolve over time. RFID systems are no different than any other distributed system in that you should plan for performance, scalability, security, manageability, maintainability, ease of use, and failover early on. The following section cover some important principles to consider when devising an RFID architecture roadmap for your company.
While researching this book, we approached many experts in RFID technologies and asked them what aspect was most overlooked when designing RFID systems. The almost unanimous response was business processes. In our experience as system architecture consultants, which has spanned several new waves of technologies, we have often seen people forget that technology's ultimate purpose is to solve business problems. This is the case even more so with promising new technologies, as the newness and buzz surrounding these technologies drive a bottom-up way of thinking. While you're defining the business requirements
and capturing functional requirements, pay careful attention to accounting for exception processing. These are the "what if" situations, such as what to do if a reader goes down, or a tag falls off a package, or you are not able to read a particular tag. The exception scenarios should provide capabilities to use alternate means to accomplish the task. For example, if a read registers only 50 packages of a product when an operator visually determines that the number should be closer to 100, you could create alternate workflows to obtain the inventory count manually.