SlideShare ist ein Scribd-Unternehmen logo
1 von 36
Downloaden Sie, um offline zu lesen
Jaewook Byun
Korea Advanced Institute of Science and Technology
Real-time and Embedded Systems Laboratory(RESL)
bjw0829@kaist.ac.kr
Oliot EPCISAt a glance
Table of Contents
1. Introduction
2. Installation
3. Tutorial
4. Programming Guide
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
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)
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
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
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)
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
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
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]
Introduction – EPCIS Service
• EPCIS Services
• Event Capture
• Immediate Query
• Scheduled Query
Introduction – Oliot EPCIS open source
• Oliot EPCIS
• Open source web service compatible with EPCIS v1.1
• How implemented
• Model Generation
• JAXB on standard XSD
• Service Binding
• SOAP based on standard WSDL
• Verification
• XSD verification
• Running Environment
• Java Web Service ( Java v1.8, Servlet v3.1 )
• Tomcat WAS ( v8.x )
• MongoDB ( v3.x )
• Services
• Service Bindings: SOAP, REST
• Capture Service
• Event data / Master data
• Query Service
• Standard ‘SimpleEventQuery’ (See EPCIS 8.2.7 )
Backend
Repository
Event Data Master Data
Capture Service Listener
CaptureLayer
Application
QueryLayer
Poll Subscription
Scheduler
Schedule Destination
App
Query Service Receiver
Oliot-EPCIS
SOAP/HTTP
REST/HTTP
Object-Relational Mapper
(POJO  Storage Unit)
JAXB Marshaller
(XMLPOJO)
Document Validator
Capture
Immediate Query
Standing Query
EPCIS DOC
ResultSOAP/HTTP
REST/HTTP
JAXB Unmarshaller (POJO  XML)
Object-Relational Mapper
(Storage Unit  POJO)
XML/JSON
Installation - Prerequisite
• Install Java 8
• Install Tomcat 8
• Install MongoDB 3
• Download ‘epcis.war’ from
• https://github.com/gs1oliot/oliot-epcis-1.1/tree/master/epcis/target or
• https://github.com/JaewookByun/epcis/tree/master/epcis/target
• Locate ‘epcis.war’ into [tomcat-folder]/webapps
Installation
• Run MongoDB
• Run Tomcat Server
• See it starts
• Access [ip:port]/epcis
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
Tutorial: How to make EPCIS document
• Capture your event 1
Tutorial: How to make EPCIS document
• Standard XML format for Event 1
Tutorial: How to make EPCIS document
• Capture your event 2
Tutorial: How to make EPCIS document
• Standard XML format for Event 2
Tutorial: How to make EPCIS document
• Capture your event 3
Tutorial: How to make EPCIS document
• Standard XML format for Event 3
Tutorial: How to make EPCIS document
• Visualize it via queries to Oliot EPCIS
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]
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
Programming Guide
• Postman Example (GetStandardVersion)
• Return the standard version of EPCIS
• Set URL
• Then, Send with GET
• See a version if succeed
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
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
Programming Guide
• Postman Example (GetQueryNames)
• Return a list of all query names available
• Set URL
• Then, Send with GET
• See result if succeed
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
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
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
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
Programming Guide
• Postman Example (Unsubscribe)
• Set URL with Parameter
• Then, Send with GET
• Receive periodic result in Callback URL
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
Reference
• GS1 EPCglobal: http://www.gs1.org/epcglobal
• EPCIS v1.1: http://www.gs1.org/sites/default/files/docs/epc/epcis_1_1-standard-20140520.pdf
• CBV v1.1: http://www.gs1.org/sites/default/files/docs/epc/cbv_1_1-standard-20140520.pdf
• Oliot Homepage: http://gs1oliot.github.io/oliot/
• Github
• https://github.com/gs1oliot/oliot-epcis-1.1
• https://github.com/JaewookByun/epcis
Thank you

Weitere ähnliche Inhalte

Was ist angesagt?

IronPython and Dynamic Languages on .NET by Mahesh Prakriya
 IronPython and Dynamic Languages on .NET by Mahesh Prakriya IronPython and Dynamic Languages on .NET by Mahesh Prakriya
IronPython and Dynamic Languages on .NET by Mahesh Prakriyacodebits
 
Smart Data Conference: DL4J and DataVec
Smart Data Conference: DL4J and DataVecSmart Data Conference: DL4J and DataVec
Smart Data Conference: DL4J and DataVecJosh Patterson
 
GitRecruit final 1
GitRecruit final 1GitRecruit final 1
GitRecruit final 1Yinghan Fu
 
