17
© R. Gamble, The University of Tulsa, © R. Gamble, The University of Tulsa, 2004 2004 Dynamism Gloom and Doom? Dynamism Gloom and Doom? T. Gamble D. Flagg R. Baird T. Gamble D. Flagg R. Baird R. Gamble R. Gamble Software Engineering & Architecture Software Engineering & Architecture Team Team Dept. of Mathematical & Computer Dept. of Mathematical & Computer Sciences Sciences The University of Tulsa The University of Tulsa [email protected] [email protected]

© R. Gamble, The University of Tulsa, 2004 Dynamism Gloom and Doom? T. Gamble D. Flagg R. Baird R. Gamble Software Engineering & Architecture Team Dept

Embed Size (px)

Citation preview

Page 1: © R. Gamble, The University of Tulsa, 2004 Dynamism Gloom and Doom? T. Gamble D. Flagg R. Baird R. Gamble Software Engineering & Architecture Team Dept

© R. Gamble, The University of Tulsa, 2004© R. Gamble, The University of Tulsa, 2004

Dynamism Gloom and Doom?Dynamism Gloom and Doom?

T. Gamble D. Flagg R. Baird R. T. Gamble D. Flagg R. Baird R. GambleGamble

Software Engineering & Architecture TeamSoftware Engineering & Architecture TeamDept. of Mathematical & Computer Dept. of Mathematical & Computer

SciencesSciencesThe University of TulsaThe University of Tulsa

[email protected]@utulsa.eduwww.seat.utulsa.eduwww.seat.utulsa.edu

Page 2: © R. Gamble, The University of Tulsa, 2004 Dynamism Gloom and Doom? T. Gamble D. Flagg R. Baird R. Gamble Software Engineering & Architecture Team Dept

Slide 2

The University of Tulsa

© R. Gamble, The University of Tulsa, 2004© R. Gamble, The University of Tulsa, 2004

Implications and AspectsImplications and Aspects

Dynamic impliesDynamic implies• changes to the network topology changes to the network topology • processor mobility processor mobility • participating client processesparticipating client processes• processor and network failuresprocessor and network failures• timing variations timing variations

Key aspects Key aspects • how much change can occurhow much change can occur• how much is known before the changehow much is known before the change• where and how the change is controlled. where and how the change is controlled.

Page 3: © R. Gamble, The University of Tulsa, 2004 Dynamism Gloom and Doom? T. Gamble D. Flagg R. Baird R. Gamble Software Engineering & Architecture Team Dept

Slide 3

The University of Tulsa

© R. Gamble, The University of Tulsa, 2004© R. Gamble, The University of Tulsa, 2004

PrevalencePrevalence

Architecture reconfigurationArchitecture reconfiguration• Component creation (insertion) and destruction Component creation (insertion) and destruction

(deletion)(deletion)• Foreknowledge of possibilitiesForeknowledge of possibilities• Central configurator with global informationCentral configurator with global information• Context-aware connectors Context-aware connectors

Agent-based systemsAgent-based systems• Reactive vs. proactiveReactive vs. proactive• DiscoveryDiscovery

Mobile systemsMobile systems• Resource constraints Resource constraints • Location changesLocation changes• Discovery Discovery

Page 4: © R. Gamble, The University of Tulsa, 2004 Dynamism Gloom and Doom? T. Gamble D. Flagg R. Baird R. Gamble Software Engineering & Architecture Team Dept

Slide 4

The University of Tulsa

© R. Gamble, The University of Tulsa, 2004© R. Gamble, The University of Tulsa, 2004

Application IntegrationApplication Integration Dynamism is a key aspect of Dynamism is a key aspect of

application integration design and application integration design and developmentdevelopment

Integrating COTS productsIntegrating COTS products• commercially-supported middleware commercially-supported middleware

generally forms the backbone of the generally forms the backbone of the systemsystem

Components are constrained by Components are constrained by • communication protocolscommunication protocols• service descriptionsservice descriptions• management policiesmanagement policies• data typesdata types

