Skip to content

Etiqueta: Arquitectura

El poder de las métricas de uso mejoradas para optimizar la asignación de eventos de la plataforma

El poder de las métricas de uso mejoradas para optimizar la asignación de eventos de la plataforma

Última actualización el 6 de julio de 2023 por Rakesh Gupta

Gran idea o pregunta duradera:

  • Cómo monitorear el consumo de eventos de la plataforma según el nombre del evento, el ID del cliente, el tipo de evento y el tipo de uso

Objetivos:

Después de leer este blog, podrá:

  • Obtenga una comprensión integral de los eventos de la plataforma
  • Descubra las ventajas de monitorear los patrones de consumo para la optimización del rendimiento del sistema y la identificación de tendencias de uso
  • Implemente métricas de uso mejoradas para eventos de plataforma a través de una guía paso a paso
  • Explore los beneficios de monitorear patrones de consumo para optimizar el rendimiento del sistema e identificar tendencias de uso
  • y mucho más

Jestilla Zetkin trabaja como arquitecta de Salesforce en Gurukul On Cloud (GoC), recientemente se encontró con una publicación de blog titulada Monitoreo de publicación de eventos y uso de entrega de la plataforma . Esta publicación proporcionó información sobre cómo varias formas de monitorear el uso de la publicación y entrega de eventos de la plataforma.

A medida que se expande el negocio de GoC, la afluencia de datos ha llevado a casos frecuentes de alcanzar los límites diarios para los eventos de la plataforma. En consecuencia, Jestilla está buscando una solución para monitorear el consumo de eventos de la plataforma según el nombre del evento, la identificación del cliente o el tipo. Esta capacidad de monitoreo le permitirá analizar qué evento está consumiendo una parte significativa de la asignación, lo que le permitirá tomar las medidas adecuadas en consecuencia.

¿Qué es Plataforma de Eventos?

Las arquitecturas basadas en eventos se han vuelto muy populares en los últimos años y por una buena razón. Se basa en el patrón de fuego y olvido . Activar un evento y dejar que cada sistema maneje la lógica empresarial le permite mantener los sistemas no relacionados desacoplados y puede ayudar a simplificar la arquitectura.

Los eventos de la plataforma le permiten entregar notificaciones de eventos seguras, escalables y personalizables dentro de Salesforce o desde fuentes externas. Las aplicaciones pueden publicar y suscribirse a eventos de plataforma en la plataforma de Salesforce mediante Apex, Flow o en un sistema externo mediante CometD. Si desea obtener más información sobre el evento de plataforma, consulte el módulo de Trailhead .

Comprender el objeto PlatformEventUsageMetric

Hagamos una pausa aquí y familiarícese con el objeto PlatformEventUsageMetric en Salesforce.

Contiene datos de uso para la publicación y entrega de eventos a clientes CometD y Pub/Sub API, componentes empApi Lightning y retransmisiones de eventos. Si las métricas de uso mejoradas están habilitadas, los datos de uso están disponibles para las últimas 24 horas, hasta la última hora y para el uso diario histórico.

En API 58.0 y versiones posteriores, puede habilitar Métricas de uso mejoradas para obtener datos de uso por nombre de evento y cliente para intervalos de tiempo granulares. PlatformEventUsageMetric contiene métricas de uso separadas para eventos de plataforma y eventos de captura de datos modificados.

Nombre del campo
Detalles
Tipo de evento El tipo de evento para el que le gustaría consultar las métricas de uso, como un evento de cambio o un evento de plataforma personalizado. Este campo está disponible cuando las métricas de uso mejoradas están habilitadas.
Segmento de tiempo El intervalo de tiempo utilizado para agregar los datos de uso devueltos en los resultados de la consulta. Este campo está disponible cuando las métricas de uso mejoradas están habilitadas.
Tipo de uso Este campo está disponible cuando las métricas de uso mejoradas están habilitadas. El tipo de métricas de uso de eventos para consultar, como publicación de eventos o entrega de eventos. Utilice este campo con los campos EventName o EventType. Los valores posibles son:

  • PUBLISH —Métricas de uso para eventos publicados.
  • ENTREGA —Métricas de uso para eventos que se entregaron a los suscriptores.
Valor El valor de uso para la métrica y el intervalo de fechas especificados.

Para obtener datos de uso completos para cada evento, aprovecharemos las métricas de uso de eventos mejoradas. Esta función nos permitirá recopilar información agregada e identificar los eventos específicos que consumen una parte importante de la asignación.

Mientras que PlatformEventSettings representa configuraciones para eventos de plataforma y eventos de captura de datos modificados.

Nombre del campo
Detalles
enableEnhancedUsageMetrics Habilita métricas de uso mejoradas para consultas ejecutadas en PlatformEventUsageMetric. Las métricas de uso mejoradas proporcionan campos adicionales para las consultas y segmentos de tiempo granulares. Para obtener más información, consulte Métricas de uso mejoradas en la Guía para desarrolladores de eventos de plataforma. El valor predeterminado es falso.

Práctica guiada (nosotros hacemos):

Antes de que pueda obtener más métricas de uso, debe habilitar las Métricas de uso mejoradas en la API de metadatos . Para hacer esto, establezca el valor del campo enableEnhancedUsageMetrics en verdadero en PlatformEventSettings . Una vez hecho esto, podrá obtener métricas de uso detalladas para el consumo de eventos de la plataforma.

Paso 1: habilite las métricas de uso mejoradas

  1. Asegúrese de que Visual Studio Code esté correctamente configurado y que su organización de Salesforce esté conectada a él.
  2. Modifique el paquete.xml para recuperar los metadatos relacionados con los eventos de la plataforma.
    1. Ejemplo de paquete.xml para recuperar la configuración de PlatformEvent.
      
      
      <tipos> <miembros>PlataformaEvento</miembros> <nombre>Configuración</nombre>
      </tipos>

  3. El siguiente paso es modificar PlatformEventSettings .
    1. Proceda a modificar PlatformEventSettings, cuyos valores se almacenan en el archivo PlatformEvent.settings en la carpeta de configuración .
    2. En PlatformEventSettings, establezca el campo enableEnhancedUsageMetrics en true .
    3. Guarde los cambios en el archivo PlatformEvent.settings-meta.xml .
  4. Finalmente, haga clic con el botón derecho en el archivo de su paquete en el Explorador y seleccione SFDX: Implementar origen en el manifiesto en la organización .

Paso 2.1: obtenga métricas de uso diario agregadas por nombre de evento

  1. Haga clic en Configuración | Consola de desarrollador .
  2. En el Editor de consultas, ejecute la siguiente consulta SOQL
     SELECCIONE EventName, EventType, UsageType, Value, StartDate, EndDate FROM PlatformEventUsageMetric WHERE TimeSegment='Diario'
Seguir leyendo

Sube de nivel tus habilidades Apex ☁️

Sube de nivel tus habilidades Apex ☁️

Esta es una traducción que desde EGA Futura ofrecemos como cortesía a toda la Ohana y comunidad de programadores , consultores , administradores y arquitectos de Salesforce para toda Iberoamérica .

