Commit d2612592 by amir

changes

parent 0c88567d
{
"swagger": "2.0",
"info": {
"version": "1.0.0",
"title": "SOE - Service Orchestration Enabler",
"description": "* Service orchestration flow handler *\n"
},
"host": "localhost",
"basePath": "/soe",
"schemes": [
"http",
"https"
],
"consumes": [
"application/json"
],
"produces": [
"application/json"
],
"paths": {
"/{tenant}/sof": {
"parameters": [
{
"name": "tenant",
"in": "path",
"type": "string",
"description": "tenant id",
"required": true
}
],
"get": {
"summary": "get all service orchestration flows",
"description": "returns a list of flows , by flow-id(sof-id)",
"responses": {
"200": {
"description": "OK"
}
}
}
},
"/{tenant}/sof/{sof-id}": {
"parameters": [
{
"name": "tenant",
"in": "path",
"type": "string",
"description": "tenant id",
"required": true
},
{
"name": "sof-id",
"in": "path",
"type": "string",
"description": "sof id",
"required": true
}
],
"get": {
"summary": "get sof info",
"description": "Getting a service orchestration flow info",
"responses": {
"200": {
"description": "Rest Response",
"schema": {
"$ref": "#/definitions/RestResponse"
}
}
}
},
"post": {
"description": "creates service orchestration flow",
"parameters": [
{
"name": "body",
"in": "body",
"schema": {
"$ref": "#/definitions/SOF"
}
}
],
"responses": {
"200": {
"description": "Rest Response",
"schema": {
"$ref": "#/definitions/RestResponse"
}
}
}
},
"put": {
"description": "updates service orchestration flow",
"parameters": [
{
"name": "body",
"in": "body",
"schema": {
"$ref": "#/definitions/SOF"
}
}
],
"responses": {
"200": {
"description": "Rest Response",
"schema": {
"$ref": "#/definitions/RestResponse"
}
}
}
},
"delete": {
"description": "deletes service orchestration flow",
"responses": {
"200": {
"description": "Rest Response",
"schema": {
"$ref": "#/definitions/RestResponse"
}
}
}
}
},
"/{tenant}/sof/{sof-id}/status": {
"parameters": [
{
"name": "tenant",
"in": "path",
"type": "string",
"description": "tenant id",
"required": true
},
{
"name": "sof-id",
"in": "path",
"type": "string",
"description": "sof id",
"required": true
}
],
"get": {
"summary": "getting the status of the SOF",
"description": "returns a list of running sessions for this sof-id",
"responses": {
"200": {
"description": "OK"
}
}
}
},
"/{tenant}/sof/{sof-id}/session/{sessionId}": {
"parameters": [
{
"name": "tenant",
"in": "path",
"type": "string",
"description": "tenant id",
"required": true
},
{
"name": "sof-id",
"in": "path",
"type": "string",
"description": "sof id",
"required": true
},
{
"name": "sessionId",
"in": "path",
"type": "string",
"description": "session id",
"required": true
}
],
"get": {
"summary": "getting the session info",
"description": "returns info of the session-id",
"responses": {
"200": {
"description": "OK"
}
}
},
"delete": {
"summary": "stop and deletes the session",
"description": "stopping & deleting the session-id",
"responses": {
"200": {
"description": "OK"
}
}
}
},
"/{tenant}/sof/{sof-id}/start": {
"parameters": [
{
"name": "tenant",
"in": "path",
"type": "string",
"description": "tenant id",
"required": true
},
{
"name": "sof-id",
"in": "path",
"type": "string",
"description": "sof id",
"required": true
}
],
"post": {
"summary": "starts a new session",
"description": "starting a new sof session and returning the session-id<br> with a link to the session's info",
"responses": {
"200": {
"description": "OK"
}
}
}
},
"/{tenant}/event": {
"parameters": [
{
"name": "tenant",
"in": "path",
"type": "string",
"description": "tenant id",
"required": true
}
],
"get": {
"summary": "get events",
"description": "return a list of registered events",
"responses": {
"200": {
"description": "OK"
}
}
}
},
"/{tenant}/event/{eventId}": {
"parameters": [
{
"name": "tenant",
"in": "path",
"type": "string",
"description": "tenant id",
"required": true
},
{
"name": "eventId",
"in": "path",
"type": "string",
"format": "byte",
"description": "event id",
"required": true
}
],
"get": {
"summary": "event info",
"description": "return a list of SOF-id for this event",
"responses": {
"200": {
"description": "OK"
}
}
}
},
"/{tenant}/history": {
"parameters": [
{
"name": "tenant",
"in": "path",
"type": "string",
"description": "tenant id",
"required": true
}
],
"get": {
"summary": "list of events",
"description": "return a list of events occured and action taken",
"parameters": [
{
"name": "tsFrom",
"in": "query",
"type": "integer",
"format": "int64",
"required": true,
"description": "from timestamp"
},
{
"name": "tsTo",
"in": "query",
"type": "integer",
"format": "int64",
"required": true,
"description": "to timestamp"
}
],
"responses": {
"200": {
"description": "OK"
}
}
}
},
"/{tenant}/history/{eventId}": {
"parameters": [
{
"name": "tenant",
"in": "path",
"type": "string",
"description": "tenant id",
"required": true
},
{
"name": "eventId",
"in": "path",
"type": "string",
"format": "byte",
"description": "event id",
"required": true
}
],
"get": {
"summary": "event history",
"description": "return a list of history for this event and action taken",
"parameters": [
{
"name": "tsFrom",
"in": "query",
"type": "integer",
"format": "int64",
"required": true,
"description": "from timestamp"
},
{
"name": "tsTo",
"in": "query",
"type": "integer",
"format": "int64",
"required": true,
"description": "to timestamp"
}
],
"responses": {
"200": {
"description": "OK"
}
}
}
}
},
"definitions": {
"RestResponse": {
"type": "object",
"properties": {
"success": {
"type": "boolean"
},
"error": {
"type": "string"
},
"objectNode": {
"type": "string",
"description": "object/s in json format"
}
}
},
"SOF": {
"description": "a service orchestration flow object",
"type": "object",
"properties": {
"event": {
"type": "string",
"description": "the event to start the sof"
},
"FSM": {
"type": "string",
"description": "xml of the fsm flow"
},
"scheduled": {
"type": "object",
"description": "describes when to start the flow",
"properties": {
"startAt": {
"type": "string",
"format": "dateTime"
},
"every": {
"type": "integer",
"description": "interval in seconds"
}
}
}
}
}
}
}
# -*- mode: ruby -*-
# vi: set ft=ruby :
$script = <<SCRIPT
echo Installing dependencies...
sudo apt-get update
sudo apt-get install -y unzip curl
echo Fetching Consul...
cd /tmp/
wget https://releases.hashicorp.com/consul/0.6.0/consul_0.6.0_linux_amd64.zip -O consul.zip
echo Installing Consul...
unzip consul.zip
sudo chmod +x consul
sudo mv consul /usr/bin/consul
sudo mkdir /etc/consul.d
sudo chmod a+w /etc/consul.d
SCRIPT
# Vagrantfile API/syntax version. Don't touch unless you know what you're doing!
VAGRANTFILE_API_VERSION = "2"
Vagrant.configure(VAGRANTFILE_API_VERSION) do |config|
config.vm.box = "debian/wheezy64"
config.vm.provision "shell", inline: $script
config.vm.define "n1" do |n1|
n1.vm.hostname = "n1"
n1.vm.network "private_network", ip: "172.20.20.10"
n1.vm.network "public_network", ip: "172.16.1.149"
end
config.vm.define "n2" do |n2|
n2.vm.hostname = "n2"
n2.vm.network "private_network", ip: "172.20.20.11"
n2.vm.network "public_network", ip: "172.16.1.152"
end
end
run consul agent
=================
consul agent -data-dir /tmp/consul -node=agent-two -bind=172.20.20.11 -config-dir /etc/consul.d -ui-dir ~/Downloads/ -client=172.16.1.152
run consul server
=================
consul agent -server -bootstrap-expect 1 -data-dir /tmp/consul -node=agent-one -bind=172.20.20.10 -config-dir /etc/consul.d -client=172.16.1.149
consul join cluster
===================
consul join 172.20.20.11(joining from server side)
config dns param(/etc/consul.d/config.json)
===========================================
{
"ports": {
"dns": 53
}
}
config service(/etc/consul.d/service.json)
==========================================
{"service": {"name": "web1", "tags": ["rails"],"Address":"172.16.1.152", "port": 80}} echo {"service": {"name": "web", "tags": ["rails"], "port": 80}}
\ No newline at end of file
resolver 172.16.1.152;
upstream consulweb {
server web1.service.consul:8500;
server web2.service.consul:8500;
...
}
server
{
# consul
location ~ ^/consul {
rewrite ^/consul/(.*) /$1 break;
proxy_pass http://consulweb/$1?$args;
proxy_set_header Host $host:$server_port;
proxy_set_header X-Real-IP $remote_addr;
}
...
}
\ No newline at end of file
......@@ -14,11 +14,40 @@
<key for="edge" id="d10" yfiles.type="edgegraphics"/>
<graph edgedefault="directed" id="G">
<data key="d0"/>
<node id="n0">
<node id="n0" yfiles.foldertype="group">
<data key="d4"/>
<data key="d5"/>
<data key="d6">
<y:ProxyAutoBoundsNode>
<y:Realizers active="0">
<y:GroupNode>
<y:Geometry height="612.4609375" width="511.0" x="542.0" y="-4.4609375"/>
<y:Fill color="#F5F5F5" transparent="false"/>
<y:BorderStyle color="#000000" type="dashed" width="1.0"/>
<y:NodeLabel alignment="right" autoSizePolicy="node_width" backgroundColor="#EBEBEB" borderDistance="0.0" fontFamily="Dialog" fontSize="15" fontStyle="plain" hasLineColor="false" height="21.4609375" modelName="internal" modelPosition="t" textColor="#000000" visible="true" width="511.0" x="0.0" y="0.0">Basic Features</y:NodeLabel>
<y:Shape type="roundrectangle"/>
<y:State closed="false" closedHeight="50.0" closedWidth="50.0" innerGraphDisplayEnabled="false"/>
<y:Insets bottom="15" bottomF="15.0" left="15" leftF="15.0" right="15" rightF="15.0" top="15" topF="15.0"/>
<y:BorderInsets bottom="0" bottomF="0.0" left="0" leftF="0.0" right="0" rightF="0.0" top="0" topF="0.0"/>
</y:GroupNode>
<y:GroupNode>
<y:Geometry height="50.0" width="50.0" x="0.0" y="60.0"/>
<y:Fill color="#F5F5F5" transparent="false"/>
<y:BorderStyle color="#000000" type="dashed" width="1.0"/>
<y:NodeLabel alignment="right" autoSizePolicy="node_width" backgroundColor="#EBEBEB" borderDistance="0.0" fontFamily="Dialog" fontSize="15" fontStyle="plain" hasLineColor="false" height="21.4609375" modelName="internal" modelPosition="t" textColor="#000000" visible="true" width="65.201171875" x="-7.6005859375" y="0.0">Folder 1</y:NodeLabel>
<y:Shape type="roundrectangle"/>
<y:State closed="true" closedHeight="50.0" closedWidth="50.0" innerGraphDisplayEnabled="false"/>
<y:Insets bottom="5" bottomF="5.0" left="5" leftF="5.0" right="5" rightF="5.0" top="5" topF="5.0"/>
<y:BorderInsets bottom="0" bottomF="0.0" left="0" leftF="0.0" right="0" rightF="0.0" top="0" topF="0.0"/>
</y:GroupNode>
</y:Realizers>
</y:ProxyAutoBoundsNode>
</data>
<graph edgedefault="directed" id="n0:">
<node id="n0::n0">
<data key="d6">
<y:ShapeNode>
<y:Geometry height="135.0" width="140.0" x="481.0" y="355.0"/>
<y:Geometry height="135.0" width="140.0" x="712.0" y="239.0"/>
<y:Fill color="#FFCC00" transparent="false"/>
<y:BorderStyle color="#000000" type="line" width="1.0"/>
<y:NodeLabel alignment="center" autoSizePolicy="content" fontFamily="Dialog" fontSize="12" fontStyle="plain" hasBackgroundColor="false" hasLineColor="false" height="17.96875" modelName="custom" textColor="#000000" visible="true" width="57.501953125" x="41.2490234375" y="58.515625">Handlers<y:LabelModel>
......@@ -32,11 +61,10 @@
</y:ShapeNode>
</data>
</node>
<node id="n1">
<data key="d5"/>
<node id="n0::n1">
<data key="d6">
<y:ShapeNode>
<y:Geometry height="89.0" width="113.0" x="499.0" y="148.0"/>
<y:Geometry height="89.0" width="113.0" x="730.0" y="32.0"/>
<y:Fill color="#FFCC00" transparent="false"/>
<y:BorderStyle color="#000000" type="line" width="1.0"/>
<y:NodeLabel alignment="center" autoSizePolicy="content" fontFamily="Dialog" fontSize="12" fontStyle="plain" hasBackgroundColor="false" hasLineColor="false" height="31.9375" modelName="custom" textColor="#000000" visible="true" width="43.3515625" x="34.82421875" y="28.53125">Rest
......@@ -51,11 +79,10 @@ Server<y:LabelModel>
</y:ShapeNode>
</data>
</node>
<node id="n2">
<data key="d5"/>
<node id="n0::n2">
<data key="d6">
<y:ShapeNode>
<y:Geometry height="111.0" width="113.0" x="494.5" y="598.0"/>
<y:Geometry height="111.0" width="113.0" x="725.5" y="482.0"/>
<y:Fill color="#FFCC00" transparent="false"/>
<y:BorderStyle color="#000000" type="line" width="1.0"/>
<y:NodeLabel alignment="center" autoSizePolicy="content" fontFamily="Dialog" fontSize="12" fontStyle="plain" hasBackgroundColor="false" hasLineColor="false" height="31.9375" modelName="custom" textColor="#000000" visible="true" width="35.40625" x="38.796875" y="39.53125">Rest
......@@ -70,11 +97,10 @@ Cient<y:LabelModel>
</y:ShapeNode>
</data>
</node>
<node id="n3">
<data key="d5"/>
<node id="n0::n3">
<data key="d6">
<y:ShapeNode>
<y:Geometry height="81.0" width="87.0" x="660.0" y="251.0"/>
<y:Geometry height="81.0" width="87.0" x="891.0" y="135.0"/>
<y:Fill color="#FFCC00" transparent="false"/>
<y:BorderStyle color="#000000" type="line" width="1.0"/>
<y:NodeLabel alignment="center" autoSizePolicy="content" fontFamily="Dialog" fontSize="12" fontStyle="plain" hasBackgroundColor="false" hasLineColor="false" height="17.96875" modelName="custom" textColor="#000000" visible="true" width="53.341796875" x="16.8291015625" y="31.515625">Pub/Sub<y:LabelModel>
......@@ -88,11 +114,10 @@ Cient<y:LabelModel>
</y:ShapeNode>
</data>
</node>
<node id="n4">
<data key="d5"/>
<node id="n0::n4">
<data key="d6">
<y:ShapeNode>
<y:Geometry height="59.0" width="64.0" x="387.0" y="273.0"/>
<y:Geometry height="59.0" width="64.0" x="618.0" y="157.0"/>
<y:Fill color="#FFCC00" transparent="false"/>
<y:BorderStyle color="#000000" type="line" width="1.0"/>
<y:NodeLabel alignment="center" autoSizePolicy="content" fontFamily="Dialog" fontSize="12" fontStyle="plain" hasBackgroundColor="false" hasLineColor="false" height="17.96875" modelName="custom" textColor="#000000" visible="true" width="45.578125" x="9.2109375" y="20.515625">Logger<y:LabelModel>
......@@ -106,11 +131,10 @@ Cient<y:LabelModel>
</y:ShapeNode>
</data>
</node>
<node id="n5">
<data key="d5"/>
<node id="n0::n5">
<data key="d6">
<y:ShapeNode>
<y:Geometry height="89.0" width="98.0" x="709.0" y="378.0"/>
<y:Geometry height="89.0" width="98.0" x="940.0" y="262.0"/>
<y:Fill color="#FFCC00" transparent="false"/>
<y:BorderStyle color="#000000" type="line" width="1.0"/>
<y:NodeLabel alignment="center" autoSizePolicy="content" fontFamily="Dialog" fontSize="12" fontStyle="plain" hasBackgroundColor="false" hasLineColor="false" height="17.96875" modelName="custom" textColor="#000000" visible="true" width="47.55859375" x="25.220703125" y="35.515625">Metrics<y:LabelModel>
......@@ -124,11 +148,10 @@ Cient<y:LabelModel>
</y:ShapeNode>
</data>
</node>
<node id="n6">
<data key="d5"/>
<node id="n0::n6">
<data key="d6">
<y:ShapeNode>
<y:Geometry height="89.0" width="87.0" x="364.0" y="520.0"/>
<y:Geometry height="89.0" width="87.0" x="595.0" y="404.0"/>
<y:Fill color="#FFCC00" transparent="false"/>
<y:BorderStyle color="#000000" type="line" width="1.0"/>
<y:NodeLabel alignment="center" autoSizePolicy="content" fontFamily="Dialog" fontSize="12" fontStyle="plain" hasBackgroundColor="false" hasLineColor="false" height="31.9375" modelName="custom" textColor="#000000" visible="true" width="63.28515625" x="11.857421875" y="28.53125">Service
......@@ -143,11 +166,10 @@ Discovery<y:LabelModel>
</y:ShapeNode>
</data>
</node>
<node id="n7">
<data key="d5"/>
<node id="n0::n7">
<data key="d6">
<y:ShapeNode>
<y:Geometry height="81.0" width="87.0" x="326.0" y="385.5"/>
<y:Geometry height="81.0" width="87.0" x="557.0" y="269.5"/>
<y:Fill color="#FFCC00" transparent="false"/>
<y:BorderStyle color="#000000" type="line" width="1.0"/>
<y:NodeLabel alignment="center" autoSizePolicy="content" fontFamily="Dialog" fontSize="12" fontStyle="plain" hasBackgroundColor="false" hasLineColor="false" height="17.96875" modelName="custom" textColor="#000000" visible="true" width="85.380859375" x="0.8095703125" y="31.515625">Configuration<y:LabelModel>
......@@ -161,11 +183,10 @@ Discovery<y:LabelModel>
</y:ShapeNode>
</data>
</node>
<node id="n8">
<data key="d5"/>
<node id="n0::n8">
<data key="d6">
<y:ShapeNode>
<y:Geometry height="59.0" width="64.0" x="660.0" y="534.0"/>
<y:Geometry height="59.0" width="64.0" x="891.0" y="418.0"/>
<y:Fill color="#FFCC00" transparent="false"/>
<y:BorderStyle color="#000000" type="line" width="1.0"/>
<y:NodeLabel alignment="center" autoSizePolicy="content" fontFamily="Dialog" fontSize="12" fontStyle="plain" hasBackgroundColor="false" hasLineColor="false" height="17.96875" modelName="custom" textColor="#000000" visible="true" width="41.318359375" x="11.3408203125" y="20.515625">Cache<y:LabelModel>
......@@ -179,8 +200,185 @@ Discovery<y:LabelModel>
</y:ShapeNode>
</data>
</node>
<edge id="e0" source="n0" target="n1">
<data key="d9"/>
</graph>
</node>
<node id="n1" yfiles.foldertype="group">
<data key="d4"/>
<data key="d5"/>
<data key="d6">
<y:ProxyAutoBoundsNode>
<y:Realizers active="0">
<y:GroupNode>
<y:Geometry height="425.91927083333326" width="305.33333333333337" x="1.0" y="12.0390625"/>
<y:Fill color="#F5F5F5" transparent="false"/>
<y:BorderStyle color="#000000" type="dashed" width="1.0"/>
<y:NodeLabel alignment="right" autoSizePolicy="node_width" backgroundColor="#EBEBEB" borderDistance="0.0" fontFamily="Dialog" fontSize="15" fontStyle="plain" hasLineColor="false" height="21.4609375" modelName="internal" modelPosition="t" textColor="#000000" visible="true" width="305.33333333333337" x="0.0" y="0.0">Basic Structure</y:NodeLabel>
<y:Shape type="roundrectangle"/>
<y:State closed="false" closedHeight="50.0" closedWidth="50.0" innerGraphDisplayEnabled="false"/>
<y:Insets bottom="15" bottomF="15.0" left="15" leftF="15.0" right="15" rightF="15.0" top="15" topF="15.0"/>
<y:BorderInsets bottom="29" bottomF="28.708333333333258" left="0" leftF="0.0" right="11" rightF="11.333333333333371" top="0" topF="0.0"/>
</y:GroupNode>
<y:GroupNode>
<y:Geometry height="50.0" width="50.0" x="0.0" y="60.0"/>
<y:Fill color="#F5F5F5" transparent="false"/>
<y:BorderStyle color="#000000" type="dashed" width="1.0"/>
<y:NodeLabel alignment="right" autoSizePolicy="node_width" backgroundColor="#EBEBEB" borderDistance="0.0" fontFamily="Dialog" fontSize="15" fontStyle="plain" hasLineColor="false" height="21.4609375" modelName="internal" modelPosition="t" textColor="#000000" visible="true" width="65.201171875" x="-7.6005859375" y="0.0">Folder 2</y:NodeLabel>
<y:Shape type="roundrectangle"/>
<y:State closed="true" closedHeight="50.0" closedWidth="50.0" innerGraphDisplayEnabled="false"/>
<y:Insets bottom="5" bottomF="5.0" left="5" leftF="5.0" right="5" rightF="5.0" top="5" topF="5.0"/>
<y:BorderInsets bottom="0" bottomF="0.0" left="0" leftF="0.0" right="0" rightF="0.0" top="0" topF="0.0"/>
</y:GroupNode>
</y:Realizers>
</y:ProxyAutoBoundsNode>
</data>
<graph edgedefault="directed" id="n1:">
<node id="n1::n0">
<data key="d6">
<y:ShapeNode>
<y:Geometry height="48.0" width="163.0" x="22.0" y="263.25"/>
<y:Fill color="#3366FF" transparent="false"/>
<y:BorderStyle hasColor="false" type="line" width="1.0"/>
<y:NodeLabel alignment="center" autoSizePolicy="content" fontFamily="Monospaced" fontSize="14" fontStyle="bold" hasBackgroundColor="false" hasLineColor="false" height="20.296875" modelName="custom" textColor="#FFFFFF" visible="true" width="105.14453125" x="28.927734375" y="13.8515625">Repositories<y:LabelModel>
<y:SmartNodeLabelModel distance="4.0"/>
</y:LabelModel>
<y:ModelParameter>
<y:SmartNodeLabelModelParameter labelRatioX="0.0" labelRatioY="0.0" nodeRatioX="0.0" nodeRatioY="0.0" offsetX="0.0" offsetY="0.0" upX="0.0" upY="-1.0"/>
</y:ModelParameter>
</y:NodeLabel>
<y:Shape type="roundrectangle"/>
<y:DropShadow color="#C0C0C0" offsetX="5" offsetY="5"/>
</y:ShapeNode>
</data>
</node>
<node id="n1::n1">
<data key="d6">
<y:ShapeNode>
<y:Geometry height="48.0" width="98.0" x="55.88199042417051" y="202.0"/>
<y:Fill color="#3366FF" transparent="false"/>
<y:BorderStyle hasColor="false" type="line" width="1.0"/>
<y:NodeLabel alignment="center" autoSizePolicy="content" fontFamily="Monospaced" fontSize="14" fontStyle="bold" hasBackgroundColor="false" hasLineColor="false" height="20.296875" modelName="custom" textColor="#FFFFFF" visible="true" width="54.572265625" x="21.7138671875" y="13.8515625">Domain<y:LabelModel>
<y:SmartNodeLabelModel distance="4.0"/>
</y:LabelModel>
<y:ModelParameter>
<y:SmartNodeLabelModelParameter labelRatioX="0.0" labelRatioY="0.0" nodeRatioX="0.0" nodeRatioY="0.0" offsetX="0.0" offsetY="0.0" upX="0.0" upY="-1.0"/>
</y:ModelParameter>
</y:NodeLabel>
<y:Shape type="roundrectangle"/>
<y:DropShadow color="#C0C0C0" offsetX="5" offsetY="5"/>
</y:ShapeNode>
</data>
</node>
<node id="n1::n2">
<data key="d6">
<y:ShapeNode>
<y:Geometry height="170.0" width="23.0" x="207.0" y="101.5"/>
<y:Fill color="#993366" transparent="false"/>
<y:BorderStyle hasColor="false" type="line" width="1.0"/>
<y:NodeLabel alignment="center" autoSizePolicy="node_size" configuration="CroppingLabel" fontFamily="Monospaced" fontSize="16" fontStyle="bold" hasBackgroundColor="false" hasLineColor="false" height="170.0" modelName="internal" modelPosition="c" textColor="#FFFFFF" visible="true" width="23.0" x="0.0" y="0.0">Gateways</y:NodeLabel>
<y:Shape type="roundrectangle"/>
<y:DropShadow color="#C0C0C0" offsetX="5" offsetY="5"/>
</y:ShapeNode>
</data>
</node>
<node id="n1::n3">
<data key="d6">
<y:ShapeNode>
<y:Geometry height="48.0" width="163.0" x="22.0" y="341.25"/>
<y:Fill color="#FF00FF" transparent="false"/>
<y:BorderStyle hasColor="false" type="line" width="1.0"/>
<y:NodeLabel alignment="center" autoSizePolicy="content" fontFamily="Monospaced" fontSize="14" fontStyle="bold" hasBackgroundColor="false" hasLineColor="false" height="20.296875" modelName="custom" textColor="#FFFFFF" visible="true" width="96.7158203125" x="33.14208984375" y="13.8515625">Persistence<y:LabelModel>
<y:SmartNodeLabelModel distance="4.0"/>
</y:LabelModel>
<y:ModelParameter>
<y:SmartNodeLabelModelParameter labelRatioX="0.0" labelRatioY="0.0" nodeRatioX="0.0" nodeRatioY="0.0" offsetX="0.0" offsetY="0.0" upX="0.0" upY="-1.0"/>
</y:ModelParameter>
</y:NodeLabel>
<y:Shape type="roundrectangle"/>
<y:DropShadow color="#C0C0C0" offsetX="5" offsetY="5"/>
</y:ShapeNode>
</data>
</node>
<node id="n1::n4">
<data key="d6">
<y:ShapeNode>
<y:Geometry height="170.0" width="23.0" x="252.0" y="101.5"/>
<y:Fill color="#993366" transparent="false"/>
<y:BorderStyle hasColor="false" type="line" width="1.0"/>
<y:NodeLabel alignment="center" autoSizePolicy="node_size" configuration="CroppingLabel" fontFamily="Monospaced" fontSize="16" fontStyle="bold" hasBackgroundColor="false" hasLineColor="false" height="170.0" modelName="internal" modelPosition="c" textColor="#FFFFFF" visible="true" width="23.0" x="0.0" y="0.0">Clients</y:NodeLabel>
<y:Shape type="roundrectangle"/>
<y:DropShadow color="#C0C0C0" offsetX="5" offsetY="5"/>
</y:ShapeNode>
</data>
</node>
<node id="n1::n5">
<data key="d6">
<y:ShapeNode>
<y:Geometry height="48.0" width="128.0" x="50.0" y="114.5"/>
<y:Fill color="#3366FF" transparent="false"/>
<y:BorderStyle hasColor="false" type="line" width="1.0"/>
<y:NodeLabel alignment="center" autoSizePolicy="content" fontFamily="Monospaced" fontSize="14" fontStyle="bold" hasBackgroundColor="false" hasLineColor="false" height="36.59375" modelName="custom" textColor="#FFFFFF" visible="true" width="63.0009765625" x="32.49951171875" y="5.703125">Service
Layer<y:LabelModel>
<y:SmartNodeLabelModel distance="4.0"/>
</y:LabelModel>
<y:ModelParameter>
<y:SmartNodeLabelModelParameter labelRatioX="0.0" labelRatioY="0.0" nodeRatioX="0.0" nodeRatioY="0.0" offsetX="0.0" offsetY="0.0" upX="0.0" upY="-1.0"/>
</y:ModelParameter>
</y:NodeLabel>
<y:Shape type="roundrectangle"/>
<y:DropShadow color="#C0C0C0" offsetX="5" offsetY="5"/>
</y:ShapeNode>
</data>
</node>
<node id="n1::n6">
<data key="d6">
<y:ShapeNode>
<y:Geometry height="36.0" width="169.0" x="16.0" y="48.5"/>
<y:Fill color="#009688" transparent="false"/>
<y:BorderStyle hasColor="false" type="line" width="1.0"/>
<y:NodeLabel alignment="center" autoSizePolicy="content" fontFamily="Monospaced" fontSize="14" fontStyle="bold" hasBackgroundColor="false" hasLineColor="false" height="20.296875" modelName="custom" textColor="#FFFFFF" visible="true" width="79.8583984375" x="44.57080078125" y="7.8515625">Resources<y:LabelModel>
<y:SmartNodeLabelModel distance="4.0"/>
</y:LabelModel>
<y:ModelParameter>
<y:SmartNodeLabelModelParameter labelRatioX="0.0" labelRatioY="0.0" nodeRatioX="0.0" nodeRatioY="0.0" offsetX="0.0" offsetY="0.0" upX="0.0" upY="-1.0"/>
</y:ModelParameter>
</y:NodeLabel>
<y:Shape type="roundrectangle"/>
<y:DropShadow color="#C0C0C0" offsetX="5" offsetY="5"/>
</y:ShapeNode>
</data>
</node>
</graph>
</node>
<node id="n2">
<data key="d5"/>
<data key="d6">
<y:GenericNode configuration="com.yworks.bpmn.Artifact.withShadow">
<y:Geometry height="149.79166666666663" width="282.95833333333337" x="73.375" y="508.2916666666667"/>
<y:Fill color="#FFFFFFE6" transparent="false"/>
<y:BorderStyle color="#000000" type="line" width="1.0"/>
<y:NodeLabel alignment="left" autoSizePolicy="content" fontFamily="Dialog" fontSize="14" fontStyle="plain" hasBackgroundColor="false" hasLineColor="false" height="118.078125" modelName="custom" textColor="#000000" visible="true" width="252.96484375" x="14.996744791666686" y="15.856770833333314">Resources - Handlers
Service Layer - Manager
Domain - the Service logic
Repositories - Data store &amp; retrieve
Persistance - the db/file etc'
Gateway - the microservice client
Clients - http/rbmq clients<y:LabelModel>
<y:SmartNodeLabelModel distance="4.0"/>
</y:LabelModel>
<y:ModelParameter>
<y:SmartNodeLabelModelParameter labelRatioX="0.0" labelRatioY="0.0" nodeRatioX="0.0" nodeRatioY="0.0" offsetX="0.0" offsetY="0.0" upX="0.0" upY="-1.0"/>
</y:ModelParameter>
</y:NodeLabel>
<y:StyleProperties>
<y:Property class="java.awt.Color" name="com.yworks.bpmn.icon.line.color" value="#000000"/>
<y:Property class="java.awt.Color" name="com.yworks.bpmn.icon.fill2" value="#d4d4d4cc"/>
<y:Property class="java.awt.Color" name="com.yworks.bpmn.icon.fill" value="#ffffffe6"/>
<y:Property class="com.yworks.yfiles.bpmn.view.BPMNTypeEnum" name="com.yworks.bpmn.type" value="ARTIFACT_TYPE_ANNOTATION"/>
</y:StyleProperties>
</y:GenericNode>
</data>
</node>
<edge id="n0::e0" source="n0::n0" target="n0::n1">
<data key="d10">
<y:PolyLineEdge>
<y:Path sx="0.0" sy="0.0" tx="0.0" ty="0.0"/>
......@@ -190,8 +388,7 @@ Discovery<y:LabelModel>
</y:PolyLineEdge>
</data>
</edge>
<edge id="e1" source="n0" target="n4">
<data key="d9"/>
<edge id="n0::e1" source="n0::n0" target="n0::n4">
<data key="d10">
<y:PolyLineEdge>
<y:Path sx="0.0" sy="0.0" tx="0.0" ty="0.0"/>
......@@ -201,8 +398,7 @@ Discovery<y:LabelModel>
</y:PolyLineEdge>
</data>
</edge>
<edge id="e2" source="n0" target="n7">
<data key="d9"/>
<edge id="n0::e2" source="n0::n0" target="n0::n7">
<data key="d10">
<y:PolyLineEdge>
<y:Path sx="0.0" sy="0.0" tx="0.0" ty="0.0"/>
......@@ -212,8 +408,7 @@ Discovery<y:LabelModel>
</y:PolyLineEdge>
</data>
</edge>
<edge id="e3" source="n0" target="n6">
<data key="d9"/>
<edge id="n0::e3" source="n0::n0" target="n0::n6">
<data key="d10">
<y:PolyLineEdge>
<y:Path sx="0.0" sy="0.0" tx="0.0" ty="0.0"/>
......@@ -223,8 +418,7 @@ Discovery<y:LabelModel>
</y:PolyLineEdge>
</data>
</edge>
<edge id="e4" source="n0" target="n2">
<data key="d9"/>
<edge id="n0::e4" source="n0::n0" target="n0::n2">
<data key="d10">
<y:PolyLineEdge>
<y:Path sx="0.0" sy="0.0" tx="0.0" ty="0.0"/>
......@@ -234,8 +428,7 @@ Discovery<y:LabelModel>
</y:PolyLineEdge>
</data>
</edge>
<edge id="e5" source="n0" target="n8">
<data key="d9"/>
<edge id="n0::e5" source="n0::n0" target="n0::n8">
<data key="d10">
<y:PolyLineEdge>
<y:Path sx="0.0" sy="0.0" tx="0.0" ty="0.0"/>
......@@ -245,7 +438,27 @@ Discovery<y:LabelModel>
</y:PolyLineEdge>
</data>
</edge>
<edge id="e6" source="n0" target="n5">
<edge id="n0::e6" source="n0::n0" target="n0::n5">
<data key="d10">
<y:PolyLineEdge>
<y:Path sx="0.0" sy="0.0" tx="0.0" ty="0.0"/>
<y:LineStyle color="#000000" type="line" width="1.0"/>
<y:Arrows source="none" target="standard"/>
<y:BendStyle smoothed="false"/>
</y:PolyLineEdge>
</data>
</edge>
<edge id="n0::e7" source="n0::n0" target="n0::n3">
<data key="d10">
<y:PolyLineEdge>
<y:Path sx="0.0" sy="0.0" tx="0.0" ty="0.0"/>
<y:LineStyle color="#000000" type="line" width="1.0"/>
<y:Arrows source="none" target="standard"/>
<y:BendStyle smoothed="false"/>
</y:PolyLineEdge>
</data>
</edge>
<edge id="n1::e0" source="n1::n0" target="n1::n3">
<data key="d9"/>
<data key="d10">
<y:PolyLineEdge>
......@@ -256,7 +469,51 @@ Discovery<y:LabelModel>
</y:PolyLineEdge>
</data>
</edge>
<edge id="e7" source="n0" target="n3">
<edge id="n1::e1" source="n1::n6" target="n1::n5">
<data key="d9"/>
<data key="d10">
<y:PolyLineEdge>
<y:Path sx="13.5" sy="3.0" tx="0.0" ty="0.0"/>
<y:LineStyle color="#000000" type="line" width="1.0"/>
<y:Arrows source="none" target="standard"/>
<y:BendStyle smoothed="false"/>
</y:PolyLineEdge>
</data>
</edge>
<edge id="n1::e2" source="n1::n5" target="n1::n0">
<data key="d9"/>
<data key="d10">
<y:PolyLineEdge>
<y:Path sx="53.20118343195265" sy="13.000000000000004" tx="63.70118343195262" ty="7.25"/>
<y:LineStyle color="#000000" type="line" width="1.0"/>
<y:Arrows source="none" target="standard"/>
<y:BendStyle smoothed="false"/>
</y:PolyLineEdge>
</data>
</edge>
<edge id="n1::e3" source="n1::n5" target="n1::n1">
<data key="d9"/>
<data key="d10">
<y:PolyLineEdge>
<y:Path sx="-9.118009575829491" sy="8.000000000000002" tx="0.0" ty="0.0"/>
<y:LineStyle color="#000000" type="line" width="1.0"/>
<y:Arrows source="none" target="standard"/>
<y:BendStyle smoothed="false"/>
</y:PolyLineEdge>
</data>
</edge>
<edge id="n1::e4" source="n1::n5" target="n1::n2">
<data key="d9"/>
<data key="d10">
<y:PolyLineEdge>
<y:Path sx="63.990199704142064" sy="0.0" tx="11.460937500000002" ty="-47.99999999999999"/>
<y:LineStyle color="#000000" type="line" width="1.0"/>
<y:Arrows source="none" target="standard"/>
<y:BendStyle smoothed="false"/>
</y:PolyLineEdge>
</data>
</edge>
<edge id="n1::e5" source="n1::n2" target="n1::n4">
<data key="d9"/>
<data key="d10">
<y:PolyLineEdge>
......@@ -267,6 +524,30 @@ Discovery<y:LabelModel>
</y:PolyLineEdge>
</data>
</edge>
<edge id="n1::e6" source="n1::n6" target="n1::n0">
<data key="d9"/>
<data key="d10">
<y:PolyLineEdge>
<y:Path sx="-64.61800957582949" sy="17.989004495057287" tx="-67.61800957582948" ty="-5.000000000000003"/>
<y:LineStyle color="#000000" type="line" width="1.0"/>
<y:Arrows source="none" target="standard"/>
<y:BendStyle smoothed="false"/>
</y:PolyLineEdge>
</data>
</edge>
<edge id="e0" source="n1" target="n2">
<data key="d9"/>
<data key="d10">
<y:PolyLineEdge>
<y:Path sx="-130.91666666666666" sy="199.33463541666669" tx="0.0" ty="0.0">
<y:Point x="22.75000000000003" y="574.3333333333333"/>
</y:Path>
<y:LineStyle color="#000000" type="line" width="1.0"/>
<y:Arrows source="none" target="standard"/>
<y:BendStyle smoothed="false"/>
</y:PolyLineEdge>
</data>
</edge>
</graph>
<data key="d7">
<y:Resources/>
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or sign in to comment