Ray and Its Growing Ecosystem
Ray and Its Growing EcosystemRay and Its Growing Ecosystem
Ray and Its Growing EcosystemDatabricks
 
Exploring .NET memory management (iSense)
Exploring .NET memory management (iSense)Exploring .NET memory management (iSense)
Exploring .NET memory management (iSense)Maarten Balliauw
 
Real Time Graph Computations in Storm, Neo4J, Python - PyCon India 2013
Real Time Graph Computations in Storm, Neo4J, Python - PyCon India 2013Real Time Graph Computations in Storm, Neo4J, Python - PyCon India 2013
Real Time Graph Computations in Storm, Neo4J, Python - PyCon India 2013Sonal Raj
 
High Performance Machine Learning in R with H2O
High Performance Machine Learning in R with H2OHigh Performance Machine Learning in R with H2O
High Performance Machine Learning in R with H2OSri Ambati
 
Oram And Secure Computation
Oram And Secure ComputationOram And Secure Computation
Oram And Secure ComputationChong-Kuan Chen
 
Reactive Programming with Rx
 Reactive Programming with Rx Reactive Programming with Rx
Reactive Programming with RxC4Media
 
Apache Storm 0.9 basic training - Verisign
Apache Storm 0.9 basic training - VerisignApache Storm 0.9 basic training - Verisign
Apache Storm 0.9 basic training - VerisignMichael Noll
 
Intro. to static analysis
Intro. to static analysisIntro. to static analysis
Intro. to static analysisChong-Kuan Chen
 
Scale up and Scale Out Anaconda and PyData
Scale up and Scale Out Anaconda and PyDataScale up and Scale Out Anaconda and PyData
Scale up and Scale Out Anaconda and PyDataTravis Oliphant
 
Scalable Data Science and Deep Learning with H2O
Scalable Data Science and Deep Learning with H2OScalable Data Science and Deep Learning with H2O
Scalable Data Science and Deep Learning with H2Oodsc
 
How Web APIs and Data Centric Tools Power the Materials Project (PyData SV 2013)
How Web APIs and Data Centric Tools Power the Materials Project (PyData SV 2013)How Web APIs and Data Centric Tools Power the Materials Project (PyData SV 2013)
How Web APIs and Data Centric Tools Power the Materials Project (PyData SV 2013)PyData
 

Was ist angesagt? (20)

The Materials API
The Materials APIThe Materials API
The Materials API
 
IronPython and Dynamic Languages on .NET by Mahesh Prakriya
 IronPython and Dynamic Languages on .NET by Mahesh Prakriya IronPython and Dynamic Languages on .NET by Mahesh Prakriya
IronPython and Dynamic Languages on .NET by Mahesh Prakriya
 
Logstash and friends
Logstash and friendsLogstash and friends
Logstash and friends
 
Smart Data Conference: DL4J and DataVec
Smart Data Conference: DL4J and DataVecSmart Data Conference: DL4J and DataVec
Smart Data Conference: DL4J and DataVec
 
GitRecruit final 1
GitRecruit final 1GitRecruit final 1
GitRecruit final 1
 
MAVRL Workshop 2014 - Python Materials Genomics (pymatgen)
MAVRL Workshop 2014 - Python Materials Genomics (pymatgen)MAVRL Workshop 2014 - Python Materials Genomics (pymatgen)
MAVRL Workshop 2014 - Python Materials Genomics (pymatgen)
 
ICME Workshop Jul 2014 - The Materials Project
ICME Workshop Jul 2014 - The Materials ProjectICME Workshop Jul 2014 - The Materials Project
ICME Workshop Jul 2014 - The Materials Project
 
Ray and Its Growing Ecosystem
Ray and Its Growing EcosystemRay and Its Growing Ecosystem
Ray and Its Growing Ecosystem
 
Exploring .NET memory management (iSense)
Exploring .NET memory management (iSense)Exploring .NET memory management (iSense)
Exploring .NET memory management (iSense)
 
Real Time Graph Computations in Storm, Neo4J, Python - PyCon India 2013
Real Time Graph Computations in Storm, Neo4J, Python - PyCon India 2013Real Time Graph Computations in Storm, Neo4J, Python - PyCon India 2013
Real Time Graph Computations in Storm, Neo4J, Python - PyCon India 2013
 
High Performance Machine Learning in R with H2O
High Performance Machine Learning in R with H2OHigh Performance Machine Learning in R with H2O
High Performance Machine Learning in R with H2O
 
Oram And Secure Computation
Oram And Secure ComputationOram And Secure Computation
Oram And Secure Computation
 
Reactive Programming with Rx
 Reactive Programming with Rx Reactive Programming with Rx
Reactive Programming with Rx
 
