79
1 6 Identify Design Elements

6 Identify Design Elements - Fudan Universityfdjpkc.fudan.edu.cn/_upload/article/files/29/b8/b5... · MTS Beans ETS Client B Application DCOM ADO/R CORBA Beans Client C WWW Browser

  • Upload
    others

  • View
    4

  • Download
    0

Embed Size (px)

Citation preview

Page 1: 6 Identify Design Elements - Fudan Universityfdjpkc.fudan.edu.cn/_upload/article/files/29/b8/b5... · MTS Beans ETS Client B Application DCOM ADO/R CORBA Beans Client C WWW Browser

1

6 Identify Design Elements

Page 2: 6 Identify Design Elements - Fudan Universityfdjpkc.fudan.edu.cn/_upload/article/files/29/b8/b5... · MTS Beans ETS Client B Application DCOM ADO/R CORBA Beans Client C WWW Browser

2

Page 3: 6 Identify Design Elements - Fudan Universityfdjpkc.fudan.edu.cn/_upload/article/files/29/b8/b5... · MTS Beans ETS Client B Application DCOM ADO/R CORBA Beans Client C WWW Browser

3

Page 4: 6 Identify Design Elements - Fudan Universityfdjpkc.fudan.edu.cn/_upload/article/files/29/b8/b5... · MTS Beans ETS Client B Application DCOM ADO/R CORBA Beans Client C WWW Browser

4

Identify Design Elements in Context

[EarlyElaboration

Iteration][Inception

Iteration (Optional)]

Define a CandidateArchitecture

PerformArchitectural

Synthesis

Analyze Behavior

Refine theArchitecture

DesignComponents

Design theDatabase

(Optional)Identify DesignElements Architect

Page 5: 6 Identify Design Elements - Fudan Universityfdjpkc.fudan.edu.cn/_upload/article/files/29/b8/b5... · MTS Beans ETS Client B Application DCOM ADO/R CORBA Beans Client C WWW Browser

5

Page 6: 6 Identify Design Elements - Fudan Universityfdjpkc.fudan.edu.cn/_upload/article/files/29/b8/b5... · MTS Beans ETS Client B Application DCOM ADO/R CORBA Beans Client C WWW Browser

6

Page 7: 6 Identify Design Elements - Fudan Universityfdjpkc.fudan.edu.cn/_upload/article/files/29/b8/b5... · MTS Beans ETS Client B Application DCOM ADO/R CORBA Beans Client C WWW Browser

7

Identify Design Elements Steps

Identify classes and subsystems

Identify subsystem interfaces

Identify reuse opportunities

Update the organization of the Design Model

Checkpoints

Analysis Classes

Page 8: 6 Identify Design Elements - Fudan Universityfdjpkc.fudan.edu.cn/_upload/article/files/29/b8/b5... · MTS Beans ETS Client B Application DCOM ADO/R CORBA Beans Client C WWW Browser

8

From Analysis Classes to Design Elements

Analysis Classes Design Elements

<<boundary>>

<<control>>

<<entity>>

<<boundary>>

Many-to-Many Mapping

Subsystem<<subsystem>>

Subsystem<<subsystem>>

Page 9: 6 Identify Design Elements - Fudan Universityfdjpkc.fudan.edu.cn/_upload/article/files/29/b8/b5... · MTS Beans ETS Client B Application DCOM ADO/R CORBA Beans Client C WWW Browser

9

Example: Registration Package

MainRegistrarForm

1

11

MainStudentForm

1

RegisterForCoursesForm

<<boundary>>

0..10..1

11

CloseRegistrationForm

<<boundary>>

0..10..1

CloseRegistrationController

<<control>>RegistrationController

<<control>>

1

Page 10: 6 Identify Design Elements - Fudan Universityfdjpkc.fudan.edu.cn/_upload/article/files/29/b8/b5... · MTS Beans ETS Client B Application DCOM ADO/R CORBA Beans Client C WWW Browser

10

FulltimeStudent

<<entity>>

ParttimeStudent

<<entity>>PrimaryScheduleOfferingInfo

<<entity>>

ScheduleOfferingInfo

<<entity>>Student

<<entity>>

Example: University Artifacts Package: Generalization

Page 11: 6 Identify Design Elements - Fudan Universityfdjpkc.fudan.edu.cn/_upload/article/files/29/b8/b5... · MTS Beans ETS Client B Application DCOM ADO/R CORBA Beans Client C WWW Browser

11

Student

<<entity>>