El enlace a la publicación original, lo encontrarás al final de este artículo.

Subiendo de nivel tus habilidades de Apex | Blog de desarrolladores de Salesforce

Apex es una habilidad única que los desarrolladores deben dominar al crear soluciones personalizadas con Salesforce. Hay algunos conceptos básicos que son esenciales. Ciertas cosas, como la sintaxis y el flujo de control, son como aprender cualquier otro idioma. Otras cosas, como operaciones masivas, límites reguladores y disparadores, son particulares de Apex y cómo se implementa en la Plataforma de Salesforce. Una vez que tenga una idea de estas características y modismos clave, ¿a dónde va después?

En esta publicación, aprenderá sobre algunas características de Apex que son críticas para cualquier desarrollador de Apex que busque mejorar más allá de lo básico, junto con dónde puede ir para aprender sobre ellas.

Nota: Siempre que sea posible, los ejemplos de código en esta publicación se toman directamente o se adaptan de la aplicación de muestra Recetas de Apex o la Guía para desarrolladores de Apex. Ver las referencias al final del artículo.

En estos días, si desea un proceso automatizado o una interfaz de usuario similar a un asistente, Flow siempre debe ser una opción que considere. El alcance, la flexibilidad y la madurez de Flow han crecido enormemente. Aún así, es raro que los problemas comerciales complejos se puedan resolver sin ningún tipo de código.

Introduzca Apex invocable.

La anotación @InvocableMethod se usa para definir métodos llamados por Flow. Y @InvocableVariable muestra los parámetros para que Flow pase datos a su código Apex. ¿Por qué llamaría a Apex desde Flow? Quizás la lógica de su flujo se está volviendo demasiado compleja. Tal vez su automatización necesite realizar una operación que no sea accesible para Flow. En casos como estos, Apex puede ser su amigo.

Aquí hay una ilustración básica del uso de la anotación @InvocableMethod :

<dx-code-block title language="java" code-block="public class AccountQueryAction {   @InvocableMethod(label='Get Account Names' description='Returns the list of account names corresponding to the specified account IDs.' category='Account')   public static List getAccountNames(List ids) {     List accountNames = new List();     List accounts = [SELECT Name FROM Account WHERE Id in :ids];     for (Account account : accounts) {       accountNames.add(account.Name);     }     return accountNames;   } }»>

Este ejemplo de la Guía para desarrolladores de Apex ilustra cómo la anotación marca esto como un método que Flow puede invocar. Tenga en cuenta que la anotación también define detalles como una etiqueta y una descripción que determinan lo que se muestra al usuario de Flow Builder.

Un efecto secundario importante de las anotaciones de @Invocable… del que pocas personas hablan es que esto muestra automáticamente su Apex al punto final de la API <INSTANCEURL>/data/<VERSION>/actions/custom/apex .

Otra cosa útil que puede hacer al invocar Apex desde su flujo es acceder a los diferentes tipos de Apex asíncrono. Lo que trae a colación la siguiente característica de Apex que se debe abordar.

La ejecución asíncrona desacopla una acción que queremos realizar del contexto de ejecución actual. Siguiendo las mejores prácticas actuales, existen tres formas de ejecutar Apex de forma asincrónica: en cola, programable y por lotes. Aunque técnicamente el bus de eventos es asíncrono, lo omitiremos por el momento.

Si solo necesita activar un poco de código para ejecutarlo de forma asincrónica, la opción en cola es la herramienta de referencia. Si tiene varias tareas asincrónicas, queueable las ejecuta de manera determinista en orden. Debido a que están en cola en orden, también puede encadenar una llamada asíncrona de otra. Y Apex en cola admite entradas de objetos o tipos primitivos.

Apex programado funciona tal como lo esperaría: ejecute algún código de Apex en un horario. Batch Apex está optimizado para trabajar con conjuntos de datos muy grandes. Para utilizar Apex asíncrono, debe crear una clase de Apex que implemente una interfaz específica: Queueable , Schedulable o Batchable , respectivamente.

Nota: algunos desarrolladores pueden estar familiarizados con la anotación @Future para hacer que un solo método sea asincrónico, también conocido como "métodos futuros". Los métodos futuros, aunque rápidos y fáciles, tienen limitaciones que los hacen menos útiles. No hay nada que pueda hacer con un método futuro que no se pueda hacer mejor con una clase en cola. Por este motivo, no recomendamos implementaciones de producción con métodos futuros.

Por lo tanto, echemos un vistazo a un ejemplo de una clase de Apex que se puede poner en cola.

<dx-code-block title language="Java" code-block="public with sharing class QueueableRecipes implements Queueable { public static void execute(QueueableContext qc) { List accounts = [ SELECT Id, Description FROM Account LIMIT 1000 ]; for (Account acct : accounts) { acct.Description += ‘ Edited by Queueable class’; } try { update accounts; } catch (DmlException dmle) { System.debug( LoggingLevel.INFO, ‘real life use cases should do more than just logging the error: ‘ + dmle.getMessage() ); } }
} «>

Todas las interfaces asíncronas de Apex tienen un método execute() que debe implementarse como se muestra arriba. Para ejecutar su clase Queueable , debe ponerla en cola.

Si bien no se muestra en este ejemplo de la aplicación de muestra Recetas de Apex, para pasar datos a su cola, anule el constructor con los parámetros que necesita.

El término "Apex dinámico" es un poco inapropiado. O, al menos, podría malinterpretarse como que Apex de alguna manera funciona como un lenguaje de programación dinámico. Esto no es a lo que se refiere (por ejemplo, no hay Apex
función eval !).

Dynamic Apex es un código que se adapta a diferentes tipos de SObject ( Account , Contact , My_Custom_Object__c , etc.) en tiempo de ejecución. Esto se hace abstrayendo referencias específicas de SObject. La clave es usar la superclase SObject cuando se trabaja con datos. También utilizará las funciones de "descripción" de Apex para detectar con qué objetos y campos está trabajando y qué puede hacer con ellos (por ejemplo, si este usuario puede consultar este objeto).

Esta es una habilidad esencial para los desarrolladores de ISV. A menudo, creará una aplicación que debe adaptarse al entorno local del cliente que instala su aplicación. Esto significa que su código necesita detectar, describir y adaptar su comportamiento dependiendo de datos conocidos o incluso desconocidos.

Aunque es esencial para un desarrollador de ISV, también es importante para cualquier persona que quiera escribir código más reutilizable.

Tome este ejemplo de consulta muy básico:

<dx-code-block title language="Java" code-block="List accts = [SELECT Id, Name, Website FROM Account];»>

Esto funcionará todo el día consultando los datos de la cuenta. Pero, ¿y si queremos construir una consulta para cualquier SObject?

Para convertir esto en un Apex "dinámico", necesitamos abstraer las referencias de campo y SObject específicas. Y tal vez lo incluiríamos en un método que permitiera a otro desarrollador pasarlos. También podríamos verificar para asegurarnos de que el usuario tenga los permisos de objeto para realizar la operación que estamos a punto de intentar.

