Tag: bcs

Hybrid SharePoint Environments with Office 365 – What’s New?

Microsoft has released the second version of the Hybrid SharePoint Environments with Office 365 guide. Below, I will list the major changes to the document, any smaller changes (some rewording and minor text additions) will be omitted.

 

New content: Hybridization Patterns (pages 10 – 12)

Hybridization Patterns Many generic patterns used in other hybrid solutions can be leveraged to design a hybrid on-premises SharePoint environment with Office 365.  The following patterns are discussed in this paper: •	Partitioning •	Smooth Transition •	Encapsulation •	Federation •	Shared Source •	Replication Partitioning As there will naturally be differences between the look & feel and capabilities between the on-premises environment and Office 365, designing your solution to keep users from crossing environment boundaries on a frequent basis can improve the user experience. Sample partitioning schemas include:  Partitioning Method	Example By User Type	For a vendor-facing Office 365 deployment, most users may conduct their operations on-premises, but external users and those with a specific need to interact with them would use Office 365. By Workload	Collaboration and publishing workloads may be performed in Office 365 but Business Intelligence may be targeted on-premises. By Organization	Marketing may perform most of its actions in Office 365, whereas, Human Resources may have specific compliance requirements driving its usage on-premises.  By Date	Allowing new collaboration sites to be created in Office 365, whereas, existing sites continue on-premises.

Smooth Transition It is important to ensure that users experience minimal disruption when moving between environments. In SharePoint products this is achieved by harmonizing authentication, navigation, branding, information architecture, and governance. This also allows standard technologies such as hyperlinks, and so on.  If these are implemented to a reasonable degree, standard web technologies such as hyperlinks can be used to allow users to move between environments, allowing easy access to their different content and capabilities.   Encapsulation Taking “Smooth Transition” to the logical extreme, client-side encapsulation uses standard web techniques such as the inclusion of remote resources via IMG tags or iframes can allow separate environments to be combined in a single view. This technique is increasingly common in publicly facing internet sites and is a key component of “mash-ups”. Alternatively, encapsulation can take place on the server, with one environment making a call on behalf of the client to another system to gather data or pre-rendered output, which is then merged before being presented to the customer.  This pattern is often used in aggregators, such as integration of RSS feeds.   Federation Where possible, functionality should be delegated to authoritative systems to ensure a universal user experience. Office 365 uses this pattern for authentication.

Smooth Transition It is important to ensure that users experience minimal disruption when moving between environments. In SharePoint products this is achieved by harmonizing authentication, navigation, branding, information architecture, and governance. This also allows standard technologies such as hyperlinks, and so on.  If these are implemented to a reasonable degree, standard web technologies such as hyperlinks can be used to allow users to move between environments, allowing easy access to their different content and capabilities.   Encapsulation Taking “Smooth Transition” to the logical extreme, client-side encapsulation uses standard web techniques such as the inclusion of remote resources via IMG tags or iframes can allow separate environments to be combined in a single view. This technique is increasingly common in publicly facing internet sites and is a key component of “mash-ups”. Alternatively, encapsulation can take place on the server, with one environment making a call on behalf of the client to another system to gather data or pre-rendered output, which is then merged before being presented to the customer.  This pattern is often used in aggregators, such as integration of RSS feeds.   Federation Where possible, functionality should be delegated to authoritative systems to ensure a universal user experience. Office 365 uses this pattern for authentication.

 

 

 

 

Update: Composites (Sandboxed solutions, Forms, Workflows) (Page 15)

Composites •	Sandboxed solutions •	 Forms •	Workflows	Access Services, InfoPath Form Services and SharePoint Designer generated workflows are all available in the Office 365 environment and can connect to data held in Office 365.  However, these services cannot connect directly to data in the on-premises environment (although InfoPath Forms Services can connect to external web services by using the InfoPath Forms Services Web Service Proxy feature). Microsoft Business Connectivity Services was introduced to Office365 in November 2011. You can use Business Connectivity Services to access external systems in the cloud and in the on-premises environment. Hybrid applications can be developed by connecting both the on-premises and Office 365 environments to web services that leverage a shared data source.

 