Professor

<<entity>>

Schedule

<<entity>>

CourseOffering

<<entity>>

CourseOfferingList

1

Prerequisites

0..*Course

<<entity>>0..*

1

instructor

0..1

0..*

0..*0..*

0..*

0..4

primaryCourses

0..*

0..2

alternateCourses

0..*

1

Example: University Artifacts Package: Associations

Page 12: 6 Identify Design Elements - Fudan Universityfdjpkc.fudan.edu.cn/_upload/article/files/29/b8/b5... · MTS Beans ETS Client B Application DCOM ADO/R CORBA Beans Client C WWW Browser

12

IBillingSystem

<<Interface>>

ICourseCatalogSystem

<<Interface>>

Example: External System Interfaces Package

Page 13: 6 Identify Design Elements - Fudan Universityfdjpkc.fudan.edu.cn/_upload/article/files/29/b8/b5... · MTS Beans ETS Client B Application DCOM ADO/R CORBA Beans Client C WWW Browser

13

Realizes one or more interfaces that define its behavior

Subsystem

Review: Subsystems and Interfaces

InterfaceRealization (Canonical form)

Realization (Elided form)

Interface Name

Subsystem Name <<subsystem>>

Interface Name

<<interface>>

Subsystem Name <<subsystem>>

Page 14: 6 Identify Design Elements - Fudan Universityfdjpkc.fudan.edu.cn/_upload/article/files/29/b8/b5... · MTS Beans ETS Client B Application DCOM ADO/R CORBA Beans Client C WWW Browser

14

Identify Design Elements Steps

Identify classes and subsystems

Identify subsystem interfaces

Identify reuse opportunities

Update the organization of the Design Model

Checkpoints

Page 15: 6 Identify Design Elements - Fudan Universityfdjpkc.fudan.edu.cn/_upload/article/files/29/b8/b5... · MTS Beans ETS Client B Application DCOM ADO/R CORBA Beans Client C WWW Browser

15

All other analysis classes map directly to design classes.

Analysis Design

Example: Design Subsystems and Interfaces

BillingSystem

//submit bill()

<<boundary>>

Billing System

<<subsystem>>

IBillingSystem

submitBill(forTuition : Double, forStudent : Student)

CourseCatalogSystem

//get course offerings()

<<boundary>>

Course Catalog System

<<subsystem>>

ICourseCatalogSystem

getCourseOfferings(forSemester : Semester, forStudent : Student) : CourseOfferingList

initialize()

Page 16: 6 Identify Design Elements - Fudan Universityfdjpkc.fudan.edu.cn/_upload/article/files/29/b8/b5... · MTS Beans ETS Client B Application DCOM ADO/R CORBA Beans Client C WWW Browser

16

Analysis Class Design Element

CourseCatalogSystem

BillingSystem

All other analysis classes

map directly to design

classes

CourseCatalogSystem Subsystem

BillingSystem Subsystem

Example: Analysis-Class-To-Design-Element Map

Page 17: 6 Identify Design Elements - Fudan Universityfdjpkc.fudan.edu.cn/_upload/article/files/29/b8/b5... · MTS Beans ETS Client B Application DCOM ADO/R CORBA Beans Client C WWW Browser

17

Interfaces start with an “I”

Modeling Convention: Subsystems and Interfaces

CourseCatalogSystem<<subsystem>>

ICourseCatalogSystem + initialize ()

+ getCourseOfferings ()

CourseCatalogSystem<<subsystem>>

+ initialize ()

+ getCourseOfferings ()

ICourseCatalogSystem<<interface>>

+ getCourseOfferings ()

+ initialize ()

Page 18: 6 Identify Design Elements - Fudan Universityfdjpkc.fudan.edu.cn/_upload/article/files/29/b8/b5... · MTS Beans ETS Client B Application DCOM ADO/R CORBA Beans Client C WWW Browser

18

Example: Subsystem Context: CourseCatalogSystem

Provided

interface

defined

ICourseCatalogSystem<<Interface>>

CloseRegistrationController

+ // is registration open?()

+ // close registration()

<<control>>

0..1

+courseCatalog

CourseCatalogSystem<<subsystem>>

+ initialize ()

+ getCourseOfferings ()

+ getCourseOfferings ( for Semester: Semester )

+ initialize ()

RegistrationController

+ getCurrentSchedule()

+ deleteCurrentSchedule()

+ submitSchedule()

+ saveSchedule()

+ getCourseOfferings()

