34
Credit Agricole Hackathon March-May 2015 Webinar #1 25 th of April 2015 Peter Chittum, Developer Evangelist Raouf Aimeur, Principal Solution Engineer

[MBF2] Webinar plate-forme Salesforce #1

  • Upload
    bemyapp

  • View
    91

  • Download
    0

Embed Size (px)

Citation preview

Credit Agricole Hackathon March-May 2015 Webinar #1

25th of April 2015

Peter Chittum, Developer Evangelist

Raouf Aimeur, Principal Solution Engineer

Agenda Salesforce 1 Platform overview Building Mobile apps with Force.com Demo Building apps with Heroku Heroku Demo

Lightning: The Next Generation of the Salesforce1 Platform

All The Services You Need to Build Next Gen Apps

Chatter Multi-

language

Translation Workbench

Email Services Analytics

Cloud Database

Schema Builder Search

Visualforce1

Monitoring Multi-tenant Infrastructure

Apex

Data-level Security

Workflows

Social APIs

Analytics APIs

Bulk APIs Rest APIs Metadata APIs

Soap APIs

Private App Exchange

Custom Actions

Identity Mobile Notifications

Tooling APIs

Developer Mobile Packs

Mobile SDK Offline Support

Streaming APIs

Geolocation

ET 1:1 ET fuel

Heroku1

Heroku Add-Ons

Sharing Model

ET API

APIs

Mobile Services

Core Services

What Makes Force.com Unique?  The Benefits of Our Multi-Tenant Architecture

Seamless Upgrades Economies of Scale

High Availability

Continuous Innovation

Instant Capacity

More Secure Over Time

Developer Productivity

Faster, More Scalable Over Time

Two Ways to Build and Surface Mobile Apps

Mobile SDK Apps Salesforce1 Apps

Declarative versus Programmatic

Visualforce Page Canvas API

Apex Classes Apex Triggers

Apex Class

Workflow Visual Workflow

Validation Rules Approval Processes

Objects Fields

Relationships

Applications Tabs

Page Layouts Record Types

User Interface

Business Logic

Data Model

 Force.com Fundamentals : https://developer.salesforce.com/docs/atlas.en-us.fundamentals.meta/fundamentals/  Force.com Workbook : https://developer.salesforce.com/docs/atlas.en-us.workbook.meta/workbook/

Want a new App? Create your Data Model First! Define your Relational Model then…

 The system creates for you: •  Default screens to manage data visualization, entry and search •  Default API for each object •  Default reporting models •  All Collaborative and Mobile

 Then you can: •  Define sharing rules, roles and profile •  Customize screen layouts •  Create you own business rules and workflows •  Create list views and reports •  …

Unlimited Custom Objects & Fields

Build any Table

Add any Field

Automatic Audit History Tracking

Automatic Performance Tuning

Integrated collaboration features 1m+ Custom Objects (Tables)

Unlimited Real-Time Customization

Easy, Real-Time Customization for Managing All Your Data

User Interface  Standard Drag-Drop UI  Custom Visualforce

 Visualforce Developer’s Guide : https://developer.salesforce.com/docs/atlas.en-us.pages.meta/pages/  Visualforce Workbook : https://developer.salesforce.com/docs/atlas.en-us.workbook_vf.meta/workbook_vf/

 Demo

Declarative Development with a Programmatic Bridge

Drag n Drop App Builders Point & Click Admin

Bridges to Programmatic

Declarative Platform

Business Developers

80%

Eclipse or Cloud IDE Apex Code

Visualforce Pages Rich Set of APIs

Programmatic Platform

Professional Developers

20%

Bridges In

Between

 Apex Developer’s Guide : https://developer.salesforce.com/docs/atlas.en-us.apexcode.meta/apexcode/  Apex Workbook : https://developer.salesforce.com/docs/atlas.en-us.apex_workbook.meta/apex_workbook/

Real-Time Visibility with Easy to Create Reports

Customizable by Business Users

Real-Time Reporting

Integrated Analytics Across All Apps

Security Controls

Mobile Access

Email Dashboard Delivery

Real Time Analytics

