The World’s Leading Microsoft .NET Magazine
   
 
realworldsa


Search this Blog

 








iPing-it!

---------------

---------------

For New Post Alerts

Latest Entries

Microsoft Silverlight 4 and SharePoint 2010 Integration Book Review

Tuesday, 24 August 2010 9:09 P GMT-05
This is a very well done little book. Is is short and concise so there is not a lot of filler nonsense I am finding in a lot of books these days.

The author does great job of getting you up and running quickly, and then goes into deeper integration topics later in the book.

The book covers deploying a Silverlight application to a document library as well as linking a SharePoint module to a Silverlight RIA to deploy your xap file.

It really focuses on using SharePoint and Silverlight integrated with each other. They show how to create an external content type using the SharePoint Designer to access data in a SQL database and how to use the Business Connectivity Services (BCS). This is an approach I would not have considered before reading this book. I would have just created an external web service and hit that to access the data, but my approach isn’t really integration.

They show how to integrate with SharePoint workflows, how to use CAML queries, how to use the developer dashboard, and how to debug.

They do a complete job of showing how to do everything with both the SharePoint 2010 Silverlight Client Object Model and the SharePoint 2010 WCF Data Services.

The downloadable code is very well organized and is very usable. They have the complete projects ready to deploy.

All in all I think this is a great book. If you are interested in integrating Silverlight 4 and SharePoint 2010, then this book is a must have. It will get you through the learning curve quickly and have you up and running in no time.

Are you a .NET development shop, or a Microsoft development shop?

Friday, 13 August 2010 9:07 A GMT-05
I am not sure if the market has clearly stated that there is a difference between being a Microsoft shop and a .NET shop. I watch a lot of places try to decide which way to go without realizing they are actually making the choice. Once you've gone far enough down one of the paths it becomes very dificult to turn back. I am not talking about allowing opensource through the door, I am talking about choosing products (open source or not) other than what Microsoft has available when their solution is within budget and meets the functional requirements of the need.

I see this happen for multiple reasons. The most obvious reason is because someone has sold the man (or woman) with the money on the idea that they should not put all there eggs in one basket. Just that analogy is stupid. Imagine carrying 12 baskets instead of one to get your eggs home. Then if you want to keep them cool not all the baskets are going to fit in one fridge. You may say that is good in case one of the fridges goes out. Well, you usually have eaten all the eggs or they have gone rotten by the time the fridge goes out.

Two examples of not wanting to put all the eggs in one basket-

-- I have seen this on a huge government project. They chose AquaLogic over SharePoint and then still forced development to be done in .Net. What a nightmare. That wasted millions of dollars on integration development, which still is not being done right years later.

-- I’ve watch Crystal Reports chosen over SQL Reporting Services (which they already owned with SQL Server) several times, strapping the projects into spending tons on Crystal support in the coming years.

Another reason for choosing tools other than Microsoft tools is lack of experience in enterprise level developers. Some come from smaller shops where open source is the way of life. It has to be in order to afford things. They come into the enterprise shop and all they know are the tools they learned in the smaller shops, so those are the ones they are allowed to continue to use. Others are just open source junkies. They want .NET, but Microsoft sucks, so at every opportunity they are reaching for any tool not coming out of Microsoft. It’s the cool thing to do. I see this a lot in the context of choosing between patterns and practices tools and their equivalent. If you are a Microsoft shop, you'll be using patterns and practices tools, unless they cannot meet the technical requirements you need. If you’re simply a .NET shop, any toolset will do.

I not only see this happen with open source tools, but I see toolsets being chosen that cost a bundle, upfront and down the road. I have seen teams convince management they must have the latest UI toolkit in order to implement the same functionality they could have implemented with the AJAX Toolkit or other out of the box controls. This adds tons of maintenance overhead to the project, time is needed to learn the tools, and licensing cost continues on forever. I can’t count how many times I have seen this, and the tools were not needed, not even close.