+ setSession()

+ <<class>> new()

+ getStudent()

<<control>>

CourseOfferingList

+ new()

+ add()

1

Required interface

defined

Page 19: 6 Identify Design Elements - Fudan Universityfdjpkc.fudan.edu.cn/_upload/article/files/29/b8/b5... · MTS Beans ETS Client B Application DCOM ADO/R CORBA Beans Client C WWW Browser

19

Example: Subsystem Context: Billing System

IBillingSystem

+ submitBill(forStudent : Student, forTuition : double)

<<Interface>>1

0..1

+ Biller 1

Student

<<entity>>

CloseRegistrationController

+ // is registration open?()

+ // close registration()

<<control>>

BillingSystem<<subsystem>>

+ submitBill(forStudent : Student, forTuition : double)

Page 20: 6 Identify Design Elements - Fudan Universityfdjpkc.fudan.edu.cn/_upload/article/files/29/b8/b5... · MTS Beans ETS Client B Application DCOM ADO/R CORBA Beans Client C WWW Browser

20

Identify Design Elements Steps

Identify classes and subsystems

Identify subsystem interfaces

Identify reuse opportunities

Update the organization of the Design Model

Checkpoints

Page 21: 6 Identify Design Elements - Fudan Universityfdjpkc.fudan.edu.cn/_upload/article/files/29/b8/b5... · MTS Beans ETS Client B Application DCOM ADO/R CORBA Beans Client C WWW Browser

21

?

Reuse Opportunities Internal to System

Page 22: 6 Identify Design Elements - Fudan Universityfdjpkc.fudan.edu.cn/_upload/article/files/29/b8/b5... · MTS Beans ETS Client B Application DCOM ADO/R CORBA Beans Client C WWW Browser

22

Identify classes and subsystems

Identify subsystem interfaces

Identify reuse opportunities

Update the organization of the Design Model

Checkpoints ClassB

Y()

Z()

ClassA

Y()

Z()

Identify Design Elements Steps

ClassC

Y()Z()

ClassD

Y()Z()

ClassC

Y()Z()

ClassE

Y()Z()

Page 23: 6 Identify Design Elements - Fudan Universityfdjpkc.fudan.edu.cn/_upload/article/files/29/b8/b5... · MTS Beans ETS Client B Application DCOM ADO/R CORBA Beans Client C WWW Browser

23

Example: Architectural Layers

Middleware

<<layer>>

Base Reuse

global

Application

<<layer>>

Business

Services

<<layer>>

Necessary because the

Application Layer must

have access to the core

distribution mechanisms

provided with Java RMI.

Page 24: 6 Identify Design Elements - Fudan Universityfdjpkc.fudan.edu.cn/_upload/article/files/29/b8/b5... · MTS Beans ETS Client B Application DCOM ADO/R CORBA Beans Client C WWW Browser

24

Registration

<<layer>>

Application

Example: Application Layer

Page 25: 6 Identify Design Elements - Fudan Universityfdjpkc.fudan.edu.cn/_upload/article/files/29/b8/b5... · MTS Beans ETS Client B Application DCOM ADO/R CORBA Beans Client C WWW Browser

25

Security

GUI FrameworkSecure Interfaces

Application<<layer>>

Business Services

<<layer>>

<<layer>>

Application

<<layer>>

Business Services

Example: Application Layer Context

University Artifacts

Registration

External System

Interfaces

Page 26: 6 Identify Design Elements - Fudan Universityfdjpkc.fudan.edu.cn/_upload/article/files/29/b8/b5... · MTS Beans ETS Client B Application DCOM ADO/R CORBA Beans Client C WWW Browser

26

Example: Business Services Layer

CourseCatalogSystem

<<subsystem>>

External System

Interfaces

University

Artifacts

ObjectStore

Support

<<layer>>

Business Services

GUI

Framework

Secure

Interfaces

Security

<<subsystem>>

Security

Manager

BillingSystem

<<subsystem>>

Page 27: 6 Identify Design Elements - Fudan Universityfdjpkc.fudan.edu.cn/_upload/article/files/29/b8/b5... · MTS Beans ETS Client B Application DCOM ADO/R CORBA Beans Client C WWW Browser

27

Middleware<<layer>>

Business Services

<<layer>>

Example: Business Services Layer Context

java.sqlcom.odi

<<layer>>

Middleware

BillingSystem<<subsystem>>

CourseCatalogSystem<<subsystem>>

External System Interfaces

University Artifacts