Apache Toree
Apache ToreeApache Toree
Apache Toree
 
Apache Storm 0.9 basic training - Verisign
Apache Storm 0.9 basic training - VerisignApache Storm 0.9 basic training - Verisign
Apache Storm 0.9 basic training - Verisign
 
ldapcon2015 hamano
ldapcon2015 hamanoldapcon2015 hamano
ldapcon2015 hamano
 
Intro. to static analysis
Intro. to static analysisIntro. to static analysis
Intro. to static analysis
 
Scale up and Scale Out Anaconda and PyData
Scale up and Scale Out Anaconda and PyDataScale up and Scale Out Anaconda and PyData
Scale up and Scale Out Anaconda and PyData
 
Scalable Data Science and Deep Learning with H2O
Scalable Data Science and Deep Learning with H2OScalable Data Science and Deep Learning with H2O
Scalable Data Science and Deep Learning with H2O
 
How Web APIs and Data Centric Tools Power the Materials Project (PyData SV 2013)
How Web APIs and Data Centric Tools Power the Materials Project (PyData SV 2013)How Web APIs and Data Centric Tools Power the Materials Project (PyData SV 2013)
How Web APIs and Data Centric Tools Power the Materials Project (PyData SV 2013)
 

Ähnlich wie Oliot epcis at a glance

CQRS and Event Sourcing for IoT applications
CQRS and Event Sourcing for IoT applicationsCQRS and Event Sourcing for IoT applications
CQRS and Event Sourcing for IoT applicationsMichael Blackstock
 
API Testing. Streamline your testing process.
API Testing. Streamline your testing process.API Testing. Streamline your testing process.
API Testing. Streamline your testing process.Andrey Oleynik
 
Introduction to Kubernetes
Introduction to KubernetesIntroduction to Kubernetes
Introduction to Kubernetesrajdeep
 
CNIT 152: 10 Enterprise Services
CNIT 152: 10 Enterprise ServicesCNIT 152: 10 Enterprise Services
CNIT 152: 10 Enterprise ServicesSam Bowne
 
Api FUNdamentals #MHA2017
Api FUNdamentals #MHA2017Api FUNdamentals #MHA2017
Api FUNdamentals #MHA2017JoEllen Carter
 
CNIT 121: 10 Enterprise Services
CNIT 121: 10 Enterprise ServicesCNIT 121: 10 Enterprise Services
CNIT 121: 10 Enterprise ServicesSam Bowne
 
Vault Digital Transformation
Vault Digital TransformationVault Digital Transformation
Vault Digital TransformationStenio Ferreira
 
Pm ix tutorial-june2019-pub (1)
Pm ix tutorial-june2019-pub (1)Pm ix tutorial-june2019-pub (1)
Pm ix tutorial-june2019-pub (1)ewerkboy
 
Re:invent 2016 Container Scheduling, Execution and AWS Integration
Re:invent 2016 Container Scheduling, Execution and AWS IntegrationRe:invent 2016 Container Scheduling, Execution and AWS Integration
Re:invent 2016 Container Scheduling, Execution and AWS Integrationaspyker
 
AWS re:Invent 2016: Netflix: Container Scheduling, Execution, and Integration...
AWS re:Invent 2016: Netflix: Container Scheduling, Execution, and Integration...AWS re:Invent 2016: Netflix: Container Scheduling, Execution, and Integration...
AWS re:Invent 2016: Netflix: Container Scheduling, Execution, and Integration...Amazon Web Services
 
Debugging the Web with Fiddler
Debugging the Web with FiddlerDebugging the Web with Fiddler
Debugging the Web with FiddlerIdo Flatow
 
An Azure of Things, a developer’s perspective
An Azure of Things, a developer’s perspectiveAn Azure of Things, a developer’s perspective
An Azure of Things, a developer’s perspectiveBizTalk360
 
Collector Web Services
Collector Web ServicesCollector Web Services
Collector Web Servicespublisyst
 
Azure Application insights - An Introduction
Azure Application insights - An IntroductionAzure Application insights - An Introduction
Azure Application insights - An IntroductionMatthias Güntert
 

Ähnlich wie Oliot epcis at a glance (20)

CQRS and Event Sourcing for IoT applications
CQRS and Event Sourcing for IoT applicationsCQRS and Event Sourcing for IoT applications
CQRS and Event Sourcing for IoT applications
 
API Testing. Streamline your testing process.
API Testing. Streamline your testing process.API Testing. Streamline your testing process.
API Testing. Streamline your testing process.
 
Testing Testing everywhere
Testing Testing everywhereTesting Testing everywhere
Testing Testing everywhere
 