<dx-code-block title language="Java" code-block="public static List executeDynamicQuery(Schema.DescribeSObjectResult obj, List fields){ // Create a result-set list List resultRecords; if (obj.isQueryable()){ // Set up a query string String queryTemplate = ‘SELECT {0} FROM {1}’; List queryDetails = new List{String.join(fields, ‘, ‘), obj.getName()}; String queryString = String.format(queryTemplate, queryDetails); // Run your query resultRecords = Database.query(queryString); } return resultRecords; } «>

Lo anterior construye una consulta para un SObject que se pasa al método y una lista arbitraria de campos. Utiliza el objeto DescribeSObjectResult para detectar la capacidad de consulta e inferir el nombre de la API de SObject al construir y ejecutar la consulta. A continuación, debe invocarlo.

Así es como podríamos hacer eso con los objetos Cuenta y Contacto, respectivamente:

<dx-code-block title language="Java" code-block="List accountRecords = DynamicApexClass.dynamicQuery(Account.SObjectType.getDescribe(), new List{‘Id’,’Name’,’Website’}); List contactRecords = DynamicApexClass.dynamicQuery(Contact.SObjectType.getDescribe(), new List{‘Id’,’FirstName’,’LastName’}); «>

Este ejemplo no aborda algunos riesgos de SOQL dinámico, como la inyección de SOQL. Por lo tanto, asegúrese de leer sobre Apex dinámico. Aprender a escribir Apex seguro hará que sea menos probable que implemente código vulnerable en su organización (o la de un cliente). El enlace de variables en sus consultas SOQL es una herramienta clave para proteger su Apex dinámico de ser explotado. El método escapeSingleQuotes() es otra herramienta más antigua que también puede encontrar. El modo de usuario también es clave para garantizar que cualquier acción realizada tenga que cumplir con todas y cada una de las restricciones del usuario que la ejecuta.

Para obtener un ejemplo más completo y seguro de Apex dinámico, consulte la receta de Apex del método invocable en la aplicación de ejemplo Recetas de Apex. Esa acción invocable funciona con el objeto Cuenta o Tarea.

Con Salesforce, hay algunas formas de realizar la integración sin código. Específicamente, si solo necesita una aplicación o servicio de cliente para obtener datos de Salesforce, hay muchas API que se muestran automáticamente sin ningún tipo de codificación en el lado de Salesforce. Incluso se ajustan a su esquema personalizado. Si está integrando su organización a un sistema externo compatible con OData, puede usar Salesforce Connect y objetos externos (nuevamente, no se requiere código).

Pero a veces, es posible que deba llamar desde su organización a un servicio externo. O tal vez desee mostrar un punto final personalizado que agrupe más complejidad que una de las API estándar. Nuevamente, Apex contiene funciones que admiten tanto la aparición de nuevas API personalizadas como la llamada a servicios web.

Al pensar en API personalizadas, en estos días, la mayoría de los desarrolladores pensarían en API REST. Puede crear una API REST personalizada en Salesforce Platform creando una clase de Apex que se anota con la anotación @RestResource . Parte del trabajo de la anotación es definir también el nombre del recurso. Todas las API REST personalizadas basadas en Apex se encuentran en <INSTANCEURL>/services/apexrest/ .

Para definir los comportamientos que necesita admitir, hay una serie de anotaciones de métodos que corresponden a verbos HTTP, como @HttpGet y @HttpPost . La clase RestContext contiene un conjunto de elementos de acceso para obtener el estado de la solicitud HTTP entrante y la respuesta saliente que devuelve. A continuación, se muestra un ejemplo de un extremo REST básico que aparece en el método HTTP GET. Tenga en cuenta cómo se utilizan las anotaciones.

<dx-code-block title language="Java" code-block="@RestResource(urlmapping='/integration-service/*')
global inherited sharing class CustomRestEndpointRecipes( … @HttpGet global static String getRecordsToReturn() { RestResponse response = RestContext.response; try { List accounts = [ SELECT Id, Name, Phone, Website FROM Account WITH USER_MODE ]; response.statusCode = 200; String serializedAccounts = JSON.serialize(accounts); return serializedAccounts; } catch (QueryException qe) { System.debug( LoggingLevel.INFO, ‘Failed to query a list of Accounts. Error is: ‘ + qe.getMessage() ); response.statusCode = 400; return qe.getMessage(); } }
} «>

Si su requisito es crear un servicio SOAP, también hay un conjunto de características para admitir ese protocolo.

Fuera del código real, necesitará una sesión autorizada para acceder a cualquier servicio web que cree. Pero si ya tiene un cliente autorizado, la solicitud es solo otra llamada al punto final personalizado que defina.

La llamada a un punto final REST externo se realiza a través de un conjunto de clases. La clase HttpRequest le permite definir los parámetros de cómo se comportará su solicitud (punto final, verbo HTTP, encabezados, etc.). La solicitud se realiza a través del método estático Http.request() . Esto devuelve un objeto HttpResponse que le proporciona los datos devueltos o el error si la solicitud falla.

Nota: Las clases HttpRequest y HttpResponse son las mismas para las llamadas REST y los servicios REST personalizados.

Se requiere cierta configuración para su texto destacado. Específicamente, deberá configurar una credencial con nombre en la mayoría de los casos. Esta configuración le permite descargar el protocolo de enlace de autenticación de su código. Aunque, si está llamando a un servicio anónimo no autenticado, también puede optar por usar una configuración de sitio remoto más simple.

= 200 && response.getStatusCode()

El ejemplo anterior hace una llamada simple a un punto final. Tenga en cuenta que no se utilizan las opciones para establecer encabezados ni usar una credencial con nombre, ya que esta solicitud es para una API simple que no requiere autenticación.

La transmisión de eventos es una herramienta valiosa para crear arquitecturas débilmente acopladas en aplicaciones complejas. La plataforma de Salesforce implementa la transmisión de eventos a través de dos características principales: eventos de plataforma y captura de datos modificados. La columna vertebral de estas funciones es el bus de eventos.

De la Guía para desarrolladores de eventos de plataforma, el bus de eventos es "Un servicio de entrega y almacenamiento de eventos de múltiples inquilinos y múltiples nubes basado en un modelo de publicación-suscripción". Tanto su organización como los sistemas externos pueden publicar y suscribirse a eventos. Por supuesto, es clave que si publicas un mensaje, algo debe haberse suscrito para que suceda cualquier otra cosa.

Los eventos de plataforma representan los datos que pasan a través del bus de eventos. Los eventos se procesan en el orden en que se reciben. Una forma de pensar en ellos es como un SObject efímero que se almacena temporalmente en el bus de eventos en su camino hacia su destino. De hecho, los metadatos de un evento se almacenan en el mismo lugar de su proyecto que sus SObjects. Puede distinguir los eventos de plataforma personalizados de los SObjects por su sufijo __e (por ejemplo Order_Complete__e ).

Una vez que completa un evento con sus datos, el método EventBus.publish() es similar a una llamada DML en su SObject normal. Tenga en cuenta el código a continuación que publica un evento.