ObjectStoreSupport

<<layer>>

Business Services

GUI

Framework

Secure

Interfaces

Security

<<subsystem>>

SecurityManager

Page 28: 6 Identify Design Elements - Fudan Universityfdjpkc.fudan.edu.cn/_upload/article/files/29/b8/b5... · MTS Beans ETS Client B Application DCOM ADO/R CORBA Beans Client C WWW Browser

28

com.odi

Database(from com.odi)

Session(from com.odi)

Transaction(from com.odi)

Map(from com.odi)

java.sql

ResultSet(from com.odi)

Connection(from com.odi)

Statement(from com.odi)

DriverManager(from com.odi)

Example: Middleware Layer

<<layer>>

Middleware

Page 29: 6 Identify Design Elements - Fudan Universityfdjpkc.fudan.edu.cn/_upload/article/files/29/b8/b5... · MTS Beans ETS Client B Application DCOM ADO/R CORBA Beans Client C WWW Browser

29

7 RunTime Architecture

Page 30: 6 Identify Design Elements - Fudan Universityfdjpkc.fudan.edu.cn/_upload/article/files/29/b8/b5... · MTS Beans ETS Client B Application DCOM ADO/R CORBA Beans Client C WWW Browser

30

Page 31: 6 Identify Design Elements - Fudan Universityfdjpkc.fudan.edu.cn/_upload/article/files/29/b8/b5... · MTS Beans ETS Client B Application DCOM ADO/R CORBA Beans Client C WWW Browser

31

Describe the Run-time Architecture in Context

[EarlyElaboration

Iteration][Inception

Iteration (Optional)]

Define a CandidateArchitecture

PerformArchitectural

Synthesis

Analyze Behavior

Refine theArchitecture

DesignComponents

Design theDatabase

(Optional)Describe the Run-time Architect

Architecture

Page 32: 6 Identify Design Elements - Fudan Universityfdjpkc.fudan.edu.cn/_upload/article/files/29/b8/b5... · MTS Beans ETS Client B Application DCOM ADO/R CORBA Beans Client C WWW Browser

32

Page 33: 6 Identify Design Elements - Fudan Universityfdjpkc.fudan.edu.cn/_upload/article/files/29/b8/b5... · MTS Beans ETS Client B Application DCOM ADO/R CORBA Beans Client C WWW Browser

33

Page 34: 6 Identify Design Elements - Fudan Universityfdjpkc.fudan.edu.cn/_upload/article/files/29/b8/b5... · MTS Beans ETS Client B Application DCOM ADO/R CORBA Beans Client C WWW Browser

34

Describe the Run-time Architecture Steps

Analyze concurrency requirements

Identify processes and threads

Identify process lifecycles

Map processes onto the implementation

Distribute model elements among processes

Page 35: 6 Identify Design Elements - Fudan Universityfdjpkc.fudan.edu.cn/_upload/article/files/29/b8/b5... · MTS Beans ETS Client B Application DCOM ADO/R CORBA Beans Client C WWW Browser

35

Page 36: 6 Identify Design Elements - Fudan Universityfdjpkc.fudan.edu.cn/_upload/article/files/29/b8/b5... · MTS Beans ETS Client B Application DCOM ADO/R CORBA Beans Client C WWW Browser

36

Page 37: 6 Identify Design Elements - Fudan Universityfdjpkc.fudan.edu.cn/_upload/article/files/29/b8/b5... · MTS Beans ETS Client B Application DCOM ADO/R CORBA Beans Client C WWW Browser

37

Page 38: 6 Identify Design Elements - Fudan Universityfdjpkc.fudan.edu.cn/_upload/article/files/29/b8/b5... · MTS Beans ETS Client B Application DCOM ADO/R CORBA Beans Client C WWW Browser

38

Page 39: 6 Identify Design Elements - Fudan Universityfdjpkc.fudan.edu.cn/_upload/article/files/29/b8/b5... · MTS Beans ETS Client B Application DCOM ADO/R CORBA Beans Client C WWW Browser

39

Page 40: 6 Identify Design Elements - Fudan Universityfdjpkc.fudan.edu.cn/_upload/article/files/29/b8/b5... · MTS Beans ETS Client B Application DCOM ADO/R CORBA Beans Client C WWW Browser

40

Page 41: 6 Identify Design Elements - Fudan Universityfdjpkc.fudan.edu.cn/_upload/article/files/29/b8/b5... · MTS Beans ETS Client B Application DCOM ADO/R CORBA Beans Client C WWW Browser

