Archive for the 'Litware HR' Category

CSF and LitwareHR: Kickoff week

Last week I’ve been working with Puru Amradkar, Eugenio Pace and people from Microsoft’s Connected Services Framework (CSF) team, kicking off a new project that is both related with LitwareHR and CSF.

I had a great time on the design sessions with people from the CSF team like Puru Amradkar, Bala Balabaskaran, Balamurugan Kuthanoor and Arun Chandrasekhar. Their collaboration on the project was really valuable.

DSC03669

Image 1: From left to right: me, Puru Amradkar and Eugenio Pace.

LitwareHR is a software as a Service (SaaS) reference implementation application published last February by Microsoft’s Architecture Strategy Team. As a single-instance and multi-tenant application, it covers SaaS typical aspects as the tenant provisioning, multi-tenant security, presentation configuration, datamodel configuration and business processes configuration.

So what about CSF? It helps telecommunications operators to integrate content services with their internal networks and business systems. In a SaaS hoster context, it could help with integrating their billing and order handling systems with SaaS applications developed by SaaS ISV’s.

csfArch

Image 2: CSF Communication Architecture.

Some CSF Links

Some SaaS Links

I’m sure this is not all of the material around, but here is a brief list of Software as a Service links that I find useful. Feel free to propose more links. Enjoy :)

Introduction
Guidance
Papers
Blogs

SaaS Workshop

Fred Chong, Gianpaolo Carraro, Erik Weis and Matias Woloski gave a 3-day workshop on SaaS, at Microsoft HQ in Redmond.

Attending Microsoft employees and ISVs used a SaaS reference application based on LitwareHR to get inside of the architectural challenges solutions for data model configuration, tenant provisioning, workflow configuration and security.

Check Matias’s post for more details.

Microsoft Provisioning System (MPS): Overview

These days I’ve been investigating on what Microsoft Hosting Solutions and Microsoft Provisioning System can do, how they work and how they would be applied to SaaS hosting environments, such as LitwareHR reference application’s.

MPS is an extensible Windows-based platform that provides an XML-based framework that allows to create customized provisioning solutions for Web, data, and application hosting. This solution includes tasks such as adding new users, updating directory entries, and provisioning applications and services.

MPS’s providers make possible to automate the tasks required to provision and manage services within a data center. They accept XML requests from the Provisioning Engine and execute provisioning tasks against their respective applications.

MPS’s Provisioning Engine acts as a provisioning process coordinator and performs data monitoring and logging services. The Provisioning Engine interprets high-level XML requests and expands them into tasks.

 MPS_howItworks

  1. Using the Web-based interface, submit an XML-based provisioning request.

  2. The provisioning Engine parses the XML request and expands the request into multiple low-level actions. The provisioning Engine processes the request based on the MPF Configuration database.

  3. The Provisioning Engine then routes the XML requests to the appropriate Providers.

  4. The Provider implements the low-level provisioning tasks by making API calls to the appropriate applications. The provisioning request is complete.

Context: MPS as part of the Solution for Windows Based Hosting

MPS_inWBH

Installed elements:

The following are the main things I installed to get a deeper notion of MPS. You can get them here: http://www.microsoft.com/downloads/details.aspx?FamilyId=D6EF5386-0F76-4F58-A6C6-1FE7B5BE56CA&displaylang=en

  • MPS SDK:

    • Includes MPS Manager: Administration console for MPF (next bullet), used to configure and monitor the components in an MPF installation.

500x318.aspx

  • Microsoft Provisioning Framework (MPF): platform for building, deploying, managing, and extending hosted services running on Windows:
    • Provisioning Framework: The framework contains both client and server components. The client and SOAP ISAPI receive incoming provisioning requests. The following server components manage transaction processing and data storage:
      • Provisioning engines
      • Queue managers (Provisioning Queue Manager Service)
      • Configuration database
      • Transaction logs
      • Audit log
      • Auditing and recovery managers (Provisioning Auditing and Recovery Service)
    • Standard providers and namespaces: MPF ships with a number of providers and named procedures that support:
      • Microsoft Active Directory
      • Execution of scripts and commands
      • Error remapping for localization and context-sensitive applications
      • Windows file system and registry
      • HTTP and SOAP requests
      • SQL Server
      • Application installation using Microsoft Windows Installer
    • API’s: contain methods used to submit requests to the provisioning framework and to develop custom providers.
  • MPF Resource Kit:

MPS_MPFTools

Useful Links:

"Tenant Provisioning" Screencast released

Some weeks ago, we published a screencast on Datacenter Provisioning, the process of installing in a SaaS provider datacenter, the structure needed in order to support LitwareHR’s application.

Once this is completed, tenants will be able to start trying the application. First of all, they will have to create a tenant account at LitwareHR so they can use the application.
The process that takes care of allocating the resources that tenant will use is called "Tenant Provisioning". The screencast shows the "behind the scenes" actions of this service:
TenantProvisioning

Watch the screencast here and tell us what you think here.

Buenos Aires SaaS Technight: overview

