business connectivity services: новые возможности

50
Business Connectivity Services: новые возможности Баум Виталий Sr. SharePoint Developer Conteq

Upload: seth

Post on 06-Feb-2016

46 views

Category:

Documents


0 download

DESCRIPTION

Business Connectivity Services: новые возможности. Баум Виталий Sr. SharePoint Developer Conteq. Содержание. Обзор Business Connectivity Services (BCS) Обзор инструментов для работы с BCS Демо Приложение для работы с покупками Прикладные навыки. Business Connectivity Services (BCS). - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: Business Connectivity Services:  новые возможности

Business Connectivity Services: новые возможностиБаум ВиталийSr. SharePoint DeveloperConteq

Page 2: Business Connectivity Services:  новые возможности

Содержание

Обзор Business Connectivity Services (BCS)Обзор инструментов для работы с BCSДемо

Приложение для работы с покупками

Прикладные навыки

Page 3: Business Connectivity Services:  новые возможности

Business Connectivity Services (BCS)Обзор

Page 4: Business Connectivity Services:  новые возможности

Microsoft SharePoint 2010Платформа бизнесс-взаимодействия для предприятий и Интернета

Расширенное взаимодействие

Унифицированная инфраструктура

Реагирование на потребности бинесса

Communities

Search

Sites

Composites

ContentInsights

Search

Sites

Composites

ContentInsights

Page 5: Business Connectivity Services:  новые возможности

Быстрое построение решений

Расширение возможностей ваших данных

Контроль над прикладными решениями

SharePoint CompositesПредоставляет возможности для построения решений без кодирования с учётом функционала и контроля

Communities

Search

Sites

Composites

ContentInsights

Search

Sites

ContentInsights

Composites

Page 6: Business Connectivity Services:  новые возможности

Business Connectivity Services

Out-of-box возможностиСервисыУтилиты

Расширенный SharePoint

ИнтеграцияВнешние данные и

сервисы

Оптимизированные решения

Page 7: Business Connectivity Services:  новые возможности

SharePointDesign Tools

Office Applications

BCS Client

Business Data Connectivity

External Content Type Repository

External Lists

Dev Platform

Enterprise Search

Business Intelligence

Collaboration Social

Enterprise Content

Management

Web 2.0DBWCFWeb ServiceLOB

SharePointDesigner

Visual Studio

Business Connectivity Services

Page 8: Business Connectivity Services:  новые возможности

Области расширения

Расширение интерфейса пользователя Office и SharePoint для взаимодействия с внешними данными

Представления

Чтение и запись данных из различных хранилищ (DB, WCF/WebService, .NET типы)

Коммуникаций

Интегрированные приложения для выполнения всего ряда работ от кастомизации до разработки сложных решений с дистрибуцией

Прикладной

Page 9: Business Connectivity Services:  новые возможности

Внешние типы содержимого

Office Clients (Rich)

SharePoint (Thin)

External Content Type (ECT)

Внешние данные(Web Service, DB, .Net

object, LOB system, Web 2.0 service, etc.)

BCS

BCSРешения на базе BCS и внешних типов содержимого позволяют интегрировать данные в SharePoint и Office

Описывает схему внешних данных и правила взаимодействия с Office и SharePoint

*так же известный как BDC Entity

Строительные блоки

Page 10: Business Connectivity Services:  новые возможности

Утилиты для построения решений на BCS

Page 11: Business Connectivity Services:  новые возможности

Типы решений, утилитыи роли

SharePoint Designer

Advanced Developer

SharePoint SDK

VisualStudio

DeveloperPower User

БЕЗ КОДА* С КОДОМ

Page 12: Business Connectivity Services:  новые возможности

Типы решений, утилитыи роли

Требует навыков СложноПросто

• Кастомизация• Формы InfoPath• Риббон и панель

задач Outlook• Word (QuickParts)• Workflow• Страницы веб-

частей

• Аггрегация, трансформация и обеспечение безопасности данных• Создание

дополнительных решений для интеграции в Office• Создание бизнесс-

логики в формах• Создание

повторно используемых компонент

