SharePoint Fest Denver - SharePoint 2010 Integration and Interoperability: What You Need To Know


Published on

Published in: Technology
1 Like
  • Be the first to comment

No Downloads
Total views
On SlideShare
From Embeds
Number of Embeds
Embeds 0
No embeds

No notes for slide
  • My dedication to you before I begin. By the end of this you will have gained 3 things. It might be new knowledge, it might be a new method but you MUST gain 3 things by the end. If you don’t my first challenge to you is to stalk me, hunt me down and make sure you get 3 things from me. Because I owe you 3 things! This is meant to help you. 
  • A lot of this can seem daunting and I know one of the hardest things is figuring out how to do some of the things I have shown today. If you are interested in further training or assistance please let me know. Based on the number of people who are interested and the areas of interest we can schedule further training sessions to help everyone better use the SharePoint portal.It's our commitment to you that we will continue to hear your feedback and identify the issues. I encourage you to give us feedback during the coming months, and we will continue to deliver more and more functionality, more and more guidance to help you be successful with your application of SharePoint.Thank You for Reading/Listening
  • SharePoint Fest Denver - SharePoint 2010 Integration and Interoperability: What You Need To Know

    1. 1. SharePoint 2010Integration and Interoperability:What you Need to Know<br />Presented By: Richard Harbridge<br />@rharbridge<br />
    2. 2. Who am I?<br />I<br />
    3. 3. Our Goal Today…<br />From Here To Here<br />
    4. 4. What we will be talking about…<br />Business Data Challenges<br />SharePoint’s Important Interoperability<br />What is the BCS?<br /><ul><li>External Content Types
    5. 5. External Columns
    6. 6. External Lists
    7. 7. Extensibilityand Tooling</li></ul>4. Demonstration<br />5. Limitations of BCS<br />Bonus!<br />
    8. 8. Business Data Challenges<br />
    9. 9. Business Data in an Enterprise<br />IT<br />High Integration Costs (Custom)<br />High Overhead (Maintenance, Security)<br />Quality<br />Financial<br />Customers<br />Operations<br />Suppliers<br />Quality<br />Financial<br />Customers<br />Operations<br />Suppliers<br />Redundant Data and Processes!<br />Users<br />High Training Costs<br />High Dissatisfaction<br />
    10. 10. Challengeswith Business Data<br />Direct Impact<br />Indirect Impact<br /><br /><br />
    11. 11. The Outcome<br />There are challenges that disparate and disconnected business data systems cause.<br />
    12. 12. What to watch out for…<br />No system, product or application can completely solve business data challenges.<br />
    13. 13. SharePoint’s Important Interoperability<br />
    14. 14. What the heck is Interoperability?<br />(IHN-tuhr-AHP-uhr-uh-BIHL-ih-tee)<br />“Interoperability is the ability of a system.. to work with other systems.. without special effort on the part of the customer.”<br />How?<br />
    15. 15. How do we achieve Interoperability?<br />1. By adhering to published interface standards. <br />Does SharePoint do this?<br />SPOILER ALERT!<br />2. By making use of a "broker" of services that can convert one system’s interface into another system’s interface "on the fly".<br />What about this one?<br />
    16. 16. SharePoint Interoperability<br />UI Platform<br />Identity Platform<br />Search Platform<br />Data Access Platform<br />Storage<br />External<br />Data<br />
    17. 17. Is it a UI Platform?<br />UI Platform<br />Identity Platform<br />Search Platform<br />Data Access Platform<br />Storage<br />External<br />Data<br />
    18. 18. Why would we use SharePoint as a User Interface Platform?<br />
    19. 19. Consistent User Experience Across Browsers<br />Well.. Almost.<br />
    20. 20. 1. By adhering to published interface standards. <br />It’s a UI Platform<br />HTML Standards<br />UI Platform<br />Identity Platform<br />Search Platform<br />Data Access Platform<br />Storage<br />External<br />Data<br />
    21. 21. A UI Platform Bonus?<br />Bonus!<br />HTML Standards<br />UI Platform<br />Identity Platform<br />Works in Office<br />Search Platform<br />Data Access Platform<br />Storage<br />External<br />Data<br />
    22. 22. Leverage Office and SharePoint Interface Familiarity<br />
    23. 23. Is it an Identity Platform?<br />HTML Standards<br />UI Platform<br />Identity Platform<br />Works in Office<br />Search Platform<br />Data Access Platform<br />Storage<br />External<br />Data<br />
    24. 24. Why would we use SharePoint as an Identity Platform?<br />
    25. 25. Because Claims is Awesome<br />Connect with 3rd Party Authentication Providers<br />Connecting with a Non Windows Integrated Authentication driven web site.<br />Delegation with Back-End Systems<br />Showing data from another server on a SharePoint web page.<br />
    26. 26. 1. By adhering to published interface standards. <br />Claims UsesConsistent Standards<br /><ul><li>WS-Federation 1.1</li></ul>Provides the architecture for a clean separation between trust mechanisms, security tokens formats, and the protocols for obtaining tokens.<br /><ul><li>WS-Trust 1.4</li></ul>Provides a method for assessing, requesting and receiving security tokens.<br /><ul><li>SAML Token 1.1</li></ul>XML vocabulary used to represent claims in an interoperable way.*<br /><ul><li> WS-Security… (various aspects)</li></ul> *Doesn’t actually support SAML Protocol (SAMLP)<br />
    27. 27. It’s an Identity Platform<br />HTML Standards<br />UI Platform<br />Identity Platform<br />Claims<br />Works in Office<br />Search Platform<br />Data Access Platform<br />Storage<br />External<br />Data<br />
    28. 28. Is it aSearch Platform?<br />HTML Standards<br />UI Platform<br />Identity Platform<br />Claims<br />Works in Office<br />Search Platform<br />Data Access Platform<br />Storage<br />External<br />Data<br />
    29. 29. Why would we use SharePoint as a Search Platform?<br />
    30. 30. Query a 3rd Party Search Engine Using SharePoint UI<br />Federate Queries to Multiple Search Systems…<br />
    31. 31. Index Content from a Range of Content Repositories<br />What does all of these?<br />_ _ _<br />B C S<br />B<br />Indexes Databases, Web Services or Custom Repositories<br />Provides Consistent Access to External Content<br />C<br />Has SharePoint Designer and Visual Studio Plug-ins<br />S<br />
    32. 32. A Search Platform Bonus!<br />Bonus!<br />HTML Standards<br />UI Platform<br />Identity Platform<br />Claims<br />Works in Office<br />Search Platform<br />Open Search<br />Data Access Platform<br />Storage<br />External<br />Data<br />
    33. 33. 1. By adhering to published interface standards. <br />Have you heard of OpenSearch?<br /><ul><li>Standard (Creative Commons) for syndication and aggregation of search results
    34. 34. Syntax for executing queries
    35. 35. Results returned in RSS/ATOM + extensions
    36. 36. Supported by Microsoft Search Server 2008</li></ul>Clients: Windows 7, IE, FireFox, Chrome, SharePoint …<br />Providers: Amazon, Flickr, Wikipedia, SharePoint…<br />
    37. 37. It is a Search Platform<br />HTML Standards<br />UI Platform<br />Identity Platform<br />Claims<br />Works in Office<br />Search Platform<br />Open Search<br />Data Access Platform<br />Storage<br />External<br />Data<br />
    38. 38. Is it a Data Access Platform?<br />HTML Standards<br />UI Platform<br />Identity Platform<br />Claims<br />Works in Office<br />Search Platform<br />Open Search<br />Data Access Platform<br />Storage<br />External<br />Data<br />
    39. 39. SharePoint Does a Great Job of Accessing SharePoint Content!<br />
    40. 40. What about External Systems and Content?<br />_ _ _<br />B C S<br />
    41. 41. A Data Access Platform Bonus!<br />Bonus!<br />x 2<br />HTML Standards<br />UI Platform<br />Identity Platform<br />Claims<br />Works in Office<br />Search Platform<br />Open Search<br />CMIS<br />Data Access Platform<br />REST<br />Storage<br />External<br />Data<br />
    42. 42. Content Management Interoperability Services<br /><ul><li>CMIS specification provides a Web services interface that:
    43. 43. Is designed to work over existing repositories enabling customers to build and leverage applications against multiple repositories—unlocking content they already have
    44. 44. Decouples Web services and content from the content management repository, enabling customers to manage content independently
    45. 45. Provides common Web services and Web 2.0 interfaces to dramatically simplify application development
    46. 46. Is development platform and language agnostic
    47. 47. Supports composite application development and mash-up by the business or IT analyst</li></ul>A platform that allows you to build against multiple technologies without knowing anything about how all the API’s work. (If you know CMIS.)<br />Microsoft has been implementing this from both a client and provider perspective.<br />Not available “in the box”. Available via SharePoint Admin Toolkit<br />
    48. 48. And then there’s REST<br />Access to SharePoint Lists and Document Libraries…<br /><ul><li>RESTful interface over HTTP
    49. 49. Uses the ADO.NET Data Services interface conventions
    50. 50. Feature rich: retrieve, update, browse data using just URLs and XML/JSON
    51. 51. Low barrier of entry. If you have an HTTP stack you can use it.</li></ul>Visual Studio Integration…<br /><ul><li>Entirely built on top of the open RESTful interface
    52. 52. No client is required
    53. 53. Visual Studio creates proxies, visualizes schemas, provides LINQ support etc.</li></li></ul><li>2. By making use of a "broker" of services that can convert one system’s interface into another system’s interface "on the fly".<br />SharePoint has Interoperability<br />HTML Standards<br />UI Platform<br />Identity Platform<br />Claims<br />Works in Office<br />Search Platform<br />Open Search<br />CMIS<br />Data Access Platform<br />OData<br />REST<br />Some might even say it has storage interoperability or that OData is a standard…<br />Storage<br />External<br />Data <br />But the coolest part of interoperability?<br />RBS<br />BCS<br />
    54. 54. The Outcome<br />SharePoint is a growing Interoperable UI, Identity, Search, and Data Access Platform.<br />
    55. 55. What to watch out for…<br />Remember this?<br />“Interoperability is the ability of a system to work with other systems without special effort on the part of the customer.”<br />without special effort <br />
    56. 56. What is the BCS?<br />
    57. 57. BCS External Data Benefits?<br />External Data<br />
    58. 58. You could look at this diagram…<br />SharePoint Client<br />BCS in Office Client<br />Identity Federation<br />service<br />BCS in SharePoint<br />BCS Meta<br />Data Store<br />BDC<br />Client Data<br />Cache<br />BDC<br />ASCustom<br />Connector<br />DB<br />Connector <br />WCF /WS<br />Connector<br />.NET Assembly<br />Connector <br />Client to Backend Direct Connection<br />External data<br />Persistence Store<br />Data Cubes<br />Custom .NET assembly<br />SAP<br />ORACLE<br />Siebel<br />SQL<br />
    59. 59. Or this simplified one…<br />
    60. 60. External Content Types<br />Describes:<br /><ul><li>Structure of the external system (Fields, Methods, Connection)
    61. 61. How this data behaves within SharePoint and Office</li></ul>Added to the BCS Service Through:<br /><ul><li>SharePoint Designer
    62. 62. Visual Studio 2010
    63. 63. Via an Import into the Business Data Connectivity Service as part of a model</li></ul>Manage and Re-Use from a Central Location<br />
    64. 64. External Lists<br />The external content type is leveraged in a variety of ways…<br />Such as for Exposing External Data as an External SharePoint List <br />Full CRUD capability <br />Familiar UI and Navigation<br />Sort, Filter, Group<br />Programmatic Access via SPList OM<br />Profile Page for Each Item<br />Form<br />Auto-generated OOB<br />Upsize to InfoPath<br />Can be Taken “Offline”<br />
    65. 65. Offline Lists<br />External Lists also be leveraged as Offline “Lists”<br />They can be Downloaded to a SharePoint Workspace as Lists or Word Document Libraries with External Data Columns<br />Or Connected to Outlook as Contacts, Tasks, Calendars and Posts<br />
    66. 66. Office Applications and Search<br />External Content Types can also be leveraged in…<br />Or Leveraged to allow for External Data Searching or Filtering<br />Many other Office Applications (or Custom Applications)<br />w/ Code<br />
    67. 67. Bonus! Integration Webparts<br />Bonus!<br />Integration Webparts<br />Web Parts<br />External Data List <br />External Data Item<br />External Data Item Builder<br />External Data Related List<br />External Data Connectivity Filter<br />Chart Web Part (New)<br />w/ Code<br />
    68. 68. Didn’t those webparts work with the BDC?<br />
    69. 69. So what’s different? (Besides the Chart Control?)<br />Read/Write Capability<br />Claims Aware<br />Connect via ADO/SQL, WCF/WS, .Net Assembly and Custom Connectors<br />Batch and Bulk Operation Support<br />BDC is still used for search indexing connectors in 2010 they added blob, incremental crawl and item level security.<br />They added symmetrical server and client runtimes. Allowing them to connect from client or server directly to external data.<br />SQL CE database is used to cache external data which allows for “cached mode” behavior on external data basically creating a rich client cache.<br />
    70. 70. How do I actually build it out?<br />
    71. 71. Where things fit.<br />Custom<br /><ul><li>Custom connectivity for data aggregation, transformation, security, etc.
    72. 72. Use Custom Code to Integrate Data into any Office Application
    73. 73. Business Logic In Forms
    74. 74. Create Reusable Components (UI parts, ECTs, Actions)</li></ul>Customize<br /><ul><li>InfoPath Forms
    75. 75. Workflow
    76. 76. Web Part Pages
    77. 77. Outlook Taskpane and Ribbon</li></ul>Out-of-box<br /><ul><li>Surface data in External Lists
    78. 78. Connect those lists to Outlook, SPW
    79. 79. External Data Columns</li></ul>Intermediate<br />Simple<br />Advanced<br />NO CODE<br />“NO CODE”<br />CODE<br />SharePoint Designer<br />SharePoint SDK<br />Visual<br />Studio<br />Developer<br />Power User<br />Advanced Developer<br />
    80. 80. SharePoint Designer Process<br />Discover your Data Source<br /><ul><li>Database
    81. 81. Web services
    82. 82. .NET type</li></ul>Map Operations to Data Source<br /><ul><li>Create, read, update, delete, lookup</li></ul>Connect to SharePoint and/or Office <br /><ul><li>External List
    83. 83. Contact
    84. 84. Task
    85. 85. Appointment
    86. 86. Post</li></li></ul><li>Visual Studio Process<br /><ul><li>Upsize IT Solutions Created in SharePoint Designer
    87. 87. Create Connectivity Packs in Visual Studio to
    88. 88. Aggregate data across multiple back-end systems
    89. 89. Perform custom data transformations
    90. 90. Execute custom business logic/rules (trigger workflow)
    91. 91. Bring External Data into other Office clients with VSTO Add-Ins (Excel)</li></ul>w/ Code<br />
    92. 92. Suggested Life Cycle<br />
    93. 93. BCS Support Matrix<br />N/A<br />x<br />x<br />In code<br />In code<br />In code<br />In code<br />In code<br />
    94. 94. SharePoint Designer and Visual Studio<br />Author External Content Types and Profile Pages<br /><ul><li>External Content Type Designer</li></ul>Connect to existing WCF/Web Services, Sql Server or .Net Assemblies<br />Connect to virtually any data source through custom .Net code<br />Data Connectivity<br />Integrate External Data in WF<br /><ul><li>Workflow Designer</li></ul>Generate and Author External Lists and InfoPath Forms<br /><ul><li>Lists and Forms Designer</li></ul>SharePoint and Office<br />Office Add-in Projects<br /><ul><li>Extend Office apps through BCS-aware code add-ins and reusable components</li></li></ul><li>SharePoint Designer and Visual Studio<br />
    95. 95. The Outcome<br />The BCS has a bunch of new capabilities bundled with some old enhanced BDC ones.<br />
    96. 96. What to watch out for…<br />Selecting the right tool is important. Practice makes perfect.<br />
    97. 97. That’s a lot of information! <br />
    98. 98.
    99. 99. Demo!<br />
    100. 100. Inventory Example<br />
    101. 101. Inventory Example<br />
    102. 102. Inventory Example<br />
    103. 103. Permissions<br />x<br />x<br />x<br />x<br />
    104. 104. The Outcome<br />You saw how the BCS can be leveraged in SharePoint Designer and in the SharePoint UI.<br />
    105. 105. What to watch out for…<br />Don’t assume the tools will significantly reduce the time it takes to ‘integrate’. It typically reduces time to ‘interface’.<br />
    106. 106. What are BCSLimitations?<br />
    107. 107. General BCS Limitations<br />BLOB<br /><ul><li>No Write support for BLOB
    108. 108. You cannot write back to BLOB fields using BCS unless you write your own method.
    109. 109. You can access BLOB columns by defining a StreamAccessor method and presenting the external data via the BCS Data List web part by checking the Display stream fieldsproperty.</li></li></ul><li>External List Limitations<br /><ul><li>Workflows cannot be associated with external lists
    110. 110. Workaround: You can use the external data columns and manipulate it that way.
    111. 111. NoRSS feed support for external lists
    112. 112. No REST based access for external lists
    113. 113. http://sharepoint/_vti_bin/ListData.svc does not support external lists
    114. 114. LINQ to SharePoint spmetal.exe does not support external lists
    115. 115. Cannot configurealerts for external lists
    116. 116. Cannot export external list items to Excel (using the Export to Excel feature), Create Visio Diagram, Open with Access or Open with Project
    117. 117. Versioningcannot be configured on external lists
    118. 118. Version History is not available on external lists
    119. 119. Datasheet view cannot be used in external lists
    120. 120. XSLT is Supported (So you can basically make your own.)</li></ul>External Lists<br />
    121. 121. External List Limitations Continued…<br /><ul><li>Ratings feature is not supported for external lists
    122. 122. Information policies cannot be configured on external lists
    123. 123. Item-Level permissions are not available for external lists
    124. 124. No item or field level validation (without InfoPath)
    125. 125. Lookups don’t work on any column but ID
    126. 126. No attachments.</li></ul>External Lists<br />
    127. 127. Bonus!<br />Bonus! External Column Limitations<br /><ul><li>You cannot create a site column of type ‘External Data Column’
    128. 128. External data columns can be created only as list based columns and cannot be consumed in site level content types</li></li></ul><li>Some Data Types Not Supported<br /><ul><li>No support for structs that are not simple types. (Do not use non-primitive structs.)
    129. 129. No nested collections (array of arrays etc)
    130. 130. No support for multi dimension arrays
    131. 131. BDC only works with .Net 3.5 - No dynamic programming in .Net 4
    132. 132. No support for ICollection or IEnumerableinterfaces to represent collections in data structures (ICollection<T>, IEnumerable<T>, IList<T>…)</li></ul><br />
    133. 133. The Outcome<br />You now know more about the limitations of BCS and will make fewer assumptions.<br />
    134. 134. What to watch out for…<br />Some of the many limitations mentioned make sense. Think carefully before you build a ‘workaround’.<br />
    135. 135. What we talked about…<br />Business Data Challenges<br />SharePoint’s Important Interoperability<br />What is the BCS?<br />External Content Types<br />External Columns<br />External Lists<br />Extensibility and Tooling<br />Limitations of BCS<br />The Challenges Aren’t All Technology Challenges<br />Interface, Identity, Search and Data Access Platform<br />A Set of Powerful Connection Capabilities<br />Structured Types of External Content<br />Leveraging External Content with Internal Content<br />Interact Like SharePoint Lists<br />Extensibility/Tool Range from UI to SPD to VS 2010<br />Good Enough and Better than Most Options<br />
    136. 136. Thank You – Fill Out Your Eval! Organizers, Sponsors andYoufor Making this Possible.<br /><ul><li>Twitter: @rharbridge
    137. 137. Blog:
    138. 138. LinkedIn:
    139. 139. Email me at:
    140. 140. My company:
    141. 141. Assessments:</li>