41

Page 42: 6 Identify Design Elements - Fudan Universityfdjpkc.fudan.edu.cn/_upload/article/files/29/b8/b5... · MTS Beans ETS Client B Application DCOM ADO/R CORBA Beans Client C WWW Browser

42

Page 43: 6 Identify Design Elements - Fudan Universityfdjpkc.fudan.edu.cn/_upload/article/files/29/b8/b5... · MTS Beans ETS Client B Application DCOM ADO/R CORBA Beans Client C WWW Browser

43

Page 44: 6 Identify Design Elements - Fudan Universityfdjpkc.fudan.edu.cn/_upload/article/files/29/b8/b5... · MTS Beans ETS Client B Application DCOM ADO/R CORBA Beans Client C WWW Browser

44

Class diagrams

Active classes as processes/threads

Composition relationships from processes/threads to classes

Composition relationships from processes/threads to subsystems

Class NameProcess Name

<<process>>

Process Name

<<process>>

Process Name

<<process>>

Modeling the Mapping of Elements to Processes

Thread Name

<<thread>>

<<subsystem>>

Subsystem Name

Page 45: 6 Identify Design Elements - Fudan Universityfdjpkc.fudan.edu.cn/_upload/article/files/29/b8/b5... · MTS Beans ETS Client B Application DCOM ADO/R CORBA Beans Client C WWW Browser

45

Page 46: 6 Identify Design Elements - Fudan Universityfdjpkc.fudan.edu.cn/_upload/article/files/29/b8/b5... · MTS Beans ETS Client B Application DCOM ADO/R CORBA Beans Client C WWW Browser

46

Page 47: 6 Identify Design Elements - Fudan Universityfdjpkc.fudan.edu.cn/_upload/article/files/29/b8/b5... · MTS Beans ETS Client B Application DCOM ADO/R CORBA Beans Client C WWW Browser

47

Page 48: 6 Identify Design Elements - Fudan Universityfdjpkc.fudan.edu.cn/_upload/article/files/29/b8/b5... · MTS Beans ETS Client B Application DCOM ADO/R CORBA Beans Client C WWW Browser

48

8 Describe Distribution

Page 49: 6 Identify Design Elements - Fudan Universityfdjpkc.fudan.edu.cn/_upload/article/files/29/b8/b5... · MTS Beans ETS Client B Application DCOM ADO/R CORBA Beans Client C WWW Browser

49

Page 50: 6 Identify Design Elements - Fudan Universityfdjpkc.fudan.edu.cn/_upload/article/files/29/b8/b5... · MTS Beans ETS Client B Application DCOM ADO/R CORBA Beans Client C WWW Browser

50

Describe

Distribution

Implementation Model

Describe Distribution Overview

Software

Architecture

Document

Deployment Model

Design Model

Supplementary

Specifications

Page 51: 6 Identify Design Elements - Fudan Universityfdjpkc.fudan.edu.cn/_upload/article/files/29/b8/b5... · MTS Beans ETS Client B Application DCOM ADO/R CORBA Beans Client C WWW Browser

51

Key Concepts: The Deployment View

The Deployment View is an “architecturally significant”

slice of the Deployment Model.

Process View Deployment View

Logical View

Use-Case View

Implementation View

End-user

Functionality

Programmers

Software management

Performance, scalability, throughput

System integrators System topology, delivery,

installation, communication

System engineering

Analysts/Designers

Structure

Page 52: 6 Identify Design Elements - Fudan Universityfdjpkc.fudan.edu.cn/_upload/article/files/29/b8/b5... · MTS Beans ETS Client B Application DCOM ADO/R CORBA Beans Client C WWW Browser

52

<<legacy RDBMS>>

Course Catalog

Review: Example: Deployment Diagram with Processes

<<Campus LAN>>

<<Campus LAN>><<Campus LAN>>

<<application server>>

Registration Server

<<client workstation>>

PC

CourseCatalogSystemAccess

CourseRegistrationProcess

BillingSystemAccess

Billing

System

<<legacy>>

0..2000

1

1

1

1

1

Page 53: 6 Identify Design Elements - Fudan Universityfdjpkc.fudan.edu.cn/_upload/article/files/29/b8/b5... · MTS Beans ETS Client B Application DCOM ADO/R CORBA Beans Client C WWW Browser

53

Why Distribute?

Reduce processor load

Special processing requirements

Scaling concerns

Economic concerns

Distributed access to the system