Windows 8 Metro apps and the outside world
Windows 8 Metro apps and the outside worldWindows 8 Metro apps and the outside world
Windows 8 Metro apps and the outside world
 
One to rule them all
One to rule them allOne to rule them all
One to rule them all
 
Introduction to Kubernetes
Introduction to KubernetesIntroduction to Kubernetes
Introduction to Kubernetes
 
Windows 8 Apps and the Outside World
Windows 8 Apps and the Outside WorldWindows 8 Apps and the Outside World
Windows 8 Apps and the Outside World
 
CNIT 152: 10 Enterprise Services
CNIT 152: 10 Enterprise ServicesCNIT 152: 10 Enterprise Services
CNIT 152: 10 Enterprise Services
 
Api FUNdamentals #MHA2017
Api FUNdamentals #MHA2017Api FUNdamentals #MHA2017
Api FUNdamentals #MHA2017
 
CNIT 121: 10 Enterprise Services
CNIT 121: 10 Enterprise ServicesCNIT 121: 10 Enterprise Services
CNIT 121: 10 Enterprise Services
 
Vault Digital Transformation
Vault Digital TransformationVault Digital Transformation
Vault Digital Transformation
 
Powering up on PowerShell - BSides Greenville 2019
Powering up on PowerShell  - BSides Greenville 2019Powering up on PowerShell  - BSides Greenville 2019
Powering up on PowerShell - BSides Greenville 2019
 
Pm ix tutorial-june2019-pub (1)
Pm ix tutorial-june2019-pub (1)Pm ix tutorial-june2019-pub (1)
Pm ix tutorial-june2019-pub (1)
 
Sword Crig 2007 12 06
Sword Crig 2007 12 06Sword Crig 2007 12 06
Sword Crig 2007 12 06
 
Re:invent 2016 Container Scheduling, Execution and AWS Integration
Re:invent 2016 Container Scheduling, Execution and AWS IntegrationRe:invent 2016 Container Scheduling, Execution and AWS Integration
Re:invent 2016 Container Scheduling, Execution and AWS Integration
 
AWS re:Invent 2016: Netflix: Container Scheduling, Execution, and Integration...
AWS re:Invent 2016: Netflix: Container Scheduling, Execution, and Integration...AWS re:Invent 2016: Netflix: Container Scheduling, Execution, and Integration...
AWS re:Invent 2016: Netflix: Container Scheduling, Execution, and Integration...
 
Debugging the Web with Fiddler
Debugging the Web with FiddlerDebugging the Web with Fiddler
Debugging the Web with Fiddler
 
An Azure of Things, a developer’s perspective
An Azure of Things, a developer’s perspectiveAn Azure of Things, a developer’s perspective
An Azure of Things, a developer’s perspective
 
Collector Web Services
Collector Web ServicesCollector Web Services
Collector Web Services
 
Azure Application insights - An Introduction
Azure Application insights - An IntroductionAzure Application insights - An Introduction
Azure Application insights - An Introduction
 

Mehr von Jaewook Byun

데이터 분석 6 - 나만의 배열 기반 LIST, MyLinkedList를 만들어보자
데이터 분석 6 - 나만의 배열 기반 LIST, MyLinkedList를 만들어보자데이터 분석 6 - 나만의 배열 기반 LIST, MyLinkedList를 만들어보자
데이터 분석 6 - 나만의 배열 기반 LIST, MyLinkedList를 만들어보자Jaewook Byun
 
데이터 분석 5 - Java Collection Framework - LinkedList 파헤치기
데이터 분석 5 - Java Collection Framework - LinkedList 파헤치기데이터 분석 5 - Java Collection Framework - LinkedList 파헤치기
데이터 분석 5 - Java Collection Framework - LinkedList 파헤치기Jaewook Byun
 
데이터 분석 4 - 나만의 배열 기반 LIST, MyArrayList를 만들어보자
데이터 분석 4 - 나만의 배열 기반 LIST, MyArrayList를 만들어보자데이터 분석 4 - 나만의 배열 기반 LIST, MyArrayList를 만들어보자
데이터 분석 4 - 나만의 배열 기반 LIST, MyArrayList를 만들어보자Jaewook Byun
 
데이터 분석 3 - Java Collection Framework와 ArrayList
데이터 분석 3 - Java Collection Framework와 ArrayList데이터 분석 3 - Java Collection Framework와 ArrayList
데이터 분석 3 - Java Collection Framework와 ArrayListJaewook Byun
 
데이터 분석 2 - 동기부여
데이터 분석 2 - 동기부여데이터 분석 2 - 동기부여
데이터 분석 2 - 동기부여Jaewook Byun
 
