SlideShare a Scribd company logo
1 of 21
Download to read offline
Introduction to WS-Policy
by H. Fırat Güvence
Web Service Policy
Outline
•   What is WS?
•   What is WS-Policy?
•   Why is WS-Policy needed?
•   Conceptual Placement in WS
•   Technical Specification
•   Vendors / Tools
•   Conclusion
•   Q&A
What is WS (Web Service)?
• XML
  ▫ SOAP
     XML formatted message in order to exchange
      information among applications or services.
  ▫ WSDL
     SOAP is a protocol in order to exchange information
      through defined services by WSDL
     currently the most common language for describing the
      'how' and 'where' a Web service exchanges messages
• Web services are being successfully used for
  interoperable solutions across various industries
WS-Policy
• Extends SOAP, XML Schema, WSDL and offer
  mechanisms to represent the capabilities and
  requirements of Web services as Policies
 ▫ representing whether and how a message must be
   secured
 ▫ whether and how a message must be delivered
   reliably
 ▫ whether a message must flow a transaction, etc
Why?
• Provider/Requester Security
• SOAP Data Optimization
• Header element
 ▫ Word of mouth?
 ▫ Documentation?
 ▫ WSDL?
• Automated tools will evaluate WSDL and
  generate policy-aware client and engages the WS
  in the way of how the WS wants.
Conceptual Placement in WS
• In WSDL and SOAP
• It can be thought of as choice of wire(s) how they
  may speak to each other for security,
  optimization, transaction.
Technical Specifications
• Simple Language
 ▫ Four elements
      Policy
      All
      ExactlyOne
      PolicyReference
 ▫ One attribute
    wsp:Optional
Technical Specifications cont’d
• Cenk(Web service developer) is building a client
  application that retrieves real time stock quote
  information from IMKB.
• IMKB supplies real time data using Web
  services.
Technical Specifications cont’d
<soap:Envelope>
  <soap:Header>
    <wsa:To>http://stock.contoso.com/realquote</wsa:To>
    <wsa:Action>http://stock.contoso.com/GetRealQuote</wsa:Action>
  </soap:Header>
  <soap:Body>...</soap:Body>
</soap:Envelope>
<Policy>
  <wsap:UsingAddressing />
</Policy>


                                                policy assertion
Technical Specifications cont’d
<soap:Envelope>
 <soap:Header>
  <wss:Security soap:mustUnderstand="1" >
   <wsu:Timestamp u:Id="_0">
    <wsu:Created>2006-01-19T02:49:53.914Z</u:Created>
    <wsu:Expires>2006-01-19T02:54:53.914Z</u:Expires>
   </wsu:Timestamp>
  </wss:Security>
  <wsa:To>http://real.contoso.com/quote</wsa:To>
  <wsa:Action>http://real.contoso.com/GetRealQuote</wsa:Action>
 </soap:Header>
 <soap:Body>...</soap:Body>
</soap:Envelope>
<Policy>
  <wsap:UsingAddressing />
  <sp:TransportBinding>...</sp:TransportBinding>
</Policy>
Technical Specifications cont’d
• Assertion
 ▫ A piece of service metadata
 ▫ Identifies a domain specific behavior
   (requirement)
    Web Services Security Policy
    Web Services Reliable Messaging Policy
    And so forth
Technical Specifications cont’d
• Assertion con’d
 ▫ 3 policy operators for combining policy assertions:
    Policy
    All and
    ExactlyOne
 ▫ Policy operator is a synonym for All
     <All>
        <wsap:UsingAddressing />
        <sp:TransportBinding>...</sp:TransportBinding>
     </All>
Technical Specifications cont’d
• Assertion con’d
  <All>
     <wsap:UsingAddressing />
     <sp:TransportBinding>...</sp:TransportBinding>
  </All>
  <ExactlyOne>
    <sp:TransportBinding>...</sp:TransportBinding>
    <sp:AsymmetricBinding>...</sp:AsymmetricBinding >
  </ExactlyOne>
  <All>
    <wsap:UsingAddressing />
    <ExactlyOne>
      <sp:TransportBinding>...</sp:TransportBinding>
      <sp:AsymmetricBinding>...</sp:AsymmetricBinding >
    </ExactlyOne>
  </All>