• Работа с данными во внешних списках

• Подключение внешних списков к Outlook, SPW

SharePoint Designer

SharePoint SDK

DeveloperPower User

БЕЗ КОДА*

Advanced Developer

VisualStudio

С КОДОМ

Page 13: Business Connectivity Services:  новые возможности

Требует навыковПросто

• Кастомизация• Формы InfoPath• Риббон и панель

задач Outlook• Word (QuickParts)• Workflow• Страницы веб-

частей

• Работа с данными во внешних списках

• Подключение внешних списков к Outlook, SPW

SharePoint Designer

SharePoint SDK

DeveloperPower User

БЕЗ КОДА*

Сложно

• Аггрегация, трансформация и обеспечение безопасности данных• Создание

дополнительных решений для интеграции в Office• Создание бизнесс-

логики в формах• Создание

повторно используемых компонент

Advanced Developer

VisualStudio

С КОДОМ

Типы решений, утилитыи роли

Page 14: Business Connectivity Services:  новые возможности

Подходы к построению решений

Power User

SharePoint Designer

Developer

VisualStudio

SharePoint

Designer

SDK

Разработка на одной машинеСоздание используемых типов содержимого для различных источников данных, используя .NetРасширение и создание элементов управления для Office и SharePoint

Клиент-Серверная средаСоздание приложений для подключения к существующим источникам данных (без кода) (WCF, Sql Server и .Net типы)Настройка элементов управления и форм InfoPath

IT AdminProduction

EnvironmentСозданиеWSP

Import & Configure

SharePoint Server(Shared, Dev/Prod)

“Live” ConnectionExport, Import

& Configure

Page 15: Business Connectivity Services:  новые возможности

Data

Connect

ivit

yShare

Poin

t and O

ffice

Clie

nts

UX

Обзор утилитВозможности

SharePoint Designer 2010

Visual Studio 2010 SDK

Создание Внешних Типов Содержимого и Профильных страниц• Дизайнер ECT

Интеграция вн. данных в WF• Дизайнер WorkflowСоздание внешних списков и форм InfoPath• Дизайнер списков и форм

Расширения для Office• Написание расширений для Office

Расширение Outlook• Расширение риббона и панели

задач Outlook

Дополнительные примеры и утилиты

Подключение к существующим WCF/Web Services, Sql Server

или .Net

Подключение к любым данным через .Net код

Page 16: Business Connectivity Services:  новые возможности

Приложение для работы с покупками

Демо

Page 17: Business Connectivity Services:  новые возможности

SharePoint Server

Список Products

WCF ServiceData Aggregation

ProductsExternal Content

Type

ProductsExternal List

PlansSql Database

CurrencyRESTful

Page 18: Business Connectivity Services:  новые возможности

SharePoint Server Office Client

Data Aggregation Scenario

ContactsExternal List

BDC AssemblyData Aggregation

ContactECT

Connect to Outlook

BCS External Data Cache

Contacts

ContactsECT

Contacts asOutlook Contacts

Contacts Listin Excel

ContactContact Info

ContactSales Info

Page 19: Business Connectivity Services:  новые возможности

BCS для Office и SharePoint Упаковка и дистрибуция

Реш

ен

ия д

ля B

CS

Компоненты для Office

Компоненты для

SharePoint

ClickOnce пакет

WSPпакет

SharePointServer

Импорт

Установка и обновление

Включён в WSP

Клиент Office

Page 20: Business Connectivity Services:  новые возможности

SharePoint Designer и Visual StudioИтог

Возможности SharePoint Designer 2010 Visual Studio 2010

Соединения К существующим WCF, Sql Server, .Net Assembly

К любым источникам данных через .Net Assemblies

Моделирование Изучение и настройка Создание и публикация

Типовые сценарии Создание простых моделей и элементов управления (Внешние списки, Outlook, SharePoint Workspace, InfoPath, Поиск, Ассоциации)

- Создание сложных моделей с учётом аггрегации, трансформации и безопасности данных- Расширение базовых возможностей Office через VSTO- Создание элементов управления для Office и SharePoint (Веб-части для BDC)