데이터 분석 1 - 소개
데이터 분석 1 - 소개데이터 분석 1 - 소개
데이터 분석 1 - 소개Jaewook Byun
 

Mehr von Jaewook Byun (6)

데이터 분석 6 - 나만의 배열 기반 LIST, MyLinkedList를 만들어보자
데이터 분석 6 - 나만의 배열 기반 LIST, MyLinkedList를 만들어보자데이터 분석 6 - 나만의 배열 기반 LIST, MyLinkedList를 만들어보자
데이터 분석 6 - 나만의 배열 기반 LIST, MyLinkedList를 만들어보자
 
데이터 분석 5 - Java Collection Framework - LinkedList 파헤치기
데이터 분석 5 - Java Collection Framework - LinkedList 파헤치기데이터 분석 5 - Java Collection Framework - LinkedList 파헤치기
데이터 분석 5 - Java Collection Framework - LinkedList 파헤치기
 
데이터 분석 4 - 나만의 배열 기반 LIST, MyArrayList를 만들어보자
데이터 분석 4 - 나만의 배열 기반 LIST, MyArrayList를 만들어보자데이터 분석 4 - 나만의 배열 기반 LIST, MyArrayList를 만들어보자
데이터 분석 4 - 나만의 배열 기반 LIST, MyArrayList를 만들어보자
 
데이터 분석 3 - Java Collection Framework와 ArrayList
데이터 분석 3 - Java Collection Framework와 ArrayList데이터 분석 3 - Java Collection Framework와 ArrayList
데이터 분석 3 - Java Collection Framework와 ArrayList
 
데이터 분석 2 - 동기부여
데이터 분석 2 - 동기부여데이터 분석 2 - 동기부여
데이터 분석 2 - 동기부여
 
데이터 분석 1 - 소개
데이터 분석 1 - 소개데이터 분석 1 - 소개
데이터 분석 1 - 소개
 

Kürzlich hochgeladen

9891550660 Call Girls In Noida Sector 62 Short 1500 Night 6000
9891550660 Call Girls In Noida Sector 62 Short 1500 Night 60009891550660 Call Girls In Noida Sector 62 Short 1500 Night 6000
9891550660 Call Girls In Noida Sector 62 Short 1500 Night 6000teencall080
 
Call Girls In {{Connaught Place Delhi}}96679@38988 Indian Russian High Profil...
Call Girls In {{Connaught Place Delhi}}96679@38988 Indian Russian High Profil...Call Girls In {{Connaught Place Delhi}}96679@38988 Indian Russian High Profil...
Call Girls In {{Connaught Place Delhi}}96679@38988 Indian Russian High Profil...aakahthapa70
 
Rajkot Call Girls Contact Number +919358341802 Call Girls In Rajkot
Rajkot Call Girls Contact Number +919358341802 Call Girls In RajkotRajkot Call Girls Contact Number +919358341802 Call Girls In Rajkot
Rajkot Call Girls Contact Number +919358341802 Call Girls In RajkotSivanyaPandeya
 
Call Girls in Rawalpindi | 🍆💦 03280288848
Call Girls in Rawalpindi | 🍆💦 03280288848Call Girls in Rawalpindi | 🍆💦 03280288848
Call Girls in Rawalpindi | 🍆💦 03280288848Ifra Zohaib
 
Call Now ☎9870417354|| Call Girls in Noida Sector 12 Escort Service Noida N.C.R.
Call Now ☎9870417354|| Call Girls in Noida Sector 12 Escort Service Noida N.C.R.Call Now ☎9870417354|| Call Girls in Noida Sector 12 Escort Service Noida N.C.R.
Call Now ☎9870417354|| Call Girls in Noida Sector 12 Escort Service Noida N.C.R.riyadelhic riyadelhic
 
Call Girls In Lahore || 03274100048 ||Lahore Call Girl Available 24/7
Call Girls In Lahore || 03274100048 ||Lahore Call Girl Available 24/7Call Girls In Lahore || 03274100048 ||Lahore Call Girl Available 24/7
Call Girls In Lahore || 03274100048 ||Lahore Call Girl Available 24/7Sana Rajpoot
 
Call Now HIgh profile ☎9870417354|| Call Girls in Ghaziabad Escort Service De...
Call Now HIgh profile ☎9870417354|| Call Girls in Ghaziabad Escort Service De...Call Now HIgh profile ☎9870417354|| Call Girls in Ghaziabad Escort Service De...
Call Now HIgh profile ☎9870417354|| Call Girls in Ghaziabad Escort Service De...riyadelhic riyadelhic
 
