SlideShare una empresa de Scribd logo
1 de 17
Lightning Connect
DUG Granada 26 Nov 2015
Agustina García Odeian @agarciaodeian
Alba Azcona Rivas @Alba_ARivas
¿Qué es Lightning Connect?
● Feature que permite visualizar tablas de datos alojadas
en sistemas externos en Salesforce:
● No es un ETL (Extract - Transform - Load)
● Los datos NO se copian
● Se pueden leer bajo demanda y en TIEMPO REAL como si
formaran parte de nuestro esquema
● Se pueden escribir si el datasource lo permite
External datasource
● Para poder trabajar con Lightning Connect necesitamos un
external datasource. Este puede ser un repositorio externo
Google Drive, Sharepoint, Amazon, una base de datos…
● Hay que elegir un adapter para comunicarse con el
datasource: Lightning Connect OData 2.0, OData 4.0
● OData es un protocolo que permite el acceso a datos en
tiempo real mediante peticiones REST.
● Puede estar autenticado (OAuth) o no.
Vamos a crear un external datasource:
- Nuestro datasource será un spreadsheet: https://goo.gl/auSswl
- Setup → Develop → External Datasource
- Type: OData 2.0
- URL: https://sheltered-badlands-
4799.herokuapp.com/InMemoryProducerExample.svc
External datasource
● Custom Connector - Apex Connector Framework
●Provider class
●Connection class
External objects
● Es un nuevo tipo de objeto que permite visualizar la
información que tenemos en nuestro external
datasource
Vamos a crear un external object:
- En la página de detalle del External Datasource, click en
“Validate & Sync”
- Sincroniza el objeto “HotelReservation”
- Puedes ver que se ha creado un nuevo objeto en Setup → Develop
External Objects.
External objects
● ¿En qué se diferencia un external object de un objeto
custom?
● Acaba en __x
● External Datasource: datasource desde el cual lo hemos
creado
● Name field: indica cuál de los campos del objeto será el
Name.
● Standard fields:
● External Id: identifica de forma unívoca al registro
● Display URL: URL a través de la cual consumimos el objeto
Tabs y layouts
● Podemos crear una tab para el external object como
hacemos normalmente.
● Podemos modificar el page layout, compact layout y
search layouts del objeto, como si de un objeto normal
se tratara.
Vamos a crear una tab para nuestro external object:
- Crea una tab para “HotelReservation”
- Ve a la tab y modifica las columnas del layout para mostrar
todos los campos
Demo
External lookup
● Crea un lookup hacia un external object. Es decir,
podemos crear un external lookup:
● De custom object hacia external object
● De external object hacia otro external object
Vamos a crear un external lookup:
- Crea un objeto que se llame “ParkingReservation”. Varias
reservan de parking pueden estar asociadas a la misma reserva de
habitación.
- Crea un external lookup en ParkingReservation al external object
“HotelReservation”.
- Crea una tab para el objeto Parking Reservation
- Crea una reserva de parking desde la nueva tab
Indirect lookup
● Es un lookup desde un external object hacia un objecto
custom o standard.
● El custom o standard object que vamos a utilizar tiene
que tener un unique External Id.
Vamos a crear un indirect lookup:
- Vamos a utilizar el objeto Account para asociarlo con las
personas que hacen las reservas.
- Crea un external id en Account llamado “Guest Name”
(Guest_Name__c).
- Utiliza el script populate_accounts.txt para crear Accounts con
los mismos datos que tenemos en nuestra tabla externa.
- Edita el campo Guest Name de Hotel Reservation para que sea un
indirect lookup hacia el campo Guest Name de Account.
- Puedes ver el resultado viendo la lista de Hotel Reservations.
- Edita el layout de Account para añadir la related list de Hotel
Reservations.
VF, Apex and SOQL
● Podemos crear código Apex para el external object,
leer sus datos mediante SOQL y crear páginas
Visualforce.
Vamos a crear una página VF para poder imprimir facturas de las
reservas:
- Crea un controlador para Hotel Reservation
(HotelRervationController.cls).
- Crea una página VF que haga uso del controlador y cree la
factura en PDF (reservation_invoice.page).
- Crea un botón “Print Invoice” en la vista de detalle de Hotel
Reservation que nos lleve a la página VF.
- Añádelo al layout de la vista de detalle.
- Comprueba el resultado.
FieldSets
● También podemos crear FieldSets para un external
object.
Vamos a crear un fieldset y sobreescribir la página de detalle de Hotel
Reservation con un VF que muestre este fieldset
- Crea un fieldset para el external object Hotel Reservation
(Reservation_Information).
- Crea una página VF que haga uso del controlador y renderice los
campos indicados en el fieldset (reservation_view.page).
- Sobreescribe el comportamiento del boón view para que muestre la
nueva página.
- Comprueba el resultado.
Aún hay más…
● También puedes visualizar tu objeto en Salesforce1, y
como dijimos anteriormente modificar su compact
layout para personalizar los campos que se muestran.
● Puedes seguir tus external objets a través de los feeds
de Chatter (aunque sin Field History Tracking).
● Se puede acceder a ellos a través de las APIs SOAP y
REST de SF.
● Puedes aplicar FLS a tus external objects.
Writability
● Antes de la Winter 16 read-only. A partir de la Winter
16, writable!!
● Esto implica que a partir de la Winter 16, podemos
utilizar operaciones DML en nuestro código Apex para
escribir estos objetos.
● Diferencias en cuanto al momento en el que se
commitean los datos. Para ello:
Limitaciones
● Sólo podemos tener 100 external objects / org
● No podemos crear relaciones Master - Detail
●Workaround con Indirect y External Lookups
● No podemos crear Reports // Dashboards
● No se pueden crear Triggers
● No se pueden utilizar en fórmulas o workflow.
● Todo lo relacionado con sharing no aplica para los
external objects.
Más información
● Blog de Agustina:
http://agarciaodeian.com/2015/10/20/external-
objects-what-lightning-connect-offers-to-us/
Gracias por venir!!

