Bruno Terkaly | Technical Evangelist Bret Stateham | Technical Evangelist.

Slides:



Advertisements
Similar presentations
Steven Borg | Co-founder & Strategist, Northwest Cadence Anthony Borton | ALM Consultant, Enhance ALM.
Advertisements

Web RoleWorker Role At runtime each Role will execute on one or more instances A role instance is a set of code, configuration, and local data, deployed.
Latest techniques and Applications in Interprocess Communication and Coordination Xiaoou Zhang.
Windows Communication Foundation and Web Services.
Jon Galloway | Technical Evangelist Christopher Harrison | Content Developer.
Meet Jeremy Thake Jeremy recently joined Microsoft as Technical Product Manager for the Visual Studio Developer story for Office 365 development.
Steven Borg | Co-founder & Strategist, Northwest Cadence Anthony Borton | ALM Consultant, Enhance ALM.
Module 13: WCF Receive Adapters. Overview Lesson 1: Introduction to WCF Receive Adapters Lesson 2: Configuring a WCF Receive Adapter Lesson 3: Using the.
Rob Williams Program Manager Microsoft Corporation.
Getting Started with WCF Windows Communication Foundation 4.0 Development Chapter 1.
App development in SharePoint 2013 LIVE Introducing Cloud App Model Cloud-hosted Apps Experiences from the Field.
Christian Weyer thinktecture.
Gerry O’Brien| Technical Content Development Manager Paul Pardi| Senior Content Publishing Manager.
Steven Borg | Co-founder & Strategist, Northwest Cadence Anthony Borton | ALM Consultant, Enhance ALM.
BUILDING HYBRID APPS WITH DYNAMICS CRM & WINDOWS AZURE Guy Riddle & George Doubinski Dynamics CRM MVP’s SESSION CODE: DEV-DYN-MID306 (c) 2011 Microsoft.
Nikola Dudar Program Manager Microsoft Corporation Session Code: DTL 311.
Web Service Standards, Security & Management Chris Peiris
Christopher Chapman | MCT Content PM, Microsoft Learning, PDG Planning, Microsoft.
Getting Started with Windows Azure Name Title Microsoft Corporation.
Microsoft Visual Studio 2010 Muhammad Zubair MS (FAST-NU) Experience: 5+ Years Contact:- Cell#:
Microsoft Visual Studio 2010 Muhammad Zubair MS (FAST-NU) Experience: 5+ Years Contact:- Cell#:
Visual Studio 2008 and.NET 3.5 provide seamless support for all of the protocols and techniques popular in Web 2.0-style applications. Visual Studio.
Jon Galloway | Development Platform Evangelist Christopher Harrison | Microsoft Certified Trainer.
Operating System for the Cloud Runs applications in the cloud Provides Storage Application Management Windows Azure ideal for applications needing:
Random Logic l Forum.NET l Web Services Enhancements for Microsoft.NET (WSE) Forum.NET ● October 4th, 2006.
Jaime Rodriguez | Microsoft Principal Technical Evangelist Laurent Bugnion | IdentityMine Senior Director XAML Deep Dive for Windows & Windows Phone Apps.
Developing Web Services Using ASP.NET and WSE That Interoperate with the Windows Communications Foundation ("Indigo") Mark Fussell COM432 Lead Program.
Microsoft Virtual Academy Stacey Mulcahy | Technical Evangelist Christopher Harrison | Content Developer.
Kemal Baykal Rasim Ismayilov
06 | HTTP Services with Web API Bruno Terkaly | Technical Evangelist Bret Stateham | Technical Evangelist.
Presentation 24: Windows Communication Foundation Introduced Objektorienteret Netværkskommunikation.
Christian Weyer thinktecture.
07 | Advanced WCF Topics Bruno Terkaly | Technical Evangelist Bret Stateham | Technical Evangelist.
Microsoft NDA Material Adwait Joshi Sr. Technical Product Manager Microsoft Corporation.
Naqash Ahmed | Microsoft Student Partner. Naqash Ahmed | Student of Bachelors in Software Engineering Microsoft Student Partner since November.
Microsoft Virtual Academy Talbott Crowell | Chief Architect, ThirdM.com Rob Latino | Program Manager in Office 365 Support, Microsoft.
Windows Communication Foundation and Web Services
Microsoft Virtual Academy
Microsoft Virtual Academy
Microsoft Virtual Academy
Windows Azure Pack : Express Installation
Windows Communication Foundation and Web Services
Building real-time web apps with WebSockets using IIS, ASP.NET and WCF
TechEd /14/2018 6:26 PM © 2013 Microsoft Corporation. All rights reserved. Microsoft, Windows, and other product names are or may be registered.
Microsoft Connect /15/2018 3:03 AM
Microsoft Virtual Academy
Microsoft Virtual Academy
Microsoft Virtual Academy
Microsoft Virtual Academy
12/9/2018 Desktop Virtualization Corey Hynes Kyle Rosenthal President Technical Lead HynesITe Inc Spider Consulting @windowspcguy.
Office 365 Development.
Microsoft Virtual Academy
Microsoft Virtual Academy
Microsoft Virtual Academy
Microsoft Virtual Academy
Distributed Applications on Windows Vista
Day 2, Session 2 Connecting System Center to the Public Cloud
Microsoft Virtual Academy
Microsoft Virtual Academy
Microsoft Virtual Academy
Microsoft Virtual Academy
Microsoft Virtual Academy
Erik Porter Program Manager ASP.NET Microsoft Corporation
Microsoft Virtual Academy
Microsoft Virtual Academy
Microsoft Virtual Academy
利用IIS部署與維護 SOA應用程式的技巧
Microsoft Virtual Academy
Microsoft Virtual Academy
Microsoft Virtual Academy
Presentation transcript:

