Hosted by XML Web Services What .NET and Web Services Mean to Businesses Written by Paul Kimmel. Copyright © 2003. All Rights Reserved. pkimmel@softconcepts.com Hosted by What is an XML Web Service? Tools and technologies for moving data over a network, especially the Internet Based on Open Standards Object Oriented The only limitations are imagination Hosted by What Problems do Web Services Solve? Application Integration Simple Services Workflow Solutions And, more… Hosted by Simple Services Offer services that solve problems for your customers Connect business to business services • How much to ship a package? • What is the cost of an airline ticket? • When does my plane depart? • Tickets to see the “Three Tenors” Hosted by Example 1: US Geological Survey Hosted by Close Up! Hosted by Workflow Solutions Business-to-business solutions • Customer Orders PC from Dell • Dell automatically verifies inventory (orders from supplier if needed) • Dell assembles with supplier provided parts, keeping inventory costs low • Coordinates receipt of payment with Dell Financial Services or Credit Card vendor • Negotiates shipment with USPS, UPS, Airborne Express, DHL or FedEx • • Shipper notifies Dell of Delivery • Tracks service requests and upgrades Notifies customer service provider (perhaps outsourcing technical support) Hosted by Application Integration Integrate legacy software with new technology Expose existing capabilities as Web Services and build from there Doesn’t require a complete rewrite Hosted by Example 2: Bring Present Technology to Legacy Software Hosted by With XML Web Services Hosted by Microsoft and the .NET Framework We already know about… The good and the bad Big war chest Commitment to the customer And , the warts and dimples But, what we need to know… Hosted by Web Services and Microsoft Does using .NET lock me into a Microsoft solution? And the answer is… Hosted by Not Locked in to Microsoft Having the .NET framework on workstations is no different than… • Borland’s VCL • Sun’s JRE • Many machines already have these frameworks and more • In a very real sense the .NET Framework is comprised of DLLs; every computer has thousands already Hosted by No Bogeyman There is no Microsoft bogeyman to fear, because… • XML Web Services are based on open standards, like XML, SOAP, HTTP, TCP/IP • • • Any supplier can consume or produce XML and SOAP Over TCP/IP networks Results in a heterogeneous or homogeneous solution; the call is yours Hosted by Why you want to choose .NET Now let’s look at what Microsoft’s .NET really is And, what it can do for your business Hosted by .NET Framework MS’ best technological product to date • Based on standards like XML and SOAP • • • • • • • • • • Visual Studio UDDI, or Universal Description and Discovery WSDL, or, Web Services Discovery Language Language Agnostic Attributes CodeDOM XML Serialization Synchronous and Asynchronous Invocation Works with ADO.NET Security Hosted by Open Standards and Protocols TCP/IP HTTP and HTTPS XML, markup language like HTML SOAP, protocol for describing data Hosted by Visual Studio Tremendous productivity achieved with • Multiple object oriented languages • Integrated database development • Source repository integration • UML modeling integration • Extensibility model and macros for automating tasks • Extensive integrated help Hosted by Language Agnostic Program in any or every .NET language C# C++ J# .NET VB .NET And dozens more by third parties, all based on the Common Language Specification (CLS) Hosted by Universal Description and Discovery Several Web Service registries (IBM, Microsoft) (e.g. uddi.microsoft.com) Hosted by Web Services Discovery Language Makes Web Services easy to find and consume Imports Web Service Generates proxy class for very simple consumption Proxy classes support synchronous and asynchronous invocation Hosted by Attributes A technology that helps eliminate old COM related problems Helps with Web Services, Security, and much more Hosted by CodeDOM Code Document Object Model A powerful tool/namespace in the framework Can be and is used to write code generators Generated proxy classes make MS’ Web Services very easy to author and consume Hosted by XML Serialization XML is a markup language like HTML or WML Serialization is process of converting objectoriented data into text streams Text is easily transmitted over the Internet (or any TCP/IP network) Serialization occurs on both ends, automatically Hosted by Synchronous and Asynchronous Invocation Synchronous equals call and wait Asynchronous equals call and forget for optimal performance • Developers get this capability automatically • Because asynchronous, or multithreaded behavior, is built into the framework • Even for VB .NET Hosted by .NET Technological Advantage All of these things add up to… • Faster development times • More advanced implementations • More robust solutions and fewer bugs • Tremendously scalable software • Significant competitive advantage • Greater revenue at lower cost Hosted by And there is much more Remoting COM Interop Security Model Reflection Emitting Multithreading ASP.NET ADO.NET Hosted by And still more Tremendous third party support Excellent training opportunities (e.g. Developmentor and Compass Computing Group) More trade magazines, books, and articles than any product in history (e.g. AddisonWesley, Sams, Wiley, Apres, codeguru.com, InformIT, Windows Developer Magazine) Hosted by Summary XML Web Services are big part of a much larger picture • • • Open Standards; No lock in strategy for Microsoft • • • Web Services work with ADO.NET very well • Excellent support and training Tremendous scalability .NET Framework makes Web Services easy to build and use with Microsoft tools Asynchronous process for excellent performance Commitments and participation from many industry leaders Hosted by References Kimmel, Paul. .NET Mobile Application Development. Wiley: 2003. Kimmel, Paul. Visual Basic .NET Power Coding. Addison-Wesley: 2003. Kimmel, Paul. Advanced C# Programming. Osborne: 2002 Kimmel, Paul. Asynchronous Programming in VB.NET. Windows Developer, April, 2002 pp. 53-57. Kimmel, Paul. Asynchronous Programming with Thread Pools. (www.codeguru.com) VB Tech Notes, August, 2001 Kimmel, Paul. Sams Visual Basic .NET Unleashed. Sams: 2001.