40
RFID Enabling your OpenEdge® Application David Lund Sr. Training Program Manager, Progress

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

Embed Size (px)

Citation preview

Page 1: RFID Enabling your OpenEdge® Application David Lund Sr. Training Program Manager, Progress

RFID Enabling your OpenEdge® Application David LundSr. Training Program Manager, Progress

Page 2: RFID Enabling your OpenEdge® Application David Lund Sr. Training Program Manager, Progress

2 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

Page 3: RFID Enabling your OpenEdge® Application David Lund Sr. Training Program Manager, Progress

3 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

Page 4: RFID Enabling your OpenEdge® Application David Lund Sr. Training Program Manager, Progress

4 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 √

Page 5: RFID Enabling your OpenEdge® Application David Lund Sr. Training Program Manager, Progress

5 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

Page 6: RFID Enabling your OpenEdge® Application David Lund Sr. Training Program Manager, Progress

6 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

Page 7: RFID Enabling your OpenEdge® Application David Lund Sr. Training Program Manager, Progress

7 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, …

Page 8: RFID Enabling your OpenEdge® Application David Lund Sr. Training Program Manager, Progress

8 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

Page 9: RFID Enabling your OpenEdge® Application David Lund Sr. Training Program Manager, Progress

9 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)

Page 10: RFID Enabling your OpenEdge® Application David Lund Sr. Training Program Manager, Progress

10 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”

Page 11: RFID Enabling your OpenEdge® Application David Lund Sr. Training Program Manager, Progress

11 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?”

Page 12: RFID Enabling your OpenEdge® Application David Lund Sr. Training Program Manager, Progress

12 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

Page 13: RFID Enabling your OpenEdge® Application David Lund Sr. Training Program Manager, Progress

13 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>

Page 14: RFID Enabling your OpenEdge® Application David Lund Sr. Training Program Manager, Progress

14 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>

Page 15: RFID Enabling your OpenEdge® Application David Lund Sr. Training Program Manager, Progress

15 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

Page 16: RFID Enabling your OpenEdge® Application David Lund Sr. Training Program Manager, Progress

16 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

Page 17: RFID Enabling your OpenEdge® Application David Lund Sr. Training Program Manager, Progress

17 RFID Enabling your OpenEdge Application© 2005 Progress Software Corporation

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

Page 18: RFID Enabling your OpenEdge® Application David Lund Sr. Training Program Manager, Progress

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

Page 19: RFID Enabling your OpenEdge® Application David Lund Sr. Training Program Manager, Progress

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

Page 20: RFID Enabling your OpenEdge® Application David Lund Sr. Training Program Manager, Progress

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

Page 21: RFID Enabling your OpenEdge® Application David Lund Sr. Training Program Manager, Progress

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

Page 22: RFID Enabling your OpenEdge® Application David Lund Sr. Training Program Manager, Progress

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

Page 23: RFID Enabling your OpenEdge® Application David Lund Sr. Training Program Manager, Progress

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

Page 24: RFID Enabling your OpenEdge® Application David Lund Sr. Training Program Manager, Progress

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

Page 25: RFID Enabling your OpenEdge® Application David Lund Sr. Training Program Manager, Progress

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

Page 26: RFID Enabling your OpenEdge® Application David Lund Sr. Training Program Manager, Progress

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

Page 27: RFID Enabling your OpenEdge® Application David Lund Sr. Training Program Manager, Progress

27 RFID Enabling your OpenEdge Application© 2005 Progress Software Corporation

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, …

Page 28: RFID Enabling your OpenEdge® Application David Lund Sr. Training Program Manager, Progress

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

Page 29: RFID Enabling your OpenEdge® Application David Lund Sr. Training Program Manager, Progress

29 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

Page 30: RFID Enabling your OpenEdge® Application David Lund Sr. Training Program Manager, Progress

30 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

Page 31: RFID Enabling your OpenEdge® Application David Lund Sr. Training Program Manager, Progress

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

Page 32: RFID Enabling your OpenEdge® Application David Lund Sr. Training Program Manager, Progress

32 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

Page 33: RFID Enabling your OpenEdge® Application David Lund Sr. Training Program Manager, Progress

33 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

Page 34: RFID Enabling your OpenEdge® Application David Lund Sr. Training Program Manager, Progress

34 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

Page 35: RFID Enabling your OpenEdge® Application David Lund Sr. Training Program Manager, Progress

35 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

Page 36: RFID Enabling your OpenEdge® Application David Lund Sr. Training Program Manager, Progress

36 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

Page 37: RFID Enabling your OpenEdge® Application David Lund Sr. Training Program Manager, Progress

37 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

Page 38: RFID Enabling your OpenEdge® Application David Lund Sr. Training Program Manager, Progress

38 RFID Enabling your OpenEdge Application© 2005 Progress Software Corporation

Questions? Andrew McCarthy

– Progress OpenEdge Division

[email protected] John Trigg

– Progress Real Time Division

[email protected]

Page 39: RFID Enabling your OpenEdge® Application David Lund Sr. Training Program Manager, Progress

39 RFID Enabling your OpenEdge Application© 2005 Progress Software Corporation

Thank you for your time!

Page 40: RFID Enabling your OpenEdge® Application David Lund Sr. Training Program Manager, Progress

40 RFID Enabling your OpenEdge Application© 2005 Progress Software Corporation