Más contenido relacionado

Similar a Lightning connect dug_26_nov2015

Colegio+de+estudios+cientificos+y+tecnologicos+del+estado+de+mexico
Colegio+de+estudios+cientificos+y+tecnologicos+del+estado+de+mexicoColegio+de+estudios+cientificos+y+tecnologicos+del+estado+de+mexico
Colegio+de+estudios+cientificos+y+tecnologicos+del+estado+de+mexico
25415252
 
WPFSeries - 02
WPFSeries - 02WPFSeries - 02
WPFSeries - 02
kazcorp
 
Reportes En J Developer Parte 1 Y 2
Reportes En J Developer   Parte 1 Y 2Reportes En J Developer   Parte 1 Y 2
Reportes En J Developer Parte 1 Y 2
Steven Gomez
 
Persistencia De Objetos(Hibernate)
Persistencia De Objetos(Hibernate)Persistencia De Objetos(Hibernate)
Persistencia De Objetos(Hibernate)
Ronald Cuello
 
TEMA Nº 4: GENERACIÓN DE CONTENIDO DINÁMICO CON JSP
TEMA Nº 4: GENERACIÓN DE CONTENIDO DINÁMICO CON JSPTEMA Nº 4: GENERACIÓN DE CONTENIDO DINÁMICO CON JSP
TEMA Nº 4: GENERACIÓN DE CONTENIDO DINÁMICO CON JSP
Anyeni Garay
 

Similar a Lightning connect dug_26_nov2015 (20)

Novedades de aries
Novedades de ariesNovedades de aries
Novedades de aries
 
S4-PD1-2.2 EF
S4-PD1-2.2 EFS4-PD1-2.2 EF
S4-PD1-2.2 EF
 
Práctica de Bases de Datos con MySQL (diseño, desarrollo y uso)
Práctica de Bases de Datos con MySQL (diseño, desarrollo y uso)Práctica de Bases de Datos con MySQL (diseño, desarrollo y uso)
Práctica de Bases de Datos con MySQL (diseño, desarrollo y uso)
 
