Archive for the ‘Microsoft Solutions’ Category

Is your application suitable for Windows Azure?

Friday, August 27th, 2010

Some IT professionals describe cloud computing as an “amorphous” thing. It is hard to clearly understand what it is, and most importantly, to know if it works for your organization. The cloud is not only difficult to understand, but it is growing and changing at such a fast pace that it is hard to keep up with it and understand what it offers. Nonetheless, the cloud is not an ‘all or nothing’ deal; you need to assess the readiness of each application of your organization.

To understand cloud computing, you need to assess what technical, monetary, and marketing benefits it offers for each of your applications. There are five simple patterns that serve to assess if the applications in your organization are suitable for the cloud or not, more specifically, if they are suitable for Microsoft’s cloud computing platform, Windows Azure.

1. Transferance. This is about understanding how you actually take what the application has on-premise and push it out to the Azure platform. This is really about migration – what does the app look like in the cloud? You might even want parts of the application hosted in Azure while still keeping parts of it on-premise. For example, you might want to manage identity on-premise and have the rest of the application in Azure. If so, then you have to understand how these parts would communicate – Windows Azure offers services for effective communication. This pattern also considers the type of data that you manage and store in the application; if the data is regulated you might want to keep it on-premises – there is still some debate as to whether the cloud is compliant with PCI, HIPAA, and SOX.

2. Scale and multi-tenancy. Windows Azure differentiates the web tier of your application from the worker tier (back-end compute tier) for different reasons, one of them scalability - in case you need to achieve scale on only one tier. This pattern involves the web tier. If you are not sure how big and at what rate your application will grow or shrink, Windows Azure’s cloud provides real time capability to increase or decrease the number of web tier instances. For example, if you are creating a new web site that your team estimates will be receiving 10,000 hits per month in 6 months and you are hosting it on-premises, you will most likely buy the capacity now for 10,000 hits and expect that it will need exactly that. While if you host it on Windows Azure, you can, on a daily basis, set the number of web-tier instances you need based on the hits you are receiving. Since Windows Azure offers a pay as you go model, you only pay for the capacity you use per day.

  • A recent (July 2010) survey of IT and business decision makers sponsored by Savvis showed that 76 % of survey takers see the “lack of access to IT capacity” as a barrier to business progress, hence Windows Azure can help with business agility. Kelley Blue Book migrated its applications to Windows Azure and it now takes them 6 minutes to boost capacity (vs. six-week turnaround for on-premise hardware).

3. Burst compute. This pattern involves the worker/compute tier of your applications. You can use Windows Azure for some tasks on the computing tier of your application that might need to be scaled up and down really quickly, for high compute power for short periods of time. For example, if your application needs to process heavy imaging at the end of every month, you can use the “infinite” compute power of Windows Azure. More importantly, if one month you need to process 100 times the number of images that you normally process, you can quickly increase the number of instances of your application’s worker tier for one day and then shrink it back to normal. To illustrate further, Windows Azure could also be used to host a tax application that needs a lot of capacity for only a couple of weeks per year – 2 to 3 weeks before Apr 16.

4. Elastic storage. Currently, storage is non-expensive on-premise. However, the actual maintenance of the storage is the greatest expense; adding, removing, swapping disks in a changing environment can become very difficult to handle. In addition, you need to worry about backing up, recovering, etc. On Windows Azure, you can smoothly add/remove storage capacity, paying as you go, and Microsoft takes care of everything else such as automatically double-backing up your data behind the scenes.

  • Furthermore, Windows Azure Content Delivery Network (CDN) has 18 global locations strategically placed to provide maximum bandwidth for delivering content to users. For example, Glympse, who provides a location-sharing application for GPS-enabled phones, moved from Amazon’s cloud to Windows Azure and mentioned that performance of Azure exceeded that available on Amazon

5. Inter-organizational communication. This pattern involves Azure’s offering through its Service Bus component, by ensuring easy and effective communication of applications that have firewalls in between. For example, if your cloud-based or on-premise application needs to share some functions with a partner’s application, they can use the Service Bus functionality to give direct access without worrying about the firewall. Otherwise, you need to create specific mediums/packages of communications, which then becomes even more difficult to handle if you add a third partner application to the communication.

  • The inter-organizational communication issue will grow further since we are running out of public v4 IP addresses and a lot of organizations are doing network address translation which makes communication more difficult.