Ограничения -Источники данных должны соответствовать требованиям-Дополнительные, пакетные операции-Разнородные сервисы-Связи по внешнему ключу

- Визуальный дизайнер только для можелей на основе .Net- Различия в установке для Office и SharePoint

Page 21: Business Connectivity Services:  новые возможности

Прикладные навыкиПолная интеграция

Page 22: Business Connectivity Services:  новые возможности

BCS на мобильных устройствах

Специальное представление для мобильных устройств доступно и для внешних данных

Page 23: Business Connectivity Services:  новые возможности

Способы подключения

Page 24: Business Connectivity Services:  новые возможности

Способы подключения

SQL ServerWCF.NET AssemblyОстальные источники данных

Page 25: Business Connectivity Services:  новые возможности

SQL Server

Microsoft SQL ServerПолная поддержка в SharePoint DesignerПростота создания внешний типов содержимого

Oracle, MySQL, ODBCНет поддержки в SharePoint DesignerРучное редактирование ADF

Page 26: Business Connectivity Services:  новые возможности

Web services

WCF ServicesПолная поддержка в SharePoint DesignerПростота создания внешний типов содержимого

REST ServicesНет поддержки в SharePoint DesignerРучное редактирование ADF

Page 27: Business Connectivity Services:  новые возможности

.NET Assemblies

.NET Assembly ConnectorСоздание специфичных, часто денормализованных данных, предназначенных для представленияВозможность предоставления точек конфигурирования

Page 28: Business Connectivity Services:  новые возможности

Остальные источники

Большинство потребностей подключения к современным типам данных поддерживается на платформе .NET

Page 29: Business Connectivity Services:  новые возможности

Прикладные навыкиОбъектная модель

Page 30: Business Connectivity Services:  новые возможности

Объектная модель: Чтение

// get the catalog of entities to work with... BdcService service = SPFarm.Local

.Services.GetValue<BdcService>(); IMetadataCatalog catalog = service

.GetDatabaseBackedMetadataCatalog(SPServiceContext.Current);

Page 31: Business Connectivity Services:  новые возможности

Объектная модель: Чтение

// get the Employee external content type... IEntity entity = catalog

.GetEntity("http://localhost", "Employees");// get the filters for the default Finder method IFilterCollection filters = entity

.GetDefaultFinderFilters();// if FirstNameTextbox has a value set the filter value... if (FirstNameTextbox.Text != string.Empty) {     WildcardFilter filter = (WildcardFilter)filters[0];     filter.Value = FirstNameTextbox.Text; }

Page 32: Business Connectivity Services:  новые возможности

Объектная модель: Чтение

// return the filtered data using the default Finder method... IEntityInstanceEnumerator enumerator = entity

.FindFiltered(filters, entity.GetLobSystem().GetLobSystemInstances()[0].Value);

DataTable table = null;// loop through the data returned while (enumerator.MoveNext()) {     // first time setup the datatable, everytime there after add a row...     if (table == null)         table = enumerator.Current.EntityAsDataTable;     else         enumerator.Current.EntityAsDataRow(table);       }

Page 33: Business Connectivity Services:  новые возможности

Объектная модель: Создание

//Create a new customer modelModel customerModel = Model.Create("CustomerModel", true, catalog);

//Make a new Customer LobSystemLobSystem awLobSystem = customerModel.OwnedReferencedLobSystems.Create("Customer", true, SystemType.Database);

//Make a new AdventureWorks LobSystemInstanceLobSystemInstance awLobSystemInstance = awLobSystem.LobSystemInstances.Create("AdventureWorks", true);

//Set the connection propertiesawLobSystemInstance.Properties.Add("AuthenticationMode", "PassThrough");awLobSystemInstance.Properties.Add("DatabaseAccessProvider", "SqlServer");awLobSystemInstance.Properties.Add("RdbConnection Data Source", "DEV1");awLobSystemInstance.Properties.Add("RdbConnection Initial Catalog", "Customers");awLobSystemInstance.Properties.Add("RdbConnection Integrated Security", "SSPI");awLobSystemInstance.Properties.Add("RdbConnection Pooling", "true");