Guía básica para pegarle al xhtml (Primera parte)
Guía básica para pegarle al xhtml (Primera parte)Guía básica para pegarle al xhtml (Primera parte)
Guía básica para pegarle al xhtml (Primera parte)
 
Colegio+de+estudios+cientificos+y+tecnologicos+del+estado+de+mexico
Colegio+de+estudios+cientificos+y+tecnologicos+del+estado+de+mexicoColegio+de+estudios+cientificos+y+tecnologicos+del+estado+de+mexico
Colegio+de+estudios+cientificos+y+tecnologicos+del+estado+de+mexico
 
WPFSeries - 02
WPFSeries - 02WPFSeries - 02
WPFSeries - 02
 
3.GeneXus creación_de_la_aplicación
3.GeneXus creación_de_la_aplicación3.GeneXus creación_de_la_aplicación
3.GeneXus creación_de_la_aplicación
 
Big Data: análisis de weblogs
Big Data: análisis de weblogsBig Data: análisis de weblogs
Big Data: análisis de weblogs
 
Reportes En J Developer Parte 1 Y 2
Reportes En J Developer   Parte 1 Y 2Reportes En J Developer   Parte 1 Y 2
Reportes En J Developer Parte 1 Y 2
 
Prepara tus apps de SharePoint y Office 365 para el futuro
Prepara tus apps de SharePoint y Office 365 para el futuroPrepara tus apps de SharePoint y Office 365 para el futuro
Prepara tus apps de SharePoint y Office 365 para el futuro
 
Turismo sobre ruedas
Turismo sobre ruedasTurismo sobre ruedas
Turismo sobre ruedas
 
S4 - EF
S4 - EFS4 - EF
S4 - EF
 
Persistencia de objetos con Hibernate
Persistencia de objetos con HibernatePersistencia de objetos con Hibernate
Persistencia de objetos con Hibernate
 
Persistencia De Objetos(Hibernate)
Persistencia De Objetos(Hibernate)Persistencia De Objetos(Hibernate)
Persistencia De Objetos(Hibernate)
 
TEMA Nº 4: GENERACIÓN DE CONTENIDO DINÁMICO CON JSP
TEMA Nº 4: GENERACIÓN DE CONTENIDO DINÁMICO CON JSPTEMA Nº 4: GENERACIÓN DE CONTENIDO DINÁMICO CON JSP
TEMA Nº 4: GENERACIÓN DE CONTENIDO DINÁMICO CON JSP
 
Reportes
ReportesReportes
Reportes
 
Reportes
ReportesReportes
Reportes
 
Web-alternativa-al-Senado-de-Espana-desarrollada-Open-Source
Web-alternativa-al-Senado-de-Espana-desarrollada-Open-SourceWeb-alternativa-al-Senado-de-Espana-desarrollada-Open-Source
Web-alternativa-al-Senado-de-Espana-desarrollada-Open-Source
 
04 17-2021 - procesando modelos tabulares global azure latam
04 17-2021 - procesando modelos tabulares global azure latam04 17-2021 - procesando modelos tabulares global azure latam
04 17-2021 - procesando modelos tabulares global azure latam
 
Drupal 7 a través Drupal Commerce
Drupal 7 a través Drupal CommerceDrupal 7 a través Drupal Commerce
Drupal 7 a través Drupal Commerce
 

Último

analisis tecnologico( diagnostico tecnologico, herramienta de toma de deciones)
analisis tecnologico( diagnostico tecnologico, herramienta de toma de deciones)analisis tecnologico( diagnostico tecnologico, herramienta de toma de deciones)
analisis tecnologico( diagnostico tecnologico, herramienta de toma de deciones)
Ricardo705519
 
INSUMOS QUIMICOS Y BIENES FISCALIZADOS POR LA SUNAT
INSUMOS QUIMICOS Y BIENES FISCALIZADOS POR LA SUNATINSUMOS QUIMICOS Y BIENES FISCALIZADOS POR LA SUNAT
INSUMOS QUIMICOS Y BIENES FISCALIZADOS POR LA SUNAT
evercoyla
 
