A rfid middleware