Page 54: 6 Identify Design Elements - Fudan Universityfdjpkc.fudan.edu.cn/_upload/article/files/29/b8/b5... · MTS Beans ETS Client B Application DCOM ADO/R CORBA Beans Client C WWW Browser

54

Distribution Patterns

Client/Server

3-tier

Fat Client

Fat Server

Distributed

Client/Server

Peer-to-peer

Page 55: 6 Identify Design Elements - Fudan Universityfdjpkc.fudan.edu.cn/_upload/article/files/29/b8/b5... · MTS Beans ETS Client B Application DCOM ADO/R CORBA Beans Client C WWW Browser

55

Thinner client, thicker server

Database Server(s)

Client/Server Architectures

Application

Business Object

Services

Client A

Business Object

Engine

Business Object

Services

Business Object

Engine

Business Object Server

COM

MTS

Beans

ETS

Client B

Application

DCOM

ADO/RCORBA Beans

Client C

WWW Browser

Web Server

HTML

CGIASP Java

Business Object

Services

Business Object

Engine

Page 56: 6 Identify Design Elements - Fudan Universityfdjpkc.fudan.edu.cn/_upload/article/files/29/b8/b5... · MTS Beans ETS Client B Application DCOM ADO/R CORBA Beans Client C WWW Browser

56

Application Services

Business Services

Data Services

Client/Server: Three-Tier Architecture

Database Server(s)

Business Object

Services

Business Object

Engine

Business Object Server

COM

MTS

Beans

ETS

Client B

Application

DCOM

ADO/RCORBA Beans

Page 57: 6 Identify Design Elements - Fudan Universityfdjpkc.fudan.edu.cn/_upload/article/files/29/b8/b5... · MTS Beans ETS Client B Application DCOM ADO/R CORBA Beans Client C WWW Browser

57

Application Services

Business Services

Data Services

Client/Server: “Fat Client” Architecture

Application

Business Object

Services

Client A

Business Object

Engine

Database Server(s)

Page 58: 6 Identify Design Elements - Fudan Universityfdjpkc.fudan.edu.cn/_upload/article/files/29/b8/b5... · MTS Beans ETS Client B Application DCOM ADO/R CORBA Beans Client C WWW Browser

58

Application Services

Business Services

Data Services

Client/Server: Web Application Architecture

Client C

WWW Browser

Web Server

HTML

CGIASP Java

Business Object

Services

Business Object

Engine

Database Server(s)

Page 59: 6 Identify Design Elements - Fudan Universityfdjpkc.fudan.edu.cn/_upload/article/files/29/b8/b5... · MTS Beans ETS Client B Application DCOM ADO/R CORBA Beans Client C WWW Browser

59

Application

Services

Business

Services

Data Services

Peer-to-Peer Architecture

Business Object

Services

Business Object

Engine

COM

MTS

Beans

ETS

Application

DCOM

ADO/RCORBA Beans

Business Object

Services

Business Object

Engine

COM

MTS

Beans

ETS

Application

DCOM

ADO/RCORBA Beans

Page 60: 6 Identify Design Elements - Fudan Universityfdjpkc.fudan.edu.cn/_upload/article/files/29/b8/b5... · MTS Beans ETS Client B Application DCOM ADO/R CORBA Beans Client C WWW Browser

60

Describe Distribution Steps

Define the network configuration

Allocate processes to nodes

Define the distribution mechanism

Page 61: 6 Identify Design Elements - Fudan Universityfdjpkc.fudan.edu.cn/_upload/article/files/29/b8/b5... · MTS Beans ETS Client B Application DCOM ADO/R CORBA Beans Client C WWW Browser

61

Describe Distribution Steps

Define the network configuration

Allocate processes to nodes

Define the distribution mechanism

Page 62: 6 Identify Design Elements - Fudan Universityfdjpkc.fudan.edu.cn/_upload/article/files/29/b8/b5... · MTS Beans ETS Client B Application DCOM ADO/R CORBA Beans Client C WWW Browser

62

The Network Configuration

End-user workstation nodes

”Headless" processing server nodes

Special configurations

Development

Test

Specialized processors

Page 63: 6 Identify Design Elements - Fudan Universityfdjpkc.fudan.edu.cn/_upload/article/files/29/b8/b5... · MTS Beans ETS Client B Application DCOM ADO/R CORBA Beans Client C WWW Browser

63

Review: What Is a Node?

Represents a run-time computational resource Generally has at least memory

and often processing capability.