Page 5: © R. Gamble, The University of Tulsa, 2004 Dynamism Gloom and Doom? T. Gamble D. Flagg R. Baird R. Gamble Software Engineering & Architecture Team Dept

Slide 5

The University of Tulsa

© R. Gamble, The University of Tulsa, 2004© R. Gamble, The University of Tulsa, 2004

Middleware FrameworksMiddleware Frameworks

Three popular middleware frameworksThree popular middleware frameworks• CORBACORBA

Borland VisiBrokerBorland VisiBroker

• Message QueuingMessage Queuing IBM Websphere MQIBM Websphere MQ

• The GridThe Grid Globus ToolkitGlobus Toolkit

Need the pertinent features of Need the pertinent features of middleware that prohibit/promote middleware that prohibit/promote dynamism within integrated dynamism within integrated systemssystems

Page 6: © R. Gamble, The University of Tulsa, 2004 Dynamism Gloom and Doom? T. Gamble D. Flagg R. Baird R. Gamble Software Engineering & Architecture Team Dept

Slide 6

The University of Tulsa

© R. Gamble, The University of Tulsa, 2004© R. Gamble, The University of Tulsa, 2004

Dynamic FeaturesDynamic Features

RegistrationRegistration the act of the component and the the act of the component and the

middleware becoming aware of each other middleware becoming aware of each other Data typingData typing

the collection of capabilities for type the collection of capabilities for type definition definition

AsynchronyAsynchrony a middleware feature that is based on the a middleware feature that is based on the

context of interactions between components context of interactions between components Security Security

there are many considerations, but we are there are many considerations, but we are concerned with authentication, concerned with authentication, confidentiality, integrity, and non-repudiation confidentiality, integrity, and non-repudiation

Page 7: © R. Gamble, The University of Tulsa, 2004 Dynamism Gloom and Doom? T. Gamble D. Flagg R. Baird R. Gamble Software Engineering & Architecture Team Dept

Slide 7

The University of Tulsa

© R. Gamble, The University of Tulsa, 2004© R. Gamble, The University of Tulsa, 2004

Registration and DynamismRegistration and Dynamism Components establish a connection with middlewareComponents establish a connection with middleware

• May or may not retain explicit knowledge of the middlewareMay or may not retain explicit knowledge of the middleware ExamplesExamples

• Inclusion in a directory serviceInclusion in a directory service• Establishment of a programmatic referenceEstablishment of a programmatic reference• Publication of an interface specificationPublication of an interface specification

For dynamismFor dynamism• registration must support binding and rebinding at runtime registration must support binding and rebinding at runtime

Middleware

RegistrationService

Component

1

2

3

1. Initiate Registration2. Confirm Registration3. Begin Communication

Page 8: © R. Gamble, The University of Tulsa, 2004 Dynamism Gloom and Doom? T. Gamble D. Flagg R. Baird R. Gamble Software Engineering & Architecture Team Dept

Slide 8

The University of Tulsa

© R. Gamble, The University of Tulsa, 2004© R. Gamble, The University of Tulsa, 2004

Evaluating RegistrationEvaluating Registration

IBM WebSphere MQIBM WebSphere MQ• Identify queues and pub/sub topicsIdentify queues and pub/sub topics• Establish callbacks or polling mechanisms for Establish callbacks or polling mechanisms for

event processingevent processing Borland VisiBrokerBorland VisiBroker

• Components specifically state what is transferred Components specifically state what is transferred and which services they offer or requireand which services they offer or require

• Registration requests are processed by local Registration requests are processed by local instances of broker serversinstances of broker servers

Globus Grid ToolkitGlobus Grid Toolkit• Service components submit a WDSL document Service components submit a WDSL document

that describes its services and what is that describes its services and what is transferredtransferred

• Clients submit a WSDL document in order to Clients submit a WSDL document in order to submit jobssubmit jobs

Page 9: © R. Gamble, The University of Tulsa, 2004 Dynamism Gloom and Doom? T. Gamble D. Flagg R. Baird R. Gamble Software Engineering & Architecture Team Dept

