Los partners ISV tienen acceso a orgs adicionales únicas que te ayudan a desarrollar, probar y hacer demos de apps.
The post Recomendaciones de orgs de Salesforce para ISVs appeared first on Blog de desarrolladores de Salesforce.
Seguir leyendoLos partners ISV tienen acceso a orgs adicionales únicas que te ayudan a desarrollar, probar y hacer demos de apps.
The post Recomendaciones de orgs de Salesforce para ISVs appeared first on Blog de desarrolladores de Salesforce.
Seguir leyendoEscrito por Armin Bahramshahry y Shan Appajodu. Hyperforce es una plataforma de infraestructura fundamental para Salesforce, que mejora la prestación de servicios globales a través de las mejores plataformas de nube pública para aumentar la seguridad, la escalabilidad y la agilidad. Hyperforce permitió el despliegue de nuevas innovaciones como Data Cloud e impulsó la escalabilidad global de Salesforce’s Core CRM. Para ayudar a alinear la agilidad del desarrollador con la infraestructura […]
El post Plantilla de Hyperforce para mejorar el flujo de trabajo de los desarrolladores: Inside the 7 Pillars of Agile Development appeared first on Blog de ingeniería de Salesforce.
Independientemente de si está configurando un modelo de datos o probando nuevos flujos activados por Data Cloud, los entornos aislados ofrecen una potente plataforma para la innovación sin comprometer la estabilidad de sus sistemas de producción.
Los entornos aislados ofrecen una potente plataforma para la innovación sin comprometer la estabilidad de sus sistemas de producción
The post Data Cloud en entornos de pruebas ya está en Beta appeared first on Blog de desarrolladores de Salesforce.
Seguir leyendoEn esta edición especial de “Engineering Energizers,” celebramos el 25 aniversario de Salesforce mostrando 25 herramientas de productividad clave preferidas por los ingenieros líderes de Salesforce en India, EE.UU., Israel y Argentina. Explore las herramientas esenciales en las que confían estos expertos para mejorar su productividad, abordar problemas complejos y elevar la innovación. 1. SLACK – Una plataforma de productividad […]
The post 25 herramientas de productividad que impulsan a los equipos de ingeniería de Salesforce appeared first on Blog de ingeniería de Salesforce.
Seguir leyendoEn nuestra serie de preguntas y respuestas «Engineering Energizers», exploramos las extraordinarias trayectorias de líderes en ingeniería que han realizado importantes contribuciones en sus respectivos campos. Hoy, nos sumergimos en el viaje técnico de Evangelina Martínez Ruiz Moreno, Directora Senior de Salesforce, que encabezó el desarrollo del nuevo Anypoint Flex Gateway de MuleSoft. Sigue leyendo para explorar cómo […]
El post Del concepto a la realidad: Developing MuleSoft’s New Flex Gateway API Management Solution appeared first on Blog de ingeniería de Salesforce.
Seguir leyendoAnthony Quinn se describe a sí mismo como el «entusiasta de la tecnología» de su familia, pero las rutas convencionales hacia una carrera en tecnología no se ajustaban a su estilo de aprendizaje práctico. Entró en el programa de aprendizaje Salesforce Future Pathways
The post De aprendiz a experto – Anthony Quinn comparte su experiencia en el programa Future Pathways appeared first on Salesforce.
La experiencia de Anthony Quinn en el programa Future Pathways appeared first on Salesforce
Seguir leyendoEn nuestra serie “Engineering Energizers” Q&A, profundizamos en las experiencias y conocimientos de los líderes de ingeniería de Salesforce. Hoy nos reunimos con Mahamadou Sylla, miembro senior del personal técnico de Salesforce Engineering. Mahamadou es un miembro clave de nuestro equipo de la lista de materiales (BOM) de Hyperforce, que ayuda a los equipos internos a migrar automáticamente sus recursos en la nube […]
El post Desbloqueando la migración de Hyperforce: Innovative Solutions for a Smooth Transition to the Cloud appeared first on Blog de ingeniería de Salesforce.
Seguir leyendoEn nuestra serie de preguntas y respuestas «Engineering Energizers», examinamos las experiencias profesionales que han formado a los líderes de ingeniería de Salesforce. Conozca a Patrick Green, miembro principal del personal técnico de ingeniería de Salesforce. Patrick da soporte al equipo Project Sharing and Permissions (PSP) de Tableau. El desarrollo de funciones desempeña un papel crucial en su trabajo, ya que garantiza el buen funcionamiento […]
La creación de funciones desempeña un papel fundamental en su trabajo
El post Superando obstáculos complejos: Revealing Tableau’s Process for Creating New Features and Functionality appeared first on Blog de ingeniería de Salesforce.
Seguir leyendoAprenda cómo puede utilizar la CLI de Salesforce para manipular lotes de registros pequeños y grandes en su flujo de trabajo de DevOps.
La CLI de Salesforce le permite manipular lotes de registros pequeños y grandes en su flujo de trabajo de DevOps
The post Manipule datos con la CLI de Salesforce appeared first on Blog de desarrolladores de Salesforce.
Seguir leyendoEn nuestra serie “Engineering Energizers” Q&A, nos adentramos en las extraordinarias trayectorias de líderes de la ingeniería que han realizado importantes contribuciones en sus respectivos campos. Hoy nos centramos en Zane Whitfield, miembro del personal técnico de Salesforce, que apoya al equipo de herramientas para desarrolladores frontales (FDT) de Heroku. Con una pasión por la mejora del desarrollador […]
El post Inside Heroku’s New Performance Analytics Tool: Improving User Experiences and Developer Efficiency appeared first on Blog de ingeniería de Salesforce.
La nueva herramienta de análisis del rendimiento de Heroku mejora la experiencia del usuario y la eficiencia de los desarrolladores
Seguir leyendoPor Rukmini Reddy y Scott Nyberg En nuestra serie de preguntas y respuestas «Engineering Energizers», examinamos las trayectorias profesionales que han formado a los líderes de ingeniería de Salesforce. Conozca a Rukmini Reddy, Vicepresidenta senior de ingeniería de software de la plataforma Slack. El objetivo de su equipo es potenciar a los desarrolladores, mejorar la productividad y ampliar los límites de la innovación en IA y automatización en […]
El post Future-Driven Dev Empowerment: Slack SVP Tackles New AI and Automation Challenges Head-On appeared first on Blog de ingeniería de Salesforce.
La tecnología de Slack es la clave de la innovación
Seguir leyendoLas implementaciones de Salesforce, también conocidas como ‘releases’, son uno de los mayores retos para los administradores, consultores y aquellos que trabajan en otras muchas funciones. A medida que las organizaciones de Salesforce se vuelven cada vez más complejas, los cambios suelen tener muchas partes «móviles» que pueden tener repercusiones de gran alcance en la organización de Salesforce. Una vez que esté satisfecho con la solución que ha construido (en un sandbox) […]
The post Lista de comprobación de la implementación de Salesforce: De la puesta en marcha a la adopción appeared first on Salesforce Ben.
La plataforma Salesforce es muy potente. Con cada nueva versión, su org se vuelve más potente, pero también más compleja. Como le dijeron una vez a Spiderman: «un gran poder conlleva una gran responsabilidad». Entonces, ¿cómo puede asumir la responsabilidad real de mantener su organización? Con todo lo demás que tiene que hacer, documentar sus cambios es probablemente bajo en […]
El post Guía completa para la documentación de Salesforce (en un mundo de IA) appeared first on Salesforce Ben.
Seguir leyendoSalesforce CPQ (Configure, Price, Quote) es una potente herramienta que agiliza el proceso de creación de presupuestos precisos para productos y servicios. Como parte integral de Salesforce Revenue Cloud, CPQ ayuda a las organizaciones a optimizar sus procesos de ventas, mejorar la generación de ingresos y ofrecer una mejor experiencia general al cliente. Sin embargo, implementar, desarrollar y mantener Salesforce CPQ puede ser […]
The post Cómo simplificar las implementaciones de Salesforce CPQ: Estrategias para el éxito appeared first on Salesforce Ben.
La simplificación de las implementaciones de CPQ de Salesforce: Estrategias para el éxito
Seguir leyendoCada vez más organizaciones de todos los sectores están considerando la migración a AWS para aprovechar los beneficios de una mayor flexibilidad, seguridad avanzada y una gama de sólidos servicios de AWS. Según Statista, el segmento de AWS crece al menos un 20% cada año. A pesar de todas las ventajas potenciales de la plataforma en la nube de AWS, su implementación tiende a llevar tiempo […]
The post Cómo la consultoría de AWS puede maximizar el ROI de la adopción appeared first on Salesforce Ben.
Seguir leyendoEsta 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.
…
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 de Trailhead , 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ó cuatro certificaciones de Salesforce , incluidas Administradora y Creadora 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 por FDM , 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.
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 con National Grid ESO para 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.
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, una comunidad global de desarrolladores Trailblazer de Salesforce y eventos de Salesforce como 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 la comunidad de desarrolladores de Salesforce y sea parte de la conversación sobre todo lo relacionado con el desarrollo de Salesforce.
Christie Fidura es 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 en www.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.
Añadir a holgura Suscríbete a 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.
…
¡Llamando a todos los desarrolladores de Salesforce! ¿Estás listo para experimentar la magia de AI + Datos + CRM en Dreamforce 2023? Hemos preparado una experiencia repleta de tres días como ninguna otra, así que prepárate para aprender, conectarte, divertirte y retribuir rodeado de compañeros innovadores en la conferencia de tecnología más grande del mundo.
Sabemos que está contando ansiosamente los días hasta que comience Dreamforce, así que siga leyendo para comenzar a planificar su experiencia Dreamforce perfecta, desde conferencias magistrales hasta sesiones en Developer Track y demostraciones prácticas en acción en Developer Grove.
AI + Data + CRM están cambiando rápidamente el futuro de los negocios y los desarrolladores están a la vanguardia. Únase al presidente y director de ingeniería, Srini Tallapragada, y a invitados especiales para aprender todo sobre el futuro del desarrollo y cómo puede aprovechar la IA en su trabajo.
Si asistirá a Dreamforce en persona, asegúrese de agregar la conferencia magistral a su agenda . Si lo seguirá desde casa, vea la conferencia magistral completa mientras se transmite en vivo en Salesforce+ .
📅 Marque sus calendarios: jueves 14 de septiembre, de 1:30 a 2:20 p. m., hora del Pacífico
🎤 Oradores destacados: Srini Tallapragada, Alba Rivas, Adam White, Kat Holmes, Chris Peterson, Avanthika Ramesh
❗ Añadir a tu agenda
Eche un primer vistazo a las principales funciones, herramientas e innovaciones para desarrolladores de la versión Winter '24. Vea demostraciones en vivo de interesantes innovaciones de productos y haga preguntas a nuestros expertos en productos. Hay tantas innovaciones nuevas para los desarrolladores en esta versión que ¡no querrás perderte esto!
📅 Marque sus calendarios: jueves 14 de septiembre, de 2:30 a 3:30 p. m., hora del Pacífico
🎤 Oradores destacados: Aditya Naag Topalli, Mohith Shrivastava, Ewald Hofman, Danielle Larregui, Greg Whitworth, Akshata Sawant, Sarah Welker
❗ Añadir a tu agenda
Developer Track ofrece una combinación de sesiones de teatro de 20 minutos en Developer Theatre y sesiones de trabajo de 40 minutos. Espere asimilar las mejores prácticas, consejos y mucha inspiración. ¡Y hay algo para todos, sin importar los temas que te apasionen! Tenemos sesiones para todos los niveles (principiante, intermedio, avanzado) en todas las funciones y temas: IA generativa, nube de datos, DevOps Center, MuleSoft, Code Builder, Apex, AppExchange, Lightning Web Components, Slack, seguridad, accesibilidad y más.
📍 Las sesiones de calentamiento se ubicarán en todo Trailblazer Forest: en Developer Theatre junto a Developer Grove, Redwood Theatre, Einstein Theatre, Data Cloud Theatre y Olympic Theatre. Las sesiones de trabajo de Developer Track se llevarán a cabo en el segundo y tercer piso de Moscone West. Asegúrese de consultar su agenda para conocer la ubicación exacta de las habitaciones.
Para encontrar estas sesiones en el catálogo de sesiones de Dreamforce , seleccione Función en la navegación izquierda y marque Desarrollador para ver todas las sesiones etiquetadas para desarrolladores.
Descubra el poder de Einstein GPT para desarrolladores
Qué esperar: La IA generativa ha arrasado en el mundo de la tecnología. Conozca las capacidades más recientes de Einstein GPT y cómo los desarrolladores pueden utilizar la tecnología para crear sus propias aplicaciones impulsadas por IA en Salesforce.
Oradores destacados: Stephan Chandler-García, Ananya Jha
❗ Añade esta sesión a tu agenda
Comprensión de la nube de datos para desarrolladores de Salesforce
Qué esperar: aprenda qué significa Data Cloud para los desarrolladores, cómo se exponen sus artefactos como metadatos de plataforma familiares y cómo ingerir e interactuar con sus datos mediante SQL, Apex, Flows, API y SDK.
Oradores destacados: Aditya Naag Topalli, Danielle Larregui
❗ Añade esta sesión a tu agenda
¿Quieres un mejor código? Einstein GPT y Code Analyzer pueden ayudar
Qué esperar: Impulse el desarrollo de Salesforce con el dúo dinámico de Einstein GPT para desarrolladores y Code Analyzer. Aprenda cómo optimizar la generación y validación de código directamente desde las experiencias IDE.
Oradores destacados: Gordon Bockus, Vivek Chawla
❗ Añade esta sesión a tu agenda
Componentes web Lightning: novedades y novedades
Qué esperar: aprenda cómo puede utilizar Lightning Web Components para hacer que el desarrollo en Salesforce sea más fácil y eficiente. Vea las últimas funciones disponibles para LWC y lo que se avecina en la hoja de ruta.
Oradores destacados: Alicia Teo, Alice Oh, Leo Balter
❗ Añade esta sesión a tu agenda
Hoja de ruta de Apex: novedades y novedades
Qué esperar: Los gerentes de producto de Salesforce profundizarán en las funciones lanzadas recientemente y en el futuro en la hoja de ruta de Apex, incluido Einstein GPT para desarrolladores.
Oradores destacados: Daniel Ballinger, Chris Peterson
❗ Añade esta sesión a tu agenda
Aumente la productividad de los desarrolladores con GraphQL e IA generativa
Qué esperar: Sumérgete en la nueva API GraphQL, donde las consultas y mutaciones se pueden combinar en una sola solicitud, ganando rendimiento y flexibilidad. Eche un vistazo a cómo redactar consultas con IA generativa.
Oradores destacados: Julián Duque, Ben Sklar
❗ Añade esta sesión a tu agenda
Desarrollar componentes web Lightning para dispositivos móviles sin conexión
Qué esperar: ¿ Usuarios móviles sin conexión? Aprenda cómo habilitarlos con componentes web Lightning personalizados para mostrar e incluso actualizar registros mientras un dispositivo móvil está desconectado de Internet.
Oradora destacada: Angela Le
❗ Añade esta sesión a tu agenda
Gestionar dependencias y conflictos en el Centro DevOps
Qué esperar: profundice en cómo los desarrolladores utilizan DevOps Center para gestionar el ciclo de vida del desarrollo de software. Comience con DevOps Center y aprenda a solucionar los problemas más comunes, como la resolución de conflictos.
Oradores destacados: Gilson Canario, Francisco Sammartino
❗ Añade esta sesión a tu agenda
Cinco cosas que los desarrolladores de Salesforce deben saber sobre MuleSoft
Qué esperar: Únase a esta sesión para conocer los conceptos clave de MuleSoft que necesita saber como desarrollador de Salesforce. Nos centraremos en las mejores prácticas, consejos y trucos, antipatrones y más con ejemplos en vivo.
Oradores destacados: Gaurav Kheterpal, Akshata Sawant
❗ Añade esta sesión a tu agenda
Developer Grove, ubicado en Trailhead Forest, es el hogar de los desarrolladores durante Dreamforce y el lugar para comenzar su viaje de aprendizaje de tres días .
Nuestra principal atracción este año es una competencia estilo arcade que pone a prueba tus habilidades de ingeniería en IA. ¡Completa tantos desafíos como puedas en el menor tiempo posible para que tu nombre aparezca en la tabla de clasificación y puedas presumir de ello!
Visite la estación de demostración que cubre nuestras aplicaciones de muestra y recetas de código, y descubra cómo puede utilizarlas en su propio trabajo. Cada estación contará con empleados de Salesforce que saben lo que hacen y les encanta ayudar a otros a aprender.
❗Novedad de este año: Estación de consultas 1:1 en Developer Grove. Los desarrolladores de Salesforce pueden registrarse para una consulta individual de 20 minutos con profesionales expertos de Salesforce. Para reservar una consulta individual, visite esta página y seleccione el tema "Desarrollador de Salesforce". Cuando haya terminado de registrarse, se le enviará una confirmación por correo electrónico y estará disponible en la aplicación Salesforce Events; descárguela ahora en App Store o Google Play Store .
Únase al director ejecutivo de Salesforce, Marc Benioff, junto con invitados especiales en el discurso principal de Dreamforce para escuchar todo sobre nuestras innovaciones más recientes.
📅 Marque sus calendarios: martes 12 de septiembre, de 10 a. m. a 12 p. m., hora del Pacífico
❗ Añade la keynote a tu agenda
Únase al cofundador y director de tecnología Parker Harris en el foro anual de clientes True to the Core. Escuche a los líderes de productos compartir los aspectos más destacados de nuestra hoja de ruta de productos. Si nunca ha asistido, esta es una excelente sesión para que los desarrolladores pregunten y escuchen las respuestas de nuestros gerentes de producto. ¡Una cosa que seguirá siendo “central” en True to the Core es que habrá muchas preguntas!
📅 Marque sus calendarios: jueves 14 de septiembre, de 11:30 a. m. a 12:30 p. m., hora del Pacífico
❗ Añade esta sesión a tu agenda
Aprenda cómo resolver sus desafíos de TI más difíciles con IA + Datos + CRM. Escuche cómo los pioneros utilizan las últimas innovaciones de plataforma, nube de datos y MuleSoft para crear entornos de TI de próxima generación, con potentes capacidades de IA generativa integradas.
📅 Marque sus calendarios: martes 12 de septiembre, de 2:30 a 3:20 p. m., hora del Pacífico
❗ Añade esta sesión a tu agenda
Recuperaremos la diversión la primera noche de Dreamforce. Únase a nosotros en Trailblazer Forest de 5 a 6:30 p. m. el martes 12 de septiembre en Admin Meadow, Developer Grove y Community Cove para actividades sociales, comidas ligeras y bebidas.
¿Busca diversificar su agenda en Dreamforce este año? Consulte todas las sesiones de código y de código bajo en la sección de administración y en la sección de arquitecto . Para obtener más información sobre cada uno, lea la Guía del administrador de Dreamforce 2023 .
¿No puedes asistir a Dreamforce en persona? Durante los tres días, las conferencias magistrales y las sesiones seleccionadas se transmitirán en vivo en Salesforce+. Habrá dos canales y 72 horas de transmisión en vivo. Además de la experiencia en vivo, más de 120 episodios bajo demanda estarán disponibles para verlos después de que finalice Dreamforce en cualquier momento y lugar.
Regístrese en Salesforce+ ahora para obtener acceso a todo el contenido exclusivo.
¡Dreamforce 2023 estará aquí antes de que te des cuenta! Siga estos pasos para prepararse:
Kaitlin Benz es especialista sénior en marketing de desarrolladores en Salesforce. Lo que más le apasiona es la narración de historias, los podcasts y la comida vegana. Encuéntrala en LinkedIn .
Añadir a holgura Suscríbete a RSS
La rápida era digital exige que las empresas entreguen valor de manera rápida y eficiente. Sin embargo, los equipos dispersos geográficamente y las operaciones de desarrollo complejas, particularmente en Salesforce DevOps, a menudo pueden dar lugar a plazos incumplidos, equipos tensos y flujos de trabajo inconexos. Ahí es donde entra en juego Agile en Salesforce DevOps.
La gestión ágil de proyectos ofrece una solución que incorpora las metodologías Scrum y Kanban para permitir una adaptación rápida, una colaboración mejorada y una entrega continua de software de alta calidad, lo que ayuda a las empresas a mantenerse competitivas y cumplir con las expectativas de los clientes.
En una encuesta realizada por KPMG, el 84% de los participantes informaron que su organización utiliza metodologías Scrum o Kanban. Entonces, la pregunta es, ¿y tú?
Tabla de contenido
Las metodologías ágiles son estrategias flexibles que facilitan una gestión de proyectos ágil y eficiente en el desarrollo de software. Se basan en los principios de:
Scrum está diseñado para equipos compuestos por diez miembros o menos. Este enfoque implica dividir el trabajo en objetivos que deben cumplirse dentro de períodos específicos conocidos como sprints. Un Sprint es un período de tiempo dentro del cual se crea un incremento de producto "Terminado", utilizable y potencialmente liberable.
Por lo general, cada sprint dura hasta un mes, pero la duración más común es de dos semanas. El equipo evalúa su progreso en reuniones diarias de scrum, que son debates rápidos que no superan los 15 minutos.
Al finalizar un sprint, se llevan a cabo dos reuniones adicionales: una revisión del sprint para mostrar el trabajo a las partes interesadas y recopilar sus comentarios, y una retrospectiva del sprint que permite al equipo reflexionar e identificar áreas de mejora.
Kanban es un sistema visual que ayuda a administrar el trabajo, identificar cuellos de botella y garantizar un flujo de trabajo eficiente y rentable.
Kanban sigue cuatro principios:
El siguiente análisis le brinda una breve descripción general de qué marco podría usar en su organización.
Melé | Kanban | |
Flujo de rutina frente a flujo continuo | Scrum se basa en iteraciones de tiempo limitado llamadas Sprints, generalmente de 1 a 4 semanas de duración. | Se enfoca en el flujo continuo y no tiene plazos específicos. |
roles | Ayuda a los equipos a administrar proyectos complejos dividiéndolos en "sprints" manejables y con límites de tiempo con revisiones periódicas y retrospectivas | Mejora la transparencia y la eficiencia del flujo de trabajo al visualizar las tareas y limitar el trabajo en curso |
Filosofía del cambio | Scrum desalienta los cambios dentro de un sprint. | Permite realizar cambios en cualquier momento |
Alcance del Trabajo | Funciona mejor con proyectos complejos con elementos interdependientes que requieren colaboración. | Funciona bien para tareas en curso y actividades de mantenimiento. |
Por supuesto, antes de decidir qué marco usar para Agile en Salesforce DevOps, es esencial observar sus fortalezas y limitaciones:
Melé | Kanban | |
Fortalezas | + Adecuado para proyectos complejos donde se necesita una estrecha colaboración y una respuesta rápida. + Funciones y responsabilidades bien definidas mejoran la rendición de cuentas. + Las revisiones periódicas y las retrospectivas fomentan la mejora continua. |
+ Excelente visualización del trabajo en curso. + Flexibilidad para manejar cambios o nuevas tareas. + Ideal para flujos de trabajo continuos e ininterrumpidos. |
Limitaciones | – Las iteraciones fijas pueden generar ineficiencias si no se completa todo el trabajo dentro del sprint. – No es tan flexible para cambiar a mitad del sprint. – Requiere un alto nivel de disciplina y comprensión de los principios de Scrum. |
– Puede que no sea tan efectivo para tareas complejas e interdependientes. – Sin disciplina, los límites WIP pueden ignorarse, lo que genera cuellos de botella. – La falta de limitaciones de tiempo puede dar lugar a retrasos y falta de urgencia. |
Salesforce es una plataforma altamente personalizable que requiere actualizaciones y mejoras frecuentes para satisfacer las necesidades dinámicas de las empresas. Aquí es donde Scrum puede traer ventajas significativas.
Mejorar la colaboración, la flexibilidad y la productividad en Salesforce DevOps con Scrum es una excelente manera de garantizar que los proyectos se entreguen con éxito y a tiempo. Este es el por qué:
Los equipos que implementan efectivamente las metodologías Scrum pueden presenciar un aumento de la productividad que oscila entre el 300 % y el 400 %.
Cuando MediaMarkt, el minorista de electrónica de consumo líder en Europa, se expandió a China en 2010, desarrolló rápidamente una innovadora suite de planificación de recursos empresariales (ERP) en un año. Gracias a la metodología Scrum y un equipo colaborativo, implementaron múltiples aplicaciones estándar, lo que facilitó el lanzamiento de nuevas tiendas en Asia y preparó un crecimiento sustancial en China.
Kanban es una metodología Agile robusta que mejora la visibilidad y la eficiencia en los entornos de Salesforce DevOps. Así es cómo:
Siemens Health Services quería aumentar la velocidad y la calidad de la entrega de software. A pesar de los contratiempos iniciales con sus métodos ágiles, el cambio hacia el pensamiento Lean y la adopción de Kanban mejoraron drásticamente la transparencia de sus procesos, aumentaron la calidad del trabajo, redujeron las tasas de defectos y, en última instancia, impulsaron el compromiso del equipo, lo que hizo que sus productos fueran más competitivos en un mercado exigente.
Estos son los pasos prácticos necesarios para integrar de manera efectiva la metodología Kanban en sus proyectos de Salesforce para mejorar la visibilidad y la eficiencia:
Las siguientes prácticas pueden ayudarlo a integrar Agile en Salesforce DevOps:
Asegúrese de que los miembros de su equipo comprendan los principios Agile y las prácticas de Scrum o Kanban en función de la metodología elegida. Invierta en cursos de capacitación, talleres y recursos relevantes.
Comience con un proyecto pequeño que no tenga mucho en juego. Esto permitirá que su equipo aprenda y se adapte a Agile en Salesforce DevOps en un entorno de baja presión.
Elija Scrum o Kanban según los requisitos de su proyecto. Scrum es ideal para proyectos complejos que requieren una estrecha colaboración, mientras que Kanban es adecuado para flujos de trabajo continuos con tareas independientes.
Utilice herramientas diseñadas específicamente para prácticas ágiles. Herramientas como Inspire Planner y Jira pueden facilitar los flujos de trabajo Scrum y Kanban, facilitando la transición. Si su organización utiliza Salesforce, idealmente debería buscar una herramienta de gestión de proyectos nativa de Salesforce en AppExchange.
Fomente la comunicación abierta, la retroalimentación frecuente y la colaboración activa. Recuerde, Agile en Salesforce DevOps se trata tanto de mentalidad y cultura como de procesos y herramientas.
Hay otras herramientas de Salesforce DevOps disponibles que también pueden ayudar a los equipos a colaborar de manera efectiva para garantizar que el software que entregan sea rápido y confiable.
La incorporación de Agile en Salesforce DevOps puede traer muchos beneficios, pero hay ciertas trampas que se deben evitar para garantizar una implementación y ejecución sin problemas:
Varias herramientas pueden ayudar a administrar los flujos de trabajo de Scrum y Kanban, incluidas Jira, Inspire Planner y Trello.
Atlassian desarrolló Jira como una herramienta versátil compatible con Scrum, Kanban y metodologías mixtas. Sus sólidas funciones incluyen la priorización de tareas pendientes, la planificación de sprints, los gráficos de avance y reducción, los flujos de trabajo personalizados y más. Sin embargo, para integrar Jira con Salesforce, deberá configurar una solución de integrador de terceros y mantenerla a lo largo del tiempo.
Por el contrario, la herramienta llamada Inspire Planner es una aplicación de gestión de proyectos 100% nativa de Salesforce que es totalmente compatible con las metodologías Scrum y Kanban listas para usar. Inspire Planner tiene más de 130 reseñas de 5 estrellas en AppExchange e incluye todas las funciones estándar, como trabajos pendientes, sprints, puntos de la historia, gráficos de trabajo pendiente y más.
Al ser nativo de Salesforce, Inspire Planner no solo ofrece una integración perfecta con Salesforce, sino que también le permite personalizar completamente la aplicación para agilizar su proceso de gestión de proyectos.
¿Y si necesita la gestión de proyectos tradicional de Waterfall? No se preocupe, Inspire Planner también ofrece funciones avanzadas de gestión de proyectos para esta metodología, incluido un gráfico de Gantt interactivo, gestión de recursos, seguimiento del tiempo, carteras, gestión de riesgos, líneas base, dependencias de tareas avanzadas, ruta crítica, uso compartido externo, gestión de restricciones, automatización. , y mucho más.
Trello es un sistema fácil de usar basado en tarjetas para visualizar el trabajo y administrar los flujos de trabajo de Kanban. Las tarjetas de Trello pueden representar historias de usuarios o tareas, que se pueden mover entre listas (que representan diferentes etapas de su flujo de trabajo) en un tablero de Trello.
Aunque no tiene el nivel de personalización o las funciones de generación de informes detallados como Inspire Planner y Jira, la simplicidad de Trello lo convierte en una opción atractiva para equipos más pequeños o proyectos simples.
Inspire Planner está diseñado para ser una solución de gestión de proyectos Agile integral pero fácil de usar para Salesforce. El hecho de que sea nativo de Salesforce significa que inherentemente funciona bien con sus datos existentes en Salesforce, evitando por completo la necesidad de integraciones.
Aquí hay algunas razones por las que Inspire Planner podría ser una buena opción para su equipo:
Elegir la herramienta adecuada depende del tamaño de su equipo, la complejidad del proyecto y la metodología Agile que siga. Aquí hay algunas pautas:
La incorporación de Agile en Salesforce DevOps realmente puede amplificar la adaptabilidad, la colaboración en equipo, la satisfacción del cliente, la eficiencia y la gestión de riesgos. El énfasis en el desarrollo iterativo y la garantía de calidad garantiza estándares de primer nivel dentro del desarrollo y las operaciones de Salesforce.
Sin embargo, es importante recordar que el corazón de Agile radica en cultivar una mentalidad comprometida con el aprendizaje continuo y la adaptabilidad.
Aquí hay algunas ideas procesables:
Al adoptar estas estrategias, los equipos pueden desbloquear todo el potencial de las metodologías ágiles, lo que lleva a un mayor rendimiento y niveles elevados de satisfacción del cliente.
Seguir leyendoEsta 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.
…
La CLI (interfaz de línea de comandos) de Salesforce es la piedra angular del desarrollo de Salesforce y, como cualquier otra herramienta, evoluciona con el tiempo. Esta publicación es la segunda de una serie de blogs de dos partes sobre sf
(v2), la nueva y mejorada CLI de Salesforce. En la Parte 1 , echamos un vistazo a las novedades de sf
(v2) y, en esta parte final, exploraremos los nuevos comandos de estilo sf
y patrones de banderas y compartiremos cómo puede migrar desde comandos de estilo sfdx
y patrones basados en banderas. en nuestra experiencia con aplicaciones de muestra . Si bien la migración puede parecer intimidante a primera vista, compartiremos algunos consejos sobre cómo facilitar la transición.
sf
Si ha estado usando la CLI durante algún tiempo, probablemente comenzó a notar una serie de advertencias en los comandos que usa con frecuencia, como este:
sfdx force:source:push
Warning: We plan to deprecate this command in the future. Try using the "project deploy start" command instead.»>
Estos cambios son el resultado del trabajo continuo en Salesforce CLI Unification que comenzó hace varios lanzamientos (más detalles en la primera parte de esta serie).
Desde entonces, cada vez que instala la CLI de Salesforce, obtiene los dos ejecutables ( sfdx
y sf
). Puede usar cualquiera de estos ejecutables ya que la mayoría de los comandos son interoperables, pero le recomendamos que comience a usar sf
en su trabajo diario para prepararse para el futuro.
Debido a que sf
cubre más que solo el desarrollo de la plataforma central, ofrece una nueva taxonomía de comandos simplificada que refleja el flujo de trabajo de un desarrollador típico en lugar de las marcas, productos o funciones de Salesforce.
Un ejemplo práctico de esto es el comando sf org create
. Con este nuevo comando, la intención es más clara: llamas a la misma base de comandos con scratch
, sandbox
, shape
, snapshot
o user
, mientras que en sfdx
tenías que usar una combinación de diferentes comandos ( force:org:create
, force:user:create
) y flags ( --type=scratch
o --type=sandbox
) para obtener el mismo resultado.
Otra característica interesante de sf
es que incluye más comandos visuales e interactivos, como la creación de organizaciones con la capacidad de reanudar operaciones de larga duración en caso de tiempo de espera.
sf
Además de simplemente cambiar el nombre del ejecutable de sfdx
a sf
, hay una serie de cambios que se aplican a los comandos CLI al actualizar sus proyectos. La documentación de la CLI de Salesforce proporciona una buena descripción general de estos cambios, pero destacaremos los que nos afectaron durante la actualización de nuestras aplicaciones de muestra.
sfdx
comunes y sus equivalentes sf
En primer lugar, el tema force
se eliminó de la mayoría de los comandos, lo cual es una buena noticia, ya que acorta los comandos. El otro cambio importante es que los temas, comandos y subcomandos, que antes estaban separados por dos puntos como en sfdx force:org:list
, ahora están separados por espacios, como en sf org list
.
Mirando más de cerca los comandos que usamos a diario cuando trabajamos en aplicaciones de muestra, aplicamos los siguientes cambios:
Comando sfdx heredado | Comando sf equivalente | Migración Comentarios |
sfdx force:org:delete -p -u recipes |
sf org delete scratch -p -o recipes |
Se debe agregar el subcomando scratch .El indicador de la organización de destino cambia de -u a -o . |
sfdx force:org:create -s -f config/project-scratch-def.json -d 30 -a recipes |
sf org create scratch -d -f config/project-scratch-def.json -y 30 -a recipes |
Se debe agregar el subcomando scratch .El indicador "asignar organización predeterminada" cambia de -s a -d .El indicador de duración de la organización borrador cambia de -d a -y . |
sfdx force:source:push |
sf project deploy start |
Este es un cambio significativo, pero el nuevo comando funciona para todos los formatos de proyecto (fuente o metadatos). Anteriormente, necesitaba comandos distintos. |
sfdx force:user:permset:assign -n recipes |
sf org assign permset -n recipes |
El tema cambia de user a org y cambia el orden de los subcomandos. |
sfdx force:data:tree:import -p data/data-plan.json |
sf data import tree -p data/data-plan.json |
|
sfdx force:org:open -p lightning/n/Hello |
sf org open -p lightning/n/Hello |
|
sfdx force:apex:test:run -c -r human -w 20 |
sf apex test run -c -r human -w 20 |
Si está buscando otros comandos, la documentación de CLI proporciona una lista completa de comandos sfdx con sus equivalentes sf . Cada vez que reemplace un comando, asegúrese de revisar sus banderas en busca de cambios, especialmente si usa las banderas de formato corto (un solo carácter) ( -o
en lugar de --target-org
por ejemplo). Puede ejecutar cualquier comando con el indicador -h
o --help
para obtener su descripción.
ℹ️ Edición del 27 de julio de 2023: en lugar de expresiones regulares, puede usar un script de migración como se documenta aquí .
Cuando analizamos la migración de nuestros proyectos de aplicaciones de muestra , sabíamos que necesitaríamos automatizar parte del proceso, ya que había cerca de 1700 referencias a sfdx
en más de 200 archivos. Para obtener los resultados más precisos aquí, asegúrese de agregar un espacio después de sfdx
en su término de búsqueda y excluya la carpeta node_modules
de su búsqueda, como hicimos aquí:
Comenzar con una búsqueda es un buen primer paso. Le ayuda a darse cuenta de que tendrá que migrar sus comandos en un par de lugares, como:
Luego puede ir más allá experimentando con una búsqueda y reemplazo de expresiones regulares (RegEx) en VS Code. Este enfoque es una forma rápida de iniciar la migración. Funciona bien para la búsqueda, pero no es perfecto como reemplazo, ya que algunos comandos requieren actualizaciones manuales. En cualquier caso, siempre pruebe el resultado de sus cambios antes de enviarlos a producción.
Comience ejecutando esta búsqueda RegEx y reemplace:
Tenga en cuenta el uso de tres grupos de captura encerrados entre paréntesis en la expresión de búsqueda y representados por signos de dólar seguidos de un número en la expresión de reemplazo. Los grupos de captura le permiten retener dinámicamente ciertos valores (palabras como temas, comandos y subcomandos en nuestro caso) mientras realiza cambios en el resto de la línea (reemplazando los separadores de dos puntos con espacios en nuestro caso).
Si desea obtener más información sobre este RegEx u otros, le recomiendo que consulte regex101.com , ya que proporciona una explicación de la sintaxis y un campo de juego para probar expresiones.
Aquí hay un ejemplo de la entrada y salida en VS Code de la expresión anterior (no olvide activar el modo RegEx como lo indica la flecha roja):
Notará que esta primera ronda de búsqueda y reemplazo no es perfecta ya que obtiene algunos caracteres de espacio adicionales en el texto reemplazado. Puede arreglar esto fácilmente ejecutando una segunda operación RegEx de búsqueda y reemplazo como esta:
Una vez que ejecute este último RegEx, todavía hay un par de cambios manuales que necesitará para operar. Como vimos anteriormente en la tabla de equivalencia de comandos, estas son las cosas clave a tener en cuenta:
sf user assign permset
es incorrecto: user
debe ser reemplazado por org
.sf org create scratch -s -f config/project-scratch-def.json -d 30 -a recipes
es incorrecto: el indicador -d
debe reemplazarse por -y
y el indicador -s
debe reemplazarse por -d
. Afortunadamente, la mayoría de estos cambios no son demasiado difíciles de aplicar y puede migrar con bastante rapidez a los comandos de estilo sf
. Lo dejaremos con una vista de diferencias de GitHub que resume todos los cambios que fueron necesarios para migrar una de nuestras aplicaciones de muestra.
Eso es un resumen de esta breve descripción general de la migración de los comandos sfdx
-style a los comandos sf
-style. Vislumbró el beneficio del ejecutable sf
y su nueva sintaxis. Esperamos que se beneficie de nuestra experiencia de migración y de nuestros consejos al actualizar sus proyectos.
Philippe Ozil es un defensor principal de desarrolladores en Salesforce, donde se enfoca en la plataforma de Salesforce. Escribe contenido técnico y habla con frecuencia en conferencias. Es un desarrollador full-stack y disfruta trabajar en proyectos DevOps, robótica y VR. Sígalo en Twitter @PhilippeOzil o consulte sus proyectos de GitHub @pozil .
Agregar a Slack Suscríbete a 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.
…
Para una gran cantidad de nuestros clientes, la plataforma Salesforce sirve como la piedra angular de sus sistemas de información y, por lo tanto, debe integrarse perfectamente con una amplia gama de sistemas de terceros. Entre las muchas opciones de integración disponibles se encuentra la plataforma de eventos de Salesforce.
En esta publicación, repasaremos brevemente la plataforma de eventos y luego exploraremos la nueva plataforma de eventos y las solicitudes de API que se agregaron a la colección de API de la plataforma de Salesforce en Postman. También aprenderá cómo introdujimos la capacidad de configurar Event Relays y canales personalizados con Postman.
Event Platform consta de diferentes funciones que le permiten crear arquitecturas basadas en eventos gracias a Salesforce Event Bus.
El bus de eventos de Salesforce admite dos tipos principales de eventos casi en tiempo real: eventos de plataforma y eventos de cambio.
Los eventos de la Plataforma permiten la comunicación dentro de la Plataforma y con sistemas externos. Estos eventos se pueden enviar y recibir con código personalizado o herramientas declarativas, como Flow. Hay eventos de plataforma estándar con campos predefinidos y eventos personalizados que puede crear con campos personalizados.
Los eventos de cambio son enviados automáticamente por la Plataforma cada vez que se crea, modifica, elimina o recupera un registro. Cada evento de cambio está vinculado a un objeto de Salesforce estándar o personalizado, y los campos de evento coinciden con los de su objeto principal.
Los eventos de plataforma y los eventos de cambio se pueden enviar y recibir gracias a una selección de dos tecnologías de transmisión: la biblioteca CometD heredada o la API Pub/Sub basada en gRCP más moderna . Independientemente de la tecnología o el tipo de evento, publica o se suscribe a eventos a través de canales dedicados.
Puede definir un canal personalizado para agrupar mensajes de eventos del mismo tipo (eventos de plataforma o eventos de cambio) en una transmisión. Por ejemplo, puede combinar eventos de cambio de cuenta, contacto y pedido en un solo canal personalizado CustomerUpdates__chn . Después de suscribirse a este canal, recibirá notificaciones sobre cambios en cualquiera de esos tres objetos.
Tenga en cuenta que los canales personalizados son compatibles con eventos de plataforma personalizados, pero no con eventos de plataforma estándar.
Además de la capacidad de agrupar varios eventos, los canales personalizados desbloquean dos funciones: filtrado de eventos y cambio de enriquecimiento de eventos.
El filtrado de eventos le permite configurar expresiones que filtran los eventos que se envían en un canal personalizado. Por ejemplo, podría crear un canal específico como UkLargeCustomerUpdates__chn que filtra las actualizaciones de la cuenta, donde el país de facturación es el Reino Unido y los ingresos anuales superan los 500k. El uso del filtrado de eventos ayuda a simplificar el código del lado del cliente, pero también ayuda a evitar los límites máximos de suscriptores simultáneos .
Los canales personalizados de Change Data Capture también otorgan la capacidad de declarar campos enriquecidos . Cuando se trabaja con eventos de cambio, solo se pasan los valores de campo actualizados en los datos del evento. Esta optimización puede ser problemática en ciertas situaciones, por ejemplo, cuando desea sincronizar con un sistema de terceros con una ID externa. En este caso, el ID externo no cambia, por lo que nunca forma parte de los datos del evento de cambio. Afortunadamente, el enriquecimiento de campos le permite declarar un canal personalizado en el que puede especificar campos que siempre se pasarán en el contexto de eventos de cambio.
Event Relay le permite integrar perfectamente los eventos en tiempo real de Salesforce con Amazon Web Services (AWS). Gracias a Event Relay, los eventos de la plataforma y los eventos de Change Data Capture se envían a Amazon EventBridge a través de canales y los componentes de AWS pueden consumirlos directamente. Los componentes de AWS también pueden publicar eventos de plataforma de forma nativa.
Consulte esta publicación de Event Relay para obtener más información.
Antes del lanzamiento de Summer '23, Event Relay solo se podía configurar a través de las API. Ahora, hay una interfaz de usuario dedicada en Configuración. La única pieza que aún necesita crear a través de la API de herramientas o la API de metadatos son los canales personalizados.
En junio, actualizamos la colección de API de Salesforce Platform para Postman para incluir solicitudes para interactuar con Event Platform . Si no está familiarizado con Postman o la colección de API de plataforma, eche un vistazo al proyecto Quick Start: Connect Postman to Salesforce Trailhead para comenzar.
Nuestras nuevas solicitudes de Postman son un gran ahorro de tiempo ya que, a partir del lanzamiento de Summer '23, los canales personalizados solo se pueden configurar a través de metadatos o llamadas a la API de herramientas y no se pueden modificar directamente en la configuración de Salesforce.
Hemos introducido una serie de solicitudes para realizar operaciones de creación, lectura, actualización y eliminación (CRUD) en canales personalizados y los dos tipos de metadatos relacionados: PlatformEventChannel
(consulte los documentos ) y PlatformEventChannelMember
(consulte los documentos ).
A pesar de sus nombres, estos tipos de metadatos funcionan tanto para eventos de plataforma como para canales personalizados de eventos de cambio. Las únicas diferencias son que el valor del atributo ChannelType
debe establecerse en event
para eventos de plataforma o data
para eventos de cambio, y que el atributo EnrichedFields
solo está disponible para canales personalizados de eventos de cambio.
Hemos agregado una serie de ejemplos para eventos de plataforma de publicación. Movimos la solicitud de la API REST existente a la nueva subcarpeta Publicar eventos de la plataforma y agregamos dos ejemplos para publicar varios eventos en una sola solicitud con la API compuesta y la API SOAP.
La carpeta Configuración de retransmisión de eventos es donde se encuentran la mayoría de las solicitudes nuevas. Estas nuevas solicitudes son fundamentales para configurar un relevo de eventos:
Agregamos dos nuevas solicitudes para recuperar el esquema de un evento de plataforma, ya sea desde su ID o desde su nombre . Estas solicitudes son útiles para recuperar los campos de los eventos.
Invertimos continuamente en nuestra colección de API de plataforma y buscamos agregar soporte para la suscripción a eventos de la API Pub Sub. CometD no será compatible, ya que es una biblioteca que requiere un servidor de aplicaciones, pero estamos considerando conectarnos con la API Pub/Sub basada en gRPC .
Postman ha lanzado una serie de funciones para interactuar con las API de gRPC desde el año pasado. Gracias a esto, podemos conectarnos a la API de Pub/Sub, suscribirnos a eventos y recibirlos. Sin embargo, lamentablemente no podemos decodificar su carga útil, ya que está comprimida por la plataforma de Salesforce por motivos de rendimiento. Estamos esperando una nueva característica de Postman que nos permita cargar una biblioteca (Apache Avro) para decodificar las cargas útiles de eventos cuando se reciben.
Eso es todo para nuestra breve descripción general de Event Platform y las últimas incorporaciones a la colección de API de Salesforce Platform. Gracias al crecimiento de esta caja de herramientas, puede comenzar rápidamente a explorar y configurar Event Platform.
Si disfruta de nuestro contenido de Postman, háganoslo saber. También puede echar un vistazo a nuestras otras colecciones de código abierto y contribuir .
Philippe Ozil es un defensor principal de desarrolladores en Salesforce, donde se enfoca en la plataforma de Salesforce. Escribe contenido técnico y habla con frecuencia en conferencias. Es un desarrollador full-stack y disfruta trabajar en proyectos DevOps, robótica y VR. Sígalo en Twitter @PhilippeOzil o consulte sus proyectos de GitHub @pozil .
Agregar a Slack Suscríbete a 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.
…
La CLI de Salesforce es una de las herramientas de desarrollo más importantes de nuestro ecosistema. La CLI es el compañero diario de los desarrolladores de Salesforce para crear, probar, implementar y más. Además, la CLI es fundamental para las prácticas de DevOps, como la integración continua, donde la automatización es clave. Después de siete años de disponibilidad general, ahora estamos entrando en un nuevo capítulo para la CLI de Salesforce.
Esta publicación es la primera de una serie de blogs de dos partes sobre sf
(v2), la nueva y mejorada CLI de Salesforce. En la Parte 1, veremos las novedades de Salesforce CLI sf
(v2). Luego, en la segunda parte de la serie, nos sumergiremos en cómo puede migrar de comandos y banderas de estilo sfdx
a los nuevos comandos y patrones de bandera de estilo sf
.
sf
(v2) Hace aproximadamente dos años, el equipo de CLI de Salesforce se embarcó en una iniciativa de unificación con la visión de unificar las diversas experiencias de CLI en todo el ecosistema de Salesforce. Anunciamos la próxima evolución de nuestra CLI de Salesforce con un nuevo ejecutable llamado sf
. La creación de sf
como una CLI separada nos dio la oportunidad de diseñar, probar y lanzar no solo una nueva estructura de comando para un rápido desarrollo entre nubes, sino también una CLI más intuitiva, eficaz y fácil de usar.
Hoy, nos complace anunciar la disponibilidad general (GA) de la segunda versión (v2) de sf
. Esta es una versión principal de sf
CLI que es lo suficientemente inteligente como para comprender todos sus comandos sfdx
, así como los comandos sf
, con tiempos de instalación y actualización mucho más rápidos. La CLI sf
(v2) es todo lo que es sf
y sfdx
. Después de instalar sf
(v2), tendrá acceso a todos los comandos sfdx
y sf
, y podrá continuar ejecutando cualquiera de ellos.
La CLI sf
(v2) es nuestro camino a seguir. Le permite experimentar actualizaciones e instalaciones más rápidas ya que el tamaño de instalación/descarga se ha reducido considerablemente.
Esto significa que todas las capacidades nuevas vendrán solo a través de sf
(v2) y dejaremos de publicar actualizaciones en sfdx
(excepto las correcciones relacionadas con la seguridad). Además, todas las nuevas correcciones y características del complemento CLI solo entrarán en sf
(v2).
Después de una importante investigación de UX, hemos introducido nuevos comandos de estilo sf
y patrones de bandera para brindar una mejor experiencia de usuario. Sin embargo, si le preocupan los esfuerzos necesarios para migrar de sfdx
a sf
, ¡tenemos buenas noticias para usted! Todavía puede usar los comandos sfdx
y la CLI sf
seguirá respondiendo de la misma manera. Además, solo tendrá un conjunto de complementos CLI en lugar de uno para sfdx
y otro para sf
(v1). (Nota: si ha instalado complementos, todos los complementos en sf
estarán disponibles en sf
(v2). Sin embargo, los complementos en sfdx
no están disponibles automáticamente en sf
(v2). Instale los que necesita usando sf plugins install
) .
sf
(v2) Para familiarizarse con sf
(v2), siga las instrucciones de instalación , que le mostrarán cómo pasar a sf
(v2) y cómo volver a su instalación CLI actual si es necesario.
sf
(v2): Creamos un alias para sfdx
dentro de sf
(v2), para que no necesite actualizar sus scripts de sfdx
a sf
. Dado que sf (v2) utilizará el alias sfdx, deberá desinstalar sfdx para que ese nombre esté disponible para sf (v2)
La CLI sf
(v2) no se puede instalar en una máquina que tenga sfdx
instalado. Según las instrucciones de instalación de sf
(v2), primero debe desinstalar sfdx
. Si no desinstala primero sfdx
y, en su lugar, intenta instalar sf
a través del paquete npm @salesforce/cli
, que ahora alberga sf
(v2), la instalación fallará. Tenga en cuenta que su CI no debe instalar sfdx
, solo sf(v2)
.
Estén atentos para obtener más información sobre cómo pasar de los comandos sfdx
-style a los comandos sf
-style en la parte final de esta serie de blogs.
Mientras explora sf
(v2), recuerde informar cualquier error, solicitud de función o comportamiento sorprendente a través del repositorio CLI GitHub . ¡Estamos emocionados de saber de usted y, como siempre, le agradecemos su apoyo!
Pooja Reddivari es gerente sénior de gestión de productos en la organización Herramientas y experiencia para desarrolladores de plataformas en Salesforce. Le apasiona crear productos escalables y resistentes que deleiten a desarrolladores y clientes. Pooja ha trabajado en las verticales de empresa, educación y fintech con más de 12 años de experiencia como profesional de ingeniería y gestión de productos. Sígala en Twitter @poojasalesforc1 y en LinkedIn .
Philippe Ozil es un defensor principal de desarrolladores en Salesforce, donde se enfoca en la plataforma de Salesforce. Escribe contenido técnico y habla con frecuencia en conferencias. Es un desarrollador full-stack y disfruta trabajar en proyectos DevOps, robótica y VR. Sígalo en Twitter @PhilippeOzil o consulte sus proyectos de GitHub @pozil .
Agregar a Slack Suscríbete a 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.
…
Anypoint MQ es un servicio de mensajería en la nube empresarial y multiusuario que proporciona una solución de mensajería asincrónica avanzada para aplicaciones.
Los clientes utilizan Anypoint MQ en los entornos MuleSoft US Cloud y EU Cloud para ejecutar aplicaciones de misión crítica, como el procesamiento de pedidos, la gestión de atención al cliente y la gestión de quioscos de aerolíneas. Un proveedor de comercio electrónico que recibe pedidos a través de varios canales, como web, dispositivos móviles y socios, puede procesar los pedidos en el pedido recibido y, al mismo tiempo, escalar a varias unidades de procesamiento.
Nuestros clientes del sector público han solicitado un servicio de mensajería basado en la nube que pueda integrar tanto sus aplicaciones locales como las basadas en la nube, lo que les permite ofrecer servicios automatizados para los ciudadanos. Con el lanzamiento de Anypoint MQ en MuleSoft Government Cloud, nos complace ayudar a nuestros clientes a lograr su visión.
Anypoint MQ admite una amplia gama de casos de uso de mensajería, como patrones de mensajería empresarial, comunicaciones asincrónicas entre microservicios e IoT. Anypoint MQ también proporciona una API REST para publicar o consumir mensajes utilizando marcos, como scripts bash de Node.js, Java, Go y DevOps.
Anypoint MQ incluye las siguientes funciones:
Las colas de mensajes proporcionan almacenamiento temporal que permite que las aplicaciones se comuniquen de manera escalable y confiable. Los editores pueden publicar mensajes en las colas y los suscriptores pueden recibir mensajes de las colas. Los intercambios de mensajes le permiten distribuir un solo mensaje a múltiples consumidores. Todas las colas y los intercambios de mensajes están cifrados de forma predeterminada.
Las colas de retraso le permiten posponer la entrega de nuevos mensajes a una cola durante un período específico. Los consumidores no pueden ver los mensajes enviados a una cola de demora durante el período de demora. El retraso máximo de una cola es de 15 minutos.
Con la consola de administración, puede monitorear las estadísticas de las colas, purgarlas y ver cuántos mensajes están en tránsito.
Anypoint Connector para Anypoint MQ (Anypoint MQ Connector) proporciona mensajes de publicación y suscripción a aplicaciones Mule. Tenga en cuenta que solo Anypoint MQ Connector 4.x y versiones posteriores son compatibles con el entorno MuleSoft Government Cloud.
Puede usar la API REST para comunicarse fácilmente con aplicaciones que no son Mule.
Anypoint MQ está completamente integrado con Anypoint Access Management, lo que le permite especificar diferentes entornos para sus colas, quién puede acceder a cada entorno y qué pueden hacer dentro de cada entorno.
Anypoint MQ admite cargas útiles de hasta 10 MB.
Los servicios de Anypoint MQ se implementan en varias zonas de disponibilidad (AZ) dentro de una región para proporcionar alta disponibilidad (HA). Si el servicio en una zona de disponibilidad deja de funcionar, el servicio Anypoint MQ funciona normalmente en esa región. Si todas las zonas de disponibilidad se desactivan en una región, el servicio Anypoint MQ no estará disponible en esa región hasta que al menos una de las zonas de disponibilidad vuelva a funcionar. Debido a que la solución de almacenamiento para Anypoint MQ es duradera, se retienen los mensajes que ya estaban en el sistema Anypoint MQ antes de que se interrumpiera el servicio.
¡Esperamos que esté tan entusiasmado como nosotros con estas características! Para comenzar a acceder a Anypoint MQ en Government Cloud, visite nuestro tutorial .
Gouthami Kondakindi es un ingeniero líder en Salesforce que trabaja en la creación de servicios que potencian la plataforma MuleSoft Anypoint.
Agregar a Slack Suscríbete a RSS
Última actualización el 3 de julio de 2023 por Rakesh Gupta
En el acelerado mundo empresarial actual, la eficiencia en el desarrollo de software es vital. La automatización ha surgido como una solución clave, agilizando los procesos para aumentar la productividad y liberar la innovación. Salesforce no es inmune a estos desafíos y complejidades de toda la industria.
Ingrese a DevOps. DevOps se ha convertido en un elemento esencial en el desarrollo de software, incluido Salesforce. Mediante la colaboración de desarrolladores, administradores y partes interesadas, Salesforce DevOps crea un entorno perfecto para la automatización.
La combinación de automatización y Salesforce DevOps cosecha múltiples beneficios: menos errores, preparación más rápida para el mercado, una canalización de lanzamiento optimizada, menos repeticiones, calidad de código superior y mecanismos de retroalimentación más fuertes. Mejora la eficiencia operativa y la velocidad de implementación en el ecosistema de Salesforce, fomentando un desarrollo ágil.
Este artículo explora la intersección de la automatización y Salesforce DevOps, los beneficios de su sinergia y formas prácticas de aplicarla para un desarrollo más rápido en sus operaciones de Salesforce. Tanto si es un profesional de Salesforce como un novato, este artículo ofrece información para reforzar su enfoque de DevOps de Salesforce con la automatización.
Antes de profundizar en cómo se cruzan Salesforce DevOps y la automatización, es fundamental comprender lo que implica Salesforce DevOps.
DevOps, una combinación de ' Desarrollo ' y ' Operaciones ', es un conjunto de prácticas diseñadas para fusionar el desarrollo de software, el control de calidad y las operaciones de TI en un proceso unificado y fluido. En un contexto de Salesforce , DevOps es la unión de estos principios con las sólidas capacidades de CRM de Salesforce, con el objetivo de facilitar procesos de desarrollo e implementación más fluidos y rápidos.
En esencia, Salesforce DevOps incorpora principios como:
El objetivo es crear un entorno cohesivo donde los administradores, desarrolladores y otras partes interesadas puedan trabajar en armonía, lo que lleva a ciclos de desarrollo más cortos, tiempo de comercialización más rápido y software de alta calidad.
Sin embargo, a pesar de las ventajas de Salesforce DevOps, los desarrolladores a menudo enfrentan desafíos. Si bien es un activo, las características integrales y la capacidad de personalización de Salesforce pueden complicar el proceso de desarrollo e implementación .
Los desafíos difieren de un equipo a otro y de un caso de uso a otro, pero estos son algunos de los más comunes:
Aquí es donde la automatización viene al rescate. La automatización, en esencia, es el uso de la tecnología para realizar tareas con una intervención humana reducida. Cuando se aplica a Salesforce DevOps , puede aliviar significativamente estos desafíos.
Las pruebas automatizadas, por ejemplo, pueden mejorar la calidad del código al identificar errores al principio del proceso de desarrollo. Las implementaciones automatizadas pueden sincronizar metadatos y código en diferentes entornos, lo que reduce los errores de implementación. Del mismo modo, la automatización de tareas repetitivas puede liberar el tiempo de los desarrolladores, lo que les permite concentrarse en actividades que agregan más valor, como el desarrollo de funciones o el diseño de sistemas.
Además, la automatización fomenta un proceso de desarrollo más ágil, lo que permite actualizaciones periódicas e incrementales en lugar de implementaciones rígidas de Salesforce. Este aspecto acorta el ciclo de desarrollo y facilita la reversión de los cambios si algo sale mal, lo que aumenta la estabilidad general del sistema.
Acelerar el desarrollo de Salesforce a través de la automatización implica identificar tareas manuales y repetitivas, implementar herramientas y marcos de automatización adecuados y perfeccionar los procesos para mejorar la eficiencia y reducir los cuellos de botella. Profundicemos en cada una de estas áreas con más detalle:
El primer paso hacia la automatización es reconocer qué tareas están ralentizando su velocidad de desarrollo.
Estos típicamente incluyen:
Suelen implicar procesos manuales tediosos que consumen tiempo y son propensos a errores. Al identificar estas tareas, puede identificar dónde la automatización proporcionará el mayor beneficio y tendrá un impacto significativo en la velocidad y la eficiencia de su desarrollo.
Una vez que haya identificado las áreas que podrían beneficiarse de la automatización, es hora de elegir e implementar las herramientas y los marcos adecuados. Salesforce ofrece varias funciones de automatización integradas, como Apex y Salesforce Flow .
Sin embargo, otras herramientas pueden ser más adecuadas para tareas complejas, como Salesforce DX para la gestión del ciclo de vida del desarrollo, o Jenkins y CircleCI para la integración y entrega continuas. Al seleccionar estas herramientas, asegúrese de que se alineen con las habilidades de su equipo y los requisitos específicos de su entorno de Salesforce.
La automatización no se trata solo de herramientas y tecnología. También se trata de refinar sus procesos. Revise su flujo de trabajo de desarrollo actual para identificar posibles cuellos de botella y áreas de mejora.
Por ejemplo:
Simplificar estos procesos puede mejorar drásticamente la eficiencia de su equipo, permitiéndole aprovechar al máximo sus esfuerzos de automatización.
Vale la pena mencionar que los beneficios de la automatización van más allá de acelerar el desarrollo. La automatización también puede mejorar la calidad del código al detectar errores temprano a través de pruebas automatizadas. Puede reducir los errores de implementación al sincronizar el código en diferentes entornos.
Y al liberar a los desarrolladores de las tareas rutinarias, les permite concentrarse más en el desarrollo de características y el diseño del sistema, fomentando así la innovación y mejorando el valor entregado a los usuarios finales.
Las pruebas son un componente crucial de cualquier ciclo de vida de desarrollo, y su importancia se multiplica para acelerar el desarrollo de Salesforce. Las pruebas periódicas y exhaustivas ayudan a identificar errores y problemas desde el principio, lo que reduce el riesgo de reparaciones costosas y lentas en el futuro. Asegura la calidad y la confiabilidad de la aplicación, lo que a su vez contribuye a mejorar las experiencias de los usuarios y los resultados comerciales.
La automatización puede potenciar este proceso de prueba. Las pruebas automatizadas implican el uso de herramientas de software para ejecutar pruebas y comparar los resultados reales con los resultados esperados. La implementación de una estrategia de prueba automatizada para las aplicaciones de Salesforce puede acelerar drásticamente el proceso de desarrollo, lo que garantiza implementaciones más rápidas, eficientes y confiables con menos errores.
Existen numerosas herramientas disponibles para pruebas automatizadas en Salesforce. Apex proporciona soporte integrado para pruebas unitarias, mientras que herramientas como Selenium, Provar y AssureClick pueden automatizar las pruebas de IU. Jest es una excelente opción para probar Lightning Web Components (LWC). Al seleccionar una herramienta, considere las necesidades específicas de su aplicación, la experiencia de su equipo y la complejidad y frecuencia de sus requisitos de prueba.
Seguir las mejores prácticas es esencial para aprovechar todo el potencial de las pruebas automatizadas. Estas son algunas de las mejores prácticas para pruebas automatizadas eficientes y completas en el desarrollo de Salesforce:
La integración continua y la implementación continua (CI/CD) forman un pilar central de Salesforce DevOps. CI/CD está diseñado para reducir errores y acelerar el desarrollo a través de la integración continua de código y procesos de implementación automatizados y consistentes.
En el contexto de Salesforce, CI fusiona periódicamente los cambios de código en un repositorio compartido, a menudo varias veces al día. Cada integración se verifica automáticamente mediante la creación de la aplicación y la ejecución de pruebas, lo que garantiza que los nuevos cambios se integren perfectamente con el código existente y no introduzcan errores.
Por otro lado, CD implementa automáticamente esos cambios en la producción, lo que garantiza que las nuevas características, configuraciones y mejoras lleguen a los usuarios finales lo más rápido posible. En Salesforce, CD puede implicar la implementación de cambios en diferentes entornos, como entornos de desarrollo, prueba, ensayo y producción.
La automatización es clave para lograr procesos impecables de CI/CD de Salesforce. A través de la automatización, puede optimizar y estandarizar los pasos involucrados en:
La automatización del proceso de compilación garantiza que los cambios en el código se integren y validen de manera constante. Las pruebas automatizadas, como comentamos anteriormente, verifican la integridad y la calidad del nuevo código. La automatización del proceso de implementación ayuda a sincronizar el código y los cambios de configuración en diferentes entornos, lo que garantiza que todos los equipos de DevOps trabajen con la versión más reciente y precisa de la aplicación.
En el desarrollo de Salesforce, el control de versiones y la gestión de cambios son fundamentales para mantener la integridad, coherencia y calidad de su aplicación.
El control de versiones, una parte integral del desarrollo de software, implica administrar y rastrear diferentes versiones de su base de código. Le permite ver los cambios a lo largo del tiempo, volver a las versiones anteriores cuando sea necesario y administrar el código de varios desarrolladores al mismo tiempo.
La gestión de cambios se refiere a la gestión y el seguimiento de los cambios del sistema, incluidos los cambios de configuración, las modificaciones de código y las implementaciones de nuevas funciones.
La automatización de estos procesos puede mejorar su eficiencia y confiabilidad en el desarrollo de Salesforce.
Varias herramientas pueden ayudar a automatizar el control de versiones y la gestión de cambios en Salesforce. Los sistemas de control de versiones (VCS) como Git permiten un control de versiones efectivo. Facilita el seguimiento de los cambios en la base del código, lo que ayuda a mantener la integridad del código.
Las herramientas de DevOps como Copado o Gearset pueden ayudar a automatizar el seguimiento y la implementación de cambios en diferentes entornos para la gestión de cambios. Brindan una visibilidad integral de su historial de cambios, lo que le permite administrar los cambios de manera más efectiva y mantener la estabilidad de su aplicación.
En el ámbito vertiginoso del desarrollo de Salesforce, el papel de la automatización se extiende más allá de la creación, prueba e implementación. El monitoreo automatizado y el manejo de errores son igualmente importantes para mantener la salud de la aplicación y corregir rápidamente cualquier problema.
El monitoreo automatizado implica el uso de herramientas para realizar un seguimiento constante del rendimiento, el uso y el estado general de sus aplicaciones de Salesforce. Este enfoque proactivo permite a los equipos de desarrollo identificar y abordar posibles problemas antes de que afecten a los usuarios.
El manejo proactivo de errores va de la mano con el monitoreo automatizado. En lugar de esperar a que se informen los problemas, el manejo proactivo de errores implica el uso de sistemas automatizados para identificar y, a menudo, resolver los problemas tan pronto como ocurran. Las notificaciones de error automatizadas aseguran que su equipo esté al tanto de cualquier problema al instante, lo que permite una respuesta rápida, minimiza el tiempo de inactividad y reduce la posibilidad de errores costosos.
La implementación de estas herramientas de automatización en Salesforce DevOps implica el uso estratégico de recursos como Monitoreo de eventos de Salesforce, que proporciona un flujo de eventos de auditoría de aplicaciones de su organización, y herramientas de Monitoreo y advertencia de errores, que pueden notificarle automáticamente sobre errores o excepciones.
La automatización combinada con las prácticas de Salesforce DevOps ofrece una poderosa estrategia para acelerar el desarrollo y mejorar la calidad del software. Es una receta para el éxito en el vertiginoso panorama digital actual.
Para implementar la automatización en su desarrollo de Salesforce, comience por identificar las tareas repetitivas que podrían automatizarse. Luego, implemente herramientas adecuadas para tareas como integración continua, pruebas automatizadas, control de versiones y monitoreo de aplicaciones. Agilice cualquier proceso manual junto con la implementación de estas herramientas, creando un flujo de trabajo de desarrollo eficiente y efectivo.
La adopción de la automatización en Salesforce DevOps acelera el desarrollo y refuerza la confiabilidad y el valor de sus aplicaciones. A medida que el ecosistema de Salesforce continúa evolucionando, el papel de la automatización crecerá aún más, dando forma al futuro del desarrollo de Salesforce.
Este artículo fue escrito por Sam Hops. Es redactora de contenido para una revista digital que cubre temas relacionados con el diseño, el comercio electrónico, el marketing digital y el espíritu empresarial. Sam es un apasionado de todo lo relacionado con el marketing digital, pero tiene un interés particular en el diseño gráfico, el SEO y las redes sociales.
¡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 leyendoEsta 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.
…
Escribir pruebas sólidas es crucial para crear aplicaciones comerciales confiables y eficientes. En esta publicación, haremos un repaso de las pruebas unitarias y presentaremos apex-mockery , una biblioteca liviana de pruebas unitarias de Apex que lo ayuda a escribir pruebas unitarias de Apex verdaderamente desacopladas usando simulacros y aserciones. Compartiremos ejemplos de código para ayudarlo a comprender cómo puede usar la biblioteca para crear pruebas unitarias fáciles de entender y de ejecución rápida.
Antes de echar un vistazo a la biblioteca de Apex-Mockery, demos un paso atrás y analicemos algunos de los conceptos básicos de las pruebas unitarias desde un punto de vista independiente de la tecnología. Luego, veremos Apex y discutiremos por qué la mayoría de nosotros debería escribir pruebas unitarias en lugar de pruebas de integración.
La ingeniería de software abarca múltiples tipos de pruebas: unidad, integración, servicio, interfaz de usuario funcional, de extremo a extremo, aceptación del usuario y más. Como dice Martin Fowler , podemos representar un buen equilibrio entre estos tipos de pruebas dentro del alcance de un proyecto representándolos como una pirámide.
Las etiquetas (tipos de prueba) pueden cambiar, pero el principio clave aquí es que las pruebas que se ejecutan rápido y con frecuencia deben estar en la parte inferior de la pirámide. Estos son los más fáciles de implementar y mantener (por lo que cuestan menos). Luego, a medida que subimos a la cima, aumentamos la complejidad y el costo: las pruebas se ejecutan más lentamente y se vuelven más difíciles de implementar y mantener.
En el contexto de esta publicación y en aras de la brevedad, nos centraremos únicamente en las pruebas unitarias. Estos son los primeros que debe implementar en cualquier proyecto, y deben ser una prioridad en su estrategia de prueba.
Por definición, las pruebas unitarias están destinadas a probar la menor cantidad de código (una unidad) de un proyecto. Las pruebas unitarias solo deben basarse en la lógica pura y estar completamente desvinculadas de sus dependencias (otras clases) y límites (otros servicios, como almacenamiento de datos o servicios web). Las pruebas unitarias deben ejecutarse rápido; no requieren una configuración de prueba particular, como la inserción de datos en la base de datos, y requieren que simule las dependencias de la clase bajo prueba.
Apex se beneficia de una estrecha integración con la Plataforma de Salesforce y, si bien esta característica es excelente para cosas como acceder rápida y fácilmente a la base de datos, difumina las líneas de separación de preocupaciones entre la lógica y los servicios. Como consecuencia, es muy fácil escribir pruebas de integración de Apex en lugar de pruebas unitarias. Por ejemplo, el código de Apex a menudo se prueba junto con la base de datos utilizando declaraciones @TestSetup
y DML. Si bien estas pruebas de integración ayudan a lograr la cobertura, se basan en la base de datos y, por lo tanto, requieren más tiempo para ejecutarse que las pruebas unitarias "puras".
Como compartió Mitch Spano en su presentación de pruebas unitarias puras de Apex , la mayoría de las veces, no es necesario confiar en las pruebas de integración para probar capas de software de alto nivel, como controladores LWC, servicios y capas de aplicación. Gracias a la API de Stub de Apex lanzada en Spring '17, los desarrolladores pueden romper con esas dependencias en el contexto de las pruebas mediante la creación de su propia biblioteca/marco de pruebas unitarias o el uso de uno existente como apex-mockery.
Como parte del trabajo de ingeniería de Salesforce, estábamos desarrollando un paquete administrado internamente y necesitábamos una biblioteca para escribir pruebas unitarias. Queríamos escribir pasos simples de "arreglar" (como en el patrón Arrange-Act-Assert ), escribir afirmaciones comprensibles y burlarnos de nuestras dependencias. Buscamos en todo el ecosistema una biblioteca fácil de leer y bien probada que pudiéramos usar para crear nuestro producto, pero no encontramos una combinación perfecta, por lo que decidimos escribir la nuestra. Estábamos tan contentos con la implementación final de la biblioteca que decidimos lanzarla como código abierto con el nombre apex-mockery .
La biblioteca apex-mockery proporciona una biblioteca de simulación simple, liviana y fácil de leer para Apex creada con la API Stub. La biblioteca está diseñada para que sea fácil de usar y brinde la mejor experiencia de desarrollador posible al generar simulacros y apéndices, configurar espías y escribir aserciones.
Lo guiaremos a través de un escenario de muestra para que pueda comprender el poder de la biblioteca con algunos ejemplos prácticos. Luego, le mostraremos cómo puede escribir pruebas para este proyecto de muestra en tres pasos:
Considere el siguiente escenario de ejemplo: una panadería toma pedidos de pastelería y planifica las entregas utilizando un servicio dedicado. Los únicos datos que estamos considerando en el contexto de este escenario son los nombres de los pasteles y su fecha de entrega.
A continuación se muestra la implementación básica de nuestro escenario de panadería (el código completo está disponible en el repositorio del proyecto ).
Ahora que hemos echado un vistazo a nuestro proyecto de muestra, echemos un vistazo a cómo podríamos escribir pruebas para el método Bakery.order
.
Para funcionar, la clase Bakery
necesita que se pase una instancia DeliveryService
en su constructor. En un contexto de producción, el servicio se proporciona con una instancia concreta DeliveryServiceImpl
de la siguiente manera:
Sin embargo, en el contexto de las pruebas unitarias, no debe usar una instancia de servicio real para garantizar el desacoplamiento. En otras palabras, DelivertServiceImpl
se probará unitariamente por sí solo, por lo que no es necesario que pruebe las dos clases integradas juntas. Puede reemplazar la dependencia del servicio con un simulacro que implemente la interfaz DeliverService
.
Así es como puede crear e inyectar fácilmente un simulacro de este tipo, gracias a apex-mockery:
Luego, su prueba necesita un espía, para que pueda controlar el comportamiento del método planDelivery
y ejecutar aserciones en sus llamadas.
Ahora que tiene un servicio simulado y un espía en su método planDelivery
, veamos cómo puede configurar su espía y ejecutar aserciones en él.
Una vez que tenga una instancia simulada, puede controlar cómo se comportan sus métodos controlando sus valores de retorno y lanzando excepciones.
Utilice los métodos returns
y throwsException
para especificar un comportamiento predeterminado que se aplica a todas las llamadas a los métodos auxiliares. Luego, si es necesario, usa una combinación de whenCalledWith(<args>).thenReturn
y whenCalledWith(<args>).thenThrow
para aplicar comportamientos específicos a las llamadas a métodos que coincidan con los argumentos especificados.
Durante la ejecución de la prueba, apex-mockery comienza buscando una coincidencia en la configuración proporcionada por whenCalledWith
. Si no se encuentra ninguno, vuelve a la configuración predeterminada ( returns
o throwException
).
Veamos algunas situaciones comunes de configuración de stubs (ver más recetas ).
planDelivery
planDelivery
Ahora que sabe cómo impulsar el comportamiento de su simulacro, puede agregar aserciones para probar su código.
apex-mockery proporciona una API de afirmaciones fluidas. Tan pronto como comience su expectativa con Expect.that(mySpy)
, tendrá acceso a varios métodos de afirmación. La biblioteca viene con una serie de afirmaciones de comportamiento fáciles de usar, como:
Si los comparadores de argumentos básicos no son suficientes para sus necesidades, también puede crear sus propios comparadores de argumentos personalizados .
Ahora que vimos los pasos individuales, terminemos y echemos un vistazo a nuestra prueba para el método Bakery.order
. Observe cómo puede usar aserciones de burla de Apex, junto con las aserciones estándar de Apex de la clase system.Assert
, en sus pruebas.
Esto concluye nuestro recorrido por las pruebas unitarias y la biblioteca de Apex-Mockery. Aprendió cómo las pruebas unitarias desacopladas son más fáciles de escribir y ejecutar mucho más rápido. Tener pruebas rápidas acorta el ciclo de retroalimentación del ciclo de vida del desarrollo, reduce la duración de la ejecución del flujo de trabajo de CI y acelera las implementaciones. Estos factores permiten a los desarrolladores implementar y ejecutar pruebas con frecuencia, mejorando así la calidad.
apex-mockery lo ayuda a dirigir su proyecto en esta dirección. Consulte el repositorio del proyecto para comenzar. Encontrará la documentación de la biblioteca con las opciones de instrucciones de instalación (instalación de fuente o paquete desbloqueado), algunas recetas de muestra y una guía de migración. ¡Feliz prueba unitaria!
Ludovic Meurillon es ingeniero de software en el equipo de Service Cloud en Grenoble, Francia. Empujó el código a la producción durante años, disfruta eliminando más líneas de código de las que agrega y prefiere la programación en pares sobre las revisiones de código y los productos de trabajo sobre el diseño perfecto. Sígalo en Twitter @LudoMeurillon o consulte sus proyectos de GitHub @ludomeurillon .
Sébastien Colladon es CTA e ingeniero de software en el equipo de Service Cloud en París, Francia. Le encanta contribuir a hacer del ecosistema de Salesforce un lugar mejor y disfruta aprender y trabajar con otros. Consulte sus proyectos de GitHub @ scolladon .
Philippe Ozil es un defensor principal de desarrolladores en Salesforce, donde se enfoca en la plataforma de Salesforce. Escribe contenido técnico y habla con frecuencia en conferencias. Es un desarrollador full-stack y disfruta trabajar en proyectos DevOps, robótica y VR. Sígalo en Twitter @PhilippeOzil o consulte sus proyectos de GitHub @pozil .
Agregar a Slack Suscríbete a RSS