Technical Specifications cont’d
• Assertion con’d
  <All>
    <mtom:OptimizedMimeSerialization wsp:Optional=”true”/>
    <wsap:UsingAddressing />
    <ExactlyOne>
      <sp:TransportBinding>...</sp:TransportBinding>
      <sp:AsymmetricBinding>...</sp:AsymmetricBinding >
    </ExactlyOne>
  </All>
Technical Specifications cont’d
 ▫ References, naming policies
 <Policy wsu:Id=”common”>
   <mtom:OptimizedMimeSerialization wsp:Optional=”true”/>
   <wsap:UsingAddressing />
 </Policy>
 …
 <PolicyReference URI=”#common”/>
Technical Specifications cont’d
 ▫ Attaching to WSDL
 <wsdl:binding name="SecureBinding“ type="tns:RealTimeDataInterface" >
   <PolicyReference URI="#secure" />
   <wsdl:operation name="GetRealQuote" >…</wsdl:operation>
   …
 </wsdl:binding>
Vendors / Tools
• Apache Foundation, Axis2/Java
  http://ws.apache.org/axis2/1_2/WS_policy.html
• Java demo based on CXF WS-Policy framework in
  Apache CXF
  http://www.java2s.com/Code/Java/Web-Services-
  SOA/ThisdemoshowshowtheCXFWSPolicyframewo
  rkinApacheCXFusesWSDL11Policyattachmentstoen
  abletheuseofWSAddressing.htm
• Microsoft is already supporting WS-* technologies
  http://msdn.microsoft.com/en-
  us/library/ms996940.aspx
Conclusion
• Simple language
• Providers represent capabilities and requirements
• Policy-aware tools understand policy expressions
  and engage behaviors automatically
• Hides complexity
• Automates Web service interactions
• Enables secure, reliable and transacted Web services
• Need for new policies! Open and new software
  market for policies !
Q&A
•?
Thank You
• H. Fırat Güvence
 ▫ hguvence@gmail.com
References
• http://msdn.microsoft.com/en-
  us/library/ms996497.aspx
• Introduction to SOAP, 2009, H. Firat Guvence
• Specs http://www.w3.org/Submission/WS-
  Policy/

More Related Content

What's hot

Transposition cipher
Transposition cipherTransposition cipher
Transposition cipherAntony Alex
 
Network security - OSI Security Architecture
Network security - OSI Security ArchitectureNetwork security - OSI Security Architecture
Network security - OSI Security ArchitectureBharathiKrishna6
 
Dss digital signature standard and dsa algorithm
Dss  digital signature standard and dsa algorithmDss  digital signature standard and dsa algorithm
Dss digital signature standard and dsa algorithmAbhishek Kesharwani
 
Computer Graphic - Transformations in 2D
Computer Graphic - Transformations in 2DComputer Graphic - Transformations in 2D
Computer Graphic - Transformations in 2D2013901097
 
Cryptography using artificial neural network
Cryptography using artificial neural networkCryptography using artificial neural network
Cryptography using artificial neural networkMahira Banu
 
bag-of-words models
bag-of-words models bag-of-words models
bag-of-words models Xiaotao Zou
 
Mid point circle algorithm
Mid point circle algorithmMid point circle algorithm
Mid point circle algorithmMani Kanth
 
Attestation garde enfants conjointes
Attestation garde enfants conjointesAttestation garde enfants conjointes
Attestation garde enfants conjointesKarim Anthony
 
Computer graphics - bresenham line drawing algorithm
Computer graphics - bresenham line drawing algorithmComputer graphics - bresenham line drawing algorithm
Computer graphics - bresenham line drawing algorithmRuchi Maurya
 
Biometric Technology
Biometric TechnologyBiometric Technology
Biometric Technologyesther_sonu
 
CNIT 141: 6. Hash Functions
CNIT 141: 6. Hash FunctionsCNIT 141: 6. Hash Functions
CNIT 141: 6. Hash FunctionsSam Bowne
 
