Tag Archive for Application Services

C2C Content Services for SharePoint (Part 4 of 4): Bringing It All Together

In Parts 2 and 3 of this series, we reviewed two apps that enable very different C2C Content Services.  Yet, as we saw in the videos, these services can be integrated.  In this last article, we’ll describe in more detail how the two apps integrate to create an end-to-end C2C Content Service solution and how this approach can be extended to apply to a broad range of scenarios.

 The End-to-End Scenario for the Sample Appsx-design

So, let’s review the end-to-end C2C scenario using the 2 apps in these articles. There is a Blog-Style Announcements app.  Users contribute their announcements working locally.  They flow through a process and are aggregated and transformed into a Blog-Style display.  In the Virtual Slide Show video, we showed how the announcement service was embedded into a slide show that was part of a set of Organizational Services that was delivered to users where they work.  Thus, you have contributors entering information locally and consumers using the information locally.  You might call it a “work@home” scenario.

 It takes a lot of words to explain what is going on in such a system.  Let’s simplify it a bit.  If you recall, in the previous articles we introduced a design pattern for each type of app.  The A design pattern for the Announcement service (think A for aggregation).  The V design pattern for the Virtual Slide show distribution.  When you put the two together as an end-to-end system it appears as a design pattern that we call “X” as shown here.

 The two separate application services work independently but are integrated in the middle.  The result is that consumers don’t have to navigate to the Announcements Blog UI.  Instead it is repackaged as part of an Organizational Services service that is delivered to users where they work. This end-to-end C2C solution provides a seamless experience to both contributors and consumers.  In addition, other services, such as the Video Library, were combined into the Organizational Services service. 

 The Power is in the Middle Tier

The real power of this design lies in the application services in the middle of the X design.  Let’s look at this in more detail.  We’ll examine how the integration happens and the utility of the centralized, one touch management approach.

 As shown in the VSS video, the integration of the two sample services was easily accomplished by the VSS content manager adding a link to the Announcements slide show.  No coding, no protocols, no configuration – just a link and the two separate apps are now part of a system.  Effectively, it is a loosely coupled integration.  Each app can stand on their own.  There is no technology required to integrate.  Thus, the VSS service serves as a middleman to “mix and mash” the various other applications, content, and services across SharePoint.

 Couldn’t we just put some links on end-user pages?  It may work, in certain scenarios, for a moment.  However, the user is still navigating, the information is not being aggregated or transformed, you are not able to “mix and mash” content and specific application functionality, you are manually maintaining lots of hard-wired links, you lack security trimming, and, the system is not centrally configurable.  Using a centralized service such as VSS in the middle tier adds these capabilities to the system.

 Let’s take a look at the specific ways that central configuration via the application services turns this into a dynamic, one touch system: 

- The Announcements service is configured to reach out and connect to distributed data sources.  To add a new data source, you just add an entry in a Directory list in the service.  To change gates for approval, you change it once centrally.  The Blog UI is centrally configured.  The local data sources control security and security trimming and the service respects these settings.

- The slide show listings available via the VSS service for Organizational Services is also centrally configured in the app.  Thus, you add a new service as a slide show and all distributed service listings are updated.  Change the content centrally and all content changes.  Drop a link into a slide show and any business functionality is accessible to users in a click.  They can even contribute and act on information from where they work.  It is easy to do and keep things consistent and accurate.

Thus, the application services in the middle tier of this X design provide the capabilities necessary for a flexible and manageable end-to-end C2C Content Service across the enterprise.


The Breadth of this Design

So, how extensible is this X design?  What content and functionality across SharePoint can be included, in as easy a manner as has been shown here?  The answer when using CorasWorks is just about everything.

By this I mean that effectively following this X design, just about all content and all functionality built across the entire SharePoint environment can be re-packaged and served up to users in a task-oriented business context.  And, all of this can be done without coding and very simply.

So, how does this work?  There are a couple of basic elements. 

- First, is that CorasWorks is designed to work with all information across data types, sites, site collections, web applications, external data bases, cloud services, enterprise applications, and, in many scenarios across server farms and organizational boundaries. 

