Design Principles

Get Started. It's Free
or sign up with your email address
Rocket clouds
Design Principles by Mind Map: Design Principles

1. Service Discoverability

1.1. Goals

1.1.1. Highly discoverable services

1.1.2. Purpose and capabilities clearly expressed

1.2. Types

1.2.1. Design-Time discovery

1.2.2. Runtime discovery

1.2.2.1. UDDI

1.2.3. Discoverability Meta Information

1.2.3.1. Functional

1.2.3.2. Quality of Service

2. Service Composability

2.1. Goals

2.2. Terms

2.2.1. Composition (Instance)

2.2.2. Composition Member

2.2.2.1. Composition Member Capability

2.2.3. Composition Controller

2.2.3.1. Sub-Controllers

2.2.3.2. Composition Controller Capability

2.2.3.3. Designated Controllers

3. Standardized Service Contract

3.1. Goals

3.1.1. Natural operability

3.1.2. Less data transformation

3.1.3. Capabilities are better understood

3.2. Design Characteristics

3.2.1. Service contract provided

3.2.2. Standardized through design standards

3.3. Implementation requirements

3.3.1. Design standards and conventions

3.3.2. Formal processes for service modeling

3.3.3. Contract first approach

4. Service Loose Coupling

4.1. Goals

4.1.1. An environment where Services and Consumers can evolve with minimal impact

4.2. Coupling Types

4.2.1. Logic-to-Contract

4.2.1.1. "Contract First"

4.2.2. Contract-to-Logic

4.2.3. Contract-to-Technology

4.2.4. Contract-to-Implementation

4.2.5. Contract-to-Functional

4.2.5.1. Parent Process Coupling

4.2.5.2. Service-to-Consumer Coupling

4.2.5.3. Functional Coupling and Task Services

4.2.6. Consumer-to-Implementation

4.2.7. Consumer-to-Contract

4.2.7.1. Coupling Levels

4.2.7.1.1. Non-Centralized

4.2.7.1.2. Centralized

5. Service Abstraction

5.1. Goals

5.1.1. Keep the contract detail concise and balanced

5.2. Types

5.2.1. Technology

5.2.2. Functional Capabilities

5.2.3. Programmatic Logic

5.2.3.1. Internal details

5.2.3.1.1. Design

5.2.3.1.2. Source code

5.2.4. Quality of Service

5.2.4.1. SLA

5.2.4.1.1. Concurrent threshold

5.2.4.1.2. Availability limitations

5.2.4.1.3. Business Rules

5.3. Measuring

5.3.1. Contract Content Abstraction Levels

5.3.1.1. Detailed

5.3.1.2. Concise

5.3.1.3. Optimized

5.3.2. Access Control Levels

5.3.2.1. Open Access

5.3.2.2. Controlled Access

5.3.2.3. No Access

6. Service Reusability

6.1. Goals

6.1.1. High ROI

6.1.2. Increase business agility

6.1.3. Enable agnostic service models

7. Service Autonomy

7.1. Goals

7.1.1. Increase runtime reliability, performance, predictability

7.1.2. Increase control

7.2. Types

7.2.1. Runtime Autonomy

7.2.1.1. Execution performance

7.2.1.2. Reliability

7.2.1.3. Predictability

7.2.1.4. Security control

7.2.2. Design-Time Autonomy

7.2.2.1. Scalability

7.2.2.2. Enhance hosting environment

7.2.2.3. Change technology

7.3. Levels

7.3.1. Service Contract Autonomy

7.3.2. Shared Autonomy

7.3.3. Service Logic Autonomy

7.3.4. Pure Autonomy

8. Service Statelessness

8.1. Goals

8.1.1. Increase scalability

8.1.2. Improve service reuse

8.2. Types

8.2.1. Active

8.2.1.1. Stateless

8.2.1.2. Stateful

8.2.1.2.1. Session data

8.2.1.2.2. Context data

8.2.1.2.3. Business data

8.2.2. Passive

8.3. Levels

8.3.1. Non-deferred State Management (low-to-no statelessness)

8.3.2. Partially Deferred Memory (reduced statefulness)

8.3.3. Partial Architectural State Management Deferral (moderate statelessness)

8.3.4. Full Architectural State Management Deferral (high statelessness)