« April 2010 | Main | June 2010 »

May 31, 2010

Virtualization and Private Cloud - Draw a line

Many a times you might get this question, where do I draw a line and say what's virtualization and what's private cloud? While setting up a private cloud lab we had similar question. Though, there is no clear answer, we tried to take out a few characteristics which might help.

There are a lot of definitions of virtualization and cloud as such, let me try to explain it in a simpler way. There are multiple types of virtualization like hardware virtualization, application virtualization, storage virtualization etc. From private cloud perspective we are more interested in Hardware virtualization. Hardware Virtualization technique helps us to simulate multiple hardware boxes out of one single box. It helps creating multiple servers from a single hardware box. The software program which helps achieving this is called as hypervisor. So virtualization helps creating multiple servers from one to improve the utilization of physical boxes in the data center. A physical box which is used for virtualization is referred as Host where as the simulated virtualized boxes within that are referred as Guests. For further discussion let us consider these hardware boxes as resources.

                From simplistic point of view Cloud means unlimited externally located and managed resources available on demand and supports pay as you go model. This definition can be true for public cloud but from private cloud point of view we will have to tweak it a little. Private cloud, as name implies is part of the organization's data center and hence it is referred as private. Practically we cannot apply the characteristic of public cloud saying that it provides unlimited resources. Though, Private cloud has some known limits in terms of resources but it can provide dynamic - on demand resource allocation, management of resources and pay as you go billing/usages.

                Private cloud can be achieved using virtualization but not always necessary. You could create private cloud without virtualization, using a large set of commodity hardware. Private cloud has management, billing and dynamic allocation layer over the virtualized or non-virtualized resource pool. Resources here could virtualize machines, RAM and hard disk allocated to the machines, network bandwidth etc. In nutshell not correct to compare virtualization with private cloud. Virtualization can be used as a building block to achieve private cloud.  Following images should help clarify it better.

PrivateCloudWithVirtualization.jpg

 

PrivateCloudWithoutVirtualization.jpg

 

Characteristics of Virtualization:

1.       Helps in optimizing resource utilization by emulating multiple resources using one

2.       Manual management of resources like upgrades, patches and maintenance etc.

3.       Manual monitoring and usage

4.       Doesn't provide self service commissioning of resources

5.       It's about infrastructure

 

 

Characteristics of Private Cloud

1.       Provides dynamic commissioning and de-commissioning of machines/resources

2.       Automatic and centralized management of available resource pool

3.       Automatic management of resources like upgrades, patches and maintenance etc.

4.       Provides self service commissioning of resources

5.       It's about service delivery

Hope this blog helps in clearing the haze while looking at virtualization and private cloud.

May 27, 2010

Whitepapers on SharePoint 2010

We recently published two whitepapers on SharePoint 2010. Check them out at

1. Empowering Power Information Workers Through Composites Workload of SharePoint 2010 

2. Enhancing Search in SharePoint 2010 Using Managed Metadata Services and Analytics

Share your feedback with the authors directly or insert comments to this post. You can check more publications on MS technologies at our resource center.  

May 20, 2010

UI Prototyping with SketchFlow - A Viewpoint

I have written about SketchFlow earlier here and here. I and my colleague, Sakshi, spent some more time on it and have written a viewpoint paper on SketchFlow (version 3), its key features and how do we compare it with other prototyping techniques. You can access the paper from here, and in case you are interested in other papers from my other colleagues, those can be found here.  

Do have a look at the paper and share your comments. With the release of Expression Suite 4 round the corner, we will soon provide an updated version of this paper, that covers the new features of SketchFlow in version 4.  

May 19, 2010

Silverlight - Using x:Key or x:Name

The other day I was discussing new features of Silverlight 3 and 4 with a colleague and we were talking about the ability of specifying styles in Silverlight 4 without using the x:Key attribute. To this my colleague responded that he has not been using x:Key at all, but always has used x:Name.

This sounded strange to me as this isn't the behavior I had seen with my working with WPF. So I did a bit of scanning around and found that this is a special behavior of Silverlight. Having migrated from WPF to Silverlight, I was always in the habit of writing resources with x:Key attribute and not x:Name. In Silverlight, if x:Key is missed out x:Name is used instead, to reference the resource. The following figure shows the relevant portion from the MSDN documentation

SLResName.jpg

