- Shopping Bag ( 0 items )
Comprehensive coverage on Business Connectivity Services within SharePoint 2010
As Microsoft’s new multipurpose portal technology, Business Connectivity Services (BCS) is a brand new way for SharePoint users to seamlessly access and integrate data from any application or databases within SharePoint 2010. With this in-depth guide, a team of SharePoint experts walks you through the features of the new BCS, including the ability for users to view and modify the data from SharePoint...
Comprehensive coverage on Business Connectivity Services within SharePoint 2010
As Microsoft’s new multipurpose portal technology, Business Connectivity Services (BCS) is a brand new way for SharePoint users to seamlessly access and integrate data from any application or databases within SharePoint 2010. With this in-depth guide, a team of SharePoint experts walks you through the features of the new BCS, including the ability for users to view and modify the data from SharePoint 2010 with BCS. You’ll explore how to use BCS, deploy solutions, create external content types and lists, create .NET host connectors, and more.
Professional Business Connectivity Services in SharePoint 2010 provides you with thorough coverage on this new multipurpose portal technology.
CHAPTER 1: BUSINESS CONNECTIVITY SERVICES.
CHAPTER 2: USING BCS SOLUTIONS IN SHAREPOINT 2010.
CHAPTER 3: USING BCS SOLUTIONS IN OFFICE 2010.
CHAPTER 4: CREATING BCS SOLUTIONS WITH THE SHAREPOINT DESIGNER.
CHAPTER 5: PROGRAMMING BCS SOLUTIONS IN SHAREPOINT 2010.
CHAPTER 6: PROGRAMMING BCS SOLUTIONS IN OFFICE 2010.
CHAPTER 7: DEVELOPING AND USING CONNECTORS.
CHAPTER 8: WORKING WITH BCS SECURITY.
CHAPTER 9: WORKING WITH ENTERPRISE SEARCH.
WHAT'S IN THIS CHAPTER?
* Understand the challenges of integrating external systems * Understand the BCS architecture * Learn to create a simple BCS solution
In today's diverse business environment, information workers need access to different types of data that reside in multiple locations. Structured data exists in an organization's enterprise applications, such as customer relationship management (CRM), product life-cycle management (PLM), and enterprise resource planning (ERP) applications, or is consumed from Web 2.0 services such as Microsoft Dynamics CRM Online or Salesforce.com. Unstructured data is created in productivity applications such as those in Microsoft Office, in team and collaboration applications such as Microsoft SharePoint, and in Web 2.0 services such as wikis or blogs.
Information workers spend much of their time using productivity applications, yet need to access structured data in order to make decisions and perform their jobs. This requires them to frequently switch between applications, which lowers productivity and can result in stale or incorrect information. To address these problems, many organizations have created custom applications and portals. These may solve some of the problems, but in turn can create a different set of business challenges:
* Interoperability: A custom application will typically involve a user interface to support a single business function, such as managing customer data or editing product information. Such applications traditionally encapsulate the application's user interface, business logic, and data in a single software package. However, because it is built to serve a single purpose, this type of stand-alone application creates an "island" of data and is not designed to facilitate interoperability.
* Low-fidelity interfaces: Consolidated business portals provide data from various business applications to information workers. They adequately present a high-level view, but do not address the need to drill down and analyze data or collaborate on the data with other workers. Content creation is difficult with Web applications, and the page-based Web model can lack a wider business process context and suffer from variations in user experience.
* High cost to build, train, support, and upgrade: Custom applications don't leverage existing software investments; you have to start from scratch each time, solving difficult connectivity, deployment, and UI problems. These applications don't bring data to a familiar work environment, so users must navigate to a new software destination (which takes work and time) and learn a new user interface. Custom applications typically use proprietary interfaces that may accomplish the original purpose efficiently, but that makes it difficult to repurpose or extend the applications to meet new requirements, because they depend on the programming interfaces of other business applications.
Clearly there are limitations to using custom applications ... but are there better approaches?
CHALLENGES INTEGRATING EXTERNAL DATA
Instead of creating a custom application to expose external data to information workers, why not integrate the External Systems directly into productivity applications such as SharePoint and Office?
For example, imagine an organization that relies on an event-planning solution with external data stored in a proprietary database. Rather than create a new special calendaring application that users must learn, why not create an Office solution that allows users to do their calendaring in Outlook, where they do the majority of their scheduling already?
SharePoint/Office integration is ideal for information workers, but presents its own set of challenges to solution developers charged with actually performing the integration.
SharePoint solutions are often closely related to the data and processes contained in External Systems. For example, a document library containing invoices may contain metadata also found in the ERP system, or be addressed to a customer whose information is also in the CRM system. Without some way of using data from External Systems, the SharePoint solution would be forced to duplicate information.
Duplication of data leads to another problem: how do users know which version is up-to-date? If they regularly work with the SharePoint data but have to cross-reference it with data in the External System, this creates significant maintenance overhead that could slow adoption and ultimately result in a higher total cost of ownership.
In addition to the data challenges related to SharePoint, there are challenges involved in integrating external data with Office 2010 documents. When salespeople create a quote, for example, they often look up customer contact information in a CRM system, copy it to the clipboard, and then paste it into the document. This duplication of effort obviously increases the time it takes to create documents. Furthermore, salespeople must be connected to the network in order to access the CRM system; they cannot easily create quotes while offline.
Users are often frustrated because systems such as CRM or ERP and productivity software do not seem to "talk" to each other. It's difficult to create a sales proposal document that combines data from both systems. Too often there is a lack of integration among the systems that are important to users.
Information Technology workers want to deploy applications that efficiently meet end user needs, yet still meet security, reliability, and regulatory compliance requirements. Writing custom code to integrate external data, whether it's into a custom application or into SharePoint or Office, brings up a lot of questions. For example, is the custom application reliable? Can it be modified by business units? Can it be easily upgraded and enhanced to meet new requirements or serve more users? Does it build on and leverage strategic software assets?
Microsoft Business Connectivity Services (BCS) can help address all three classes of challenges. By using BCS to handle the "heavy lifting" — connectivity infrastructure, deployment, and UI entry points — you leave yourself free to focus on customizations specific to the business problems at hand.
INTRODUCING BUSINESS CONNECTIVITY SERVICES
Business Connectivity Services (BCS) makes it easy to integrate external data into SharePoint 2010 and Office 2010 by providing infrastructure to help solve many of the data, user, and IT problems inherent in data integration solutions. Today professional developers are needed to build this class of solution; with BCS, a broader range of users — from power users to IT staff to developers — can work together, leveraging BCS capabilities to enable rich interaction with the external data in applications that end users are already familiar with. Professional developers are freed up to focus on building reusable data connections and UI components that can be shared with power users and BUIT staff who are assembling end-to-end solutions. By expanding the set of users directly involved in building and customizing a solution, you can remove the central IT bottleneck and solve more business problems.
BCS solutions map External System capabilities to standardized interfaces to define how to interact with a system's external data. As a result, solution developers don't have to learn the nuances of each LOB system; they can deliver powerful solutions faster. BCS also facilitates deployment and maintenance of scalable and secure solutions through integration with Visual Studio ClickOnce technology. This allows you to connect SharePoint solutions with Office client computers.
In a nutshell, BCS is all about connecting end users with enterprise data that they need to do their jobs — without requiring that they leave the familiar user interfaces of the applications they use today: SharePoint and Office. This makes it easier for end users to gain insight into the underlying data, make decisions, and take action within the context of the problem at hand.
SharePoint provides a range of different capabilities, from sharing information seamlessly and securely to searching for people and information. One of the groups of capabilities is referred to as composites; BCS is the centerpiece of this group. Composites refer to the ability to create powerful collaboration and information-sharing solutions that balance self-service with ease of management. You can assemble these solutions without code, building on the extensible platform capabilities of SharePoint 2010 and Office 2010. BCS is meant to achieve three things:
* Extend the reach and usage of external data
* Make external data actionable and available
* Create collaborative solutions easily through the reuse of components
Evolution of the Business Data Catalog
BCS builds upon the capabilities delivered in the Business Data Catalog (BDC) functionality of Microsoft Office SharePoint Server 2007. BDC enhanced the capabilities of SharePoint as a platform for developing composite applications by providing a simple, declarative mechanism to connect SharePoint 2007 to any database ADO.NET can connect to, or to any SOAP web service. BDC entities, Business Data web parts, and Business Data list columns were designed to provide a read-only window into External Systems.
In SharePoint 2010, BCS provides much deeper integration of external data directly into the SharePoint and Office UIs in a fully read-write fashion. External Content Types (ECTs) allow solution designers to describe both the structure of the External System and how that data should behave within SharePoint and Office.
If you have not previously worked with the Business Data Catalog, don't worry; no prior experience is required to understand or use BCS in SharePoint or Office solutions.
BCS and Other Integration Services
BCS is the premier choice for integrating external data into SharePoint and Office, but it's certainly not the only Microsoft offering in the larger "data integration" space. How does it differ from other options and how can BCS add value on top of them?
BizTalk Server is a useful starting point: which aspects of BizTalk can I use or reuse with BCS? Core BizTalk functionality is aimed at lower-level business process automation — performing Electronic Data Interchange (EDI) operations or very complex orchestrations in which transaction integrity trumps latency. BCS can thus consume BizTalk orchestrations that are exposed as WCF or SOAP web services. If you have existing BizTalk orchestrations it may make sense to evaluate how much additional work would be required to "flatten" them and provide them in a format that BCS can consume.
The most common BizTalk functionality that can be used with BCS is the BizTalk adapters. An adapter is a WCF-based component that can act as a communication broker between SharePoint/ Office and an External System. The adapter consists of design-time components and runtime components for receive and send operations, respectively. With a WCF endpoint hosted on an IIS server that stands in front of the External System, data can be presented in a consistent fashion for consumption by BCS. The BizTalk adapters simplify connectivity to Oracle databases, Oracle E-Business Suite, Siebel, and SAP, among other types of External Systems. The adapters can be licensed separately from the full functionality of BizTalk Server.
Next is the Entity Data Model (EDM), which is the conceptual schema of data used by the ADO.NET Entity framework. At a high level, EDM tries to accomplish some of the same things as BCS: it abstracts the structure of External Systems and enables developers to build applications that are not hard-coded to work with a particular system. EDM is limited to ADO.NET databases as the source for external data, but can be combined with powerful data query components such as Language Integrated Query (LINQ) to easily fetch data from databases modeled with EDM.
When considering how EDM and BCS can work together, it's easiest to think of EDM fulfilling the role of the data contract and BCS providing the service layer and UI integration endpoints. If you have an existing EDM file that describes the structure of one or more databases, you can easily use BCS to execute simple .NET code that describes the LINQ calls necessary to fetch data. For each EDM EntityType an External Content TypeECT will be defined. The LINQ calls to perform create, read, update, and delete (CRUD) stereotyped operations will be described in the ECT, along with the fields that make up the EntityType.
Another integration option is WCF RIA Services, which aims to simplify the challenges inherent in creating Rich Internet Applications (RIAs) that use Silverlight to move data across the Web. WCF RIA Services act as an infrastructure to make it easier for developers to write application logic to interact with Windows Communication Foundation (WCF) services, EDM models, or other data sources.
Like BCS, WCF RIA Services enables developers to create stereotyped operations to abstract common interactions with External Systems (such as CRUD). You can centralize business or application logic by adding it to your assembly, and easily present the data using a Silverlight application in either server environments (such as the SharePoint Silverlight Web Part) or client environments (such as the Office client task pane).
If you already use or plan to use applications built on WCF RIA Services, BCS can leverage some of those investments to facilitate deep integration with SharePoint and Office. This allows you to combine the advantages of WCF RIA Services (a well-defined location for business logic between data input elements such as forms and the data stack itself) and those of BCS (deep UI integration in both SharePoint and Office). The simplest way to do this is by creating a BCS.NET assembly connector to consume data entities, operations, and business logic from your WCF RIA Services solution's domain service.
To illustrate how these technologies can work together, let ' s look at a simple end-to-end example: connecting to a database to present customer data in SharePoint.
1. We start in Visual Studio by using EDM to model our Customer data. 2. We then create a Silverlight project and enable WCF RIA Services to present data from our database to end users. 3. We add business logic to our project; this lives in the domain service that the Silverlight part connects to when retrieving/submitting data. 4. Next, we publish the project to SharePoint as a WSP package. This will be installed as a full-trust solution. 5. We then create a site and a web part page, add SharePoint's Silverlight Web Part to the page, and configure it to host our Silverlight application.
An information worker can now browse to a SharePoint page and interact with the Silverlight application to view, create, update, or delete customers in an external database.
Now let's add BCS to the picture. We will start by opening Visual Studio to create a few additional artifacts.
1. We create a .NET assembly connector where we'll specify the LINQ calls to create, read, update, or delete data from our Customers database, as well as specifying the fields that make up a customer. 2. We publish the project to SharePoint, which will export it as a WSP package and install it as a full-trust solution. This will register a new Customer External Content Type with BCS.
With a minimal amount of extra effort, we've enhanced our solution to allow end users to easily create SharePoint lists that show customers, search for customers, and connect customer lists to Outlook and SharePoint Workspace. If necessary we could write additional code to present customer data in other Office applications by using VSTO add-in support.
BCS is an umbrella term for a set of technologies that brings data from External Systems into SharePoint Server 2010 and Office 2010. It spans tools, connectivity infrastructure, and UI components on both the server and client. The term Business Data Connectivity, or BDC (same acronym as in 2007, but Connectivity instead of Catalog) is used to refer to the connectivity runtime. This BDC runtime is identical on the server and client, an ECT can be interpreted in either SharePoint or Office client, and the same External System called to retrieve data.
Excerpted from Professional Business Connectivity Services in SharePoint 2010 by Scot Hillier Brad Stevenson Copyright © 2011 by John Wiley & Sons, Ltd. Excerpted by permission of John Wiley & Sons. All rights reserved. No part of this excerpt may be reproduced or reprinted without permission in writing from the publisher.
Excerpts are provided by Dial-A-Book Inc. solely for the personal use of visitors to this web site.