ANALISIS Y DISEÑO POR VIENTO, DE EDIFICIOS ALTOS, SEGUN ASCE-2016, LAURA RAMIREZ
ANALISIS Y DISEÑO POR VIENTO, DE EDIFICIOS ALTOS, SEGUN ASCE-2016, LAURA RAMIREZANALISIS Y DISEÑO POR VIENTO, DE EDIFICIOS ALTOS, SEGUN ASCE-2016, LAURA RAMIREZ
ANALISIS Y DISEÑO POR VIENTO, DE EDIFICIOS ALTOS, SEGUN ASCE-2016, LAURA RAMIREZ
gustavoiashalom
 

Último (20)

analisis tecnologico( diagnostico tecnologico, herramienta de toma de deciones)
analisis tecnologico( diagnostico tecnologico, herramienta de toma de deciones)analisis tecnologico( diagnostico tecnologico, herramienta de toma de deciones)
analisis tecnologico( diagnostico tecnologico, herramienta de toma de deciones)
 
Control estadistico de procesos Primera parte.pdf
Control estadistico de procesos Primera parte.pdfControl estadistico de procesos Primera parte.pdf
Control estadistico de procesos Primera parte.pdf
 
Presentacion de la ganaderia en la región
Presentacion de la ganaderia en la regiónPresentacion de la ganaderia en la región
Presentacion de la ganaderia en la región
 
Controladores Lógicos Programables Usos y Ventajas
Controladores Lógicos Programables Usos y VentajasControladores Lógicos Programables Usos y Ventajas
Controladores Lógicos Programables Usos y Ventajas
 
Propuesta para la creación de un Centro de Innovación para la Refundación ...
Propuesta para la creación de un Centro de Innovación para la Refundación ...Propuesta para la creación de un Centro de Innovación para la Refundación ...
Propuesta para la creación de un Centro de Innovación para la Refundación ...
 
libro de ingeniería de petróleos y operaciones
libro de ingeniería de petróleos y operacioneslibro de ingeniería de petróleos y operaciones
libro de ingeniería de petróleos y operaciones
 
ESPECIFICACIONES TECNICAS COMPLEJO DEPORTIVO
ESPECIFICACIONES TECNICAS COMPLEJO DEPORTIVOESPECIFICACIONES TECNICAS COMPLEJO DEPORTIVO
ESPECIFICACIONES TECNICAS COMPLEJO DEPORTIVO
 
Maquinaria Agricola utilizada en la produccion de Piña.pdf
Maquinaria Agricola utilizada en la produccion de Piña.pdfMaquinaria Agricola utilizada en la produccion de Piña.pdf
Maquinaria Agricola utilizada en la produccion de Piña.pdf
 
Presentación Instrumentos de Medicion Electricos.pptx
Presentación Instrumentos de Medicion Electricos.pptxPresentación Instrumentos de Medicion Electricos.pptx
Presentación Instrumentos de Medicion Electricos.pptx
 
INSUMOS QUIMICOS Y BIENES FISCALIZADOS POR LA SUNAT
INSUMOS QUIMICOS Y BIENES FISCALIZADOS POR LA SUNATINSUMOS QUIMICOS Y BIENES FISCALIZADOS POR LA SUNAT
INSUMOS QUIMICOS Y BIENES FISCALIZADOS POR LA SUNAT
 
Resistencia-a-los-antimicrobianos--laboratorio-al-cuidado-del-paciente_Marcel...
Resistencia-a-los-antimicrobianos--laboratorio-al-cuidado-del-paciente_Marcel...Resistencia-a-los-antimicrobianos--laboratorio-al-cuidado-del-paciente_Marcel...
Resistencia-a-los-antimicrobianos--laboratorio-al-cuidado-del-paciente_Marcel...
 
422382393-Curso-de-Tableros-Electricos.pptx
422382393-Curso-de-Tableros-Electricos.pptx422382393-Curso-de-Tableros-Electricos.pptx
422382393-Curso-de-Tableros-Electricos.pptx
 
Tabla de referentes empíricos para tesis-1.docx
Tabla de referentes empíricos para tesis-1.docxTabla de referentes empíricos para tesis-1.docx
Tabla de referentes empíricos para tesis-1.docx
 