- Second, is that SharePoint supports a basic modular framework based upon the web part framework.  CorasWorks leverages this framework and makes it centrally manageable.

- Third, is that because of this modularity and central control any functionality built with CorasWorks can connect to any information and can effectively be snapped off and re-mixed and put at the service of any user working anywhere.

 We’ll use a final video to emphasis the benefits for the end-user of this design.  We’ll return to a jazzed up set of Organizational Services for employees working in their departments.  We’ll show an embedded window versus a pop-up for the slide shows – a simple customization of the VSS service.  We’ll flip through 4 different services at the disposal of the end-user.  They cover the range from passive content slide shows, to interactive content, to business functionality where users see, contribute, and act on information.  The key thing to remember is that each of these end-user services actually contains specific pieces of functionality contained within different business applications in different departments across a SharePoint environment that are being “mixed and mashed” as part of a single Organizational Service being provided and centrally managed by VSS.  Click here to view the video (runtime 5 minutes).


Wrap Up

If you’ve made it through the full 4-part series and watched the videos you’ve spent about 2 hours or more with us.  Thank you.  The series was intended to provide you with a broad yet practical understanding of CorasWorks-based C2C Content Services.  Our gift in return, if you are a CorasWorks customer and running MOSS 2007, is that the two apps discussed in these articles are free, available in the CorasWorks Community App Store, and can be put to use right away.  We thank Spirit for their contribution of the Blog-Style Announcements app.  You will find them easy to install and use, well documented, and easy to customize. 

 The overall design and capabilities of CorasWorks-based C2C Content Services provides you with a unique combination of flexibility on one hand and control on the other to enable you to meet a broad and diverse set of needs across your enterprise SharePoint environment.  The fact that it happens without a lot of technical work, frees up time for you to invest to learn which services for which user groups offer the most value for your organization.  Given that it is mostly pre-packaged, centrally manageable, and non-invasive to an existing environment, you are also able to easily test and try things out.  We hope that these community offerings will help drive some very innovative solutions.  Please share your findings with the rest of the community.

 Again, thank you, and enjoy.


C2C Content Services for SharePoint (Part 2 of 4): Blog-Style Announcements Service

Part 1 of this series introduced you to our approach to C2C Content Services for SharePoint powered by CorasWorks-based application services.  In this article, we will drill down into the free, Blog-Style Announcements service published to the App Store by Spirit EDV-Beratung AG (Germany).  We’ll look at this app from two perspectives.  First, we’ll discuss it as an off-the-shelf app. Then, we’ll look at it as a representative of a class of apps, based upon a design pattern, that play a role in an end-to-end C2C Content Service.

Overview of the App

The Blog-Style Announcement Service allows you to aggregate announcements from multiple sites/lists distributed across your SharePoint environment and display them in a blog-style format. The contributors are able to work “locally” wherever and however they are used to working. The “consuming” end-users use the blog-style display to see and work with announcements across the organization.  They see the monthly listing of announcements, and, they can browse by source site (department, project, business function) or by date published.  The UI also has bulletins that are persistent announcements by corporate or the announcement service manager.

Below is a screenshot of the end-user display that is pulling together announcements across a SharePoint environment from the IT and Operations departments, an Extranet Community and the Corporate Announcements service.

spirit AS home

Before going into more details, take a few moments and watch a video of the Blog-Style Announcements service in action (runtime 10 minutes).  It will describe the app and walk you through a typical user scenario.

Service Design – The “A” Design Pattern

This service is for Announcements – right? Out of the box, yes, however, as you’ll see below it can be re-purposed to work with any type of SharePoint data and in many different scenarios.  It is built following a design pattern that can be applied to many scenarios.


This application service is used to connect to distributed data sources across SharePoint, aggregate the data, and transform it into the blog-style display.  There is a single end-user, blog-style UI that can be further distributed (as you saw in the video).  However, the basic design pattern is what we call the A design pattern as depicted here.

Following this design the users contribute their announcements locally, say in their departments, where they work.  They do not have to go anywhere to enter the information. They use their own local interface, be it native SharePoint, CorasWorks, or some other.