Again, let me be clear, if Microsoft does not have the tool available then you have no choice. Some examples are Rules Engines, UML tools, process authoring tools, and MDM solutions. Microsoft's rules engine is buried in BizTalk, their MDM solution has only matured to the point of being a decent reference table manager, Visio is good for pictures but not documentation like SPARX EA, and the Process Template Editor is still in bad shape when compared to EPF.

The advantages to having all your eggs in one basket and trying to stick with Microsoft tools are many. The top one is Modifiability (my favorite Quality Attribute) achieved through greater cohesiveness in your overall toolset. The different Microsoft teams have greater insight into the roadmaps of fellow team’s products, and that helps with integration plans. Choosing a partner product usually achieves the same results since Microsoft is committed to sharing with them.

In the end, when I am in a Microsoft shop, my rule of thumb is show me why we cannot use the Microsoft product, and then we will consider something else. Not all shops are Microsoft shops, and that is ok, but you should figure out what you are, and then move forward accordingly if you want to make life easier.

Microsoft has released the Ribbon for WPF

Monday, 2 August 2010 8:28 P GMT-05
Microsoft has released the Ribbon for WPF.  The download includes the code and samples.  Below is a screenshot of the samples:


Click here for larger image

Overview  (From MSDN Site)
This release is a managed implementation of the Ribbon for WPF. The Ribbon is a command bar that organizes the features of an application into a series of tabs at the top of the application window, is designed to help you quickly find the commands that you need to complete a task. The Ribbon user interface (UI) increases discoverability of features and functions, enables quicker learning of the application, and helps users feel more in control of their experience with the application. The Ribbon replaces the traditional menu bar and toolbars.

Additional Information  (From MSDN Site)
Note: There are a large number of design revisions in this release since the CTP version. This is mainly to facilitate MVVM-centric applications. r />
Design-time: The MSI will install design-time support for Visual Studio 2010 and Expression Blend 4. This includes a project template for a ‘WPF Ribbon Application’, an item template for a ‘Ribbon Window’, and Ribbon controls in the toolbox such as, RibbonButton, RibbonToggleButton, RibbonMenuButton, etc.

Sources: Ribbon source code is available for reference purposes only. Please see EULA for more information.

Samples: A few samples are also included to provide an overall view of all the available Ribbon features integrated within a WPF application. These samples include:

RibbonWindow Wordpad Sample
This sample illustrates a Ribbon control hosted within a RibbonWindow that emulates the Wordpad appearance. To run this scenario:
--Set RibbonWindowSample as the start project
--Set StartupUri=”RibbonWindowWord.xaml” in RibbonWindowSample\App.xaml

RibbonWindow MVVM Sample
This sample illustrates a Ribbon control hosted within a RibbonWindow that is completely populated from a view-model collection. To run this scenario:
--Set RibbonWindowSample as the start project
--Set StartupUri=”RibbonWindowMVVM.xaml” in RibbonWindowSample\App.xaml

RibbonBrowser Wordpad sample
This sample illustrates a Ribbon control hosted within a browser window that emulates the Wordpad appearance. To run this scenario:
--Set RibbonBrowserSample as the start project
--Set StartupUri=”PageWord.xaml” in RibbonBrowserSample\App.xaml

RibbonBrowser MVVM sample
This sample illustrates a Ribbon control hosted within a browser window that is completely populated from a view model collection. To run this scenario:
Set RibbonBrowserSample as the start project
Set StartupUri=”PageMVVM.xaml” in RibbonBrowserSample\App.xaml

Get it here

Mine is bigger than yours- Toshiba Qosmio X505-Q890 Laptop Review

Sunday, 1 August 2010 11:41 A GMT-05
I recently had to buy a new laptop. I'd love to buy a MacBook Pro, but can't come to terms with the amount of cash you have to lay down.

I needed something fast since mine completely died, so I decided to try to get something prebuilt. I ended up finding this power house on Amazon. I did a comparison of price for the same options on Dell and IBM and the cost was nearly twice the price.