Types: Device

• Physical computational resource with processing capability.

• May be nested

Execution Environment• Represent particular

execution platforms

<<exe env>>

EE Name

<<device>>

Device Name

<<device>>

Sub Device

Name

Page 64: 6 Identify Design Elements - Fudan Universityfdjpkc.fudan.edu.cn/_upload/article/files/29/b8/b5... · MTS Beans ETS Client B Application DCOM ADO/R CORBA Beans Client C WWW Browser

64

Review: What Is a Connector?

A connector represents a:

Communication mechanism

• Physical medium

• Software protocol

<<application server>>

Server<<RS-232>>

<<100-T Ethernet>>

Connector

<<client workstation>>

Console

<<client workstation>>

Kiosk

Page 65: 6 Identify Design Elements - Fudan Universityfdjpkc.fudan.edu.cn/_upload/article/files/29/b8/b5... · MTS Beans ETS Client B Application DCOM ADO/R CORBA Beans Client C WWW Browser

65

Review: Example: Deployment Diagram

<<legacy RDBMS>>

Course Catalog

<<Campus LAN>>

<<Campus LAN>><<Campus LAN>>

<<application server>>

Registration Server

<<client workstation>>

PC

Billing System

<<legacy>>

0..2000

1

1

1

1

1

Page 66: 6 Identify Design Elements - Fudan Universityfdjpkc.fudan.edu.cn/_upload/article/files/29/b8/b5... · MTS Beans ETS Client B Application DCOM ADO/R CORBA Beans Client C WWW Browser

66

Describe Distribution Steps

Define the network configuration

Allocate processes to nodes

Define the distribution mechanism

Page 67: 6 Identify Design Elements - Fudan Universityfdjpkc.fudan.edu.cn/_upload/article/files/29/b8/b5... · MTS Beans ETS Client B Application DCOM ADO/R CORBA Beans Client C WWW Browser

67

Process-to-Node Allocation Considerations

Distribution patterns

Response time and system throughput

Minimization of cross-network traffic

Node capacity

Communication medium bandwidth

Availability of hardware and communication links

Rerouting requirements

Page 68: 6 Identify Design Elements - Fudan Universityfdjpkc.fudan.edu.cn/_upload/article/files/29/b8/b5... · MTS Beans ETS Client B Application DCOM ADO/R CORBA Beans Client C WWW Browser

68

<<legacy RDBMS>>

Course Catalog

Review: Example: Deployment Diagram with Processes

<<Campus LAN>>

<<Campus LAN>><<Campus LAN>>

<<application server>>

Registration Server

<<client workstation>>

PC

CourseCatalogSystemAccess

CourseRegistrationProcess

BillingSystemAccess

Billing

System

<<legacy>>

0..2000

1

1

1

1

1

Page 69: 6 Identify Design Elements - Fudan Universityfdjpkc.fudan.edu.cn/_upload/article/files/29/b8/b5... · MTS Beans ETS Client B Application DCOM ADO/R CORBA Beans Client C WWW Browser

69

What is Deployment?

Deployment is the assignment, or mapping, of software artifacts to physical nodes during execution.

Artifacts are the entities that are deployed onto physical nodes

• Processes are assigned to computers

Artifacts model physical entities.

Files, executables, database tables, web pages, etc.

Nodes model computational resources.

Computers, storage units.

Page 70: 6 Identify Design Elements - Fudan Universityfdjpkc.fudan.edu.cn/_upload/article/files/29/b8/b5... · MTS Beans ETS Client B Application DCOM ADO/R CORBA Beans Client C WWW Browser

70

Example: Deploying Artifacts to Nodes

<<client workstation>>

PC

StudentApplication

<<client workstation>>

PC

<<process>>

StudentApplication

<<deploy>>

<<client workstation>>

PC

<<process>>

StudentApplication

Page 71: 6 Identify Design Elements - Fudan Universityfdjpkc.fudan.edu.cn/_upload/article/files/29/b8/b5... · MTS Beans ETS Client B Application DCOM ADO/R CORBA Beans Client C WWW Browser

71

What is Manifestation?

The physical implementation of a model element as an artifact.

A relationship between the model element and the artifact that implements it

• Model elements are typically implemented as

a set of artifacts.

Source files, executable files, documentation file

Page 72: 6 Identify Design Elements - Fudan Universityfdjpkc.fudan.edu.cn/_upload/article/files/29/b8/b5... · MTS Beans ETS Client B Application DCOM ADO/R CORBA Beans Client C WWW Browser

