Windows DNA 2000 Microsoft Strategy For Developers In The Internet Era Peg Souders pegs@microsoft.com 425-705-1877 Microsoft Corporation Vision Empower people through great software any time, any place, and on any device Developers: Key To Microsoft PC Hardware OS abstraction (Windows) Graphical User Interface Rapid development (VB) Object-oriented Programming Components (COM) The Internet Today’s discussion Agenda Developer Roadmap Review WinDNA DNA 2000 Developer Roadmap Developer Base (50% VB, 20% VC) Tools Strength Website Usage Now ’99/’00 ’00/’01 Windows DNA Today Windows DNA 2000 Windows DNA Enhanced 1. Better (Web) Apps with mature, comprehensive “suite” 2. Enhance “Web Services” support 1. Deep support for “Web Services” architecture 2. Comprehensive “Web Services” Platform 3. Break-through tools for “Web Services” Windows DNA Microsoft’s Enterprise Application Platform Databases Legacy Systems Thin Client External Applications Rich Client Microsoft’s enterprise application platform is composed of three tiers Presentation, Business Logic, and Data along with System Services and Tools. Windows DNA Presentation Business Logic Data Windows NT Servers COM Transaction Integrator IBM OS/390 Mainframe CICS / COBOL Business Logic DB2 OLE DB SNA Server IBM AS/400 business objects Web Clients OLE DB Transaction Server HTTP AS/400 Files Sun Enterprise Server DCOM .asp files Internet Information Server Oracle 8 OLE DB Windows NT Server SQL Server 7 DNA 2000 Part 1 Enhance support for Web Services: XML processing and messaging First Megaservices Part 2 Comprehensive suite with new versions of key products History of Standards Evolution Messaging Distributed Objects Networking SMTP XML ??? TCP/IP ? ? ? x.400 cc:Mail COM+ Banyan LanMan CORBA Netware MHS EJB SNA Observations Vendor-independent standards eventually win Proprietary solutions either develop compatible interfaces to VIS or vanish Those with strongest technology and tools are the best bets Microsoft is in a better position with XML than we were for messaging or networking Evolution To Web Services Standard Connectivity Presentation Programmability “Browse the Web” “Program the Web” 1st & 2nd Generation Web Apps File DB In-house systems File Web Server Web Server Browser Browser 1-1 correspondence of page to file “Dynamic Pages” 3rd Generation Web Web Web service site File Web Web service site Web Web service site Tomorrow, external Web sites become building blocks using XML •Web Services •Megaservices “The Firewall” Accessing another site today = HTML “screen scraping” or “your architect calls my architect” In-house systems DB Web Server Browser “Dynamic Pages” Examples of Web Services Location Services Maps, routing, nearby locations… Shopping Services Order tracking, supply chain, auctions, coupons… Information Services Communication Services Headlines, weather, horoscopes, TV times… Email, instant messages… Some Web Service Scenarios Search engine enables you to program it without a browser Travel site enables you to compare against other travel sites Web customer relationship management software extended to search online White Pages Traffic monitoring site communicates with PIM to calculate how long it will take you between meetings Combining Web Services Calendar SOAP White Pages Mapping SOAP (Location) SOAP SOAP Alerting Billing Authentication SOAP SOAP Traffic What SOAP Is Designed to perform Web method invocations OS, object model, language agnostic HTTP + XML on the wire Works over existing Internet infrastructure OS, language, and object model agnostic interoperability SOAP Message Structure SOAP Message The complete SOAP Message HTTP Headers Standard HTTP and SOAP HTTP Headers SOAP Envelope <Envelope> encloses payload SOAP Header Headers SOAP Body Method Call & Data <Header> encloses headers Individual headers <Body> contains SOAP Method Call XML Encoded SOAP Method Call & Data SOAP Sample Call POST /StockQuote HTTP/1.1 Host: www.stockquoteserver.com Content-Type: text/xml Content-Length: nnnn SOAPMethodName: Some-Namespace-URI#GetLastTradePrice <SOAP:Envelope xmlns:SOAP="urn:schemas-xmlsoaporg:soap.v1”> <SOAP:Body> <m:GetLastTradePrice xmlns:m="Some-Namespace-URI”> <symbol>DIS</symbol> </m:GetLastTradePrice> </SOAP:Body> </SOAP:Envelope> Security Builds on HTTP security HTTPS X.509 certificates Firewalls can filter easily Does not pass application code Developers/IT choose which methods to expose explicitly SOAP and Standards Builds on W3C XML standards IETF HTTP standard SOAP Spec v1.0 to IETF http://www.ietf.org/internetdrafts/draft-box-http-soap-01.txt Industry Support IBM Lotus DevelopMentor Inc. Digital Creations IONA Technologies PLC Jetform ObjectSpace Inc Rockwell Software Inc. Rogue Wave Software Inc. Scriptics Corp. Secret Labs AB UserLand Software Inc Zveno Pty. Ltd. … DNA 2000 Part 1 Enhance support for Web Services: XML processing and messaging First Megaservices Part 2 Comprehensive suite with new versions of key products Windows DNA 2000 Megaservices Web Service building blocks Commerce Server Next-generation e-commerce BizTalk Server Business process integration Host Integration Works with what you have AppCenter Server Server farm management SQL Server 2000 RDBMS with XML store Windows 2000 Built-in application services what’s new? – mts integration Windows NT4 Windows 2000 Component Framework Type Integration MSJAVA.DLL VBVM600.DLL ATL.DLL MSJAVA.DLL VBVM600.DLL ATL.DLL Context Concurrency Transactions MTXEX.DLL OLE32.DLL OLE32.DLL Class Loading Remoting OLE32.DLL Post W2K The Integrated Platform Time-To-Market COM+ COM DCOM MTS/MSMQ DTC Transactions Security AsyncCalls Events Object Pooling CRM CLB System Services Directory Security WMI MSI Windows DNA Scalability Application Servers TPC-C Performance 3,441 OS / Database 3500 Dynamic Pages Served per Second 3000 COMPAQ Pentium III/Win NT 4 Server 4 Application Servers 1 SQL Server 7.0 Database Server ($170,000) 2500 SUN SPARC/Solaris 3 SUN Application Servers 1 Oracle 8i Database Server ($430,000) 2000 1,981 1,363 1500 1,013 1,039 tpmC Price/ tpmC 1 Microsoft Windows 2000 / SQL 2000, 12 node 227,079 $19.12 2 Microsoft Windows 2000/ SQL 2000, 8 node 152,207 $18.93 3 IBM AIX/Oracle 8i 135,815 $52.70 4 IBM AIX/Oracle 8i 135,461 5 Sun Solaris / Oracle 8i 135,815 $54.94 6 Sun Solaris / Oracle 8i 115,395 $105.63 7 IBM AIX/Oracle 8.0 110,434 $122.44 8 Digital Unix/Oracle 8.0 102,541 $133.49 9 HP HP-UX/Sybase ASE12 102,023 $63.21 10 Microsoft Windows NT / Oracle 8i 101,657 $35.68 $97.10 845 787 1000 373 500 Haht SUN iPlanet HahtSite (Netscape App Server) BlueStone Sybase Sapphire App Web Server SUN Progress Net-Net Aptivity Dynam ics 5 Microsoft VB/ IIS/ASP Microsoft VC++/ IIS/ISAPI Source: DocuLabs/ZDLabs App Server Shootout 7/99; Transaction Processing Performance Council Performance Windows NT 4.0 vs. Windows 2000 FMStocks 1.0 on Windows NT 4.0 7500 concurrent VUs 5 second delay between pages FMStocks 2000 on Windows 2000 AS 12,000 to 14,000 VUs sub-second response time ~3B dynamic pages served per day (35k pages / sec) * (86,400 sec / day) No image download – 100% ASP Windows DNA 2000 Megaservices Web Service building blocks Commerce Server Next-generation e-commerce BizTalk Server Business process integration Host Integration Works with what you have AppCenter Server Server farm management SQL Server 2000 RDBMS with XML store Windows 2000 Built-in application services Problem Statement Businesses exchange information Printed documents via FAX (most) Electronic Data Interchange (EDI) (<1%) Objects (few) Businesses of all sizes need to exchange information electronically Large businesses use EDI today Many small and medium size businesses don’t use EDI today (csv ad hoc) BizTalk: Framework / Server BizTalk Framework Industry Initiative www.biztalk.org Jump Start Download BizTalk Server Microsoft Server and Tools Product Expected to ship CY’00 BizTalk Steering Committee Ariba SAP Merrill Lynch CommerceOne Baan Boeing Concur Peoplesoft UPS Clarus J.D. Edwards US DoD Pivotal Data Interchange Standards Association American Petroleum Institute Open Applications Group RosettaNet What is BizTalk Server? A Windows 2000 Service and a set of related tools Allows the creation, integration, and execution of business processes based on reliable and loosely-coupled business document exchange. Based on XML Natively uses BizTalk schema and protocol Also supports EDI Scenarios Scenarios Trading Partner Integration Customer Value Proposition Enable information interchange among trading partners Business Process Integration Enable businesses to link their multiple business processes Automated Procurement Enable businesses to source goods and services with one-one or one- many vendors B2B Portals Enable B2B intermediaries to automate content aggregation and management Sub Scenarios Internet EDI Supply chain integration Order management Invoicing Shipping coordination Commerce – ERP integration Commerce – Legacy integration ERP – ERP integration MRO pricing MRO purchasing Order tracking Government procurement Enterprise portals/Extranets Trading communities/Portals Electronic catalog management Content syndication Post sale customer management Terminology Organization – document exchange endpoint (source and/or target). Document – structured business data (PO, invoice, etc.) Has corresponding XML-data schema. Agreement – binding between organizations. Rules for processing the document exchange. Map – XSL stylesheet for translating source document format to target document format. BizTalk: Key Benefits Easily Establish and Manage Internet Trading Relationships Quickly Automate Document Interchange with Anybody, Anywhere Easy-to-use “Business Desk and Tools” Out-of-the-box support for the widest range of data formats and communications protocols Cost Effective Integration of business processes Schema and Mapping tools to enable, one-on-one integration with virtually any back-end or legacy system Key Features Trading Partner Management Document Mapping and Translation Business Desk (Proposals, Agreements, etc.) XML Schema and Mapping Tools EDI Interoperability (ANSI X12, UN EDIFACT) Reliable Document Routing and Delivery Synch and Asynch Communication Content-Based Routing Multiple Documents per Envelope (Batch) Reliable Delivery over any Transport Architecture & Flow Example BizDesk - Trading Partner Management Tools BizTalk Editor BizTalk Mapper Agreement EDI EDI EDI EDI EDI Sequence Editor Data Storage EDIXSL IDOC SpecMapSpec WebDAV Admin Work Items SAP EDI IDOC Tracking MSMQ Sequence EngineSAP MSMQ DCOM IDOCXML DCOM DCOM HTTP EDI to XML EDI EDI HTTPConvert BizTalk BizTalk Server Server Transform Group SAP Group EDI ADO ADO Trading Partner EDI IDOC EDI XML SAP Convert XML to IDOCFile File IDOC IDOC SAP Integration Component EDI EDI Exchange SMTP SMTP EDI XML FTP IDOC EDI SNA Server System System SAP IDOC SAP IDOC SAP R/3 BizTalk Mapper BizTalk Editor Windows DNA 2000 Megaservices Web Service building blocks Commerce Server Next-generation e-commerce BizTalk Server Business process integration Host Integration Works with what you have AppCenter Server Server farm management SQL Server 2000 RDBMS with XML store Windows 2000 Built-in application services SQL 2000 Enhancement Release to SQL Server 7.0 Win TPC-H/R on Windows NT SMP configurations XML support Expand Analysis Services Materialized Views, Parallelism, and Tuning Internet Enhancements Performance, reliability, availability and features Scalability (SS and Plato) Data Mining Integration (repository) Great on the Desktop Improve performance, footprint, startup time Queued Replication and Easier deployment Data Mining Overview Data Mining Definition Deducing Knowledge by Examining Data “Knowledge” = patterns, clusters, rules, decision trees, association rules “Examining data” = scanning samples of known facts about “cases” Once the “Knowledge” Is Extracted, It Is Used To Make predictions about new data Explain existing data Visualize data to aid humans Data Mining Overview Mining Process Training Data DM Engine Mining Model Mining Model Data Mining Model To Predict DM Engine Predicted Data XML in SQL Server 2000 Business Scenarios Web Applications with Dynamic Data Browser-based applications that require data from a database Business-to-Business Data Processing Data interchange using XML as a Ubiquitous Extensible Platform-independent data transport mechanism Database Publishing Setting Up HTTP Access Example User sends HTTP request to retrieve SQL Server 2000 data 3 ISAPI Filter 4 OLE DB Customer 1 2 5 Internet 9 8 IIS 6 7 SQL Then Data Goes Back to Customer HTTP Access – URL Types URL Query Direct Query http://server/vroot/dbobject/xpath Template http://server/vroot?sql=“…” http://server/vroot/vname?params XML Schema http://server/vroot/vname/xpath?params URL Query DBObject Query http://localhost/Northwind/products/Products[@ProductID=' 1']/@ProductName Template Query http://localhost/Northwind?sql=select CustomerID, ContactName FROM Customers FOR XML Auto, Elements http://localhost/Northwind/templates/customernoxsl.xml Schema Query http://localhost/northwind/schemas/BtsOrders.xml/Orders[ @OrderID="10643"] Building DNA2000 Applications on Microsoft Platform Great Starting Places on MSDN http://msdn.microsoft.com/vstudio/scale • • • http://msdn.microsoft.com/xml • • Complete XML Developer Center, with toolkits, samples Illustrates using XML to integrate back end systems http://msdn.microsoft.com/vstudio/interop • • Design pattern for end-to-end Web application Complete design and tuning documents Recent scalability benchmarks Enterprise Interoperability Center with sample ecommerce application Illustrates use of Microsoft technologies to easily integrate with SAP R/3, Oracle 8, IBM DB/2, IBM CICS and AS400 http://msdn.microsoft.com/voices/sampleapp.asp • Duwamish Books, sample ecommerce app and design docs