Mysore Call girl service 6289102337 Mysore escort service
Mysore Call girl service 6289102337 Mysore escort serviceMysore Call girl service 6289102337 Mysore escort service
Mysore Call girl service 6289102337 Mysore escort servicemaheshsingh64440
 
Varanasi Call Girl 78709*93772 Call Girls in Varanasi Escort service book now
Varanasi  Call Girl 78709*93772 Call Girls in Varanasi Escort service book nowVaranasi  Call Girl 78709*93772 Call Girls in Varanasi Escort service book now
Varanasi Call Girl 78709*93772 Call Girls in Varanasi Escort service book nowapshanarani255
 
Karachi Sexy Girls || 03280288848 || Sex services in Karachi
Karachi Sexy Girls || 03280288848 || Sex services in KarachiKarachi Sexy Girls || 03280288848 || Sex services in Karachi
Karachi Sexy Girls || 03280288848 || Sex services in KarachiAwais Yousaf
 
Hire 💕 8617370543 Uttara Kannada Call Girls Service Call Girls Agency
Hire 💕 8617370543 Uttara Kannada Call Girls Service Call Girls AgencyHire 💕 8617370543 Uttara Kannada Call Girls Service Call Girls Agency
Hire 💕 8617370543 Uttara Kannada Call Girls Service Call Girls AgencyJia Oberoi
 
Call Girls in B-18 Islamabad || 🔝 03274100048
Call Girls in B-18 Islamabad || 🔝 03274100048Call Girls in B-18 Islamabad || 🔝 03274100048
Call Girls in B-18 Islamabad || 🔝 03274100048Ifra Zohaib
 
+91-9310611641 Russian Call Girls In New Delhi Independent Russian Call Girls...
+91-9310611641 Russian Call Girls In New Delhi Independent Russian Call Girls...+91-9310611641 Russian Call Girls In New Delhi Independent Russian Call Girls...
+91-9310611641 Russian Call Girls In New Delhi Independent Russian Call Girls...teencall080
 
9999266834 Call Girls In Noida Sector 18 (Delhi) Call Girl Service
9999266834 Call Girls In Noida Sector 18 (Delhi) Call Girl Service9999266834 Call Girls In Noida Sector 18 (Delhi) Call Girl Service
9999266834 Call Girls In Noida Sector 18 (Delhi) Call Girl Servicenishacall1
 
Call Girls In Noida Free Ad 24/7 Hours Online Call 9310659962 Shot 2000 Night...
Call Girls In Noida Free Ad 24/7 Hours Online Call 9310659962 Shot 2000 Night...Call Girls In Noida Free Ad 24/7 Hours Online Call 9310659962 Shot 2000 Night...
Call Girls In Noida Free Ad 24/7 Hours Online Call 9310659962 Shot 2000 Night...DelhiMahipalpur
 
Radhika Call Girls In Jaipur 9358660226 Escorts service
Radhika Call Girls In Jaipur 9358660226 Escorts serviceRadhika Call Girls In Jaipur 9358660226 Escorts service
Radhika Call Girls In Jaipur 9358660226 Escorts servicerahul222jai
 
Udupi Call girl service 6289102337 Udupi escort service
Udupi Call girl service 6289102337 Udupi escort serviceUdupi Call girl service 6289102337 Udupi escort service
Udupi Call girl service 6289102337 Udupi escort servicemaheshsingh64440
 
Kolkata 💋 Call Girl 9748763073 Call Girls in Kolkata Escort service book now
Kolkata 💋 Call Girl 9748763073 Call Girls in Kolkata Escort service book nowKolkata 💋 Call Girl 9748763073 Call Girls in Kolkata Escort service book now
Kolkata 💋 Call Girl 9748763073 Call Girls in Kolkata Escort service book nowapshanarani255
 
Best VIP Call Girls Noida Sector 23 Call Me: 8700611579
Best VIP Call Girls Noida Sector 23 Call Me: 8700611579Best VIP Call Girls Noida Sector 23 Call Me: 8700611579
Best VIP Call Girls Noida Sector 23 Call Me: 8700611579diyaspanoida
 
JAMNAGAR CALL GIRLS 92628/71154 JAMNAGAR
JAMNAGAR CALL GIRLS 92628/71154 JAMNAGARJAMNAGAR CALL GIRLS 92628/71154 JAMNAGAR
JAMNAGAR CALL GIRLS 92628/71154 JAMNAGARNiteshKumar82226
 

Kürzlich hochgeladen (20)

9891550660 Call Girls In Noida Sector 62 Short 1500 Night 6000
9891550660 Call Girls In Noida Sector 62 Short 1500 Night 60009891550660 Call Girls In Noida Sector 62 Short 1500 Night 6000
9891550660 Call Girls In Noida Sector 62 Short 1500 Night 6000
 
