Architecting solutions
          connecting to LOB applications
Presented by:
                                                                       Hosted by:
                                                               Vikram Rajkondawar
                                                                  Architect Advisor
Ashvini Shahane (Head Strategic Service Unit - Synergetics)
                                                              Microsoft Corporation
Discussion Points
• Need for connecting to External LOB systems
• Business Connectivity Services
• Building Composite solutions with BCS
  – OOB No Code solutions
  – Intermediate Declarative Solutions
  – Advanced Code Based Solutions
Challenges With Back End Data
Challenges With Back End Data
BDC 2007 - Connect to Business Data
• Connect SharePoint to any business application or
  structured database
• SharePoint Provides:
  – Business Data in Search
     • Crawl back-end systems like ERP, CRM, Custom Databases,
       SAP, Siebel, etc
  – Business Data Web Parts
     • Display back-end data
  – Business Data in Lists
     • Add business data as list columns and as document metadata
  – Business Data in User Profiles
     • Add business data as properties in User Profiles
BDC 2007 - Connect to Business Data

                                                            User                Custom
Web Parts            Lists               Search
                                                  Search
                                                           Profiles              Apps
                               List                                   Profile
                             Columns               Index              Store




                              Business Data Catalog                        Metadata


                              WS Proxy       ADO.NET




                              Web
                                             Database
                             Service

      BizTalk, SAP, Siebel, Legacy, …         SQL Server, Oracle, OLEDB, ODBC
Business Data Catalog – Summary
Connect to Business Data

Build Business Application with No-Code

Collaborate around Business Data

Search Business Data – Index and Query




 Business Data Catalog   Business Data Web Parts   Business Data Columns   Business Data Search
Feedback on 2007 BDC
• Read/Write
  – Read is nice… Write back would be even more
    powerful
• Tooling Support
  – Need an easier way to create, debug and maintain
    appdef XML files
• I wish it was baked into the Platform
• Wouldn’t it be nice to use offline?
Investment Areas
A bit of Terminology…

• Business Connectivity Services – All up
• Business Data Connectivity (BDC) – plumbing,
  runtime, connectivity
• External System – back ends
• External Content Type (ECT) - a building block,
  entity++
• Model – XML file
• External List – newest type of SP list
Business Connectivity Services
                Office Applications




Design              SharePoint
 Tools
External Content Types
          Describes the schema and data access
          capabilities of an external data source
          and its behavior within Office and
          SharePoint
          *formerly known as BDC Entity




                                             (Web Service, DB, .Net
                                          object, LOB system, Web 2.0
                                                  service, etc.)




           BCS-enabled solutions rely on ECTs to
           integrate external data into SharePoint
           and the Office client applications
External Content Type (ECT)

• Superset of entity capabilities; describes:
   – Structure of the external system (Fields, Methods, Connection)
   – How this data behaves within SharePoint and Office

• Manage and reuse from a central location

• Added to the Business Data Connectivity service through:
   – SharePoint Designer
   – Visual Studio 2010
   – Import into the Business Data Connectivity service as part of a
     model
External Content Type




       External Content
             Type
        Customer
         CustomerID
         FirstName
         LastName
         EmailAddress


            External data
BCS PRESENTATION INVESTMENTS
Presentation

     • Expose external data as a
       native SharePoint list
        – Full CRUD capability
        – Familiar UI and navigation
        – Sort, Filter, Group
        – Programmatic access via SPList
          OM
        – Profile page available for each
          item in the list
        – Form
            • Auto-generated OOB
            • Upsize to InfoPath
        – Offline-able
Presentation


    •   Connect to Outlook as
        –   Contacts
        –   Tasks
        –   Calendars
        –   Posts
Presentation

• External Data Columns
   – Add data from external content types to standard SharePoint lists
   – Can be made available as Content Controls in Word
• Web Parts
   Scenario: Use for Dashboard pages
   –   External Data List
   –   External Data Item
   –   External Data Item Builder
   –   External Data Related List
   –   External Data Connectivity Filter
   –   Chart Web Part
• External Data Search
   – Integrate External Data into search results