Again, deciding where your applications should be hosted is not an ‘all or nothing’ deal, you need to determine what will be the best place for each application. It is about having a good strategy for your organization’s applications considering your current investments on hardware, the specifications of your applications, and future expectations for the use and growth of each of them.

In case you want to test Windows Azure, Microsoft is currently offering a Introductory Special until October 31, 2010. If you want to assess the cost savings of using Windows Azure, you can use Azure’s TCO and ROI calculator.

Head in the Clouds … the BPOS Cloud to be Exact!

Thursday, July 8th, 2010

Have you ever wished you could have enterprise level collaboration and communication software readily available without the hassle of downloading, installing, patching, and upgrading as well the additional server maintenance costs needed to run it?

 

If this concept peaks your interest, then Microsoft’s Business Productivity Online Suite (BPOS) offering could be a great fit for your needs.

 

What is BPOS?

Microsoft has bundled together a collection of services into their cloud environment and called this offering the Business Productivity Online Suite (BPOS). The suite contains Exchange for email, SharePoint for collaboration, Office Communicator for instant messaging and Office Live Meeting for screen sharing and live collaboration.

 

Exchange Online

Provide employees access to e-mail, calendar, and contacts from virtually anywhere, at any time, on desktops, laptops, and mobile devices—while helping to protect against malware and spam. Exchange Online can be rapidly deployed, flexibly expanded, and is designed to be securely administered using a powerful yet easy-to-use Web-based console.

 

SharePoint Online

Share documents, contacts, calendars, and tasks in a single location. Based on Microsoft Office SharePoint® Server 2007, SharePoint Online delivers rich collaboration capabilities that enable team members to flexibly and efficiently collaborate, find organizational resources, search your intranet site, and manage content and workflow.

 

Office Live Meeting

Connect with colleagues and customers through real-time meetings, training sessions, and events using only a PC with an Internet connection. Hosted Web conferencing services from Microsoft Office Live Meeting give your employees the power to collaborate wherever they are, to set up project meetings, brainstorm ideas, and collaborate on whiteboards without the cost and hassle of travel!

 

Office Communications Online

Enable users to find and rapidly connect with the right person from the applications they use most. Office Communications Online provides streamlined access to rich presence and instant messaging capabilities that are centrally managed by IT and work seamlessly with a range of Microsoft Office system programs.

 

Why should you consider using BPOS?

The goal of these online service offerings are to enhance productivity, collaboration and communication while reducing costs by freeing up resources associated with managing and maintaining software and hardware for on-premise servers. Another way of putting this is that businesses will be provided the latest technologies without the hassle of validating, installing, or creating back-out plans for patches, service packs, and new versions (such as migrating from Exchange 200x to Exchange 2010).

 

One of the main areas businesses are always concerned about is security & disaster recovery plans, especially when moving information to a location that is outside of their physical control. To settle these concerns, all of Microsoft’s online offerings come with financially backed SLAs with 99.9% uptime guarantee, secure access via SSL, Cyber Trust, SAS70 compliance, multi-layered antivirus and spam filtering, and geo-redundant data centers.

 

For those that already have on-premise servers established another option you are presented with is the concept of coexistence. This will allow businesses to retain their established Active Directory and Exchange servers with the ability to work alongside their BPOS implementation through the use of AD synchronization and Exchange migration tools.

  • The AD synchronization is one-way, from on-premise to cloud, so there is no risk to your on-premise AD implementation.
  • For the Exchange migration from on-premise to online, this can be performed on an account-by-account basis in order to allow for the establishment of a migration plan or you can choose to migrate specific users and leave the rest using the on-premise server.

What does the future of BPOS hold?

As of today, the service offerings included in BPOS are based upon the 2007 software offerings. Unfortunately there currently are some noticeable gaps between the on-premise and online functionality, mainly around SharePoint Online. However, with the release of Exchange 2010 and SharePoint 2010 there are plans in the works to get the online offerings up-to-speed to match the on-premise functionality.

 

It is important to note that you will not be forced to automatically update to 2010 features. You will be presented with the option to upgrade in order to allow a planned transition to newer features and functionality.

Benefits of upgrading to SharePoint 2010

Wednesday, June 2nd, 2010