Granular Real-Time Security Model

Field, Object and Record-Level Control

Sharing Across All Apps

Custom Rules Across Roles & Profiles

Integrated with API, Reporting & Search

Flexible Data Sharing with Point-and-Click Rules

Broad Open Standard Support for Identity and Authentication

Single Sign-On •  SAML 2.0 Identity Provider •  SAML 1.1 / 2.0 Service Provider •  OpenID Connect

API Access •  OAuth 2 •  OAuth 2 SAML Bearer Tokens •  OAuth 2 JWT Bearer Tokens

Cloud Directory & Provisioning •  SCIM •  SAML Provisioning

APIs and Toolkits Libraries SDKs

BULK API

Streaming API

Tooling API

REST API

Analytics API

SOAP API

Metadata API

Streaming API

 REST API Developer’s Guide : https://developer.salesforce.com/docs/atlas.en-us.api_rest.meta/api_rest/  Platform Mobile Services : https://developer.salesforce.com/mobile

Calling REST APIs from Apex Apex supports HTTP Services with several built in Apex classes to creating HTTP requests like GET, POST, PUT, and DELETE : •  HTTP Class: Use this class to initiate an HTTP request and response. •  HttpRequest Class: Use this class to programmatically create HTTP requests. •  HttpResponse Class: Use this class to handle the HTTP response returned by the HTTP.Send()

operation. https://developer.salesforce.com/page/Apex_Web_Services_and_Callouts Need to allow communication with remote site for security reasons

Getting Data from Javascript Native and hybrid local REST API : Web Services •  JavaScript REST Toolkit in the Mobile SDK •  From any Javascript framework, e.g. JQuery

Hybrid remote : Javascript Remoting from visualforce pages •  JavaScript remoting is a tool that front-end developers can use to make an

AJAX request from a Visualforce page directly to an Apex controller •  alleviate view state issues •  optimized for use on mobile pages and on pages that use third-party

JavaScript libraries.

Offline Service •  SmartSync Data Framework •  SmartStore

REST API calls from Javascript : https://developer.salesforce.com/blogs/developer-relations/2013/06/calling-the-force-com-rest-api-from-visualforce-pages-revisited.html

Business Requirements dictates Approach

Single Platform Multiple Platforms

Native Advanced UI interactions

Fastest performance App Store distribution

Hybrid Web developer skills Access to native platform App Store distribution

Full Capability

Partial Capability

HTML5 Web developer skills Instant updates Unrestricted distribution

Mobile SDK Features – Native and Hybride Apps REST API •  REST API wrapper classes Native browser container •  Includes PhoneGap/Cordova Layer with ability to add plug-ins Salesforce OAuth Identity management •  Uses the Salesforce Connected App Framework •  Handled on-demand Mobile Design Templates •  Includes HTML5/CSS3 content for List, views, Input, Maps, Calendar, Reports, Dashboards… •  Sample App Mobile Packs for various mobile frameworks •  Client resources file stored as a Salesforce Zip Static Resource (and Sample) Mobile UI Elements •  Salesforce Mobile Web components (based on Google Polymer framework) Offline •  Local secured Database (SmartStore) and Entity framework/SmartSync for data synchronization

Mobile development with Mobile SDK Tasks to create Native and Hybrid apps : •  Create a connected app in Salesforce •  Install the mobile SDK

•  as npm package

•  From github

•  Create a project with forceios or forcedroid •  Open Xcode/Eclipse and run a new Project •  Upload static resources (e.g., classes, REST API) to Salesforce

Benefits •  Custom user experience •  UI branding •  Distribute Apps via standard industry channels (App Store, Google Play)

 Mobile SDK Development Guide : https://developer.salesforce.com/docs/atlas.en-us.mobile_sdk.meta/mobile_sdk/  Platform Mobile Services : https://developer.salesforce.com/mobile