Last Friday Roberto Schatz, Ramiro Iturregui, Matias Woloski and I introduced SaaS at Buenos Aires Microsoft HQ.

Audience was mainly ISV’s, some of them already implementing SaaS ideas and looking for more guidance.

After making an introduction of the main ideas (the long tail, architecture challenges, etc.), we role played LitwareHR demo (one guy from the audience played "Contoso’s" CEO role and another one "Fabrikam’s") and we showed some "behind the scene" code details and diagrams.

After finishing, architects and developers from the audience came close to make more questions so the discussion went on.

SaaSTechnight

Some feedback received by the end:

  • People who went to see what is SaaS: now have less doubts, with more information to get their organizations involved.
  • People who went to get some SaaS implementation guidance:
    • liked the xaml activation approach for dynamic business processes: many of them haven’t used WF and some said they would use LitwareHR xaml activation code as reference.
    • focused their questions on critical data isolation and dynamic business processes
    • one ISV told Matias they implemented datamodel configuration by the use of views for retrieving tenant’s entity data (like in LitwareHR), but discarded it due to performance issues. After reading the multitenant data architecture article they implemented a "separate schema" approach (each tenant data in separate tables) with a database pool.

Buenos Aires SaaS Technight

I’ll be speaking about SaaS on next Friday’s Technight to be held in Buenos Aires Microsoft Headquarters.

Roberto Schatz, Ramiro Iturregui, Matias Woloski and I will introduce SaaS, discuss about its business model, technical challenges and we will take a look at Litware HR, the SaaS reference application published in February.

If you will be in town by Friday, you can register to the event here.

SaaS_Technight

(Brief reference in Spanish)

See you there!

LitwareHR installer for Windows XP just released!

Since we got feedback from the LitwareHR community about trying the SaaS reference application on Windows XP, last week we announced the release of a HowTo to get LitwareHR working under Windows XP.

This time we are releasing a Windows XP specific installer for LitwareHR that automates that document’s steps.

WindowsXPInstaller

Once the installer finishes copying the required files you will see another version of LitwareHR readme file with some specific setup instructions for Windows XP environments.

As we discussed last week, Litware HR was designed to run on Windows Server 2003 because it provides real-world datacenter features, such as the ability to run multiple websites at the same time. Since Windows XP’s IIS 5.1 doesn’t allow that, we use different virtual directories instead:

IIs.png

What about LitwareHR for Windows Vista? Check this explanation and the related discussion at Codeplex.

Links:

Enjoy :)

Litware HR: What about Windows Vista?

Last week, we provided a HowTo for users wanting to try Litware HR in Windows XP. We also explained that Litware HR was designed to run in Windows Server 2003 because it provides features that a real world production datacenter needs, such as the ability to run multiple websites at the same time.

But what about running Litware HR on Windows Vista? Well, at first it will not work because LitwareHR uses ADAM and is not yet compatible with that Windows version.

What are the options then? Litware HR uses a shielded Authentication service that interacts with ADAM repository. This architecture approach of having a component reused across all the modules makes that by changing this component it affects the authentication behavior in every piece of the application:

Auth

So for Windows Vista, you might use another authentication store, such as Active Directory or SQL. That change should be easy and inexpensive:

  • re-implementing Shp.Runtime.Services.AuthenticationLogic class
  • changing the logic of the identity store setup scripts.

Check this discussion to get more implementation details and updated information.

See you at the Litware HR community website!

Running Litware HR on Windows XP: HowTo released

In the last few days we’ve been working on getting Litware HR application to run on Windows XP.

WindowsXPScreenshot

Litware HR was designed to run in Windows Server 2003 because it provides features that a real world production datacenter needs, such as the ability to run multiple websites at the same time. Through Litware HR community site, we collected feedback from people that would prefer to evaluate the application on Windows XP.

The first questions were: What are the issues of trying to run Litware HR on Windows XP? How can we solve them?

The thing is that Litware HR uses multiple websites: one that represents the SaaS provider website (www.litware.com), one for its services (services.litwarehr.com), one for all the tenants that use the application (www.litwarehr.com) and a couple of sample tenant’s institutional websites (www.contoso.com and www.fabrikam.com).

But Windows XP’s IIS (version 5.1) does not allow multiple websites, so what can we do?

One possible approach is to basically turn each one of windows Server 2003 websites into a Virtual directory in Windows XP’s IIS 5.1. Following this, instead of http://www.litware.com, we would have http://localhost/litware for instance:

II1s.png

Running Litware HR on windows XP implies the virtual directories structure change and others too. That is why we came up with a set of instructions that will allow you to work around the issues. We’ll keep working on this so hopefully a new MSI will be published soon; but if you want to test and evaluate LitwareHR on Windows XP today, please follow this how-to.

Note: Even if you follow the how-to steps, LitwareHR will not work under Windows Vista (yet :)) because ADAM is not yet compatible with that Windows version. See the related discussion:

 http://www.codeplex.com/LitwareHR/Thread/View.aspx?ThreadId=7203

Links:

Enjoy :)

Next Page »