We’ve been getting a lot of questions about SharePoint 2010 and if and why companies should upgrade from 2007 to 2010.  As with any new product out there, upgrading just for the sake of it is usually not a good idea and does not guarantee ROI.  Having worked with Microsoft directly through the Office 14 Developer Advisory Council, we have some specific insight into some of the key benefits a company can expect to gain by upgrading or migrating to SharePoint 2010.  If any of these appeal to you, you may want to look at making the move to 2010.

 

Enhanced UI - Microsoft has done a great job with the new UI of SharePoint 2010.  Aside from taking advantage of Silverlight and Ajax to create a much richer user experience, MS has also taken advantage of the ever popular ribbon UI and incorporated that into SharePoint 2010.  In general MS is working to converge SharePoint 2010 and Office products so that eventually, you won’t be able to tell where SharePoint stops and Office begins, or visa-versa.  This means less training and greater efficiency for your end users.

 

Empowered Users — SharePoint 2010 was built with the notion that IT cannot deliver all mission critical systems to all departments all of the time. By greatly enhancing and adding to the set of building blocks that users can incorporate into their own pages and workspaces (referred to as Composites in 2010), users can create powerful and practical business applications on their own.  In 2007, anything that was remotely complex would typically require Visual Studio, XML, or SharePoint Designer expert to build something practical.  Non technical users can also take existing solutions such as Access databases and convert them into SharePoint web-based data entry applications so that existing investments are not thrown away in order to become centrally managed.

 

Enterprise Level Social Collaboration - Microsoft has made some great strides in defining collaboration.  They have done a great job of emulating mainstream social collaboration utilities such as Facebook, Wordpress, Wikipedia, etc. and making them ideal for corporate usage.  This makes it much easier for your users to make the leap from traditional back and forth email communication to a social networking centric communication model.  This means, much more efficient communication and the constant capturing of tacit business knowledge without burdening your workforce.

 

Two-way Interaction with Business Data – SharePoint 2010 has reengineered the business data catalog to no longer require complex XML configurations.  Line of business systems can be integrated quickly and easily into SharePoint. Through an interface that is very similar to SharePoint lists, users can edit Line of Business data directly in SharePoint in a secure and efficient manner.  This is a big deal because most end users will only end up using 10-15% of a line of business system but you still have to train them on the overall system.  If they can interact with only the data they need to through a consistent and streamlined interface like SharePoint, the benefits are apparent.

 

Control for IT — Ok, so we have all of this great functionality and users can create their own powerful business applications with minimal involvement of IT.  Although this sounds like a great thing for the customer, this also tends to make most IT departments cringe.  SharePoint 2010 has added several control features that allow for IT to retain control and not let rogue applications and solutions hijack your company resources.  Through a robust throttling mechanism, IT can “Sandbox” end user solutions and only allow them to leverage a certain number SharePoint Server Resources (a Server Resource is a point system comprised of memory, disk space, CPU cycles and several other parameters that you can configure and put weights to).  The nice thing is you can Sandbox a site, page, web part, list, workflow, etc.  This granularity allows for lots of control.

 

On Premise or In the Cloud — SharePoint 2010 also unlocks several compelling deployment scenarios for your organization. With its new architecture, control mechanisms, and scalability features, companies can deploy either on premise or in the cloud without losing functionality or control.  In previous versions, only Windows SharePoint Services could be deployed in the cloud.  The biggest hindrance to MOSS 2007 in the cloud was the Shared Service Provider made MOSS difficult to fit on a shared, hosted environment.  SharePoint 2010 has gotten rid of the SSP and moved to an architecture that is conducive to this.

Office 2010 Integration with SharePoint 2010

Monday, March 22nd, 2010

Based on our recent work with SharePoint 2010 and Office 2010, here is a list of observations of the differences between the two versions of Office when integrating with SharePoint 2010.

Some enterprises may decide to rollout SharePoint 2010 without upgrading Office. In this case, here are the features that you will miss out on!. This is not a comprehensive nor the official list and is based on our initial experiences. Please post in the comments if you have additional features or if some of these work in 2010

Legend -

Fully Available - Fully Available

Unavailable - Unavailable

Partially Available - Partially Available

Word

Feature Word 2007 Word 2010
Save to SharePoint Fully Available Fully Available
View and Manage Versions Fully Available Fully Available
View/Manage/Start Workflows Fully Available Fully Available
View and Manage Workflow Tasks Fully Available Fully Available
Co-Authoring of the same document simultaneously Unavailable Fully Available
Set Managed Metadata Properties Unavailable Fully Available
One click document synchronization with the server Unavailable Fully Available
Social Integration with Notes and Tags Unavailable Fully Available
Office BackStage Unavailable Fully Available