Call Girls In {{Connaught Place Delhi}}96679@38988 Indian Russian High Profil...
Call Girls In {{Connaught Place Delhi}}96679@38988 Indian Russian High Profil...Call Girls In {{Connaught Place Delhi}}96679@38988 Indian Russian High Profil...
Call Girls In {{Connaught Place Delhi}}96679@38988 Indian Russian High Profil...
 
Rajkot Call Girls Contact Number +919358341802 Call Girls In Rajkot
Rajkot Call Girls Contact Number +919358341802 Call Girls In RajkotRajkot Call Girls Contact Number +919358341802 Call Girls In Rajkot
Rajkot Call Girls Contact Number +919358341802 Call Girls In Rajkot
 
Call Girls in Rawalpindi | 🍆💦 03280288848
Call Girls in Rawalpindi | 🍆💦 03280288848Call Girls in Rawalpindi | 🍆💦 03280288848
Call Girls in Rawalpindi | 🍆💦 03280288848
 
Call Now ☎9870417354|| Call Girls in Noida Sector 12 Escort Service Noida N.C.R.
Call Now ☎9870417354|| Call Girls in Noida Sector 12 Escort Service Noida N.C.R.Call Now ☎9870417354|| Call Girls in Noida Sector 12 Escort Service Noida N.C.R.
Call Now ☎9870417354|| Call Girls in Noida Sector 12 Escort Service Noida N.C.R.
 
Call Girls In Lahore || 03274100048 ||Lahore Call Girl Available 24/7
Call Girls In Lahore || 03274100048 ||Lahore Call Girl Available 24/7Call Girls In Lahore || 03274100048 ||Lahore Call Girl Available 24/7
Call Girls In Lahore || 03274100048 ||Lahore Call Girl Available 24/7
 
Call Now HIgh profile ☎9870417354|| Call Girls in Ghaziabad Escort Service De...
Call Now HIgh profile ☎9870417354|| Call Girls in Ghaziabad Escort Service De...Call Now HIgh profile ☎9870417354|| Call Girls in Ghaziabad Escort Service De...
Call Now HIgh profile ☎9870417354|| Call Girls in Ghaziabad Escort Service De...
 
Mysore Call girl service 6289102337 Mysore escort service
Mysore Call girl service 6289102337 Mysore escort serviceMysore Call girl service 6289102337 Mysore escort service
Mysore Call girl service 6289102337 Mysore escort service
 
Varanasi Call Girl 78709*93772 Call Girls in Varanasi Escort service book now
Varanasi  Call Girl 78709*93772 Call Girls in Varanasi Escort service book nowVaranasi  Call Girl 78709*93772 Call Girls in Varanasi Escort service book now
Varanasi Call Girl 78709*93772 Call Girls in Varanasi Escort service book now
 
Karachi Sexy Girls || 03280288848 || Sex services in Karachi
Karachi Sexy Girls || 03280288848 || Sex services in KarachiKarachi Sexy Girls || 03280288848 || Sex services in Karachi
Karachi Sexy Girls || 03280288848 || Sex services in Karachi
 
Hire 💕 8617370543 Uttara Kannada Call Girls Service Call Girls Agency
Hire 💕 8617370543 Uttara Kannada Call Girls Service Call Girls AgencyHire 💕 8617370543 Uttara Kannada Call Girls Service Call Girls Agency
Hire 💕 8617370543 Uttara Kannada Call Girls Service Call Girls Agency
 
Call Girls in B-18 Islamabad || 🔝 03274100048
Call Girls in B-18 Islamabad || 🔝 03274100048Call Girls in B-18 Islamabad || 🔝 03274100048
Call Girls in B-18 Islamabad || 🔝 03274100048
 
+91-9310611641 Russian Call Girls In New Delhi Independent Russian Call Girls...
+91-9310611641 Russian Call Girls In New Delhi Independent Russian Call Girls...+91-9310611641 Russian Call Girls In New Delhi Independent Russian Call Girls...
+91-9310611641 Russian Call Girls In New Delhi Independent Russian Call Girls...
 
9999266834 Call Girls In Noida Sector 18 (Delhi) Call Girl Service
9999266834 Call Girls In Noida Sector 18 (Delhi) Call Girl Service9999266834 Call Girls In Noida Sector 18 (Delhi) Call Girl Service
9999266834 Call Girls In Noida Sector 18 (Delhi) Call Girl Service
 