Moved Content: Plan Navigation and Branding (Page 17)

This topic has been moved and promoted. Previously, it was a subtopic of “Plan your information architecture”, now it’s a topic on its own.

 

 

 

New Content: Leverage the Smooth Transition pattern (Plan your information architecture) (Page 19)

New content within “Plan your information architecture”:

Leverage the Smooth Transition pattern Smooth navigation and coordinated branding can significantly decrease the user experience penalty for crossing environments and opening up more flexible information architectures. As an example, in an “organize by customization dependency” information architecture, it may be difficult to identify the ideal environment for a collaboration site for a given team. While this team may not have any current needs for customization or business intelligence, making Office 365 a good candidate, the team may not be able to rule out such requirements in the future, leading them to conservatively target the on-premises environment. With the ability to transition smoothly, the penalty for “choosing wrong” may be reduced. The team can solve its immediate needs by creating its collaboration site in Office 365 and, when customization is required in the future, a parallel on-premises “outrigger” site can be created with suitable bi-directional navigation to the original site. This “outrigger” site would enable full on-premises capabilities when needed, while the standard collaboration site, which constitutes the majority of the content and usage, can take advantage of the scalability, availability, and cost structure of Office 365.

 

 

 

New Content: :Leverage the Shared Source pattern (Plan User Profiles and My Sites) (Page 21)

New content within “Plan User Profiles and My Sites”

Leverage the Shared Source pattern A much appreciated feature in SharePoint 2010 is the self service profile editing capabilities offered to users via “My Profile” and its ability to write changes back to AD. While the Office 365 Directory Synchronization tool can populate the Office 365 user profile with AD data, it is unidirectional; therefore, changes made within the Office 365 “My Profile” are not reflected in the on-premises AD and, by extension, the on-premises SharePoint environment.  A hybrid Office 365 and on-premises SharePoint environment offers an alternative to the lack of AD writeback by leveraging the ability to send user edits to an alternative User Profile management tool such as the on-premises “My Profile” page for any properties for which AD is the official source of record. This can be implemented by doing the following:  •	Setting the policies for the AD properties such as “name” and “work phone number” to be “read-only” in the Office 365 User Profile Service.  •	Adding a link on the “My Profile” page via Personalization links to the to desired on-premises profile management page. •	Altering the description of the AD properties to guide users.  Properties for which SharePoint is the source of record, such as “About Me”, or “Interests”, can be left editable in the desired primary “My Profile” environment.

 

 

 

New Content: Leverage the Shared Source pattern (Plan Customization) (Page 33 & 34)

New content within “Plan Customization”

Leverage the Shared Source pattern In November 2011 Business Connectivity Services (BCS) was made available in the Office 365 for enterprises environment. This provides the capability to access external WCF services to provide Search, Create, Read, Update, and Delete (SCRUD) operations against a backend data source. This data source can be a Line of Business application, an on-premises SQL Server database, an Azure hosted database, or any other database platform. This capability opens a large variety of application hybridization options with on-premises data sources and applications for which standard BCS guidance and considerations apply. However, BCS in the Office 365 environment currently only allows connections to WCF sources — not directly to databases as can be configured in an on-premises environment.  In addition, any WCF sources must be available to BCS in Office 365 , which means that they must be internet-accessible. This can be accomplished by exposing your WCF service outside your internal network directly, via a proxy, or by deploying a publicly accessibly Azure WCF service. Due to the need to publicly expose the WCF endpoint, it is important to plan for security. Following are some possible steps: 1)	Minimize the attack surface by only exposing required methods. 2)	Configure the service to use HTTPS endpoints instead of HTTP to protect against eavesdropping. 3)	Require authentication at the WCF service layer. Credentials can be stored in the Office 365 Secure Store Service.

