https://github.com/52north/epos
EPOS provides event stream processing components using a powerful and extensible encoding/decoding architecture.
Science Score: 13.0%
This score indicates how likely this project is to be science-related based on various indicators:
-
○CITATION.cff file
-
✓codemeta.json file
Found codemeta.json file -
○.zenodo.json file
-
○DOI references
-
○Academic publication links
-
○Academic email domains
-
○Institutional organization owner
-
○JOSS paper metadata
-
○Scientific vocabulary similarity
Low similarity (14.2%) to scientific vocabulary
Repository
EPOS provides event stream processing components using a powerful and extensible encoding/decoding architecture.
Basic Info
Statistics
- Stars: 4
- Watchers: 11
- Forks: 4
- Open Issues: 2
- Releases: 0
Metadata Files
README.md
ARCHIVED
This project is no longer maintained and will not receive any further updates. If you plan to continue using it, please be aware that future security issues will not be addressed.
52°North EPOS
EPOS provides event stream processing components using a powerful and extensible encoding/decoding architecture.
Introduction
The 52°North Sensor Event Service established the use of event streams for complex event processing. While the architecture showed its potential, additional use cases appeared where the specific SES interface was a significant overhead. This project narrows the event pattern components developed within the SES down to its core functionality and allows its inclusion into other software. In particular, it can help to enable Publish/Subscribe functionality for data provisioning web services.
The current development snapshot of the SES uses this components and will include it in prior releases, starting with version 1.3.0.
Stream Processing
The stream processing and pattern matching features are heavily based on Esper.
Extending EPOS
EPOS provides two interfaces which allow easy extension of the framework
- org.n52.epos.transform.EposTransformer
- org.n52.epos.filter.FilterInstantiationRepository
The EposTransformer interface provides methods for transformation of
every kind of input into an EposEvent instance. A realization shall
determine at runtime if it supports the given input by returning a
boolean for the supportsInput(Object input) method. If true, the
EposEvent transform(Object input) is called in which the realization
processes the given object.
The FilterInstantiationRepository can be used to implement additional
filters. There are two basic types of filters which are then combined as
a Rule:
- org.n52.epos.filter.ActiveFilter
- org.n52.epos.filter.PassiveFilter
A realization of FilterInstantiationRepository can be considered as a
transformer of a Filter representation (e.g. an XPath configuration)
into the internal EposFilter instance. An example is the
org.n52.epos.engine.filter.XPathFilterRepository.
Implementations of the above described interfaces need to be exposed via
Java's ServiceLoader pattern (META-INF/services/"interface-as-filename",
e.g. see this example).
Building
mvn clean install does the basic job. This includes integration-level
tests to ensure the stable behavior of the stream processing.
Naming
EPOS has no special meaning or is an abbreviation. If desperately required, one could use "Event Processing Open-closed Suite" as the complete project name.
Owner
- Name: 52°North Spatial Information Research GmbH
- Login: 52North
- Kind: organization
- Email: info@52north.org
- Location: Münster
- Website: https://52north.org/
- Twitter: fivetwon
- Repositories: 261
- Profile: https://github.com/52North
Advancing spatial information infrastructures to foster open science
GitHub Events
Total
Last Year
Issues and Pull Requests
Last synced: over 1 year ago
All Time
- Total issues: 0
- Total pull requests: 3
- Average time to close issues: N/A
- Average time to close pull requests: less than a minute
- Total issue authors: 0
- Total pull request authors: 2
- Average comments per issue: 0
- Average comments per pull request: 0.0
- Merged pull requests: 1
- Bot issues: 0
- Bot pull requests: 0
Past Year
- Issues: 0
- Pull requests: 1
- Average time to close issues: N/A
- Average time to close pull requests: N/A
- Issue authors: 0
- Pull request authors: 1
- Average comments per issue: 0
- Average comments per pull request: 0.0
- Merged pull requests: 0
- Bot issues: 0
- Bot pull requests: 0
Top Authors
Issue Authors
Pull Request Authors
- JLLeitschuh (2)
- matthesrieke (1)
Top Labels
Issue Labels
Pull Request Labels
Dependencies
- ${project.groupId}:epos-core
- ${project.groupId}:epos-filter-basic
- ${project.groupId}:epos-pattern-eml
- ${project.groupId}:epos-pattern-esper
- ${project.groupId}:epos-transform-om
- joda-time:joda-time
- org.slf4j:slf4j-api
- junit:junit test
- org.mockito:mockito-all test
- ${project.groupId}:epos-api
- org.apache.xmlbeans:xmlbeans
- org.slf4j:slf4j-api
- ${project.groupId}:epos-filter-basic test
- ${project.groupId}:epos-pattern-eml test
- ${project.groupId}:epos-pattern-esper test
- ${project.groupId}:epos-test test
- ${project.groupId}:epos-transform-om test
- junit:junit test
- org.hamcrest:hamcrest-core test
- org.mockito:mockito-all test
- ${project.groupId}:epos-api
- net.sf.saxon:Saxon-HE
- org.apache.xmlbeans:xmlbeans
- org.slf4j:slf4j-api
- ch.qos.logback:logback-classic test
- junit:junit test
- org.hamcrest:hamcrest-core test
- org.mockito:mockito-all test
- ${project.groupId}:epos-api
- ${project.groupId}:epos-pattern-util
- ${project.groupId}:epos-test
- com.vividsolutions:jts
- joda-time:joda-time
- org.apache.xmlbeans:xmlbeans
- org.n52.sensorweb:52n-oxf-xmlbeans
- org.n52.sensorweb:52n-xml-em-v020
- org.n52.sensorweb:52n-xml-eml-v001
- org.n52.sensorweb:52n-xml-gml-v321
- org.slf4j:slf4j-api
- junit:junit test
- org.mockito:mockito-all test
- ${project.groupId}:epos-api
- ${project.groupId}:epos-pattern-util
- com.espertech:esper
- joda-time:joda-time
- org.slf4j:slf4j-api
- ${project.groupId}:epos-api
- com.vividsolutions:jts
- junit:junit
- org.n52.sensorweb:52n-oxf-conversion
- org.n52.sensorweb:52n-xml-gml-v321
- org.n52.sensorweb:52n-xml-soap-v12
- org.n52.sensorweb:52n-xml-xlink-v110
- org.slf4j:slf4j-api
- ${project.groupId}:epos-api
- ch.qos.logback:logback-classic
- org.apache.xmlbeans:xmlbeans
- ${project.groupId}:epos-api
- com.vividsolutions:jts
- joda-time:joda-time
- junit:junit
- org.apache.xmlbeans:xmlbeans
- org.n52.sensorweb:52n-oxf-conversion
- org.n52.sensorweb:52n-oxf-xmlbeans
- org.n52.sensorweb:52n-xml-aixm-v511
- org.n52.sensorweb:52n-xml-gml-v321
- org.n52.sensorweb:52n-xml-soap-v12
- org.slf4j:slf4j-api
- ${project.groupId}:epos-api
- com.vividsolutions:jts
- org.apache.xmlbeans:xmlbeans
- org.slf4j:slf4j-api
- junit:junit test
- ${project.groupId}:epos-api
- com.vividsolutions:jts
- joda-time:joda-time
- junit:junit
- org.apache.xmlbeans:xmlbeans
- org.n52.sensorweb:52n-oxf-xmlbeans
- org.n52.sensorweb:52n-xml-fixm-v301
- org.n52.sensorweb:52n-xml-gml-v321
- org.n52.sensorweb:52n-xml-soap-v12
- org.slf4j:slf4j-api
- ${project.groupId}:epos-api
- com.vividsolutions:jts
- joda-time:joda-time
- junit:junit
- org.apache.xmlbeans:xmlbeans
- org.n52.sensorweb:52n-oxf-conversion
- org.n52.sensorweb:52n-oxf-xmlbeans
- org.n52.sensorweb:52n-xml-gml-v321
- org.n52.sensorweb:52n-xml-om-v100
- org.n52.sensorweb:52n-xml-om-v20
- org.n52.sensorweb:52n-xml-sampling-v100
- org.n52.sensorweb:52n-xml-soap-v12
- org.slf4j:slf4j-api
- ch.qos.logback:logback-classic 1.0.11
- ch.qos.logback:logback-core 1.0.11
- com.espertech:esper 4.5.0
- com.vividsolutions:jts 1.11
- joda-time:joda-time 2.1
- junit:junit 4.11
- net.sf.saxon:Saxon-HE 9.4.0.6
- org.apache.xmlbeans:xmlbeans 2.6.0
- org.apache.xmlbeans:xmlbeans-xpath 2.6.0
- org.hamcrest:hamcrest-core 1.3
- org.mockito:mockito-all 1.9.5
- org.n52.epos:epos-api 0.1.0
- org.n52.epos:epos-core 0.1.0
- org.n52.epos:epos-filter-basic 0.1.0
- org.n52.epos:epos-pattern-eml 0.1.0
- org.n52.epos:epos-pattern-esper 0.1.0
- org.n52.epos:epos-pattern-util 0.1.0
- org.n52.epos:epos-transform-om 0.1.0
- org.n52.sensorweb:52n-oxf-conversion 2.0.0-alpha.3.3
- org.n52.sensorweb:52n-oxf-xmlbeans 2.0.0-alpha.3.3
- org.n52.sensorweb:52n-xml-aixm-v511 2.3.0
- org.n52.sensorweb:52n-xml-em-v020 2.3.0
- org.n52.sensorweb:52n-xml-eml-v001 2.3.0
- org.n52.sensorweb:52n-xml-fixm-v301 2.3.0
- org.n52.sensorweb:52n-xml-gml-v321 2.3.0
- org.n52.sensorweb:52n-xml-om-v100 2.3.0
- org.n52.sensorweb:52n-xml-om-v20 2.3.0
- org.n52.sensorweb:52n-xml-sampling-v100 2.3.0
- org.n52.sensorweb:52n-xml-soap-v12 2.3.0
- org.n52.sensorweb:52n-xml-xlink-v110 2.3.0
- org.slf4j:jcl-over-slf4j 1.7.5
- org.slf4j:jul-to-slf4j 1.7.5
- org.slf4j:log4j-over-slf4j 1.7.5
- org.slf4j:slf4j-api 1.7.5
- xalan:xalan 2.7.1
- org.n52.epos:epos-test 0.1.0 test