RFID Enabling your OpenEdge - PowerPoint PPT Presentation

1 / 40
About This Presentation
Title:

RFID Enabling your OpenEdge

Description:

Insulate applications from high volume, 'noisy' RFID event streams. Insulate applications from specifics of readers to allow reader replacement ... – PowerPoint PPT presentation

Number of Views:64
Avg rating:3.0/5.0
Slides: 41
Provided by: david532
Category:

less

Transcript and Presenter's Notes

Title: RFID Enabling your OpenEdge


1
RFID Enabling your OpenEdge Application
  • David Lund
  • Sr. Training Program Manager, Progress

2
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
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
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 Invoice
xxxx xxx xxx v
xxxx xxx xxx v
xxxx xxx xxx v
xxxx xxx xxx v
5
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
Architecture for RFID Event Capture
7
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
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
RFID Event Flow
RFID Events
RFID Reader
Middleware (ALE)
Event History
Query
RFID Reader
Query
RFID Events
OpenEdge Application
10
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
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
    900 and 1100 AM?

12
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
Sample ECSpec
  • ltECSpecgt
  • ltlogicalReadersgt
  • ltlogicalReadergtdock_1alt/logicalReadergt
  • ltlogicalReadergtdock_1blt/logicalReadergt
  • lt/logicalReadersgt
  • ltboundarySpecgt
  • ltstartTriggergthttp//sample.com/trigger1lt/
    startTriggergt
  • ltrepeatPeriod unit"MS"gt20000lt/repeatPerio
    dgt
  • ltstopTriggergthttp//sample.com/trigger2lt/s
    topTriggergt
  • ltduration unit"MS"gt3000lt/durationgt
  • lt/boundarySpecgt
  • ltreportSpecsgt
  • ltreportSpec reportName"report1"gt
  • ltreportSet set"CURRENT"/gt
  • ltoutput includeList"true"/gt
  • lt/reportSpecgt
  • lt/reportSpecsgt
  • lt/ECSpecgt

14
Sample ECReport
  • ltECReportsgt
  • ltreportsgt
  • ltreport reportName"report1"gt
  • ltgroupgt
  • ltgroupListgt
  • ltmembergtltepcgturnepctaggid-64-i10.50.
    1000lt/epcgtlt/membergt
  • ltmembergtltepcgturnepctaggid-64-i10.50.
    1001lt/epcgtlt/membergt
  • lt/groupListgt
  • lt/groupgt
  • lt/reportgt
  • ltreport reportName"report2"gt
  • ltgroup name"urnepcpatsgtin-643.0037000
    .12345."gt
  • ltgroupCountgtltcountgt2lt/countgtlt/groupCountgt
    lt/groupgt
  • ltgroup name"urnepcpatsgtin-643.0037000
    .55555."gt
  • ltgroupCountgtltcountgt3lt/countgtlt/groupCountgt
    lt/groupgt
  • lt/reportgt
  • lt/reportsgt
  • lt/ECReportsgt

15
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
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
Example 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 the tags
  • Same concepts apply to other RFID situations
    shipping, packing, conveyor ...)

18
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.

19
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.

20
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.

21
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.

22
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.

23
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.

24
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.

25
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.

26
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.

27
Example 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,

28
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.

29
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

30
Whats Missing in OpenEdge RFID Library
  • Tag writing
  • Not necessary if using 3rd 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

31
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?

32
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

33
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

34
RFID Event Information Architecture
Local ONS
Business App
  • Subscribe or trigger based reporting

Messaging
Enterprise
  • Repository builds a history of events, actions,
    associations derivations

Query Server
EPC Action Repository
Messaging
  • Intelligence to drive higher level updates

Edge
EPC Capture/Transform Application
  • RFID reads combine with other sensing feeds

ALE
Sensors
Indicators
Readers
35
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

36
2 Turn Simple Events into Meaningful Events
Complex Event Query
Simple Events
Meaningful Events
Meaningful information emerges
37
RFID ESP Example
IF ASN unloaded_from_truck AND locationdestinatio
n FOLLOWED-BY INSPECT damaged VALIDATE
agreed ACTION ASN bill_customer FOLLOWED-BY
TRUCK permission-to-leave ACTION stop_truck
ASN
INSPECT
VALIDATE
time
Event Stream Processing Multiple streams of
events Optimized for time cause Identify
patterns ESP results in actions Requires
massively parallel event processing in real time
Bill the customer
38
Questions?
  • Andrew McCarthy
  • Progress OpenEdge Division
  • dmccarth_at_progress.com
  • John Trigg
  • Progress Real Time Division
  • jtrigg_at_progress.com

39
Thank you for your time!
40
(No Transcript)
Write a Comment
User Comments (0)
About PowerShow.com