72

Example: Manifestation

<<client workstation>>

PC

<<process>>

StudentApplication

<<deploy>>

MainStudentForm

<<manifest>>

<<header>>

MainStudentForm

<<source>>

MainStudentForm

<<manifest>>

<<manifest>>

Page 73: 6 Identify Design Elements - Fudan Universityfdjpkc.fudan.edu.cn/_upload/article/files/29/b8/b5... · MTS Beans ETS Client B Application DCOM ADO/R CORBA Beans Client C WWW Browser

73

What is a Deployment Specification?

A detailed specification of the parameters of the deployment of an artifact to a node.

May define values that parameterize the execution

Page 74: 6 Identify Design Elements - Fudan Universityfdjpkc.fudan.edu.cn/_upload/article/files/29/b8/b5... · MTS Beans ETS Client B Application DCOM ADO/R CORBA Beans Client C WWW Browser

74

Example: Deployment Specification

<<client workstation>>

PC

<<process>>

StudentApplication

<<deploy>>

MainStudentForm

<<manifest>>

<<header>>

MainStudentForm

<<source>>

MainStudentForm

<<manifest>>

<<manifest>>

<<deploymentSpec>>

StuAppDeploy

execution =

priority =

location =

Page 75: 6 Identify Design Elements - Fudan Universityfdjpkc.fudan.edu.cn/_upload/article/files/29/b8/b5... · MTS Beans ETS Client B Application DCOM ADO/R CORBA Beans Client C WWW Browser

75

Describe Distribution Steps

Define the network configuration

Allocate processes to nodes

Define the distribution mechanism

Page 76: 6 Identify Design Elements - Fudan Universityfdjpkc.fudan.edu.cn/_upload/article/files/29/b8/b5... · MTS Beans ETS Client B Application DCOM ADO/R CORBA Beans Client C WWW Browser

76

Distribution Mechanism

Remote Method

Invocation (RMI)

Analysis

Mechanism

(Conceptual)

Design

Mechanism

(Concrete)

Implementation

Mechanism

(Actual)

Java 1.2 from SunDistribution

RMI was chosen as the implementation mechanism for distribution

Page 77: 6 Identify Design Elements - Fudan Universityfdjpkc.fudan.edu.cn/_upload/article/files/29/b8/b5... · MTS Beans ETS Client B Application DCOM ADO/R CORBA Beans Client C WWW Browser

77

Design Mechanisms: Distribution: RMI

Distribution characteristics Latency

Synchronicity

Message Size

Protocol

Page 78: 6 Identify Design Elements - Fudan Universityfdjpkc.fudan.edu.cn/_upload/article/files/29/b8/b5... · MTS Beans ETS Client B Application DCOM ADO/R CORBA Beans Client C WWW Browser

78

Remote Method Invocation (RMI) (continued)

OneInstanceper node

For all classes that realize the Remote

interface, a remote stub and a remote

skeleton are created. These classes handle

the communication that must occur to

support distribution.

Naming.

lookup(name : String) : Remote

(from java.rmi)

SampleDistributedClass

doSomething(aParameter : SamplePassedData)

<<role>>

Remote(from java.rmi)

SampleDistributedClassClient<<role>>

SamplePassedData<<role>>

Any Java class that you want to

pass as an argument to an

operation on a remote interface

must realize the Serializable

Interface.

UnicastRemoteObject(from Server)

To "distribute" a class in Java, you must define an interface

that inherits from Remote. The distributed class needs to

realize the defined Remote interface and also inherit from

(extend) the UnicastRemoteObject.

ISampleDistributedClass

doSomething(aParameter : SamplePassedData)

<<Interface>>

Serializable(from java.io)

Roles to be filled by the

designer applying the

mechanism

Page 79: 6 Identify Design Elements - Fudan Universityfdjpkc.fudan.edu.cn/_upload/article/files/29/b8/b5... · MTS Beans ETS Client B Application DCOM ADO/R CORBA Beans Client C WWW Browser

79

<<layer>>

Business Services

Example: Incorporating RMI

<<layer>>

Middleware

<<layer>>

Application

University Artifacts

(from Business Services)

Middleware<<layer>>

Application<<layer>>

Business Services

<<layer>>

java.rmi

<<interface>>

remote(from java.rmi)

Naming(from java.rmi)

UnicastRemote

Object(from Server)

Server

<<interface>>

Serializable(from java.io)

Java.io

Registration

Package

(from Application)