Page 34: Business Connectivity Services:  новые возможности

Объектная модель: Создание

<LobSystemInstances> <LobSystemInstance Name="AdventureWorksWS"> <Properties> <Property Name="WcfAuthenticationMode" Type="System.String">PassThrough</Property> <Property Name="WcfEndpointAddress" Type="System.String">http://webserver:90/webservice.asmx</Property> <Property Name="ShowInSearchUI" Type="System.String"></Property> </Properties> </LobSystemInstance> </LobSystemInstances>

Page 35: Business Connectivity Services:  новые возможности

Объектная модель: Создание

//Create a new Customer Entity Entity customerEntity = Entity.Create("Customer", "AdventureWorks", true, new Version("1.0.0.0"), 10000, CacheUsage.Default, awLobSystem, customerModel, catalog); //Set the identifier - CustomerID columncustomerEntity.Identifiers.Create("CustomerId", true, "System.Int32");

Page 36: Business Connectivity Services:  новые возможности

Прикладные навыкиТиповые операции

Page 37: Business Connectivity Services:  новые возможности

Типовые операции

AccessCheckerAssociationNavigatorScalarAssociatorBinarySecurityDescriptorAccessorBulkAssociatedIdEnumeratorBulkAssociationNavigatorBulkIdEnumeratorBulkSpecificFinder

Page 38: Business Connectivity Services:  новые возможности

Типовые операции

ChangedIdEnumeratorCreatorDeletedIdEnumeratorDeleterDisassociatorFinderGenericInvokerIdEnumeratorSpecificFinder

Page 39: Business Connectivity Services:  новые возможности

Типовые операции

StreamAccessorUpdater

Page 40: Business Connectivity Services:  новые возможности

Finder

• SELECT * FROM Customers• SELECT ProductID, Name, ProductNumber, ListPrice FROM Product WHERE (ProductID <=

@MinProductID) • EntityDataType[] GetEntities()

Page 41: Business Connectivity Services:  новые возможности

SpecificFinder

• SELECT * FROM Customers WHERE CustomerID = id

• EntityDataType GetEntityById(IdType1 id1, etc…)

Page 42: Business Connectivity Services:  новые возможности

IDEnumerator

• SELECT TOP 100 Id FROM Customers WHERE Id>=@LastIdSeen ORDER

BY Id

Page 43: Business Connectivity Services:  новые возможности

IDEnumerator

• SELECT TOP 100 Id FROM Customers WHERE Id>=@LastIdSeen ORDER

BY Id

Page 44: Business Connectivity Services:  новые возможности

Типы фильтров

LimitPageNumberWildcardUserContextUserCultureUsernamePasswordLastIdSeen

Page 45: Business Connectivity Services:  новые возможности

Sorting & Paging

[OperationContract]IEnumerable<Employee> GetEmployeesPaged(

int startRowNumber, int pageCount, string sortColumn, string sortDir);

Page 46: Business Connectivity Services:  новые возможности

Sorting & Paging

<View><Method Name="GetEmployeesPaged">

<Filter Name="FilterRowNum" Value="{dvt_firstrow}"/>

<Filter Name="FilterPageCount" Value="30"/>

<Filter Name="FilterSortColumn" Value="{dvt_sortfield}"/>

<Filter Name="FilterSortDir" Value="{dvt_sortdir}"/>

</Method><RowLimit Paged="TRUE">30</RowLimit>

</View>

Page 47: Business Connectivity Services:  новые возможности

Business Connectivity Services

Page 48: Business Connectivity Services:  новые возможности

Business Connectivity Services

Page 49: Business Connectivity Services:  новые возможности

Business Connectivity Services

Возможности чтения и записи к большинству источников данныхРабота в online и offlineБольшое количество возможностей доступных из коробкиАдаптируемость под нужды бизнесаПоддержка по стороны средств разработки и кастомизацииУнификация рабочей среды

Page 50: Business Connectivity Services:  новые возможности

Спасибо

Виталий Баумhttp://butaji.ru