PowerPoint

Feature PowerPoint 2007 PowerPoint 2010
Save to SharePoint Fully Available Fully Available
View and Manage Versions Fully Available Fully Available
View/Manage/Start Workflows Fully Available Fully Available
View and Manage Workflow Tasks Fully Available Fully Available
Co-Authoring of the same document simultaneously Unavailable Fully Available
Set Managed Metadata Properties Unavailable Fully Available
One click document synchronization with the server Unavailable Fully Available
Social Integration with Notes and Tags Unavailable Fully Available
Office BackStage Unavailable Fully Available
Slideshow Broadcasting from Powerpoint through PowerPoint web app Unavailable Fully Available
Edit Video and Pictures within the document Unavailable Fully Available
Screen Capture Tools Unavailable Fully Available

SharePoint Designer

SharePoint Designer 2010 is required to edit SharePoint 2010 sites. It is not backward compatible with MOSS 2007 either.

Outlook

Feature Outlook 2007 Outlook 2010
Social connector to LinkedIn Unavailable Fully Available
Take SharePoint lists offline Fully Available Fully Available
Overlay Calendars Partially Available Fully Available
Plug-ins to connect to SharePoint social features Unavailable Fully Available

Visio

Feature Visio 2007 Visio 2010
Save to SharePoint Unavailable Fully Available
View and Manage Versions Unavailable Fully Available
View/Manage/Start Workflows Unavailable Fully Available
View and Manage Workflow Tasks Unavailable Fully Available
Publish to Visio Web Services from the client Unavailable Fully Available
Build Workflows for SharePoint Unavailable Fully Available
Import Visio Workflows to SharePoint Designer 2010 Unavailable Fully Available
Office Backstage Unavailable Fully Available

Excel

Feature Excel 2007
Excel 2010
Save to SharePoint Fully Available Fully Available
View and Manage Versions Fully Available Fully Available
View/Manage/Start Workflows Fully Available Fully Available
View and Manage Workflow Tasks Fully Available Fully Available
Co-Authoring of the same document simultaneously Unavailable Fully Available
Set Managed Metadata Properties Unavailable Fully Available
One click document synchronization with the server Unavailable Fully Available
Office BackStage Unavailable Fully Available
Improved Publishing to Excel Web Access Partially Available Fully Available
Excel SparkLines Unavailable Fully Available
Excel data slicers Fully Available

InfoPath 2010

InfoPath 2010 is needed for customizing the display forms in SharePoint. Forms can be filled in but will not support the features like BCS metadata controls and people selected controls.

Custom ASPX pages (w/ code behind) in SharePoint

Monday, January 4th, 2010

