Brasil Roadshow

840 views

Published on

Published in: Technology
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
840
On SlideShare
0
From Embeds
0
Number of Embeds
2
Actions
Shares
0
Downloads
29
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide
  • Disruptive changes require fast and agile development
  • Enterprises are responding to this demand by going to the cloud
  • Let’s have an exercise in requirements gathering. Here is some of the core needs for our Warehouse application. What nouns here should we be looking at to model our data with?
  • Let’s have an exercise in requirements gathering. Here is some of the core needs for our Warehouse application. What nouns here should we be looking at to model our data with?
  • Let’s have an exercise in requirements gathering. Here is some of the core needs for our Warehouse application. What nouns here should we be looking at to model our data with?
  • Here is an overview of what our data model will look like. Recommended: Break into a demo of building data in the browser, either custom object wizard or schema builder depending on audience/workbooks
  • Relational DataValidated dataProcess driven workflowsApproval SystemField AuditingUsers, Profiles and PermissionsEnterprise Collaboration
  • Formula fields work like formulas work in Excel spreadsheets.The formula here insists that a delivery date is needed for these stages.
  • Validation rules are always in 3 parts IF->then-ERROR.Let’s have a look how this is implemented in Force.com - flip to the app now and check out the check_inventory rule on LineItem
  • This is hard to see
  • Automated, time based processes that can integrate into backend systemsGreat for consistency, and removing human involvementEg:
  • How does privacy work with Chatter? Can you accidentally share a record I’m not supposed to see?
  • For those unfamiliar with OO, here’s what a simple class structure looks like.NOTE: If you’re using this slide deck for a very technical audience, breeze through this section and get to meatier features of Apex.
  • For those unfamiliar with OO, here’s what a simple class structure looks like.NOTE: If you’re using this slide deck for a very technical audience, breeze through this section and get to meatier features of Apex.
  • Want to make Chatter smarter? You can extend it with Apex Triggers to associate highly custom behaviors. Here if someone adds a hash tag “promote”, Apex will automatically add it to the promotion and even update the record to let everyone know it just did that. We’ll also be doing a deeper dive into Apex and triggers today as well.
  • For those unfamiliar with OO, here’s what a simple class structure looks like.NOTE: If you’re using this slide deck for a very technical audience, breeze through this section and get to meatier features of Apex.
  • For those unfamiliar with OO, here’s what a simple class structure looks like.NOTE: If you’re using this slide deck for a very technical audience, breeze through this section and get to meatier features of Apex.
  • For those unfamiliar with OO, here’s what a simple class structure looks like.NOTE: If you’re using this slide deck for a very technical audience, breeze through this section and get to meatier features of Apex.
  • We’re going to look at Visualforce later, but let’s have a bit of a preview here. Visualforce is our user interface framework in the cloud, and it knows all about Chatter.
  • statue
  • Brasil Roadshow

    1. 1. bem vindos@reidcarlberg@joshbirk
    2. 2. SSID: CiscoNet-ManageWIFI Username / Password On table http://bit.ly/brazilweek
    3. 3. InteractiveQuestions? Current projects? Feedback?
    4. 4. http://developer.force.com/join
    5. 5. Check Your Developer Edition Environmenthttp://developer.force.com/join
    6. 6. http://bit.ly/brazilweek
    7. 7. Safe HarborSafe harbor statement under the Private Securities Litigation Reform Act of 1995: This presentation may contain forward-lookingstatements that involve risks, uncertainties, and assumptions. If any such uncertainties materialize or if any of the assumptions provesincorrect, the results of salesforce.com, inc. could differ materially from the results expressed or implied by the forward-lookingstatements we make. All statements other than statements of historical fact could be deemed forward-looking, including any projectionsof subscriber growth, earnings, revenues, or other financial items and any statements regarding strategies or plans of management forfuture operations, statements of belief, any statements concerning new, planned, or upgraded services or technology developments andcustomer contracts or use of our services.The risks and uncertainties referred to above include – but are not limited to – risks associated with developing and delivering newfunctionality for our service, our new business model, our past operating losses, possible fluctuations in our operating results and rate ofgrowth, interruptions or delays in our Web hosting, breach of our security measures, risks associated with possible mergers andacquisitions, the immature market in which we operate, our relatively limited operating history, our ability to expand, retain, and motivateour employees and manage our growth, new releases of our service and successful customer deployment, our limited history resellingnon-salesforce.com products, and utilization and selling to larger enterprise customers. Further information on potential factors that couldaffect the financial results of salesforce.com, inc. is included in our annual report on Form 10-K for the most recent fiscal quarter endedJuly 31, 2011. This document and others are available on the SEC Filings section of the Investor Information section of our Web site.Any unreleased services or features referenced in this or other press releases or public statements are not currently available and maynot be delivered on time or at all. Customers who purchase our services should make the purchase decisions based upon features thatare currently available. Salesforce.com, inc. assumes no obligation and does not intend to update these forward-looking statements.
    8. 8. Steve SassonEngineered the first digital camera prototype
    9. 9. Eastman KodakFiled for bankruptcy in 2012
    10. 10. Steve SassonWorked for Eastman Kodak in 1954
    11. 11. Customers, Partners, and Employees AreDemanding a New Generation of Apps. Now. 456 Million Tablets at Work 782 Million Smartphones at Work 2009 2010 2011 2012 2013(E) 2014(E) 2015(E) 2016(E)
    12. 12. “80% of new commercial enterprise apps will be deployed on cloud platforms in 2012”IDC Predictions 2012: Competing for 2020
    13. 13. Salesforce PlatformCloud based, multi-tenant, enterprise class PaaS
    14. 14. 800,000Force.com developers
    15. 15. 9 BillionAPI calls last month
    16. 16. 2.5xIncreased demand for Force.com developers
    17. 17. YOUare the makers
    18. 18. Fundamentals for the EnterpriseMobile Social Identity Data Marketplace
    19. 19. Data Modeling Declarative Applications Create relationships, requirements and validation rules Apex, Visualforce and API’s automatically extended
    20. 20. Business Logic Workflows & Approvals Chatter Apex & Visualforce Enterprise API’s
    21. 21. Go Mobile, Go Social Mobile SDK for Android and iOS Chatter Mobile and Chatter REST Salesforce Identity & OAuth
    22. 22. Extend and Market Heroku AppExchange
    23. 23. AppExchange1,700+ Apps 20k+ Reviews 1.4m+ Installs
    24. 24. The Salesforce Platform Built-in Services Your Innovative Infrastructure Application Operations Platform Touch Social Services Services Services Services Services Services App Network Security/Sharing Authentication Globalization Native iOS SDK Feeds Storage Integration Availability APIs Native Android SDK Profiles Operating System Customization Monitoring Security HTML5 Status updates Database Web Services Patch Management Analytics Xcode wizards Groups App Server Multi-Language Upgrades Search PIN code support File sharing Web Server Workflow Backup Identity Custom APEX REST Approvals Data Center NOC Geo-location Mobile Messenger Disaster Recovery Troubleshooting APIs Presence
    25. 25. Now it’s your turnBuilding a cloud based application
    26. 26. DATA MODELING@ReidCarlberg
    27. 27. Safe HarborSafe harbor statement under the Private Securities Litigation Reform Act of 1995: This presentation may contain forward-lookingstatements that involve risks, uncertainties, and assumptions. If any such uncertainties materialize or if any of the assumptions provesincorrect, the results of salesforce.com, inc. could differ materially from the results expressed or implied by the forward-lookingstatements we make. All statements other than statements of historical fact could be deemed forward-looking, including any projectionsof subscriber growth, earnings, revenues, or other financial items and any statements regarding strategies or plans of management forfuture operations, statements of belief, any statements concerning new, planned, or upgraded services or technology developments andcustomer contracts or use of our services.The risks and uncertainties referred to above include – but are not limited to – risks associated with developing and delivering newfunctionality for our service, our new business model, our past operating losses, possible fluctuations in our operating results and rate ofgrowth, interruptions or delays in our Web hosting, breach of our security measures, risks associated with possible mergers andacquisitions, the immature market in which we operate, our relatively limited operating history, our ability to expand, retain, and motivateour employees and manage our growth, new releases of our service and successful customer deployment, our limited history resellingnon-salesforce.com products, and utilization and selling to larger enterprise customers. Further information on potential factors that couldaffect the financial results of salesforce.com, inc. is included in our annual report on Form 10-K for the most recent fiscal quarter endedJuly 31, 2011. This document and others are available on the SEC Filings section of the Investor Information section of our Web site.Any unreleased services or features referenced in this or other press releases or public statements are not currently available and maynot be delivered on time or at all. Customers who purchase our services should make the purchase decisions based upon features thatare currently available. Salesforce.com, inc. assumes no obligation and does not intend to update these forward-looking statements.
    28. 28. Data Modeling Declarative Applications Create relationships, requirements and validation rules Apex, Visualforce and API’s automatically extended
    29. 29. Spreadsheet Versus Application Relational Data Validated data Process driven workflows OR Approval System Field Auditing Users, Profiles and Permissions Enterprise Collaboration With the same amount of programming…
    30. 30. Let’s Build an App!
    31. 31. Warehouse Application Requirements• Track price and inventory on hand for all merchandise• Create invoices containing one or more merchandise items as a line items• Present total invoice amount and current shipping status
    32. 32. Warehouse Application Requirements• Track price and inventory on hand for all merchandise• Create invoices containing one or more merchandise items as a line items• Present total invoice amount and current shipping status
    33. 33. Warehouse Application Requirements• Track price and inventory on hand for all merchandise• Create invoices containing one or more merchandise items as a line items• Present total invoice amount and current shipping status
    34. 34. Warehouse Data Model Invoice Number Status Count Total INV-01 Shipped 16 $370 INV-02 New 20 $200 Invoice Line Items MerchandiseInvoice Line Merchandise Units Unit Price Value Name Price Inventory Sold Pinot $20 15INV-01 1 Pinot 1 15 $20 Cabernet $30 10INV-01 2 Cabernet 5 10 $150 Malbec $20 20INV-01 3 Malbec 10 20 $200 Zinfandel $10 50INV-02 1 Pinot 20 50 $200
    35. 35. TUTORIALS 1 & 2http://bit.ly/brasilportal-rj
    36. 36. BUSINESS LOGIC COLLABORATIONName, Title@twitter
    37. 37. Safe HarborSafe harbor statement under the Private Securities Litigation Reform Act of 1995: This presentation may contain forward-lookingstatements that involve risks, uncertainties, and assumptions. If any such uncertainties materialize or if any of the assumptions provesincorrect, the results of salesforce.com, inc. could differ materially from the results expressed or implied by the forward-lookingstatements we make. All statements other than statements of historical fact could be deemed forward-looking, including any projectionsof subscriber growth, earnings, revenues, or other financial items and any statements regarding strategies or plans of management forfuture operations, statements of belief, any statements concerning new, planned, or upgraded services or technology developments andcustomer contracts or use of our services.The risks and uncertainties referred to above include – but are not limited to – risks associated with developing and delivering newfunctionality for our service, our new business model, our past operating losses, possible fluctuations in our operating results and rate ofgrowth, interruptions or delays in our Web hosting, breach of our security measures, risks associated with possible mergers andacquisitions, the immature market in which we operate, our relatively limited operating history, our ability to expand, retain, and motivateour employees and manage our growth, new releases of our service and successful customer deployment, our limited history resellingnon-salesforce.com products, and utilization and selling to larger enterprise customers. Further information on potential factors that couldaffect the financial results of salesforce.com, inc. is included in our annual report on Form 10-K for the most recent fiscal quarter endedJuly 31, 2011. This document and others are available on the SEC Filings section of the Investor Information section of our Web site.Any unreleased services or features referenced in this or other press releases or public statements are not currently available and maynot be delivered on time or at all. Customers who purchase our services should make the purchase decisions based upon features thatare currently available. Salesforce.com, inc. assumes no obligation and does not intend to update these forward-looking statements.
    38. 38. Spreadsheet Versus Application
    39. 39. Business Logic Workflows & Approvals Chatter Apex & Visualforce Enterprise API’s
    40. 40. Declarative ApplicationsCreating business applications without programmatic code
    41. 41. Formula FieldsOperations for performing common logic
    42. 42. Excel style formulasSupport for commons functions Math Text Date & Time LogicalCan chain functions together:AND ( OR ( ISPICKVAL(StageName, "Closed Won"), ISPICKVAL(StageName, "Negotiation/Review")), ISBLANK(Delivery_Date__c) )
    43. 43. Validation RulesFormulas which block data entry if evaluated as true
    44. 44. IF ERROR? THENRecord is saved Formula Return error evaluates to message true
    45. 45. WorkflowsEvent based business logic
    46. 46. When this happens Meets this Criteria?Perform These Actions
    47. 47. Update OutboundEmail Task Field Message
    48. 48. ApprovalsSystem to route approvals through an organization
    49. 49. Define CriteriaTrack Approval History
    50. 50. Single/Multi/Skip step processesRoute based on roles, or queuesApproval via emails or Chatter
    51. 51. ChatterSocial framework for the enterprise
    52. 52. CHATTER DEMO
    53. 53. Chatter Security Home Tab / Profile Page Record Detail Page Only users with Every internal user can see what “Read” access to the you post record can see what you post
    54. 54. TUTORIALS 3 & 4http://bit.ly/brasilportal-rj
    55. 55. LUNCH:Room 119To the left, down the stairs
    56. 56. APEX + VISUALFORCEJoshua Birk, Developer Evangelist@joshbirk
    57. 57. Safe HarborSafe harbor statement under the Private Securities Litigation Reform Act of 1995: This presentation may contain forward-lookingstatements that involve risks, uncertainties, and assumptions. If any such uncertainties materialize or if any of the assumptions provesincorrect, the results of salesforce.com, inc. could differ materially from the results expressed or implied by the forward-lookingstatements we make. All statements other than statements of historical fact could be deemed forward-looking, including any projectionsof subscriber growth, earnings, revenues, or other financial items and any statements regarding strategies or plans of management forfuture operations, statements of belief, any statements concerning new, planned, or upgraded services or technology developments andcustomer contracts or use of our services.The risks and uncertainties referred to above include – but are not limited to – risks associated with developing and delivering newfunctionality for our service, our new business model, our past operating losses, possible fluctuations in our operating results and rate ofgrowth, interruptions or delays in our Web hosting, breach of our security measures, risks associated with possible mergers andacquisitions, the immature market in which we operate, our relatively limited operating history, our ability to expand, retain, and motivateour employees and manage our growth, new releases of our service and successful customer deployment, our limited history resellingnon-salesforce.com products, and utilization and selling to larger enterprise customers. Further information on potential factors that couldaffect the financial results of salesforce.com, inc. is included in our annual report on Form 10-K for the most recent fiscal quarter endedJuly 31, 2011. This document and others are available on the SEC Filings section of the Investor Information section of our Web site.Any unreleased services or features referenced in this or other press releases or public statements are not currently available and maynot be delivered on time or at all. Customers who purchase our services should make the purchase decisions based upon features thatare currently available. Salesforce.com, inc. assumes no obligation and does not intend to update these forward-looking statements.
    58. 58. Business Logic Workflows & Approvals Chatter Apex & Visualforce Enterprise API’s
    59. 59. Model View ControllerApplication design paradigm to divide data, logic and UI
    60. 60. ApexCloud based programming language
    61. 61. Apex Anatomy  Class and Interface basedpublic with sharing class myControllerExtension implements Util {  Scoped Variables private final Account acct; public Contact newContact {get; set;} public myControllerExtension(ApexPages.StandardController stdController) { this.acct = (Account)stdController.getRecord(); } public PageReference associateNewContact(Id cid) { newContact = [SELECT Id, Account from Contact WHERE Id =: cid LIMIT 1]; newContact.Account = acct; update newContact; }  Inline SOQL}  Inline DML
    62. 62. Controllers Custom API and Inbound/Outbound HTTP Callouts Email Services Triggers Scheduled and Batched Tasks
    63. 63. Trigger Anatomy  Object Definition  Event Definitiontrigger HelloWorldTrigger on Book__c (before insert) { Book__c[] books = Trigger.new; BooksUtil.applyProcessing(books);}  Trigger.old and new  Bulkify code
    64. 64. Chatter Triggers if(feed_text == „promote‟) { rec.status__c = “Approved” addToEmailPromotion(rec); FeedItem post = new FeedItem(); post.ParentId = rec.Id; post.Body = „Record added to promotion‟; feedsToInsert.addITem(post);
    65. 65. DEVELOPER CONSOLE DEMO
    66. 66. VisualforceCloud based component framework for interfaces
    67. 67. Visualforce Anatomy  StandardControllers Custom Controllers Custom Extensions<apex:page StandardController=“Contact” extensions=“duplicateUtilty” action=“{!checkPhone}”>  Data bound components <apex:form>  Controller Callbacks <apex:outputField var=“{!Contact.FirstName}” > <apex:outputField var=“{!Contact.LastName}” /> <apex:inputField var=“{!Contact.Phone}” /> <apex:commandButton value=“Update” action=“{!quicksave}” /> <apex:form></apex>
    68. 68. JavaScript Remoting  Access Apex from JavaScript  Asynchronous Responses @RemoteAction public static String updateMerchandiseItem(String productId, Integer newInventory) { List<Merchandise__c> m = [SELECT Id, Total_Inventory__c from Merchandise__c WHERE if(m.size() > 0) { m[0].Total_Inventory__c = newInventory; Apex try { update m[0]; Visualforce j$(".updateBtn").click(function() { return Item Updated; } catchid = j$(this).attr(data-id); var (Exception e) { var inventory = parseInt(j$("#inventory"+id).val()); return e.getMessage(); } j$.mobile.showPageLoadingMsg(); } MobileInventoryExtension.updateMerchandiseItem(id,inventory,handleUpdate); }); else { return No item found with that ID; } }}
    69. 69. Email Templates Embed in Page Layouts Generate PDFs Mobile Interfaces Page Overrides
    70. 70. Chatter Components chatter:follow chatter:newsfeed chatter:feed chatter:followers chatter:feedAndFollowers
    71. 71. MOBILE VF DEMO
    72. 72. Salesforce MobileNo additional development, admin configured and controlledMobile HTML ApplicationWeb development skills required, easily made for multiple devicesand screensMobile SDK DevelopmentOffers access to device functionality and cancreate the most fast performing applications
    73. 73. Salesforce MobileNo additional development, admin configured and controlledMobile HTML ApplicationWeb development skills required, easily made for multiple devicesand screensMobile SDK DevelopmentOffers access to device functionality and cancreate the most fast performing applications
    74. 74. TUTORIAL #9 http://bit.ly/brazilweek ORhttp://bit.ly/mobilevf-tutorial http://bit.ly/wareutil http://bit.ly/vfchart http://bit.ly/mvf-phonegap
    75. 75. INTEGRATION + HEROKUJoshua Birk, Developer Evangelist@joshbirk
    76. 76. Safe HarborSafe harbor statement under the Private Securities Litigation Reform Act of 1995: This presentation may contain forward-lookingstatements that involve risks, uncertainties, and assumptions. If any such uncertainties materialize or if any of the assumptions provesincorrect, the results of salesforce.com, inc. could differ materially from the results expressed or implied by the forward-lookingstatements we make. All statements other than statements of historical fact could be deemed forward-looking, including any projectionsof subscriber growth, earnings, revenues, or other financial items and any statements regarding strategies or plans of management forfuture operations, statements of belief, any statements concerning new, planned, or upgraded services or technology developments andcustomer contracts or use of our services.The risks and uncertainties referred to above include – but are not limited to – risks associated with developing and delivering newfunctionality for our service, our new business model, our past operating losses, possible fluctuations in our operating results and rate ofgrowth, interruptions or delays in our Web hosting, breach of our security measures, risks associated with possible mergers andacquisitions, the immature market in which we operate, our relatively limited operating history, our ability to expand, retain, and motivateour employees and manage our growth, new releases of our service and successful customer deployment, our limited history resellingnon-salesforce.com products, and utilization and selling to larger enterprise customers. Further information on potential factors that couldaffect the financial results of salesforce.com, inc. is included in our annual report on Form 10-K for the most recent fiscal quarter endedJuly 31, 2011. This document and others are available on the SEC Filings section of the Investor Information section of our Web site.Any unreleased services or features referenced in this or other press releases or public statements are not currently available and maynot be delivered on time or at all. Customers who purchase our services should make the purchase decisions based upon features thatare currently available. Salesforce.com, inc. assumes no obligation and does not intend to update these forward-looking statements.
    77. 77. Business Logic Workflows & Approvals Chatter Apex & Visualforce Enterprise API’s
    78. 78. OAuthIndustry standard method of user authentication
    79. 79. OAuth2 Flow Sends App Credentials User logs in, Token sent to callback Remote Salesforce Application Confirms token Platform Send access token Maintain session with refresh token
    80. 80. REST APIHTTP based API
    81. 81. SOAP APIXML messaging and WSDL based API
    82. 82. Bulk APIAsynchronous API for handling large datasets
    83. 83. Streaming APIBayeux implementation for real-time delivery of data
    84. 84. Extend and Market Heroku AppExchange
    85. 85. Polyglot FrameworkPaaS allowing for the deployment of multiple languages
    86. 86. Github Repo Heroku Pull / Push Push DeploymentsDevelopment Changes Monitor Application Local Repo $ git push heroku master Counting objects: 67, done. Delta compression using up to 4 threads. Compressing objects: 100% (53/53), done. Writing objects: 100% (67/67), 26.33 KiB, done. Total 67 (delta 5), reused 0 (delta 0)
    87. 87. HEROKU DEMO
    88. 88. THANK YOU
    89. 89. Double-click to enter title The Wrap UpDouble-click to enter text
    90. 90. http://bit.ly/brasildevweek-fp
    91. 91. Double-click to enter title Double-click to enter text@forcedotcom @joshbirk@reidcarlberg larimaryprairie@eddyrperezbrasildevweek
    92. 92. Double-click to enter titleA Become Developer User Group LeaderDouble-click to enter text Email: Eddy Perez <eduardo.perez@salesforce.com>
    93. 93. Double-click to enter title Double-click to enter text http://developer.force.com http://youtube.com/salesforce http://appexchange.com http://salesforce.stackexchange.com #askforcehttp://webchat.freenode.net/?channels=salesf orce
    94. 94. simplicityis the ultimateform ofsophistication Da Vinci

    ×