Secure electronic transaction
Secure electronic transactionSecure electronic transaction
Secure electronic transactionNishant Pahad
 
Optical Character Recognition (OCR) based Retrieval
Optical Character Recognition (OCR) based RetrievalOptical Character Recognition (OCR) based Retrieval
Optical Character Recognition (OCR) based RetrievalBiniam Asnake
 

What's hot (20)

Transposition cipher
Transposition cipherTransposition cipher
Transposition cipher
 
Secure Electronic Transaction (SET)
Secure Electronic Transaction (SET)Secure Electronic Transaction (SET)
Secure Electronic Transaction (SET)
 
Network security - OSI Security Architecture
Network security - OSI Security ArchitectureNetwork security - OSI Security Architecture
Network security - OSI Security Architecture
 
Dss digital signature standard and dsa algorithm
Dss  digital signature standard and dsa algorithmDss  digital signature standard and dsa algorithm
Dss digital signature standard and dsa algorithm
 
SSL
SSLSSL
SSL
 
Computer Graphic - Transformations in 2D
Computer Graphic - Transformations in 2DComputer Graphic - Transformations in 2D
Computer Graphic - Transformations in 2D
 
Cryptography using artificial neural network
Cryptography using artificial neural networkCryptography using artificial neural network
Cryptography using artificial neural network
 
Caesar cipher
Caesar cipherCaesar cipher
Caesar cipher
 
Web content mining
Web content miningWeb content mining
Web content mining
 
bag-of-words models
bag-of-words models bag-of-words models
bag-of-words models
 
Word embeddings
Word embeddingsWord embeddings
Word embeddings
 
Mid point circle algorithm
Mid point circle algorithmMid point circle algorithm
Mid point circle algorithm
 
Attestation garde enfants conjointes
Attestation garde enfants conjointesAttestation garde enfants conjointes
Attestation garde enfants conjointes
 
Computer graphics - bresenham line drawing algorithm
Computer graphics - bresenham line drawing algorithmComputer graphics - bresenham line drawing algorithm
Computer graphics - bresenham line drawing algorithm
 
Biometric Technology
Biometric TechnologyBiometric Technology
Biometric Technology
 
CNIT 141: 6. Hash Functions
CNIT 141: 6. Hash FunctionsCNIT 141: 6. Hash Functions
CNIT 141: 6. Hash Functions
 
Secure electronic transaction
Secure electronic transactionSecure electronic transaction
Secure electronic transaction
 
Base-64 Presentation
Base-64 PresentationBase-64 Presentation
Base-64 Presentation
 
Optical Character Recognition (OCR) based Retrieval
Optical Character Recognition (OCR) based RetrievalOptical Character Recognition (OCR) based Retrieval
Optical Character Recognition (OCR) based Retrieval
 
Hashing
HashingHashing
Hashing
 

Viewers also liked

Reliable Messaging /Guaranteed delivery
Reliable Messaging /Guaranteed deliveryReliable Messaging /Guaranteed delivery
Reliable Messaging /Guaranteed deliveryWSO2
 
Java/J2EE & SOA
Java/J2EE & SOA Java/J2EE & SOA
Java/J2EE & SOA Edureka!
 
WebServices SOAP WSDL and UDDI
WebServices SOAP WSDL and UDDIWebServices SOAP WSDL and UDDI
WebServices SOAP WSDL and UDDIRajkattamuri
 

Viewers also liked (7)

Reliable Messaging /Guaranteed delivery
Reliable Messaging /Guaranteed deliveryReliable Messaging /Guaranteed delivery
Reliable Messaging /Guaranteed delivery
 
Java/J2EE & SOA
Java/J2EE & SOA Java/J2EE & SOA
Java/J2EE & SOA
 
WebServices SOAP WSDL and UDDI
WebServices SOAP WSDL and UDDIWebServices SOAP WSDL and UDDI
WebServices SOAP WSDL and UDDI
 
WEB 2.0
WEB 2.0WEB 2.0
WEB 2.0
 