There are several different ways to add custom ASPX pages with code behind to SharePoint. The following link gives an overview of some of the most common ways to do this (http://sharenotes.wordpress.com/2008/02/21/add-custom-aspx-pages-or-asp-net-pages-in-sharepoint/) ; however, the below approach in this article is a new alternative which I find to be fairly quick, easy, and allows us to still utilize SharePoint’s security without needing to build and deploy a feature.  This is a good approach if your pages are going to live in soley one place without the need to be reusable like webparts.

To make your custom ASPX page ready for Sharepoint, you will need to perform the following in the code behind ([filename.aspx].cs):

  • add all event handlers dynamically in the page load (we will also remove any event handler references in the aspx mark up)
  • Reference the Microsoft.SharePoint and Microsoft.SharePoint.Publishing assemblies.  These are usually found at C:Program FilesCommon FilesMicrosoft Sharedweb server extensions12ISAPI and C:Program FilesMicrosoft Office Servers12.0Bin
  • Implement Microsoft.SharePoint.Publishing.PublishingPageLayout instead of System.Web.UI.Page

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using Microsoft.SharePoint;
using Microsoft.SharePoint.Publishing;

namespace SharePointCustomPageTest
{
    public partial class _Default : Microsoft.SharePoint.Publishing.PublishingLayoutPage
    {
        protected void Page_Load(object sender, EventArgs e)
        {
            this.btnClear.Click += this.btnClear_Click;
            this.btnSubmit.Click += this.btnSubmit_Click;
        } 

 protected void btnSubmit_Click(object sender, EventArgs e)
        {
            int i = 0;
            int i2 = 0;
            int i3;
            try
            {
                if (txt1.Text.Length > 0)
                    i = Convert.ToInt16(txt1.Text);
                if (txt2.Text.Length > 0)
                    i2 = Convert.ToInt16(txt2.Text);

                txt3.Text = (i + i2).ToString();

            }
            catch (Exception ex)
            {
                txt3.Text = ex.Message + ex.StackTrace;
            }
        }

        protected void btnClear_Click(object sender, EventArgs e)
        {
            txt1.Text = string.Empty;
            txt2.Text = string.Empty;
            txt3.Text = string.Empty;
        }
    }
}

In your aspx mark-up, make the following adjustment:

  • Remove all references to event handlers (e.g. onclick=”… )

%@ Page Language="C#" AutoEventWireup="true" CodeBehind="Default.aspx.cs" Inherits="SharePointCustomPageTest._Default" %>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "<a href="http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd</a>">

<html xmlns="<a href="http://www.w3.org/1999/xhtml">http://www.w3.org/1999/xhtml</a>" >
<head runat="server">
    <title></title>
</head>
<body>
    <form id="form1" runat="server">
  <div>
    <div>Number 1:<asp:TextBox ID="txt1" runat="server" /></div>
    <div>Number 2:<asp:TextBox ID="txt2" runat="server" /></div>
    <br />
    <div><asp:TextBox ID="txt3" runat="server" ReadOnly="true" /></div>
    <br />
    <div><asp:Button ID="btnSubmit" runat="server" Text="Add"
            />&amp;nbsp;<asp:Button ID="btnClear"
            runat="server" Text="Reset"
             /></div>
    </div>    </form>
</body>
</html>

Build your project assembly (signing the assembly), adding it to your server’s gac (or web application bin), as well as registering the assembly as a SafeControl in your SharePoint web.config.

The final task is to get our aspx pages ready for SharePoint.  Our aspx pages should basically follow the structure of page layouts (you can open and copy one of these using SharePoint Designer).  Build your new aspx pages using the example structure shown below, placing our aspx code in the PlaceholderMain content placeholder, as well as adding reference to our assembly in the Inherits statement.  I recommend this “Sharepoint-ready” aspx page be built external to your original project, as once the below changes are implemented to your page, your project will not build any longer. 


<%@ Page Language="C#" CodeBehind="Default.aspx.cs" Inherits="SharePointCustomPageTest._Default, SharePointCustomPageTest, Version=1.0.0.0, Culture=neutral, PublicKeyToken=acec0186600f0729" %>
<asp:Content ContentPlaceholderID="PlaceHolderMain" runat="server">
 <div>
    <div>Number 1:<asp:TextBox ID="txt1" runat="server" /></div>
    <div>Number 2:<asp:TextBox ID="txt2" runat="server" /></div>
    <br />
    <div><asp:TextBox ID="txt3" runat="server" ReadOnly="true" /></div>
    <br />
    <div><asp:Button ID="btnSubmit" runat="server" Text="Add"
             />&amp;nbsp;<asp:Button ID="btnClear"
            runat="server" Text="Reset"
             /></div>
    </div>
 
</asp:Content>

Once your page is ready, simply upload it into any SharePoint library (e.g. Pages library).

Windows Azure - Case Studies

Wednesday, December 30th, 2009

Windows Azure demonstrates the degree to which technology and services are available at the global level.  Companies around the world are using Azure to enable services and applications that serve local and global geographies.  Microsoft has done a great job of enabling Azure in many different geographies, as the following examples demonstrate.

                Sopima, a U.S. based company that provides services for managing business contract life cycles and OCCMundial, a Mexico based company that provides an online job listing application, both switched to the Windows Azure platform.  Each company plans to save U.S. $500,000 per year by using cloud services rather than maintaining their own infrastructure.  Both companies are excited that they will be able to have technical staff focus on development rather than infrastructure.  Kelley Blue Book (KBB) is moving its .NET 3.5 solution to Azure from two hosted data centers, and will be saving $100,000 per year.  KBB evaluated other software-plus-service solutions and selected Azure based on cost, ease of management and available features.

                TradeFacilitate, a company that helps importers and exporters in the European Union, needed a system that would allow them to scale out quickly and enable them to serve customers outside of the E.U. and enable efficient data transactions between the U.S. and the E.U. Utilizing the integrated development environment that is available in Visual Studio, they were able to quickly migrate their code base to run in the cloud.  By using Azure, they were able to scale their applications without needing more staff to manage a more complex infrastructure.

                TicketDirect International is a major ticketing service for venues in Australia and New Zealand.  The nature of ticket sales involves peak loads, and their internal solution requires extra staff and time to manage.  Working with a Microsoft partner, they have decided to move their solution to Windows Azure and their database to SQL Azure so that they can focus further on customer-centered needs, give up the cost of maintaining their own production hardware, and cost-efficiently enable scaling for peak loads.

                 Glympse provides a web-based location-sharing application for use with GPS-enabled phones.  The company constantly evaluates hosting services, and recently moved from Amazon to Azure for the integrated development environment.  The development environment and available services provided with Azure surpass those offered by Amazon.  Additionally, Glympse found that the performance of Azure exceeded that available with the Amazon service.

                The Associated Press provides news that is seen by more than half of the world’s population on any given day.  In an effort to encourage more applications to use information available from them, they created a highly scalable API that can be used by developers worldwide.  The company uses SQL Azure, Windows Azure and the Azure Service Bus to efficiently enable integrations, selectively expose services outside the firewall, take the worry out of capacity planning, and provide high quality development tools.  The management capabilities for deployment and capacity needs in Azure far exceeded those available with other cloud providers.

More case studies and detailed articles can be found at http://www.microsoft.com/windowsazure/evidence/

Windows Azure - Security

Wednesday, December 30th, 2009

Security is essential to any computing environment, and Windows Azure is no different.  In any given field, experience is the key element to success, and Microsoft has more experience in the delivery and consumption of online services than any other company out there.  Microsoft has been managing online computing environments since 1994 when MSN was launched.  They have partnerships in place in over 100 countries that enables them to remain compliant with standards and requirements, and they provide services to hundreds of millions of customers around the world on any given day.  These partnerships and the global exposure ensure that Microsoft exercises the most stringent compliance to standards and security practices.  The Microsoft Information Security Program draws on more than 15 years of experience, and is constantly maintained and updated based on threats and security evaluations.

                The Microsoft Online Services Security and Compliance (OSSC) team manages ongoing risk analysis and security control.  The OSSC team is responsible for enabling trustworthy online services through Azure.  This team has deployed a defense-in-depth approach to security that includes regular risk management reviews, development, and maintenance of a security control framework along with ongoing efforts and collaboration with law enforcement entities around the world.  This process is not new with Azure - it has been in place since MSN was launched in 1994.  Microsoft has been maintaining the Global Foundation Services (GFS) for years, as GFS provides the foundation for MSN, Windows Live and now the Windows Azure platform.  Their practices are tried and true, and have proven successful for hundreds of millions users.

                Physical security, which provides for data privacy and service availability, is provided multiple perimeters, with access being more restricted at each perimeter.  A least privileged security policy is used, ensuring that only essential personnel actually get near the equipment.  Security measures include password, hardware tokens, smart cards and biometrics.

                Specialized hardware such as load balancers, firewalls, and intrusion prevention devices ensure the integrity and security of the cloud network.  The infrastructure actively prevents denial of service attacks and uses gateway functions on dedicated hardware to perform packet inspection and take actions such as blocking suspicious activity.  A globally redundant internal and external DNS infrastructure provides for fault tolerance while additional security controls prevent distributed denial of service attacks and protect the integrity of DNS services.  Continuous monitoring for unauthorized software and DNS zone configuration changes as well as other disruptive service events ensures a secure, reliable DNS environment.

                Microsoft classifies information assets to determine the strength of security controls to apply to data.  A matrix including the business impact and data sensitivity of compromised data is used to classify data.   For example, assets falling in the moderate impact category are subject to encryption requirements when they reside on removable media or when they are involved in external network transfers.  High impact data is additionally subject to encryption requirements for storage and for internal system or network transfers.  In Azure, symmetric encryption requires more than 128 bit keys while asymmetric encryption requires keys that are at least 2,048 bits long.

Getting Ready for SharePoint 2010

Monday, December 7th, 2009

Last month at the SharePoint conference in Las Vegas, Microsoft unveiled the feature set and hardware requirements for SharePoint 2010.  2010 requires 64 bit hardware and that might mean a significant re-platforming of your existing developer machines.  With MOSS 2007 developers were free to run a test environment on their 32 bit machines using Virtual PC.  Bamboo Solutions even came up with an innovative solution to run MOSS 2007 locally on Vista machines

MOSS on Vista

However, If you are a SharePoint developer and you currently have a 32 bit machine, there are some significant changes coming down the road.

First, move on to a 64 bit platform if you can.  Irrespective of whatever OS you run(Windows 7 , Vista or Windows Server 2008) moving to a 64 bit platform provides you the flexibility to run 64-bit 2010 Virtual machines natively using Hyper-V or VMWare Server or Virtual Box

If you are running Windows 7 and do not want to deal with VMs, there is an interesting option called “Boot from VHD” in Windows 7.  With this option,  you could boot directly into a Windows 7 or Windows Server 2008 test environment VHD and hence leverage all of your system resources within the VHD.  Here is a great post that talks about the steps to prepare a VHD and boot from it.

http://blogs.technet.com/aviraj/archive/2009/01/18/windows-7-boot-from-vhd-first-impression-part-2.aspx

If you are stuck with a 32 bit machine and you are not part of a hardware refresh cycle, you have one option.  If your machine has a Intel/AMD chipset that supports virtualization, make sure to update your BIOS by visiting the manufacturer’s website.  Once your BIOS is updated, you should see an option to turn on Virtualization within your BIOS setup.  After turning on virtualization within the BIOS, you can run your 2010 VMs.  Currently,  VMWare Server 2.0 and Sun’s VirtualBox support running 64 bit guests on 32 bit hosts.   The performance of these VMs on 32 bit hosts leave a lot to be desired and is definitely not recommended for hard core SharePoint development.  You will be better off developing off of a Hyper-V or VMware Server hosting your VMs remotely.

5 things that you think will work in MOSS 2007 but don’t

Monday, December 7th, 2009

When you work for some time with MOSS 2007, sometimes you might overlook some inconsistencies within the product.  Here is a quick list of quirks(now say that fast!) with MOSS 2007

  1. When you have a Gantt view of the Task List, Web part connections are unavailable.  Hence you cant filter a Gantt View using the Filter Web Parts
  2. DateTime columns cannot be used for Grouping in the Content Query Web Part out of the box
  3. You cannot use the PortalSiteMapProvider to retrieve Navigation items from another site collection
  4. If you have a Date Column in a List, it cannot be used as a Lookup Column on another List
  5. When you use the Content Migration APIs to transfer content from one farm to another, people fields do not migrate accurately

New Features in Visual Studio 2010 and .NET Framework 4

Monday, December 7th, 2009

As a developer working with Microsoft technologies, I use Visual Studio on a daily basis. Therefore, I’m really looking forward to the new version that is currently under development – Visual Studio 2010. It has a number of new and improved features, and will support the upcoming .NET Framework 4. In this post, I’m going to highlight the most significant new and improved features of Visual Studio 2010 IDE and .NET Framework 4. Please note that this information is based on the Beta 2 version of the product.

VS 2010 B2 Start Page

VS 2010 B2 Start Page

Enhanced User Experience

Overall, Microsoft has done a great job cleaning up and organizing the UI and making it easier to use.

  • Reduced complexity lets you focus on the task at hand
  • Better support for floating documents and windows
  • Multi-monitor support increases productivity
  • Customizable Start page (XAML)

Code Editor

New code editor is a great step forward from the usability aspect. It’s been rebuilt using Windows Presentation Foundation (WPF) technology, which enables code editor to present the information in a rich way that was not possible before.

  • Zooming lets you easily zoom in or out any text document or graph
  • Document Map Margin feature renders a graphical view of the source file
  • Inline Call Hierarchy feature displays code calls for an entity or method
  • Highlight References feature instantly highlights all references of a particular object
  • Quick Search feature delivers a word wheel based search
    • Integrated with Highlight References feature
    • Supports CamelHumps in code completion
  • TDD - consume first, declare second
  • Extensible, so possibilities are endless
  • Many Debugger improvements (WPF Visualizer, grouping/labeling of breakpoints, etc.)

Web Development

There are a lot of improvements in the Web Development experience.

  • Full ASP.NET MVC support
  • A high-performance and standards-compliant JavaScript IntelliSense engine
  • Native jQuery support and IntelliSense
  • HTML Snippets
  • One Click Deployment quickly publishes files and configuration settings from development machines to the final deployed site
  • Full support for Silverlight for rich Internet applications
  • ASP.NET 4
    • Static IDs for ASP.NET Controls
    • New Chart control
    • Web.config Transformations
    • Controls output clean markup by default (no need for CSS control adapters)
    • Many improvements to existing controls

SharePoint Development

If you have done any SharePoint development work in the past, your must know how time-consuming and cumbersome it can be. Visual Studio 2010 includes tools and wizards to greatly simplify and speed up SharePoint development. Of course, it will also include all tools needed for SharePoint 2010 development. I’m very excited about this and can’t wait to try these new tools.

  • Advance in usability and functionality
  • New project templates
    • Workflow, Content types, List Definitions, Site Definitions, Web Parts, Application pages, Master pages, Server controls, Modules, Fields
  • New visual designers
    • Web Parts, app pages, user controls, packages
  • Project wizards simplify solution development
  • Improved experience in the code -> debug -> deploy process
  • Create workflows at the site level and add association/initiation forms for either list or site workflows
  • Design BDC models that can pull data from MS SQL Server, Siebel and SAP
  • Import BDC models created in other tools, add custom code, or just package and deploy them to farms
  • VS extensibility API lets you create new or extend existing SharePoint project items, enhance deployment and retraction functionality, and extend the display and actions of SharePoint nodes in Server Explorer
  • Server Explorer can browse SharePoint Sites

Windows 7 Development

Windows 7 is quickly gaining traction and Visual Studio 2010 includes all the tools you need for developing desktop applications.

  • Added tools to assist developers in building new apps and making existing native apps take advantage of new Windows features
  • Full library and header support for Windows 7
  • Significant updates to MFC to support Windows 7 UI elements (ribbon, live icons, search access, multi-touch enabled interfaces)
  • Improvements to the WPF support and integrated data binding from the properties grid and data sources windows

Office Business Application Development

The new tools will simplify OBA development and support the upcoming Microsoft Office 2010 suite.

  • Build Office client apps that span multiple versions of Office and are delivered as a single deployment package
  • Graphically assemble the package, leverage ClickOnce, CD or Web installs to get the apps to the end users
  • Designer support for building flexible UI in either WPF or Fluent allows developers to customize the Office File Menu, Task Panes, Outlook Form Regions and the Fluent UI itself (i.e. ribbon view)
  • Improved data binding, integration of various Office data sources with LINQ, ability to data bind to the BDC
  • Apps can interoperate with many Office objects

Cloud Development

Cloud computing is gaining momentum and Windows Azure Tools for Visual Studio will let you start developing services and applications for Microsoft’s cloud platform.

  • C# and VB Project Templates for building Cloud Services
  • Tools to change the Service Role configuration
  • Integrated local development via Development Fabric and Development Storage services
  • Debugging Cloud Service Roles running in the Development Fabric
  • Building and packaging of Cloud Service Packages
  • Browsing to the Azure Services Developer Portal

Application Lifecycle Management (Visual Studio Team System 2010)

Everyone on the project team will benefit from these new features.

  • Architecture Explorer lets you discover existing code assets
  • Support for multiple diagram types, including use case, activity and sequence diagrams
  • Tools for better documentation of test scenarios and collection of test data
  • Test Impact View lets you run tests impacted by a code change
  • Enhanced version control includes gated check-in, branch visualization and build workflow

Parallel Programming, Simplified

  • Full IDE support for parallel programming
  • Native C++ libraries that use lambda functions and align well with STL
  • Parallel Extensions to the .NET Framework offer support for imperative data and task parallelism, declarative data parallelism, etc.
  • Resource management of the multicore hardware and task scheduling enabled by Concurrency Runtime
  • Parallel capable performance analyzer enables visual representation of concurrency issues
  • Parallel debugging windows and profiling views

Database Support

  • Work with IBM DB2 and Oracle databases in addition to Microsoft SQL Server databases
  • IBM and Quest Software committed to provide Database Schema Providers (DSPs), which will allow offline design, development, testing and change management

Visual Studio 2010 and .NET Framework 4 include a lot of exciting new features and improvements for project managers, architects, developers and testers. You can find more information about Visual Studio 2010 and download the latest version by visiting the Visual Studio website or Visual Studio Developer Center.