La versión Spring ’24 ya está aquí, y estos son algunos de los aspectos más destacados de la versión, que detallan las novedades para los desarrolladores de todo el ecosistema de Salesforce.
Aprenda sobre la función Data Actions de Data Cloud y recorra cómo ampliar un webhook como objetivo para visualizar e impulsar los resultados empresariales.
Los eventos webhook se pueden utilizar para la visualización
El versionado de la API de LWC es una excelente forma de garantizar la compatibilidad con versiones anteriores de los componentes existentes y, al mismo tiempo, permitir que los nuevos componentes adopten las nuevas características.
Ha llegado el momento de pasar de la herramienta de migración Ant a la experiencia de desarrollador más moderna y con soporte oficial mediante la CLI de Salesforce.
Las herramientas de migración Ant y la CLI de Salesforce son las dos herramientas que mejor se adaptan a sus necesidades
Nuestra serie Dev Spotlight explora las vidas de desarrolladores individuales mientras comparten su viaje para convertirse en desarrolladores de Salesforce y lo que significa formar parte de nuestra comunidad mundial.
La serie Dev Spotlight explora las vidas de desarrolladores individuales mientras comparten su viaje para convertirse en desarrolladores de Salesforce y lo que significa formar parte de nuestra comunidad mundial
El shadow DOM nativo hará que tus componentes LWC estén más alineados con los estándares web, las nuevas características de los navegadores y un rendimiento mejorado.
Construya pruebas de extremo a extremo rápidamente con dos elementos que hacen grande a UTAM: los objetos de página base (PO) y la extensión UTAM para Chrome.
Los objetos de página base (PO) y la extensión UTAM para Chrome son dos elementos que hacen grande a UTAM
CodeGen, parte de la propia familia de modelos de lenguaje de gran tamaño (LLM) de Salesforce, es un LLM de código abierto para la comprensión y generación de código.
CodeGen, parte de la propia familia de modelos de lenguaje de gran tamaño (LLM) de Salesforce
Recorre una lista de herramientas para utilizar DataWeave en diferentes escenarios, desde una aplicación de Mule con arrastrar y soltar hasta una herramienta de línea de comandos.
Nuestra serie Dev Spotlight explora las vidas de desarrolladores individuales mientras comparten su viaje para convertirse en desarrolladores de Salesforce y lo que significa formar parte de nuestra comunidad mundial.
La serie Dev Spotlight explora las vidas de desarrolladores individuales mientras comparten su viaje para convertirse en desarrolladores de Salesforce y lo que significa formar parte de nuestra comunidad mundial
Combine varias llamadas a la API en una única llamada a la API para simplificar su código y reducir el número de llamadas a la API que se contabilizan en su límite diario.
Las consultas SOQL anidadas son una forma de simplificar su código
Una visión general del aprendizaje automático, dos tipos populares de ML, y la clasificación de bosque aleatorio, un modelo de ML popular utilizado por los científicos de datos.
La clasificación de bosque aleatorio, un modelo de ML popular utilizado por los científicos de datos
La demanda de analistas de negocio de Salesforce ha crecido a un ritmo elevado. Las organizaciones de Salesforce han evolucionado y se han vuelto más complejas. Como resultado, existe una mayor necesidad de evaluar los cambios deseados y obtener una visión completa de la situación, para asegurarse de que todo el mundo está de acuerdo. Esta es la razón por la que las organizaciones deben buscar […]
El post 30 Business Analyst Interview Questions & Answers appeared first on Salesforce Ben.
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.
…
Lleve sus modelos de IA de Google Vertex a la nube de datos | Blog de desarrolladores de Salesforce
Model Builder, parte de Einstein Copilot Studio, es una plataforma fácil de usar que le permite crear y poner en funcionamiento modelos de IA en Salesforce. Model Builder es capaz de integrarse profundamente con plataformas de IA externas, como Google Cloud Vertex AI y Amazon SageMaker, para que pueda crear, entrenar e implementar modelos de IA personalizados de forma externa utilizando datos de Salesforce Data Cloud.
Salesforce anunció previamente el lanzamiento deModel Builder con Amazon SageMaker en agosto de 2023. Hoy, nos complace anunciar que los modelos de Google Vertex AI ahora están disponibles de forma general en Model Builder. Como parte de esta última versión, Model Builder ahora admite la autenticación mediante las credenciales de la cuenta del servicio de Google, así como la ingestión de datos en streaming.
Estamos entusiasmados con esta nueva innovación de la asociación ampliada de Salesforce con Google Cloud, que consideramos que tiene un enorme potencial para los desarrolladores. Como enfatizó Kaushal Kurapati, vicepresidente senior de Producto, IA y Búsqueda de Salesforce:
“Con esta asociación con Google Cloud, Model Builder ofrece una manera conveniente para que los clientes aprovechen sus modelos Vertex AI en sus fuentes de datos, flujos de trabajo y aplicaciones de Salesforce y brinden experiencias personalizadas, continuando con la visión de construir una plataforma abierta de Salesforce AI con un ecosistema modelo robusto”.
¿Qué es la capacidad de traer su propio modelo (BYOM)?
Model Builder le permite conectarse fácilmente a modelos predictivos externos, como los de un proveedor de modelos externo o su propio modelo propietario, y utilizarlos en el flujo de trabajo en Salesforce. Por ejemplo, puede utilizar modelos predictivos para calificar clientes potenciales, recomendar productos o detectar la deserción.
La capacidad BYOM de Model Builder le permite integrar fácilmente su modelo con Data Cloud para acceder a predicciones e información en tiempo real, y utilizar esa información de varias maneras, como enriquecer perfiles de clientes, crear segmentos y personalizar la experiencia del usuario final en diferentes canales.
¿Por qué traer su propio modelo a Data Cloud?
Estos son algunos de los beneficios de usar un modelo de Google Cloud Vertex AI con datos de Data Cloud en Model Builder:
Le brinda acceso a datos altamente seleccionados, armonizados y casi en tiempo real en Customer 360, en Vertex AI
Elimina trabajos de ETL tediosos, costosos y propensos a errores; El enfoque de federación de copia cero para los datos reduce los gastos generales de gestión de copias de datos y los costos de almacenamiento, y mejora la eficiencia.
Le permite crear, entrenar, probar y ajustar modelos rápidamente en una única plataforma y conectarlos con Data Cloud.
Admite la ingesta de datos en tiempo real, streaming y por lotes para impulsar resultados de IA relevantes
Aprovecha las predicciones de Vertex AI para automatizar procesos comerciales en Salesforce Data Cloud con Flow y Apex
Flujo de trabajo de la aplicación para usar Model Builder con Vertex AI de Google Cloud
En esta sección, analizamos brevemente el flujo de trabajo de la aplicación utilizando Model Builder.
En el flujo de trabajo que se muestra arriba, el conector Python brinda a Vertex AI acceso seguro a los objetos de Salesforce Data Cloud. Después de la autenticación, los especialistas en datos pueden explorar y preparar datos, y realizar tareas de ingeniería de características para el desarrollo y la inferencia de modelos de IA utilizando la plataforma Vertex AI.
Tenga en cuenta que si se realiza una autenticación basada en clave API, se necesita una puerta de enlace API delante del punto final de Vertex AI.
NUEVA característica: Autenticación mediante credenciales de cuenta de servicio de Google
La versión más reciente de Model Builder ahora permite utilizar las credenciales de la cuenta del servicio de Google para la autenticación. Esto se suma a los métodos de autenticación JWT y basados en claves existentes. Para utilizar un flujo de token al portador JWT, ingrese sucorreo electrónico de la cuenta de servicio, ID de clave privada y clave privada de su cuenta de Google Cloud como se muestra a continuación.
NUEVA característica: Ingestión de datos en streaming
La última versión de Model Builder le permite activar automáticamente una inferencia cuando los datos asignados a la variable de entrada del modelo se cambian en el objeto del modelo de datos de origen (DMO). También ofrecemos inferencia por lotes, pero debe hacer clic en el botón Actualizar manualmente para activar nuevas inferencias. Con la inferencia de transmisión, las nuevas inferencias se activan solo cuando hay un cambio en la variable de entrada.
Para habilitar la inferencia de transmisión, deberá marcar la casilla Sí en ¿Actualizar modelo cuando se actualizan los datos? Como se muestra abajo.
También puede especificar cuáles de las funciones de entrada deben actualizarse seleccionando Sí en el menú desplegable Actualizar puntuación .
Cómo consumir predicciones de tu modelo en Salesforce
Hay dos formas de consumir predicciones: usar acciones invocables en Flow y Apex, o usar Query API para realizar análisis ad hoc.
Utilice Flow Builder y Apex para obtener predicciones
A continuación se muestra un ejemplo de cómo utilizar acciones invocables para modelos de Model Builder en Flow. Una vez que tenga un modelo activado en Model Builder, seleccione Nueva acción → Nube de datos y luego haga clic en el nombre del modelo deseado.
La captura de pantalla siguiente muestra un flujo de ejemplo que utiliza una acción invocable para crear recomendaciones de productos para un cliente. Aquí, un administrador usa Flow Builder para recorrer los registros individuales unificados y verificar si se realizó una compra reciente. Si se realizó la compra, la acción invocable obtiene la inferencia del modelo de Model Builder y recomienda el siguiente mejor producto a un cliente.
Esta acción invocable también se puede invocar en Apex. Vea el ejemplo a continuación.
<dx-code-block title language="apex" code-block="Invocable.Action action = Invocable.Action.createCustomAction('cdpGetMlPrediction', 'EinsteinStudio_model_name');
action.setInvocationParameter('param_variable_1', '10');
action.setInvocationParameter('param_variable_2', '20');
action.setInvocationParameter('param_variable_3', '30');
List results = action.invoke();
if (results.size() > 0 && results[0].isSuccess()) { System.debug(‘Result is: ‘ + results[0].getOutputParameters().get(‘param_score’));
} else { System.debug(‘Error message’ + results[0].getErrors());
} «>
Para obtener instrucciones sobre el uso de acciones invocables en Flow y Apex, consulte la Ayuda de Salesforce .
Utilice Query API para obtener predicciones
Query API es otra forma rápida de obtener puntuaciones de predicción para datos que residen en Data Cloud. Con Query API, puede utilizar el punto final de inferencia y llamar a funciones de predicción para probar el punto final. Vea el ejemplo a continuación.
Para obtener instrucciones sobre el uso de acciones invocables en QueryAPI, consultela Ayuda de Salesforce.
Conclusión
Model Builder es una plataforma de IA fácil de usar que permite a los equipos de ingeniería y ciencia de datos crear, entrenar e implementarmodelos de IA utilizando plataformas y datos externos en Data Cloud. Las plataformas externas incluyen Google Cloud Vertex AI,Amazon SageMakery otros servicios de IA predictivos o generativos. Una vez que esté listo, podrá utilizar los modelos de IA en tiempo real para impulsar cualquier aplicación de ventas, servicios, marketing, comercio y otras aplicaciones en Salesforce.
Para obtener más información sobre cómo puede mejorar su estrategia de IA utilizando Model Builder, asista a nuestroseminario web gratuitocon expertos en IA de Salesforce y Google Cloud.
Recursos adicionales
Sobre los autores
Daryl Martis es el director de producto de Salesforce de Einstein. Tiene más de 10 años de experiencia en planificación, creación, lanzamiento y gestión de soluciones de clase mundial para clientes empresariales, incluidas AI/ML y soluciones en la nube. Síguelo enLinkedInoTwitter .
Ashish Thapliyal es director sénior de producto en Salesforce y actualmente dirige varias áreas de productos de la plataforma Einstein AI. Síguelo enLinkedIn o Twitter .
Obtenga las últimas publicaciones de blog y episodios de podcasts para desarrolladores de Salesforce a través de Slack o RSS.
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.
…
Desmitificando Light DOM y sus casos de uso | Blog de desarrolladores de Salesforce
Light DOM es una función de Lightning Web Components que ha estado disponible de forma general en Lightning Experience, Experience Cloud, LWC OSS (código abierto) y todas las versiones de la aplicación móvil Salesforce desde Summer '23 .
Los componentes web Lightning, de forma predeterminada, se representan en DOM oculto , lo que proporciona una encapsulación y seguridad sólidas para sus componentes. Sin embargo, al mismo tiempo, evita el estilo global y bloquea las integraciones de terceros que introspeccionan el interior de sus componentes. Light DOM es una característica que se puede habilitar de forma granular en componentes seleccionados, de modo que Shadow DOM no los afecte.
¿Cómo funciona el DOM ligero?
Usemos un componente web Lightning muy simple como ejemplo.
holaCodey.html
<dx-code-block title language="html" code-block="
Hello Codey!
«>
holaCodey.js
En el ejemplo anterior, el DOM oculto predeterminado del componente evita que una regla CSS definida en el componente principal o el host alcance el elemento <p> . Además, no permite que el código JavaScript externo al componente consulte el elemento <p> mediante las API de consulta del navegador.
Para activar el DOM ligero para un componente, debe especificar el renderMode ligero en su archivo JavaScript y la directiva de plantilla lwc:render-mode en la etiqueta <template> del componente. Ambos cambios son necesarios debido a la forma en que se compilan los componentes web Lightning.
holaCodey.html
<dx-code-block title language="html" code-block="
Hello Codey!
«>
holaCodey.js
Cuando activa el DOM claro en un componente, el marcado del componente se adjunta al elemento anfitrión en lugar de a su árbol de sombra. Luego puede acceder al marcado desde otros componentes de la página como cualquier otro contenido en el host del documento que no esté protegido por Shadow DOM.
Los componentes DOM ligeros permiten el uso de API de consulta de navegador estándar como querySelector y querySelectorAll . En este caso, en lugar de usar this.template.querySelector , debes usar this.querySelector .
holaCodey.js
O más simplemente, a menudo puedes usar la directivalwc:ref en ambos casos (componentes DOM sombreados y claros) y omitir el querySelector .
holaCodey.html
<dx-code-block title language="html" code-block="
Hello Codey!
«>
holaCodey.js
Cuándo usarlo y cuándo no usarlo
Light DOM es una opción para cada componente individual. Sus efectos no se aplicarán a otros componentes a menos que también opten por participar. Tenga en cuenta que los componentes base siempre se representan en DOM oculto.
Recomendamos habilitar DOM ligero si tiene bibliotecas que necesitan acceder a los componentes internos mediante API de consulta de navegador estándar, aplicar estilos globales o necesita más flexibilidad para implementar las mejores prácticas de accesibilidad, siempre y cuando el componente no exponga datos confidenciales. Cubriremos estos casos de uso con más profundidad en la siguiente sección.
No recomendamos habilitar DOM ligero para un componente si ese componente aparece o funciona con datos confidenciales. El uso de DOM ligero elimina la encapsulación de DOM en sombra y expone los componentes al raspado de DOM. Por lo tanto, tenga en cuenta esta importante consideración.
Casos de uso habilitados por DOM ligero
Light DOM permite varios casos de uso que anteriormente no eran compatibles.
1) Soporte de bibliotecas que necesitan acceso a las partes internas de un componente
Light DOM permite el uso de bibliotecas que necesitan acceso a los componentes internos. Un buen ejemplo de esto son las bibliotecas de análisis utilizadas en los sitios de Experience Cloud, como Google Analytics, ya que necesitan acceso a los componentes internos para obtener mejores resultados.
Podemos probar este caso de uso, incluido el componente helloCodey anterior, en un componente principal mascotChanger de la siguiente manera.
mascotChanger.html
<dx-code-block title language="html" code-block="
«>
mascotChanger.js
Tenga en cuenta que, aunque el párrafo consultado pertenece al componente helloCodey , podemos acceder a él con this.template.querySelector , porque pertenece al DOM ligero secundario. Sin embargo, si el componente helloCodey no tuviera habilitado el DOM ligero, querySelector habría devuelto null .
También puede acceder a los componentes internos del DOM ligero desde un script que se carga como un recurso estático en la página, siempre y cuando todos los componentes ancestros estén habilitados para el DOM ligero. Por ejemplo, en un sitio LWR Experience Cloud, que es DOM completamente ligero, puede agregar un recurso estático de JavaScript que encuentre los componentes internos helloCodey de la siguiente manera.
myJSResource.js
2) Implementación más sencilla de componentes profundamente anidados
Otro ejemplo en el que esto puede resultar útil es implementar componentes complejos y profundamente anidados. En ese caso, es posible que prefiera tener un único componente DOM de sombra en el nivel superior y componentes DOM claros dentro para evitar gastos generales. Por ejemplo, un componente de tabla de datos personalizado puede tener solo un gran componente DOM de sombra alrededor de todo, en lugar de una sombra para cada fila y celda de la tabla.
Esta implementación facilita la consulta de sus propios elementos desde el componente de nivel superior de su jerarquía y también la implementación de la accesibilidad. Además, hay una ligera mejora en el rendimiento en algunos casos de uso al usar DOM claro sobre DOM sombreado, lo que se debe principalmente a la sobrecarga de simplemente crear nodos de sombra adicionales.
3) Estilo global
Light DOM también facilita el estilo global, ya que permite que los estilos CSS caigan en cascada en el marcado del componente. Por ejemplo, un componente DOM ligero puede establecer un estilo que se carga y luego se aplica una vez para todos los componentes DOM ligeros de la página. La inyección de estilos globales a través de DOM ligero solo se admite en sitios de Experience Cloud, editor de contenido CMS o Sales Enablement.
Por ejemplo, definamos un componente colorChanger de la siguiente manera.
colorChanger.html
<dx-code-block title language="html" code-block="
«>
colorChanger.js
colorChanger.css
El color de fondo azul se aplicará a los párrafos de todas las instancias del componente helloCodey en la página, ya que está habilitado para DOM claro.
En la mayoría de los casos, no querrás que tu estilo se filtre a otros componentes. Eso todavía es posible para componentes DOM ligeros. Solo necesita colocar esas reglas de estilo en un archivo *.scoped.css , para que tengan como alcance el componente DOM ligero. El CSS con alcance está escrito exactamente igual que el CSS normal, pero solo se aplicará a ese componente sin filtrarse.
Tenga en cuenta que si las reglas de estilo se cargan globalmente como recursos estáticos en una página de Lightning Experience o un sitio de Experience Cloud, se les quitará el alcance y se aplicarán tanto a los componentes DOM claros como también a los componentes DOM de sombra, ya que la sombra sintética no evitará que se filtren. Esta es una limitación que se solucionará una vez que la sombra nativa sea totalmente compatible (actualmente en Developer Preview ). Cuando la sombra nativa está habilitada, solo los componentes habilitados para DOM claro heredarán los estilos globales.
4) Implementación más flexible de las mejores prácticas de accesibilidad
Light DOM permite que un componente haga referencia a la idun elemento que vive en otro componente separado habilitado para Light DOM. Esto le permite vincular dos elementos utilizando los atributos idy aria , lo que le otorga flexibilidad adicional para implementar las mejores prácticas de accesibilidaden sus proyectos. Mejoremos nuestro componente mascotChanger para demostrar esto.
mascotChanger.html
<dx-code-block title language="html" code-block="
«>
mascotChanger.js
mascotaNombreInput.html
<dx-code-block title language="html" code-block="
«>
mascotaNombreEtiqueta.html
<dx-code-block title language="html" code-block="
«>
Tenga en cuenta que Salesforce está trabajando actualmente con el W3C para agregar nuevos estándares, de modo que el DOM oculto nativo pueda participar en estos patrones de accesibilidad. Esto significa que, en el futuro, este caso de uso ligero de DOM no será necesario. Como parte de nuestros esfuerzos de accesibilidad, también patrocinamos a Igalia para implementar parcialmente ARIA Element Reflection , que ahora es totalmente compatible con Safari y parcialmente con Chrome. Si quieres saber más sobre este tema, echa un vistazo a nuestra propuesta cross-root-aria , el repositorio para el grupo de trabajo Modelo de objetos de accesibilidad .
La siguiente tabla resume los casos de uso y dónde se admiten.
Experiencia en la nube
Experiencia relámpago
Aplicaciones móviles de Salesforce
LWC OSS/LWR en Node.js*
Soporte de bibliotecas que necesitan acceso a las partes internas de los componentes.
Sí
Sí
Sí
Sí
Implementación más sencilla de componentes profundamente anidados
Sí
Sí
Sí
Sí
Estilo global
Sí
No
No
Sí
Implementación más flexible de las mejores prácticas de accesibilidad
Sí
Sí
Sí
Sí
*Si se utiliza DOM de sombra nativo en lugar de sombra sintética . La sombra nativa es la opción predeterminada para LWC OSS y LWR en Node.js.
Otras Consideraciones
Cuando se trabaja con DOM ligero, hay algunas consideraciones adicionales a tener en cuenta, entre ellas:
No hay soporte de navegador para espacios fuera del DOM oculto, por lo que se emula. Esto implica que algunas funciones, como los enlaces de ciclo de vida, no están disponibles en ellos. Eche un vistazo a ladocumentación para saber más.
Por ahora, los componentes ligeros habilitados para DOM no se pueden empaquetar.
Conclusión
En esta publicación de blog, revisamos qué es el DOM ligero, los casos de uso que permite y las consideraciones a tener en cuenta para decidir qué componentes habilitarán la función. Todos los ejemplos que se muestran en este blog se encuentran en un repositorio de GitHub que puedes probar tú mismo.
Para obtener más información sobre DOM ligero en la plataforma Salesforce, lea la documentación o, si está trabajando fuera de la plataforma, lea la documentación OSS .
Si decide seguir adelante y transformar sus componentes DOM ocultos en componentes DOM claros, consulte esta herramienta creada por Salesforce Engineering para simplificar la migración.
Sobre el Autor
Alba Rivastrabaja como Principal Developer Advocate en Salesforce. Puedes seguirla enLinkedin , Twitter o GitHub .
Obtenga las últimas publicaciones de blog y episodios de podcasts para desarrolladores de Salesforce a través de Slack o RSS.
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.
…
Hema Kumar realiza el trabajo de sus sueños como desarrolladora | Blog de desarrolladores de Salesforce
Conoce a Hema Kumar La desarrolladora de Salesforce, Hema Kumar , siempre había soñado con una carrera en el sector tecnológico, pero las circunstancias familiares le impidieron cumplir ese sueño. A pesar de una oferta de una buena facultad de ingeniería lejos de casa, tuvo que obtener un título en ciencias en la universidad local.
Cuando comenzó la pandemia de COVID-19, Hema había estado buscando trabajo como asistente de enseñanza mientras trabajaba a tiempo completo como compradora de viviendas en ASDA. La enviaron a casa durante el encierro y quería dedicar su tiempo a hacer algo productivo. El cuñado de Hema trabajaba en Accenture y le sugirió que explorara Salesforce a través deTrailhead,la puerta de entrada al ecosistema de Salesforce, donde cualquiera puede aprender de forma gratuita las habilidades más demandadas y relevantes de la actualidad, obtener credenciales dignas de un currículum y conectarse a redes globales. oportunidades.
"Debido a la naturaleza interactiva de Trailhead", recuerda Hema, "y al gran apoyo de los grupos Trailblazer, pronto me sentí parte de Salesforce Ohana". Continuó aprendiendo en Trailhead con resultados impresionantes: hasta la fecha, completó 43 senderos, obtuvo 316 insignias y cinco superbadges, y acumuló 196.000 puntos. El arduo trabajo de Hema también le valió cuatrocertificaciones de Salesforce, incluidasAdministradorayCreadora de aplicaciones, lo que inicialmente la llevó a considerar la carrera profesional de Administradora de Salesforce.
Debido a la naturaleza interactiva de Trailhead y al gran apoyo de los grupos Trailblazer, pronto me sentí parte de Salesforce Ohana.
Luego, Hema encontró un curso para desarrolladores de Salesforce impartido porFDM, un socio de Salesforce Workforce Development, y decidió inscribirse. El extenso curso de 12 semanas le enseñó habilidades de desarrollo esenciales e incluyó práctica práctica, proyectos y una evaluación exhaustiva. Ella lo recuerda como “emocionante, desafiante y muy intenso” y, a través de perseverancia y dedicación, completó con éxito el programa.
Poniendo sus nuevas habilidades a trabajar en su primer trabajo tecnológico
Después de graduarse del curso FDM, Hema tardó aproximadamente un año en conseguir su primer trabajo como desarrolladora. FDM la ayudó a conectarse con empleadores de Salesforce y comenzó a entrevistarse conNational Grid ESOpara un puesto como desarrolladora junior de Salesforce. Consiguió el trabajo y desde entonces se ha convertido en uno de los miembros clave del equipo de desarrollo de Salesforce de su empresa. “Gracias al equipo de FDM por apoyarme”, dice, “y gracias a National Grid por brindarme esta oportunidad y creer en mí”.
El papel de Hema en National Grid gira en torno al apoyo al desarrollo, la personalización y la configuración como parte de la entrega de DevOps de su equipo. La mayor parte de su trabajo incluye la creación de objetos, campos, reglas de validación, flujos, clases de Apex y desencadenadores. Además, recientemente comenzó a trabajar para mejorar sus Lighting Web Components (LWC). Hema también cree que las buenas habilidades de comunicación son esenciales para una colaboración eficaz en equipo y para mantener a todos actualizados sobre el estado de los proyectos individuales, los riesgos y otras inquietudes.
Consejos para aspirantes a desarrolladores: comience con Salesforce
Para Hema, Salesforce le ha brindado un camino para generar confianza en sus habilidades y hacer realidad su sueño. Ella recomienda la misma experiencia a “cualquiera que sea dedicado, disciplinado, pueda administrar el tiempo con criterio y esté lleno de entusiasmo por aprender”.
Además de la sólida plataforma de aprendizaje Trailhead, Salesforce ofrece oportunidades de tutoría, unacomunidad global de desarrolladores Trailblazer de Salesforceyeventos de Salesforcecomo formas de interactuar con sus pares. Los nuevos desarrolladores pueden beneficiarse de la comunidad al encontrar información útil, solicitar ayuda oportuna u obtener asesoramiento profesional.
Lo que más le gusta a Hema de una carrera profesional dentro del ecosistema de Salesforce es la naturaleza integral del soporte en cada paso del camino. “Es un paquete completo”, afirma, “desde el inicio de mi aprendizaje hasta conseguir mi primer trabajo, no tuve que buscar ayuda o consejo en ningún otro lugar”.
La historia de Hema destaca cómo Salesforce ayuda a personas técnicas y no técnicas a alcanzar sus objetivos. Y añade: "Salesforce tiene una variedad de opciones profesionales de nivel inicial adecuadas para todas las personas, independientemente de sus antecedentes".
Salesforce tiene una variedad de opciones profesionales de nivel inicial adecuadas para todas las personas, independientemente de sus antecedentes.
Para conocer desarrolladores como Hema y ampliar sus habilidades técnicas, únase a lacomunidad de desarrolladores de Salesforcey sea parte de la conversación sobre todo lo relacionado con el desarrollo de Salesforce.
Sobre el Autor
Christie Fiduraes la directora de participación de desarrolladores globales de Salesforce. En este puesto, busca involucrar y elevar a la comunidad de desarrolladores y trabajar directamente con ellos para comprender sus desafíos, preocupaciones, logros y sus inspiraciones. Puede encontrar a Christie en la comunidad Trailblazer enwww.salesforce.com/devcommunity. Christie, community manager certificada y comercializadora galardonada con múltiples premios, cree en el buen código, la comunidad y la igualdad.
Obtenga las últimas publicaciones de blog y episodios de podcasts para desarrolladores de Salesforce a través de Slack o RSS.
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.
…
Introducción a los agentes autónomos | Blog de desarrolladores de Salesforce
El panorama de la IA está cambiando a un ritmo tan rápido que las tecnologías futuristas como la IA autónoma ya están mucho más cerca de lo que piensas. Esto se debe a la forma en que los grandes modelos de lenguaje (LLM) están comenzando a incorporarse en casi todas las formas en que interactúa con las aplicaciones. Para los desarrolladores, esto supone un cambio en la forma en que abordamos la creación de aplicaciones, desde las formas en que las reunimos hasta la creación con una UX conversacional completamente nueva.
En esta publicación de blog, veremos cómo los agentes autónomos incorporan la IA a la forma en que funcionan las aplicaciones y, al mismo tiempo, nos acercan a un mundo autónomo.
¿Qué son los agentes autónomos?
En nuestro panorama tecnológico, los agentes son sistemas avanzados que aprovechan el poder de los modelos lingüísticos para razonar y tomar decisiones. Lo que los diferencia de otro bot o marco es el hecho de que los agentes pueden realizar tareas en su nombre utilizando herramientas y memoria.
Las herramientas son extensiones de las capacidades de un modelo de lenguaje, que cierran brechas en su conocimiento y le permiten interactuar con fuentes de datos externas o recursos computacionales. Con estas herramientas, un modelo de lenguaje puede obtener datos en tiempo real, ejecutar tareas y utilizar los resultados para informar sus acciones posteriores. Por ejemplo, si un modelo de lenguaje conoce información solo hasta una fecha determinada, las herramientas pueden proporcionarle información más actualizada de la web, bases de datos u otras fuentes externas.
La memoria proporciona a los agentes la capacidad de recordar interacciones pasadas, lo que puede ser esencial para la continuidad de las tareas y el aprendizaje de acciones anteriores. Esta memoria puede ser de corta duración, centrándose en interacciones recientes, o de largo plazo, recordando eventos o patrones pasados importantes que son relevantes para situaciones actuales.
Juntos, estos elementos transforman un modelo de lenguaje en un agente que no sólo puede comprender y generar texto, sino también actuar sobre esa comprensión en contextos del mundo real. Dichos agentes pueden ejecutar soluciones de forma autónoma para los usuarios, pero también pueden integrar la intervención humana, especialmente en escenarios donde existen incertidumbres o excepciones.
El agente determina la acción, selecciona la herramienta relevante y decide la entrada para esa herramienta.
La herramienta ofrece un resultado.
El proceso recorre los pasos 2 a 4 hasta que el agente determina que la tarea está completa
Este proceso es el que empieza a hacer autónomo al agente. Al confiar en el LLM para pensar en la respuesta y determinar las acciones apropiadas necesarias, actúa por sí solo para crear el resultado deseado.
Usando LangChain como ejemplo, digamos que queremos crear una aplicación que permita a un cliente gestionar sus pedidos. Primero, podríamos darle a la aplicación acceso a nuestra base de datos de pedidos, base de datos de clientes y API de socios de envío. Luego, configuraríamos una serie de herramientas a las que puede acceder la aplicación para consultar datos, actualizarlos y utilizar IA generativa para redactar una respuesta.
Este agente de gestión de pedidos dispone de seis herramientas que puede utilizar “dentro de su dominio de conocimiento”:
Query Orders es una herramienta que puede consultar pedidos desde una base de datos a través de una API conectada a una base de datos PostgreSQL.
Update Order es una herramienta que puede actualizar un único pedido desde una base de datos a través de una API conectada a una base de datos PostgreSQL.
Manage TrackingInfo es una herramienta que puede gestionar un envío a través de una API proporcionada por una empresa de envío
Get Customer es una herramienta que puede consultar datos de clientes desde una API conectada a un sistema CRM
Update Customer es una herramienta que puede actualizar los datos de los clientes a través de una API conectada a un sistema CRM
Compose Response es una herramienta que puede pasar indicaciones a un LLM y devolver una respuesta.
Veamos ahora cómo un agente podría manejar casos de uso relacionados con la gestión de pedidos. Por ejemplo, ¿cómo puede el agente ayudar a un usuario a obtener una actualización sobre el estado de su pedido?
El usuario solicita la información más reciente de su pedido a través de un chatbot
El agente “piensa” y determina la acción correcta que debe tomar
El agente primero utiliza la herramienta Consultar cliente para consultar los detalles del cliente.
Luego, el agente utiliza la herramienta Consultar pedidos para consultar pedidos desde una base de datos.
Luego, el agente utiliza la herramienta Administrar información de seguimiento para obtener la información de envío más reciente de su socio de envío.
Luego, el agente toma ambos resultados y utiliza la herramienta Redactar respuesta para generar una respuesta.
La respuesta se devuelve al usuario.
En este escenario, el agente pudo tomar las herramientas que le proporcionamos y determinar el pedido y los parámetros que necesitan para crear el resultado correcto para el usuario, en este caso, toda su información de pedido y envío. Lo que es importante tener en cuenta aquí es que el usuario puede hacerle al agente cualquier pregunta sobre su pedido y el agente puede usar IA para razonar y usar las herramientas en el orden que necesite.
Como desarrollador, su función se centra más en crear las herramientas y permitir que el agente administre la orquestación.
Mantener a un humano informado
El desafío ético con los agentes autónomos es que no hay ningún ser humano involucrado cuando se trata de ejecutar las acciones. En Salesforce, estamos comprometidos con el uso ético de la IA y queremos dejarlo claro en nuestras implementaciones de este tipo de tecnología. Ciertas reglas exigen que una persona sea responsable de tomar la decisión final en asuntos con consecuencias legales o de impacto comparable, incluida la contratación laboral, la aprobación de préstamos, las admisiones educativas y las sugerencias en justicia penal. Esta insistencia en la supervisión humana, en lugar de decisiones automatizadas, tiene como objetivo identificar y reducir mejor los posibles sesgos y daños.
¿Qué significa esto para el futuro de Salesforce?
En Dreamforce este año, les dimos una idea de cómo será el futuro de Salesforce y la IA autónoma en la plataforma Einstein 1. Einstein Copilot es nuestra respuesta a un asistente conversacional de IA generativa basado en agentes que utiliza habilidades y acciones para guiar a los usuarios a través de la interacción con Salesforce. Esto introduce un paradigma de desarrollo completamente nuevo para Salesforce, uno en el que estamos creando piezas de funcionalidad más pequeñas que pueden ser orquestadas por Einstein Copilot.
¿Cómo se compara Einstein Copilot con un agente de IA?
Si bien existen varias similitudes entre Copilot y un marco de agente de código abierto, la verdadera diferencia es el acceso de Copilot a toda la plataforma de metadatos de Salesforce. No sólo eso, sino que el alcance es mucho mayor. En lugar de agentes individuales, tienes muchas habilidades , y en lugar de herramientas tienes acciones .
Por ejemplo, si desea actualizar un pedido utilizando Copilot, deberá crear una habilidad de gestión de pedidos. Con otros marcos, necesitarías crear un agente completo para la gestión de pedidos.
Cuando se trata de acciones, usted tiene el poder de la Plataforma Einstein 1 detrás de usted. Podrá utilizar Apex, Flow, las numerosas API de plataforma, SOQL y mucho más para brindarle a su habilidad la capacidad de reunir datos desde cualquier lugar. También tiene acceso directo a los datos de toda la plataforma.
Estudio Einstein Copiloto
Estas habilidades y acciones se reúnen en Einstein Copilot Studio , que le permite ensamblar flujos, indicaciones, Apex y más en colecciones de funcionalidades.
Actualmente existen tres herramientas dentro de Einstein Copilot Studio:
Prompt Builder le permite crear plantillas de mensajes utilizando campos de combinación de registros y datos proporcionados por Flow y Data Cloud.
Skills Builder le permite ensamblar acciones, como métodos invocables de Apex, flujos y llamadas de API de MuleSoft, y otorgárselas a un agente.
Model Builder le permite traer sus propios modelos de IA a Salesforce
Juntos, podrán crear agentes potentes en Salesforce que puedan usar su código para responder preguntas y ayudar a los usuarios.
La capa de confianza de Einstein
Una gran ventaja de Einstein Copilot es Einstein Trust Layer. Trust Layer proporciona un entorno seguro para el procesamiento de datos a través de un modelo de lenguaje grande, lo que garantiza que los datos del usuario permanezcan confidenciales al enmascarar información de identificación personal, verificar la salida en busca de contenido inapropiado y garantizar que no haya persistencia de datos fuera de Salesforce.
Trust Layer se ejecuta a través de un proceso de varios pasos para garantizar que los datos estén fundamentados y enmascarados antes de ser procesados por un proveedor de LLM externo, y proporciona una puerta de enlace segura para interactuar con dichos LLM. Una vez que se ha generado una respuesta, la verifica en busca de contenido tóxico y desenmascara los datos antes de presentárselos al usuario. Puede ver más de cerca la capa de confianza en nuestra publicación de blog Dentro de la capa de confianza de Einstein .
Resumen
La IA autónoma se hace realidad mucho más cerca a través de agentes, lo que marca el comienzo de una nueva era de tecnología en la que el razonamiento y la toma de decisiones se potencian con herramientas y memoria. Einstein Copilot de Salesforce introduce este enfoque impulsado por agentes en la plataforma, ofreciendo un asistente de IA conversacional que guía a los usuarios, aprovecha los vastos metadatos de Salesforce y garantiza la integridad de los datos a través de Einstein Trust Layer. Este cambio transformador significa no sólo una evolución en las interacciones de IA, sino también una promesa de experiencias seguras, eficientes y fluidas para los usuarios de Salesforce.
Sobre el Autor
Stephan Chandler-García es el director de contenido estratégico de Salesforce. Ha estado en el ecosistema de Salesforce durante más de 10 años como cliente, socio e ISV. Puede encontrar a Stephan en persona en un grupo comunitario Trailblazer o en una de nuestras conferencias en todo el mundo. Alternativamente, sígalo en X (Twitter) o GitHub .
Obtenga las últimas publicaciones de blog y episodios de podcasts para desarrolladores de Salesforce a través de Slack o RSS.
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.
…
Habilitación de MFA en MuleSoft para canalizaciones de CI/CD mediante acciones de GitHub | Blog de desarrolladores de Salesforce
La mayoría de las cuentas empresariales de Anypoint Platform requieren que utilice mecanismos de autenticación multifactor (MFA) para mayor seguridad. Esto significa que, además de su nombre de usuario y contraseña habituales, necesitará un paso adicional para autenticarse (por ejemplo, una aplicación de autenticación en su teléfono).
Cuando utiliza canalizaciones de CI/CD para sus aplicaciones Mule y MFA está habilitado en su cuenta, la configuración para autenticarse usando el complemento Mule Maven será diferente que si solo estuviera usando su nombre de usuario y contraseña. Hay más pasos que debe seguir desde su cuenta de Anypoint Platform para habilitar sus canales de CI/CD con este método de autenticación.
En esta publicación, aprenderá cómo configurar una canalización de GitHub Actions para que funcione con su cuenta habilitada para MFA desde Anypoint Platform.
Requisitos previos
Crear una aplicación conectada
Dado que usar el nombre de usuario y la contraseña de su plataforma Anypoint no es suficiente para autenticarse en el proceso, debe crear unaaplicación conectadapara usar sus credenciales (ID/Secreto). Para crearlo, vaya a su cuenta de Anypoint Platform y navegue hastaGestión de acceso>Aplicaciones conectadas>Crear aplicación.
Asigne un nombre a su aplicación para identificarla de otras que pueda crear. Por ejemplo,github-actions. Seleccione el tipo La aplicación actúa por sí solay haga clic en el botón Agregar ámbitos.
Seleccione los siguientes 10 ámbitos.
Desarrollador del centro de diseño
Ver entorno
Ver organización
Perfil
Administrador de organización de CloudHub
Crear aplicaciones
Eliminar aplicaciones
Descargar aplicaciones
Leer aplicaciones
Leer servidores
Haga clic enSiguiente. Seleccione su grupo empresarial y haga clic enSiguiente. Seleccione su entorno (por ejemplo, Sandbox) y haga clic enSiguiente. Revise que los alcances sean correctos y haga clic enAgregar alcances. Haga clic enGuardar.
Una vez creada la aplicación, asegúrese de copiar tantoel IDcomoel Secreto. Los utilizará en la configuración de la canalización como método de autenticación.
Configura tus secretos de GitHub Actions
Vaya a su repositorio de GitHub. Haga clic en lapestañaConfiguración > Secretos y variables>Acciones>Nuevo secreto del repositorio. En el campo de nombre, agregueCONNECTED_APP_CLIENT_ID. En el campo secreto, agregue la identificación real que acaba de copiar en el paso anterior.Repita este paso para crear otro secreto con el secreto real que copió en el paso anterior. Utilice el nombreCONNECTED_APP_CLIENT_SECRET.
Crear una canalización de CI/CD
De vuelta en el código de su aplicación Mule, cree una carpeta .githuben el nivel raíz. Dentro de esta carpeta, cree otra carpeta llamadaworkflows. Dentro de esta carpeta, cree un archivo build.ymlcon el siguiente contenido:mule-mfa-cicd-build.yml. Tenga en cuenta que la sucursal mainse utiliza en la línea 5. Si su sucursal tiene un nombre diferente, asegúrese de actualizar esta configuración.
En este archivo, describimos los pasos para generar el archivo JAR de nuestra aplicación Mule e implementarlo en nuestra cuenta de Anypoint Platform usando GitHub Actions. Observe que estamos usando los secretos creados previamente en el último paso para pasarlos a nuestro proyecto a través de Maven. Aquí declaramos dos variables de entorno Java (client.idyclient.secret) para copiar las credenciales de nuestra aplicación de los secretos de GitHub para que el archivo pom.xml pueda usarse más adelante.
Modifica tu configuración de Maven
En su proyecto Mule, abra su archivo pom.xml. Localice el complemento org.mule.tools.mavenenproject/build/plugins. Agregue la siguiente configuración a este complemento.
Vuelva a verificar estas configuraciones en caso de que necesite actualizarlas para que coincidan con su caso de uso. Por ejemplo,muleVersion,applicationName,environmentoregion. Usaremos los campos connectedAppClientIdyconnectedAppClientSecretpara pasar las variables Java que declaramos anteriormente en la configuración de Maven.
Es importante que no codifique las credenciales de la aplicación conectada en este archivo por razones de seguridad. Es por eso que mantenemos los valores como secretos de GitHub. Recuerda que puedes accedera nuestro repositorio de ejemplosi necesitas comparar tu código con el nuestro.
ejecutar la tubería
Una vez que todas sus configuraciones estén listas, confirme y envíe sus cambios al repositorio remoto. Esto activará la canalización en GitHub. Puede ver el proceso haciendo clic en la pestaña Accionesde su repositorio de GitHub.
Una vez completado el proceso, su aplicación Mule se implementará en Runtime Manager. Tenga en cuenta que el archivo JAR contendrá el hash de confirmación en su nombre.
Conclusión
Habilitar canalizaciones de CI/CD es importante para automatizar tareas repetitivas. En lugar de implementar manualmente una aplicación Mule cada vez que hay un cambio en el código, podemos crear canalizaciones para que realicen estas tareas por nosotros. Este fue un ejemplo simple que utiliza solo una sucursal y un entorno, pero puede conectar otras sucursales a otros entornos en Anypoint Platform. Por ejemplo,dev,qa,prod, etc.
En esta publicación, aprendimos cómo implementar automáticamente una aplicación Mule en CloudHub cuando usamos la autenticación multifactor en nuestra cuenta de Anypoint Platform porque la mayoría de las cuentas empresariales tienen esta configuración habilitada. Sin embargo, cuando solo usa una cuenta de prueba gratuita, no necesita crear una aplicación conectada si no usa MFA en su cuenta. Puede utilizar su nombre de usuario y contraseña de Anypoint Platform para iniciar sesión.
Hay muchas cosas que puede automatizar al utilizar canalizaciones de CI/CD para sus aplicaciones Mule. Puedes ejecutar pruebas automatizadas antes de implementar tu aplicación Mule, por ejemplo. ¿Se te ocurren otras tareas repetitivas que puedas automatizar en tus canalizaciones?
Nota: Las versiones iniciales de la canalización se basan en el siguiente repositorio creado por Archana Patel:arch-jn/github-actions-mule-cicd-demo.
Recursos adicionales
Sobre el Autor
Alex Martínez formó parte de la comunidad de MuleSoft antes de unirse a MuleSoft como desarrollador defensor. Fundó ProstDev para ayudar a otros profesionales a aprender más sobre la creación de contenido. En su tiempo libre, encontrarás a Alex jugando juegos de Nintendo o Playstation y escribiendo reseñas sobre ellos. Siga a Alex en LinkedIn o en la comunidad Trailblazer .
Obtenga las últimas publicaciones de blog y episodios de podcasts para desarrolladores de Salesforce a través de Slack o RSS.