WEB 2.0 Ppt
WEB 2.0 PptWEB 2.0 Ppt
WEB 2.0 Ppt
 
Web 2.0
Web 2.0Web 2.0
Web 2.0
 
Web Service Security
Web Service SecurityWeb Service Security
Web Service Security
 

Similar to Introduction To WS-Policy

Building a SaaS using WSO2 Stratos
Building a SaaS using WSO2 StratosBuilding a SaaS using WSO2 Stratos
Building a SaaS using WSO2 StratosWSO2
 
AWS re:Invent 2016: Amazon CloudFront Flash Talks: Best Practices on Configur...
AWS re:Invent 2016: Amazon CloudFront Flash Talks: Best Practices on Configur...AWS re:Invent 2016: Amazon CloudFront Flash Talks: Best Practices on Configur...
AWS re:Invent 2016: Amazon CloudFront Flash Talks: Best Practices on Configur...Amazon Web Services
 
AWS User Group Sydney - Meetup #60
AWS User Group Sydney - Meetup #60AWS User Group Sydney - Meetup #60
AWS User Group Sydney - Meetup #60PolarSeven Pty Ltd
 
Driving Business Agility with AWS Serverless -Atlanta
Driving Business Agility with AWS Serverless -AtlantaDriving Business Agility with AWS Serverless -Atlanta
Driving Business Agility with AWS Serverless -AtlantaCloudHesive
 
Building Multi-tenant SaaS Applications using WSO2 Private PaaS
Building Multi-tenant SaaS Applications using WSO2 Private PaaSBuilding Multi-tenant SaaS Applications using WSO2 Private PaaS
Building Multi-tenant SaaS Applications using WSO2 Private PaaSSameera Jayasoma
 
Cloud to Cloud and Cloud to Enterprise Integration - WSO2Con 2014 USA
Cloud to Cloud and Cloud to Enterprise Integration - WSO2Con 2014 USACloud to Cloud and Cloud to Enterprise Integration - WSO2Con 2014 USA
Cloud to Cloud and Cloud to Enterprise Integration - WSO2Con 2014 USASelvaratnam Uthaiyashankar
 
Service Oriented Architecture & Beyond
Service Oriented Architecture & BeyondService Oriented Architecture & Beyond
Service Oriented Architecture & BeyondImesh Gunaratne
 
Developing Web Services With Oracle Web Logic Server
Developing Web Services With Oracle Web Logic ServerDeveloping Web Services With Oracle Web Logic Server
Developing Web Services With Oracle Web Logic ServerGaurav Sharma
 
Policy Based Approach To Runtime Governace
Policy Based Approach To Runtime GovernacePolicy Based Approach To Runtime Governace
Policy Based Approach To Runtime GovernaceMichiel.Kemperman
 
HTML5 and CSS3 refresher
HTML5 and CSS3 refresherHTML5 and CSS3 refresher
HTML5 and CSS3 refresherIvano Malavolta
 
InterConnect 2015 session 2825 cics_and_the_new soa
InterConnect 2015 session 2825  cics_and_the_new soaInterConnect 2015 session 2825  cics_and_the_new soa
InterConnect 2015 session 2825 cics_and_the_new soanick_garrod
 
Saas Challenges and Solutions
Saas Challenges and SolutionsSaas Challenges and Solutions
Saas Challenges and SolutionsTechcello
 
Everything you want to know about microservices
Everything you want to know about microservicesEverything you want to know about microservices
Everything you want to know about microservicesYouness Lasmak
 
Secure Real-Time Customer Communications with AWS
Secure Real-Time Customer Communications with AWSSecure Real-Time Customer Communications with AWS
Secure Real-Time Customer Communications with AWSAmazon Web Services
 
Building multi tenant highly secured applications on .net for any cloud - dem...
Building multi tenant highly secured applications on .net for any cloud - dem...Building multi tenant highly secured applications on .net for any cloud - dem...
Building multi tenant highly secured applications on .net for any cloud - dem...kanimozhin
 
Techcello hp-arch workshop
Techcello hp-arch workshopTechcello hp-arch workshop
Techcello hp-arch workshopkanimozhin
 