nomenclatura de equipo electrico en subestaciones
nomenclatura de equipo electrico en subestacionesnomenclatura de equipo electrico en subestaciones
nomenclatura de equipo electrico en subestaciones
 
QUIMICA GENERAL UNIVERSIDAD TECNOLOGICA DEL PERU
QUIMICA GENERAL UNIVERSIDAD TECNOLOGICA DEL PERUQUIMICA GENERAL UNIVERSIDAD TECNOLOGICA DEL PERU
QUIMICA GENERAL UNIVERSIDAD TECNOLOGICA DEL PERU
 
ANALISIS Y DISEÑO POR VIENTO, DE EDIFICIOS ALTOS, SEGUN ASCE-2016, LAURA RAMIREZ
ANALISIS Y DISEÑO POR VIENTO, DE EDIFICIOS ALTOS, SEGUN ASCE-2016, LAURA RAMIREZANALISIS Y DISEÑO POR VIENTO, DE EDIFICIOS ALTOS, SEGUN ASCE-2016, LAURA RAMIREZ
ANALISIS Y DISEÑO POR VIENTO, DE EDIFICIOS ALTOS, SEGUN ASCE-2016, LAURA RAMIREZ
 
Six Sigma Process and the dmaic metodo process
Six Sigma Process and the dmaic metodo processSix Sigma Process and the dmaic metodo process
Six Sigma Process and the dmaic metodo process
 
01 MATERIALES AERONAUTICOS VARIOS clase 1.ppt
01 MATERIALES AERONAUTICOS VARIOS clase 1.ppt01 MATERIALES AERONAUTICOS VARIOS clase 1.ppt
01 MATERIALES AERONAUTICOS VARIOS clase 1.ppt
 
Trazos paileros para realizar trazos, cortes y calculos.pptx
Trazos paileros para realizar trazos, cortes y calculos.pptxTrazos paileros para realizar trazos, cortes y calculos.pptx
Trazos paileros para realizar trazos, cortes y calculos.pptx
 
ingenieria grafica para la carrera de ingeniera .pptx
ingenieria grafica para la carrera de ingeniera .pptxingenieria grafica para la carrera de ingeniera .pptx
ingenieria grafica para la carrera de ingeniera .pptx
 

