I'm pleased to announce my latest Silverlight-Azure reference application which is called Joint Venture. Joint Venture provides a workspace for cross-business project teams. That is, teams made up of people from more than one business who are working on some kind of business collaboration. This is an example of a Multi-Enterprise Business Application (MEBA), an app used by multiple businesses who have a relationship with each other. The cloud is an ideal place for business collaboration, providing a neutral location that can be easily and universally accessed.
Here's a screen capture of what Joint Venture looks after a user has logged in and is viewing one of the projects they belong to. In this example, there is a 3-way collaboration between AdventureWorks (a manufacturer of camping and sporting equipment), Northwind Traders (a national retailer who will be distributing AdventureWorks' products), and Woodgrove Bank (a financial partner who provides credit services to consumers). The team member names, photos, roles, and companies are shown along with contact information. Project documents can be uploaded and downloaded.
Viewing a Project (click to enlarge)
Any member of the team can see the project team and project documents. Each team member is granted an access level by the project owner (viewer, contributor, or administrator ). A viewer can see the team and project documents but can't add or change anything. A contributor can add or update documents but can't change any team information other than their own. An administrator can change anything in the project, including making changes to the makeup of the team.
Team members don't have to be members of Joint Venture in order to be added to a project. In the screen capture, you see that some members are shown with photos, indicating they have visited Joint Venture and set up profiles. Other team members are shown with a default team member icon--they can still be included in the project even if they haven't joined the site yet. Once they do, their pictures will appear and the project will be available to them. It's the use of email address as unique identifier that provides the linkage between users and projects.
Technically, Joint Venture makes heavy use of Silverlight, WCF, Azure, and Windows Live ID. The cloud is used in 3 ways: to host the Silverlight application and WCF web service, to authenticate users via Windows Live ID, and to store user profiles and project information. The web service is necessary because Silverlight can't directly make calls to cloud services due to its security model. Silverlight calls the web service and the web service handles all of the storage and recall of data. Cloud blob storage is used in the same way you would use a file-system in a local application.
Joint Venture is just getting started. It needs to be extended and refined before I consider sharing it on CodePlex. In the meantime it can be accessed online at http://jointventure.cloudapp.net and I'm interested in feedback on where to take it next. Future plans include extending project information to include folders for project documents, a threaded discussion board, and a project plan/timeline.