RedGate - Enterprise MSE Project - Phase I Integration Server - - PowerPoint PPT Presentation

redgate enterprise
SMART_READER_LITE
LIVE PREVIEW

RedGate - Enterprise MSE Project - Phase I Integration Server - - PowerPoint PPT Presentation

RedGate - Enterprise MSE Project - Phase I Integration Server Motivation 2 Motivation 2 Motivation Asynchronous integration is hard on Rails. 2 RedGate 3 RedGate Enterprise Integration Server 3 RedGate Enterprise Integration


slide-1
SLIDE 1

RedGate - Enterprise Integration Server

MSE Project - Phase I

slide-2
SLIDE 2

Motivation

2

slide-3
SLIDE 3

Motivation

2

slide-4
SLIDE 4

Motivation

Asynchronous integration is hard

  • n Rails.

2

slide-5
SLIDE 5

RedGate

3

slide-6
SLIDE 6

RedGate

  • Enterprise Integration Server

3

slide-7
SLIDE 7

RedGate

  • Enterprise Integration Server
  • REST - XML Messages through HTTP

3

slide-8
SLIDE 8

RedGate

  • Enterprise Integration Server
  • REST - XML Messages through HTTP
  • Integration Patterns through channel based comm (Gates)

3

slide-9
SLIDE 9

RedGate

  • Enterprise Integration Server
  • REST - XML Messages through HTTP
  • Integration Patterns through channel based comm (Gates)
  • Targeted to:
  • RoR Software Developers
  • System Integrators
  • System Administrators

3

slide-10
SLIDE 10

Goals

4

slide-11
SLIDE 11

Goals

  • Support for patterns on the following categories:

4

slide-12
SLIDE 12

Goals

  • Support for patterns on the following categories:
  • Message Channel

4

slide-13
SLIDE 13

Goals

  • Support for patterns on the following categories:
  • Message Channel
  • Message Construction

4

slide-14
SLIDE 14

Goals

  • Support for patterns on the following categories:
  • Message Channel
  • Message Construction
  • Message Routing

4

slide-15
SLIDE 15

Goals

  • Support for patterns on the following categories:
  • Message Channel
  • Message Construction
  • Message Routing
  • Message Translation

4

slide-16
SLIDE 16

Goals

  • Support for patterns on the following categories:
  • Message Channel
  • Message Construction
  • Message Routing
  • Message Translation
  • Message Endpoint

4

slide-17
SLIDE 17

Goals

  • Support for patterns on the following categories:
  • Message Channel
  • Message Construction
  • Message Routing
  • Message Translation
  • Message Endpoint
  • Reasonable Performance - 100ms of overhead.

4

slide-18
SLIDE 18

Risks

5

slide-19
SLIDE 19

Risks

  • Complexity

5

slide-20
SLIDE 20

Risks

  • Complexity
  • Bad Performance

5

slide-21
SLIDE 21

Risks

  • Complexity
  • Bad Performance
  • Low Acceptance

5

slide-22
SLIDE 22
slide-23
SLIDE 23

Software Requirement Specifications

slide-24
SLIDE 24

Interfaces

7

slide-25
SLIDE 25

Interfaces

  • System Interfaces
  • Senders and Receivers of XML Documents through HTTP

7

slide-26
SLIDE 26

Interfaces

  • System Interfaces
  • Senders and Receivers of XML Documents through HTTP
  • Software Interfaces
  • Ruby Interpreter
  • Ruby on Rails - ActiveResource
  • Web Server
  • Database Server

7

slide-27
SLIDE 27

Interfaces

8

slide-28
SLIDE 28

Interfaces

  • User Interfaces
  • Gate Configuration File
  • Gate Configuration Template
  • Statistical Reports

8

slide-29
SLIDE 29

Functions

Provide support for the following patterns:

9

slide-30
SLIDE 30

Functions

  • Subscribed Senders

Provide support for the following patterns:

9

slide-31
SLIDE 31

Functions

  • Subscribed Senders
  • Polling Senders

Provide support for the following patterns:

9

slide-32
SLIDE 32