Slide 9

The University of Tulsa

© R. Gamble, The University of Tulsa, 2004© R. Gamble, The University of Tulsa, 2004

Data Typing and DynamismData Typing and Dynamism

Required for enforcement of type safety across Required for enforcement of type safety across component interactionscomponent interactions

Depends largely on the programming model that Depends largely on the programming model that is assumed within the component-level interfaces is assumed within the component-level interfaces to middlewareto middleware

For dynamismFor dynamism• Important when interactions are loosely defined prior to Important when interactions are loosely defined prior to

runtimeruntime

MiddlewareComponent

Strongly Typed

Loosely Typed

Page 10: © R. Gamble, The University of Tulsa, 2004 Dynamism Gloom and Doom? T. Gamble D. Flagg R. Baird R. Gamble Software Engineering & Architecture Team Dept

Slide 10

The University of Tulsa

© R. Gamble, The University of Tulsa, 2004© R. Gamble, The University of Tulsa, 2004

Evaluating Data TypingEvaluating Data Typing

IBM WebSphere MQIBM WebSphere MQ• No explicit checking of data typesNo explicit checking of data types

Message payloads consist of raw bytesMessage payloads consist of raw bytes

Borland VisiBrokerBorland VisiBroker• Registration checks Registration checks

Ensures information to be transferred Ensures information to be transferred between components matches predefined between components matches predefined data typesdata types

Globus Grid ToolkitGlobus Grid Toolkit• Same as VisiBrokerSame as VisiBroker

Page 11: © R. Gamble, The University of Tulsa, 2004 Dynamism Gloom and Doom? T. Gamble D. Flagg R. Baird R. Gamble Software Engineering & Architecture Team Dept

Slide 11

The University of Tulsa

© R. Gamble, The University of Tulsa, 2004© R. Gamble, The University of Tulsa, 2004

Asynchrony and DynamismAsynchrony and Dynamism

Allows components to communicate, but Allows components to communicate, but operate independentlyoperate independently• Loose coupling reduces dependencies between Loose coupling reduces dependencies between

componentscomponents For dynamismFor dynamism

• Loose coupling facilitates interaction managementLoose coupling facilitates interaction management

MiddlewareComponent

Synchronous

Asynchronous

Channel

Channel

request

reply

message

...wait...

message

Page 12: © R. Gamble, The University of Tulsa, 2004 Dynamism Gloom and Doom? T. Gamble D. Flagg R. Baird R. Gamble Software Engineering & Architecture Team Dept

Slide 12

The University of Tulsa

© R. Gamble, The University of Tulsa, 2004© R. Gamble, The University of Tulsa, 2004

Evaluating AsynchronyEvaluating Asynchrony

IBM WebSphere MQIBM WebSphere MQ• Communication is inherently Communication is inherently

asynchronousasynchronous Borland VisiBrokerBorland VisiBroker

• Communication is inherently synchronousCommunication is inherently synchronous• Components may use supplied connectors Components may use supplied connectors

to support polling and callback of servicesto support polling and callback of services Globus Grid ToolkitGlobus Grid Toolkit

• Clients can submit and be asynchronously Clients can submit and be asynchronously notified by the services when processing notified by the services when processing has completedhas completed

Page 13: © R. Gamble, The University of Tulsa, 2004 Dynamism Gloom and Doom? T. Gamble D. Flagg R. Baird R. Gamble Software Engineering & Architecture Team Dept

Slide 13

The University of Tulsa

© R. Gamble, The University of Tulsa, 2004© R. Gamble, The University of Tulsa, 2004

Security and DynamismSecurity and Dynamism Focus on confidentiality and integrityFocus on confidentiality and integrity

• Transport level securityTransport level security Middleware assures the overall connection and all data that travels over itMiddleware assures the overall connection and all data that travels over it

• Message level securityMessage level security Middleware allows component-to-component interactions to be securedMiddleware allows component-to-component interactions to be secured

