I have a client requirement to move a SharePoint portal with all typical SharePoint features such as CMS, collaboration into an asp.net web application. The decision is already confirmed, so I do not need any discussion as to whether this is a right step. I need to know how to aproach this requirement? What should be the design or architecture of the target asp.net application so that it will take care of these sharepoint features such as CMS, collaboration etc. Please help.
So...they want all the features of SharePoint, but not SharePoint? Good luck with that. While you're at it, perhaps you could also build a piece of software with all of the features of Excel, but make it easier to use... Seriously, how you approach it is to figure out what is prompting this move, as it doesn't make any sense at all. There are, after all, lots of CMS packages out there, and different people like different ones, but the idea of building an asp.net app with all SharePoint features is silly.
SharePoint is an ASP.NET application. If it is simply just a matter of not wanting it to look like SharePoint, then you will want to focus on creating custom master pages, page layouts, and CSS. While it is possible to build a custom application that pulls all of its content from SharePoint through the various APIs, there are very scenarios where this makes sense.