Functions

  • Subscribed Senders
  • Polling Senders
  • P2P Channel

Provide support for the following patterns:

9

slide-33
SLIDE 33

Functions

  • Subscribed Senders
  • Polling Senders
  • P2P Channel
  • Publish - Subscribe Channel

Provide support for the following patterns:

9

slide-34
SLIDE 34

Functions

  • Subscribed Senders
  • Polling Senders
  • P2P Channel
  • Publish - Subscribe Channel
  • Validated Structure Channel

Provide support for the following patterns:

9

slide-35
SLIDE 35

Functions

  • Subscribed Senders
  • Polling Senders
  • P2P Channel
  • Publish - Subscribe Channel
  • Validated Structure Channel
  • Guaranteed Channel

Provide support for the following patterns:

9

slide-36
SLIDE 36

Functions

  • Subscribed Senders
  • Polling Senders
  • P2P Channel
  • Publish - Subscribe Channel
  • Validated Structure Channel
  • Guaranteed Channel
  • Dead Letter Channel

Provide support for the following patterns:

9

slide-37
SLIDE 37

Functions

  • Subscribed Senders
  • Polling Senders
  • P2P Channel
  • Publish - Subscribe Channel
  • Validated Structure Channel
  • Guaranteed Channel
  • Dead Letter Channel
  • Message Expiration

Provide support for the following patterns:

9

slide-38
SLIDE 38

Functions

  • Subscribed Senders
  • Polling Senders
  • P2P Channel
  • Publish - Subscribe Channel
  • Validated Structure Channel
  • Guaranteed Channel
  • Dead Letter Channel
  • Message Expiration
  • Message Sequence

Provide support for the following patterns:

9

slide-39
SLIDE 39

Functions

  • Subscribed Senders
  • Polling Senders
  • P2P Channel
  • Publish - Subscribe Channel
  • Validated Structure Channel
  • Guaranteed Channel
  • Dead Letter Channel
  • Message Expiration
  • Message Sequence
  • Request - Reply

Provide support for the following patterns:

9

slide-40
SLIDE 40

Functions

  • 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

Provide support for the following patterns:

9

slide-41
SLIDE 41

Functions

  • 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

Provide support for the following patterns:

9

slide-42
SLIDE 42

Functions

  • 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

Provide support for the following patterns:

9

slide-43
SLIDE 43

Functions

  • 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

Provide support for the following patterns:

9

slide-44
SLIDE 44

Functions

  • 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

Provide support for the following patterns:

9

slide-45
SLIDE 45

Functions

  • 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

Provide support for the following patterns:

9

slide-46
SLIDE 46

Functions

  • 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

Provide support for the following patterns:

9

slide-47
SLIDE 47

Functions

  • 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

Provide support for the following patterns:

9

slide-48
SLIDE 48

10

slide-49
SLIDE 49
slide-50
SLIDE 50

Software Quality Assurance

slide-51
SLIDE 51

Documentation

12

slide-52
SLIDE 52

Documentation

  • Inception
  • Project Vision
  • SQA Plan
  • Prototype Specification

12

slide-53
SLIDE 53

Documentation

  • Inception
  • Project Vision
  • SQA Plan
  • Prototype Specification
  • Elaboration
  • Software Requirement Spec.
  • Work Plan
  • Software Architecture

12

slide-54
SLIDE 54

Documentation

  • Inception
  • Project Vision
  • SQA Plan
  • Prototype Specification
  • Elaboration
  • Software Requirement Spec.
  • Work Plan
  • Software Architecture
  • Construction
  • Test Plan
  • User Manual

12

slide-55
SLIDE 55

Quality Assurance Metrics

13

slide-56
SLIDE 56

Quality Assurance Metrics

  • LOC’s per Component

13

slide-57
SLIDE 57

Quality Assurance Metrics

  • LOC’s per Component
  • Code to Test Ratio

13

slide-58
SLIDE 58

Quality Assurance Metrics

  • LOC’s per Component
  • Code to Test Ratio
  • Test Coverage

13

slide-59
SLIDE 59