AWS Enterprise Summit Netherlands - Creating a Landing Zone
AWS Enterprise Summit Netherlands - Creating a Landing ZoneAWS Enterprise Summit Netherlands - Creating a Landing Zone
AWS Enterprise Summit Netherlands - Creating a Landing ZoneAmazon Web Services
 
Paa sing a java ee 6 application kshitiz saxena
Paa sing a java ee 6 application   kshitiz saxenaPaa sing a java ee 6 application   kshitiz saxena
Paa sing a java ee 6 application kshitiz saxenaIndicThreads
 
Introducing MongoDB Stitch, Backend-as-a-Service from MongoDB
Introducing MongoDB Stitch, Backend-as-a-Service from MongoDBIntroducing MongoDB Stitch, Backend-as-a-Service from MongoDB
Introducing MongoDB Stitch, Backend-as-a-Service from MongoDBMongoDB
 
Accelerating your Business with Security
Accelerating your Business with SecurityAccelerating your Business with Security
Accelerating your Business with SecurityAmazon Web Services
 

Similar to Introduction To WS-Policy (20)

Building a SaaS using WSO2 Stratos
Building a SaaS using WSO2 StratosBuilding a SaaS using WSO2 Stratos
Building a SaaS using WSO2 Stratos
 
AWS re:Invent 2016: Amazon CloudFront Flash Talks: Best Practices on Configur...
AWS re:Invent 2016: Amazon CloudFront Flash Talks: Best Practices on Configur...AWS re:Invent 2016: Amazon CloudFront Flash Talks: Best Practices on Configur...
AWS re:Invent 2016: Amazon CloudFront Flash Talks: Best Practices on Configur...
 
AWS User Group Sydney - Meetup #60
AWS User Group Sydney - Meetup #60AWS User Group Sydney - Meetup #60
AWS User Group Sydney - Meetup #60
 
Driving Business Agility with AWS Serverless -Atlanta
Driving Business Agility with AWS Serverless -AtlantaDriving Business Agility with AWS Serverless -Atlanta
Driving Business Agility with AWS Serverless -Atlanta
 
Building Multi-tenant SaaS Applications using WSO2 Private PaaS
Building Multi-tenant SaaS Applications using WSO2 Private PaaSBuilding Multi-tenant SaaS Applications using WSO2 Private PaaS
Building Multi-tenant SaaS Applications using WSO2 Private PaaS
 
Cloud to Cloud and Cloud to Enterprise Integration - WSO2Con 2014 USA
Cloud to Cloud and Cloud to Enterprise Integration - WSO2Con 2014 USACloud to Cloud and Cloud to Enterprise Integration - WSO2Con 2014 USA
Cloud to Cloud and Cloud to Enterprise Integration - WSO2Con 2014 USA
 
Service Oriented Architecture & Beyond
Service Oriented Architecture & BeyondService Oriented Architecture & Beyond
Service Oriented Architecture & Beyond
 
Developing Web Services With Oracle Web Logic Server
Developing Web Services With Oracle Web Logic ServerDeveloping Web Services With Oracle Web Logic Server
Developing Web Services With Oracle Web Logic Server
 
Policy Based Approach To Runtime Governace
Policy Based Approach To Runtime GovernacePolicy Based Approach To Runtime Governace
Policy Based Approach To Runtime Governace
 
HTML5 and CSS3 refresher
HTML5 and CSS3 refresherHTML5 and CSS3 refresher
HTML5 and CSS3 refresher
 
InterConnect 2015 session 2825 cics_and_the_new soa
InterConnect 2015 session 2825  cics_and_the_new soaInterConnect 2015 session 2825  cics_and_the_new soa
InterConnect 2015 session 2825 cics_and_the_new soa
 
Saas Challenges and Solutions
Saas Challenges and SolutionsSaas Challenges and Solutions
Saas Challenges and Solutions
 
Everything you want to know about microservices
Everything you want to know about microservicesEverything you want to know about microservices
Everything you want to know about microservices
 
