Compartir a través de


Lección 4: Agregar una clase de notificación

En esta lección, agregará una clase de notificación al archivo de definición de aplicación (ADF) y luego actualizará la instancia de Notification Services para aplicar los cambios a la base de datos de la aplicación. Luego podrá revisar los cambios realizados en la base de datos de la aplicación.

Información básica sobre la clase de notificación

Una clase de notificación representa un tipo de notificación producido por la aplicación de Notification Services. Cuando se define una clase de notificación, se define la siguiente información:

  • Campos para los datos de notificación, incluidos los tipos de datos. Estos campos definen los datos que se enviarán a los suscriptores.
  • Información sobre el formateador de contenido utilizado para dar formato a las notificaciones de la clase de notificación. Puede utilizar el formateador de contenido XSLT (Extensible Stylesheet Language Transformations) integrado o utilizar un formateador de contenido personalizado.
  • Información sobre cómo utilizar los protocolos de entrega usados para entregar notificaciones.

También puede definir parámetros opcionales como una entrega de resumen o una entrega de multidifusión y el tiempo de caducidad de la notificación. Para obtener más información sobre las clases de notificación, vea Definir clases de notificación.

Al crear o actualizar la aplicación, Notification Services utiliza la definición de la clase de notificación para crear tablas, vistas, índices y procedimientos almacenados para almacenar y administrar datos de notificación.

Cuando se crea la tabla y la vista de notificación, Notification Services agrega los campos siguientes: SubscriberId, DeviceName y SubscriberLocale. Estos campos son necesarios para Notification Services y se describen en lecciones posteriores.

Clase de notificación WeatherAlerts

Para esta aplicación, agregará una clase de notificación WeatherAlerts al ADF. Esta clase de notificación tiene cinco campos de notificación, un formateador de contenido XSLT y un protocolo de entrega File.

  • Los campos de notificación son City, Date, Low, High y Forecast. En esta aplicación, los campos de la clase de notificación coinciden con los campos de la clase de evento, pero no es necesario que sea así.

  • Cuando Notification Services distribuya las notificaciones, convertirá los datos sin procesar en un mensaje personalizado mediante el formateador de contenido XSLT integrado. El nombre del archivo XSLT es WeatherTransform.xslt y la ubicación del archivo se define mediante el parámetro %_AppPath_%; el valor de este parámetro se proporciona en el ICF.
    Para obtener más información sobre el formateador de contenido XSLT, vea Formateador de contenido XSLT.

  • Una vez definido el formato, Notification Services entregará las notificaciones a un archivo utilizando el protocolo de entrega File integrado. El nombre y la ubicación del archivo se definen en el elemento DeliveryChannels del ICF.
    Las definiciones de protocolo contienen definiciones de campo para los encabezados de mensaje, como los que necesita SMTP, y parámetros de ejecución de protocolo para configurar los parámetros de reintento, error y tiempo de espera. El protocolo File no utiliza estos parámetros, pero la mayor parte de los otros protocolos utilizan campos de encabezado.

    [!NOTA] El protocolo de entrega File está concebido principalmente para crear prototipos y realizar pruebas.

Agregar XML de la clase de notificación al ADF

El XML de esta sección define la clase de notificación. Examine el XML y siga las instrucciones que se indican para copiarlo en el ADF.