DEMO
SCENARIO
Contoso Sales Solution
Office Client                               External Systems




                        SharePoint Server
Solution Overview
Bring Customer data into SharePoint and Outlook
  • External Content Type
  • External List
  • Outlook integration


Connect Product data from SharePoint to SharePoint Workspace
  • External List
  • InfoPath Forms
  • SharePoint Workspace integration



Create a Sales Quote document in Word
  • External Data Column
  • Word Content Controls
BCS CONNECTIVITY INVESTMENTS
Connectivity




          External data
Connectivity
• Business Data Connectivity enhancements
   –   Read/write capability
   –   Claims aware
   –   Connect via ADO/SQL, WCF/WS, .Net Assembly and Custom Connectors
   –   Batch and bulk operation support
• BDC used for Search indexing connectors
   – Added blob, incremental crawl and item level Security
• Symmetrical server and client runtimes
   – Connect from client or server directly to external data
• Rich client cache
   – SQL CE database is used to cache external data
   – Allows for “cached mode” behavior on external data
BCS TOOLING INVESTMENTS
Tooling

•   Discover
    – Database
    – Web services
    – .NET type
•   Map operations
    – Create, read, update, delete,
      lookup
•   Connect to SharePoint/Office
    –   External List
    –   Contact
    –   Task
    –   Appointment
    –   Post
Tooling
Baked into the Platform…
Secure Store    External Data       Rich Client          BDC Client
  Service          Search           Extensions            Runtime

                           External Data
        Profile Pages
                            Web Parts




           External List                   External Data Column


                Business Data Connectivity Service
Solution Types, Tools
                   and Roles



             NO CODE*                CODE



Power User               Developer   Advanced Developer
Solution Types, Tools
                              and Roles


•   Surface data in External
    Lists
•   Connect those lists to
    Outlook, SPW
                                                               • Create reusable
                                                                 components (UI parts,
                                                                 ECTs, actions)

             Simple                     Intermediate                  Advanced

                             NO CODE*                                  CODE



Power User                                         Developer            Advanced Developer
Solution Types, Tools
                            and Roles

                                 • Customize
                                   • InfoPath forms
• Surface data in External         • Outlook taskpane and
  Lists                                ribbon
                                   •   Word (QuickParts)
• Connect those lists to           •   Workflow
  Outlook, SPW                     •   Web Part Pages
                                                                • Create reusable
                                                                  components (UI parts,
                                                                  ECTs, actions)

             Simple                    Intermediate                    Advanced

                           NO CODE*                                     CODE

                 SharePoint      SharePoint
                  Designer          SDK

Power User                                          Developer            Advanced Developer
SharePoint Designer and Visual Studio


Capability / Tool   SharePoint Designer 2010                        Visual Studio 2010

Connect to          Existing WCF, Sql Server, .Net         Any data source by creating .Net Assemblies
                    Assembly

Modeling Approach   Discover and Configure                 Create and Publish



Target Scenarios    Author “simple” models with OOB UX     - Author complex models with custom
                    (External Lists, Outlook, SharePoint   connectivity logic for aggregation,
                    Workspace, InfoPath, Search, simple    transformation, security, etc.
                    FK-based associations)                 - Author custom UX via VSTO customizations
                                                           - Author reusable rich and thin UI parts
                                                           (WebParts) that connect to External Data
SCENARIO FOR INTEGRATION
Customer Data Aggregation Scenario
                   SharePoint Server




                                       Data Aggregation




        .Net Data Service (REST)          Sql Database
Data Aggregation Scenario
SharePoint Server                      Office Client




                 Connect to Outlook




                                         BCS External
                                          Data Cache




                                      Customers
         Data Aggregation
Rich/Thin Solutions
          Packaging and Deployment                  Office Client


                                       Deploy and
                                       Update




                                                     SharePoint
                      Include in WSP                 Server

 Thin Client
Components
                    WSP
                   Package         Import
Why the Business Connectivity Services?
      Integrate other systems with SharePoint
         sites
      •   Reporting dashboards
      •   Line of business applications


      Integrate BCS data into hybrid Windows
      Forms Applications

      Search for data in other systems
      via the SharePoint Search service

      Save the time, cost, and monotony of
      writing yet another data layer!