Secure Real-Time Customer Communications with AWS
Secure Real-Time Customer Communications with AWSSecure Real-Time Customer Communications with AWS
Secure Real-Time Customer Communications with AWS
 
Building multi tenant highly secured applications on .net for any cloud - dem...
Building multi tenant highly secured applications on .net for any cloud - dem...Building multi tenant highly secured applications on .net for any cloud - dem...
Building multi tenant highly secured applications on .net for any cloud - dem...
 
Techcello hp-arch workshop
Techcello hp-arch workshopTechcello hp-arch workshop
Techcello hp-arch workshop
 
AWS Enterprise Summit Netherlands - Creating a Landing Zone
AWS Enterprise Summit Netherlands - Creating a Landing ZoneAWS Enterprise Summit Netherlands - Creating a Landing Zone
AWS Enterprise Summit Netherlands - Creating a Landing Zone
 
Paa sing a java ee 6 application kshitiz saxena
Paa sing a java ee 6 application   kshitiz saxenaPaa sing a java ee 6 application   kshitiz saxena
Paa sing a java ee 6 application kshitiz saxena
 
Introducing MongoDB Stitch, Backend-as-a-Service from MongoDB
Introducing MongoDB Stitch, Backend-as-a-Service from MongoDBIntroducing MongoDB Stitch, Backend-as-a-Service from MongoDB
Introducing MongoDB Stitch, Backend-as-a-Service from MongoDB
 
Accelerating your Business with Security
Accelerating your Business with SecurityAccelerating your Business with Security
Accelerating your Business with Security
 

Recently uploaded

Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Allon Mureinik
 
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024BookNet Canada
 
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure serviceWhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure servicePooja Nehwal
 
Key Features Of Token Development (1).pptx
Key  Features Of Token  Development (1).pptxKey  Features Of Token  Development (1).pptx
Key Features Of Token Development (1).pptxLBM Solutions
 
Enhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for PartnersEnhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for PartnersThousandEyes
 
Pigging Solutions Piggable Sweeping Elbows
Pigging Solutions Piggable Sweeping ElbowsPigging Solutions Piggable Sweeping Elbows
Pigging Solutions Piggable Sweeping ElbowsPigging Solutions
 
Hyderabad Call Girls Khairatabad ✨ 7001305949 ✨ Cheap Price Your Budget
Hyderabad Call Girls Khairatabad ✨ 7001305949 ✨ Cheap Price Your BudgetHyderabad Call Girls Khairatabad ✨ 7001305949 ✨ Cheap Price Your Budget
Hyderabad Call Girls Khairatabad ✨ 7001305949 ✨ Cheap Price Your BudgetEnjoy Anytime
 
Making_way_through_DLL_hollowing_inspite_of_CFG_by_Debjeet Banerjee.pptx
Making_way_through_DLL_hollowing_inspite_of_CFG_by_Debjeet Banerjee.pptxMaking_way_through_DLL_hollowing_inspite_of_CFG_by_Debjeet Banerjee.pptx
Making_way_through_DLL_hollowing_inspite_of_CFG_by_Debjeet Banerjee.pptxnull - The Open Security Community
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking MenDelhi Call girls
 
Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Scott Keck-Warren
 
SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024Scott Keck-Warren
 
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Patryk Bandurski
 
Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slidespraypatel2
 
AI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsAI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsMemoori
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsEnterprise Knowledge
 
Azure Monitor & Application Insight to monitor Infrastructure & Application
Azure Monitor & Application Insight to monitor Infrastructure & ApplicationAzure Monitor & Application Insight to monitor Infrastructure & Application
Azure Monitor & Application Insight to monitor Infrastructure & ApplicationAndikSusilo4
 
SIEMENS: RAPUNZEL – A Tale About Knowledge Graph
SIEMENS: RAPUNZEL – A Tale About Knowledge GraphSIEMENS: RAPUNZEL – A Tale About Knowledge Graph
SIEMENS: RAPUNZEL – A Tale About Knowledge GraphNeo4j
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreternaman860154
 
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticsKotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticscarlostorres15106
 
Maximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptxMaximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptxOnBoard
 

Recently uploaded (20)

Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)
 
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
 
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure serviceWhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
 