Lightning connect dug_26_nov2015

  • 1. Lightning Connect DUG Granada 26 Nov 2015 Agustina García Odeian @agarciaodeian Alba Azcona Rivas @Alba_ARivas
  • 2. ¿Qué es Lightning Connect? ● Feature que permite visualizar tablas de datos alojadas en sistemas externos en Salesforce: ● No es un ETL (Extract - Transform - Load) ● Los datos NO se copian ● Se pueden leer bajo demanda y en TIEMPO REAL como si formaran parte de nuestro esquema ● Se pueden escribir si el datasource lo permite
  • 3. External datasource ● Para poder trabajar con Lightning Connect necesitamos un external datasource. Este puede ser un repositorio externo Google Drive, Sharepoint, Amazon, una base de datos… ● Hay que elegir un adapter para comunicarse con el datasource: Lightning Connect OData 2.0, OData 4.0 ● OData es un protocolo que permite el acceso a datos en tiempo real mediante peticiones REST. ● Puede estar autenticado (OAuth) o no. Vamos a crear un external datasource: - Nuestro datasource será un spreadsheet: https://goo.gl/auSswl - Setup → Develop → External Datasource - Type: OData 2.0 - URL: https://sheltered-badlands- 4799.herokuapp.com/InMemoryProducerExample.svc
  • 4. External datasource ● Custom Connector - Apex Connector Framework ●Provider class ●Connection class
  • 5. External objects ● Es un nuevo tipo de objeto que permite visualizar la información que tenemos en nuestro external datasource Vamos a crear un external object: - En la página de detalle del External Datasource, click en “Validate & Sync” - Sincroniza el objeto “HotelReservation” - Puedes ver que se ha creado un nuevo objeto en Setup → Develop External Objects.
  • 6. External objects ● ¿En qué se diferencia un external object de un objeto custom? ● Acaba en __x ● External Datasource: datasource desde el cual lo hemos creado ● Name field: indica cuál de los campos del objeto será el Name. ● Standard fields: ● External Id: identifica de forma unívoca al registro ● Display URL: URL a través de la cual consumimos el objeto
  • 7. Tabs y layouts ● Podemos crear una tab para el external object como hacemos normalmente. ● Podemos modificar el page layout, compact layout y search layouts del objeto, como si de un objeto normal se tratara. Vamos a crear una tab para nuestro external object: - Crea una tab para “HotelReservation” - Ve a la tab y modifica las columnas del layout para mostrar todos los campos
  • 9. External lookup ● Crea un lookup hacia un external object. Es decir, podemos crear un external lookup: ● De custom object hacia external object ● De external object hacia otro external object Vamos a crear un external lookup: - Crea un objeto que se llame “ParkingReservation”. Varias reservan de parking pueden estar asociadas a la misma reserva de habitación. - Crea un external lookup en ParkingReservation al external object “HotelReservation”. - Crea una tab para el objeto Parking Reservation - Crea una reserva de parking desde la nueva tab
  • 10. Indirect lookup ● Es un lookup desde un external object hacia un objecto custom o standard. ● El custom o standard object que vamos a utilizar tiene que tener un unique External Id. Vamos a crear un indirect lookup: - Vamos a utilizar el objeto Account para asociarlo con las personas que hacen las reservas. - Crea un external id en Account llamado “Guest Name” (Guest_Name__c). - Utiliza el script populate_accounts.txt para crear Accounts con los mismos datos que tenemos en nuestra tabla externa. - Edita el campo Guest Name de Hotel Reservation para que sea un indirect lookup hacia el campo Guest Name de Account. - Puedes ver el resultado viendo la lista de Hotel Reservations. - Edita el layout de Account para añadir la related list de Hotel Reservations.
  • 11. VF, Apex and SOQL ● Podemos crear código Apex para el external object, leer sus datos mediante SOQL y crear páginas Visualforce. Vamos a crear una página VF para poder imprimir facturas de las reservas: - Crea un controlador para Hotel Reservation (HotelRervationController.cls). - Crea una página VF que haga uso del controlador y cree la factura en PDF (reservation_invoice.page). - Crea un botón “Print Invoice” en la vista de detalle de Hotel Reservation que nos lleve a la página VF. - Añádelo al layout de la vista de detalle. - Comprueba el resultado.
  • 12. FieldSets ● También podemos crear FieldSets para un external object. Vamos a crear un fieldset y sobreescribir la página de detalle de Hotel Reservation con un VF que muestre este fieldset - Crea un fieldset para el external object Hotel Reservation (Reservation_Information). - Crea una página VF que haga uso del controlador y renderice los campos indicados en el fieldset (reservation_view.page). - Sobreescribe el comportamiento del boón view para que muestre la nueva página. - Comprueba el resultado.
  • 13. Aún hay más… ● También puedes visualizar tu objeto en Salesforce1, y como dijimos anteriormente modificar su compact layout para personalizar los campos que se muestran. ● Puedes seguir tus external objets a través de los feeds de Chatter (aunque sin Field History Tracking). ● Se puede acceder a ellos a través de las APIs SOAP y REST de SF. ● Puedes aplicar FLS a tus external objects.
  • 14. Writability ● Antes de la Winter 16 read-only. A partir de la Winter 16, writable!! ● Esto implica que a partir de la Winter 16, podemos utilizar operaciones DML en nuestro código Apex para escribir estos objetos. ● Diferencias en cuanto al momento en el que se commitean los datos. Para ello:
  • 15. Limitaciones ● Sólo podemos tener 100 external objects / org ● No podemos crear relaciones Master - Detail ●Workaround con Indirect y External Lookups ● No podemos crear Reports // Dashboards ● No se pueden crear Triggers ● No se pueden utilizar en fórmulas o workflow. ● Todo lo relacionado con sharing no aplica para los external objects.
  • 16. Más información ● Blog de Agustina: http://agarciaodeian.com/2015/10/20/external- objects-what-lightning-connect-offers-to-us/