PPT del Technight
Upcoming SlideShare
Loading in...5
×
 

PPT del Technight

on

  • 775 views

 

Statistics

Views

Total Views
775
Views on SlideShare
774
Embed Views
1

Actions

Likes
0
Downloads
3
Comments
0

1 Embed 1

http://www.slideshare.net 1

Accessibility

Categories

Upload Details

Uploaded via as Microsoft PowerPoint

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment
  • In part 1, Shanku showed a task list application built using atlas to provide a richer and more interactive application. He showed some of the key components to do data access, and visualization, as well as some fancy drag/drop using functionality built in into atlas, that you can use either in script or from declarative markup. In this talk, I’ll show how to go about building some script components to start with, and then show how atlas can be used to enhance server controls. Along the way, I hope you will see how atlas is an extensible framework, and also makes script programming more approachable and viable than its been in the past.
  • This is the overall architecture diagram for both client and server pieces of atlas, that was shown and discussed in more detail yesterday. The key thing to gather from this diagram is that atlas takes an end-to-end look at developing rich web applications, in terms of client and server functionality, while following a layered approach to packaging all of the functionality. This diagram should provide some context for the components we just saw in the application. Essentially I am going to show you how you use different pieces of atlas to build your own components, controls in scripts, as well as atlas enabled server controls for use on the server in the second half. Being on the top of stack implies that you can make use of all the functionality in the layers beneath you, and you’ll see me do that as we go through the code.
  • 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
  • Lets start looking at some common scenarios, solutions for those, and how atlas plays a role in those scenarios.