Key Features Of Token Development (1).pptx
Key  Features Of Token  Development (1).pptxKey  Features Of Token  Development (1).pptx
Key Features Of Token Development (1).pptx
 
Enhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for PartnersEnhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for Partners
 
Pigging Solutions Piggable Sweeping Elbows
Pigging Solutions Piggable Sweeping ElbowsPigging Solutions Piggable Sweeping Elbows
Pigging Solutions Piggable Sweeping Elbows
 
Hyderabad Call Girls Khairatabad ✨ 7001305949 ✨ Cheap Price Your Budget
Hyderabad Call Girls Khairatabad ✨ 7001305949 ✨ Cheap Price Your BudgetHyderabad Call Girls Khairatabad ✨ 7001305949 ✨ Cheap Price Your Budget
Hyderabad Call Girls Khairatabad ✨ 7001305949 ✨ Cheap Price Your Budget
 
Making_way_through_DLL_hollowing_inspite_of_CFG_by_Debjeet Banerjee.pptx
Making_way_through_DLL_hollowing_inspite_of_CFG_by_Debjeet Banerjee.pptxMaking_way_through_DLL_hollowing_inspite_of_CFG_by_Debjeet Banerjee.pptx
Making_way_through_DLL_hollowing_inspite_of_CFG_by_Debjeet Banerjee.pptx
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men
 
Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024
 
SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024
 
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
 
Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slides
 
AI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsAI as an Interface for Commercial Buildings
AI as an Interface for Commercial Buildings
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI Solutions
 
Azure Monitor & Application Insight to monitor Infrastructure & Application
Azure Monitor & Application Insight to monitor Infrastructure & ApplicationAzure Monitor & Application Insight to monitor Infrastructure & Application
Azure Monitor & Application Insight to monitor Infrastructure & Application
 
SIEMENS: RAPUNZEL – A Tale About Knowledge Graph
SIEMENS: RAPUNZEL – A Tale About Knowledge GraphSIEMENS: RAPUNZEL – A Tale About Knowledge Graph
SIEMENS: RAPUNZEL – A Tale About Knowledge Graph
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreter
 
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticsKotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
 
Maximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptxMaximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptx
 

