Primer Maryann Hondo, IBM Umit Yalcinalp, SAP. Current Proposal Introduction The WS-Policy specification defines a policy to be a collection of policy.

Slides:



Advertisements
Similar presentations
2/11/2014 8:44 AM The CDA Release 3 Specification Stack September 2009 HL7 Services-Aware Enterprise Architecture Framework (SAEAF)
Advertisements

WS-Policy F2F Austin, TX July 2006 Report on WS-Policy Interop Workshop of April 2006 (Round 3) Toufic Boubez Layer 7 Technologies.
® IBM Software Group © IBM Corporation WS-Policy Attachment- spec overview Maryann Hondo IBM.
Web Service Architecture
Research Issues in Web Services CS 4244 Lecture Zaki Malik Department of Computer Science Virginia Tech
Service Description: WSDL COMP6017 Topics on Web Services Dr Nicholas Gibbins –
1 University of Namur, Belgium PReCISE Research Center Using context to improve data semantic mediation in web services composition Michaël Mrissa (spokesman)
IONA Technologies Position Paper Constraints and Capabilities for Web Services
WS-Policy Brian Garback. 2 Agenda  Introduction  Domain Terminology  Policy Expressions  Policy Assertions  Policy Attachments  Conclusion  Policy.
Claus von Riegen, SAP AG WS-Policy Overview W3C Workshop on Constraints and Capabilities for Web Services.
WS – Security Policy Prabath Siriwardena Director, Security Architecture.
Web Service Ahmed Gamal Ahmed Nile University Bioinformatics Group
UDDI v3.0 (Universal Description, Discovery and Integration)
Web Services Nasrullah. Motivation about web service There are number of programms over the internet that need to communicate with other programms over.
Realisation of SOA using Web Services Adomas Svirskas Vilnius University December 2005.
SOAP Quang Vinh Pham Simon De Baets Université Libre de Bruxelles1.
Software Architecture in Practice (3 rd Ed) Understanding Quality Attributes Understanding the following: How to express the qualities we want our architecture.
SOA and Web Services. SOA Architecture Explaination Transport protocols - communicate between a service and a requester. Messaging layer - enables the.
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.
Software Testing and Quality Assurance
W3C Finland Seminar: Semantic Web & Web Services© Kimmo RaatikainenMay 6, 2003 XML in Wireless World Kimmo Raatikainen University of Helsinki, Department.
Business Process Orchestration
Kmi.open.ac.uk Semantic Execution Environments Service Engineering and Execution Barry Norton and Mick Kerrigan.
Web Service Architecture Part I- Overview and Models (based on W3C Working Group Note Frank.
Web Services Michael Smith Alex Feldman. What is a Web Service? A Web service is a message-oriented software system designed to support inter-operable.
SOA Reference Model Generic Presentation DRAFT: Not approved by the OASIS SOA RM TC.
Secure Systems Research Group - FAU Web Services Standards Presented by Keiko Hashizume.
© Drexel University Software Engineering Research Group (SERG) 1 Based on the paper by Philippe Kruchten from Rational Software.
Database System Development Lifecycle © Pearson Education Limited 1995, 2005.
Overview of the Database Development Process
T Network Application Frameworks and XML Web Services and WSDL Sasu Tarkoma Based on slides by Pekka Nikander.
Web Services Experience Language Web Services eXperience Language Technical Overview Ravi Konuru e-Business Tools and Frameworks,
The Semantic Web Service Shuying Wang Outline Semantic Web vision Core technologies XML, RDF, Ontology, Agent… Web services DAML-S.
Introduction to XML. XML - Connectivity is Key Need for customized page layout – e.g. filter to display only recent data Downloadable product comparisons.
A Z Approach in Validating ORA-SS Data Models Scott Uk-Jin Lee Jing Sun Gillian Dobbie Yuan Fang Li.
Web Services Description Language (WSDL) Jason Glenn CDA 5937 Process Coordination in Service and Computational Grids September 30, 2002.
Lecture 9: Chapter 9 Architectural Design
Web Services Description Language CS409 Application Services Even Semester 2007.
Scalable Metadata Definition Frameworks Raymond Plante NCSA/NVO Toward an International Virtual Observatory How do we encourage a smooth evolution of metadata.
Web Services Based on SOA: Concepts, Technology, Design by Thomas Erl MIS 181.9: Service Oriented Architecture 2 nd Semester,
Web Services Standards. Introduction A web service is a type of component that is available on the web and can be incorporated in applications or used.
XML Web Services Architecture Siddharth Ruchandani CS 6362 – SW Architecture & Design Summer /11/05.
1 WSDL Tutorial Heather Kreger (borrowed from Peter Brittenham) Web Services Architect IBM Emerging Technologies.
Design Analysis builds a logical model that delivers the functionality. Design fully specifies how this functionality will be delivered. Design looks from.
UML Class Diagram Trisha Cummings. What we will be covering What is a Class Diagram? Essential Elements of a UML Class Diagram UML Packages Logical Distribution.
Secure Systems Research Group - FAU A Trust Model for Web Services Ph.D Dissertation Progress Report Candidate: Nelly A. Delessy, Advisor: Dr E.B. Fernandez.
Kemal Baykal Rasim Ismayilov
David Orchard W3C Lead BEA Systems Web service and XML Extensibility and Versioning.
OASIS Service Oriented Architecture Reference Model Technical Committee (SOA-RM) BOOT CAMP May DRAFT: Not approved by the OASIS SOA RM TC.
Technical Support to SOA Governance E-Government Conference May 1-2, 2008 John Salasin, Ph.D. DARPA
Service Component Architecture (SCA) Policy TC … Face to Face Agenda – Jan 24,
© Drexel University Software Engineering Research Group (SERG) 1 The OASIS SOA Reference Model Brian Mitchell.
1 WSDL Web Services Description Language. 2 Goals of WSDL Describes the formats and protocols of a Web Service in a standard way –The operations the service.
BEA position on W3C ‘Web Services’ Standards Jags Ramnarayan 11th April 2001.
Introduction to Web Services Presented by Sarath Chandra Dorbala.
1 WS-Policy. 2 What’s the Problem? To use a web service a client needs more information than is provided in WSDL file. Examples: –Does service support.
1 G52IWS: Web Services Description Language (WSDL) Chris Greenhalgh
 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.
© 2005 Global Grid Forum The information contained herein is subject to change without notice Leading the pervasive adoption of grid computing for research.
Service Description: Addressing & Policy COMP6017 Topics on Web Services Dr Nicholas Gibbins –
Jackson, Web Technologies: A Computer Science Perspective, © 2007 Prentice-Hall, Inc. All rights reserved Chapter 9 Web Services: JAX-RPC,
Florida Atlantic University Department of Electrical and Computer Engineering &Computer Science ( ECECS ) &Computer Science ( ECECS ) Security Systems.
T Network Application Frameworks and XML Web Services and WSDL Sasu Tarkoma Based on slides by Pekka Nikander.
WS-Policy Brian Garback Department of Computer Science
Unit – 5 JAVA Web Services
XACML and the Cloud.
W3C Workshop WS-Policy in the Web Service Architecture
Presentation transcript:

Primer Maryann Hondo, IBM Umit Yalcinalp, SAP

Current Proposal Introduction The WS-Policy specification defines a policy to be a collection of policy alternatives, where each policy alternative is a collection of policy assertions. The Primer is a resource primarily for assertion authors that provides guidelines on the use of the Web Services Policy Framework and Web Services Policy Attachment specifications to create and use assertions to enable interoperability.Introduction 2. Basic Concepts: What is an Assertion An assertion is a piece of metadata that describes a capability of a specific WS-Policy domain.Basic Concepts: What is an Assertion

2.1 Roles and Responsibilities in Utilizing Policy AssertionsRoles and Responsibilities in Utilizing Policy Assertions WS-Policy Domain owners or WS-Policy authors –are defined by the WS-Policy Framework, to be a community that chooses to exploit the WS-Policy Framework by creating their own specification to define a set of assertions that express the capabilities and constraints of that target domain ConsumersConsumers –of WS-Policy Assertions can be any entity that is capable of parsing a WS-Policy xml element, and selecting one alternative from the policy, that it then uses to govern its creation of a message to send to the subject that advertised the WS-Policy expression ProvidersProviders –of WS-Policy Assertions can be any web service implementation that can reflect its on the wire message behavior as an XML expression that conforms to the WS-PolicyFramework and WS-PolicyAssertions specifications

Web Services Model CreatePurchaseOrderRequest CreatePurchaseOrderResponse Provider Consumer Broker (UDDI) Create Purchase Order SOAP/HTTP PublishService FindService Service Description (WSDL) wsp:policy

3. General Guidelines for Policy Expressions and Their Target UseGeneral Guidelines for Policy Expressions and Their Target Use WS-Policy domain authors should consider the following factors when composing the set of domain assertions as it may make sense to factor out some assertions that can be used by multiple subjects: –The definition of the assertion. Does the assertion pertain to a specific behavior that is tied to a context or does the behavior different in each possible context? For example an assertion that may have different semantics for a single message exchange or for all message exchanges that pertain to an endpoint would probably be represented by separate assertions. –Scoping of the assertion Where does the assertion apply? Is the assertion about a specific description in WSDL? Is the assertion about a specific aspect of protocol? Is the assertion about a specific coordination between parties? Determination of the assertions subject is helpful in determining the different scopes and subjects that it applies to. –Composition If the assertion is used with other assertions in a context, how does the assertion may or may not affect the composition? For example, if an assertion applies to the SOAP protocol, it would be necessary to consider how its presence must interact with other policy assertions that are defined for security.

4. Authoring StylesAuthoring Styles –From Understanding Policy- Compact Form Example 3-4. Contosos Secure Policy Expression in Compact Form …

4.Authoring Styles (cont.)Authoring Styles From Understanding Policy- Normal Form … … … …

5. Guidelines for Modeling AssertionsGuidelines for Modeling Assertions 5.1 Single DomainsSingle Domains When considering the creation of a new domain of policy assertions, it is important to identify whether or not the domain is self contained or can be well defined. A domain that expresses a broad set of capabilities will need to have community support to provide value to the consumers. Ultimately it is the consumers and providers that will determine whether a particular set of assertions correctly characterize the domain. A community should avoid duplicating assertions that have already been defined as this will create ambiguity not clarification and focus on creating assertions for those specific constraints and capabilities that do not overlap with other domains but that communicate new functionality. 5.2 New Policy DomainsNew Policy Domains 5.3 Nested AssertionsNested Assertions –The framework provides the ability to "nest" policy assertions. For domains with a complex set of options, nesting provides one way to indicate dependent elements within a behavior. The granularity of assertions is determined by the authors and it is recommended that care be taken when defining nested policies to ensure that the options provided appropriately specify policy alternatives within a specific behavior. –We will use the WS-SecurityPolicy to illustrate the use of nested assertions.

5.3 Nested Assertions (picture from Understanding policy)Nested Assertions

5. Guidelines for Modeling AssertionsGuidelines for Modeling Assertions 5.4 Assertions with Parameters The framework provides an alternative approach for providing additional information for an assertion beyond its type. The framework allows WS-Policy domain authors to define name value pairs to qualify an assertion. For some domains it will be appropriate to specify these parameters instead of nesting elements.Assertions with Parameters –Note that parameters of assertions include the following: –Complex elements that have element children which can not be policy assertions. –Elements that have attributes –An example of Assertions with Parameters is the WS-ReliableMessagingPolicy Assertions 5.5 Comparison of Nested and Parametrized Assertions The main consideration for selecting parameters or nesting of assertions, is that the framework intersection algorithm processes nested alternatives, but does not consider parameters in its algorithm.Comparison of Nested and Parametrized Assertions –Domain authors should recognize that the framework can yield multiple assertions of the same type. The QName of the assertion is the only vehicle for the framework to match a specific assertion, NOT the contents of the element. If the assertion is a parameterized assertion the authors must understand that this type of assertion will require additional processing by consumers in order to disambiguate the assertions or to understand the semantics of the name value pairs, complex content, attribute values contribution to the processing. Therefore, if the domain authors want to delegate the processing to the framework, utilizing nesting should be considered. Otherwise, domain specific comparison algorithms would need to be devised and be delegated to the specific domain handlers that are not visible to the WS-Policy framework. The tradeoff is the generality vs. the flexibility and complexity of the comparison expected for a domain.

5. Guidelines for Modeling AssertionsGuidelines for Modeling Assertions 5.6 Self Describing MessagesSelf Describing Messages The assertion authors should take into account that there are two important concepts when designing assertions. An assertion type indicates a runtime behavior. How the assertion type can be inferred or indicated from a message, if there is a need for the behavior to be represented in a persitent way by additional data or metadata that is present in a message. If such a relationship exists, it should be incorporated into an assertion design document that illustrates the disambiguation of the usage of the policy at runtime and in the message if that message is persisted. 5.7 Optional Policy AssertionOptional Policy Assertion –The semantics of this assertion may be reflected in messages on the wire: they use an optimized wire format (MIME Multipart/Related serialization). Note that in order for an optional behaviour to be engaged, the wire message that would utilize the specific assertion must be self describing. –Similar to the optional support for Optimized MIME Serialization, there are behaviors that may be engaged (in contrast to must be engaged) for a Web service interaction. A service provider will not fault if these behaviors are not engaged if the policy is optional. Policy assertions can be marked optional to represent behaviors that MAY be engaged for an interaction. A policy assertion is marked as optional using the wsp:Optional attribute. Optional assertions represent the capabilities of the service provider as opposed to the requirements of the service provider.

5.8 Considerations for Intersection and MergingConsiderations for Intersection and Merging RequesterProvider (To: P)' To: P R out P in Intersect Alternative Apply Validate Policy used by R to send messages out Policy used by P to receive messages in

5. Guidelines for Modeling AssertionsGuidelines for Modeling Assertions 5.8 Considerations for Intersection and MergingConsiderations for Intersection and Merging 5.9 Typing AssertionsTyping Assertions Since a QName is the central mechanism for identifying a policy assertion, assertion authors should be aware of the possible evolution of their assertions and how this would impact the semantics overtime. A namespace associated with the assertion may be used to indicate a specific version of an assertion. WS-PolicyAttachment provides a means of associating an assertion with arbitrary subjects, regardless of their nature. This flexibility can lead to ambiguity in the interpretation of policy; for example, if one attaches an assertion with the semantic "must be encrypted" to a SOAP endpoint, it's unclear what must be encrypted. To avoid this confusion, assertion definitions should be precise about their semantics and include information that restricts their set of permissible policy subjects appropriately and indicates which Qnames are associated with which subjects. One way to do this is to generally determine if an assertion is specific to a policy attachment mechanism. An example could be identifying whether the assertion expressed is associated with behaviours (endpoints) or artifacts ( messages) and then constraining the use of an assertion to one of these subjects.

5.12 Levels of Abstraction in WSDLLevels of Abstraction in WSDL A behavior identified by a policy assertion applies to the associated policy subject. If a policy assertion is to be used with WSDL, policy assertion authors must specify a WSDL policy subject. What is the policy subject of this behavior? If the behavior applies to any message exchange using any of the endpoints offered by a service then the subject is the service policy subject. If the behavior applies to any message exchange made using an endpoint then the subject is the endpoint policy subject. If the behavior applies to any message exchange defined by an operation then the subject is the operation policy subject. If the behavior applies to an input message then the subject is the message policy subject - similarly for output and fault message policy subjects. The authors should understand how assertions will be processed in intersection and merging and the implications of the processing when considering a specific attachment point and policy subject.

5.13 Lifecycle of AssertionsLifecycle of Assertions There are three aspects that govern an assertions lifecycle: Assertion Extensibility Policy Language Extensibility Subject attachment Extensibility [Leverage some of David Os extensibility] Referencing Policy ExpressionsReferencing Policy Expressions Factors in Extending Assertions within a DomainFactors in Extending Assertions within a Domain Evolution of Assertions (Versioning and Compatibility)Evolution of Assertions (Versioning and Compatibility)

6. Inter-domain Policy and Composition IssuesInter-domain Policy and Composition Issues Look at Understanding Policy 2.5

7. Applying Best Practices for Policy AttachmentApplying Best Practices for Policy Attachment 7. Applying Best Practices for Policy AttachmentApplying Best Practices for Policy Attachment look at Understanding Policy section 2.9, Appropriate Attachment: Preserving Context-Free PoliciesAppropriate Attachment: Preserving Context-Free Policies Policy attachment should not affect the interpretation of Policy alternatives. If it did, each policy assertion would need to be written with different (and possibly unknown) attachment mechanisms in mind. In particular, the timing of a policy attachment or the role that a party who attaches policy should have no bearing on the evaluation of the policy assertion [clarify subject relationship] 7.2 Appropriate Attachment: Identifying Assertion SubjectsAppropriate Attachment: Identifying Assertion Subjects Each policy attachment mechanism should unambiguously identify the subject of the attached assertions. Generally, this should be a specific SOAP node or a specific message between two SOAP nodes. Some attachment mechanisms may encompass multiple notes or messages, for example, "the message along its entire path" Interaction between SubjectsInteraction between Subjects If the best practices are followed, and the assertions are scoped according to their subject, then multiple policy domains may be combined without conflict. Each domain should define any limitations at the policy subject level that might impact interoperability (i.e. WS-SecurityPolicy - binding abstraction to group capabilities per message exchange). 7.3 Appropriate Attachment: Identifying Assertion SourcesAppropriate Attachment: Identifying Assertion Sources As with identifying Policy subjects, policy attachment mechanisms should make it possible to clearly identify the source of a poly assertion both for debugging and for verification. This could take several forms: it could be assumed ( in WSDL, the source of the assertion is the same as the WSDL provider) or it could be proven ( using WS- Trust).

IBM Software Group | WebSphere software Two attachment models ( the first…in the definition) The first allows XML-based descriptions of resources (represented as XML elements) to associate Policy as part of their intrinsic definition. Two alternatives: 1.a global attribute that allows Policy Expressions to be attached to an arbitrary XML element. –The following is the schema definition for the wsp:PolicyURIs attribute: –The following is an example <MyElement wsp:PolicyURIs=" />

IBM Software Group | WebSphere software Attachment model 1 alternative 2 2.XML elements may use the wsp:Policy or wsp:PolicyReference elements directly as children, …an alternative way of attaching the policies in the above example, using child elements, would be as follows: <wsp:PolicyReference URI=" /> <wsp:PolicyReference URI=" />

IBM Software Group | WebSphere software Attachment model 2 (external attachment) The second attachment model, allows Policies to be associated with arbitrary Policy Subjects independently from their definition. This mechanism allows Policies to be associated with a Policy Subject independent of that subject's definition and/or representation through the use of a element. –This element has three components: –the Policy Scope of the attachment, –the Policy Expressions being bound, –and optional security information.

IBM Software Group | WebSphere software Attachment model 2 The following is the pseudo-schema for the element: + (... |... ) +... ?... Policy scope Policy expressions Security information Using XML expression Policies may be associated with subjects arbitrarily using a domain expression to describe the subjects e.g. A sequence of messages, a group of endpoints