1 / 42

INNOV-06: RFID Enabling your OpenEdge™ Application

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

mairi
Télécharger la présentation

INNOV-06: RFID Enabling your OpenEdge™ Application

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


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

  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 INNOV-06: RFID Enabling your OpenEdge Application

  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 INNOV-06: RFID Enabling your OpenEdge Application

  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 INNOV-06: RFID Enabling your OpenEdge Application

  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 INNOV-06: RFID Enabling your OpenEdge Application

  6. Architecture for RFID Event Capture INNOV-06: RFID Enabling your OpenEdge Application

  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, … INNOV-06: RFID Enabling your OpenEdge Application

  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 INNOV-06: RFID Enabling your OpenEdge Application

  9. RFID Event Flow RFID Events RFID Reader Middleware (ALE) Event History Query RFID Reader Query RFID Events OpenEdge Application INNOV-06: RFID Enabling your 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” INNOV-06: RFID Enabling your OpenEdge Application

  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 9:00 and 11:00 AM?” INNOV-06: RFID Enabling your OpenEdge Application

  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 INNOV-06: RFID Enabling your OpenEdge Application

  13. 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> INNOV-06: RFID Enabling your OpenEdge Application

  14. 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> INNOV-06: RFID Enabling your OpenEdge Application

  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 INNOV-06: RFID Enabling your OpenEdge Application

  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 INNOV-06: RFID Enabling your OpenEdge Application

  17. 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 ...) INNOV-06: RFID Enabling your OpenEdge Application

  18. Demonstration 1 INNOV-06: RFID Enabling your OpenEdge Application

  19. 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. INNOV-06: RFID Enabling your OpenEdge Application

  20. 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. INNOV-06: RFID Enabling your OpenEdge Application

  21. 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. INNOV-06: RFID Enabling your OpenEdge Application

  22. 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. INNOV-06: RFID Enabling your OpenEdge Application

  23. 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. INNOV-06: RFID Enabling your OpenEdge Application

  24. 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. INNOV-06: RFID Enabling your OpenEdge Application

  25. 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. INNOV-06: RFID Enabling your OpenEdge Application

  26. 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. INNOV-06: RFID Enabling your OpenEdge Application

  27. 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. INNOV-06: RFID Enabling your OpenEdge Application

  28. 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, … INNOV-06: RFID Enabling your OpenEdge Application

  29. Demonstration 2 INNOV-06: RFID Enabling your OpenEdge Application

  30. 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. INNOV-06: RFID Enabling your OpenEdge Application

  31. 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 INNOV-06: RFID Enabling your OpenEdge Application

  32. 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 INNOV-06: RFID Enabling your OpenEdge Application

  33. 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? INNOV-06: RFID Enabling your OpenEdge Application

  34. 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 INNOV-06: RFID Enabling your OpenEdge Application

  35. 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 INNOV-06: RFID Enabling your OpenEdge Application

  36. RFID Event Information Architecture Local ONS Business App • Subscribe or trigger based reporting • RFID reads combine with other sensing feeds 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 ALE Sensors Indicators Readers INNOV-06: RFID Enabling your OpenEdge Application

  37. 7 Principles of RFID Data Management • Digest Data Close to the Source • Turn Simple Events into Meaningful Events • Buffer Event Streams • Cache Context • Federate Data Distribution in Real Time • Age RFID Data Gracefully • Automate Exception Handling INNOV-06: RFID Enabling your OpenEdge Application

  38. #2: Turn Simple Events into Meaningful Events Receipt of 50 Plasma TVs against ASN 123 When a truck tag is read by reader 20… …followed by pallet tag scanned at reader 7… …followed by 50 case tag scans… Simple Events Complex Event Query Meaningful Events …Meaningful information emerges INNOV-06: RFID Enabling your OpenEdge Application

  39. RFID ESP Example Has the right set of plasma TVs been unloaded? ! Plasma TV Inspection OK ! ! Inspection validated IFASN unloaded_from_truck AND location=destination FOLLOWED-BY INSPECT “damaged” VALIDATE “agreed” ACTIONASNbill_customer FOLLOWED-BY TRUCKpermission-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 INNOV-06: RFID Enabling your OpenEdge Application

  40. Questions? INNOV-06: RFID Enabling your OpenEdge Application

  41. Thank you for your time! INNOV-06: RFID Enabling your OpenEdge Application

  42. INNOV-06: RFID Enabling your OpenEdge Application

More Related