En Apex, se suscribe a un evento creando un disparador asíncrono para él. Pero los disparadores asíncronos son diferentes de la operación DML transaccional estándar de un disparador normal. Por esta razón, debe tener en cuenta algunas diferencias. Con disparadores asíncronos, el tamaño del lote es diferente. Necesitas configurar tu usuario de ejecución. Las operaciones de activación de eventos también se pueden volver a intentar. Asegúrese de conocer estas diferencias a medida que comience a implementar activadores de eventos de plataforma. Tenga en cuenta el disparador a continuación.

A diferencia de los disparadores DML típicos, los disparadores de eventos de plataforma solo admiten el contexto after insert . Tampoco existe una acción explícita para suscribir un disparador a un evento de plataforma. Una vez que el activador se implementa en su organización, se suscribe automáticamente.

Además de Apex, los eventos de la plataforma pueden activarse y suscribirse mediante sistemas externos y Flow. Son clave en las integraciones débilmente acopladas. Como tal, es raro que Apex active y se suscriba al mismo evento.

Hemos cubierto mucho. Pero de ninguna manera esto es todo lo que necesita saber como desarrollador de Apex. Los elementos cubiertos se basan en algunas características bastante comunes. Pero es posible que deba aprender otras funciones de Apex según los requisitos de su proyecto. Aquí hay algunos otros elementos que debe tener en cuenta.

Caché de plataforma : si proviene de otras plataformas de programación, estará familiarizado con la noción de una variable estática o global persistente en todas las transacciones. Pero en Apex, las estáticas se limitan a la transacción. La memoria caché de la plataforma es una característica de Apex que permite la persistencia de datos en memoria entre transacciones. Si encuentra un retraso en el rendimiento relacionado con la recuperación de datos, la memoria caché de la plataforma puede ayudar.

Marcos de activación : no es una característica del lenguaje, sino bibliotecas que facilitan el uso de activadores. Estos proyectos creados por la comunidad abstraen el código de activación repetitivo que a menudo necesita escribir. Al usar un marco de activación, debería permitirle concentrarse solo en la lógica que debe abordarse. Para algo más que un disparador trivial, se recomienda encarecidamente adoptar un marco. Y conozco a algunos que argumentarían que debería considerar un marco incluso para ese disparador trivial. Pero este no es el lugar para debatir el tiempo de valor frente a la optimización prematura. Hay una implementación muy simple de esto en la aplicación Apex Recipes .

SOSL : el lenguaje de búsqueda de objetos de Salesforce ( SOSL ) es el primo subestimado de SOQL. SOSL permite consultas basadas en texto no deterministas. Es muy eficiente para encontrar datos de texto en comparación con la búsqueda de campos de texto con SOQL y comodines. Admite la búsqueda de varios SObjects simultáneamente y contiene funciones para filtrar de forma determinista los resultados de la búsqueda. Si tiene consultas SOQL de texto que son lentas, definitivamente consulte esta herramienta.

AuraEnabled : para mostrar el código Apex personalizado en sus componentes web Lightning (LWC), esta anotación es clave. Es muy probable que ya esté usando este si comenzó su viaje de Salesforce creando LWC. Pero si aún no lo ha usado, búsquelo en cualquier proyecto que involucre una interfaz de usuario personalizada. ¿Por qué "Aura" habilitado si es para LWC? Bueno, esta anotación se creó inicialmente para admitir el predecesor de LWC, el marco Aura. Tenía sentido no reinventar una nueva anotación cuando la existente funcionaría igual de bien para LWC.

Cada viaje para aprender un nuevo lenguaje de programación tiene algunas características clave que todos deben conocer. La sintaxis básica, el control de flujo y el modelo de ejecución de la plataforma son fundamentales para comprender. Pero una vez que tenga esos conceptos básicos, trabajar en funciones más avanzadas es clave para aumentar su conjunto de habilidades. Las acciones invocables, el Apex asíncrono, el Apex "dinámico", la integración y el bus de eventos son funciones que probablemente utilizará a medida que avanza. Al familiarizarse con estos ahora, no solo se preparará para abordar proyectos en el futuro, sino que también podrá tomar mejores decisiones de solución.

Si cree que está listo para aprender, los senderos para desarrolladores intermedios y avanzados en Trailhead pueden ayudarlo a encaminarse con todos estos temas y más.

Aplicación de muestra Apex Recipes en Github

Guía para desarrolladores de Apex

Guía de referencia de idiomas de Apex

Centro de desarrolladores de Apex

Peter Chittum ha trabajado en software empresarial y habilitación para desarrolladores durante más de 20 años. Pasó los últimos 12 años ayudando a miles de desarrolladores a tener éxito en la plataforma de Salesforce, y más recientemente lideró el equipo de promotores de desarrolladores en Salesforce. Pasa su tiempo libre con su familia, anda en bicicleta de montaña, cocina y toca música. Sígalo en Twitter (@pchittum), LinkedIn (en/PeterChittum) o BlueSky Social (@pchittum.bsky.social).

Obtenga las últimas publicaciones de blog de desarrolladores de Salesforce y episodios de podcast a través de Slack o RSS.

Agregar a Slack Suscríbete a RSS

Seguir leyendo

Anuncio de MuleSoft Anypoint Studio 7.15 con mayor rendimiento y facilidad de uso ☁️

Anuncio de MuleSoft Anypoint Studio 7.15 con mayor rendimiento y facilidad de uso ☁️

Esta es una traducción que desde EGA Futura ofrecemos como cortesía a toda la Ohana y comunidad de programadores , consultores , administradores y arquitectos de Salesforce para toda Iberoamérica .

El enlace a la publicación original, lo encontrarás al final de este artículo.

anunciamos MuleSoft Anypoint Studio 7.15 con mayor rendimiento y facilidad de uso | Blog de desarrolladores de Salesforce

¡MuleSoft se complace en anunciar la disponibilidad general de Anypoint Studio 7.15 ! Con Anypoint Studio , los desarrolladores tienen acceso a un IDE de escritorio para la integración y el desarrollo de API que incluye módulos prediseñados para requisitos de integración comunes.

En MuleSoft, nuestro objetivo es capacitar a los equipos para automatizar los flujos de trabajo, brindar experiencias a los clientes y ser más productivos. Con Studio 7.15, continuamos con este compromiso. Hemos mejorado la experiencia del desarrollador y mejorado el rendimiento de Studio en todos los ámbitos. También fortalecimos la experiencia de importación de activos y agregamos más a las opciones de implementación de CloudHub. Siga leyendo para conocer algunos de los aspectos más destacados de esta versión.

Escuchamos continuamente los comentarios de la comunidad de MuleSoft para ayudarnos a mejorar nuestros productos. Algunas de las principales solicitudes de Anypoint Studio son la capacidad de incluir en la lista de permitidos los archivos de Studio de los análisis antivirus y brindar soporte nativo para la arquitectura centrada en ARM. Hemos añadido ambos.