I used to be an HP fan.  I could always count on getting good stuff cheap from them, but after two computers completely died on me in the past year I have left HP behind. Both had hard drives go bad and cost me a ton of time getting back on track.  Below is the short list of what I had to install and configure.

Microsoft Office 2010
Microsoft Project 2010
Microsoft Visio 2010
Microsoft SQL 2008 R2 Developer
Visual studio 2010
Expression Studio
Sparx EA
MDG Sparx EA add-ons - Zachman Framework, TOGAF, DoDAF-MODAF, and SysML.
VirtualBox
VMware Player
Windows Virtual PC
Paint.net
iTunes / sync phone

Data wise I am usually pretty good at backing up, so I didn't lose much there.  This new laptop is a monster.  I had no idea it would be so big.  It will not be traveling to the islands with me.  Like I said above I purchased it pre-built so I could get it faster, and actually just ordered it off Amazon.  Below are some of the specs and picture of the laptop compared to my old one.



Click here for larger image


Click here for larger image


Click here for larger image


Click here for larger image

The Intel Core i7-740QM processor rocks.






Click here for larger image

I also needed a new bag since this behemoth would only fit in one of my back packs. 



That is huge too.  Below are some pictures of the bag.


Click here for larger image


Click here for larger image


Click here for larger image


Click here for larger image


The laptop has a solid state drive as the primary.  It is smoking fast.  I installed Visual Studio 2010 Ultimate Edition in 23 minutes.  A two hour chore on most systems.  One thing to note is that Toshiba uses 10GB of the primary to create restore disks.  After you create them you can claim the space.  Below is the hard drive configuration out of the box.


Click here for larger image

The power cord is also crazy large...



Click here for larger image


Some of my favorite features are:
-- The speakers kick butt.
-- Has a Blu-ray player
-- Runs quiet and cool
-- I can run 2 Virtual PCs at the same time
-- The keyboard lights up. At first I thought that was corny, but now I love it. My wife comes into my office late at night to read and hates having the over head light on so she uses a reading lamp and I use a desk lamp. I am not the best typer, especially on a new keyboard, so the lighting up keyboard rocks.
-- The big clear screen.  It is great for design diagrams and coding.

The only downside is that this behemoth won't be going on vacation with me.  It will be fine for occasional business travel, but we lug so much other equipment on vacation, another 15 pounds won't cut it.

All in all if you want a power house for a great price this is a great option.

     

The Ivory Tower Enterprise and Software Architect

Wednesday, 30 June 2010 9:12 A GMT-05
Lately I have been hearing a lot about the differences between an Enterprise Architect and a Software Architect. Grady Booch just did a great Podcast called Enterprise Architecture and Technical Architecture, Arnon just did a great blog titled Software Architecture – 5 years later, and Bredemeyer separates their site based on the differences.  I agree with them all, the roles are different and I am not questioning their points of view.  I am just pointing them out because they are what sparked my thoughts for this post.

I tend to see all the roles in the software field a little differently. I see three classes of individuals at different levels of their career path. One I call the Ivory Tower type of person. The second is an In the Valley type of person. The third is the person in the wrong career path. I won't discuss the last type of person more than to say that there just are some people who are not trainable, and they are usually in the wrong career path.

The Ivory Tower type of person usually believes their intelligence is sufficient enough to carry them in their current role. They will blindly follow the advice in a random article, web cast, or vendor demo. They see proof of concepts as a waste of time.

The In the Valley type of person understands nothing is invented, it is only discovered. They accept that odds are someone else has already discovered what they are looking for and gone through the pain of vetting it, but they will trust nothing until they have seen it work in the environment in which it is going to be integrated. Demos, articles, and web casts are not enough to persuade them a product is ready for adoption in their environment.
Java != .NET
My first week on a particular project I was asked to be the advising architect on a Java project. I said no. The manager believed anyone with architecture in their title could architect on any project and that technology should not impact the role. I explained I was a .NET Architect and that it was not my belief, or experience, that technology did not matter. I soon found out why he believed what he believed.

