I am Speaking at SharePoint Saturday Sydney on 06/08/2011

image

I am pleased to announce that I will be presenting at the next SharePoint Saturday Sydney on 06/08/2011.  I will be presenting on Business Connectivity Services (BCS)

BCS is an umbrella term which incorporates set of awesome technologies and tools for both developers and power users to build business applications that natively fits into SharePoint 2010.

Here is an abstract of my session:

Business Connectivity Services (BCS) in SharePoint 2010 provides new ways to connect and integrate with external data such as your own SQL databases. BCS enhances the SharePoint platform’s capabilities with out-of-box features in the key areas of presentation, connectivity, tooling and lifecycle management that streamline the development of solutions with deep integration of external data and services. Come learn what’s available out of the box and how to bring your .NET skills to seamlessly integrate and surface external line of business data through SharePoint 2010

 

Check out the strong session line up here http://bit.ly/19Feqc .See you there!


Lotus Notes to SharePoint 2010 Migration

Recently I was engaged in a large scale Lotus Notes to SharePoint 2010 Migration project for a client in the travel/aviation industry vertical . Lotus Notes is a multi-user collaborative client-server application environment competing with Microsoft SharePoint 2010 suite of products /Microsoft Outlook/ Office workspace 2010. There are numerous legacy Lotus-Notes implementations which sometimes can be a overhead to main overtime and scale. This post summarize the approach taken to migrate such a application into SharePoint 2010.

The legacy Notes Applications in the context was designed and developed few years back was not quite helping accelerating the business outcomes for the client. Therefore migrating those applications onto a  single platform which can centrally manage and maintain over time was timely.

 Notes Architecture

The Domino product is an integrated messaging and Web application software platform. It provides a robust environment for creating Web applications that support workflow, RDBMS connectivity, and collaboration. Domino is ideal for creating applications that allow "sometimes connected", multiple users to cooperatively process unstructured information.The term Lotus Notes is now used to refer to the underlying client-server architecture that the product is built upon.

Storage Model

The storage model of Lotus notes storage area a "Note" (These Notes will also be referred to as documents, a term more familiar to users). In each Note we have "items"; and each item has its own "item name". ( and an item may be a list of values) .This iterative structure of one element containing other elements has been referred to as the Notes container model. The "Notes Storage Facility" and the file that creates on the Notes Client is given an extension of .NSF.The Notes data model contains no concept of a "record type". All documents in a database are equivalent as far as Notes in concerned.

User Interface

Forms is the mechanism that Notes Client (Desktop Client) use to show the user what is in a document.The areas on the form that display the values stored in the items on a document will be called fields.This listing of item values from a set of documents in a column format is a Notes View.

Agents

You can program Notes to perform tasks automatically using agents (also known as macros). Agents can help you perform repetitive tasks, such as managing documents and sending memos. Agents can complete almost any action you can do manually in your databases.When you create an agent, you can set options to specify:

  • When the agent should run. (ie. a document has been changed)
  • Which documents in the database the agent should run on. You can target all or any subset of documents in the database for the agent to run on.
  • What actions the agent should complete. You can choose actions from a list or use Notes formulas or programming scripts and languages to create actions.

Tools for the Job

  • Visio 2010 Premium – Modelling new the process workflows with business analysts/domain experts
  • SharePoint Designer 2010 – Authoring the workflows/ customising list forms etc.
  • Visual Studio 2010 – Create Solution Artefacts/ Custom event handlers/ create features, packaging sandbox .wsp solutions
  • SPServices jQuery library for SharePoint web services – UI extensibility helpers / Cascaded dropdowns etc.
  • Bit Bucket  with Mercurial/ VisualHG -Distributed Version Control (DVCS)
  • Quest Notes Migrator for SharePoint – For Data Mapping and Migration from Notes fields to SharePoint Lists.

Migration Map

Each Notes Application was mapped to Corresponding SharePoint 2010 Custom Application in its own Site Collection with its own Logical Security boundaries.

clip_image001

Process

The new applications were architected and implemented leveraging the new platform capabilities of SharePoint 2010 and mapped the required data into the new application platform. The Quest Notes migrator did a good job for us by nicely abstracting Lotus notes internals by allowing us to defined Extract-Transform-Load (ETL) operations including user mappings from Domino to AD accounts. Where Transformations were complex Extract-Load-Transform (ELT) approach was used with custom transformation rules with PowerShell / C#

High level process followed for migrating each Notes application to SharePoint 2010 platform involved following steps

  1. Consult Notes application owners (product owners) in each department and created a prioritised product backlog
  2. Modelled the new workflows /rules with Visio 2010 premium with business users
  3. Built & Prototyped the new application with the best tool fit for the job. (Visual Studio 2010   -  Author and deploy base level custom site columns/content types/list definitions/list instances/custom event handlers , SharePoint Designer 2010 – forward engineer the Visio workflows / XSLT List form customization )
  4. Data mapping jobs were created/tested with Quest Notes migrator for SharePoint in the dev environment with a subset of production data
  5. Repeated steps 3 & 4 with product continues reviews/feedback
  6. Reverse engineer reusable workflows into features and list form  into solution artefacts into SharePoint Solution packages and deploy into production environment as SharePoint features
  7. Execute the Data migration job on the production environment

Hope this post would benefit those who interested in migrating legacy lotus notes applications to SharePoint 2010.