210 likes | 308 Views
Migration and Integration practice for Line-Of-Business aplications by example of Timesheet and Holidays. Vasily Sokolov, AVIcode Consulting LLC http://weblogs.asp.net/VasilySokolov. Main targets from the business.
E N D
Migration and Integration practice for Line-Of-Business aplications by example of Timesheet and Holidays Vasily Sokolov, AVIcode Consulting LLC http://weblogs.asp.net/VasilySokolov
Main targets from the business • Build internal corporate software with seamless integration between the different products • Get the stable platform for integrating “on top” • Use Microsoft .NET technologies for web (ASP.NET) • Get maximum out-of-box and “freeware” features • Provide automation for the common business tasks: • Timesheet filling for all employees of all offices • PhoneList/TeamInfo management capabilities • Holidays/Vacations “master data” storage
Line-of-business applications • Definition from Wiki: “A line-of-business application is one of the set of critical computer applications that are vital to running an enterprise” • For Software Development Company measuring and reporting the time of development/testing is indeed mission-critical task for facilitation and automation • From Microsoft we have 2 options for these platforms: • Microsoft Dynamics • XRM (is intended for coverage of all possible LOB scenarios) • Microsoft SharePoint • Microsoft BizTalk Server (for integration with 3rd parties)
Microsoft Dynamics XRM • November 2009, An Introduction to XRM fora .Net Developer:http://msdn.microsoft.com/en-us/library/ee830281.aspx from ADXSTUDIO, Inc. • Goals are similar to Microsoft SharePoint platform: • Security/Workflow/Reporting • UI for data management • Office integration • Data modeling • Web services • Conclusion: similar platform capabilities with large price because of plenty embedded applications (CRM, ERP etc) • Solution is declined because of waste complexity and price
SharePoint/BizTalk integration • It is the possible path for the future evolution of internal software – because it is too expensive for now • Observations: • Adapter to SharePoint is available within default setup • Adapter to Dynamics CRM is available “in addition” • Release year mark is 2009 for Dynamics and BizTalk • For Visual Studio, Office and SharePoint it is 2010 • Typical sample task for integration is derived from purchase orders with using business activity monitor (BAM) whereas SharePoint provides dashboard only
Currently available solution • Several “home-made” products integrated at DB-level • Timesheet (ASP.NET application) • Provides capability fill Timesheet/generate reports • Enables integration with QuickBooks by .iif files usage • Stores vacation data (duration in days) without planned dates • Phone List (ASP.NET application) • Provides capability search for personal contact details • Enables personal photo of the employee to his colleagues • Time Manager Service (.NET Windows Service) • Enables real-time integration of Timesheet with TFS projects • Send regular e-mail notifications with reports for the users
Plan for evolution to eSPACE • Still have legacy Excel-based services • Vacations (planned dates of vacations per employee) • Team Info (employee-manager-project hierarchy) • Certificates (actual certification status of the employees) • Recently created Holidays application needs being integrated with Timesheet and Time Manager Service • Based on SharePoint lists without external sources usage • It is not integrated with standard SharePoint calendars • Localization of SharePoint should be employed
Development approach • First stage of the application development: • Microsoft SQL Server is the only storage engine • Integration between applications is based on DB level • Second stage of the application development: • Partial usage of SharePoint (via web-services) for Lists only • Integration at business logic level for objects management • Third stage of the application development: • Application is located within SharePoint • Integration could be based on SharePoint context
Variants of SP development • In general the following concepts are available: • Web parts creation and standard pages customization • Layouts-based pages creation with custom master page • Custom data types, workflow and events subscription • Web parts are declined because of “local” functionality • Custom data-types, workflow, events will be used later • Currently selected approach is layout-based pages: • Custom master page can be selected • Custom theme can be applied • Approach is maximally approximated to traditional ASP.NET
Plan for the future releases • Holidays should become integrated with SharePoint events • Timesheet should be integrated with Holidays (SharePoint?) • New application Vacations requires Workflow for approval • eSPACEshould become SharePoint-based custom platform • New applications will be created with default integration: • Team Info • Certificates • Time Manager (joint Timesheet and Time Manager Service) • SharePoint 2010 should be used as the primary platform • CodePlexpublication of the separate eSPACE applications
Technical development details • Customization: • Custom master page is necessary for hiding standard elements • Custom theme is providing appropriate look-and-feel • New features for turning on theme and adding custom master page • Issues: • Localization is not default – ResourceExpressionBuilder is used • Implementation of appropriate web.config changes requires additional permissions for the separate site collection (by default access to the main SharePoint database is not allowed for application pool identity of the new pool for new site collection thus this access should be granted) • Storing of preferences (language selection) requires additional permissions to the initial Reader role of the end user (attribute of the site changes can’t be executed with the default Reader role rights)
SharePoint/Visual Studio 2010 • Expectations: • Incremental installation of new versions (adding/removing columns) • Built-in support of all necessary capabilities including SharePoint Solution Installer (currently open source project at CodePlex) • Remote debugging of production site collection applications • What is implemented in the reality: • Visual Studio 2010 Toolset and Extensibility • 100% TFS 2010 Integration • Sandboxed Solutions • Developer Dashboard • Client Object Model, Application Services and Platform Entensibility • Business Connectivity Services