Bruno Terkaly | Technical Evangelist Bret Stateham | Technical Evangelist

Meet Bruno Terkaly | Monthly Columnist MSDN Magazine Expertise in Windows Azure / Windows 8 Principal Technical Evangelist – Silicon Valley Find him on the web at blogs.msdn.com/brunoterkalyblogs.msdn.com/brunoterkaly

Meet BretStateham Find me on the Web at BretStateham.comBretStateham.com Working with the web since before IIS Working with.NET since before.NET In love with SQL Server (don’t tell my wife)

Course Topics Developing SharePoint Server Core Solutions Jump Start 01 | WCF Services05 | Entity Framework 02 | Hosting Services in Windows Azure06 | Web API 03 | Data Storage07 | Advanced WCF Topics 04 | Data Access Technologies

Setting Expectations Target Audience –Developers looking to host WCF or Web API services in Windows Azure, with data stored in Azure Storage or Azure SQL Database –Considering taking the Exam Additional Material –Microsoft Official Course Developing Windows Azure and Web Services

Microsoft Virtual Academy –Free online learning tailored for IT Pros and Developers –Over 1M registered users –Up-to-date, relevant training on variety of Microsoft products “Earn while you learn!” –Get 50 MVA Points for this event! –Visit –Enter this code: AzWebSvc (expires 12/13/2013) Join the MVA Community!

01 | WCF Services Bret Stateham | Technical Evangelist Bruno Terkaly | Technical Evangelist

Course Introduction

WCF Overview Configuring Services Consuming Services Hosting WCF Services Module Overview

WCF Overview

Windows Communication Foundation (WCF) The Windows Communication Foundation (or WCF) is a runtime and a set of APIs in the.NET Framework for building connected, service-oriented applications.

Windows Communication Foundation (WCF) Common Tasks For A Web Service

Windows Communication Foundation (WCF) Customer Web ServiceCustomer Databases Customer Web Service Demo Scenarios Other Web Service Incident Client UX

Windows Communication Foundation (WCF) Messages are typically sent in text encoded SOAP messages using is the HyperText Transfer Protocol (HTTP) SOAP, originally defined as Simple Object Access Protocol, is a protocol specification for exchanging structured information in the implementation of Web Services in computer networks. It relies on XML Information Set for its message format.

Windows Communication Foundation (WCF) REST calls SOAP calls REST is an abbreviation for: Representational State Transfer

Windows Communication Foundation (WCF) But REST is coming along….

Advantages of REST Windows Communication Foundation (WCF) Automatic support - native http Lightweight, Efficient Secure - Supports https Modern - Twitter, Yahoo, etc No toolkits needed, XML format