In addition to exposing on premises data and LoB applications in Office 365, we can use coordinated BCS connections in Office 365 and on premises to leverage the “Shared Source” pattern by connecting our Office 365 and on-premises SharePoint environment to a common data source or service. With this pattern users can perform authorized SCRUD operations against common data from both environments, allowing hybrid solutions, including:  Pattern	Example	Architecture Creating structured data in Office 365 and viewing it in the On-Premises environment	Order Intake from an Office 365 vendor portal	  Creating structured data in the On-Premises environment and viewing it in Office 365	Publishing an On-Premises price catalog  to external users	  Creating and editing common structured data in both environments	Multi-environment use of a ticketing system	   For more details on using BCS in Office 365, see Manage Business Connectivity Service Applications

 

 

New Content: Plan Business Intelligence (Page 35 & 36)

Plan Business Intelligence Leverage the Replication pattern Extremely effective and attractive dashboards can be constructed in Office 365 using Excel Services functionality. However, the underlying data  connections cannot be automatically refreshed from their data sources unless these sources are available on the public internet, which is not a common scenario for important business data.  However, without live data connections, Excel Services will render the last data it was able to gather providing a static snapshot dashboard.  Leveraging the replication pattern a designated report owner can then periodically open the source Excel sheet in the Office Client with access to the corporate On Premises data sources and refresh its data connections, then save the source file back to its Office 365 library. This will create a copy of the the data required to render the dashboard within the Excel spreadsheet, which is stored within Office 365. As this pattern requires manual interaction it is most likely to be reserved for high value dashboards with wide distribution or a business critical audience. Similarly, the updating frequency is more likely to be weekly or monthly rather than hourly, which is appropriate for many scenarios. Leverage the Encapsulation pattern While Office 365 does not directly support most dynamic SharePoint Business Intelligence capabilities, some pervasive Business Intelligence scenarios can be constructed in a hybrid environment by exposing rich on-premises content in your Office 365 environment. As an example, an on-premises SharePoint environment supporting a Business Intelligence role will often have SQL Server Reporting Services (SSRS) installed.  SSRS has the capability to create report “subscriptions”, which periodically output a rendering of a report to a SharePoint document library. This output can take the form of a picture, and the freshness of the data driving this picture is configurable in the subscription’s schedule. This on-premises picture can then be encapsulated in an Office 365 collaboration site by using standard SharePoint features to show an off-server picture such as an Image Viewer or a Content Editor web part. If authentication has properly been synchronized and the Office 365 user has permissions and connectivity to the on-premises SharePoint site that is hosting the subscription generated picture, then the image will be obtained by the client browser and incorporated into the rest of the Office 365 collaboration site providing pervasive business intelligence.  For more advanced scenarios this picture may be embedded within a link to an interactive Business Intelligence site on-premises. This would allow interested users to smoothly navigate from a static image (such as a line chart) in the Office 365 environment to a BI dashboard with PerformancePoint interactive charts on-premises where they can examine the underlying trends.

Following is a cloud-based Business Intelligence site with a static image of a monthly chart hyperlinked to an on-premises “outrigger” site with full dynamic PerformancePoint Business Intelligence capabilities such as user-initiated drilldown and decomposition trees:

Interesting Office 365 Links (18/01/2012)

Below are several links to interesting Office 365 specific content that I found in the past few weeks.

In no particular order:

Directly from Microsoft:

 

Blog posts from other people:

New articles on MSDN about Business Connectivity Services in SharePoint Online

Finally, there’s some official information on MSDN about the Business Connectivity Services (BCS) in Office 365 (or more specifically, SharePoint Online).

The first article, Introduction to Business Connectivity Services in SharePoint Online, provides a general overview of BCS:

The second article, What’s New for BCS in SharePoint Online, provides some brief information about how developers can manipulate external data sources, or to be more specific, that this has to be done through the client object model. Some code samples are given. This information is given in the first article as well, so it’s enough to have a look at Introduction to Business Connectivity Services in SharePoint Online.

Business Connectivity Services in Office 365 – Search, Actions, Profile Pages, and User Profile Properties

For the reminder of this article I assume that you already have an Enterprise Content Type configured, if not have a look at my previous posting.

As a short reminder, with the recent Service Update to Office 365 (which some customers may still not have as it is on-going until end of November) you get 2 additional options in your Office 365 Enterprise account’s SharePoint Online administration center, namely Manage Business Data Connectivity (where you manage the BCS) and Manage Secure Store Service (where you manage the login data for these connections). In the rest of this posting I’ll work a lot in the Manage Business Data Connectivity area.

