diff options
Diffstat (limited to 'plugins/plugins-event/plugins-event-carrier/plugins-event-carrier-websocket')
5 files changed, 0 insertions, 174 deletions
diff --git a/plugins/plugins-event/plugins-event-carrier/plugins-event-carrier-websocket/src/site-docs/adoc/fragments/ct-websocket-io.adoc b/plugins/plugins-event/plugins-event-carrier/plugins-event-carrier-websocket/src/site-docs/adoc/fragments/ct-websocket-io.adoc deleted file mode 100644 index 8a19cdd32..000000000 --- a/plugins/plugins-event/plugins-event-carrier/plugins-event-carrier-websocket/src/site-docs/adoc/fragments/ct-websocket-io.adoc +++ /dev/null @@ -1,75 +0,0 @@ -// -// ============LICENSE_START======================================================= -// Copyright (C) 2016-2018 Ericsson. All rights reserved. -// ================================================================================ -// This file is licensed under the CREATIVE COMMONS ATTRIBUTION 4.0 INTERNATIONAL LICENSE -// Full license text at https://creativecommons.org/licenses/by/4.0/legalcode -// -// SPDX-License-Identifier: CC-BY-4.0 -// ============LICENSE_END========================================================= -// -// @author Sven van der Meer (sven.van.der.meer@ericsson.com) -// - -== Websocket (WS) IO - -APEX supports the Websockets as input as well as output. -WS IO is supported by the APEX Websocket plugin. -This carrier technology does only support uni-directional communication. -APEX will not send events to a Websocket input and any event sent to a Websocket output will result in an error log. - -The input can be configured as client (APEX connects to an existing Websocket server) or server (APEX starts a Websocket server). -The same applies to the output. -Input and output can both use a client or a server configuration, or separate configurations (input as client and output as server, input as server and output as client). -Each configuration should use its own dedicated port to avoid any communication loops. -The configuration of a Websocket client is the same for input and output. -The configuration of a Websocket server is the same for input and output. - - -=== Websocket Client - -APEX will connect to a given Websocket server. -As input, it will receive events from the server but not send any events. -As output, it will send events to the server and any event received from the server will result in an error log. - -[source%nowrap,json] ----- -"carrierTechnologyParameters" : { - "carrierTechnology" : "WEBSOCKET", <1> - "parameterClassName" : - "org.onap.policy.apex.plugins.event.carrier.websocket.WEBSOCKETCarrierTechnologyParameters", - "parameters" : { - "host" : "localhost", <2> - "port" : 42451 <3> - } -} ----- - -<1> set Websocket as carrier technology -<2> the host name on which a Websocket server is running -<3> the port of that Websocket server - - - -=== Websocket Server - -APEX will start a Websocket server, which will accept any Websocket clients to connect. -As input, it will receive events from the server but not send any events. -As output, it will send events to the server and any event received from the server will result in an error log. - -[source%nowrap,json] ----- -"carrierTechnologyParameters" : { - "carrierTechnology" : "WEBSOCKET", <1> - "parameterClassName" : - "org.onap.policy.apex.plugins.event.carrier.websocket.WEBSOCKETCarrierTechnologyParameters", - "parameters" : { - "wsClient" : false, <2> - "port" : 42450 <3> - } -} ----- - -<1> set Websocket as carrier technology -<2> disable client, so that APEX will start a Websocket server -<3> the port for the Websocket server APEX will start diff --git a/plugins/plugins-event/plugins-event-carrier/plugins-event-carrier-websocket/src/site-docs/adoc/fragments/engine-config-bcp.adoc b/plugins/plugins-event/plugins-event-carrier/plugins-event-carrier-websocket/src/site-docs/adoc/fragments/engine-config-bcp.adoc deleted file mode 100644 index 227cc45bb..000000000 --- a/plugins/plugins-event/plugins-event-carrier/plugins-event-carrier-websocket/src/site-docs/adoc/fragments/engine-config-bcp.adoc +++ /dev/null @@ -1,29 +0,0 @@ -// -// ============LICENSE_START======================================================= -// Copyright (C) 2016-2018 Ericsson. All rights reserved. -// ================================================================================ -// This file is licensed under the CREATIVE COMMONS ATTRIBUTION 4.0 INTERNATIONAL LICENSE -// Full license text at https://creativecommons.org/licenses/by/4.0/legalcode -// -// SPDX-License-Identifier: CC-BY-4.0 -// ============LICENSE_END========================================================= -// -// @author Sven van der Meer (sven.van.der.meer@ericsson.com) -// - -== BCP: Websocket Configuration - -The probably best is to configure APEX for Websocket servers for input (ingress, consume) and output (egress, produce) interfaces. -This means that APEX will start Websocket servers on named ports and wait for clients to connect. -Advantage: once APEX is running all connectivity infrastructure is running as well. -Consequence: if APEX is not running, everyone else is in the dark, too. - -The best protocol to be used is JSON string. -Each event on any interface is then a string with a JSON encoding. -JSON string is a little bit slower than byte code, but we doubt that this will be noticeable. -A further advantage of JSON strings over Websockets with APEX starting the servers: it is very easy to connect web browsers to such a system. -Simple connect the web browser to the APEX sockets and send/read JSON strings. - -Once APEX is started you simply connect Websocket clients to it, and send/receive event. -When APEX is terminated, the Websocket servers go down, and the clients will be disconnected. -APEX does not (yet) support auto-client reconnect nor WAMP, so clients might need to be restarted or reconnected manually after an APEX boot. diff --git a/plugins/plugins-event/plugins-event-carrier/plugins-event-carrier-websocket/src/site-docs/adoc/fragments/ws-foss.adoc b/plugins/plugins-event/plugins-event-carrier/plugins-event-carrier-websocket/src/site-docs/adoc/fragments/ws-foss.adoc deleted file mode 100644 index 43c6f247e..000000000 --- a/plugins/plugins-event/plugins-event-carrier/plugins-event-carrier-websocket/src/site-docs/adoc/fragments/ws-foss.adoc +++ /dev/null @@ -1,27 +0,0 @@ -// -// ============LICENSE_START======================================================= -// Copyright (C) 2016-2018 Ericsson. All rights reserved. -// ================================================================================ -// This file is licensed under the CREATIVE COMMONS ATTRIBUTION 4.0 INTERNATIONAL LICENSE -// Full license text at https://creativecommons.org/licenses/by/4.0/legalcode -// -// SPDX-License-Identifier: CC-BY-4.0 -// ============LICENSE_END========================================================= -// -// @author Sven van der Meer (sven.van.der.meer@ericsson.com) -// - -== Websocket Example Code for Websocket clients (FOSS) - -There are a lot of implementations and examples available on Github for Websocket clients. -If one is using Java EE 7, then one can also use the native Websocket implementation. -Good examples for clients using simply Java SE are here: - -- link:https://github.com/TooTallNate/Java-WebSocket[Websocket implementation] -- link:https://github.com/TooTallNate/Java-WebSocket/blob/master/src/main/example/ChatClient.java[Websocket sending client example, using AWT] -- link:https://github.com/TooTallNate/Java-WebSocket/blob/master/src/main/example/ExampleClient.java[Websocket receiving client example (simple echo client)] - -For Java EE, the native Websocket API is explained here: - -- link:http://www.oracle.com/technetwork/articles/java/jsr356-1937161.html[Oracle docs] -- link: http://www.programmingforliving.com/2013/08/jsr-356-java-api-for-websocket-client-api.html[An example] diff --git a/plugins/plugins-event/plugins-event-carrier/plugins-event-carrier-websocket/src/site-docs/adoc/fragments/ws-intro.adoc b/plugins/plugins-event/plugins-event-carrier/plugins-event-carrier-websocket/src/site-docs/adoc/fragments/ws-intro.adoc deleted file mode 100644 index cbecbbe7f..000000000 --- a/plugins/plugins-event/plugins-event-carrier/plugins-event-carrier-websocket/src/site-docs/adoc/fragments/ws-intro.adoc +++ /dev/null @@ -1,23 +0,0 @@ -// -// ============LICENSE_START======================================================= -// Copyright (C) 2016-2018 Ericsson. All rights reserved. -// ================================================================================ -// This file is licensed under the CREATIVE COMMONS ATTRIBUTION 4.0 INTERNATIONAL LICENSE -// Full license text at https://creativecommons.org/licenses/by/4.0/legalcode -// -// SPDX-License-Identifier: CC-BY-4.0 -// ============LICENSE_END========================================================= -// -// @author Sven van der Meer (sven.van.der.meer@ericsson.com) -// - -== Websockets - -Websocket is a protocol to run sockets of HTTP. -Since it in essence a socket, the connection is realized between a server (waiting for connections) and a client (connecting to a server). -Server/client separation is only important for connection establishment, once connected, everyone can send/receive on the same socket (as any standard socket would allow). - -Standard Websocket implementations are simple, no publish/subscribe and no special event handling. -Most servers simply send all incoming messages to all connections. -There is a PubSub definition on top of Websocket called link:http://wamp-proto.org/[WAMP]. -APEX does not support WAMP at the moment. diff --git a/plugins/plugins-event/plugins-event-carrier/plugins-event-carrier-websocket/src/site-docs/adoc/fragments/ws-java.adoc b/plugins/plugins-event/plugins-event-carrier/plugins-event-carrier-websocket/src/site-docs/adoc/fragments/ws-java.adoc deleted file mode 100644 index e6c2c0163..000000000 --- a/plugins/plugins-event/plugins-event-carrier/plugins-event-carrier-websocket/src/site-docs/adoc/fragments/ws-java.adoc +++ /dev/null @@ -1,20 +0,0 @@ -// -// ============LICENSE_START======================================================= -// Copyright (C) 2016-2018 Ericsson. All rights reserved. -// ================================================================================ -// This file is licensed under the CREATIVE COMMONS ATTRIBUTION 4.0 INTERNATIONAL LICENSE -// Full license text at https://creativecommons.org/licenses/by/4.0/legalcode -// -// SPDX-License-Identifier: CC-BY-4.0 -// ============LICENSE_END========================================================= -// -// @author Sven van der Meer (sven.van.der.meer@ericsson.com) -// - -== Websocket in Java - -In Java, link:http://www.oracle.com/technetwork/articles/java/jsr356-1937161.html[JSR 356] defines the standard Websocket API. -This JSR is part of Jave EE 7 standard. -For Java SE, several implementations exist in open source. -Since Websockets are a stable standard and simple, most implementations are stable and ready to use. -A lot of products support Websockets, like Spring, JBoss, Netty, … there are also Kafka extensions for Websockets. |