Windows Communication Foundation (WCF) BasicHttpBinding Interoperability with Web services and clients supporting the WS- BasicProfile 1.1 and Basic Security Profile 1.0. WSHttpBinding Interoperability with Web services and clients that support the WS-* protocols over HTTP. WSDualHttpBinding Duplex HTTP communication, by which the receiver of an initial message does not reply directly to the initial sender, but may transmit any number of responses over a period of time by using HTTP in conformity with WS-* protocols. WSFederationBindin g HTTP communication, in which access to the resources of a service can be controlled based on credentials issued by an explicitly-identified credential provider. NetTcpBinding Secure, reliable, high-performance communication between WCF software entities across a network. NetNamedPipeBindi ng Secure, reliable, high-performance communication between WCF software entities on the same Advantages of WCF + SOAP: Provides a lot of support for many bindings

DEMO Creating a New WCF Service Library

Configuring A WCF Service Data Contracts

Defining the Data Contracts A data contract is a formal agreement between a service and a client. It describes the data to be exchanged. To communicate, the client and the service do not have to share the same types, only the same data contracts. A data contract precisely defines, for each parameter or return type, what data is serialized (turned into XML) to be exchanged.

Defining the Data Contracts

Configuring A WCF Service Using Interfaces

Why use Interfaces?

Interface-based programming is popular among many developers It makes code better, by increasing reusability, maintainability, and extensibility An interface defines what must a client know about a class in order to benefit from using it Developers often put the interfaces into a separate assembly This is useful because the interface can be used by any piece of code that needs to know about the interface, but not necessarily about the implementation It is common practice to have one class implement more than one interface

Why use Interfaces? The benefit is that you can expose the same implemented class in different ways using different interfaces in the WCF endpoints. WCF Service Customer Manager

Why use Interfaces? In Windows Communication Foundation (WCF) applications, you define the operations by creating a class and marking it with the [ServiceContract] attribute in the interface file. For each method in the class you can mark each method with OperationAttribute.

Configuring A WCF Service Endpoints

WCF and Endpoints All communication with a Windows Communication Foundation (WCF) service occurs through the endpoints of the service Endpoints provide clients access to the functionality offered by a WCF service Client WCF Service

Each endpoint consists of four properties: An address that indicates where the endpoint can be found A binding that specifies how a client can communicate with the endpoint A contract that identifies the operations available A set of behaviors that specify local implementation details of the endpoint.

FlipCaseService has 3 endpoints Client FlipCaseService Endpoint 1 Endpoint 2 Endpoint 3 Addresshttp://localhost:8080/flipcase/ws BindingwsHttpBinding ContractFlipCaseService.FlipCaseService Addresshttp://localhost:8080/flipcase/basic BindingbasicHttpBinding ContractFlipCaseService.FlipCaseService AddressNet.tcp://localhost:8081/flipcase BindingnetTcpBinding ContractFlipCaseService.FlipCaseService

Bindings – Q & A What should you know about Bindings? Transport Encoding Protocol details What does the client need to know about the endpoint, beside the bindings? When connecting to endpoints, the client not only needs to know the address and contract, not just the binding specified by the endpoint.

Configuring A WCF Service Bindings

Your ABCs Understanding Endpoints Hosting Environment WCF Service Address Binding Contract What you should know about Bindings Transport Encoding Protocol details

Your ABCs Address Binding Contract What you should know about Bindings Transport Encoding Protocol details Transport protocol A transport protocol defines how information travels from endpoint to endpoint There are 4 options: Hypertext Transfer Protocol (HTTP) Transmission Control Protocol (TCP) Message Queuing (also known as MSMQ) Named pipes

Binding - Transport Protocols Hypertext Transfer Protocol (HTTP) Transmission Control Protocol (TCP) HTTP leverages the traditional request/response pattern. HTTP is stateless, so if there is any multi page transactions, the application (server and client) needs to maintain state. The main value of HTTP is interoperability with non-WCF clients. TCP is connection based and provides end-to-end error detection and correction. TCP is a great choice because it provides reliable data delivery. It handles lost packets and duplicate packets. The TCP transport is optimized for scenarios where both ends are using WCF. It is the fastest of all the bindings. TCP provides duplex communication and so can be used to implement duplex contracts, even if the client is behind network address translation (NAT). A duplex service contract is a message exchange pattern in which both endpoints can send messages to the other independently

