© 2009 The MITRE Corporation. All rights reserved Approved for Public Release; Distribution Unlimited Considerations for Versioning SOA Resources Ken Laskey.

Slides:



Advertisements
Similar presentations
Writing constructed response items
Advertisements

Service Oriented Architecture Reference Model
Configuration management
Configuration Management
© 2009 The MITRE Corporation. All rights Reserved. Evolutionary Strategies for the Development of a SOA-Enabled USMC Enterprise Mohamed Hussein, Ph.D.
Overview of OASIS SOA Reference Architecture Foundation (SOA-RAF)
Systems Engineering in a System of Systems Context
OASIS Reference Model for Service Oriented Architecture 1.0
OASIS Service Oriented Architecture Reference Model Technical Committee (SOA-RM) BOOT CAMP April DRAFT: Not approved by the OASIS SOA RM TC.
Ken Laskey, co-editor 5th SOA for E-Government Conference 1 May 2008
Reference Models مدل های مرجع معماری.
Software Testing and Quality Assurance
The Architecture Design Process
1 ITC242 – Introduction to Data Communications Week 12 Topic 18 Chapter 19 Network Management.
Creating Architectural Descriptions. Outline Standardizing architectural descriptions: The IEEE has published, “Recommended Practice for Architectural.
Architectural Design Principles. Outline  Architectural level of design The design of the system in terms of components and connectors and their arrangements.
Iterative development and The Unified process
Developed by Reneta Barneva, SUNY Fredonia Component Level Design.
1 FM Overview of Adaptation. 2 FM RAPIDware: Component-Based Design of Adaptive and Dependable Middleware Project Investigators: Philip McKinley, Kurt.
Web Service Architecture Part I- Overview and Models (based on W3C Working Group Note Frank.
Chapter 22 Object-Oriented Design
The Software Product Life Cycle. Views of the Software Product Life Cycle  Management  Software engineering  Engineering design  Architectural design.
Configuration Management
Architectural Design Establishing the overall structure of a software system Objectives To introduce architectural design and to discuss its importance.
SOA Reference Model Generic Presentation DRAFT: Not approved by the OASIS SOA RM TC.
2005 Adobe Systems Incorporated. All Rights Reserved. Duane Nickull Adobe ® An Introduction to the OASIS Reference Model for Service Oriented Architecture.
Developing Enterprise Architecture
 A set of objectives or student learning outcomes for a course or a set of courses.  Specifies the set of concepts and skills that the student must.
These slides are designed to accompany Software Engineering: A Practitioner’s Approach, 7/e (McGraw-Hill 2009). Slides copyright 2009 by Roger Pressman.1.
1 Object-Oriented Testing CIS 375 Bruce R. Maxim UM-Dearborn.
Architecture-Based Runtime Software Evolution Peyman Oreizy, Nenad Medvidovic & Richard N. Taylor.
SOFTWARE DESIGN AND ARCHITECTURE LECTURE 09. Review Introduction to architectural styles Distributed architectures – Client Server Architecture – Multi-tier.
SOFTWARE DESIGN.
Basic Concepts Software Architecture. What is Software Architecture? Definition: – A software architecture is the set of principal design decisions about.
[ §5 : 1 ] 5. Summary of Requirements Products 5.1 Requirements Definition Document 5.2 Software Requirements Specification.
10 Software Architecture CSCU 411 Software Engineering.
95-843: Service Oriented Architecture 1 Master of Information System Management Service Oriented Architecture Lecture 3: SOA Reference Model OASIS 2006.
SE: CHAPTER 7 Writing The Program
Ocean Observatories Initiative Data Management (DM) Subsystem Overview Michael Meisinger September 29, 2009.
Assessing the influence on processes when evolving the software architecture By Larsson S, Wall A, Wallin P Parul Patel.
SOFTWARE DESIGN AND ARCHITECTURE LECTURE 05. Review Software design methods Design Paradigms Typical Design Trade-offs.
2005 Adobe Systems Incorporated. All Rights Reserved. Duane Nickull Adobe ® An Introduction to the OASIS Reference Model for Service Oriented Architecture.
FDT Foil no 1 On Methodology from Domain to System Descriptions by Rolv Bræk NTNU Workshop on Philosophy and Applicablitiy of Formal Languages Geneve 15.
Distribution and components. 2 What is the problem? Enterprise computing is Large scale & complex: It supports large scale and complex organisations Spanning.
Service Service metadata what Service is who responsible for service constraints service creation service maintenance service deployment rules rules processing.
Software Architecture Evaluation Methodologies Presented By: Anthony Register.
Design and Implementation of a Rationale-Based Analysis Tool (RAT) Diploma thesis from Timo Wolf Design and Realization of a Tool for Linking Source Code.
MODEL-BASED SOFTWARE ARCHITECTURES.  Models of software are used in an increasing number of projects to handle the complexity of application domains.
Design Reuse Earlier we have covered the re-usable Architectural Styles as design patterns for High-Level Design. At mid-level and low-level, design patterns.
Winter 2011SEG Chapter 11 Chapter 1 (Part 1) Review from previous courses Subject 1: The Software Development Process.
1 Lecture 15: Chapter 19 Testing Object-Oriented Applications Slide Set to accompany Software Engineering: A Practitioner’s Approach, 7/e by Roger S. Pressman.
© Drexel University Software Engineering Research Group (SERG) 1 The OASIS SOA Reference Model Brian Mitchell.
Software Requirements Specification Document (SRS)
Basic Concepts and Definitions
21/1/ Analysis - Model of real-world situation - What ? System Design - Overall architecture (sub-systems) Object Design - Refinement of Design.
Overview of OASIS SOA Reference Architecture Ken Laskey OASIS SOA-RM RA Subcommittee 19 February 2008 Ken Laskey OASIS SOA-RM RA Subcommittee 19 February.
PowerPoint Presentation for Dennis, Wixom, & Tegarden Systems Analysis and Design with UML, 5th Edition Copyright © 2015 John Wiley & Sons, Inc. All rights.
Introduction to Service Orientation MIS 181.9: Service Oriented Architecture 2 nd Semester,
Banaras Hindu University. A Course on Software Reuse by Design Patterns and Frameworks.
1 SOA Seminar Seminar on Service Oriented Architecture SOA Reference Model OASIS 2006.
 Copyright 2005 Digital Enterprise Research Institute. All rights reserved. SOA-RM Overview and relation with SEE Adrian Mocan
Models of the OASIS SOA Reference Architecture Foundation Ken Laskey Chair, SOA Reference Model Technical Committee 20 March 2013.
The Software Lifecycle Stuart Faulk. Definition Software Life Cycle: evolution of a software development effort from concept to retirement Life Cycle.
Process 4 Hours.
Object-Oriented Software Engineering Using UML, Patterns, and Java,
IB Assessments CRITERION!!!.
Perspectives on the Term Service
Software Quality Engineering
TIM 58 Chapter 8: Class and Method Design
Object-Oriented Design
Presentation transcript:

© 2009 The MITRE Corporation. All rights reserved Approved for Public Release; Distribution Unlimited Considerations for Versioning SOA Resources Ken Laskey The MITRE AFCEA SOLUTIONS Series GMU Critical Issues in C4I 19 May 2009 The author's affiliation with The MITRE Corporation is provided for identification purposes only, and is not intended to convey or imply MITRE's concurrence with, or support for, the positions, opinions or viewpoints expressed by the author.

© 2009 The MITRE Corporation. All rights reserved Agenda n From the OASIS SOA RM & RA n The Aspects of SOA Versioning 2

© 2009 The MITRE Corporation. All rights reserved 3 A Review of SOA Reference Model & Architecture Work n SOA Reference Model (SOA-RM) –OASIS Standard, 12 October 2006 –Abstract framework for understanding basic concepts and significant relationships –Independent of specific standards, technologies, implementations, or other concrete details – n Instantiation of UML model of service description in SOA Reference Architecture (SOA-RA) –Follow-on work to SOA-RM utilizing UML modeling –Abstract realization focusing on the elements and their relationships needed to enable SOA-based systems to be used, realized and owned –Independent of specific standards, technologies, implementations, or other concrete details –

© 2009 The MITRE Corporation. All rights reserved 4 Definition of SOA and SOA Service n Service Oriented Architecture (SOA) is a paradigm for organizing and utilizing distributed capabilities that may be under the control of different ownership domains. n A service is a mechanism to enable access to one or more capabilities, where the access is provided using a prescribed interface and is exercised consistent with constraints and policies as specified by the service description. n Note: –Definition of SOA does not include undefined service –Definition of service implies capabilities at least notionally exist to solve recognized problem

© 2009 The MITRE Corporation. All rights reserved 5 What This Means for Resources under SOA n Resources accessed as part of SOA interactions are –Independently owned and evolved –must be unambiguously identifiable n For evolving resources –Consumer must be able to evaluate how changes to the resource affect appropriateness for use –For a service, includes changes to the underlying capabilities, the service access, or the service description

© 2009 The MITRE Corporation. All rights reserved 6 Motivation for This Work n Lot of discussion on controlling what appears as services n Too little discussion on managing evolution, tracking change –of resources –of use of resources n Ideas presented begin to lay framework relevant to SOA

© 2009 The MITRE Corporation. All rights reserved 7 What is Versioning? n Assumes simultaneous existence –of multiple (different) implementations of a given resource –with every implementation distinguishable and individually addressable n Recognizes process of systematically cataloguing the changes to a resource n Implies –an identifiable resource, –a specific set of revisions to that resource, –a modified resource that is the result of applying the revisions to the original

© 2009 The MITRE Corporation. All rights reserved 8 The Version Identifier n Unique label that indicates a specific configuration of a resource n Commonly –an immutable name (e.g. example.txt) and –a varying string of nonnegative integers separated by decimal points (e.g ) n No convention universally used or used consistently –Windows 95, Windows 2000, Windows XP, Windows Vista; SP1, SP2, SP3 –Apple OS X 10.1, 10.2, 10.3, 10.4, 10.5 but this is not consistent with prior to OS X Conclusion: not only should a version be specified through use of a version identifier, but an explanation should be available on how the identifier is to be interpreted

© 2009 The MITRE Corporation. All rights reserved 9 Versioning and Compatibility (1) n Typically speak of backward or forward compatibility n More generally –how a command set or information set designed for a predecessor is to be used by the current version –how a command set or information set for the current version is to be processed by previous versions n Consumer of the resource –Typically prepared to engage a certain version of the resource –How well can a consumer accustomed to one version deal with a predecessor or future version of the resource

© 2009 The MITRE Corporation. All rights reserved 10 Versioning and Compatibility (2) n Compatibility is determined with respect to –a revision –the resource or consumer reflecting (providing or using) that revision n Compatibility depends on context n General statement that something is backward or forward compatible is meaningless unless it is stated against what compatibility is being assessed Conclusion: description of version must provide basis for consumer making compatibility decision

© 2009 The MITRE Corporation. All rights reserved 11 Versioning and Sufficiency (1) n If “compatible” –older resource can receive message constructed for newer consumer, can process message in terms of its understanding, perform functions consistent with its older context –older consumer may receive a response from newer resource that contains unexpected information, just make use of the content it finds consistent with its older context n Question not addressed by compatibility: are results of interactions across versions sufficient for the intent of the consumer?

© 2009 The MITRE Corporation. All rights reserved 12 Versioning and Sufficiency (2) n Consider –A new resource has new functionality that can be invoked through new terms in the schema used by the message payload –The new terms are added through an extensibility mechanism built into the original schema –The original schema can validate the new payload without understanding that new functionality is desired –A new message sent to the old resource can generate and return reasonable results but not necessarily the results required by the consumer Conclusion: versioning policies on the part of the consumer may be needed to define when interacting across compatible versions is appropriate for generating desired effects

© 2009 The MITRE Corporation. All rights reserved 13 Note on Policies n Policies for SOA are typically addressed in terms of the service policies n The consumer may also have policies n The two policy sets must be reconciled if interaction is to proceed

© 2009 The MITRE Corporation. All rights reserved 14 Note about Service Endpoints n Every version of the resource could be reachable through a different endpoint => the consumer explicitly chooses the endpoint and thus the version to be used n A resource provider may simply want to reuse the endpoint for new versions –No externally available version for Google but its ranking algorithms are often altered –Single, stable endpoint at –Consumers use whatever version is currently accessible from that endpoint Conclusion: the unstated context “use whatever is at the endpoint” often becomes the default versioning policy

© 2009 The MITRE Corporation. All rights reserved 15 Versioning for SOA Services – The SOA-RA Resource n Resources have descriptions n Descriptions reference one or more identifiers by which the identity of the resource is established n SOA-RA models the general concept of description, service description as extension of general description model n Both services AND service descriptions are resources

© 2009 The MITRE Corporation. All rights reserved 16 Versioning of SOA Services – Connection with Description n Service as resource has identifier; version designator should be part of identifier n Service description provides information on –What a service does: business functions, real world effects –How to communicate: message semantics, structure; actions resulting from messages –Conditions for use: policies –Metrics indicating performance –Details for reaching service: endpoints, protocols n Changes could effect any service information Conclusion: change in version designator must in some manner be able to reflect changes of interest to possible consumers

© 2009 The MITRE Corporation. All rights reserved 17 Versioning of SOA Services – What Changes to Reflect n Change could derive from underlying capability or service as access to that capability n SOA principle of opacity –Consumer cares only about what affects and what results from the interaction –Specifics of where any changes occurred in the implementation are generally irrelevant n Components, other resources –likely have their own configuration management and versioning conventions –but these are generally not of interest to service consumer Conclusion: not necessary to explicitly capture version information about component capabilities or component services from which the service of interest is constructed

© 2009 The MITRE Corporation. All rights reserved 18 Versioning of Service Description n Possible changes in the description that may not directly derive from changes to the service n Consider –correcting errors that do not significantly change the description, e.g. a simple typo –correcting errors that do significantly change description, e.g. the word NOT was missing from the functionality description –adding information, e.g. an additional real world effect that was previously considered inconsequential –removing information that was previously required or thought useful, e.g. the number of times the service has been used –consolidating specifics and substituting link, e.g. version history n Importance likely depends on context of use Conclusion: any change in the service description should be reflected in a new version for the description

© 2009 The MITRE Corporation. All rights reserved 19 Notes on Description n from SOA-RM: description is inherently incomplete – one can never describe every aspect of a resource n Possible that different aspects of description will be captured by different description sets –Description for consumer indicates version and characteristics of version –Description for CM identifies components and component versions n Emphasis for current discussion: description needed to enable and support service interaction

© 2009 The MITRE Corporation. All rights reserved 20 Service Description for Multiple Service Versions n Description must unambiguously identify its subject resource –Identity of resource should indicate its version –Explanation of the resource versioning scheme should be readily available n New service version may change nothing intended for previous version, e.g. implementation bug fixed n Can have multiple service versions concurrently available, some older versions retired Conclusion: each version of the service should have a unique description, even if the only thing to change is the version designator

© 2009 The MITRE Corporation. All rights reserved 21 Multiple Versions of Service Description n Possible multiple versions of service description for same service version n New version of description would supersede any previous one for that resource –Description update would take precedence –Single version of description for given service at given time n Distinct versioning of description allows review of past descriptions, even if service no longer available

© 2009 The MITRE Corporation. All rights reserved 22 Challenges of Service Opacity n Guiding principle of SOA: –Consumer should be able to use a service without concern or interest in implementation details –“loose coupling” n Stable interface is of obvious importance; naive to expect implementation changes are of no interest –ex: Service accesses new data source to respond to a query –Consumer interested if returned values start showing a different pattern from past experience –Especially true if new pattern emerged without any obvious action on the part of consumer n Challenge: balancing value of opacity of implementation against ability to consider implications of underlying change

© 2009 The MITRE Corporation. All rights reserved 23 Conclusions n Presented considerations, not necessarily solutions n Thorough understanding of SOA versioning among current topics for SOA-RA work n Important points –Defining and applying a well-documented versioning strategy –Related versioning strategy for corresponding service description –Understanding and guiding decisions on compatibility and sufficiency –Trade-off between "complete enough" description and opacity