Introduction To WS-Policy

  • 1. Introduction to WS-Policy by H. Fırat Güvence Web Service Policy
  • 2. Outline • What is WS? • What is WS-Policy? • Why is WS-Policy needed? • Conceptual Placement in WS • Technical Specification • Vendors / Tools • Conclusion • Q&A
  • 3. What is WS (Web Service)? • XML ▫ SOAP  XML formatted message in order to exchange information among applications or services. ▫ WSDL  SOAP is a protocol in order to exchange information through defined services by WSDL  currently the most common language for describing the 'how' and 'where' a Web service exchanges messages • Web services are being successfully used for interoperable solutions across various industries
  • 4. WS-Policy • Extends SOAP, XML Schema, WSDL and offer mechanisms to represent the capabilities and requirements of Web services as Policies ▫ representing whether and how a message must be secured ▫ whether and how a message must be delivered reliably ▫ whether a message must flow a transaction, etc
  • 5. Why? • Provider/Requester Security • SOAP Data Optimization • Header element ▫ Word of mouth? ▫ Documentation? ▫ WSDL? • Automated tools will evaluate WSDL and generate policy-aware client and engages the WS in the way of how the WS wants.
  • 6. Conceptual Placement in WS • In WSDL and SOAP • It can be thought of as choice of wire(s) how they may speak to each other for security, optimization, transaction.
  • 7. Technical Specifications • Simple Language ▫ Four elements  Policy  All  ExactlyOne  PolicyReference ▫ One attribute  wsp:Optional
  • 8. Technical Specifications cont’d • Cenk(Web service developer) is building a client application that retrieves real time stock quote information from IMKB. • IMKB supplies real time data using Web services.
  • 9. Technical Specifications cont’d <soap:Envelope> <soap:Header> <wsa:To>http://stock.contoso.com/realquote</wsa:To> <wsa:Action>http://stock.contoso.com/GetRealQuote</wsa:Action> </soap:Header> <soap:Body>...</soap:Body> </soap:Envelope> <Policy> <wsap:UsingAddressing /> </Policy> policy assertion
  • 10. Technical Specifications cont’d <soap:Envelope> <soap:Header> <wss:Security soap:mustUnderstand="1" > <wsu:Timestamp u:Id="_0"> <wsu:Created>2006-01-19T02:49:53.914Z</u:Created> <wsu:Expires>2006-01-19T02:54:53.914Z</u:Expires> </wsu:Timestamp> </wss:Security> <wsa:To>http://real.contoso.com/quote</wsa:To> <wsa:Action>http://real.contoso.com/GetRealQuote</wsa:Action> </soap:Header> <soap:Body>...</soap:Body> </soap:Envelope> <Policy> <wsap:UsingAddressing /> <sp:TransportBinding>...</sp:TransportBinding> </Policy>
  • 11. Technical Specifications cont’d • Assertion ▫ A piece of service metadata ▫ Identifies a domain specific behavior (requirement)  Web Services Security Policy  Web Services Reliable Messaging Policy  And so forth
  • 12. Technical Specifications cont’d • Assertion con’d ▫ 3 policy operators for combining policy assertions:  Policy  All and  ExactlyOne ▫ Policy operator is a synonym for All <All> <wsap:UsingAddressing /> <sp:TransportBinding>...</sp:TransportBinding> </All>
  • 13. Technical Specifications cont’d • Assertion con’d <All> <wsap:UsingAddressing /> <sp:TransportBinding>...</sp:TransportBinding> </All> <ExactlyOne> <sp:TransportBinding>...</sp:TransportBinding> <sp:AsymmetricBinding>...</sp:AsymmetricBinding > </ExactlyOne> <All> <wsap:UsingAddressing /> <ExactlyOne> <sp:TransportBinding>...</sp:TransportBinding> <sp:AsymmetricBinding>...</sp:AsymmetricBinding > </ExactlyOne> </All>
  • 14. Technical Specifications cont’d • Assertion con’d <All> <mtom:OptimizedMimeSerialization wsp:Optional=”true”/> <wsap:UsingAddressing /> <ExactlyOne> <sp:TransportBinding>...</sp:TransportBinding> <sp:AsymmetricBinding>...</sp:AsymmetricBinding > </ExactlyOne> </All>
  • 15. Technical Specifications cont’d ▫ References, naming policies <Policy wsu:Id=”common”> <mtom:OptimizedMimeSerialization wsp:Optional=”true”/> <wsap:UsingAddressing /> </Policy> … <PolicyReference URI=”#common”/>
  • 16. Technical Specifications cont’d ▫ Attaching to WSDL <wsdl:binding name="SecureBinding“ type="tns:RealTimeDataInterface" > <PolicyReference URI="#secure" /> <wsdl:operation name="GetRealQuote" >…</wsdl:operation> … </wsdl:binding>
  • 17. Vendors / Tools • Apache Foundation, Axis2/Java http://ws.apache.org/axis2/1_2/WS_policy.html • Java demo based on CXF WS-Policy framework in Apache CXF http://www.java2s.com/Code/Java/Web-Services- SOA/ThisdemoshowshowtheCXFWSPolicyframewo rkinApacheCXFusesWSDL11Policyattachmentstoen abletheuseofWSAddressing.htm • Microsoft is already supporting WS-* technologies http://msdn.microsoft.com/en- us/library/ms996940.aspx
  • 18. Conclusion • Simple language • Providers represent capabilities and requirements • Policy-aware tools understand policy expressions and engage behaviors automatically • Hides complexity • Automates Web service interactions • Enables secure, reliable and transacted Web services • Need for new policies! Open and new software market for policies !
  • 20. Thank You • H. Fırat Güvence ▫ hguvence@gmail.com
  • 21. References • http://msdn.microsoft.com/en- us/library/ms996497.aspx • Introduction to SOAP, 2009, H. Firat Guvence • Specs http://www.w3.org/Submission/WS- Policy/