arizona sharepoint professionals group thomas baer senior consultant, statêra

16
http://www.azsharepointpros.com BUSINESS DATA CATALOG OVERVIEW Arizona SharePoint Professionals Group Thomas Baer Senior Consultant, Statêra [email protected]

Upload: aubrey-wright

Post on 06-Jan-2018

215 views

Category:

Documents


1 download

DESCRIPTION

Integrate other systems with SharePoint sites  Reporting dashboards  Line of business applications Integrate Business Data Catalog 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!

TRANSCRIPT

Page 1: Arizona SharePoint Professionals Group Thomas Baer Senior Consultant, Statêra

http://www.azsharepointpros.com

BUSINESS DATA CATALOG OVERVIEW

Arizona SharePoint Professionals Group

Thomas BaerSenior Consultant, Statê[email protected]

Page 2: Arizona SharePoint Professionals Group Thomas Baer Senior Consultant, Statêra

http://www.azsharepointpros.com

What is the business data catalog?

Surface data from back-end server applications with out any code

Metadata Model Describe the API of the business application

Applications registered by administrators

Page 3: Arizona SharePoint Professionals Group Thomas Baer Senior Consultant, Statêra

http://www.azsharepointpros.com

Why The Business Data Catalog?

Integrate other systems with SharePoint sites

Reporting dashboards Line of business applications

Integrate Business Data Catalog 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!

Page 4: Arizona SharePoint Professionals Group Thomas Baer Senior Consultant, Statêra

http://www.azsharepointpros.com

Typical Projects

Surface existing back end data in out-of-the-box Web parts

INTERMEDIATE ADVANCEDSIMPLE

Index data to make it searchable

Use columns

Create dashboards

Use custom code to integrate data inside

other applications

Page 5: Arizona SharePoint Professionals Group Thomas Baer Senior Consultant, Statêra

http://www.azsharepointpros.com

Overview of Components

Metadata

Business Data Catalog

Web Parts Lists Search User

ProfilesCustom Apps

Database

WS Proxy ADO.NET

Web Service

SQL Server, Oracle, OLEDB, ODBC

BizTalk Server, SAP, Siebel, Legacy, …

List store

SearchIndex

Profile Store

Page 6: Arizona SharePoint Professionals Group Thomas Baer Senior Consultant, Statêra

http://www.azsharepointpros.com

HOW DOES ONE CONNECT AN APPLICATION TO THE BDC?

Page 7: Arizona SharePoint Professionals Group Thomas Baer Senior Consultant, Statêra

http://www.azsharepointpros.com

DEVELOPMENT LIFECYCLEWRITE METADATA, NOT CODE

1. Analyst defines business requirements

2. IT Pro / developer writes and tests application definition (metadata)

3. IT Pro uploads application definition 4. Analyst builds solution using

business data features

Page 8: Arizona SharePoint Professionals Group Thomas Baer Senior Consultant, Statêra

http://www.azsharepointpros.com

Every MetadataObject has a Properties collectionBusiness Data Features make use of certain annotationsYou can extend the metadata for your own applications

Application DefinitionsProperties

<Entity Name=“Customer”> <Properties> <Property Name=“Title”>CustomerName</Property> </Properties> ...</Entity>

Page 9: Arizona SharePoint Professionals Group Thomas Baer Senior Consultant, Statêra

http://www.azsharepointpros.com

One method of an entity is designated the Finder, another the SpecificFinderFinder returns a collection of instances given a set of filtersSpecificFinder returns a single instance given a key

Application DefinitionsFinder Methods

<Entity Name=“Customer”> <Methods> <Method Name=“GetCustomer”> <MethodInstance Type=“Finder” ... /> ... </Method> </Methods></Entity>

Page 10: Arizona SharePoint Professionals Group Thomas Baer Senior Consultant, Statêra

http://www.azsharepointpros.com

Control the data finders returnAnnotations on a Method’s input parametersDeclare which inputs users can overrideVarious types: wildcard, exact match, …System filters allow BDC to securely set values, e.g., user token

Application DefinitionsFilters

<Method Name=“GetCustomer”> <FilterDescriptors> <FilterDescriptor Name=“Region” Type=“ExactMatch”/> </FilterDescriptors> <Parameters> <Parameter Name=“Region” Direction=“In”> <TypeDescriptor ... AssociatedFilter=“Region”/> ...</Method>

Page 11: Arizona SharePoint Professionals Group Thomas Baer Senior Consultant, Statêra

http://www.azsharepointpros.com

Model relationships between entitiesHas one or more source entities and one destination entityIs a method instanceTakes source instance(s) and returns a destination instance

Application DefinitionsAssociations

<Association Name=“CustomerToOrder“

AssociationMethodName=“GetOrdersByCustomer“> <SourceEntity Name=“Customer"/> <DestinationEntity Name=“Order"/></Association>

Page 12: Arizona SharePoint Professionals Group Thomas Baer Senior Consultant, Statêra

http://www.azsharepointpros.com

Full-text search any applicationBDC crawl protocol has two phases

ID Enumeration: Fetch all entity instance IDsDetail fetch: Fetch details for each instance

IDEnumerator returns the IDsSpecificFinder returns the details

Application DefinitionsIDEnumerators And Search

<Method Name=“GetCustomerIDs”> <Parameters> ... </Parameters> <MethodInstance Type=“IDEnumerator” ... /></Method>

Page 13: Arizona SharePoint Professionals Group Thomas Baer Senior Consultant, Statêra

http://www.azsharepointpros.com

Link, don’t replicateScenarios so far are read-only

Where should business logic reside?For writes, link to existing app UI, web forms, etc.Actions are links that travel everywhere with an entityUsers can take action in context

Application DefinitionsActions

<Entity> <Actions> <Action Name=“Edit” Url=“http://customerweb/edit.aspx”/> </Actions></Entity>

Page 14: Arizona SharePoint Professionals Group Thomas Baer Senior Consultant, Statêra

http://www.azsharepointpros.com

Use custom actions to take users to:Server-side InfoPath formsCustom ASP.NET pagesThe LOB vendor’s own Web interfaceBack to the business logic question

Logic probably already resides somewhere why duplicate

What About Write-back?

Page 15: Arizona SharePoint Professionals Group Thomas Baer Senior Consultant, Statêra

Demo

Page 16: Arizona SharePoint Professionals Group Thomas Baer Senior Consultant, Statêra

http://www.azsharepointpros.com