Mobile development with Salesforce 1  Has a defined user interface.  Has full access to Salesforce data.  Can be used to create an integrated experience in the Salesforce1 app.

 Gives you a way to include your own apps/functionality with quick actions.  Lets you customize Salesforce1 with point-and-click or programmatic customizations.  Lets you add functionality programmatically through Visualforce pages, Force.com Canvas apps, and the Lightning Component Framework.  Has defined navigation points. Salesforce1 customizations or apps adhere to the Salesforce1 navigation. So, for example, a Visualforce page can be called from the navigation menu or from a custom action in the action bar.  Enables you to leverage existing Salesforce development experience, both point-and-click and programmatic.  Is included in all Salesforce editions and supported by Salesforce.

 Salesforce 1 Mobile App Developer’s Guide : https://developer.salesforce.com/docs/atlas.en-us.salesforce1.meta/salesforce1/

From the feed, record pages, and from elsewhere in Salesforce1, users access actions from the action bar.

The Action Bar and MenuDepending on which feed or record page users are viewing, they see different actions in the action barand action menu. From the feed, for example, they see a set of global actions. From a record page, however,they see a mix of productivity actions, standard and custom buttons, standard Chatter actions such as Postand File, and global and object-specific actions that are assigned to the layout for that record type. Users

can tap from the action bar to open the action menu, which contains the full set of actions that areavailable for the object.

6

Chapter 1 Introduction

1. Search box

2. Menu items—any items you place above the Smart Search Items element when you customizethe navigation menu

3. Smart Search Items—includes a set of recently-searched objects in the Recent section and a largerset of supported objects under the More link

4. Apps section—contains any items you place below the Smart Search Items element

From the navigation menu, users can access the feed, objects, apps, tasks, notes, and any other item you’veadded to the menu. We’ll go over the components of the navigation menu in more detail in About theSalesforce1 Navigation Menu on page 26. But for now, let’s take a look at records.

The Record ViewThe record view is made up of the record feed, detail, and related information pages, which your userscan swipe left and right to see. If your organization doesn’t have Chatter enabled, the record view onlyincludes the detail and related information pages.

8

Chapter 1 Introduction

 Demo

Part of Salesforce1: Platform as a Service to build, run and scale customer apps What is Heroku?

Dynos Run virtually any language at scale

Database Enterprise-Grade

Postgres as a Service

Add-ons 150+ App Plugin

Ecosystem

Payments Email SMS Search Analytics Monitoring Logging

Ruby Node.js Java PHP Python Scala Clojure

24/7/365 Ops Continuous Protection Health Checks High Availability Encryption Rollback

When to use Heroku?

When building consumer or customer-facing apps

(B2B and B2C)

To leverage open source developer skills and

frameworks

To easily integrate apps with Salesforce system of

record

 Demo

Let’s start !

How to create a Force.com Developer Edition account

Sign in for a DE account :

1- https://developer.salesforce.com/

2- Click on the sign in button on the upper right corner

3- Fill out the form

How to create a free Heroku account ?

Sign in for an account :

1- https://www.heroku.com/

2- Click on the sign in button on the upper right corner

3- Fill out the form

Learning path for Force.com  1- Force.com fundamentals https://developer.salesforce.com/docs/atlas.en-us.fundamentals.meta/fundamentals/ 2- Force.com Workbook : https://developer.salesforce.com/docs/atlas.en-us.workbook.meta/workbook/ 3- Mobile SDK developer guide https://developer.salesforce.com/docs/atlas.en-us.mobile_sdk.meta/mobile_sdk/ 4- Salesforce 1 Developer guide Forum : https://developer.salesforce.com/docs/atlas.en-us.salesforce1.meta/salesforce1/

More resources on Force.com and Heroku  Force.com resources:  https://developer.salesforce.com/  https://developer.salesforce.com/trailhead  https://developer.salesforce.com/docs Free Online Training : https://www.udacity.com/course/ud162

Forum : https://developer.salesforce.com/forums  Forum : http://salesforce.stackexchange.com/

 Heroku resources :  https://devcenter.heroku.com/start  https://devcenter.heroku.com/categories/reference

What to expect for the next upcoming Webinar on the 9th of April

 Mobile App with Salesforce and Visualforce  Mobile App with Mobile SDK  Apex Best Practices  Standard API Access

Prizes

 Good Luck !

Thank You