Your SlideShare is downloading. ×
WS-* with WCF
Upcoming SlideShare
Loading in...5
×

Thanks for flagging this SlideShare!

Oops! An error has occurred.

×

Introducing the official SlideShare app

Stunning, full-screen experience for iPhone and Android

Text the download link to your phone

Standard text messaging rates apply

WS-* with WCF

1,144
views

Published on

Project Final Degree José Cano …

Project Final Degree José Cano

University of Huelva


0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total Views
1,144
On Slideshare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
18
Comments
0
Likes
0
Embeds 0
No embeds

Report content
Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
No notes for slide
  • Own vision of web services Servicios web es un tópico en los últimos años, donde todo el mundo habla y vende, yo quiero exponer mi punto de vista acerca del término. Study of WS-* from a SOA perspective Investigar/Aprender un poco más profundo estos estándares, que/donde/cómo....... A proof of concept implementation Sistema de memoria distribuida donde se pone en práctica la tecnología aprendida y se encara algunos de los problemas de SOA.
  • Own vision of web services Servicios web es un tópico en los últimos años, donde todo el mundo habla y vende, yo quiero exponer mi punto de vista acerca del término. Study of WS-* from a SOA perspective Investigar/Aprender un poco más profundo estos estándares, que/donde/cómo....... A proof of concept implementation Sistema de memoria distribuida donde se pone en práctica la tecnología aprendida y se encara algunos de los problemas de SOA.
  • - this section is about my opinion on soap services on at present.
  • Buzzword: palabra de moda Buzzword are dangerous, people tried to convince with Buzzword, because everybody heard about. It was associated to Soap, due in fact that the Soap standards defined the services as Web services.
  • The service is executed on a remoted system hosting. – many different kind of services, business services, software as services, ( google maps, delicio....), Amazon S3 - The broad range of possibilities makes it confused, multiple way to create web services.
  • Here I explain my point of view for web services: - cloud (amazon, infraestructure as service,google/azzure platform as service) - saas (open api) - business services which are open to open its services for more customers - soa (service oriented architecture)
  • Basado en XML header/body section.....
  • Inteoperability makes than different languages can communicate each other. Java, .Net, Phyton... I can offer my business to everybody. It makes higher my business oportunities.
  • The most the industry accepts the standard, more tools/frameworks and libraries will be written to help developers to do their job easier. Developers are a important piece on software projects, makes their life easier will help the technology adoption. That's why http has been selected for many companies to run its business services.
  • Standards have different maturity degree, are supported by entities or companies. Trying to give implementations to solve common problems in distributed communications. A technology implements a standard when it gives the developers the facility to use it without any development effort. Just use it. By the time being, not all the technologies implement each WS-*, or implementation maturity is not high. Anyway, take advantage of them. Observing how others solved a problem, can help you to address your solution. When there is no implementation, read WS-* to learn how to design the application to solve the same problem.
  • Questions about?? Personal point of view.
  • Own vision of web services Servicios web es un tópico en los últimos años, donde todo el mundo habla y vende, yo quiero exponer mi punto de vista acerca del término. Study of WS-* from a SOA perspective Investigar/Aprender un poco más profundo estos estándares, que/donde/cómo....... A proof of concept implementation Sistema de memoria distribuida donde se pone en práctica la tecnología aprendida y se encara algunos de los problemas de SOA.
  • -c hange robutness: In contract-last design,it could be possible than modifying the framework (soap stack), could bring out another wsdl implementation. -allows you to reuse XSD around software application -Classes cannot always represent all the XML posibilities. Or XSD represent more informacion than classes.
  • Otro punto a tratar a la hora de diseñar ws-servicios. Contract first---> encourage XML, but it is not a requirement. Contract last----> B/D objects is normally applied.
  • I think there are no a best way to develop them. Depend also on framework you use. What you want to use. Normally Business Data objects is the normal approach. I can also be carried out a mix design, policies manually, sometimes manually XSD, and generates classes from them, but the tool the WSDL....... Developers must be familiarized with technologies and have knowledge about limitiations/advantages/drawbacks. Having knowledge and different perspectives increases the developer skills to deliver a better solution.
  • Address: where the service is located. Binding: how a client can communicate (transport/format/features/security...) will be used during the communication. Contract: defines the service operations available to the clients. Learn about WCF is not learn soap framework.
  • Other specification of WS-Addressing: indicates how a soap node must process a header. Relay: soap node must not remove the headers with Relay attribute after processing it. Mustunderstand: soap nodes don't ignore headers with this attribute. Actor or Role: If the role specified for the node matches the role attribute of the header block, the node processes the header; if the roles do not match, the node does not process the header block.
  • Short explication Depending on the framework facility, the developer must implement the routing/processing or can be done by the framework.
  • – mensaje llegó. - mensaje falló para ser retransmitido - orden Whether the message successfully arrived at its intended destination Whether the message Reliable messaging failed to arrive and therefore requires a retransmission Whether a series of messages arrived in the sequence they were intended to.
  • //Interval that the recipient shall wait until sending acknowledgements for messages. reliableSession.AcknowledgementInterval = new TimeSpan(0,0,2); //helps the sender avoid wasting network resources by stopping sending messages when the receive-side buffer for incoming messages is full reliableSession.FlowControlEnabled = true; //number of messages that can be held in the local message buffer for each reliable session.[1,4092] reliableSession.MaxTransferWindowSize = 32; //If no messages are received within that time limit, the session faults. reliableSession.InactivityTimeout = new TimeSpan(0, 10, 0); // This setting controls how many pending requests for new client initiated sessions are kept in the "pending channels" list. reliableSession.MaxPendingChannels reliableSession.MaxRetryCount how many times the infrastructure shall retry to resend a message in case of a transmission failure. reliableSession.Ordered receiver side infrastructure will dispatch all messages in the exact order they were sent.
  • Explain a use case. (Bank withdraw- deposit.....)
  • WSDL is standard to define the different features of the service (contract, binding, policies and location). – New endpoint to show the wsdl. - A través de WS-Transfer - Request/Response ?wsdl....
  • It shows the process to create a proxy to work with a service. It reads binding (policies, transport), location and contract from the WSDL information. The proxy is used to connect with the services. Binding/Address can be modified and the proxy must only update its address and binding by reading the WSDL again. If the contract change, the proxy created before was invalid.
  • UDDI is not broadly used by the industry. Vendors make use of UDDI to implement tools suitable for SOA.
  • Own vision of web services Servicios web es un tópico en los últimos años, donde todo el mundo habla y vende, yo quiero exponer mi punto de vista acerca del término. Study of WS-* from a SOA perspective Investigar/Aprender un poco más profundo estos estándares, que/donde/cómo....... A proof of concept implementation Sistema de memoria distribuida donde se pone en práctica la tecnología aprendida y se encara algunos de los problemas de SOA.
  • – Try to solve a common problem in high load applications. – Web applications session saves in memory. - Not in db to not load the db server. Influenced in WS-Transfer/REST architecture.
  • Resource: any item which can be represented in a common representation (client and service) to be transferred. Whichever serializable object. Resource identifier: represents a logical entity of the resource, the value associated with the specific "simple" resource. Session identifier. Representation: is a concrete form of the resource state metadata, describing (encoding) the data. Serializer. Resource factory : responsible to create a resource state and return its identifier. Location, know state of operation resource. Resource operation : responsible to manipulate a resource state such as: to get, put, and delete a resource state.
  • – Used to simplify the application complexity. – Configuration of container allows dependency injection.
  • Own vision of web services Servicios web es un tópico en los últimos años, donde todo el mundo habla y vende, yo quiero exponer mi punto de vista acerca del término. Study of WS-* from a SOA perspective Investigar/Aprender un poco más profundo estos estándares, que/donde/cómo....... A proof of concept implementation Sistema de memoria distribuida donde se pone en práctica la tecnología aprendida y se encara algunos de los problemas de SOA.
  • Transcript

    • 1. Index
      • Unveiling web services
      • 2. Working with WS-*
      • 3. Proof of concept implementation
    • 4. Index
      • Unveiling web services
      • 5. Working with WS-*
      • 6. Proof of concept implementation
    • 7. Web services and soap web services
        Service : the supplying or supplier of utilities or commodities
    • 8. Web services and soap web services
        Web service
      NO SOAP
    • 9. Web services and soap web services
        Web service : associated to the concept of supplying a service to clients which access it over a network
      • Communication protocol agnostic: tcp, custom..
      • 10. Format agnostic: xml,json,plain text...
      • 11. Representation agnostic: soap,http,thrift,corba..
      • 12. Technology agnostic: .net,phyton,java..
    • 13. Web services and soap web services SOA
    • 14. Web services and soap web services
        Soap : standard protocol for exchanging information in computer networks
      • Transport agnostic: http,https,custom...
      • 15. Format agnostic: xml,binaries,...
    • 16. Web services and soap web services
        Standard Interoperability
      accepts
    • 17. Web services and soap web services depends also on
    • 18. Web services and soap web services
        WS-*: variety of specifications/standards associated with soap
      http://en.wikipedia.org/wiki/WS-
        Just use them Learn about them
    • 19. Web services and soap web services
      • Technology implementations
      • 20. Enterprise desires/requirements to run its “business software” in SOA using WS-*
    • 21. Index
      • Unveiling web services
      • 22. Working with WS-*
      • 23. Proof of concept implementation
    • 24. Contract-first and contract-last
    • 25. Contract-first and contract-last
      • Contract-first advantage
        • Change robustness
        • 26. Schema reuse
        • 27. Full advantage of XML
      • Contract-first drawbacks
        • Complexity
        • 28. Framework integration
    • 29. Contract-first and contract-last
      • B/D Objects
        • Straightforward
        • 30. Attention: XML/Object impedance
      • XML
        • Better performance
        • 31. B/D use is not a requirement
    • 32. Contract-first and contract-last
        It's up to you
    • 33. Windows Communication Foundation
      • Extensible framework for communications
      • 34. Not only Soap
      • 35. Many Soap/WS-* functionalities
    • 36. WS-Addressing
      • It allows soap messages to communicate addressing information
        • Used for many other WS-*
      • Headers
        • To, ReplyTo, FaultTo, MessageID, Action, Reference parameters
      • Attributes indicates how a soap node must process a header
        • Relay, Mustunderstand, actor/role
    • 37. WS-Addressing
    • 38. WS-Reliable Messaging
      • Allows soap message to be delivered reliably
        • Message successfully arrived
        • 39. Message failed to be sent again
        • 40. Sequence/Order
      • It doesn't define:
        • How are sent, how are delivered, persistence
    • 41. WS-Reliable Messaging
      • Limitations due to buffer memory
        • Farm scenario cannot be realized
        • 42. Memory buffer corrupted, lost communication
        • 43. Scalability problems
      • Some implementation could fix problems
        • Binding MSMQ, Amazon's SQS Transport for WCF, SQL Server SSB
    • 44. WS-Coordination Defines mechanism to establish a coordinated activity Mechanisms to create activities, join into them, and reach common agreement
    • 45. WS-Atomic Transaction
      • Implement Commit and Rollback features to enable cross-service transaction support. ACID-type transaction.
        • Coordinator - “send prepare” - each participant
        • 46. Each participant - “commit or abort” - coordinator
        • 47. Coordinator - “commit or rollback - each participant
      • WCF configuration:
        • Binding enabled
        • 48. Mark service methods
        • 49. System.Transactions to handle the votes
    • 50. WS-Business Activity
      • Establish an agreement between long-running business process
      • 51. Participating services are not required to remain participants for the duration of the activity
    • 53. WS-Policy WS-Policy : offer mechanisms to represent the capabilities and requirements of Web services as Policies WS-PolicyAttachment: how to reference policies in same WSDL or via external entities UDDI
      • Policies can be used to represent:
        • Custom features
        • 54. WS- * standards
    • 55. WS-Metadata Exchange Service metadata: is an expression to define the services in a human-machine readable format (WSDL)
      • Defines how handle metadata:
        • Embedded in web service endpoints
        • 56. WS-Transfer
        • 57. Request-response interaction
    • 58. WS-Metadata Exchange WS-Metadata allows to discover the binding, address and contract, in order to be used by tools to create the proxy to connect with the service
    • 59. WS-Policy/WS-Metadata
      • Policies cannot be reused by importing different documents as schemas
      • 60. It can be achieved via other technologies like UDDI.
      • 61. UDDI is not broadly used.
    • 62. Index
      • Unveiling web services
      • 63. Working with WS-*
      • 64. Proof of concept implementation
    • 65. A distributed cache system
      • Scalable
      • 66. High performance
      • 67. Interoperability
      • 68. WS-Transfer/REST architecture
      • 69. Memcached/Velocity .net
    • 70. A distributed cache system/WS-Transfer
    • 71. A distributed cache system
    • 72. A distributed cache system/Castle IOC
        Castle IOC
      • IOC pattern
      • 73. WCF facility
      • 74. Boo/Binsor
        Implementation
      • Exception handling
      • 75. Proxy instances creation
        • Improve performance
        • 76. Pool of proxy on start-up
      • Service life cycle management
        • Behaviors configuration
    • 77. Conclusions
      • Unveiling web services
        • Great deal to the business
        • 78. Technology independent
      • Working with WS-*
        • Where/When/How (WCF)
      • Proof of concept implementation
        • To face with challenges of SOA based on SOAP with WCF