PPT del Technight PPT del Technight Presentation Transcript

  • AJAX / ATLAS Carlos Zanini , Harriague & Asociados [email_address] www.harriague.com.ar
  • Agenda
    • Que es AJAX
    • Aplicaciones Web tradicionales
    • Algunas soluciones
    • Beneficios de AJAX
    • Casos de éxito
    • AJAX.NET – Cómo funciona
    • Beneficios de AJAX.NET
  • Que es AJAX
    • Asynchronous JavaScript And XML
    • Combinacion de 3 tecnologías:
      • HTML (o XHTML) y CSS
      • Document Object Model (DOM) y JavaScript
      • XML y XSLT
    • Soportado por diferentes navegadores:
      • Internet Explorer
      • Mozilla, Firefox
      • Opera
      • Konqueror
      • Safari
    View slide
  • Aplicaciones Web tradicionales
    • El protocolo HTTP es “StateLess”
    • La interacción del usuario significa ir al servidor
    • TODA la página viaja al servidor
    • Uso de ancho de banda excesivo
    • .NET simplifico al desarrollador
    • La experiencia del usuario no es la mejor
    View slide
  • Algunas soluciones
    • IFRAME (solo IE)
    • XmlHttp (complicado, tampoco es cross-browser)
        • var x = new ActiveXObject("Microsoft.XMLHTTP");
        • x.Open( "GET", "http://server/dir1/resource.asp", true)
        • x.onreadystatechange = HandleStateChange;
        • x.Send()
        • function HandleStateChange()
        • {
        • if (x.readyState == 4) { // Complete
        • if ( x.status == 200 )
        • var mytext = x.responseText;
        • }
        • }
  • Ventajas de AJAX
    • Procesamiento Server-Side sin postbacks
    • Dispara y procesa pedidos/respuestas del servidor asincrónicamente
    • Ahorro de ancho de banda
    • Mejora la experiencia del usuario
  • Algunos ejemplos..
    • Google Mail
    • Google Suggest
  • Algunos ejemplos..
    • Outlook Web Access, www.live.com
  • AJAX.NET – Cómo funciona
    • Se agrega una Referencia a “ajax.dll” al proyecto
    • Se configura en el Web.Config un HttpHandler para los request de Ajax.NET
        • <configuration>
        • <system.web>
        • <httpHandlers>
        • <add verb=&quot;POST,GET&quot; path=&quot;ajax/*.ashx&quot; type=&quot;Ajax.PageHandlerFactory, Ajax&quot; />
        • </httpHandlers>
        • <system.web>
        • </configuration>
  • AJAX.NET – Cómo funciona
    • La clase debe Registrarse para AJAX.NET
        • private void Page_Load(object sender, EventArgs e) {
        • Ajax.Utility.RegisterTypeForAjax(typeof(Index));
        • }
    • Los métodos se escriben en C#/VB.NET y se les agrega un atributo [AjaxMethod]
        • [Ajax.AjaxMethod()]
        • public int ServerSideAdd(int firstNumber, int secondNumber)
        • {
        • return firstNumber + secondNumber;
        • }
  • AJAX.NET – Cómo funciona
    • La llamada se hace desde JavaScript
        • <script language=&quot;javascript&quot;>
        • Sample.ServerSideAdd(100,99, ServerSideAdd_CallBack);
        • function ServerSideAdd_CallBack(response){
        • if (response.error != null){
        • alert(response.error);
        • return;
        • }
        • alert(response.value);
        • }
        • </script>
  • Beneficios de AJAX.NET
      • Los métodos y clases de nuestra aplicación pueden ser utilizados para AJAX.NET.
      • Podemos retornar una clase .NET serializada como un objeto para JavaScript.
      • Los WebServices se utilizan sin necesidad ser modificados
        • <script type= “text/javascript“ src=“service1.asmx?AJAX“></script>
      • DataSet, DataTable, DataRow, ArrayList, Array, DateTime, TimeSpan, …
      • Permite acceder a HttpContext.Current.Session[…]
      • Demo AJAX.NET con VS2003
  • Preguntas.. ? Carlos Zanini , Harriague & Asociados [email_address] www.harriague.com.ar
  • Proyecto “ATLAS”
  • Agenda
    • Que es ATLAS
    • Visión general de ATLAS
    • Arquitectura
    • Desarrollando en “Atlas”
    • Componentes y Tipos
    • Comunicación con el Servidor
    • Script Controls
    • Server Controls
    • Demo
    • Como prepararse para ATLAS
  • Vision General de “Atlas”
    • Permite la creación de aplicaciones ricas e interactivas usando DHTML
    • Orientado a Componentes
    • Modelos de programación: imperativo y declarativo
    • Se integra con ASP.Net 2.0
    • Extensible Application framework
      • Componentes de script personalizados, controles, behaviors
      • Controles de servidor personalizados
    • Hace mas amistoso el desarrollo de aplicaciones basadas en scripts en el cliente
  • Arquitectura “ 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
  • Desarrollando en “Atlas”
    • Desarrollo de aplicaciones
      • Inclusión simple de funcionalidad basada en script vía componentes de scripts o controles de servidor
      • Separación de UI y comportamiento
    • Desarrollo de componentes
      • Desarrollo de scripts en forma disciplinada
      • Framework para encapsular datos y lógica
      • Abstrae la diferencia de los navegadores
      • Provee building blocks como base de desarrollo.
  • Componentes y Tipos
    • Escenario:
      • Los script pueden volverse desordenados, inmantenibles, etc.
    • Solución:
      • Encapsular datos y lógica en clases
      • Exponer un modelo de objetos intuitivo
    • “ Atlas” provee constructores OOP para script
      • Namespaces, clases, interfaces, herencia, etc.
    • “ Atlas” permite a las clases trabajar en conjunto
      • Web.Component
      • Participan en mecanismo de “dispose”
      • Soportan uso declarativo
  • Comunicación con el Servidor
    • Escenario:
      • Las aplicaciones necesitan acceder a datos en el servidor
    • Solución:
      • Exponer funcionalidad del servidor como web services y acceder a ellas mediante XMLHTTP
    • “ Atlas” provee building blocks para esto
      • WebRequest abstrae a XMLHTTP
      • ServiceMethodRequest, y PageMethodRequest permiten invocar WebMethods
        • Proxies de script auto-generados
  • Script Controls
    • Escenario:
      • Las aplicaciones necesitan interfaces de usuario interactivas y visualizar muchos datos dinámicos
    • Solución:
      • Empaquetar la lógica de UI como componentes asociados a elementos HTML
    • Controles de scripts “Atlas”
      • Conjunto básico de controles incluidos
      • Permiten definir comportamiento separado de la inteface de usuario
      • Pueden manipular DOM, manejar eventos, participar en validaciones, etc.
  • Server Controls
    • Escenario:
      • Las aplicaciones necesitan mejorar la funcionalidad del lado del cliente
    • Solución:
      • Mejorar los controles de servidor para generar paginas “Compatibles con Atlas” mientras se preserva el modelo de programación en el servidor
    • Controles de Servidor “Atlas”
      • Construidos sobre ASP.NET v2.0
        • IScriptComponent, ScriptManager
        • RenderScript y metodos relacionados
        • Representacion del lado del servidor de bindings, acciones, comportamiento, etc…
      • Propiedades y eventos del lado del servidor, etc.
      • Soporte para escenarios de postback
    • Atlas Hands on Labs 1
    • Atlas Hands on Labs 2
    • Atlas Hands on Labs 3
    • Atlas Hands on Labs 4
  • Como prepararse para ATLAS
    • Estructurar la aplicación para el re uso
        • Separar funcionalidad UI en Web Services
        • Crear componentes UI con user controls
        • Utilizar CSS para manejar los estilos
    • Usar ASP.NET 2.0
        • ASP.NET Client Callbacks (ICallbackEventHandler)
        • Personalización de UI
    • Empezar a pensar en UI ricos (rich client)
  • Links / Recursos
    • ATLAS
      • http:// atlas.asp.net/
    • AJAX.NET
      • http ://www.schwarz-interactive.de/
    • Visual Studio 2005
      • http:// msdn.microsoft.com/vstudio/
    • MSDN
      • http ://msdn.microsoft.com
    • Live.com
      • http:// www.live.com/
    • Mi Blog
      • http:// www.exodus.com.ar/blogs/carloszanini/
  • Preguntas.. ? Carlos Zanini , Harriague & Asociados [email_address] www.harriague.com.ar