En 7.15, agregamos la opción para que los desarrolladores excluyan los archivos de Studio del antivirus de Microsoft Defender. Esto ayudará a mejorar tanto el rendimiento como la estabilidad, lo que permitirá a nuestros usuarios ser más productivos. Para aquellos en Windows, Studio ahora será aún más receptivo y estable.

Además, Studio ahora admite de forma nativa la arquitectura centrada en ARM. Esto significa más rendimiento y mayor estabilidad para los usuarios en sistemas como macOS.

Con estas dos adiciones, estamos ayudando a nuestros usuarios a experimentar un Studio más rápido y más estable, en los principales sistemas operativos.

Cuando se trata de hacer que los desarrolladores sean productivos, los detalles importan. No basta con facilitar el desarrollo, la depuración y la implementación. Los trabajos complementarios, como la importación de artefactos y la búsqueda de contexto, también son importantes.

Hoy, importar desde Design Center es más fácil. Los desarrolladores ahora obtendrán los siguientes detalles y capacidades al importar fragmentos y especificaciones de API desde Design Center:

  • Tipo de activo mostrado
  • Se muestra la fecha en que se actualizó el activo por última vez
  • Capacidad de búsqueda mejorada

Con la capacidad de buscar fragmentos y especificaciones en Design Center de Studio, los usuarios ahora pueden pasar menos tiempo buscando los activos que necesitan y más tiempo creando flujos de trabajo.

En Studio 7.14, brindamos a los usuarios la capacidad de implementar en CloudHub 2.0 . Con Studio 7.15, estamos mejorando esa capacidad.

Ahora, los usuarios pueden implementar y volver a implementar una aplicación Mule en CloudHub 2.0, incluso si tiene el mismo nombre y destino que una existente en CloudHub 2.0. Esto es particularmente útil para volver a implementar después de realizar cambios en una aplicación Mule. Como resultado, los desarrolladores pueden pasar menos tiempo lidiando con los matices de la implementación.

Con la GA de nuestra última versión de Anypoint Studio, estamos entusiasmados de ver que los desarrolladores y los equipos se vuelven aún más productivos a medida que crean integraciones y API. Descargue Anypoint Studio 7.15 hoy y díganos lo que piensa.

Srini Sekaran es responsable de gestión de productos para varios productos, incluido Anypoint Studio, el IDE de MuleSoft que miles de desarrolladores utilizan a diario para crear integraciones potentes.

Obtenga las últimas publicaciones de blog de desarrolladores de Salesforce y episodios de podcast a través de Slack o RSS.

Agregar a Slack Suscríbete a RSS

Seguir leyendo

Configurar el tamaño de lote para el activador de eventos de plataforma

Configurar el tamaño de lote para el activador de eventos de plataforma

Última actualización el 30 de abril de 2023 por Rakesh Gupta

Gran idea o pregunta duradera:

  • ¿Cómo configurar el usuario y el tamaño del lote para Platform Event Trigger?

Objetivos:

Después de leer este blog, podrá:

  • Comprender el tamaño del lote para el activador de eventos de la plataforma
  • Anular el usuario de ejecución predeterminado para el desencadenador de eventos de la plataforma
  • Cree PlatformEventSubscriberConfig a través de la API REST
  • y mucho más

Jestilla Zetkin trabaja como arquitecta de Salesforce en Gurukul On Cloud (GoC) . Recientemente, enfrentó desafíos mientras trabajaba con eventos de plataforma, principalmente límites de gobernadores. Quiere aprender a configurar el tamaño del lote para el activador de eventos de la plataforma. En este ejercicio, configuraremos el tamaño del lote para lo siguiente:

  1. Activador de vértice
    1. LeadGenerationEventTrigger en Lead_Generation__e
    2. Tamaño del lote: 50
    3. Usuario ejecutor: Usuario de integración

¿Qué es Plataforma de Eventos?

Las arquitecturas basadas en eventos se han vuelto muy populares en los últimos años, y por una buena razón. Se basa en el patrón de fuego y olvido . Activar un evento y dejar que cada sistema maneje la lógica empresarial le permite mantener los sistemas no relacionados desacoplados y puede ayudar a simplificar la arquitectura.

Los eventos de la plataforma le permiten entregar notificaciones de eventos seguras, escalables y personalizables dentro de Salesforce o desde fuentes externas. Las aplicaciones pueden publicar y suscribirse a eventos de plataforma en la plataforma de Salesforce mediante Apex, Flow o en un sistema externo mediante CometD. Si desea obtener más información sobre el evento de plataforma, consulte el módulo de Trailhead .

¿Cuál es el tamaño de lote predeterminado para el desencadenador de eventos de plataforma?

De forma predeterminada, el disparador de eventos de la plataforma se ejecuta como el usuario del sistema de procesos automatizados con un tamaño de lote de 2000 mensajes de eventos. A veces es necesario cambiar el usuario y el tamaño del lote para eludir los límites del gobernador u otros desafíos.

Salesforce le permite anular el usuario de ejecución predeterminado y el tamaño de lote de un desencadenador de Apex de evento de plataforma con PlatformEventSubscriberConfig en la API de herramientas o la API de metadatos para configurar el desencadenador.

Puede especificar cualquier usuario activo en la organización de Salesforce. El activador se ejecuta en un contexto de sistema con privilegios para acceder a todos los registros independientemente de los permisos de nivel de campo y de objeto del usuario. Puede especificar un tamaño de lote personalizado de 1 a 2000. El tamaño del lote es el número máximo de mensajes de eventos que se pueden enviar a un disparador en una ejecución.

Comprender el objeto PlatformEventSubscriberConfig

Hagamos una pausa aquí, familiarícese con el objeto de la API de herramientas PlatformEventUsageMetric en Salesforce. Representa los ajustes de configuración para un disparador de Apex de evento de plataforma, incluido el tamaño del lote y el usuario que ejecuta el disparador.

Nombre del campo
Detalles
Tamaño del lote Un tamaño de lote personalizado, de 1 a 2000, para el desencadenador Apex del evento de plataforma. El tamaño del lote corresponde al número máximo de mensajes de eventos que se pueden enviar a un disparador en una ejecución. El tamaño de lote predeterminado es 2000 para activadores de eventos de plataforma.
Nombre del desarrollador El nombre exclusivo del objeto PlatformEventSubscriberConfig.
etiqueta maestra Etiqueta para PlatformEventSubscriberConfig. En la interfaz de usuario, este campo es Configuración de suscriptor de eventos de plataforma.
PlatformEventConsumerId El ID del desencadenador de Apex del evento de plataforma que se va a configurar.
ID de usuario El ID del usuario con el que se ejecuta el desencadenador de Apex del evento de plataforma. De forma predeterminada, el disparador de eventos de la plataforma se ejecuta como la entidad de proceso automatizado. Establecer el usuario que ejecuta a un usuario específico tiene estos beneficios:

  • Los registros se crean o modifican como este usuario.
  • Los registros con campos OwnerId tienen sus campos OwnerId completados para este usuario cuando se crean o modifican.
  • Este usuario crea los registros de depuración para la ejecución del disparador.
  • Puede enviar un correo electrónico desde el activador, que no es compatible con el usuario de Proceso automatizado predeterminado.

