Your SlideShare is downloading. ×
The powerpoint slides from the talk
The powerpoint slides from the talk
The powerpoint slides from the talk
The powerpoint slides from the talk
The powerpoint slides from the talk
The powerpoint slides from the talk
The powerpoint slides from the talk
The powerpoint slides from the talk
The powerpoint slides from the talk
The powerpoint slides from the talk
The powerpoint slides from the talk
The powerpoint slides from the talk
The powerpoint slides from the talk
The powerpoint slides from the talk
The powerpoint slides from the talk
The powerpoint slides from the talk
The powerpoint slides from the talk
The powerpoint slides from the talk
The powerpoint slides from the talk
The powerpoint slides from the talk
The powerpoint slides from the talk
The powerpoint slides from the talk
Upcoming SlideShare
Loading in...5
×

Thanks for flagging this SlideShare!

Oops! An error has occurred.

×
Saving this for later? Get the SlideShare app to save on your phone or tablet. Read anywhere, anytime – even offline.
Text the download link to your phone
Standard text messaging rates apply

The powerpoint slides from the talk

799

Published on

0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total Views
799
On Slideshare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
2
Comments
0
Likes
0
Embeds 0
No embeds

Report content
Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
No notes for slide
  • OK, before I talk to this slide, I wanted to ask a question – how many folks have looked at scripting in the past, and kind of shied away from it? I’ll admit, I was one of them. With atlas we took a different approach than some of the other script work we’ve done in the past. Atlas aims at making script a more viable alternative for complex apps – both for the application developer and for the component developer. Application Development Enables easy incorporation of script-based functionality Components encapsulate details Declarative and/or imperative model Enables “ clean” inclusion of script Unobtrusive attachment of script behavior to user interface UI and script can be developed independently Component Development Enables a disciplined approach to scripting Extends script to include intuitive APIs Provides a framework for encapsulation of data, logic and user interface behavior Abstracts browser differences in compat layer Provides building blocks for higher level components Provides debug mode tracing, assert functionality
  • 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. Architecture Diagram “ Atlas” Server Controls “ Atlas” Server Framework “ Atlas” Client Framework and Services “ Atlas”-enabled ASP.NET Pages Web Services (ASMX or WCF) HTML, Script, “ Atlas” Markup “ Atlas” Service Proxies Controls, Components ASP.NET “Atlas” Server Extensions “ Atlas” Server Controls App Services Bridge Web Services Bridge “ Atlas” Client Script Library Controls, Components Script Core Base Class Library Component Model and UI Framework Browser Compatibility “ Atlas” Client Application Services Local Store, … Browser Integration ASP.NET 2.0 Application Services Page Framework, Server Controls
    • 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. Architecture Diagram Details Client
      • Script Core
        • JavaScript extensions to Array, String, …
        • OOP patterns and type system
      • Base Class Library
        • StringBuilder, Debug, Event, Serialization, …
        • WebRequest, WebResponse, MethodRequest
        • DataTable, DataSource
        • Declarative Script Markup
      • Component Model and UI Framework
        • Component, IDisposable, TypeDescriptor, Binding, …
        • Control, Behavior, Validator, Templates, DragDrop, Popup, UI Effects, …
      • UI Controls
        • TextBox, ListView, ItemView
    • 13. Architecture Diagram Details Server
      • Server Control Framework
        • Allows rendering UI markup, and script markup
        • Describe corresponding script OM
      • Web Services Bridge
        • Support for .asmx and WCF services
        • Automatic generation of script proxies
        • Uses JSON serialization, GET/POST protocols
      • App Services Bridge
        • Expose server application services and .NET framework functionality for use from client
          • Authentication, Profile, CultureInfo, …
    • 14. 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).
    • 15. 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.
    • 16. 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.
    • 17. 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=&quot;sampleScript&quot; runat=&quot;server&quot; Path=&quot;~/ScriptLibrary/Sequence.js&quot; /> var g_sequence = new PDC.Sequence(); g_sequence.set_count(20); g_sequence.next(); var value = g_sequence.get_value();
    • 18. Debugging
      • debug.dump(object, name, true/false);
      • for(m in object) alert(m);
      • Tools:
        • Visual Studio .NET.
        • Fiddler.
        • WebDev Helper.
    • 19. Where does Atlas/AJAX make sense?
      • Microsoft IIS Environment.
      • .NET 2.0.
      • Where data transfer is limited.
      • Small changes.
      • Limited bandwidth.
    • 20. Difficulties
      • No Javascript IDE Intelli sense.
      • 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 cli ent and not have to go back to the server for the next page of records…………..
        • Browsers are fairly fragile animals.
    • 21. 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
    • 22. Questions / Comments
      • Wallace B. McClure
      • Scalable Development, Inc.
      • http://www.scalabledevelopment.com
      • 865-693-3004

    ×