https://github.com/52north/epos

EPOS provides event stream processing components using a powerful and extensible encoding/decoding architecture.

https://github.com/52north/epos

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
Last synced: 10 months ago · JSON representation

Repository

EPOS provides event stream processing components using a powerful and extensible encoding/decoding architecture.

Basic Info
  • Host: GitHub
  • Owner: 52North
  • License: gpl-2.0
  • Language: Java
  • Default Branch: master
  • Homepage:
  • Size: 718 KB
Statistics
  • Stars: 4
  • Watchers: 11
  • Forks: 4
  • Open Issues: 2
  • Releases: 0
Archived
Created about 13 years ago · Last pushed over 1 year ago
Metadata Files
Readme License

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

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

epos-all/pom.xml maven
  • ${project.groupId}:epos-core
  • ${project.groupId}:epos-filter-basic
  • ${project.groupId}:epos-pattern-eml
  • ${project.groupId}:epos-pattern-esper
  • ${project.groupId}:epos-transform-om
epos-api/pom.xml maven
  • joda-time:joda-time
  • org.slf4j:slf4j-api
  • junit:junit test
  • org.mockito:mockito-all test
epos-core/pom.xml maven
  • ${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
epos-filter/epos-filter-basic/pom.xml maven
  • ${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
epos-pattern/epos-pattern-eml/pom.xml maven
  • ${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
epos-pattern/epos-pattern-esper/pom.xml maven
  • ${project.groupId}:epos-api
  • ${project.groupId}:epos-pattern-util
  • com.espertech:esper
  • joda-time:joda-time
  • org.slf4j:slf4j-api
epos-pattern/epos-pattern-util/pom.xml maven
  • ${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
epos-test/pom.xml maven
  • ${project.groupId}:epos-api
  • ch.qos.logback:logback-classic
  • org.apache.xmlbeans:xmlbeans
epos-transform/epos-transform-aixm-xmlbeans/pom.xml maven
  • ${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
epos-transform/epos-transform-aixm-xpath/pom.xml maven
  • ${project.groupId}:epos-api
  • com.vividsolutions:jts
  • org.apache.xmlbeans:xmlbeans
  • org.slf4j:slf4j-api
  • junit:junit test
epos-transform/epos-transform-fixm-xmlbeans/pom.xml maven
  • ${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
epos-transform/epos-transform-om/pom.xml maven
  • ${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
pom.xml maven
  • 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
epos-filter/pom.xml maven
epos-pattern/pom.xml maven
epos-transform/pom.xml maven