1. Jaewook Byun
Korea Advanced Institute of Science and Technology
Real-time and Embedded Systems Laboratory(RESL)
bjw0829@kaist.ac.kr
Oliot EPCISAt a glance
3. Introduction – RFID & GS1 EPC global
• Radio Frequency IDentification (RFID)
• Identifiable and Traceable everyday-objects
• The Internet of Things (IoT)
• GS1 EPCglobal
• A complete suite of RFID standards
4. Introduction – EPCIS Standard
• EPC Information Service (EPCIS)
• Recent version: version 1.1, May 2014
• A distributed repository, which can capture and share EPC-based event/vocabulary accompanying 4W
(i.e. What, When, Where and Why)
5. Introduction – EPCIS Event
• EPCISEvent – Base event type
• See. 7.2. section
Object Event Aggregation Event Transaction Event Transformation Event
Receiving time at Capturing Application
Receiving time at EPCIS repository
TimeZone, offset from UTC
Extends
6. Introduction – EPCIS Event
• ObjectEvent
• Observation of object(s)
(Optional)
Instance level master data: e.g. expiration date
(Optional)
(Optional)
List of Observed objects
e.g. Created, Observed, Destroyed
c.f Red: new in EPCIS v1.1
7. Introduction – EPCIS Event
• AggregationEvent
• Association between containing/contained object(s)
Aggregation Event
(e.g. box, case, pallet)
e.g. Box, case, pallet
e.g. Trade items in box
e.g. child added, observed, or deleted from parents
(Optional)
8. Introduction – EPCIS Event
• Transaction Event
• (Dis)Association of object(s) to business transaction(s)
Transaction Event
(Optional)
e.g. Item (dis)associated to the BizTransaction
Business Step
Business process
e.g. Loading, Packing, Shipping, Receiving
Disposition
Status of object
Available for sale, in Storage
Business Transaction
Transaction information
e.g. Purchase, Invoice
9. Introduction – EPCIS Event
• Transformation Event
• Capture the relationship between the input (source) and the outputs (product)
Input Outputs
(Optional)
c.f Red: new in EPCIS v1.1
COW Slides of Beef
10. Introduction – EPCIS Vocabulary
• Vocabulary (i.e. Master Data)
• Represent static information on EPC
• Core Business Vocabulary (CBV)
• supports base vocabularies for Supply Chain Management
• User Vocabulary
• defined by user
• Vocabularies
• Location: address, zip code, etc
• Business Semantic
• Business Step: activity within a business process
• Disposition: business state of an object
• Business Transaction: purchase order
• Class-level item
[Examples of CBV]
15. Tutorial: How to make EPCIS document
• Based on GS1 Global Forum 2015 tutorial
• You can access it via [ip:port]/epcis/tutorialPage.jsp
How?
Guide three fundamental events
21. Tutorial: How to make EPCIS document
• Standard XML format for Event 3
22. Tutorial: How to make EPCIS document
• Visualize it via queries to Oliot EPCIS
23. Tutorial: How to make EPCIS document (Bonus)
• When you want to insert Extra data beyond specification
• Use extension field
• If your sensor generates two sensing values
• sensorValue1: Float
• sensorValue2: List of Integer
• Envelop your values using extension field
• ObjectEvent can be a good candidate as an event type
• The extra fields should be under a namespace
• e.g. device namespace
• (Optional) if you formally define the fields using XSD
• We can get global consensus
sensorValue1: 15
sensorValue2: 10 12 14 19 23
[Example of EPCIS Document]
[(Optional)Example of your XSD]
24. Programming Guide
• Oliot EPCIS is web service
• Write a code in language independent way
• e.g. C++, Java, Javascript, Python and etc.
• Postman
• Good Tool for your testing
• Sending your HTTP call
• e.g. POST, GET
Method Description
GetStandardVersion Return the standard version of EPCIS
EventCapture Capture your EPCIS Document into your backend storage
VocabularyCapture Capture your EPCIS Master Data Document into your backend storage
GetQueryNames Return a list of all query names available
Poll Return events/vocabularies stored in repository in interest immediately
GetSubscriptionIDs
Return a list of all subscriptionIDs currently subscribed to the specified
named query
Subscribe
Register a subscriber for a previously defined query having the
specified name
Unsubscribe
Remove a previously registered subscription having the specified
subscriptionID
25. Programming Guide
• Postman Example (GetStandardVersion)
• Return the standard version of EPCIS
• Set URL
• Then, Send with GET
• See a version if succeed
26. Programming Guide
• Postman Example (Event Capture)
• Make you capture your events
• Set URL
• Prepare EPCIS document
• Then, Send with POST
• See HTTP.OK (200) if succeed
27. Programming Guide
• Postman Example (Vocabulary Capture)
• Make you capture your vocabularies
• Set URL
• Prepare EPCIS document
• Then, Send with POST
• See HTTP.OK (200) if succeed
28. Programming Guide
• Postman Example (GetQueryNames)
• Return a list of all query names available
• Set URL
• Then, Send with GET
• See result if succeed
29. Programming Guide
• Postman Example (Poll Event Data)
• Provide you stored events under
conditions you made
• Set URL with Parameter
• Then, Send with GET
• See result if succeed
• For more query examples
• See [url:port]/epcis/rest-like-query-examples.html
30. Programming Guide
• Postman Example (Poll Master Data)
• Provide you stored vocabularies under
conditions you made
• Set URL with Parameter
• Then, Send with GET
• See result if succeed
• For more query examples
• See [url:port]/epcis/rest-like-master-query-
examples.html
31. Programming Guide
• Postman Example (Subscribe)
• Provide you ‘periodically’stored events
to ‘designated URL’
under conditions you made
• Set URL with Parameter
• You can use ‘Poll’ parameters
• Set additional Parameter
• e.g. dest: Your callback URL
• e.g. cronExpression:
• See Rationale
• See Cron Expression
• Then, Send with GET
• Receive periodic result in Callback URL
32. Programming Guide
• Postman Example (GetSubscriptionIDs)
• Returns a list of all subscriptionIDs currently
subscribed to the specified named query.
• Set URL
• Then, Send with GET
• See ID list if succeed
33. Programming Guide
• Postman Example (Unsubscribe)
• Set URL with Parameter
• Then, Send with GET
• Receive periodic result in Callback URL
34. Further Information
• EPCIS v1.1 specification
• Detailed description on
• 4 core event types and master data
• SimpleEventQuery
• ...
• Embedded documentation
• Access [base_url:port]/epcis after running your
Oliot EPCIS
• Introduction
• Service description
• Github
• https://github.com/gs1oliot/oliot-epcis-1.1
• https://github.com/JaewookByun/epcis