Quality Assurance Metrics

  • LOC’s per Component
  • Code to Test Ratio
  • Test Coverage
  • Structural Similarity

13

slide-60
SLIDE 60

Quality Assurance Metrics

  • LOC’s per Component
  • Code to Test Ratio
  • Test Coverage
  • Structural Similarity
  • Function Complexity

13

slide-61
SLIDE 61

Quality Assurance Metrics

  • LOC’s per Component
  • Code to Test Ratio
  • Test Coverage
  • Structural Similarity
  • Function Complexity
  • “Reek Smell” Detection

13

slide-62
SLIDE 62

Quality Assurance Metrics

  • LOC’s per Component
  • Code to Test Ratio
  • Test Coverage
  • Structural Similarity
  • Function Complexity
  • “Reek Smell” Detection
  • Changes per File

13

slide-63
SLIDE 63

Tools, Techniques & Methodologies

14

slide-64
SLIDE 64

Tools, Techniques & Methodologies

  • Programming Language: Ruby
  • DSL Friendly
  • REST - ActiveResource
  • Targeted to RoR developers.

14

slide-65
SLIDE 65

Tools, Techniques & Methodologies

  • Programming Language: Ruby
  • DSL Friendly
  • REST - ActiveResource
  • Targeted to RoR developers.
  • Testing Tools:
  • RSpec
  • Autotest

14

slide-66
SLIDE 66

Tools, Techniques & Methodologies

  • Programming Language: Ruby
  • DSL Friendly
  • REST - ActiveResource
  • Targeted to RoR developers.
  • Testing Tools:
  • RSpec
  • Autotest
  • Database: SQLite for Development

14

slide-67
SLIDE 67

Tools, Techniques & Methodologies

  • Programming Language: Ruby
  • DSL Friendly
  • REST - ActiveResource
  • Targeted to RoR developers.
  • Testing Tools:
  • RSpec
  • Autotest
  • Database: SQLite for Development
  • Modeling Tool: USE

14

slide-68
SLIDE 68

Tools, Techniques & Methodologies

  • Programming Language: Ruby
  • DSL Friendly
  • REST - ActiveResource
  • Targeted to RoR developers.
  • Testing Tools:
  • RSpec
  • Autotest
  • Database: SQLite for Development
  • Modeling Tool: USE
  • Prototype Built on RoR

14

slide-69
SLIDE 69

Tools, Techniques & Methodologies

  • Programming Language: Ruby
  • DSL Friendly
  • REST - ActiveResource
  • Targeted to RoR developers.
  • Testing Tools:
  • RSpec
  • Autotest
  • Database: SQLite for Development
  • Modeling Tool: USE
  • Prototype Built on RoR
  • Code Control: GIT
  • http://github.com/kirkconnell/RedGate

14

slide-70
SLIDE 70
slide-71
SLIDE 71

Project Plan

slide-72
SLIDE 72

Plan Based on 7 Workflows

16

slide-73
SLIDE 73

Plan Based on 7 Workflows

  • Management
  • Environment
  • Requirements
  • Design
  • Implementation
  • Assessment
  • Deployment

16

slide-74
SLIDE 74

Deployment Milestones

17

slide-75
SLIDE 75

Deployment Milestones

  • Inception
  • Prototype Working on Development Environment

17

slide-76
SLIDE 76

Deployment Milestones

  • Inception
  • Prototype Working on Development Environment
  • Elaboration
  • Alpha Version - Mid January 2010

17

slide-77
SLIDE 77

Deployment Milestones

  • Inception
  • Prototype Working on Development Environment
  • Elaboration
  • Alpha Version - Mid January 2010
  • Construction
  • Beta Release - Mid April 2010

17

slide-78
SLIDE 78
slide-79
SLIDE 79

Prototype

slide-80
SLIDE 80

Critical Use Cases

19

slide-81
SLIDE 81

Architecture

20

slide-82
SLIDE 82

Architecture

21

slide-83
SLIDE 83

Database Structure

22

slide-84
SLIDE 84
slide-85
SLIDE 85

DEMO

slide-86
SLIDE 86
slide-87
SLIDE 87

Questions?