1 / 20

Overview of MS Atlas

Overview of MS Atlas. Wallace B. McClure Scalable Development, Inc. www.scalabledevelopment.com ASP.NET Podcast www.aspnetpodcast.com. Who the heck am I…. Developer/Architect. Microsoft MVP. ASPInsider. Author. “Building Highly Scalable Database Applications” – 2002.

Antony
Télécharger la présentation

Overview of MS Atlas

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Overview of MS Atlas Wallace B. McClure Scalable Development, Inc. www.scalabledevelopment.com ASP.NET Podcast www.aspnetpodcast.com

  2. Who the heck am I…. • Developer/Architect. • Microsoft MVP. • ASPInsider. • Author. • “Building Highly Scalable Database Applications” – 2002. • “Professional ADO.NET V2” – Soon. • “AJAX with ASP.NET” – 2006. • “IIS7 for Developers/Admins” – 2007. • “ASP.NET in Orcas.” – In our lifetime.

  3. Disclaimer • Atlas is currently Alpha. • Your mileage will vary. • Not everything is documented at this time. • I make no guarantees that anything will work during the demo or afterwards. • October, 2005 TP. • 2006 – Go Live. • Ship with the next revision of the framework Orcas.

  4. What’s the problem with what we got? • Roundtrips. • Server-oriented architecture. • Client and server are not integrated together.

  5. What/Why AJAX? • Out of band client-server calls. • AJAX - Asynchronous Javascript and XML (Atlas and AJAX.NET Pro use JSON). • Decreased network utilization. • Decreased Server CPU utilization. • Much like Client-Server computing. • Better utilization of application resources. • Opportunity to relearn Javascript. • Its cool, its hip, everybody’s doing it.

  6. What is Ajax? (cont.) • Major operations no longer “require” going back to the server.

  7. What is Atlas? • Floor Wax? • Dessert Topping? • Shampoo? • More than Microsoft’s AJAX. • Component Framework for building client side web applications. • Similar in concept to the .NET Framework for the client side web browser.

  8. What is Atlas(cont.)? • Out-of-band client to server calls. • Asynchronous. • Cross-browser. • Internet Explorer. • Firefox. • Safari. • Browser Abstraction Layer. • VSI file that plugs into VS.NET 2005. • GAC is not required.

  9. Pieces-n-Parts • Client • Browser Abstraction Layer. • Script Core. • Base Class Library. • Component Model and UI Layer. • Controls & Components. • Server • Server Control Framework. • Web Services Bridge. • Application Services Bridge.

  10. “Atlas” Client Script Library Controls, Components ASP.NET “Atlas” Server Extensions App Services Bridge Component Model and UI Framework “Atlas” Client Application Services “Atlas” Server Controls Web Services Bridge Base Class Library Local Store, … Script Core ASP.NET 2.0 Browser Integration Page Framework, Server Controls Application Services Browser Compatibility Architecture Diagram HTML, Script, “Atlas” Markup “Atlas”-enabled ASP.NET Pages “Atlas” Service Proxies Web Services (ASMX or WCF) Controls, Components “Atlas” Server Controls “Atlas” Client Framework and Services “Atlas” Server Framework

  11. “Atlas” Approach to Development • Application development • Simple inclusion of script-based functionality via script components, server controls • Separation of UI and behavior • Component development • Enables disciplined approach to scripting • Framework for encapsulating data, and logic • Abstracts browser differences • Provides building blocks for higher level development

  12. Simple AJAX/Atlas Example • Two form elements. • On a client side event, call a server side method without posting back to the server. • Asynchronous call. • Process the information that is returned. • MethodName(Param1,…ParamN, OnCompletion, OnTimeOut, OnError).

  13. Let’s go to the code. • Namespace utilization on the client. • Client side framework through javascript includes. • Client side proxies generated through “/js” option in the include. • Use the .ClientID/UniqueID.

  14. More Complicated UI Example • AutoCompletion of Textboxes. • Sorry, but Drag-n-Drop is not well documented at this point. • Databinding Examples are online. • Let’s go to the code.

  15. Building an Atlas Component Type.registerNamespace('PDC'); PDC.Sequence = function() { PDC.Sequence.initializeBase(this); var _count = 1; var _value = 0; var _randomize = false; this.get_count = function() { return _count; } this.set_count = function(value) { _count = value; } ………….. this.dispose = function() { if (_timer) { _timer.tick.remove(_tickHandler); _timer.dispose(); } PDC.Sequence.callBaseMethod(this, 'dispose'); } ………….. Type.registerSealedClass('PDC.Sequence', Web.Component); Web.TypeDescriptor.addType('pdc', 'sequence', PDC.Sequence); } <atlas:Script ID="sampleScript" runat="server" Path="~/ScriptLibrary/Sequence.js" /> var g_sequence = new PDC.Sequence(); g_sequence.set_count(20); g_sequence.next(); var value = g_sequence.get_value();

  16. Debugging • debug.dump(object, name, true/false); • for(m in object) alert(m); • Tools: • Visual Studio .NET. • Fiddler. • WebDev Helper.

  17. Where does Atlas/AJAX make sense? • Microsoft IIS Environment. • .NET 2.0. • Where data transfer is limited. • Small changes. • Limited bandwidth.

  18. Difficulties • No Javascript IDE Intellisense. • Bookmarking. • Back Button. • Accessibility/Section 508. • Search Engines. • Application State. • Downlevel browsers. • Debugging Javascript. • Doing too much at the client. • I’ll just save these 50,000 records on the client and not have to go back to the server for the next page of records………….. • Browsers are fairly fragile animals.

  19. Resources • http://atlas.asp.net/ • http://www.aspnetpodcast.com/ • http://www.wilcob.com/ • http://weblogs.asp.net/wallym • http://www.nikhilk.net/ • “AJAX with ASP.NET” in 2006

  20. Questions / Comments • Wallace B. McClure • Scalable Development, Inc. • http://www.scalabledevelopment.com • 865-693-3004

More Related