Binding - Transport Protocols – continued from http and tcp Named Pipes MSMQ Named Pipes is ideal for two or more WCF applications on a single computer, and you want to prevent any communication from another machine. Named pipes are efficient because they tie into the Windows operating system kernel, leveraging a section of shared memory that processes can use for communication. MSMQ is allows applications to communicate in a failsafe manner. A queue is a temporary storage location from which messages can be sent and received reliably. This enables communication across networks and between computers, running Windows, which may not always be connected

Your ABCs Address Binding Contract What you should know about Bindings Transport Encoding Protocol details Encoding Encoding types represents how the data is structured across the wire There are 3 options: Text Binary MTOM

Bindings - Encoding Text Binary MTOM Uses base64 encoding, which can make messages up to 30% bigger. If you are sending binary data, this can introduce a large amount of overhead. This is the fastest encoding. Unless you are sending very large messages, the binary format is ideal (with the assumption that text isn’t needed for interoperability) Is for large objects MTOM is the W3C Message Transmission Optimization Mechanism, a method of efficiently sending binary data to and from Web services. MTOM doesn't use base64 encoding for binary attachments keeping the overall size small. MTOM is based on open specifications & hence is largely interoperable.

Your ABCs Address Binding Contract What you should know about Bindings Transport Encoding Protocol details Protocol Details WCF leverages SOAP for its network messaging protocol. SOAP, aka Simple Object Access Protocol, specifies how structured information is exchanged in the implementation of Web Services in computer networks. It relies on XML for its message format. One big advantage is that SOAP can tunnel easily over existing firewalls and proxies, without modification. The disadvantage of SOAP is that it has a verbose XML format and can be slow.

With respect to SOAP, there are a number of WS-* specifications. These WS-* specifications can be broken into various categories. Bindings – Protocol Details – WS-* Specifications Messaging SpecificationsWS-Addressing, WS-Enumeration, WS-Eventing, WS-Transfer Security Specifications WS-Security, SOAP Message Security, WS-Security: UsernameToken Profile, WS-Security: X.509 Certificate Token Profile, WS-SecureConversation, WS- SecurityPolicy, WS-Trust, WS-Federation, WS-Federation Active Requestor Profile, WS-Federation Passive Requestor Profile, WS-Security: Kerberos Binding Reliable Messaging Specifications WS-ReliableMessaging Transaction Specifications WS-Coordination, WS-AtomicTransaction, WS-BusinessActivity Metadata Specifications WS-Policy, WS-PolicyAssertions, WS-PolicyAttachment, WS-Discover, WS- MetadataExchange, WS-MTOMPolicy Management Specifications WS-Management, WS-Management Catalog, WS-ResourceTransfer Specification ProfilesWS-I Basic Profile

Consuming A WCF Service A console client

Writing the client app Understanding Endpoints Hosting Environment WCF Service Client App Console App Windows Presentation Foundation Winforms Web Page Windows 8 Cloud App

DEMO Consuming a WCF Service Library

Hosting a WCF Service Data Contracts

Hosting WCF Option 1 IIS WCF Service Option 2 Windows Service WCF Service Option 3 Managed.NET App WCF Service

Hosting WCF Option 1 IIS WCF Service WCF service that runs in the IIS environment takes full advantage of IIS features: Based on Http Process recycling Idle shutdown Process health monitoring Message-based activation

Hosting WCF Option 2 Windows Service WCF Service The lifetime of the service is controlled instead by the operating system as a Windows Service This hosting option is available in all server- based versions of Windows Can be configured to start up automatically when the system boots up Process lifetime of the service is controlled by the Service Control Manager (SCM)

Hosting WCF Option 3 Managed.NET App WCF Service Hosting a service in a managed application is the most flexible option It requires the least infrastructure to deploy It is also the least robust hosting option Managed applications do not provide the advanced hosting and management features of other hosting options in WCF

DEMO Hosting a WCF Service Library

©2013 Microsoft Corporation. All rights reserved. Microsoft, Windows, Office, Azure, System Center, Dynamics and other product names are or may be registered trademarks and/or trademarks in the U.S. and/or other countries. The information herein is for informational purposes only and represents the current view of Microsoft Corporation as of the date of this presentation. Because Microsoft must respond to changing market conditions, it should not be interpreted to be a commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any information provided after the date of this presentation. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.