Survey
* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project
* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project
Best Practices for Building Web Services with Visual Studio® .NET Sanguan Thammarojsakul Microsoft MVP - .NET Department of Computer Science, Faculty of Science and Technology Assumption University of Thailand What we will cover ASP .NET Web Services ACT SOAP Security Global XML Web Services Architecture (GXA) scalability, interoperability, reliability, and security Session Prerequisites Familiarity with .NET Programming Know Visual Basic® .NET Familiar with ASP .NET Level 300 Agenda Architecture of Web Services Testing Web Services Securing SOAP Web Services in the Enterprise 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 Web Services support 4 protocols Http Get - Interoperable Http Post - Interoperable Http SOAP - Interoperable Import as a DLL for an object interface - .NET Architecture of Web Services Implementing XML Services <WebService(Namespace := "http://msdn.microsoft.com/DevT1-46")> Inherits System.Web.Services.WebService Declares the interface, indicates that the class defined is a web service Parent class for all web services in .NET <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 supported in SOAP 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 Agenda Architecture of Web Services Testing Web Services Securing SOAP Web Services in the Enterprise 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 Testing Web Services Performance Testing Application Center Test Allows for the automated execution of web based resources using VB Scripts Two versions Produces XML based results Full version in Application Center Server Developer Version in Visual Studio .NET Enterprise Architect edition Supports Side by Side Comparison Integrated with Performance Counters for collection of Transaction Cost Analysis data 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 Demonstration 1 Transaction Calculator Service Run the T_Calc Service Create a Simple ACT Test Run a Custom ACT Test Agenda Architecture of Web Services Testing Web Services Securing SOAP Web Services in the Enterprise Securing SOAP Authentication & SSL Authentication is supported Authentication does not protect data To protect data can use SSL Selected from Internet Services Manager NTLM and Basic authentication are available Use: New Net.NetworkCredential() From Browser preface call with https:// From Code modify <service>.url property to include https:// Https is transport specific Securing SOAP Encoding & Encryption UTF-8 Encoding Can be used for the contents of a SOAP Message Allows for the inclusion of binary data Encryption .NET supports several forms of encryption Can be used to protect data without relying on transport protocol Requires key synchronization Demonstration 2 Authentication/Security Create a service requiring Authentication Create a Windows Form Client Call a Service that Encodes response Data Agenda Architecture of Web Services Testing Web Services Securing SOAP Web Services in the Enterprise 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 WS-License Encoding for common license formats Web Services in the Enterprise Messaging Infrastructure WS-Referral WS-Routing Partition URL namespaces between nodes Route messages across intermediate SOAP nodes GXA is still under development as an industry wide standard. Other specifications may be added as the standard develops. 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 Session Summary Use Web Services as Middleware Use ACT for lifecycle testing support Use .NET’s built in mechanisms for securing web services SOAP Extensions For More Information… MSDN Web site at WebServices Specifications http://msdn.microsoft.com/library/default.asp?url= /library/en-us/dnsrvspec/html/wsspecsover.asp Reliable XML Web Services http://msdn.microsoft.com/webservices http://msdn.microsoft.com/library/default.asp?url= /library/en-us/dnexxml/html/xml11192001.asp Using SOAP Extensions for Encryption http://msdn.microsoft.com/library/default.asp?url= /library/en-us/dnaspnet/html/asp09272001.asp For More Information… Transaction Cost Analysis Global XML Web Services Architecture http://www.microsoft.com/applicationcente r/techinfo/planning/2000/wp_tca.asp http://www.gotdotnet.com/team/XMLwebse rvices/gxa_overview.aspx GotDotNet.com MS Press Essential Resources for Developers To find the latest developer related titles visit www.microsoft.com/mspress Training Training Resources for Developers Developing XML Web Services Using Visual C# Building ASP.NET Applications Course #2524 Course #2063 Programming with Microsoft® Visual Basic .NET Course #2373 To locate a training provider for this course, please access mcspreferral.microsoft.com/default.asp Microsoft Certified Technical Education Centers (CTECs) are Microsoft’s premier partners for training services MSDN Essential Resources for Developers Subscription Services Library, OS, Professional, Enterprise, Universal Delivered via CD-ROM, DVD, Web Online Information MSDN Online, MSDN Flash Training & Events MSDN Training, Tech-Ed, PDC, Developer Days, MSDN/Onsite Events Print Publications MSDN Magazine MSDN News Membership Programs MSDN User Groups MSDN Subscriptions THE way to get Visual Studio .NET Visual Studio .NET MSDN Subscriptions MSDN Universal $2799 new $2299 renewal/upgrade Enterprise Developer • Enterprise lifecycle tools • Team development support • Core .NET Enterprise Servers MSDN Enterprise $2199 new $1599 renewal/upgrade Professional • Tools to build applications and XML Web services for Windows and the Web MSDN Professional $1199 new $899 renewal/upgrade NEW Enterprise Architect • Software and data modeling • Enterprise templates • Architectural guidance 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