That organization had an army of Ivory Tower Enterprise Architects that blindly made decisions behind closed doors about what was best for the enterprise without ever understanding the enterprise. They would buy huge applications and force them down the throats of the employees in the enterprise. The answer as to why something was needed on a project was "because we bought it, and now you have to use it".

I soon learned why the EA division was made up of Ivory Tower Enterprise Architects. It was because the CIO was an Ivory Tower CIO. With regards to technology, if an organization is made up of managers that are completely confused, it can usually be traced back to their own IT organization.

What happen to the Java project? 80 million dollars down the drain. Would have been better spent on a spare tire for the Mars Land Rover.
So what's the point? The point is that I do not believe in the Ivory Tower side of career path. I have seen a lot of motion generated by these people, but the efforts usually end with nothing accomplished, or a train wreck for someone else to clean up. I am not saying they are lazy. I have watched them work their butts off.

Government is the perfect place for the Ivory Tower worker. Government is in the spending business. Spend your budget, or lose your budget is the driving force behind most government projects. The Ivory Tower worker is great at spending money.

In my book if you are an Enterprise Architect, you better know how to do Software Architecture. If you claim to know how to do Software Architecture, you better be a darn good developer. I do not believe in the hands off approach and I do not believe the Software Architect and Enterprise Architect should fall into completely different categories. To me an Enterprise Architect relationship to Software Architect is similar to the System Architect and the Software Architect. In my book if you claim to be an Enterprise Architect or System Architect, you better be able to fill the role of Software Architect.

If all you do all day is analyze business processes, you are a business analyst. If you translated the business processes to a software architecture, then you are a Software Architect. If you translate the business process into a software architecture that takes into consideration the enterprise it must live in and integrate with, you are an Enterprise Architect.

Enterprise Architecture and System Architecture simply include a broader range of soft skills and knowledge to do there jobs. I believe the same is true of the relationship between the Software Architecture role and the Development role, but if you aren't a great developer in the language you are architecting your solution for, you have no business architecting in that language/technology.

The same holds true for COTS products. You should know how to use the product inside out before you include it in your solution.

I know you can't know everything. That is what proof of concepts are for. Proof of concept the heck out of a solution you don't understand. Heavily documenting your findings for a diverse audience forces you to think about it in different views and helps to flush the gotchas.

I also understand that there are a lot of soft skills needed to be a Software Architect versus being a developer, and being an Enterprise Architect versus a Software Architect require even more. But gaining those skills does not mean you can compromise your technical skills.

Below are some of the characteristics I witness in the different types of people.

RolesIvory TowerIn the Valley
In all the rolesConsiders themselves artists.

Likes to invent

Creates new things that need to be fitted into the context in which they they are working
Considers themselves engineers.

Seeks out industry standards

Creates new things that are of value to the context in which they are creating and therefore fit naturally into that context
DeveloperUse Agile to mean "we do not document"Use Agile to mean "take full advantage of the team's collective experience"
Lead DeveloperActs more like a project managerIs building the first of every type of module, and guides the team from that baseline.
Software ArchitectBelieves they can leave behind their development skills

Does not believe software architecture is dependent on their knowledge of technology
Understands that keeping up with their development skills is a must.

Understands software architecture requires complete understanding of the technology they are using
Enterprise ArchitectBelieves they can leave behind their development skills and architectural skills

Is not involved with application level details
Understands that keeping up with their development and architectural skills are a must.

Understands the details of their enterprise's applications


The entire point of this blog is to provide some insight into the reasons for some of the mangled up messes we see out there in our industry. Being a consultant I see a lot of them. A lot of times I am coming in after an Ivory Tower crew has wreaked havoc on an environment.

As with agile, I do not believe a process, or a role defined in a process, creates excellence. The characteristics the individual brings to the role will determine the level of excellence they achieve. A key characteristic is the ability to remain teachable. Lose that and your on the way to your own Ivory Tower.