Los componentes PlatformEventSubscriberConfig tienen el sufijo .platformEventSubscriberConfig y se almacenan en la carpeta PlatformEventSubscriberConfigs .

Este componente PlatformEventSubscriberConfig tiene la etiqueta LeadGenerationEventTriggerConfig . Contiene la configuración de un disparador de eventos de plataforma, LeadGenerationTrigger , y especifica el tamaño del lote y el usuario.


<?versión xml="1.0" codificación="UTF-8"?>
<PlatformEventSubscriberConfig xmlns="http://soap.sforce.com/2006/04/metadatos"> <platformEventConsumer>LeadGenerationTrigger</platformEventConsumer> <tamaño del lote>50</tamaño del lote> <masterLabel>LeadGenerationEventTriggerConfig</masterLabel> <usuario>desarrollador@automationchampion.com</usuario> <isProtected>falso</isProtected>
</PlatformEventSubscriberConfig>

Práctica guiada (nosotros hacemos):

Para agregar una configuración, realice una solicitud POST como se menciona a continuación:

  1. Abra Workbench e inicie sesión con su nombre de usuario y contraseña de Trailhead Playground .
  2. Asegúrese de haber seleccionado la opción Producción para el medio ambiente .
  3. Navegue a la pestaña Utilidades y seleccione la opción REST Explorer .
  4. Selecciona las siguientes opciones:
    1. Elija un método HTTP para realizar en el URI del servicio REST API a continuación : POST
    2. URL : /services/data/v58.0/tooling/sobjects/PlatformEventSubscriberConfig
    3. Cuerpo : proporcione los valores en el cuerpo de la solicitud. Esta solicitud de ejemplo configura un activador existente con un tamaño de lote de 50 y especifica el ID de un usuario en ejecución.
      1. {
        "Tamaño del lote": "50",
        “Nombre del desarrollador”:”LeadGenerationEventTriggerConfig”,
        “MasterLabel”:”LeadGenerationEventTriggerConfig”,
        “PlatformEventConsumerId”: “01qB0000000Zcug”,
        “ID de usuario”: “005B00000015gt8”
        }
      2. Dónde:
        1. 01qB0000000Zcug, disparador de Apex en Lead_Generation__e
        2. 005B00000015gt8, es el ID de usuario del usuario de integración
    4. Haga clic en Ejecutar .
  5. Puede consultar y recuperar las configuraciones en su organización con SOQL. Si consulta desde Developer Console Query Editor, asegúrese de seleccionar Use Tooling API . Esta consulta de ejemplo recupera todas las configuraciones establecidas en su organización de Salesforce.

Evaluación formativa:

¡Quiero saber de ti!

¿Qué es una cosa que aprendiste de esta publicación? ¿Cómo imagina aplicar este nuevo conocimiento en el mundo real? Siéntase libre de compartir en los comentarios a continuación.

Seguir leyendo

Seguridad Zero Trust para tus APIs usando MuleSoft ☁️

Seguridad Zero Trust para tus APIs usando MuleSoft ☁️

Esta es una traducción que desde EGA Futura ofrecemos como cortesía a toda la Ohana y comunidad de programadores , consultores , administradores y arquitectos de Salesforce para toda Iberoamérica .

El enlace a la publicación original, lo encontrarás al final de este artículo.

Seguridad Zero Trust para sus API con MuleSoft | Blog de desarrolladores de Salesforce

Roma no se construyó en un día… pero casi se arruinó en una noche. Eso es lo que tienen los imperios, son frágiles. Al igual que la confianza. Podemos extender aún más esta analogía a nuestra arquitectura empresarial; se necesita mucho tiempo y un gran esfuerzo para construir una organización exitosa y ganarse la confianza del cliente, pero un percance de seguridad puede reducir todos los escombros de sus esfuerzos.


En 2022, todos escuchamos sobre la filtración del juego GTA 6 justo antes de su fecha de lanzamiento. Esta filtración fue lo suficientemente grande como para poner en problemas financieros al editor del juego, y hubo especulaciones de que una persona interna, como un empleado, estaba involucrada. Entonces la pregunta es: "¿A quién debemos confiar con la seguridad?" La seguridad es tan fuerte como el eslabón más débil.

Y la respuesta es: “No confíes en nadie”, y eso es lo que nos lleva a Zero Trust Security (ZTS) .

ZTS es un marco arquitectónico que tiene como objetivo proteger a las organizaciones de amenazas de seguridad, ataques y violaciones de datos al cumplir con los protocolos de seguridad en cada punto de acceso.

Antes de ZTS, la seguridad basada en el perímetro era el enfoque popular. En la seguridad perimetral, autenticamos y autorizamos a la entidad solo a nivel periférico mediante firewalls, redes privadas virtuales, etc. Una vez que la entidad obtiene acceso, puede acceder a todos los recursos. El movimiento lateral no autorizado ha sido una de las principales preocupaciones en la seguridad perimetral.

Por el contrario, ZTS impone autenticación y autorización en cada punto de entrada. En general, podemos aplicar ZTS a aplicaciones empresariales, aplicaciones nativas de la nube, API, etc. En esta publicación de blog, nos centraremos principalmente en implementar ZTS para API y explorar lo que MuleSoft tiene para ofrecer en lo que respecta a Zero Trust Security.

Principios básicos de ZTS

Todo el concepto de ZTS se basa en los siguientes cuatro principios básicos:

  • No confíe en nadie y verifique siempre : independientemente de la persona (cliente, director ejecutivo, desarrollador, etc.), autenticamos y autorizamos su acceso en cada etapa. Si hay múltiples puntos de entrada para obtener acceso a un recurso en particular, debemos aplicar la validación en cada punto de entrada. Utilizamos Gestión de Identidad y Acceso (IAM) y autenticación multifactor (MFA), y aplicamos políticas de seguridad.
  • Mínimos privilegios y denegación predeterminada : De forma predeterminada, se denegará el acceso a todos los recursos. Una vez que la entidad está autenticada y autorizada, según la credencial, podemos otorgar acceso con los privilegios mínimos. Necesitamos asegurarnos de que estamos autorizando solo los recursos esenciales. Podemos controlar el acceso para diferentes roles utilizando el modelo de acceso basado en roles y modificar los privilegios en consecuencia.
  • Inspección completa y visibilidad del flujo de datos : debemos asegurarnos de que haya transparencia en el flujo de datos. Debemos tener cuidado con el registro de la carga útil, ya que podría involucrar información confidencial. Si hay múltiples sistemas finales y API involucrados, deberíamos tener una visión general de 360 grados de la arquitectura del sistema y el flujo de datos. De esta forma, podemos controlar el mal uso de información sensible y la fuga de información.
  • Gestión de control centralizado: Para implementar fuertes medidas de seguridad, necesitamos un centro de gestión centralizado. Esto nos permitirá aplicar medidas de seguridad en todas las entidades. También nos da un control completo sobre la infraestructura de la organización desde una perspectiva de seguridad. API Manager es un lugar para dejar de administrar aplicaciones API, Mule y Non-MuleSoft. Puede administrar, proteger y gobernar aplicaciones con la ayuda de API Manager.