[Source: MSDN Documentation - http://msdn.microsoft.com/en-us/library/cc903952(v=VS.95).aspx]

The reason for this behavior, it seems is really to support how the storyboard resources were introduced in Silverlight 1.0 XAML. I believe (I haven't worked with Silverlight 1.0 and hence haven't really validated this), that at that time storyboards were referred to by x:Name so that they could be accessed in the java script code to start/stop them. If you know more about this, do add a comment. 

While this auto replacement between x:Key and x:Name works, as a best practice I would suggest that the usage of x:Name should be limited to those cases, where you want access to the object in question in code behind. If the object/resource in question is a pure XAML only resource (XAML and resource dictionaries), you should look at using x:Key. This is more consistent with the purpose of x:Key and x:Name and tomorrow if this behavior is changed, your code will not break. Do also note that the FindName API used to get access to XAML based instance objects in code behind, will not return any value if the instance in question is identified using an x:Key.

You could however be wanting to omit the x:Key value on a purpose, which would be using the new implicit style feature with Silverlight 4. However, in that case, don't mention the x:Name attribute as well, for if you do, the implicit style will not work.

May 18, 2010

Two-Tier ERP for the new business

Microsoft has recently announced announced a new connector that accelerates two-tier enterprise resource planning (ERP) deployments between Microsoft Dynamics AX and SAP Business Suite. Check the press release here.

 

This new connector enables IT organizations to use Microsoft Dynamics AX across subsidiaries, divisions or branch entities to facilitate cost-effective business process integration and easily connect with SAP installations at the corporate headquarters location.

This connector will enable common business process integration scenarios for headquarters and subsidiary locations across - 

  1. Financial consolidation.
  2. Intercompany supply chain integration.
  3. Plant automation.

The strategy has been in place for some time and we had seen traction for "Hub & Spoke" implementations where the "Hub" was a Tier-1 ERP with one of the Microsoft Dynamics Products being used in the "Spokes" to provide a "Flexible, Scalable, Nimble, Compliant, Lower TCO,  Simple and Adaptable" system.

The reason is simple -

  • Head Quarters systems are too complex or customized to meet needs of smaller subsidiaries / local units (called 'Local Entity').
  • HQ grow inorganically and need to bring new entity into the overall business landscape; the model helps in maintaining a 'loose' technology link while ensuring a 'strong' business tie.
  • Sometimes the business line and operations are specific to the Local Entity and it does not make sense to build each of these into the HQ system
  • The vertical flavour needed in a Local Entity may not be needed in same manner across all entities while the reporting needs might be common
  • The local entity may not have a stable business model, leading to a need for a 'flexible' solution that can grow and adapt as the business undergoes change
  • The need for managing local tax, regulatory, and market requirements are better handled in a Local Entity seperately without affecting global business
  • Needless to say the TCO is lower with greater local control and accountability.

This sure is a new area opening up new solution architecture for the enterprise...

May 13, 2010

SharePoint WorkSpace - Increase your Productivity

Hi,

Havent we been talking about sharepoint workspace for long. I was working on creating an workspace offlate and i would say that this is an excellent feature.

Before i get into details on what is in their for me? I would like to give a quick background for folks who are reading this and not aware of Sharepoint workspace.

You might have heard about Groove client already and would have been trying to corelate it with the sharepoint workspace. SharePoint workspace gives you an option to work offline with your document list and libraries.

So what is it there in for you

Offline Capability : You might not be connected to the network , sharepoint workspace gives you the option of working with your content offline
Synchronize and replicate Content : Here is an option for you replicate the content on your desktop and  you need not worry about downloading huge amount of data
UserExperince : Here you have an cool feature with drag and drop capability and give your an rich client experince


SharePoint Workspace (formerly called Groove): a smart client for SharePoint. Supports online, offline and Synchronization of data.

This synchronization can be made by the help of "Sync to SharePoint workspace"  option in the Site settings of SharePoint 2010.By the help of synchronization workspace we can easily drag and drop the documents in to site.

In the next blog i will show an demo with screen shots how the workspace helps increase your productivity

Regards

Azhar

May 12, 2010

Working with Images in Silverlight Application

Working with images is fairly straight forward in an Silverlight application and there are already many articles about this on the net. So I am not going to get into that. However recently my team faced an issue and that is what I will share here.

The scenario is that we needed to load image programmatically from a file folder and these images are not embedded in the application are resources. Assuming that the images are inside of a folder called Images, this is fairly trivially handled using some code like this (where image1 is the Image control that will display the image) 

            BitmapImage bmp = new BitmapImage(new Uri("Images/Atul.jpg", UriKind.Relative));

            image1.Source = bmp;

 

However when we tried with this code, nothing happened, i.e. no image got displayed on the UI. With some debugging, we realized that while we gave the path as Images/Atul.jpg, the files was actually being searched at ClientBin/Views/Images/Atul.jpg.

The ClientBin part, is easy to understand. That is the folder from where the Silverlight XAP got loaded and hence relative URIs are being resolved related to this folder. But why this extra Views in between?

Our initial thinking was that this is due to the namespace the particular code was in. However a bit more deliberation and this didn't seemed like the right answer. Had this been the case, then the path possibly should have been ClientBin/SilverlightApplication1/Views/Images/Atul.jpg, as the actual namespace was SilverlightApplication1.Views.

Looking at the solution explorer, we then realized that this particular code was actually within a folder called Views. We were getting our hands on MVVM and hence had relevant folders created. But then shouldn't the folders be only for our code organization? Why was that impacting the path?

The answer lies in how the XAMLs are packaged in the assembly. Using reflector we opened the SilverlightApplication1.dll and the resources part of it showed the following.

 

SLImage.jpg

As you seen in the figure above, the particular XAML file, since it was inside the Views folder, got embedded as views/Silverlightcontrol1.xaml. It is due to this when relative URI is resolved, that the base path is taken as ClientBin/Views and not just ClientBin. So get the image to display, we could either of the following

            BitmapImage bmp = new BitmapImage(new Uri("Views/Images/Atul.jpg", UriKind.Relative));

            image1.Source = bmp;

OR

            BitmapImage bmp = new BitmapImage(new Uri("../Images/Atul.jpg", UriKind.Relative));

            image1.Source = bmp;

 

The second approach is possible safer, since in case you change the folder name, the relative path will still work. Do share any comments that you may have.  

 

 

 

 

 

Debugging .NET 4 Applications

From what I understand most of the changes in .NET 4 are towards better debugging support for production code. During development, the existing features with .NET 3.5 and Visual Studio 2008 usually suffice very well. Windbg is a debugger people resort to, if things go wrong in production and it typically is used to analyze dumps. However using it isn't trivial and needs specialized training and lot of experience. I got initiated in using windbg after I had attended an advanced debugging training conducted by MS and it had covered lot of windbg usage scenarios. 
 
VS 2008 offered some control on debugging a currently executing process and debug it by using the sos extension, that windbg uses for debugging .net managed code. However this was limited in its feature set. VS 2010 along with .net 4 makes this lot of windbg like and will mostly do away the need for using windbg in most scenarios.
 
A challenge in debugging production code is the size of dump files. They are huge and hence transferring them is mostly an issue. A new feature in .net 4 allows the profiler to attach to a running process, get access to memory data, help do the analysis and then detach, without having a need to take a memory dump.
 
While this is good, an issue with this is that since you would be profiling production process, it will cause the process to slow down. So use this feature sparingly.
 
Machines are dual core and above these days and more and more programs will start to do multi-core programming. .NET 4 itself adds support for Task parallel library, making multi-core programming easier. With VS 2008, one could do basic cross thread debugging. The debugger allowed you to figure out what thread is executing the current code and would also highlight when the execution would jump from one thread to other. Similar support is now possible for different cores and detailed reports on how cores were used during program execution can also be obtained.
 
Note that the debugging APIs have undergone significant changes. So you won't be able to debug .NET 4 code using VS 2008. There are a few other features as well, that might interest you. See the detailed article on this here.

May 11, 2010

Top 5 Sharepoint 2010 capabilities

I am into Sharepoint 2010 for about 6 months now. We are part of the various Sharpoint 2010 beta/adoption programs run by Microsoft. Internally at the Sharepoint Practice, we run most of our business on Sharepoint 2010. We have deployed Mysites with pictures and profiles of everyone on the team. We have also successfully created many small sub-sites to manage different aspects like Sales and Delivery. We have built several demos to explore the new features and have really taken deep dive to understand the difference and nity gritties over 2007 version. We  also started working witn atleast 3-4 clients on early proof concepts and demostrations. Now that the product is about to be released tomorrow 12th May 2010,  I thought  based on my experience so far I should do a short list of the Top 5 Sharepoint 2010 capabilities which excited me the most.

So here you go:

1 - PowerPivot for Excel 2010 and SharePoint 2010: Manipulate data dets up to hundreds of millions of rows and analyze on the Web

2 - Office Web Apps: View and make light edits to documents through the Browser with the new Office Web Apps for Word, Excel, PowerPoint and OneNote, which can be hosted on premises with SharePoint 2010

3 -Business Connectivity Services (BCS) provides the read/write capability to connect SharePoint 2010 and Microsoft Office client applications to external data sources (such as SQL, Oracle, SAP, CRM, Siebel, Web services, and custom applications).

4.Use Business Data Applications: Design forms for SharePoint 2010 that create, read, update, and delete business data from a back-end systems

5.SharePoint Workspace 2010: Bring LOB data into SharePoint 2010 Sites and then take that data offline

I  am looking for something more exciting in 2010 which is not there in this top 5.. So please comment and let me know...

 

SHAREPOINT 2010 LAUNCH EVENT

Hi,

Block your time for the official launch event. Yes you can be part  of history . http://sharepoint.microsoft.com/2010launch 

Learn about the next wave of productivity at the Office 2010 and SharePoint 2010 virtual launch event. Join the conversation, submit questions, and watch Stephen Elop, President, Microsoft Business Division, deliver the live, worldwide keynote. Plus, you can view on-demand breakout sessions focused on solving IT challenges, while moving your business forward.

This is great news, Microsoft officially released Office 2010, SharePoint 2010, Visio 2010 and Project 2010 to manufacturing!!!.

Volume License customers with active Software Assurance (SA) on these products will be one of the first to receive the 2010 set of products. They will be able to download the product in English, French, Spanish, German, Russian, and Dutch via the Volume Licensing Service Center starting April 27. Other languages will be available on a rolling timeline. Customers without SA will be able to purchase the new products through Volume Licensing from Microsoft partners starting May 1.

As announced by the product team earlier, an official launch will be on May 12 with a keynote from Stephen Elop, President of Microsoft's Business Division. Customers, Partners and individuals around the globe can participate in a virtual launch by going to http://www.the2010event.com. The virtual launch will include product demos, customer and partner testimonials, and interviews with product managers and executives. Several early adopter stories from the TAP programs will be highlighted during the event.

Looking forward to a great launch on May 12th !!!

 

Thanks and Regards

Azhar Amir

May 7, 2010

SharePoint 2010 and SilverLight

Hi,

SharePoint without silverlight had less compelling reason for adotption of building solutions with an better user experience. With seamless integration of sharepoint 2010 ,Visual Studio and Silverlight.life for developers is much easier and simpler. Here are few points i gathered .The next happening combination which is going to take your next solution to a different level of user experience is Share Point 2010 and SilverLight.So how does SharePoint 2010 Compliment SilverLight

 

  • Hosting of silverlight application with the new silverlight webpart in SharePoint 2010 is very simple, all you have do is point to an XAP file.
  • There is also a new media web part which is silverlight based and streams video
  • Developing the sharepoint applications with silverlight is easy with the new Client Object Model (OM)
  • When you start using the new Organization browserfeature of SharePoint 2010 the office web application like word Web app and solution gallery use silver light for creation of asset and gives and enhanced silverlight experince
  • Developers can easily develop and debug by using the new client OM (I am going to blog about Client OM later)

will try to blog more about this topic as i start exploring more on SP 2010 SL 4.0 and C (OM).

Thanks and Regards

Azhar

May 6, 2010

SharePoint 2010 and .Net Framework (3.5 ). What about .Net Framework 4.0

Hi,

Here we go its official that sharepoint 2010 will be using .Net framework 3.5. Why is the latest version of sharepoint behind the .net framework 4.0 which is the latest version. The release of both these are very close and microsoft could not align with both the releases.

 

 There will be questions around will microsoft support the .net framework 4.0 along with sharepoint 2010. There are definetly new features in the newer .net framework which could be realised along with sharepoint 2010 which is why the question on compatibilty of .Netframework 4.0 and SP 2010. I havent seen anything so far where microsoft is talking about the support for .Netframework 4.0. The questions which would be asked is , how will i use the newer framework? How will i handle any issues due to incompability of newer framework? If there are any issues using the newer framework with sharepoint 2010 will microsoft support the same. Also with the launch of visual studio 2010 how will the integration of sharepoint 2010 and VS 2010 work along with newer framework and what does VS 2010 offer for sharepoint developers.

One problem that i have noticed is when we try to reference certain libraries in my sharepoint project with new VS 2010 beta  it throws an error saying that for this dll to be referenced you will need a newer .Netframework. When i go the drop down to select the newer framework i dont find the entry of the .Net framework 4.0. After checking with various forums i found out that you dont need an newer framework to be installed but an regirsty entry

HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\.NETFramework\v2.0.50727\AssemblyFoldersEx\Chart Controls]
@="C:\\Program Files (x86)\\Microsoft Chart Controls\\Assemblies"

which will solve the problem.

All i am trying to highlight is the issues we might face when we try to work with sharepoint 2010 and .net framework. There will be queries from client where they ask i do not want to leveraing the newer features of the .netframework but want to be only on the latest latest framework 4.0 along with SP 2010. This can be an mandate from the client as an enterprise wide standard policy.

All we can do now is wait and watch and will keep you posted as i get more information

 

Thanks and Regars

Azhar Amir

Subscribe to this blog's feed

Follow us on

Blogger Profiles

Infosys on Twitter