Image24_thumb1


Search
Simply said, searching external systems in SharePoint Online doesn’t work. It’s not activated, you can’t configure it. Maybe we’ll get to see it sometime in the future, but as of now you can’t search your external data.


Actions
Actions in BCS are additional options that you can add to the ECB (the small item menu that you can open when you click on the arrow next to an item). They provide you with the possibility to add a link to a URL to which you can pass information from the external item as a parameter (e.g. quite often you would pass the ID of the current item).

To add an action, select Business Data Connectivity in the administration center, select the (quite hidden) dropdown next to the ECT for which you want to create the action, and click “Add Action”.
Image25_thumb1

On the following screen, add a name and the target URL. You can specify where parameters should be placed in the URL by adding them in brackets, such as http://site/Pages/products.aspx?id={0}&cost={1}

Under URL Parameters, select the corresponding columns that provide the value that should be used for each parameter.
Image26_thumb1

Here’s an example that opens Bing Maps and display a location (my ECT contains the City and the Country of a customer). The URL I use is http://www.bing.com/maps/?v=2&where1={0}, {1}
Image27_thumb1

Once you click OK, the new action will show up in the overview page of the ECT under Actions:
Image28_thumb1

Note: the new action will not be displayed in any existing external lists. You need to recreate them before it shows up:
Image29_thumb1


Profile Pages
A profile page is a normal SharePoint page that shows information about a specific external item. It displays the detailed information of the item as well as any other items associated with it. Profile Pages are used for search results for external data, but as we know that Search doesn’t work for external systems in SharePoint Online, there may be little use for them. Nevertheless, here are the steps to create them:

First, create an empty site somewhere that will be used to store all Profile Pages. For example, under your team site, create a subsite called “BCS” based on the Blank Site template.

In the Ribbon on the BDC page, click on Configure in the Profile Pages group:
image_thumb1

In the following dialog, enter the URL to the site you created:
image_thumb4

Next, select the ECT for which you want to create a Profile Page, and select Create/Upgrade from the Ribbon
image_thumb6

 

Confirm the following dialog
Image30_thumb1

The Profile Page will be created, and you’ll get to see the next dialog. Confirm it
image_thumb8

This is where you will get an Error message. Not sure why, but everything seemed to work for me afterwards. Press the small in the top right corner
image_thumb10

Click on the ECT’s name and you’ll see a new action named View Profile:
image_thumb12

When you choose View Profile on an item in an external list, you can then see the Profile Page:
image_thumb14

Image31_thumb1

 

User Profile Properties
With the “regular” BCS in SharePoint 2010, it is possible to add BCS data to a SharePoint user profile. For example, you could add a custom user profile property “Rank” that is filled with the employees rank (M17, M18, M19, for example are ranks that are used in Singapore’s banks) from an HR database.

In Office 365, you sadly cannot add external data as a user profile property at the moment. In a SharePoint 2010 environment you’d first set up the connection and then add the corresponding external data as a user profile property mapping. SharePoint Online doesn’t provide an option to configure this connection, thus it cannot be done. Just as with Search, I hope that it will be available sometime in the future.

BCS in Office 365

As it was announced a few weeks ago by Microsoft, Office 365 will be able to connect to external LOB systems through BCS with the Service Update that is currently rolled out. I was eagerly awaiting to get my account updated and start testing it, also with the idea in my mind to write some articles about it.

Last week, my account was finally updated, however I didn’t have the time to test it and write about it, as I was away on a business trip, and I planned to do it all this weekend. Yesterday however, Christian Glessner (@cglessner), a German MVP, published an article that guides you through the basic steps to create a Windows Azure database (filled with the good old Northwind data), and connect it to your Office 365 account. Perfect timing, so I could actually concentrate on simply testing BCS this morning, and saved the time to write the article (no need for me to repeat what Christian has already excellently written down).

Within minutes (adding the Northwind data to the database was probably the step that took the longest), I had a working connection between my O365 acccount and my Windows Azure database!

o365-bcs