Implementación de seguridad de confianza cero

Es muy probable que su infraestructura existente ya tenga algunas medidas de seguridad implementadas. Para implementar ZTS, no tiene que comenzar a construir todo desde cero o reconstruir su infraestructura de seguridad existente. Todo lo que necesita hacer es planificar bien las medidas de seguridad e identificar las lagunas. Puede lograr esto adoptando un enfoque de microsegmentación o seguridad en capas.

Microsegmentación o enfoque de seguridad en capas

Esta es una técnica en la que dividimos la infraestructura en niveles o segmentos y luego aplicamos medidas de seguridad. También podemos considerarlo como "divide y vencerás", donde estamos dividiendo la gran infraestructura en fragmentos más pequeños para una mejor seguridad y control. Este enfoque nos brinda seguridad a nivel granular.

Podemos implementar los principios básicos de ZTS de la siguiente manera:

  1. Enumere todos los activos, sistemas finales, aplicaciones, datos y puntos finales de API. Comprobar el estado del dispositivo y del sistema. Implemente la autenticación de extremo a extremo y no permita el acceso lateral.
  2. Resuma el flujo de datos y las conexiones. Diseñe su infraestructura actual.
  3. En función de la criticidad de la información, identificar las políticas de seguridad a aplicar en cada punto de entrada. Implemente el acceso basado en roles y políticas.
  4. Haga cumplir la implementación de seguridad a través de un sistema de gestión central y supervise su infraestructura.

ZTS con MuleSoft

Es posible que ya esté familiarizado con las capacidades de integración de MuleSoft y cómo aprovechar la conectividad dirigida por API para construir una infraestructura componible. Lo siguiente lo ayudará a comprender cómo implementar ZTS usando las capacidades de seguridad de MuleSoft.

Tomemos en consideración una arquitectura componible creada con conectividad dirigida por API (vea la imagen a continuación). La línea exterior punteada en rojo denota seguridad basada en el perímetro, ya que estamos aplicando seguridad en un nivel periférico. Para aplicar ZTS, aplicaremos medidas de seguridad en cada capa de la API y en todo el punto final de la API. Las líneas internas de puntos rojos en la capa de proceso indican que hemos aplicado una política de eliminación de encabezado y autenticación básica en el punto de entrada de la capa de experiencia a la capa de proceso.


¿Cómo logramos ZTS con MuleSoft?

  1. Aplicación de políticas de seguridad listas para usar: MuleSoft ofrece varias políticas de seguridad listas para usar, desde la autenticación básica hasta OAuth y JWT. Podemos aplicar fácilmente estas políticas en nuestro nivel de puerta de enlace API utilizando Anypoint API Manager . También podemos personalizar estas políticas para cumplir con los estándares y regulaciones de nuestra organización.
  2. Creación de entornos seguros: podemos aplicar la protección contra amenazas en cada perímetro perimetral de forma automática mediante Anypoint Security en una plataforma que cumpla con las normas ISO 27001, SOC 1 y 2, HIPAA, PCI DSS y GDPR.
  3. Registro y monitoreo efectivos: podemos lograr transparencia utilizando las capacidades de registro y monitoreo de MuleSoft, y usar API Catalog CLI para descubrir y catalogar nuestras API.
  4. Gobernanza continua : utilizamos Anypoint API Governance para identificar, validar y hacer cumplir las mejores prácticas de seguridad para las API, como OWASP Top 10, desde el diseño hasta la implementación.

Conclusión


En este blog, hemos aprendido sobre Zero Trust Security y sus principios básicos. También somos conscientes de la diferencia entre la seguridad basada en el perímetro y ZTS, y por qué ZTS es importante. Además, hemos aprendido cómo podemos implementar ZTS usando MuleSoft y las capacidades de seguridad que MuleSoft tiene para ofrecer.

Recursos

Sobre el Autor

Akshata Sawant es promotora sénior de desarrolladores en Salesforce. Es autora, bloguera y oradora, y coautora del título, MuleSoft for Salesforce Developers . Akshata es un miembro activo de la comunidad de MuleSoft y ex embajador de MuleSoft. Le encanta leer, bailar, viajar y la fotografía, y es una gran entusiasta de la comida. Síguela en Twitter y LinkedIn.

Obtenga las últimas publicaciones de blog de desarrolladores de Salesforce y episodios de podcast a través de Slack o RSS.

Agregar a Slack Suscríbete a RSS

Seguir leyendo

Prepare su aplicación para pasar la revisión de seguridad de AppExchange ☁️

Prepare su aplicación para pasar la revisión de seguridad de AppExchange ☁️

Esta guía se publicó originalmente en Medium en 2021 y se actualizó con la orientación y los consejos más recientes, incluidas las nuevas funciones de seguridad como parte de los lanzamientos recientes y la nueva estructura de precios para las revisiones.

La publicación Prepare su aplicación para pasar la revisión de seguridad de AppExchange apareció primero en el blog de desarrolladores de Salesforce .

Seguir leyendo

Mejore la disponibilidad en su organización ☁️

Esté atento a estos antipatrones comunes y utilice estas estrategias para evitarlos y mejorar la disponibilidad en su organización.

La publicación Mejore la disponibilidad en su organización apareció por primera vez en el blog de desarrolladores de Salesforce .

Seguir leyendo

Los mejores eventos de Salesforce para asistir en 2023

Una de las cosas increíbles de estar involucrado en el ecosistema de Salesforce son los maravillosos eventos. Si desea asistir a algunos de los mejores eventos de Salesforce en 2023, estamos aquí para ayudarlo. Hemos reunido los eventos que no querrá perderse este año. Salesforce y Trailblazer Community organizan […]

La publicación Los mejores eventos de Salesforce para asistir en 2023 apareció primero en Inspire Planner.

Seguir leyendo

Lograr una CLI de Salesforce de código abierto ☁️

Consulte la tercera y última publicación de blog de nuestra serie que relata el viaje de la CLI de sfdx hacia el código abierto, ahora con confiabilidad mejorada.

La publicación Lograr una CLI de Salesforce de código abierto apareció primero en el blog de desarrolladores de Salesforce .

Seguir leyendo

Cómo un Data Lakehouse puede ayudar a su equipo a ser más eficiente

Un lago de datos suena como una escapada serena, pero puede ser la clave para mejorar la eficiencia y la satisfacción del cliente.

Seguir leyendo

Creación de conocimientos en Genie Customer Data Cloud ☁️

Genie Customer Data Cloud utiliza datos para crear una vista única del cliente. Puede usar Insights para segmentar, agregar y filtrar para comprender mejor a su cliente.

La publicación Creación de conocimientos en Genie Customer Data Cloud apareció por primera vez en el blog de desarrolladores de Salesforce .

Seguir leyendo

Desmitificando Net Zero Cloud