The application service represented by the grey box can be located anywhere in a SharePoint environment and connects to information across sites, site collections, and web applications.  It uses a local Site Directory feature that holds the sites and lists that are its data sources.  Thus, you just make one entry in the Site Directory in the application service to add a data source to the service.

The blog-style UI is local to the service, meaning that end-users navigate to it to see the announcements. It can be used in this way out of the box. However, as described in the video, by combining this service with the Virtual Slide Show service, the UI gets delivered to the places where the end-users work, such as their department dashboards, the portal, an extranet, or all of their My Sites.  This will be discussed in Part 3 and Part 4 of this series, but, is a key part of an end-to-end, C2C Content Service solution.

Technical Details About the Service

For those technically inclined, here are some of the key details about this service: 

  • It is a single SharePoint site template that is installed into a SharePoint environment.  It takes just a few minutes to install, setup, and start pulling announcements.
  • The core application service is built using the CorasWorks Data Integration Toolset.
  • The service respects SharePoint security.  Thus, if a user looks at the blog UI but doesn’t have rights to a source site, then, that information will not appear in the service.  Thus, the security is maintained at the source site.
  • The service uses a CSS-based look and feel created by Design Disease and available under the Creative Commons Attribution-Share Alike 3.0 License.  There are other templates available that you can use for your services, or, you can create your own.
  • The service uses XSLT, XML, and jQuery.  These technologies, in addition to the Toolset resource files, provide a very flexible architecture.  There are no custom DLL’s  – it leverages the CorasWorks software running on SharePoint. The documentation addresses various ways to customize the basic service.

Implementation Options

The service can be used for different purposes by creating multiple instances as separate sites in a SharePoint environment.    You may end up with different services for different audiences, connected to different data sources, with a different UI, and, with different end-user functionality.  For instance, one internal service may allow the end-users to drill down to the source site, list, and item (the default configuration), while the service for an Extranet would remove these drill down features (as covered in the documentation).

In addition, out of the box, the announcements flow through the service in real time with no approval workstream.  A user enters an announcement, tagged for enterprise-wide distribution, and, it shows up via the service.  However, in many scenarios there may be review and approval gates for the distribution of announcements (or other content). There are a number of different ways to drop these gates into the workstream for announcements which are discussed in more detail in the documentation. 

Thinking Outside of the Box

The Announcement service is ready-for-work out of the box.  Here are some ways you could re-purpose this service.  They may require a bit of X-development skills and knowledge of the CorasWorks Data Integration Toolset, but, they are basically supported by the out-of-the-box service.

  • A Company Events calendar – How about using this service with event lists?  You could have a blog-style service showing Company Events with their description.  Using the Event start data you’d end up having the archive, but, you’d also be able to see upcoming company events – yes, a blog UI that looks into the future instead of just the past.  By default, it would organize the events by department (or whatever source site type), year/month, and the listings for the current month events.
  • Executive Briefings Service – How about connecting to sources of Executive Briefings from different departments?  This would be a private briefing service for executives.  Contributors would enter their briefing abstracts locally, with links to supporting briefing material.  Your UI would have the information organized by department with an archive to refer back to what someone said a few months back.
  • Weekly Project Updates – Do you require project or program managers to provide weekly, bi-weekly, or monthly briefings?  Do they work in projects sites?  Using the same service, the managers could enter their updates as an item in their local workspace along with reference material.  The department listings would immediately reflect the different project/programs vs. departments.  You’d have a historical record of the updates.  If you have a new project/program, just add it to the Site Directory of the service and it becomes part of the service.

Role as Part of a C2C Content Service

SharePoint environments are usually distributed environments.  Work is done in different places.  This app plays the role of taking distributed work and transforming into a single useful output to be consumed.  It also provides an innovative use of a blog interface that can be applied in a number of different scenarios.  Whether you use it just for announcements or in other innovative ways its basic design and purpose remain the same.

In Part 3, you’ll learn about the Virtual Slide Show service that addresses the packaging and delivery of content to where the consumers work.  This is the other half of the equation of an end-to-end C2C Content Service solution.