RestGate - Enterprise Integration Server MSE PROJECT Phase II - - PowerPoint PPT Presentation

restgate enterprise integration server
SMART_READER_LITE
LIVE PREVIEW

RestGate - Enterprise Integration Server MSE PROJECT Phase II - - PowerPoint PPT Presentation

RestGate - Enterprise Integration Server MSE PROJECT Phase II Report 1 Scope Review 2 Original Scope 3 Original Scope Subscribed Senders Request - Reply Polling Senders Content Based Router P2P Channel Message Filter Publish -


slide-1
SLIDE 1

RestGate - Enterprise Integration Server

MSE PROJECT Phase II Report

1

slide-2
SLIDE 2

Scope Review

2

slide-3
SLIDE 3

Original Scope

3

slide-4
SLIDE 4

Original Scope

Subscribed Senders Polling Senders P2P Channel Publish - Subscribe Channel Validated Structure Channel Guaranteed Channel Dead Letter Channel Message Expiration Message Sequence Request - Reply Content Based Router Message Filter Splitter Aggregator Message Processor Published Message Queue Published Message List Receiver Subscription 3

slide-5
SLIDE 5

Original Scope

Subscribed Senders Polling Senders P2P Channel Publish - Subscribe Channel Validated Structure Channel Guaranteed Channel Dead Letter Channel Message Expiration Message Sequence Request - Reply Content Based Router Message Filter Splitter Aggregator Message Processor Published Message Queue Published Message List Receiver Subscription 4

slide-6
SLIDE 6

New Scope

Polling Senders P2P Channel Publish - Subscribe Channel Guaranteed Channel Message Expiration Content Based Router Message Filter Message Processor Published Message Queue Published Message List

5

slide-7
SLIDE 7

New Scope*

Polling Senders P2P Channel Publish - Subscribe Channel Guaranteed Channel Message Expiration Content Based Router Message Filter Message Processor Published Message Queue Published Message List

*All Marked in Red have been Implemented.

6

slide-8
SLIDE 8

Architectural Model

7

slide-9
SLIDE 9

Use Case Views

8

slide-10
SLIDE 10

Use Case Views

8

slide-11
SLIDE 11

Use Case Views

8

slide-12
SLIDE 12

Use Case Views

8

slide-13
SLIDE 13

Message State Diagram

9

slide-14
SLIDE 14

Overall Data Flow

10

slide-15
SLIDE 15

11

slide-16
SLIDE 16

Architectural Layers

12

slide-17
SLIDE 17

13

slide-18
SLIDE 18

Channel Types

Guaranteed Channels Implemented with Delayed Jobs. Uses a Database as process queue. Fast Channels Implemented with Starling. Uses a MemCache as process queue.

slide-19
SLIDE 19

15

slide-20
SLIDE 20

Class Diagrams

16

slide-21
SLIDE 21

17

slide-22
SLIDE 22

17

slide-23
SLIDE 23

17

slide-24
SLIDE 24

17

slide-25
SLIDE 25

17

slide-26
SLIDE 26

17

slide-27
SLIDE 27

17

slide-28
SLIDE 28

17

slide-29
SLIDE 29

17

slide-30
SLIDE 30

Configuration Script

18

slide-31
SLIDE 31

Quality and Testing

19

slide-32
SLIDE 32

Code Statistics

+----------------------+-------+-------+---------+---------+-----+-------+ | Name | Lines | LOC | Classes | Methods | M/C | LOC/M | +----------------------+-------+-------+---------+---------+-----+-------+ | Controllers | 88 | 68 | 3 | 6 | 2 | 9 | | Helpers | 5 | 4 | 0 | 0 | 0 | 0 | | Models | 91 | 74 | 2 | 15 | 7 | 2 | | Libraries | 326 | 272 | 5 | 49 | 9 | 3 | | Integration tests | 0 | 0 | 0 | 0 | 0 | 0 | | Unit tests | 4 | 3 | 1 | 0 | 0 | 0 | | Model specs | 241 | 200 | 0 | 3 | 0 | 64 | | View specs | 34 | 28 | 0 | 1 | 0 | 26 | | Controller specs | 140 | 113 | 0 | 3 | 0 | 35 | | Helper specs | 11 | 7 | 0 | 0 | 0 | 0 | | Library specs | 537 | 435 | 3 | 10 | 3 | 41 | | Routing specs | 63 | 49 | 0 | 0 | 0 | 0 | | Integration specs | 4 | 3 | 0 | 0 | 0 | 0 | +----------------------+-------+-------+---------+---------+-----+-------+ | Total | 1544 | 1256 | 14 | 87 | 6 | 12 | +----------------------+-------+-------+---------+---------+-----+-------+ Code LOC: 418 Test LOC: 838 Code to Test Ratio: 1:2.0

slide-33
SLIDE 33

RSpec Statistics

126 Tests written so far. Full code coverage. 836 Lines of Test Code. Code to Test Ratio 1:2

slide-34
SLIDE 34

Performance Testing

Four different levels of message complexity Small - Integer - 3 Bytes Normal - Strings - 250 Bytes Large - Long Strings - 2.5 KB Huge - Long Strings - 25.5 KB

slide-35
SLIDE 35

Testing Configuration

3 to 7 BEOCAT Nodes Types of Tests: 1 Sender - 1 Receiver 3 Senders - 1 Receiver 3 Senders - 3 Receivers

slide-36
SLIDE 36

Testing Configuration

RestGate Server Running in Separated Node. 1 WebServer Instance 7 Worker Processes Running Tests were performed with both Guaranteed and Fast Channels

slide-37
SLIDE 37

Guaranteed vs Fast

1,000 2,000 3,000 4,000 Small Normal Large Huge

Guaranteed Channel Fast Channel

25

slide-38
SLIDE 38

Guaranteed Channel Bottleneck

slide-39
SLIDE 39

Testing Observations

Fast channels perform around 10% faster than guaranteed channels. Most messages are delivered in around 1 second. The sender spends at most 150 ms to make a delivery request.

slide-40
SLIDE 40

Testing Observations

Messages with non string fields are slower to process. Memory usage was around 2 GBs of RAM At most 7 processors were ever active for more than 1 minute.

slide-41
SLIDE 41

Testing Observations

Guaranteed channels start slowing down in a linear manner as message size and congestion increases. Fast channels exhibited a stable behavior

  • n all test cases.
slide-42
SLIDE 42

Questions?