SharePoint Composites
   Pervasive external data with Business Connectivity Services


                                                                                                    My Artists




                                 Artist Tracker > Artists




                     Contracts
                                 Artist Name                Address   City   State
                                                                                      Artist
                                                                                     Artist Name:                Mandible

                                 Deathrattle

                     Artists     Concourse
                                 Jay Hamlin Trio
                                 Down on the Bayou

                                 Andrew Datars Quartet
                                                                                     Agent:
                                 Concourse
                                 Stuck in the Mud
                                 Jay Hamlin Trio
                                 Tastes like chicken
                                 Down on the Bayou
                                 Mandible

                                 Concourse
QUESTIONS?

Architecting solutions connecting to lob applications

  • 1.
    Architecting solutions connecting to LOB applications Presented by: Hosted by: Vikram Rajkondawar Architect Advisor Ashvini Shahane (Head Strategic Service Unit - Synergetics) Microsoft Corporation
  • 2.
    Discussion Points • Needfor connecting to External LOB systems • Business Connectivity Services • Building Composite solutions with BCS – OOB No Code solutions – Intermediate Declarative Solutions – Advanced Code Based Solutions
  • 3.
  • 4.
  • 5.
    BDC 2007 -Connect to Business Data • Connect SharePoint to any business application or structured database • SharePoint Provides: – Business Data in Search • Crawl back-end systems like ERP, CRM, Custom Databases, SAP, Siebel, etc – Business Data Web Parts • Display back-end data – Business Data in Lists • Add business data as list columns and as document metadata – Business Data in User Profiles • Add business data as properties in User Profiles
  • 6.
    BDC 2007 -Connect to Business Data User Custom Web Parts Lists Search Search Profiles Apps List Profile Columns Index Store Business Data Catalog Metadata WS Proxy ADO.NET Web Database Service BizTalk, SAP, Siebel, Legacy, … SQL Server, Oracle, OLEDB, ODBC
  • 7.
    Business Data Catalog– Summary Connect to Business Data Build Business Application with No-Code Collaborate around Business Data Search Business Data – Index and Query Business Data Catalog Business Data Web Parts Business Data Columns Business Data Search
  • 8.
    Feedback on 2007BDC • Read/Write – Read is nice… Write back would be even more powerful • Tooling Support – Need an easier way to create, debug and maintain appdef XML files • I wish it was baked into the Platform • Wouldn’t it be nice to use offline?
  • 9.
  • 10.
    A bit ofTerminology… • Business Connectivity Services – All up • Business Data Connectivity (BDC) – plumbing, runtime, connectivity • External System – back ends • External Content Type (ECT) - a building block, entity++ • Model – XML file • External List – newest type of SP list
  • 11.
    Business Connectivity Services Office Applications Design SharePoint Tools
  • 12.
    External Content Types Describes the schema and data access capabilities of an external data source and its behavior within Office and SharePoint *formerly known as BDC Entity (Web Service, DB, .Net object, LOB system, Web 2.0 service, etc.) BCS-enabled solutions rely on ECTs to integrate external data into SharePoint and the Office client applications
  • 13.
    External Content Type(ECT) • Superset of entity capabilities; describes: – Structure of the external system (Fields, Methods, Connection) – How this data behaves within SharePoint and Office • Manage and reuse from a central location • Added to the Business Data Connectivity service through: – SharePoint Designer – Visual Studio 2010 – Import into the Business Data Connectivity service as part of a model
  • 14.
    External Content Type External Content Type Customer CustomerID FirstName LastName EmailAddress External data
  • 15.
  • 16.
    Presentation • Expose external data as a native SharePoint list – Full CRUD capability – Familiar UI and navigation – Sort, Filter, Group – Programmatic access via SPList OM – Profile page available for each item in the list – Form • Auto-generated OOB • Upsize to InfoPath – Offline-able
  • 17.
    Presentation • Connect to Outlook as – Contacts – Tasks – Calendars – Posts
  • 18.
    Presentation • External DataColumns – Add data from external content types to standard SharePoint lists – Can be made available as Content Controls in Word • Web Parts Scenario: Use for Dashboard pages – External Data List – External Data Item – External Data Item Builder – External Data Related List – External Data Connectivity Filter – Chart Web Part • External Data Search – Integrate External Data into search results
  • 19.
  • 20.
  • 21.
    Contoso Sales Solution OfficeClient External Systems SharePoint Server
  • 22.
    Solution Overview Bring Customerdata into SharePoint and Outlook • External Content Type • External List • Outlook integration Connect Product data from SharePoint to SharePoint Workspace • External List • InfoPath Forms • SharePoint Workspace integration Create a Sales Quote document in Word • External Data Column • Word Content Controls
  • 23.
  • 24.
    Connectivity External data
  • 25.
    Connectivity • Business DataConnectivity enhancements – Read/write capability – Claims aware – Connect via ADO/SQL, WCF/WS, .Net Assembly and Custom Connectors – Batch and bulk operation support • BDC used for Search indexing connectors – Added blob, incremental crawl and item level Security • Symmetrical server and client runtimes – Connect from client or server directly to external data • Rich client cache – SQL CE database is used to cache external data – Allows for “cached mode” behavior on external data
  • 26.
  • 27.
    Tooling • Discover – Database – Web services – .NET type • Map operations – Create, read, update, delete, lookup • Connect to SharePoint/Office – External List – Contact – Task – Appointment – Post
  • 28.
  • 29.
    Baked into thePlatform… Secure Store External Data Rich Client BDC Client Service Search Extensions Runtime External Data Profile Pages Web Parts External List External Data Column Business Data Connectivity Service
  • 30.
    Solution Types, Tools and Roles NO CODE* CODE Power User Developer Advanced Developer
  • 31.
    Solution Types, Tools and Roles • Surface data in External Lists • Connect those lists to Outlook, SPW • Create reusable components (UI parts, ECTs, actions) Simple Intermediate Advanced NO CODE* CODE Power User Developer Advanced Developer
  • 32.
    Solution Types, Tools and Roles • Customize • InfoPath forms • Surface data in External • Outlook taskpane and Lists ribbon • Word (QuickParts) • Connect those lists to • Workflow Outlook, SPW • Web Part Pages • Create reusable components (UI parts, ECTs, actions) Simple Intermediate Advanced NO CODE* CODE SharePoint SharePoint Designer SDK Power User Developer Advanced Developer
  • 33.
    SharePoint Designer andVisual Studio Capability / Tool SharePoint Designer 2010 Visual Studio 2010 Connect to Existing WCF, Sql Server, .Net Any data source by creating .Net Assemblies Assembly Modeling Approach Discover and Configure Create and Publish Target Scenarios Author “simple” models with OOB UX - Author complex models with custom (External Lists, Outlook, SharePoint connectivity logic for aggregation, Workspace, InfoPath, Search, simple transformation, security, etc. FK-based associations) - Author custom UX via VSTO customizations - Author reusable rich and thin UI parts (WebParts) that connect to External Data
  • 34.
  • 35.
    Customer Data AggregationScenario SharePoint Server Data Aggregation .Net Data Service (REST) Sql Database
  • 36.
    Data Aggregation Scenario SharePointServer Office Client Connect to Outlook BCS External Data Cache Customers Data Aggregation
  • 37.
    Rich/Thin Solutions Packaging and Deployment Office Client Deploy and Update SharePoint Include in WSP Server Thin Client Components WSP Package Import
  • 38.
    Why the BusinessConnectivity Services? Integrate other systems with SharePoint sites • Reporting dashboards • Line of business applications Integrate BCS data into hybrid Windows Forms Applications Search for data in other systems via the SharePoint Search service Save the time, cost, and monotony of writing yet another data layer!
  • 39.
    SharePoint Composites Pervasive external data with Business Connectivity Services My Artists Artist Tracker > Artists Contracts Artist Name Address City State Artist Artist Name: Mandible Deathrattle Artists Concourse Jay Hamlin Trio Down on the Bayou Andrew Datars Quartet Agent: Concourse Stuck in the Mud Jay Hamlin Trio Tastes like chicken Down on the Bayou Mandible Concourse
  • 40.