For dynamismFor dynamism• Any unexpected change can lead to added risks for secure systems Any unexpected change can lead to added risks for secure systems

Unauthorized accessUnauthorized access Denial of serviceDenial of service

MiddlewareComponent

Transport Level Security

Message Level Security

Page 14: © R. Gamble, The University of Tulsa, 2004 Dynamism Gloom and Doom? T. Gamble D. Flagg R. Baird R. Gamble Software Engineering & Architecture Team Dept

Slide 14

The University of Tulsa

© R. Gamble, The University of Tulsa, 2004© R. Gamble, The University of Tulsa, 2004

Evaluating Security Evaluating Security Transport LevelTransport Level

IBM WebSphere MQIBM WebSphere MQ• Communication channels between queue Communication channels between queue

managers can be encryptedmanagers can be encrypted Borland VisiBrokerBorland VisiBroker

• SSL is used between ORB instances on SSL is used between ORB instances on separate host environmentsseparate host environments

Globus Grid ToolkitGlobus Grid Toolkit• A private protocol (httpg) is implemented A private protocol (httpg) is implemented

between Globus containers (aka servers) between Globus containers (aka servers) on remote machineson remote machines

Page 15: © R. Gamble, The University of Tulsa, 2004 Dynamism Gloom and Doom? T. Gamble D. Flagg R. Baird R. Gamble Software Engineering & Architecture Team Dept

Slide 15

The University of Tulsa

© R. Gamble, The University of Tulsa, 2004© R. Gamble, The University of Tulsa, 2004

Evaluating SecurityEvaluating SecurityMessage LevelMessage Level

IBM WebSphere MQIBM WebSphere MQ• No inherent capabilityNo inherent capability

Borland VisiBrokerBorland VisiBroker• Encryption is at the transport level, but Encryption is at the transport level, but

message level integrity can be ensured using message level integrity can be ensured using checksumschecksums

Globus Grid ToolkitGlobus Grid Toolkit• Message level security is based on WS-Message level security is based on WS-

Security, XML Encryption and XML Signature Security, XML Encryption and XML Signature standards using either a pre-established standards using either a pre-established security or credentials supplied inside the security or credentials supplied inside the calling parameterscalling parameters

Page 16: © R. Gamble, The University of Tulsa, 2004 Dynamism Gloom and Doom? T. Gamble D. Flagg R. Baird R. Gamble Software Engineering & Architecture Team Dept

Slide 16

The University of Tulsa

© R. Gamble, The University of Tulsa, 2004© R. Gamble, The University of Tulsa, 2004

ConclusionConclusion

Commercial middleware is still not Commercial middleware is still not prepared to support dynamismprepared to support dynamism• Sets impractical expectations for component interaction Sets impractical expectations for component interaction

that impedes dynamismthat impedes dynamism Code customizationCode customization Interface interoperabilityInterface interoperability

Much Much a prioria priori knowledge is needed by the knowledge is needed by the• Component being insertedComponent being inserted• Established middlewareEstablished middleware• Other components interacting with the systemOther components interacting with the system

How can a priori knowledge be reduced How can a priori knowledge be reduced yet control not be forfeitedyet control not be forfeited• StandardsStandards• Middleware designated wrappersMiddleware designated wrappers• Adaptable component connectorsAdaptable component connectors

Page 17: © R. Gamble, The University of Tulsa, 2004 Dynamism Gloom and Doom? T. Gamble D. Flagg R. Baird R. Gamble Software Engineering & Architecture Team Dept

© R. Gamble, The University of Tulsa, 2004© R. Gamble, The University of Tulsa, 2004

Questions?Questions?

Dr. R.F. Gamble, DirectorDr. R.F. Gamble, DirectorSoftware Engineering and Architecture TeamSoftware Engineering and Architecture TeamDepartment of Mathematical and Computer Department of Mathematical and Computer

SciencesSciencesThe University of TulsaThe University of Tulsa

[email protected]@utulsa.eduwww.seat.utulsa.eduwww.seat.utulsa.edu