Agregar XML de la clase de notificación al ADF

  1. Haga clic en Copiar código para copiar el XML en el Portapapeles de Windows.

    <!-- Notification Classes -->
    <NotificationClasses>
      <NotificationClass>
        <NotificationClassName>
          WeatherAlerts</NotificationClassName>
        <Schema>
          <Fields>
            <Field>
              <FieldName>City</FieldName>
              <FieldType>nvarchar(35)</FieldType>
            </Field>
            <Field>
              <FieldName>Date</FieldName>
              <FieldType>datetime</FieldType>
            </Field>
            <Field>
              <FieldName>Low</FieldName>
              <FieldType>float</FieldType>
            </Field>
            <Field>
              <FieldName>High</FieldName>
              <FieldType>float</FieldType>
            </Field>
            <Field>
              <FieldName>Forecast</FieldName>
              <FieldType>nvarchar(3500)</FieldType>
            </Field>
          </Fields>
        </Schema>
        <ContentFormatter>
          <ClassName>XsltFormatter</ClassName>
          <Arguments>
            <Argument>
              <Name>XsltBaseDirectoryPath</Name>
              <Value>%_AppPath_%</Value>
            </Argument>
            <Argument>
              <Name>XsltFileName</Name>
              <Value>WeatherTransform.xslt</Value>
            </Argument>
          </Arguments>
        </ContentFormatter>
        <Protocols>
          <Protocol>
            <ProtocolName>File</ProtocolName>
          </Protocol>
        </Protocols>
      </NotificationClass>
    </NotificationClasses>
    
  2. En el Explorador de soluciones, abra el archivo WeatherADF.xml.

  3. Sustituya el XML siguiente por el XML que acaba de copiar.

    <!-- Notification Classes -->

    <NotificationClasses></NotificationClasses>

  4. En el menú Archivo, seleccione Guardar WeatherADF.xml.

Actualizar la instancia de Notification Services

Una vez que haya modificado el ADF, debe actualizar la instancia de Notification Services para agregar los objetos de clase de notificación a la base de datos de la aplicación.

Para actualizar la instancia de Notification Services

  1. En el Explorador de objetos, expanda Notification Services.

  2. Haga clic con el botón secundario en Tutorial, seleccione Tareas y, a continuación, seleccione Actualizar.

  3. En el cuadro de diálogo Actualizar instancia, haga clic en Examinar, busque el archivo TutorialICF.xml y, a continuación, haga clic en Abrir.

  4. En la cuadrícula Parámetros, revise los valores de los parámetros. Utilice los mismos valores que ha utilizado para crear la instancia.

  5. Haga clic en Aceptar.

  6. Revise el cuadro de diálogo Notification Services: resumen de actualización y haga clic en Actualizar.

  7. Cuando las acciones de actualización hayan finalizado, haga clic en Cerrar.

Revisar los cambios de la base de datos

Una vez que se ha actualizado la instancia, Notification Services agrega tablas, vistas y procedimientos almacenados para la clase de notificación en la base de datos TutorialWeather de la aplicación.

  • Las normas de generación de notificaciones insertarán las notificaciones en la vista dbo.WeatherAlerts.
  • La vista dbo.NSWeatherAlertsFileNotifications contiene notificaciones de la clase de notificación WeatherAlerts enviadas utilizando el protocolo de entrega File. Esta vista sólo se utiliza de forma interna.
  • La vista dbo.NSWeatherAlertsNotificationDistribution combina datos de varias tablas internas de Notification Services para proporcionar información sobre los intentos de distribución de notificaciones.
  • La tabla dbo.NSWeatherAlertsNotifications es la tabla subyacente que contiene los datos de notificación para la clase de notificación. Los datos de notificación permanecen en esta tabla hasta que el proceso de eliminación de datos Vacuumer los elimina. Esta tabla sólo se utiliza de forma interna.
    ms170473.Caution(es-es,SQL.90).gifAdvertencia:
    No modifique directamente los datos de las tablas y vistas de notificación.

Puede utilizar el Explorador de objetos para examinar estos objetos en la base de datos TutorialWeather. Las tablas y vistas de uso interno sólo contienen datos que se utilizan para operaciones internas; no es necesario que comprenda estos datos.

Es posible que deba actualizar el Explorador de objetos para ver los objetos nuevos.

Lección siguiente

Lección 5: Agregar una clase de suscripción

Vea también

Conceptos

Tutorial de Notification Services

Otros recursos

Definir clases de eventos
Crear soluciones de notificación
Introducción a SQL Server Notification Services

Ayuda e información

Obtener ayuda sobre SQL Server 2005