42
INNOV-06: RFID Enabling your OpenEdge™ Application John Trigg Principal Product Manager

INNOV-06: RFID Enabling your OpenEdge™ Application

  • Upload
    mairi

  • View
    32

  • Download
    0

Embed Size (px)

DESCRIPTION

INNOV-06: RFID Enabling your OpenEdge™ Application. John Trigg Principal Product Manager. Session Goals. Present an architecture for integrating RFID event capture into your OpenEdge applications Shipping & receiving docks, Packing stations, Conveyor systems, … - PowerPoint PPT Presentation

Citation preview

INNOV-06: RFID Enabling your OpenEdge™ Application

John TriggPrincipal Product Manager

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

40 INNOV-06: RFID Enabling your OpenEdge Application© 2005 Progress Software Corporation

Questions?

41 INNOV-06: RFID Enabling your OpenEdge Application© 2005 Progress Software Corporation

Thank you for your time!

42 INNOV-06: RFID Enabling your OpenEdge Application© 2005 Progress Software Corporation