INNOV-06: RFID Enabling your OpenEdge™ Application
description
Transcript of INNOV-06: RFID Enabling your OpenEdge™ Application
2 INNOV-06: RFID Enabling your OpenEdge Application© 2005 Progress Software Corporation
Session Goals
Present an architecture for integrating RFID event capture into your OpenEdge applications– Shipping & receiving docks,
– Packing stations,
– Conveyor systems, … Introduce the OpenEdge RFID Library and
how it can help you meet your application RFID demands
3 INNOV-06: RFID Enabling your OpenEdge Application© 2005 Progress Software Corporation
RFID Events Signal the placement or removal of a
tagged item in or from the detection field of an RFID reader
Event attributes– Time
– Tag ID (EPC)
– Reader ID
– Action (Add or Delete) May trigger a business event
4 INNOV-06: RFID Enabling your OpenEdge Application© 2005 Progress Software Corporation
RFID Business Events Events derived from low level RFID events
and other inputs. Puts events into a business context
Event attributes– Business action (pack, ship, receive, …)
– Location (DC 23, Dock 9, …)
– Tag IDs (EPCs)
– Time Input to business apps
Invoice
xxxx xxx xxx √
xxxx xxx xxx √
xxxx xxx xxx √
xxxx xxx xxx √
5 INNOV-06: RFID Enabling your OpenEdge Application© 2005 Progress Software Corporation
RFID Event Processing Goals Insulate applications from high volume,
“noisy” RFID event streams Insulate applications from specifics of
readers to allow reader replacement Process events on the edge to minimize
load on back-end systems Automate generation of business events
from low level events Store events to allow audit and analysis of
performance of business processes
6 INNOV-06: RFID Enabling your OpenEdge Application© 2005 Progress Software Corporation
Architecture for RFID Event Capture
RFID Event Layer
Readers
ALE
Sensors
Event Repository
RFID Accelerator
WebServices / Sonic
RFID Application Layer
OpenEdge RFID Library
OpenEdge Application
7 INNOV-06: RFID Enabling your OpenEdge Application© 2005 Progress Software Corporation
The Event Layer RFID middleware (ALE)
– “Application Level Event”
– First line of defense against RFID noise
– Aggregates and filters RFID events
– Common API, independent of reader type RFID repository (RFID-Accelerator)
– Event history for audit and analysis
– Event buffer for store/forward, offline, … RFID readers and sensors
– Physical devices on docks, conveyors, …
8 INNOV-06: RFID Enabling your OpenEdge Application© 2005 Progress Software Corporation
The Application Layer
OpenEdge application– Standalone,
– AppServer, … OpenEdge RFID Library
– 4GL API for accessing ALE and RFID-A event data
– Hides details of ALE and RFID-A web service interfaces
9 INNOV-06: RFID Enabling your OpenEdge Application© 2005 Progress Software Corporation
RFID Event Flow
Middlew
are(A
LE)
RFIDReader
OpenEdge Application
RFID Events
RFID Events
Query
Event HistoryQueryRFID Reader
Event History(RFID-A)
10 INNOV-06: RFID Enabling your OpenEdge Application© 2005 Progress Software Corporation
ALE Middleware
Aggregates and filters RFID events Abstraction layer above readers Web-service interface for querying RFID
events (ECSpecs & ECReports) Query/Reply model and subscriptions
(HTTP post, JMS, …) Answers question:
“what is at reader X now”
11 INNOV-06: RFID Enabling your OpenEdge Application© 2005 Progress Software Corporation
RFID Accelerator Collection and storage of RFID event
streams (keep out of ERP/WMS DB) Edge data store, buffering, track/trace, … Greater “noise” reduction above ALE Web-service interface for querying RFID
event history (EHSpecs & EHReports) Query/Reply model Answers questions such as:
“What passed through dock 5 yesterday between 9:00 and 11:00 AM?”
12 INNOV-06: RFID Enabling your OpenEdge Application© 2005 Progress Software Corporation
What are Specs & Reports?
Specs define “queries”– ECSpec: Event Cycle Spec for ALE
– EHSpec: Event History Spec for RFID-A Reports are the results of “queries”
– ECReport: Event Cycle Report from ALE
– EHReport: Event History Report from RFID-A XML documents passed via web service
interface
13 INNOV-06: RFID Enabling your OpenEdge Application© 2005 Progress Software Corporation
Sample ECSpec<ECSpec> <logicalReaders> <logicalReader>dock_1a</logicalReader> <logicalReader>dock_1b</logicalReader> </logicalReaders> <boundarySpec> <startTrigger>http://sample.com/trigger1</startTrigger> <repeatPeriod unit="MS">20000</repeatPeriod> <stopTrigger>http://sample.com/trigger2</stopTrigger> <duration unit="MS">3000</duration> </boundarySpec> <reportSpecs> <reportSpec reportName="report1"> <reportSet set="CURRENT"/> <output includeList="true"/> </reportSpec> </reportSpecs></ECSpec>
14 INNOV-06: RFID Enabling your OpenEdge Application© 2005 Progress Software Corporation
Sample ECReport<ECReports> <reports> <report reportName="report1"> <group> <groupList> <member><epc>urn:epc:tag:gid-64-i:10.50.1000</epc></member> <member><epc>urn:epc:tag:gid-64-i:10.50.1001</epc></member> </groupList> </group> </report> <report reportName="report2"> <group name="urn:epc:pat:sgtin-64:3.0037000.12345.*"> <groupCount><count>2</count></groupCount>
</group> <group name="urn:epc:pat:sgtin-64:3.0037000.55555.*"> <groupCount><count>3</count></groupCount>
</group> </report> </reports></ECReports>
15 INNOV-06: RFID Enabling your OpenEdge Application© 2005 Progress Software Corporation
OpenEdge RFID Library Overview
OpenEdge library for integrating the processing of RFID events into OpenEdge applications
Supports retrieval of RFID events from any ALE middleware (either query/reply or subscriptions)
Supports retrieval of RFID event history from RFID-A
16 INNOV-06: RFID Enabling your OpenEdge Application© 2005 Progress Software Corporation
OpenEdge RFID Library Features
Easy to use API provides a procedural approach to creating and issuing queries– No need to know details EC/EHSpecs
Event data presented as ProDataSets and TempTables makes it easy to process data in 4GL– No need to know details EC/EHReports
No need to know details of web services or SOAP
17 INNOV-06: RFID Enabling your OpenEdge Application© 2005 Progress Software Corporation
Demonstration 1: Receiving Dock Monitor
Receives asynchronous reports from ALE as pallets of goods move through the dock
As each report is received OpenEdge RFID Library creates a temp-table of tags which moved through dock and calls user procedure to process them the tags
Same concepts apply to other RFID situations; shipping, packing, conveyor ...)
18 INNOV-06: RFID Enabling your OpenEdge Application© 2005 Progress Software Corporation
Demonstration 1
19 INNOV-06: RFID Enabling your OpenEdge Application© 2005 Progress Software Corporation
Sample API Usage
RUN rfid/rfidlib.p PERSISTENT SET hrfidlib.RUN createALEClient IN hrfidlib (INPUT url, OUTPUT hALEClient).
RUN createECSpec IN hrfidlib (OUTPUT hECSpec).
RUN setLogicalReaders IN hECSpec (INPUT “DockDoor1”).RUN setDuration IN hECSpec (INPUT duration)....
RUN createECReportSpec in hrfidlib (INPUT name, OUTPUT hECReportSpec).RUN addIncludePattern in hECReportSpec (INPUT filter).
RUN addECReportSpec in hECSpec (INPUT hECReportSpec).
RUN immediate IN hALEClient (INPUT hECSpec, OUTPUT DATASET dsECReport).
FOR EACH ttECReport: FOR EACH ttECGroup OF ttECReport: FOR EACH ttECMember OF TTECGroup: DISPLAY ttECMember.epc. END. END.END.
20 INNOV-06: RFID Enabling your OpenEdge Application© 2005 Progress Software Corporation
Load OpenEdge RFID Library Procedure Library
RUN rfid/rfidlib.p PERSISTENT SET hrfidlib.RUN createALEClient IN hrfidlib (INPUT url, OUTPUT hALEClient).
RUN createECSpec IN hrfidlib (OUTPUT hECSpec).
RUN setLogicalReaders IN hECSpec (INPUT “DockDoor1”).RUN setDuration IN hECSpec (INPUT duration)....
RUN createECReportSpec in hrfidlib (INPUT name, OUTPUT hECReportSpec).RUN addIncludePattern in hECReportSpec (INPUT filter).
RUN addECReportSpec in hECSpec (INPUT hECReportSpec).
RUN immediate IN hALEClient (INPUT hECSpec, OUTPUT DATASET dsECReport).
FOR EACH ttECReport: FOR EACH ttECGroup OF ttECReport: FOR EACH ttECMember OF TTECGroup: DISPLAY ttECMember.epc. END. END.END.
21 INNOV-06: RFID Enabling your OpenEdge Application© 2005 Progress Software Corporation
Create an ALE Client
RUN rfid/rfidlib.p PERSISTENT SET hrfidlib.RUN createALEClient IN hrfidlib (INPUT url, OUTPUT hALEClient).
RUN createECSpec IN hrfidlib (OUTPUT hECSpec).
RUN setLogicalReaders IN hECSpec (INPUT “DockDoor1”).RUN setDuration IN hECSpec (INPUT duration)....
RUN createECReportSpec in hrfidlib (INPUT name, OUTPUT hECReportSpec).RUN addIncludePattern in hECReportSpec (INPUT filter).
RUN addECReportSpec in hECSpec (INPUT hECReportSpec).
RUN immediate IN hALEClient (INPUT hECSpec, OUTPUT DATASET dsECReport).
FOR EACH ttECReport: FOR EACH ttECGroup OF ttECReport: FOR EACH ttECMember OF TTECGroup: DISPLAY ttECMember.epc. END. END.END.
22 INNOV-06: RFID Enabling your OpenEdge Application© 2005 Progress Software Corporation
Create an ECSpec
RUN rfid/rfidlib.p PERSISTENT SET hrfidlib.RUN createALEClient IN hrfidlib (INPUT url, OUTPUT hALEClient).
RUN createECSpec IN hrfidlib (OUTPUT hECSpec).
RUN setLogicalReaders IN hECSpec (INPUT “DockDoor1”).RUN setDuration IN hECSpec (INPUT duration)....
RUN createECReportSpec in hrfidlib (INPUT name, OUTPUT hECReportSpec).RUN addIncludePattern in hECReportSpec (INPUT filter).
RUN addECReportSpec in hECSpec (INPUT hECReportSpec).
RUN immediate IN hALEClient (INPUT hECSpec, OUTPUT DATASET dsECReport).
FOR EACH ttECReport: FOR EACH ttECGroup OF ttECReport: FOR EACH ttECMember OF TTECGroup: DISPLAY ttECMember.epc. END. END.END.
23 INNOV-06: RFID Enabling your OpenEdge Application© 2005 Progress Software Corporation
Set ECSpec Attributes
RUN rfid/rfidlib.p PERSISTENT SET hrfidlib.RUN createALEClient IN hrfidlib (INPUT url, OUTPUT hALEClient).
RUN createECSpec IN hrfidlib (OUTPUT hECSpec).
RUN setLogicalReaders IN hECSpec (INPUT “DockDoor1”).RUN setDuration IN hECSpec (INPUT duration)....
RUN createECReportSpec in hrfidlib (INPUT name, OUTPUT hECReportSpec).RUN addIncludePattern in hECReportSpec (INPUT filter).
RUN addECReportSpec in hECSpec (INPUT hECReportSpec).
RUN immediate IN hALEClient (INPUT hECSpec, OUTPUT DATASET dsECReport).
FOR EACH ttECReport: FOR EACH ttECGroup OF ttECReport: FOR EACH ttECMember OF TTECGroup: DISPLAY ttECMember.epc. END. END.END.
24 INNOV-06: RFID Enabling your OpenEdge Application© 2005 Progress Software Corporation
Create an ECReport Spec
RUN rfid/rfidlib.p PERSISTENT SET hrfidlib.RUN createALEClient IN hrfidlib (INPUT url, OUTPUT hALEClient).
RUN createECSpec IN hrfidlib (OUTPUT hECSpec).
RUN setLogicalReaders IN hECSpec (INPUT “DockDoor1”).RUN setDuration IN hECSpec (INPUT duration)....
RUN createECReportSpec in hrfidlib (INPUT name, OUTPUT hECReportSpec).RUN addIncludePattern in hECReportSpec (INPUT filter).
RUN addECReportSpec in hECSpec (INPUT hECReportSpec).
RUN immediate IN hALEClient (INPUT hECSpec, OUTPUT DATASET dsECReport).
FOR EACH ttECReport: FOR EACH ttECGroup OF ttECReport: FOR EACH ttECMember OF TTECGroup: DISPLAY ttECMember.epc. END. END.END.
25 INNOV-06: RFID Enabling your OpenEdge Application© 2005 Progress Software Corporation
Add ECReportSpec to ECSpec
RUN rfid/rfidlib.p PERSISTENT SET hrfidlib.RUN createALEClient IN hrfidlib (INPUT url, OUTPUT hALEClient).
RUN createECSpec IN hrfidlib (OUTPUT hECSpec).
RUN setLogicalReaders IN hECSpec (INPUT “DockDoor1”).RUN setDuration IN hECSpec (INPUT duration)....
RUN createECReportSpec in hrfidlib (INPUT name, OUTPUT hECReportSpec).RUN addIncludePattern in hECReportSpec (INPUT filter).
RUN addECReportSpec in hECSpec (INPUT hECReportSpec).
RUN immediate IN hALEClient (INPUT hECSpec, OUTPUT DATASET dsECReport).
FOR EACH ttECReport: FOR EACH ttECGroup OF ttECReport: FOR EACH ttECMember OF TTECGroup: DISPLAY ttECMember.epc. END. END.END.
26 INNOV-06: RFID Enabling your OpenEdge Application© 2005 Progress Software Corporation
Poll the ALE
RUN rfid/rfidlib.p PERSISTENT SET hrfidlib.RUN createALEClient IN hrfidlib (INPUT url, OUTPUT hALEClient).
RUN createECSpec IN hrfidlib (OUTPUT hECSpec).
RUN setLogicalReaders IN hECSpec (INPUT “DockDoor1”).RUN setDuration IN hECSpec (INPUT duration)....
RUN createECReportSpec in hrfidlib (INPUT name, OUTPUT hECReportSpec).RUN addIncludePattern in hECReportSpec (INPUT filter).
RUN addECReportSpec in hECSpec (INPUT hECReportSpec).
RUN immediate IN hALEClient (INPUT hECSpec, OUTPUT DATASET dsECReport).
FOR EACH ttECReport: FOR EACH ttECGroup OF ttECReport: FOR EACH ttECMember OF TTECGroup: DISPLAY ttECMember.epc. END. END.END.
27 INNOV-06: RFID Enabling your OpenEdge Application© 2005 Progress Software Corporation
Iterate Through Results
RUN rfid/rfidlib.p PERSISTENT SET hrfidlib.RUN createALEClient IN hrfidlib (INPUT url, OUTPUT hALEClient).
RUN createECSpec IN hrfidlib (OUTPUT hECSpec).
RUN setLogicalReaders IN hECSpec (INPUT “DockDoor1”).RUN setDuration IN hECSpec (INPUT duration)....
RUN createECReportSpec in hrfidlib (INPUT name, OUTPUT hECReportSpec).RUN addIncludePattern in hECReportSpec (INPUT filter).
RUN addECReportSpec in hECSpec (INPUT hECReportSpec).
RUN immediate IN hALEClient (INPUT hECSpec, OUTPUT DATASET dsECReport).
FOR EACH ttECReport: FOR EACH ttECGroup OF ttECReport: FOR EACH ttECMember OF TTECGroup: DISPLAY ttECMember.epc. END. END.END.
28 INNOV-06: RFID Enabling your OpenEdge Application© 2005 Progress Software Corporation
Demonstration 2: Receiving Dock Analysis
Queries RFID-A to determine goods received at a dock door over some time period
For each report OpenEdge RFID Library creates a temp-table of tags which moved through dock door in that time period and the temp table is then processed by the application
Same concepts apply to other RFID situations; track & trace, auditing, performance analysis, …
29 INNOV-06: RFID Enabling your OpenEdge Application© 2005 Progress Software Corporation
Demonstration 2
30 INNOV-06: RFID Enabling your OpenEdge Application© 2005 Progress Software Corporation
OpenEdge RFID LibraryAPIs for ALE & RFID-A
The ALE and RFID-A APIs in OpenEdge RFID Library are very similar. If you learn one you know the other.
Primary difference is for RFID-A you specify a date/time range of events to be retrieved; for ALE you specify event cycle boundaries.
31 INNOV-06: RFID Enabling your OpenEdge Application© 2005 Progress Software Corporation
OpenEdge RFID Library Prerequisites
OpenEdge 10.0B02 RFID-A 3.1 RFID Middleware Compliant with
EPCglobal ALE 1.0 specification– ConnecTerra RFTagAware
– Others to be announced
32 INNOV-06: RFID Enabling your OpenEdge Application© 2005 Progress Software Corporation
What’s Missing in OpenEdge RFID Library
Tag writing – Not necessary if using 3’rd party
writing/labeling software. Here OpenEdge is a simply source of tag data
Tag killing– Will provide API for tag writing/killing when
added to ALE standard
33 INNOV-06: RFID Enabling your OpenEdge Application© 2005 Progress Software Corporation
Data Management Strategy
Comprehensive Data Management Strategy– What data is relevant?
– Where must the data be digested?
– How does a tag read relate to other reads?
– What context is required to provide understanding?
– What reporting/sharing is required by internal users? By each trading partner?
34 INNOV-06: RFID Enabling your OpenEdge Application© 2005 Progress Software Corporation
EPC-IS: A Proposed Data Management Standard
New architecture proposed by EPCglobal– Standard definition occurring amongst its
working groups Goal is standardize the functionality and
roles of an EPC repository– Capture of low level events
– Transformation
– Application of business context
– Data sharing with trading partners
35 INNOV-06: RFID Enabling your OpenEdge Application© 2005 Progress Software Corporation
RFID Event Management RFID events are being processed at the edge
– Where the events occur Frequently morphing into existing
transaction formats Upstream relay of events into enterprise
– Must allow for reporting/monitoring
– Must enable higher level events to be triggered from multiple edge-based event streams
36 INNOV-06: RFID Enabling your OpenEdge Application© 2005 Progress Software Corporation
En
terp
rise
Ed
ge
RFID Event Information Architecture
RFID reads combine with other sensing feeds
Readers
ALE Sensors Indicators
EPC Capture/Transform Application
Messaging
Query Server
EPC Action Repository
Messaging
Business App Local ONS
Intelligence to drive higher level updates
Repository builds a history of events, actions, associations & derivations
Subscribe or trigger based reporting
37 INNOV-06: RFID Enabling your OpenEdge Application© 2005 Progress Software Corporation
7 Principles of RFID Data Management
1. Digest Data Close to the Source
2. Turn Simple Events into Meaningful Events
3. Buffer Event Streams
4. Cache Context
5. Federate Data Distribution in Real Time
6. Age RFID Data Gracefully
7. Automate Exception Handling
38 INNOV-06: RFID Enabling your OpenEdge Application© 2005 Progress Software Corporation
#2: Turn Simple Events into Meaningful Events
Complex Event Query
When a truck tag is read by reader 20…
Simple Events Meaningful Events
…followed by pallet tag scanned at reader 7…
…followed by 50 case tag scans…
…Meaningful information emerges
Receipt of 50 Plasma TVs against ASN
123
39 INNOV-06: RFID Enabling your OpenEdge Application© 2005 Progress Software Corporation
RFID ESP Example
IF ASN unloaded_from_truck AND location=destination
FOLLOWED-BY
INSPECT “damaged”
VALIDATE “agreed”
ACTION ASN bill_customer
FOLLOWED-BY
TRUCK permission-to-leave
ACTION stop_truck
time
VALIDATE
INSPECT
ASN
Event Stream ProcessingMultiple streams of events
Optimized for time & cause Identify patterns
ESP results in actionsRequires massively parallel event processing in real time
!Has the right set of plasma TVs been unloaded?
! Plasma TV Inspection OK
!Inspection validated
Bill the customer
41 INNOV-06: RFID Enabling your OpenEdge Application© 2005 Progress Software Corporation
Thank you for your time!