Windows DNA: The Microsoft Application Platform for the Enterprise Carlos McKinley Microsoft Corporation Agenda DNA Explored Site Server XML & BizTalk Server Web Services Evolution To Web Services TCP/IP: universal protocol HTML: universal presentation XML: universal description Connectivity Presentation Programmability Key success factors: •Simplicity •Standards Browse the Web Program the Web Forthcoming Architecture The Inter/Intra/Extranet (PTP) Conversation Client Message Bus on any Protocol Msg Stores Data Stores Web Service Web Service Subscribe Web Service Publish Data Stores Third Generation Architecture: Program the Web User Web Site: Applications Page HTML Data XML Object COM Devices Web Site: Applications Windows DNA - The Guiding Architecture Windows DNA is Distributed Computing Common object model on all tiers Language neutral “Auto-everything” - services for scalable, reliable, interoperable, distributed applications Tools available today Microsoft’s Application Platform Value Proposition A single, rich, fully capable platform for new enterprise applications, with the best build and buy flexibility Ease and Low-cost of Development, via tools tightly integrated with runtime environment Plug into and re-use existing customer investments on desktop, back-ends, development languages and skills Industry leading price/performance The Target Today, It’s Easy to Build Robust Applications for PC’s PC-based Department-sized distributed applications are near ubiquitous But, The Internet Factor. Apps must be 24x7 – software as a service More Reliable, More Scalable, More Secure New apps developed and deployed as quickly as possible Plug into all other corporate IT assets ROI – considering full life-cycle: $$ for development, runtime, management Windows DNA 2000 Next generation of building blocks for Windows DNA applications Windows 2000 is the Cornerstone Rock solid, high performance platform Integrates core Windows DNA Application Services “Friction-free” deployment and management Set of new and enhanced services Richer Web applications platform Improved integration and interoperability E-commerce is “built-in” Exploit Windows 2000 All expected to ship by mid 2000 Windows DNA Presentation services Rich client Components DHTML HTML Scripting Win32 Thin client Windows DNA Business logic Windows NT as an application server includes best of breed services Web Transaction Queuing Security Integrated Write business logic as COM components IIS MSMQ MTS Windows DNA Data services Simplified programmatic access Universal data provider Mainframe Presentation services Application services Directory RDBMS Email and messaging ADO OLE DB File system Distributed transactions and query processing across multiple data stores Windows DNA Interoperability services Bi-directional application, data and network interop with mainframes, AS/400, UNIX and other platforms Extends COM/COM+ to CICS, IMS, terminal oriented apps, Unisys, etc. Extends MSMQ to MQSeries Extends ODBC/OLEDB to DB2, Sybase, Oracle, VSAM Delivers heterogeneous bi-directional data replication Built-in extensibility via SDK COM-XML-MSMQ ADO-OLEDB-ODBC Std. LAN Protocols Application Integration Data Integration Network Integration TCP/IP and SNA OS/390, OS/400, UNIX DRDA - RLIO XA, TDS, CLI and DB LIB APPC, CLI-C, DPL LU0, LU2 and MQSeries VSAM, DB2, Oracle, Sybase CICS, IMS, MQSeries, Terminal Apps Windows DNA 2000 Microsoft Microsoft “Babylon” Commerce Server Microsoft SQLServer Microsoft BizTalk Server Server New or Enhanced: • Application Services • Legacy Interoperability • E-commerce (B2C) • Data Access/Storage • Development Tools • “Developer Success” • + E-commerce (B2B) • + Deployment and Management Windows 2000 Windows DNA Application Services “Built-in” integrated applications server for building distributed Web applications IIS 5.0 - high performance web server Active Server Pages COM+ component services Transactions Message Queue and Queued Components Role-based security Network Load Balancing High performance XML support COM+ Key Features COM+ makes it easier to develop, deploy, and administer Enterprise Scale, Component-based Applications New services Queued components Events Dynamic Load Balancing Object Pooling CRM Improved services Transactions, servers, security, administration Interception Improved interoperability Unify COM and MTS for single programming, admin model XA, TIP, CRM 100% compatible with existing COM and MTS components Same or better performance COM+: Simple, Powerful Programming Model IUnknown Context CreateInstance … OK: SetComplete … Err: SetAbort Attributes Client Server COM+ for Serving Applications Using COM+ Services: You write a “single user” component as though it were the only user of resources COM+ provides the rich service environment to make your component multi-user, multi-threaded and resourcepooled. All you have to do is: Use your favorite COM-compliant tool and add attributes COM+ Server Process Application Client Concurrency Security Services... IFoo Server-side Application Logic COM+ Queued Components Features: Delivery of: component creation, method invocation, and life cycle management over MSMQ queues with transactions Benefits: Increase application availability and resilience Decouple application elements Retain component programming model IRecorder Client Application Component Recorder MSMQ Player IFoo Server Application Component COM+ Event Service Publish-and-Subscribe model Late-bound design Subscription management moved out of app code Event Admin Event Database Application Client Unicast Multicast Sink1 ICustLogin Sink2 ICustLogin Sink3 ICustLogin Event Class Sink4 ICustLogin Unbound IEventXXX Unbound COM+ Component Load Balancing Dynamic load balancing engine, based on response time Available via AppCenter Not included in base OS Server Group select server LB Service Response Time Engine Application Client create LB Activator Response Time track Runtime Server 1 IBank Server 1 IBank coclass Bank [LB=Yes,] IIBank COM+ Object Pooling For use when JIT doesn’t work When objects are expensive to initialize When objects consume expensive resources Pooled Objects : Initialized once at startup Pooled after SetComplete Activate and Deactivate can be used to control recycling Pool size governed by Min and Max parameters Visual Studio Truly Integrated suite of tools Analyzer, Modeler, Package & Deployment, SourceSafe, Respository, Component Manager The “Enterprise Workbench” Allows you to Leverage component support where appropriate – client or server SQL Server 7.0 Best database for Line of Business Best database for Data Warehousing and Business Intelligence Only DB w/ integrated OLAP & ETL Office 2000 integration Fastest time to market Three times faster, 1/3 the cost Self-tuning, self-managing Scalable from laptop to cluster Over 2000 apps available today 3x tpmC per CPU vs. Oracle8i Best SAP performance – any platform Host Integration Server Version upgrade to SNA Server Bi-directional network, data, and applications interoperability with mainframes, AS/400, UNIX, and others. Bridge legacy data into XML Requires no new code on the host Available by mid 2000 Application Integration COM-XML-MSMQ Data Integration ADO-OLEDB-ODBC Std. LAN Protocols Network Integration TCP/IP and SNA OS/390, OS/400, UNIX DRDA - RLIO XA, TDS, CLI and DB LIB VSAM, DB2, Oracle, Sybase APPC, CLI-C, DPL LU0, LU2 and MQSeries CICS, IMS, MQSeries, Terminal Apps AppCenter Server High Availability, Multi-Server Deployment and Management Environment Multiple Server Web Farm Single Server … … Key Features Fault Tolerance Dynamic Load Balancing Simplified Management Remote Management App and Content Replication Staging/Deployment Integrated App Monitoring Load Testing Capacity Analysis WMI enabled Available by mid 2000 Agenda DNA Explored Site Server XML & BizTalk Server Web Services Commerce Must Haves User identification, authentication and targeting Catalog browsing Order capture Transacted Order Processing Analysis Back-End Integration Site Server 3.0 Commerce Edition Account, profile management Online advertising Targeted promotions Direct mail Samples, wizards, tools Order capture, routing, management Market-based pricing Internet EDI Extensible, open Integrate existing systems Engage Transact Analyze Order analysis Usage and content analysis Site iteration Every Site Needs Membership If your site has: Registered and anonymous users: Can users register or update their accounts online? Can you track millions of anonymous (cookie ID) users? Private or sensitive content: Do you roll your own authentication? Can you change permissions w/o rewriting scripts? Premium or subscription areas: Can users subscribe without calling customer service? Can you easily run temporary promotions? Targeted marketing or sales information: How hard is it to author personalized pages? Can you tune personalization w/o rewriting scripts? Membership At The Core Of Site Server And Your Site Commerce Streamlined Sales/Services Personalization Individualized Delivery Membership Customer Accounts and Site Security Analysis Refined Experience Advertising Targeted Message Membership Functions Authenticate users and authorize access to content and applications Store and manage user accounts Self-registration and delegated user admin Protect confidential user information Create personalized Web sites Cookies, Basic, HTML forms, Certificates, DPA Active user object and design time controls Build online communities Membership Web Solutions Personal And Secure Web Site Areas Public Registered Secured Subscribed Anon Customers Repeat Clients Members Only Premium Services Cookie Auth Cookie Auth + Group ACLs Basic, Forms, & Certificates Basic, Forms, & Certificates + Group ACLs Explicit Profiling Explicit Profiling Explicit Profiling + Targeted Mail Explicit Profiling + Targeted Mail + Push Consistent User Tracking & Analysis Agenda DNA Explored Site Server XML & BizTalk Server Web Services XML – A Closer Look 15334, 29.00, 50023, 1, “Ricardo”, … <book> <id>15534</id> <price>29.00</price> <author>Ricardo</author> <title>XML and Me</title> <grade.level>college</grade.level> </book> XML Structure HTML in less then a paragraph. <!--HTML Snippet--> <h1>Invoice</h1> <p>From: C. Brooks. </p> <p>To: C. McCall </p> <p> Date: 2/1/99 </p> <p> Amount: $189.00 </p> <p> Tax: 12% </p> <p> Total Due: $5.00 </p> XML Structure XML in less then a paragraph. <!--XML Snippet--> <Invoice> <From>C. Brooks. </From> <To>C. McCall </To> <Date>2/1/99 </Date> <Amount>$189.00 </Amount> <Tax>12% </Tax> <Total>$5.00 </Total> </Invoice> A “Well-Formed” XML Document XML declaration Attribute <?xml version="1.0"?> <Order o_id="7845" o_date="1999-02-01" o_cur="USD" c_id="JANTOY" > <ShippingAddress sa_city="Erie" sa_state="PA" sa_pcode="19130"> Element <Line l_text="Jan's Toys" /> <Line l_text="1818 Market Street" /> Empty element <Line l_text="3rd Floor, Room 1219" /> </ShippingAddress> <OrderDetails> <Item p_id="325" p_name="Whirlygig" od_qty="5" od_unitp="15.50" /> <Item p_id="326" p_name="Zapper" od_qty="2" od_unitp="10.25" /> <Item p_id="327" p_name="Whirlygig" od_qty="5" od_unitp="15.50" /> </OrderDetails> Start-tag <Comments> This order replaces order 7844 which was cancelled by the customer. </Comments> </Order> End-tag Content Root element Multiple Applications Into A Solution Data (Schema) Accounting Interfaces Website Shipping Design Pattern Customers R&D Business Framework Composable Services Supplier A SAP Planning ERP Supplier B XML Message Online Sales Online Store XML XML Purchase Orders Inventory Capacity JD Edwards Supplier C Siebel Consumers BizTalk Server BizTalk Server Description A Microsoft Product Under Development for Business Process Integration Through the Reliable Exchange of Business Documents Natively Uses BizTalk Schemas Natively Supports XML Documents Integrates with Existing Systems Via Specific Support For X12 EDI UN/Edifact EDI Recordsets Simple flat file delimited or positional documents Many transports BizTalk Server Vision Business Process Integration Within and Between Companies Supplier A BizTalk Documents Online sales Web site Supplier B Planning ERP Supplier C Doing BizTalk With Windows DNA SQL Server Single MTS TX Context LOB DCOM or DCOM Connector ADO HTTP IIS COM Business Logic Components SMTP Exchange DOM Wrapper IE5/COM HTTPS CIPM BTS Windows NT, MMC, PKI, Cert Server, WLBS F I R E W A L L BizTalk Document Structure BizTalk message The complete BizTalk Message Envelope Standard MIME & XML Message Headers BizTalk root <biztalk_1>encloses BizTalk Message BizTalk header Routing information Document body Business document message & document handling info <delivery> encloses to/from routing info <body> contains BizTalk Document BizTalk Document - the business data Current BizTalk Architecture Org A Org B Application App App Adapter Adpt Adpt BizTalk Server Handler Handler Transport Transport BizTalk Server Capabilities Trading Profiles Duluth Mutual POs Invoice West Coast Sales Trading Profiles Trading Partner Profile Management Application Integration EDI interoperability, XML tools for mapping formats Automated document interchange Business Desk (Profiles and Agreements) Content based routing, Digital Certificates (PKI) Rich Management and Analysis SDK for extensibility, direct app integration SQL Agenda DNA Explored Site Server XML & BizTalk Server Web Services st 1 & nd 2 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 Message Types SOAP defines three kinds of messages: Call Response Fault Response and Fault are optional 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 Type safety SOAP and Standards Builds on W3C XML standards IETF HTTP standard SOAP Spec v1.0 to IETF http://www.ietf.org/internet-drafts/draft-boxhttp-soap-01.txt Summary Windows DNA provides a comprehensive, integrated platform for building distributed Web apps Windows DNA 2000 delivers the next wave of building blocks for the platform Windows DNA is the fastest and easiest way to build high-value distributed Web-enabled apps