iPhone iOS 4.0 is Available

Monday, 21 June 2010 1:06 P GMT-05
Just open up iTunes and hit update on the Summary tab.

Free Software Engineering Institute Webinar Serves as Software Architecture Primer

Monday, 21 June 2010 7:28 A GMT-05
The Software Engineering Institute is doing a free webinar on Software Architecture. It is on Thursday, July 8, at 1 p.m. EDT.

Below are details from the SEI web site.

During the webinar, titled Software Architecture Fundamentals: Technical, Business, and Social Influences, Wojcik will discuss

- What is a software architecture?
- Why is software architecture important?
- What factors influence the design of a software architecture?
- Which requirements are most important during software architecture design?

“The discussion will introduce the concepts of a software architecture and emphasize the importance of designing a system that goes beyond functionality to achieve business and quality attribute goals,” said Wojcik. “Attendees will walk away from the webinar with a solid understanding of what a software architecture is and practical knowledge that they can use as a starting point to discuss how to integrate the principles and practices of software architecture into their existing development process.”

Sign up here.

SOA with .NET and Windows Azure Book Review

Sunday, 13 June 2010 8:57 A GMT-05
This book is a must have for anyone that wants to know what Microsoft technologies have to offer to accomplish Service Oriented Architecture.

If you are a .Net Enterprise Architect, this book should not leave your side. It covers all the right ways to accomplish distributed application architecture and enterprise integration using .Net technologies.

It is a book for both the beginner and the experienced. It covers SOA fundamentals in the beginning of the book as well as a history of legacy .Net distributed technologies. I enjoyed reading the history chapter. It brought back a lot of memories of COM+ and .NET remoting issues, which made me happy to be be using WCF.

The book does a great job of covering WCF and WCF Extensions. After two chapters on WCF, it then covers .NET Enterprise Services Technologies. They include SQL Server, Windows Workflow, Application Blocks and Software Factories, and Biztalk Server. The book does a great job of showing why, when, and where you would consider using the technologies.

There are several chapters on how to accomplish service orientation. Topics include Service Contracts, Interoperability, Coupling, Abstraction, Discoverability, Reusability and Agnostic Service Models, Service Composition and Orchestration Basics, Orchestration Patterns with Windows Workflow, and Orchestration Patterns with BizTalk Server.

There also several chapters on Infrastructure and Architecture. Topics include Enterprise Service Bus, AppFabric Service Bus, SOA Security, Presentation Layers with .NET, Performance Optimization, and SOA Metrics.

The book ends with several very helpful Appendices. They include an Industry Standards Reference, Service-Orientation Principles Reference, SOA Design Patterns Reference, and the Annotated SOA Manifesto.

I found the coverage of topics in this book to be just at the right level for introducing them, and then showing how they fit into the .NET SOA environment.

I will always have this book with me. It will not leave my side. It contains all the topics I need to consider when doing enterprise architecture. It will serve as a great one stop shop for solutions and ideas.

My only disappointment was that it was in black and white. I own the SOA Design patterns book which is in full color. With the type of diagrams in these books, color does make a big difference in ease of reading and understanding them. It would have been worth paying an extra $10-15 bucks for the book in color.

My other gripe is with Amazon. I had this book in hand for weeks because I ordered from the publisher before Amazon even had it available. Not sure where that went wrong, but it is no ding to the book.

I am counting both of my dings against the publisher and not against the book.

All in all you must buy this book if you are building applications with .NET in an enterprise environment. Even if you are building stand alone applications this book is worth reading. It has a ton of valuable information presented in a way that makes it unique to this book.

Microsoft Silverlight 4 Data and Services Cookbook Book Review

Wednesday, 19 May 2010 7:57 A GMT-05
This book is exactly what it says it is, quick answers to common problems. Although problems is a little strong, I would say the are common implementation solutions.

