Date post: | 05-Jan-2016 |
Category: |
Documents |
Upload: | laurel-hodges |
View: | 215 times |
Download: | 3 times |
© 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
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.
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
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
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
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
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
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
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
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
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
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
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
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
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
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
© 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