From:
SoftwebSolutions
Views: 10
Comments: 0
The beta version of .NET 4.5 and Visual Studio 11 is to be released on 29th February, 2012 with incredible new features and specifications.
Slide 1: Best Practices for Building Web Services with Visual Studio® .NET
Microsoft Corporation
Slide 2: What we will cover
ASP .NET Web Services ACT WSDL, SOAP Security Global XML Web Services Architecture (GXA)
scalability, interoperability, reliability, and security
Application Center Server, Load Balancing
Slide 3: Session Prerequisites
Familiarity with .NET Programming Know Visual Basic® .NET Familiar with ASP .NET Familiar with VB Script
Level 300
Slide 4: So Why This Presentation?
You know you are a business component (Middleware) developer if…
Your ‘front end’ design can be generated by Visual Studio .NET You worry more about performance then the ‘look and feel’ You use the phrase ‘simplifying access to the backend’ in polite conversation
Slide 5: Agenda
Architecture of Web Services Testing Web Services WSDL Securing SOAP Web Services in the Enterprise
Slide 6: Architecture of Web Services
Open Middle Tier Implementation
What is a Web Service?
A website without the user interface A method for defining interfaces above the transport protocol XML Interoperability Http Get - Interoperable Http Post - Interoperable Http SOAP - Interoperable Import as a DLL for an object interface - .NET
Web Services support 4 protocols
Slide 7: Architecture of Web Services
Implementing XML Services
<WebService(Namespace := "http://msdn.microsoft.com/DevT1-46")>
Declares the interface, indicates that the class defined is a web service Parent class for all web services in .NET
Inherits System.Web.Services.WebService
<WebMethod()>
Each method which is exposed as part of the service. Return values can be supported in any request format but Output parameters are only supporte in SOAP
Slide 8: Architecture of Web Services
Service Discovery
UDDI: Universal Description, Discovery and Integration
Design time specification for the discovery of services and communication of their interface Does not define the service implementation and protocol details. Complemented by WSDL Managed by an industry-wide consortium; for details visit http://uddi.org
Slide 9: Agenda
Architecture of Web Services Testing Web Services WSDL Securing SOAP Web Services in the Enterprise
Slide 10: Testing Web Services
Default ASMX Pages
Visual Studio creates a default test frame for each web service Accessible from the <service>.asmx page The automated page only supports and test the http Get protocol Can act as the starting point for both functional and performance testing
Slide 11: Testing Web Services
Performance Testing
Application Center Test
Allows for the automated execution of web based resources using VB Scripts Two versions
Full version in Application Center Server Developer Version in Visual Studio .NET Enterprise Architect edition
Produces XML based results
Supports Side by Side Comparison
Integrated with Performance Counters for collection of Transaction Cost Analysis data
Slide 12: Testing Web Services
Transaction Cost Analysis
Transaction Cost Analysis Equation Cycles = N * S * avg (Pt) / avg(Rps) Where: N = Number of Processors S = Speed of Processors Pt = System: % Total Processor Time Rps = ACT ASP Requests per second Cycles = Average CPU cycles
Slide 13: Demonstration 1
Transaction Calculator Service
Run the T_Calc Service Create a Simple ACT Test Run a Custom ACT Test
Slide 14: Agenda
Architecture of Web Services Testing Web Services WSDL Securing SOAP Web Services in the Enterprise
Slide 15: WSDL
Self Describing Interfaces
Web Services Description Language Five Primary elements used to define an XML Web Service interface. Elements consistently in the same order.
Types Messages PortType Binding Service
Slide 16: WSDL
Types
<types> <s:schema elementFormDefault="qualified" targetNamespace="http://msdn.microsoft.com/DEVT1-46/"> <s:element name="SpecifyReportCriteria_XML"> <s:complexType> <s:sequence> <s:element minOccurs="0" maxOccurs="1" name="strDriveLtr" type="s:string" /> … </s:sequence> </s:complexType> </s:element> </s:schema> … </types>
Slide 17: WSDL
Messages
<message name="SpecifyReportCriteria_XMLSoapIn"> <part name="parameters“ element="s0:SpecifyReportCriteria_XML" /> </message> <message name="SpecifyReportCriteria_XMLSoapOut"> <part name="parameters“ element="s0:SpecifyReportCriteria_XMLResponse" /> </message> …
Slide 18: WSDL
PortType
<portType name="RetrieveACTPerformanceDataSoap"> <operation name="SpecifyReportCriteria_XML"> <input message="s0:SpecifyReportCriteria_XMLSoapIn"/> <output message="s0:SpecifyReportCriteria_XMLSoapOut"/> </operation> <operation name="GetProject_List"> <input message="s0:GetProject_ListSoapIn" /> <output message="s0:GetProject_ListSoapOut" /> </operation> </portType>
Slide 19: WSDL
Binding
<binding name="RetrieveACTPerformanceDataSoap" type="s0:RetrieveACTPerformanceDataSoap"> <soap:binding transport="http://schemas.xmlsoap.org/soap/http" style="document" /> <operation name="SpecifyReportCriteria_XML"> <soap:operation soapAction="http://msdn.microsoft.com/DEVT1-46 /SpecifyReportCriteria_XML" style="document" /> <input> <soap:body use="literal" /> </input> <output> <soap:body use="literal" /> </output> </operation>
Slide 20: WSDL
Service
<service name="RetrieveACTPerformanceData"> <port name="RetrieveACTPerformanceDataSoap“ binding="s0:RetrieveACTPerformanceDataSoap"> <soap:address location="http://.../PerformanceXML/GetACTData.asmx"/> </port> <port name="RetrieveACTPerformanceDataHttpGet“ binding="s0:RetrieveACTPerformanceDataHttpGet"> <http:address location="http://.../.../GetACTData.asmx"/> </port> <port name="RetrieveACTPerformanceDataHttpPost“ binding="s0:RetrieveACTPerformanceDataHttpPost"> <http: address location="http://.../.../GetACTData.asmx"/> </port>
Slide 21: Demonstration 2
Data Retrieval
Review WSDL File Use a Visual Basic Form to make SOAP calls
Slide 22: Agenda
Architecture of Web Services Testing Web Services WSDL Securing SOAP Web Services in the Enterprise
Slide 23: Securing SOAP
Authentication & SSL
Authentication is supported
Selected from Internet Services Manager NTLM and Basic authentication are available Use: New Net.NetworkCredential()
Authentication does not protect data To protect data can use SSL
From Browser preface call with https:// From Code modify <service>.url property to include https://
Https is transport specific
Slide 24: Securing SOAP
Encoding & Encryption
UTF-8 Encoding
Can be used for the contents of a SOAP Message Allows for the inclusion of binary data .NET supports several forms of encryption Can be used to protect data without relying on transport protocol Requires key synchronization
Encryption
Slide 25: Demonstration 3
Authentication/Security
Create a service requiring Authentication Create a Windows Form Client Call a Service that Encodes response Data
Slide 26: Agenda
Architecture of Web Services Testing Web Services WSDL Securing SOAP Web Services in the Enterprise
Slide 27: Web Services in the Enterprise
Messaging Infrastructure
Global XML Services Architecture (GXA) GXA has four key specifications to date WS-Security
Credential exchange, message integrity, and message confidentiality Encoding for common license formats
WS-License
Slide 28: Web Services in the Enterprise
Messaging Infrastructure
WS-Referral
Partition URL namespaces between nodes Route messages across intermediate SOAP nodes
WS-Routing
GXA is still under development as an industry wide standard. Other specifications may be added as the standard develops.
Slide 29: Web Services in the Enterprise
SOAP Extensions
SOAP Extensions Added to the SOAP envelope Provide a generic means of implementing additional capabilities. .NET SoapExtension
System.Web.Services.Protocols.SoapExtension
Will be the core of implementing GXA
Slide 30: Session Summary
Use Web Services as Middleware Use ACT for lifecycle testing support WSDL is a platform independent Interface Definition Language Use .NET’s built in mechanisms for securing web services SOAP Extensions
Slide 31: For More Information…
MSDN Web site at
http://msdn.microsoft.com/webservices http://msdn.microsoft.com/library/default.asp?url=/l ibrary/en-us/dnsrvspec/html/wsspecsover.asp http://msdn.microsoft.com/library/default.asp?url=/l ibrary/en-us/dnexxml/html/xml11192001.asp http://msdn.microsoft.com/library/default.asp?url=/l ibrary/en-us/dnaspnet/html/asp09272001.asp
WebServices Specifications
Reliable XML Web Services
Using SOAP Extensions for Encryption
Slide 32: For More Information…
Transaction Cost Analysis
http://www.microsoft.com/applicationcente r/techinfo/planning/2000/wp_tca.asp http://www.gotdotnet.com/team/XMLwebse rvices/gxa_overview.aspx
Global XML Web Services Architecture
GotDotNet.com
Slide 33: MS Press
Essential Resources for Developers
To find the latest developer related titles visit
www.microsoft.com/mspress
Slide 34: Training
Training Resources for Developers
Developing XML Web Services Using Visual C#
Course #2524 Course #2063 Course #2373
To locate a training provider for this course, please access
Building ASP.NET Applications
Programming with Microsoft® Visual Basic .NET
mcspreferral.microsoft.com/default.asp
Microsoft Certified Technical Education Centers (CTECs) are Microsoft’s premier partners for training services
Slide 35: MSDN
Essential Resources for Developers
Subscription Services Online Information Training & Events Print Publications Membership Programs Library, OS, Professional, Enterprise, Universal Delivered via CD-ROM, DVD, Web MSDN Online, MSDN Flash
MSDN Training, Tech-Ed, PDC, Developer Days, MSDN/Onsite Events MSDN Magazine MSDN News MSDN User Groups
Slide 36: MSDN Subscriptions
THE way to get Visual Studio .NET
Visual Studio .NET
Enterprise Architect • Software and data modeling • Enterprise templates • Architectural guidance
MSDN Subscriptions
MSDN Universal $2799 new $2299 renewal/upgrade
Enterprise Developer • Enterprise lifecycle tools • Team development support • Core .NET Enterprise Servers Professional • Tools to build applications and XML Web services for Windows and the Web
MSDN Enterprise $2199 new $1599 renewal/upgrade
NEW
MSDN Professional $1199 new $899 renewal/upgrade
Slide 37: Where Can I Get MSDN?
Visit MSDN Online at msdn.microsoft.com Register for the MSDN Flash Email Newsletter at msdn.microsoft.com/flash Become an MSDN CD Subscriber at msdn.microsoft.com/subscriptions MSDN online seminars msdn.mircosoft.com/training/seminars Attend More MSDN Events
Slide 38: Become A Microsoft Certified Solution Developer
What Is MCSD?
Premium certification for professionals who design and develop custom business solutions It requires passing four exams to prove competency with Microsoft solution architecture, desktop applications, distributed application development, and development tools For more information about certification requirements, exams, and training options, visit www.microsoft.com/mcp
How Do I attain MCSD Certification?
Where Do I Get More Information?
Slide 40: Session Credits
Author: Bill Sheldon Producer/Editor: Field Content Team Reviewers
Field Content Council