Call Girls In Noida Free Ad 24/7 Hours Online Call 9310659962 Shot 2000 Night...
Call Girls In Noida Free Ad 24/7 Hours Online Call 9310659962 Shot 2000 Night...Call Girls In Noida Free Ad 24/7 Hours Online Call 9310659962 Shot 2000 Night...
Call Girls In Noida Free Ad 24/7 Hours Online Call 9310659962 Shot 2000 Night...
 
Radhika Call Girls In Jaipur 9358660226 Escorts service
Radhika Call Girls In Jaipur 9358660226 Escorts serviceRadhika Call Girls In Jaipur 9358660226 Escorts service
Radhika Call Girls In Jaipur 9358660226 Escorts service
 
Udupi Call girl service 6289102337 Udupi escort service
Udupi Call girl service 6289102337 Udupi escort serviceUdupi Call girl service 6289102337 Udupi escort service
Udupi Call girl service 6289102337 Udupi escort service
 
Kolkata 💋 Call Girl 9748763073 Call Girls in Kolkata Escort service book now
Kolkata 💋 Call Girl 9748763073 Call Girls in Kolkata Escort service book nowKolkata 💋 Call Girl 9748763073 Call Girls in Kolkata Escort service book now
Kolkata 💋 Call Girl 9748763073 Call Girls in Kolkata Escort service book now
 
Best VIP Call Girls Noida Sector 23 Call Me: 8700611579
Best VIP Call Girls Noida Sector 23 Call Me: 8700611579Best VIP Call Girls Noida Sector 23 Call Me: 8700611579
Best VIP Call Girls Noida Sector 23 Call Me: 8700611579
 
JAMNAGAR CALL GIRLS 92628/71154 JAMNAGAR
JAMNAGAR CALL GIRLS 92628/71154 JAMNAGARJAMNAGAR CALL GIRLS 92628/71154 JAMNAGAR
JAMNAGAR CALL GIRLS 92628/71154 JAMNAGAR
 

Oliot epcis at a glance

  • 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
  • 2. Table of Contents 1. Introduction 2. Installation 3. Tutorial 4. Programming Guide
  • 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]
  • 11. Introduction – EPCIS Service • EPCIS Services • Event Capture • Immediate Query • Scheduled Query
  • 12. Introduction – Oliot EPCIS open source • Oliot EPCIS • Open source web service compatible with EPCIS v1.1 • How implemented • Model Generation • JAXB on standard XSD • Service Binding • SOAP based on standard WSDL • Verification • XSD verification • Running Environment • Java Web Service ( Java v1.8, Servlet v3.1 ) • Tomcat WAS ( v8.x ) • MongoDB ( v3.x ) • Services • Service Bindings: SOAP, REST • Capture Service • Event data / Master data • Query Service • Standard ‘SimpleEventQuery’ (See EPCIS 8.2.7 ) Backend Repository Event Data Master Data Capture Service Listener CaptureLayer Application QueryLayer Poll Subscription Scheduler Schedule Destination App Query Service Receiver Oliot-EPCIS SOAP/HTTP REST/HTTP Object-Relational Mapper (POJO  Storage Unit) JAXB Marshaller (XMLPOJO) Document Validator Capture Immediate Query Standing Query EPCIS DOC ResultSOAP/HTTP REST/HTTP JAXB Unmarshaller (POJO  XML) Object-Relational Mapper (Storage Unit  POJO) XML/JSON
  • 13. Installation - Prerequisite • Install Java 8 • Install Tomcat 8 • Install MongoDB 3 • Download ‘epcis.war’ from • https://github.com/gs1oliot/oliot-epcis-1.1/tree/master/epcis/target or • https://github.com/JaewookByun/epcis/tree/master/epcis/target • Locate ‘epcis.war’ into [tomcat-folder]/webapps
  • 14. Installation • Run MongoDB • Run Tomcat Server • See it starts • Access [ip:port]/epcis
  • 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
  • 16. Tutorial: How to make EPCIS document • Capture your event 1
  • 17. Tutorial: How to make EPCIS document • Standard XML format for Event 1
  • 18. Tutorial: How to make EPCIS document • Capture your event 2
  • 19. Tutorial: How to make EPCIS document • Standard XML format for Event 2
  • 20. Tutorial: How to make EPCIS document • Capture your event 3
  • 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
  • 35. Reference • GS1 EPCglobal: http://www.gs1.org/epcglobal • EPCIS v1.1: http://www.gs1.org/sites/default/files/docs/epc/epcis_1_1-standard-20140520.pdf • CBV v1.1: http://www.gs1.org/sites/default/files/docs/epc/cbv_1_1-standard-20140520.pdf • Oliot Homepage: http://gs1oliot.github.io/oliot/ • Github • https://github.com/gs1oliot/oliot-epcis-1.1 • https://github.com/JaewookByun/epcis