A menudo veo confusión en torno a esta nube, y con el cambio de nombre y las muchas mejoras que ha tenido con respecto a los lanzamientos, pensé, ¿por qué no tratar de arrojar algo de luz? ¿Por qué yo? Para los que no lo sepan, además de todo lo relacionado con Salesforce y Agile, mi enfoque es ayudar a las organizaciones a reducir el desperdicio. Residuos Lea más acerca de Desmitificar Net Zero Cloud[…]

Seguir leyendo

Transmita eventos a escala con filtros de eventos y enriquecimiento de campo ☁️

Escale su uso de eventos de plataforma y eventos de captura de datos modificados con filtros de eventos y enriquecimiento de campos. Pero primero, un repaso sobre los eventos de transmisión.

La publicación Transmisión de eventos a escala con filtros de eventos y enriquecimiento de campos apareció por primera vez en el blog de desarrolladores de Salesforce .

Seguir leyendo

Flujos de pantalla integrados en sus componentes web Lightning ☁️

Screen Flow permite a los desarrolladores y administradores crear interfaces de usuario y vincularlas a los datos de Salesforce, y utilizar componentes web Lightning como elementos de flujo.

La publicación Integrar flujos de pantalla en sus componentes web Lightning apareció por primera vez en el blog de desarrolladores de Salesforce .

Seguir leyendo

Sus clientes de pequeñas empresas quieren automatización de telecomunicaciones, no tecnología obsoleta

Si bien las empresas de telecomunicaciones han revolucionado lo que ofrecen a los clientes empresariales y consumidores cotidianos, es hora de mostrar ese mismo amor a los clientes de pequeñas y medianas empresas.

Seguir leyendo

Lo que los socios ISV deben saber sobre Lightning Web Security ☁️

Lightning Web Security (LWS) habilita algunas de las funciones nuevas más buscadas para Lightning Web Components (LWC), como importaciones de espacios de nombres cruzados, mayor compatibilidad con bibliotecas de JavaScript de terceros y más. Sin embargo, los ISV deben tener en cuenta algunas consideraciones importantes al trabajar con LWS. En esta publicación de blog, daremos una breve descripción de […]

La publicación Lo que los socios ISV deben saber sobre Lightning Web Security apareció primero en el blog de desarrolladores de Salesforce .

Seguir leyendo

Cómo aprobar el examen de certificación de consultor de Sales Cloud

Última actualización el 20 de noviembre de 2022 por Rakesh Gupta Como consultor certificado de Sales Cloud recién nombrado, estoy compartiendo mis experiencias de estudio con usted y quiero que sea el próximo en hacerlo. ¡Así que prepárate y sumérgete! 👉 Ya que estás aquí, quizás quieras

La publicación Cómo aprobar el examen de certificación de consultor de Sales Cloud apareció primero en Automation Champion .

Seguir leyendo

La retransmisión de eventos de Salesforce está generalmente disponible ☁️

¡Nos complace anunciar que Event Relay para AWS ya está disponible de forma general! Event Relay es una gran parte de cómo estamos construyendo una experiencia de desarrollador unificada que abarca las plataformas de Salesforce y AWS. En esta publicación, escuchará cómo Event Relay ayuda a los desarrolladores a ahorrar tiempo al optimizar la integración bidireccional impulsada por eventos entre Amazon EventBridge […]

La publicación Salesforce Event Relay está disponible de forma general apareció por primera vez en el blog de desarrolladores de Salesforce .

Seguir leyendo

Salesforce Private Connect para AWS está disponible en todo el mundo ☁️

Hoy, nos complace anunciar la disponibilidad global de nuestro servicio Private Connect. Con Private Connect, los clientes pueden implementar integraciones de API entre Salesforce y AWS que se enrutan de forma privada y evitan el tráfico público de Internet. Es más fácil que nunca para los equipos de desarrollo cumplir con los requisitos reglamentarios y de seguridad a medida que construyen integraciones que impulsan […]

La publicación Salesforce Private Connect para AWS está disponible en todo el mundo apareció por primera vez en el blog de desarrolladores de Salesforce .

Seguir leyendo

Funciones interesantes de la plataforma de datos de clientes de Marketing Cloud para desarrolladores ☁️

La plataforma de datos de clientes (CDP) de Marketing Cloud existe desde hace un tiempo. Sin embargo, es posible que aún no estés familiarizado con él. En nuestra publicación de blog anterior, discutimos la importancia de CDP en el contexto de Salesforce Genie. Esta publicación de blog lo guiará a través de las funciones geniales que CDP tiene disponibles para los desarrolladores. […]

La publicación Características interesantes de la plataforma de datos de clientes de Marketing Cloud para desarrolladores apareció primero en el blog de desarrolladores de Salesforce .

Seguir leyendo

Presentamos Salesforce Genie para desarrolladores ☁️

En Dreamforce este año, presentamos Salesforce Genie, la plataforma de datos de clientes que permite a las empresas ofrecer magia al cliente. En esta publicación de blog, le brindaremos una descripción general de Salesforce Genie y cómo usted, como desarrollador, puede prepararse para el futuro de los datos, la inteligencia y la automatización en tiempo real. Presentamos Salesforce Genie Salesforce Genie es un […]

La publicación Introducción a Salesforce Genie para desarrolladores apareció primero en el Blog de desarrolladores de Salesforce .

Seguir leyendo

Consideraciones de diseño para la captura de datos modificados y eventos de plataforma ☁️

La integración es un tema esencial para los desarrolladores y arquitectos de Salesforce. Un tipo de integración ha cobrado impulso en los últimos años: la integración de procesos, quizás más conocida como integración impulsada por eventos. La plataforma principal de Salesforce admite la integración basada en eventos (o arquitectura basada en eventos) a través de la publicación y suscripción de eventos de la plataforma a otros sistemas. También puede ser un gran […]

La publicación Consideraciones de diseño para la captura de datos modificados y los eventos de la plataforma apareció por primera vez en el blog de desarrolladores de Salesforce .

Seguir leyendo

Campañas conectadas de Marketing Cloud

Algunos de vosotros ya sabréis que en Pardot existe oficialmente una funcionalidad llamada “Campañas Conectadas”. Esta es una funcionalidad que aún no está disponible para su hermano de otra madre: Marketing Cloud. Personalmente, Marketing Cloud es su propia bestia… una que debe domar antes de que se salga de control. Comparando muy brevemente Lea más sobre las campañas conectadas de Marketing Cloud[…]

Seguir leyendo

Anuncio de la próxima generación de credenciales con nombre ☁️

La transformación digital está impulsando a equipos de todas las formas y tamaños a modernizar sus aplicaciones y pasar a la nube para prepararse para la próxima ola de crecimiento y cambio. Esta megatendencia conduce a la adopción acelerada de soluciones híbridas y de nube pública, creando desafíos para los líderes de TI que buscan conectar un número cada vez mayor […]

La publicación Anunciando la próxima generación de credenciales con nombre apareció primero en el blog de desarrolladores de Salesforce .

Seguir leyendo