SlideShare una empresa de Scribd logo
Salesforce III Developer Day 
Madrid 
José Luis Almazán 
@almazanjl 
joseluis.almazan@ticmind.es 
http:// www.ticmind.es 
Madrid, a 22 de Octubre de 2014
Índice 
1. Documentación técnica y Comunidad de 
Desarrolladores. 
2. Introducción al desarrollo con la 
plataforma Salesforce1 
3. Database 
4. Lógica de Negocio 
5. Interfaz de usuario 
6. Sites 
7. Integración
Documentación técnica y Comunidad de desarrolladores 
• Crea tu propio entorno 
developer. 
• Portal de conocimiento 
basado en la comunidad. 
• Infinidad de recursos: 
artículos, blogs, foros de 
discusión, notas técnicas, 
seminarios, sesiones a la 
carta, boletines, calendario 
de eventos y wikis. 
• Disponibilidad de 
fragmentos de código de 
ejemplo. 
• Participación activa. 
Developer Force (http://developer.salesforce.com/)
Índice 
1. Documentación técnica y Comunidad de 
Desarrolladores. 
2. Introducción al desarrollo con la plataforma 
Salesforce1 
3. Database 
4. Lógica de Negocio 
5. Interfaz de usuario 
6. Sites 
7. Integración
Introducción al desarrollo con la plataforma Salesforce 1 
• Posibilidad de desarrollo mediante Point-And-click (App 
Builder) o mediante programación. 
• Características de la plataforma Salesforce1 
• Base de datos 
• Lógica de negocio 
• Interfaz de usuario 
• Sitio Web 
• Integración 
• Móvil
Introducción al desarrollo con la plataforma Salesforce 1 
• Salesforce1 no es sólo un servicio de hosting cloud, es una serie de 
herramientas y características a disposición de los desarrolladores. 
Core 
Services 
Chatter 
Multi-language 
Translation 
Workbench 
Email 
Apex 
Analytics Services 
Workflows 
Cloud 
Database 
Scheema 
Builder 
Search 
Visualforce 
Data-level 
Security 
Multi-tenant Monitoring 
APIs 
Mobile 
Services 
Social 
APIs 
Analytics 
APIs 
Rest APIs Bulk APIs Metadata 
APIs 
Soap APIs 
Private App 
Exchange 
Custom 
Actions 
Identity 
Mobile 
Notifications 
Tooling 
APIs 
Mobile SDK Mobile Packs Offline Support 
Streaming 
APIs 
Geolocation 
ET 1:1 ET Fuel 
Heroku1 
Heroku Add- 
Ons 
Sharing 
Model 
ET API
Índice 
1. Documentación técnica y Comunidad de 
Desarrolladores. 
2. Introducción al desarrollo con la plataforma 
Salesforce1 
3. Database 
4. Lógica de Negocio 
5. Interfaz de usuario 
6. Sites 
7. Integración
Metadata 
Es la base de la 
arquitectura. 
Proporciona un potente 
mecanismo para 
controlar la lógica, la 
presentación y la 
configuración de las 
aplicaciones 
Salesforce1. 
Salesforce 1 Database 
Data Model User Interface Business Logic Reporting 
Metadata 
Multi-Tenant Application Code Base 
 Fields 
 Objects 
Relationships 
 Forms 
 Buttons, Links 
 Layouts 
 Workflow 
 Approvals 
 Validations 
Custom 
Reports 
Dashboards 
Your Customizations 
Our 
Code
Salesforce 1 Database 
Principales características: 
• Potente base de datos, de gran alcance e 
intuitiva 
• Relacional 
• Generación automática de intefaz de 
usuario 
Elementos básicos: 
• Objetos estándar y personalizados. 
• Campos relacionales (de búsqueda y master-detail), 
no relacionales, de identidad, de sistema e 
identificadores externos 
Otros servicios: 
• Formulas 
• Reglas de validación 
• Triggers 
• Etiquetas y ayuda 
• Notas y documentos adjuntos 
• Seguimiento histórico de campos 
• Seguridad 
• Acceso a datos: 
• DML (Insert, update, delete, undelete y upsert en 
función de ids) 
• SOQL (lenguaje de consulta) y SOSL (lenguaje de 
búsqueda) 
• API publica
Creación de objetos: 
Creación mediante Point-And- 
Click 
• Menú de configuración de 
Salesforce1 
• Generador de esquemas 
(imagen a la izquierda) 
Generación automática de una 
interfaz de usuario por cada 
objeto de la base de datos, con 
paginas de listados, de 
búsqueda, de detalle, para 
crear, editar y borrar registros. 
Salesforce 1 Database
Índice 
1. Documentación técnica y Comunidad de 
Desarrolladores. 
2. Introducción al desarrollo con la plataforma 
Salesforce1 
3. Database 
4. Lógica de Negocio 
5. Interfaz de usuario 
6. Sites 
7. Integración
Lógica de Negocio 
• Point-And-Clic, para lógicas de negocio estándar. No son necesarios conocimientos de programación. Veremos algunas 
características de este tipo que Salesforce1 pone a nuestra disposición son: 
• Formulas. 
• Reglas de flujo de trabajo. 
• Procesos de aprobación. 
• Flujos de trabajo visual. 
• Programable mediante código APEX, para lógicas de negocio personalizadas. Veremos de este lenguaje: 
• Características principales. 
• Sintaxis. 
• ¿Dónde se usa APEX? 
• SOQL y SOSL. 
• Ejemplo de sintaxis. 
• Tests unitarios. 
• Depuración.
Lógica de Negocio – Point and Click 
Fórmulas: 
• Similar a una macro en un programa de hojas de 
cálculo. 
• Amplia sintaxis 
• Resultado en tiempo de ejecución. 
• Variable en complejidad. 
• Se puede usar en: Campos personalizados, Valores por 
defecto de campos, Validaciones de datos, Informes, 
Reglas de flujo de trabajo, Procesos de aprobación… 
Reglas de flujo de trabajo: 
• Conjunto de acciones automáticas: 
• Tareas 
• Alerta de correo electrónico 
• Actualizaciones de campo 
• Mensajes salientes 
• Se compone de criterios que se deben cumplir para ejecutar 
la regla. 
• Ejecución inmediata o ejecuciones basadas en el tiempo. 
Procesos de aprobación: 
• Proceso automatizado para aprobar registros. 
• Contiene los pasos necesarios para su aprobación 
quien tiene que aprobarlos. 
• Puede afectar a todos los registros o solo a los que 
cumplan ciertos criterios. 
Flujo de trabajo visual: 
• Diseñador visual de Salesforce1 
• Permite visualmente encadenar uno o mas formas, formularios, 
reglas de negocio, llamadas API… 
• Podemos construir procesos de negocio completos. 
• Destinado a usuarios de la organización, usuarios externos a 
través de portal de cliente o Sites.
Lógica de Negocio – Point and Click – Visual Flow
Lógica de Negocio – Código Apex 
Características: 
• Lenguaje fuertemente tipado. 
• Orientado a objetos 
• Para creación de la lógica empresarial y la 
manipulación de datos. 
• Se compila y ejecuta en la infraestructura de 
Salesforce1 (servidor) 
• No es case sensitive. 
• Bajo limites de gobierno (infraestructura 
multi-tenant compartida) 
• Sintaxis similar a Java o C#. 
• Se almacena en la metadata en forma de 
clases y triggers. 
• Versionado. 
Sintaxis: 
• Tipos de datos: 
• Tipos de datos primitivos (Blob, Boolean, Fecha, 
Hora y Fecha/Hora, Decimal, ID, Integer, Long, 
Double y String. 
• Tipos sObject que representan objetos 
persistentes. 
• Colecciones y enumeraciones. 
• Clases APEX de sistema o definidas por el usuario. 
• Métodos. 
• Interfaces. 
• Modificadores de acceso: privado, publico, 
global. 
• Herencia Simple, Abstracción.
Lógica de Negocio – Código Apex 
¿Dónde se usa APEX?: 
• Servicios de email. Correo entrante y saliente. 
• Controladores VisualForce. 
• Creación de servicios web (REST y SOAP) 
• SOA (callouts). Llamadas a WS externos SOAP y WSDL o 
basados en http (REST) 
• Batch APEX. Cuando queremos procesar un gran 
numero de registros. 
• Trabajos Batch. Batch APEX programado en el tiempo. 
SOQL y SOSL: 
• Lenguaje de consultas SOQL: 
• sObject s = [SELECT Id, Name FROM Account 
WHERE Name LIKE ‘test%']; 
• Lenguaje de búsquedas SOSL: 
• List<List<SObject>> searchList= [FIND 'map*' IN 
NAME FIELDS RETURNING Account (id, 
name),Contact]; 
Integer NUM = 10; 
Account[] accs; 
// Clean up old data 
accs = [SELECT Id FROM Account WHERE Name LIKE 'test%']; 
delete accs; 
accs = new Account[NUM]; 
for (Integer i = 0; i < NUM; i++) { 
accs[i] = new Account(name='test ' + i, outstandingshares__c=i); 
} 
insert accs; 
Contact[] cons = new Contact[0]; 
for (Account acc : accs) { 
cons.add(new Contact(lastName=acc.name + '1', accounted=acc.id)); 
cons.add(new Contact(lastName=acc.name + '2', accounted=acc.id)); 
} 
insert cons; 
Consulta SOQL 
Declaración de 
Variables 
Bucles 
Array 
Operación DML
Lógica de Negocio – Código Apex 
Test unitarios: 
• Verificar un correcto funcionamiento del 
desarrollo. 
• Son métodos de clases especiales. 
• No tienen argumentos. 
• No alteran los datos de la base de datos. 
• No envían correos electrónicos. 
• Deben cubrir al menos el 75% del código APEX. 
• Todos los triggers deben tener alguna cobertura. 
Depuración: 
• Código APEX ejecutado en el servidor. 
• Herramientas que nos pueden ayudar: 
• Registros de depuración desde la interfaz de 
Salesforce1 
• Eclipse. 
• Consola de desarrollador. 
• Workbench.
Índice 
1. Documentación técnica y Comunidad de 
Desarrolladores. 
2. Introducción al desarrollo con la plataforma 
Salesforce1 
3. Database 
4. Lógica de Negocio 
5. Interfaz de usuario 
6. Sites 
7. Integración
Interfaz de Usuario 
• Salesforce1 genera automáticamente una Interfaz Web y 
móvil de usuario basada en nuestro modelo de datos. 
• Visualforce es el framework de interfaz de usuario de la 
plataforma Salesforce1 
• Visualforce está basado en el modelo-vista-controlador 
tradicional (MVC) 
• HTML, CSS, Javascript, Frameworks de Javascript. 
• Compatible con dispositivos móviles. 
• Desarrollo modular. 
• Reutilización de componentes. 
• La definición de la interfaz de usuario se almacena en la 
metadata. 
• Marcado basado en etiquetas, similar al HTML. 
• Cuenta con más de 150 componentes incorporados. 
• Etc… 
Arquitectura de cara al usuario 
Modelo-Vista-Controlador
Interfaz de Usuario 
Controladores 
• Es un conjunto de instrucciones que especifican lo que sucede cuando un usuario interactúa con 
los componentes de Visualforce. 
• Existen dos tipos de controladores: 
• Estándar: Generados automáticamente por Salesforce1 por cada objeto de la base de datos. 
• Personalizados: Pueden extender la funcionalidad estándar o crear toda la lógica de la página 
Visualforce. 
Componentes 
• Componentes estándar: Amplia librería con más de 150 componentes a nuestra disposición, desde 
componentes sencillos hasta verdaderas aplicaciones como chatter. 
• Componentes custom: 
• Podemos empaquetar lo que necesitemos como componente y así reutilizarlo. 
• Combinación de componentes Visualforce, HTML, CSS, Javascript… 
• Componentes dinámicos: Se crean con código APEX.
Interfaz de Usuario 
Páginas VisualForce 
• Son el contenedor de los componentes 
Visualforce, HTML, CSS, jQuery… 
• Contienen la referencia al controlador 
que contiene su lógica de aplicación. 
• Se pueden usar como plantillas. 
• Se procesan en la plataforma 
(servidor). 
• Se devuelven al cliente como HTML o 
se pueden devolver como un archivo 
PDF. 
• Disponibles para la aplicación móvil de 
Salesforce1.
Interfaz de Usuario 
Javascript Remoting 
• Una de las características más importantes de Salesforce1, desde mi punto de vista. 
• Permite, desde Visualforce, invocar métodos de los controladores Apex usando 
Javascript. 
• Asíncrono. 
• Permite crear páginas complejas y muy dinámicas. 
Depuración en cliente web 
• El código HTML que la plataforma devuelve al cliente Web se genera en la plataforma 
(servidor). 
• Los clientes Web actuales nos facilitan las herramientas de depuración necesarias, como 
por ejemplo Chrome.
Índice 
1. Documentación técnica y Comunidad de 
Desarrolladores. 
2. Introducción al desarrollo con la plataforma 
Salesforce1 
3. Database 
4. Lógica de Negocio 
5. Interfaz de usuario 
6. Sites 
7. Integración
Sites 
Websites 
• Sites.com: Diseñar y publicar sitios Web, páginas sociales, y experiencias móviles rápidamente 
• Salesforce1 Sites: 
• Crear sitios web públicos con sus paginas Visualforce. 
• Permite autenticar el acceso a determinadas paginas.
Índice 
1. Documentación técnica y Comunidad de 
Desarrolladores. 
2. Introducción al desarrollo con la plataforma 
Salesforce1 
3. Database 
4. Lógica de Negocio 
5. Interfaz de usuario 
6. Sites 
7. Integración
Integración 
SSO 
• Autenticación federada. 
• Autenticación delegada. 
• Proveedores de autenticación. 
Integración de interfaz de usuario 
• Salesforce1 Canvas. 
Integración de la lógica de negocio 
• Apex Web Services. 
• Email Services (Inbound and Outbound). 
• Apex Callouts (Outbound). 
• Outbound Messaging. 
Integración de datos 
• API’s abiertas de Salesforce (SOAP API, REST API, Streaming API, 
Chatter REST API). 
• Bulk API. 
• Toolkits de integración Cloud-to-Cloud (Google, Facebook, Amazon 
Web Services, PayPal, Windows Azure).
Q & A
Gracias 
José Luis Almazán 
+34 651529898 
joseluis.almazan@ticmind.es

Más contenido relacionado

PPT
Exprimiendo SharePoint 2010
PPTX
¿Que es SharePoint?
PPTX
SharePoint 2010 desarrollo de aplicaciones
PDF
CSA - SharePoint 2010 - Instalación y Configuración
PPTX
Flujos de Trabajo en SharePoint 2010
PPTX
Sharepoint 2010 novedades y mejoras MICTT
PDF
Personalizacion sharepoint2010
PPTX
DBA para SharePoint
Exprimiendo SharePoint 2010
¿Que es SharePoint?
SharePoint 2010 desarrollo de aplicaciones
CSA - SharePoint 2010 - Instalación y Configuración
Flujos de Trabajo en SharePoint 2010
Sharepoint 2010 novedades y mejoras MICTT
Personalizacion sharepoint2010
DBA para SharePoint

La actualidad más candente (20)

PPTX
SharePoint Server 2016 novedades
PPTX
Novedades en SharePoint 2013
PPTX
¿Es posible extender a SharePoint 2013? Probablemente en m+as de una forma
PDF
CSA - Gestión e Implementación de Proyectos SharePoint
PPTX
Resumen de Novedades en SharePoint 2013
PPTX
SharePoint para Usuarios
PPTX
Novedades en SharePoint 2013
PPTX
Introducción a SharePoint Foundation 2010
PDF
avanttic - webinar: WebCenter Content (07-06-2017)
PDF
MsCodersCamp 2014 - SharePoint Online: desarrolla tus apps en la nube
PPT
Portales Enterprise 2.0 con WebCenter
PDF
Cómo instalar Sharepoint Server 2013 en su empresa por Neiy Briceño
PPTX
Preparacion 74-324 1/3
PPTX
Sharepoint 2010 e Infopath 2010
PPTX
Modern Admin Center de SharePoint Online o como gobernar sabiamente tus Colec...
PPTX
Microsoft Lists o como crear aplicaciones a la velocidad de la luz para M365 ...
PPTX
Aplicaciones Autohosted de SharePoint: combinando Azure y Colaboración
PDF
Buenas prácticas en infraestructura en SharePoint 2013
PDF
Gestión documental con SharePoint 2013
PPTX
InfoPath 2010
SharePoint Server 2016 novedades
Novedades en SharePoint 2013
¿Es posible extender a SharePoint 2013? Probablemente en m+as de una forma
CSA - Gestión e Implementación de Proyectos SharePoint
Resumen de Novedades en SharePoint 2013
SharePoint para Usuarios
Novedades en SharePoint 2013
Introducción a SharePoint Foundation 2010
avanttic - webinar: WebCenter Content (07-06-2017)
MsCodersCamp 2014 - SharePoint Online: desarrolla tus apps en la nube
Portales Enterprise 2.0 con WebCenter
Cómo instalar Sharepoint Server 2013 en su empresa por Neiy Briceño
Preparacion 74-324 1/3
Sharepoint 2010 e Infopath 2010
Modern Admin Center de SharePoint Online o como gobernar sabiamente tus Colec...
Microsoft Lists o como crear aplicaciones a la velocidad de la luz para M365 ...
Aplicaciones Autohosted de SharePoint: combinando Azure y Colaboración
Buenas prácticas en infraestructura en SharePoint 2013
Gestión documental con SharePoint 2013
InfoPath 2010
Publicidad

Similar a Salesforce III developer day bbva innovation center Madrid by @almazanjl (20)

PPTX
5. rollbase
PPTX
Progress Rollbase
PPTX
JS Patterns Applied to a Real World Example
PDF
Estrategias de desarrollo en sharepoint
PDF
Alfresco Day Barcelona 2016: Novedades en la plataforma Alfresco One
DOCX
Proyecto de Aplicación-Implementación de una INTRANET = Colegio Sagrado Coraz...
PPT
DESARROLLO RAPIDO DE APLICACIONES WEB
PPTX
Futuro de Desarrollo en SharePoint
PPTX
CEUS By Iberian SharePoitn Conference Workshops
PDF
Teamnet centro de competencia
PPT
Kumbia PHP Framework - Inicios, Presente y Futuro
ODP
Oracle WebCenter
PPTX
SOA Open Source
PPT
Portales con software IBM
PPTX
Java script para desarrolladores SharePoint
PDF
T5bissnsintyucjoseluisyaguiarchris
PDF
Migacion forms apex
PPTX
Diseña tu propio Office 365 con Azure IaaS y PaaS
PDF
Desarrollo de una aplicación Web para organizar Eventos Deportivos
PPTX
Mulesoft Anypoint platform: Design Center
5. rollbase
Progress Rollbase
JS Patterns Applied to a Real World Example
Estrategias de desarrollo en sharepoint
Alfresco Day Barcelona 2016: Novedades en la plataforma Alfresco One
Proyecto de Aplicación-Implementación de una INTRANET = Colegio Sagrado Coraz...
DESARROLLO RAPIDO DE APLICACIONES WEB
Futuro de Desarrollo en SharePoint
CEUS By Iberian SharePoitn Conference Workshops
Teamnet centro de competencia
Kumbia PHP Framework - Inicios, Presente y Futuro
Oracle WebCenter
SOA Open Source
Portales con software IBM
Java script para desarrolladores SharePoint
T5bissnsintyucjoseluisyaguiarchris
Migacion forms apex
Diseña tu propio Office 365 con Azure IaaS y PaaS
Desarrollo de una aplicación Web para organizar Eventos Deportivos
Mulesoft Anypoint platform: Design Center
Publicidad

Último (20)

PPTX
sa-cs-82-powerpoint-hardware-y-software_ver_4.pptx
PPTX
REDES INFORMATICAS REDES INFORMATICAS.pptx
PPT
Que son las redes de computadores y sus partes
PDF
Calidad desde el Docente y la mejora continua .pdf
PDF
clase auditoria informatica 2025.........
PPTX
IA de Cine - Como MuleSoft y los Agentes estan redefiniendo la realidad
PPTX
RAP01 - TECNICO SISTEMAS TELEINFORMATICOS.pptx
PPTX
ANCASH-CRITERIOS DE EVALUACIÓN-FORMA-10-10 (2).pptx
DOCX
Zarate Quispe Alex aldayir aplicaciones de internet .docx
PDF
Influencia-del-uso-de-redes-sociales.pdf
PDF
Plantilla para Diseño de Narrativas Transmedia.pdf
PDF
CyberOps Associate - Cisco Networking Academy
PDF
programa-de-estudios-2011-guc3ada-para-el-maestro-secundarias-tecnicas-tecnol...
PDF
SAP Transportation Management para LSP, TM140 Col18
PPTX
Propuesta BKP servidores con Acronis1.pptx
PDF
Maste clas de estructura metálica y arquitectura
PDF
MANUAL TECNOLOGÍA SER MINISTERIO EDUCACIÓN
PDF
Estrategia de apoyo tecnología grado 9-3
PPTX
Sesion 1 de microsoft power point - Clase 1
PPT
El-Gobierno-Electrónico-En-El-Estado-Bolivia
sa-cs-82-powerpoint-hardware-y-software_ver_4.pptx
REDES INFORMATICAS REDES INFORMATICAS.pptx
Que son las redes de computadores y sus partes
Calidad desde el Docente y la mejora continua .pdf
clase auditoria informatica 2025.........
IA de Cine - Como MuleSoft y los Agentes estan redefiniendo la realidad
RAP01 - TECNICO SISTEMAS TELEINFORMATICOS.pptx
ANCASH-CRITERIOS DE EVALUACIÓN-FORMA-10-10 (2).pptx
Zarate Quispe Alex aldayir aplicaciones de internet .docx
Influencia-del-uso-de-redes-sociales.pdf
Plantilla para Diseño de Narrativas Transmedia.pdf
CyberOps Associate - Cisco Networking Academy
programa-de-estudios-2011-guc3ada-para-el-maestro-secundarias-tecnicas-tecnol...
SAP Transportation Management para LSP, TM140 Col18
Propuesta BKP servidores con Acronis1.pptx
Maste clas de estructura metálica y arquitectura
MANUAL TECNOLOGÍA SER MINISTERIO EDUCACIÓN
Estrategia de apoyo tecnología grado 9-3
Sesion 1 de microsoft power point - Clase 1
El-Gobierno-Electrónico-En-El-Estado-Bolivia

Salesforce III developer day bbva innovation center Madrid by @almazanjl

  • 1. Salesforce III Developer Day Madrid José Luis Almazán @almazanjl joseluis.almazan@ticmind.es http:// www.ticmind.es Madrid, a 22 de Octubre de 2014
  • 2. Índice 1. Documentación técnica y Comunidad de Desarrolladores. 2. Introducción al desarrollo con la plataforma Salesforce1 3. Database 4. Lógica de Negocio 5. Interfaz de usuario 6. Sites 7. Integración
  • 3. Documentación técnica y Comunidad de desarrolladores • Crea tu propio entorno developer. • Portal de conocimiento basado en la comunidad. • Infinidad de recursos: artículos, blogs, foros de discusión, notas técnicas, seminarios, sesiones a la carta, boletines, calendario de eventos y wikis. • Disponibilidad de fragmentos de código de ejemplo. • Participación activa. Developer Force (http://developer.salesforce.com/)
  • 4. Índice 1. Documentación técnica y Comunidad de Desarrolladores. 2. Introducción al desarrollo con la plataforma Salesforce1 3. Database 4. Lógica de Negocio 5. Interfaz de usuario 6. Sites 7. Integración
  • 5. Introducción al desarrollo con la plataforma Salesforce 1 • Posibilidad de desarrollo mediante Point-And-click (App Builder) o mediante programación. • Características de la plataforma Salesforce1 • Base de datos • Lógica de negocio • Interfaz de usuario • Sitio Web • Integración • Móvil
  • 6. Introducción al desarrollo con la plataforma Salesforce 1 • Salesforce1 no es sólo un servicio de hosting cloud, es una serie de herramientas y características a disposición de los desarrolladores. Core Services Chatter Multi-language Translation Workbench Email Apex Analytics Services Workflows Cloud Database Scheema Builder Search Visualforce Data-level Security Multi-tenant Monitoring APIs Mobile Services Social APIs Analytics APIs Rest APIs Bulk APIs Metadata APIs Soap APIs Private App Exchange Custom Actions Identity Mobile Notifications Tooling APIs Mobile SDK Mobile Packs Offline Support Streaming APIs Geolocation ET 1:1 ET Fuel Heroku1 Heroku Add- Ons Sharing Model ET API
  • 7. Índice 1. Documentación técnica y Comunidad de Desarrolladores. 2. Introducción al desarrollo con la plataforma Salesforce1 3. Database 4. Lógica de Negocio 5. Interfaz de usuario 6. Sites 7. Integración
  • 8. Metadata Es la base de la arquitectura. Proporciona un potente mecanismo para controlar la lógica, la presentación y la configuración de las aplicaciones Salesforce1. Salesforce 1 Database Data Model User Interface Business Logic Reporting Metadata Multi-Tenant Application Code Base  Fields  Objects Relationships  Forms  Buttons, Links  Layouts  Workflow  Approvals  Validations Custom Reports Dashboards Your Customizations Our Code
  • 9. Salesforce 1 Database Principales características: • Potente base de datos, de gran alcance e intuitiva • Relacional • Generación automática de intefaz de usuario Elementos básicos: • Objetos estándar y personalizados. • Campos relacionales (de búsqueda y master-detail), no relacionales, de identidad, de sistema e identificadores externos Otros servicios: • Formulas • Reglas de validación • Triggers • Etiquetas y ayuda • Notas y documentos adjuntos • Seguimiento histórico de campos • Seguridad • Acceso a datos: • DML (Insert, update, delete, undelete y upsert en función de ids) • SOQL (lenguaje de consulta) y SOSL (lenguaje de búsqueda) • API publica
  • 10. Creación de objetos: Creación mediante Point-And- Click • Menú de configuración de Salesforce1 • Generador de esquemas (imagen a la izquierda) Generación automática de una interfaz de usuario por cada objeto de la base de datos, con paginas de listados, de búsqueda, de detalle, para crear, editar y borrar registros. Salesforce 1 Database
  • 11. Índice 1. Documentación técnica y Comunidad de Desarrolladores. 2. Introducción al desarrollo con la plataforma Salesforce1 3. Database 4. Lógica de Negocio 5. Interfaz de usuario 6. Sites 7. Integración
  • 12. Lógica de Negocio • Point-And-Clic, para lógicas de negocio estándar. No son necesarios conocimientos de programación. Veremos algunas características de este tipo que Salesforce1 pone a nuestra disposición son: • Formulas. • Reglas de flujo de trabajo. • Procesos de aprobación. • Flujos de trabajo visual. • Programable mediante código APEX, para lógicas de negocio personalizadas. Veremos de este lenguaje: • Características principales. • Sintaxis. • ¿Dónde se usa APEX? • SOQL y SOSL. • Ejemplo de sintaxis. • Tests unitarios. • Depuración.
  • 13. Lógica de Negocio – Point and Click Fórmulas: • Similar a una macro en un programa de hojas de cálculo. • Amplia sintaxis • Resultado en tiempo de ejecución. • Variable en complejidad. • Se puede usar en: Campos personalizados, Valores por defecto de campos, Validaciones de datos, Informes, Reglas de flujo de trabajo, Procesos de aprobación… Reglas de flujo de trabajo: • Conjunto de acciones automáticas: • Tareas • Alerta de correo electrónico • Actualizaciones de campo • Mensajes salientes • Se compone de criterios que se deben cumplir para ejecutar la regla. • Ejecución inmediata o ejecuciones basadas en el tiempo. Procesos de aprobación: • Proceso automatizado para aprobar registros. • Contiene los pasos necesarios para su aprobación quien tiene que aprobarlos. • Puede afectar a todos los registros o solo a los que cumplan ciertos criterios. Flujo de trabajo visual: • Diseñador visual de Salesforce1 • Permite visualmente encadenar uno o mas formas, formularios, reglas de negocio, llamadas API… • Podemos construir procesos de negocio completos. • Destinado a usuarios de la organización, usuarios externos a través de portal de cliente o Sites.
  • 14. Lógica de Negocio – Point and Click – Visual Flow
  • 15. Lógica de Negocio – Código Apex Características: • Lenguaje fuertemente tipado. • Orientado a objetos • Para creación de la lógica empresarial y la manipulación de datos. • Se compila y ejecuta en la infraestructura de Salesforce1 (servidor) • No es case sensitive. • Bajo limites de gobierno (infraestructura multi-tenant compartida) • Sintaxis similar a Java o C#. • Se almacena en la metadata en forma de clases y triggers. • Versionado. Sintaxis: • Tipos de datos: • Tipos de datos primitivos (Blob, Boolean, Fecha, Hora y Fecha/Hora, Decimal, ID, Integer, Long, Double y String. • Tipos sObject que representan objetos persistentes. • Colecciones y enumeraciones. • Clases APEX de sistema o definidas por el usuario. • Métodos. • Interfaces. • Modificadores de acceso: privado, publico, global. • Herencia Simple, Abstracción.
  • 16. Lógica de Negocio – Código Apex ¿Dónde se usa APEX?: • Servicios de email. Correo entrante y saliente. • Controladores VisualForce. • Creación de servicios web (REST y SOAP) • SOA (callouts). Llamadas a WS externos SOAP y WSDL o basados en http (REST) • Batch APEX. Cuando queremos procesar un gran numero de registros. • Trabajos Batch. Batch APEX programado en el tiempo. SOQL y SOSL: • Lenguaje de consultas SOQL: • sObject s = [SELECT Id, Name FROM Account WHERE Name LIKE ‘test%']; • Lenguaje de búsquedas SOSL: • List<List<SObject>> searchList= [FIND 'map*' IN NAME FIELDS RETURNING Account (id, name),Contact]; Integer NUM = 10; Account[] accs; // Clean up old data accs = [SELECT Id FROM Account WHERE Name LIKE 'test%']; delete accs; accs = new Account[NUM]; for (Integer i = 0; i < NUM; i++) { accs[i] = new Account(name='test ' + i, outstandingshares__c=i); } insert accs; Contact[] cons = new Contact[0]; for (Account acc : accs) { cons.add(new Contact(lastName=acc.name + '1', accounted=acc.id)); cons.add(new Contact(lastName=acc.name + '2', accounted=acc.id)); } insert cons; Consulta SOQL Declaración de Variables Bucles Array Operación DML
  • 17. Lógica de Negocio – Código Apex Test unitarios: • Verificar un correcto funcionamiento del desarrollo. • Son métodos de clases especiales. • No tienen argumentos. • No alteran los datos de la base de datos. • No envían correos electrónicos. • Deben cubrir al menos el 75% del código APEX. • Todos los triggers deben tener alguna cobertura. Depuración: • Código APEX ejecutado en el servidor. • Herramientas que nos pueden ayudar: • Registros de depuración desde la interfaz de Salesforce1 • Eclipse. • Consola de desarrollador. • Workbench.
  • 18. Índice 1. Documentación técnica y Comunidad de Desarrolladores. 2. Introducción al desarrollo con la plataforma Salesforce1 3. Database 4. Lógica de Negocio 5. Interfaz de usuario 6. Sites 7. Integración
  • 19. Interfaz de Usuario • Salesforce1 genera automáticamente una Interfaz Web y móvil de usuario basada en nuestro modelo de datos. • Visualforce es el framework de interfaz de usuario de la plataforma Salesforce1 • Visualforce está basado en el modelo-vista-controlador tradicional (MVC) • HTML, CSS, Javascript, Frameworks de Javascript. • Compatible con dispositivos móviles. • Desarrollo modular. • Reutilización de componentes. • La definición de la interfaz de usuario se almacena en la metadata. • Marcado basado en etiquetas, similar al HTML. • Cuenta con más de 150 componentes incorporados. • Etc… Arquitectura de cara al usuario Modelo-Vista-Controlador
  • 20. Interfaz de Usuario Controladores • Es un conjunto de instrucciones que especifican lo que sucede cuando un usuario interactúa con los componentes de Visualforce. • Existen dos tipos de controladores: • Estándar: Generados automáticamente por Salesforce1 por cada objeto de la base de datos. • Personalizados: Pueden extender la funcionalidad estándar o crear toda la lógica de la página Visualforce. Componentes • Componentes estándar: Amplia librería con más de 150 componentes a nuestra disposición, desde componentes sencillos hasta verdaderas aplicaciones como chatter. • Componentes custom: • Podemos empaquetar lo que necesitemos como componente y así reutilizarlo. • Combinación de componentes Visualforce, HTML, CSS, Javascript… • Componentes dinámicos: Se crean con código APEX.
  • 21. Interfaz de Usuario Páginas VisualForce • Son el contenedor de los componentes Visualforce, HTML, CSS, jQuery… • Contienen la referencia al controlador que contiene su lógica de aplicación. • Se pueden usar como plantillas. • Se procesan en la plataforma (servidor). • Se devuelven al cliente como HTML o se pueden devolver como un archivo PDF. • Disponibles para la aplicación móvil de Salesforce1.
  • 22. Interfaz de Usuario Javascript Remoting • Una de las características más importantes de Salesforce1, desde mi punto de vista. • Permite, desde Visualforce, invocar métodos de los controladores Apex usando Javascript. • Asíncrono. • Permite crear páginas complejas y muy dinámicas. Depuración en cliente web • El código HTML que la plataforma devuelve al cliente Web se genera en la plataforma (servidor). • Los clientes Web actuales nos facilitan las herramientas de depuración necesarias, como por ejemplo Chrome.
  • 23. Índice 1. Documentación técnica y Comunidad de Desarrolladores. 2. Introducción al desarrollo con la plataforma Salesforce1 3. Database 4. Lógica de Negocio 5. Interfaz de usuario 6. Sites 7. Integración
  • 24. Sites Websites • Sites.com: Diseñar y publicar sitios Web, páginas sociales, y experiencias móviles rápidamente • Salesforce1 Sites: • Crear sitios web públicos con sus paginas Visualforce. • Permite autenticar el acceso a determinadas paginas.
  • 25. Índice 1. Documentación técnica y Comunidad de Desarrolladores. 2. Introducción al desarrollo con la plataforma Salesforce1 3. Database 4. Lógica de Negocio 5. Interfaz de usuario 6. Sites 7. Integración
  • 26. Integración SSO • Autenticación federada. • Autenticación delegada. • Proveedores de autenticación. Integración de interfaz de usuario • Salesforce1 Canvas. Integración de la lógica de negocio • Apex Web Services. • Email Services (Inbound and Outbound). • Apex Callouts (Outbound). • Outbound Messaging. Integración de datos • API’s abiertas de Salesforce (SOAP API, REST API, Streaming API, Chatter REST API). • Bulk API. • Toolkits de integración Cloud-to-Cloud (Google, Facebook, Amazon Web Services, PayPal, Windows Azure).
  • 27. Q & A
  • 28. Gracias José Luis Almazán +34 651529898 joseluis.almazan@ticmind.es