Data binding basics are covered in the first few chapters. Then the datagrid and dataform are covered. The book gives a great introduction to the datagrid and dataform for those who have not had time to look at them yet. Then WCF and ASMX Services, REST and WCF Data Services, and WCF RIA Services are covered.

The topics are covered in enough detail to give you a good understanding of what they are for and how to use them. The book is not a reference. For example, it covers data annotations for the data form, but it does not provide a complete list of them. It does however point you to a place that does on the Microsoft site.

The code samples are useful and well organized. They come with a before and after example solution so you can work through them if you want, or just open the finished product. Some of them needed converted when they were opened for the first time, but they ran fine.

The main thing I didn't like about the book was the page layout. The chapters were divided into sections and the new section started with a big block of white text with a black background. It just bugged my eyes out, but I won't ding the book for that.

All in all I recommend this book for anyone who wants an introduction to WCF and ASMX Services, REST and WCF Data Services, WCF RIA Services, the datagrid and dataform.   This is a good book to start with.

Professional Microsoft SharePoint 2007 Reporting with SQL Server 2008 Reporting Services Book Review

Friday, 7 May 2010 2:30 P GMT-05
I wish I had this book a year ago. It does an excellent job of describing the Reporting Services configuration steps to set up SharePoint Integration mode. It can be pretty confusing the first time.

It does not have any information on the Report Viewer web parts that come with SQL Server that can be installed and used to run against a Report Manager instance. The last place we tried to set up SharePoint Integration mode we could not get it done because Kerberos had everything hosed up. We ended up just using the web parts that come with SQL Server.

The book has several chapters on using Business Intelligence Design Studio (BIDS). The chapters span beginner to advanced techniques.

I have been working with Reporting Services for 5 – 6 years now and have had to learn the hard way that you should plan your report projects. It may be tempting to skip the chapter on planning report projects, but don’t, there is a lot of good advice in it.

The authors also include a nice chapter on advanced deployment techniques. It is nice when you can just use BIDS to deploy, but often you need more options, especially in a production environment.

They also include a nice chapter on using the gauges. Nowadays everyone wants a dashboard, and throwing in a gauge or two to wow the business owners never hurts.

All in all I highly recommend this book for anyone getting into using Reporting Services with SharePoint.

Office 2010 RTM, SharePoint 2010 RTM, and Visio 2010 RTM are Now Available

Friday, 30 April 2010 8:39 A GMT-05
Office 2010 RTM, SharePoint 2010 RTM, and Visio 2010 RTM are Now Available on the MSDN Subscriber site. Not sure how I missed this, but if I did, I figured others may have not know as well. I have just been to busy to read blogs this last week, and actually stumbled across them when I was looking for a different download in MSDN.

Professional Application Lifecycle Management with Visual Studio 2010 Book Review

Thursday, 29 April 2010 4:14 P GMT-05
This is a pretty sweet book. There are a ton of features in Visual Studio 2010 and Team Foundation Server 2010. This book does a great job of covering all of them that are related to Application Lifecycle Management.

The book goes into enough detail to give you a good understanding of the feature they are covering. With the number of features covered to go into great detail would have made the book 5 times larger. I did not read any topic that did not have enough detail to give me a good understanding of the feature.

The book is broken down into 5 parts. Architect, Developer, Tester, Team Foundation Server, and Project/Process Management.

The book covers UML, using the Architecture Explorer, using Layer Diagrams, Unit Testing, Code Analysis and Code Metrics, Profi ling and Performance, Database Development/Testing/Deployment, IntelliTrace, Web Performance and Load Testing, Coded User Interface Testing, Lab Management, the Team Foundation Architecture, Version Control and Branching and Merging, Team Foundation Build, Reports, Portals, Dashboards, Workbooks, and Process Template Customizations. That is a ton of stuff!!!!

The authors have a good writing style that makes the book easy to read.

If you want to get to know Visual Studio 2010 and Team Foundation Server 2010, this is a great place to start!!!