Real World Software Architecture

Real World Software Architecture is dedicated to providing information and experiences from the field of Software Architecture.



Subscribe with RSS or ATOM Add to Google

Links

  • Home Page
  • Real World Software Process Engineering
  • Suggested Reading
  • .NET Dev and Arch Collection
  • SEI Essays on SA
  • Software Architecture
  • Bredemeyer
  • wwisa
  • Product Line Engineering
  • PLEES
  • Software Product Lines
  • MSDN Architecture Center
  • patterns & practices






Wednesday, September 28, 2011

Agile Software Engineering with Visual Studio Book Review

I own the first version of this book and was looking forward to the second version. I would say if you want to get familiar with doing Scrum with TFS this is the book you want. It really does not cover the other templates at all. I am not saying that is bad, but it is not what I expected or wanted. I already have read enough on Scrum to last me a lifetime. I wanted to see more on the other templates.

All that said, if you have not had the opportunity to get familiar with Scrum this is a great place to get started, especially if you use TFS.

The book starts out with an introduction to agile, Scrum, and Visual Studio. It then digs into Scrum and TFS with chapters on Product Ownership, Running the Sprint, Architecture, Development, Build and Lab, Test, Lessons Learned at Microsoft Developer Division, and Continuous Feedback.

My favorite chapters were Development, Build and Lab, and Test. The author did a great job of showing all the different features available in TFS and Visual Studio that enable continuous integration, automating testing, and detecting programming errors early. The chapters go into enough detail to give you a really good understanding of the tools available and when to use them.

The architecture chapter did a good job of showing how to take advantage of the tools in Visual Studio for reverse engineering existing applications. It does not however show you how to use them to architect an application. Instead the author plays the "Emerging Architecture" trump card, and writes it off to it not being needed in agile processes. I guess this is ok, because the tools in Visual Studio are not ready for prime time when it comes to designing an Architecture. They are good for reverse engineering an application. I wholly disagree with the "Emerging Architecture" agile approach and believe it contributes to most of the messes that come out of teams claiming to be agile, but I won't ding the book for it since it is after all what agile prescribes.

One thing I noticed is there are quite a few typos. They are no big deal, just very obvious ones which was strange.

Personally I think the book should have been titled "Developing with Visual Studio and TFS using the Scrum Template". That is not a bad thing if that is what you want. The book is well written and an easy read. I think is does what it set out to do and it does it well. It is a top notch book.

I highly recommend it to anyone looking to learn Scrum and wants to use the TFS tool set to enable your team to accomplish your mission.

Agile Software Engineering with Visual Studio: From Concept to Continuous Feedback (2nd Edition) (Microsoft .NET Development Series)

posted by tadanderson at 5:17 PM 0 comments

Tuesday, September 27, 2011

Java, A Beginner's Guide, 5th Edition Book Review

Let’s first set the context of my normal skillset. I am a .NET Software Architect and Developer. I have been 100% in the .NET world since 2001 (with a very little sprinkling of VB6). I recently decided to expand my skillset into the Java and iOS world. This is the first book on my long journey into the world of Java.

I think this book is great for the person who is new to Java and new to programming.

Although the book does not use an IDE to create, compile, and run the programs, that does not take away from the book's learning quality.

I used both the SDK command lines and the IntelliJ IDEA Community Edition to compile and run the programs.

The book covers the core language in-depth, has a short chapter on Swing, briefly introduces applets, but does not touch on Servlets.

The book covers Data Types and Operators, Control Statements, Classes, Objects, Methods, Packages, Interfaces, Exception Handling, Inheritance, I/O, Multithreading, Enumerations, Autoboxing, Static Import, Annotations, Generics, Applets, Events, introduces Swing, and using Java's Documentation Comments.

All the code is available for download and is very well organize and usable. It is separated by chapter.

The one thing I don't like is that almost this entire book is included with Java The Complete Reference, 8th Edition which I started to peruse about half way through this one. Buying both was a waste of money. If you simply want to learn the syntax, buy this book, but if you plan on buying Java The Complete Reference, 8th Edition, don't waste your money on this one. Just get Java The Complete Reference, 8th Edition .

The only advantage the Java, A Beginner's Guide, 5th Edition book offers is that it is more of a tutorial oriented book. It has little extras like self tests, hands on exercises, and outtakes called Expert-Q and A.

I can recommend the book for anyone new to programming or wants to learn the Java syntax, except maybe for the experienced C# developer. For them I would recommend going straight for Java The Complete Reference, 8th Edition. Although I think the book is great, it was not difficult to grasp everything in it at a very accelerated rate. I already understood all the concepts and really only need to compare syntax. I am learning much more from the Java The Complete Reference, 8th Edition because it covers more of the Java Library and other topics.

So, I would absolutely recommend this book for those that like things like self tests, hands on exercises, and outtakes called Expert-Q and A. I would also recommend this book to those that do not plan on buying Java The Complete Reference, 8th Edition. It is a really well put together book and an excellent Java resource.

Java, A Beginner's Guide, 5th Edition

posted by tadanderson at 10:03 AM 0 comments

Tuesday, September 20, 2011

Good News about Silverlight and WPF for a Change

Most of my posts lately have only been delivering bad news about BUILDS affects on our Silverlight and WPF projects. Instead of dropping 2 Silverlight and 1 WPF project, we will only be dropping one Silverlight project. I am lucky enough to work with some very bright people.

We have decided to push forward with the one of the Silverlight projects and the WPF project in order to introduce XAML into the environment. With METRO on the horizon you will have no choice but to learn XAML. The HTML/JS/CSS may pay off for the goal of attracting hobbyist and college kids, but it is going to make a heck of a lot of messes. Plus the Silverlight will run fine in the desktop browser. At least as of today it will.

XAML will be the only realistic choice for real development for METRO apps. The HTML/JS/CSS environment is messy as messy can get. I wish it would just be outlawed.

So that is good news for me and the teams I work with, but what about the community at large? Why is Microsoft not giving a solid answer about Silverlight?

Were you ever in one of those situations where you knew something about a friend, but didn't want to break the news to them because you knew it would upset them, or even damage your friendship?

They are intentionally not answering, because they don't have an answer anyone wants to hear. Except maybe the Silverlight haters. They know the party is over, but want it to continue as long as possible.

They don't want to shut down all the books coming out, or hurt their next release. The truth is Silverlight will be fine on the desktop side of METRO, at least it is now, but they aren't planning on delivering any good news, so instead they will just deliver none.

I know there are a lot of people out there saying "If they have not mentioned it, that means all is well". That just makes absolutely no sense what so ever. How hard is it to deliver some good news about Silverlight, or to include a session on it. Especially since the message was "We will give you news about Silverlight at BUILD"? They have no good news, so they aren't delivering any.

So what does that all mean? Do you listen to me. I wouldn't. I am just some clown who digs programming. I would determine for yourself what direction to take. Stop asking Microsoft for direction, because you aren't going to get any while the news is potentially bad news. If the situation changes, expect Silverlight Fire Starter II. Until then, download the tools, fire them up, and then see for yourself what is possible.

I am personally still moving ahead with learning more about Java (got 2 of the new Java books and the CSS books I ordered shown in this blog today), HTML5 (enough to keep it off my projects), and iOS (curious about how the other side of the force lives). I am also however moving forward with learning about METRO and XAML for Windows. I am not keeping all my eggs in the Microsoft basket anymore. They are a corporation with a major case of ADHD and I can't trust them to do the next right thing anymore.

posted by tadanderson at 6:54 PM 3 comments

Saturday, September 17, 2011

Microsoft Windows 8 METRO and BUILD- The Good, Bad, Ugly, and WWTD

The Ugly-
Can be summarized in the sad story behind how they handled Silverlight and WPF. The way they handled decommissioning Silverlight by choosing not to communicate about it is simply sad.

My dog thinks that if he looks the other way and can't see you, you can't see him either. Not mentioning Silverlight for the past year did not kill it, it simply left everyone wondering why Microsoft chose to look the other way.

Why could there not be a session called "The Future of Silverlight and WPF"? Even if the session was all about porting the technology to XAML for Windows that would have been so much better than simply not mentioning it.

The Bad-
Microsoft considers the enterprise line of business environment owned by them and not losable. Their full attention is on the mobile world. They not only do not own that, they don't even own part of it.

I have to help evaluate enterprise products quite often and I am finding more and more situations were only Java products are available. At least all the products in the quadrant of the Gartner quadrants that counts.

I have been putting it off for a long time, but I can't put it off any longer. I will be getting more familiar with Java. We need RIA and client applications in order to achieve the performance required by internal enterprise applications. Because Microsoft is making it so difficult to get them in the door, even in Microsoft shops, I don't have a choice but to get familiar with the products coming out that support our needs.

Beyond Java I will also be learning the ins and outs of HTML5/JS/CSS. I will have to if for no other reason than to know enough about them to keep them off my projects when not appropriate. I certainly won't be using them for METRO apps while XAML still exists, and using them on the web is anybody's game, not just Microsoft's. If I had to use HTML5/JS/CSS, I would probably look at Dreamweaver first.

Their attention is also on windows 8 and getting some of the private cloud and virtualization business. That is good in my book, but believe it will breed fear in most enterprises.

The enterprises I work with were just starting to consider accepting Silverlight and WPF into their ASP.NET world. Microsoft stopped that from happening by not communicating over the last year about their intentions, and then by not even mentioning it in the sessions at BUILD.

Most places I have experience with will not be touching Windows 8 unless METRO can be disabled on the desktop. It is silly to think you would have to work in such an environment on a desktop.

I could not get Visual Studio 2010 Premium to run correctly on the developer preview. Hopefully the next releases allows it to run right. After I installed it my Visual Studio 2011 Express environment was trashed too. I had to use the handy reset button and start over.

The Good-
The individual hobbyist and cutting edge companies have a great chance to prosper. If Microsoft can get some of the mobile market share, those that stick with them will have some unique opportunities.

It is possible Microsoft will get some of the mobile market share now. It was hopeless before.

Personally I plan on moving forward with XAML development. It is the only client library from Microsoft that I actually like to use. I won't be trying to push it into enterprises anymore, but I will be continuing to use it. I really really dig it. It is a sweet environment and really fun to code in.

It is good Microsoft finally pushed me hard enough to hear the pop (my head coming out of my butt). I have already used the money I that I had planned to use on Silverlight 5 and other Microsoft .NET books on 2 new HTML 5 books, 3 Java books, and 2 new Software Architecture books coming out. I listed them below.

This may also be the first year I don't dump 5 grand on MSDN. I may get a MacBook instead that way I have access to buying and using their development tools too.

WWTD- What Would Tad Do?
My advice to those that are using Silverlight and WPF is to continue using it. If it was my call, I would use it on the current projects it just got booted off of that I am involved with as well as all my future project that it makes sense on. I would not use it for external web facing applications that you want to far be reaching (that has been the case for some time now), but internal enterprise applications benefit from it tremendously.

Microsoft did a really crappy job of telling you that you can continue to develop with Silverlight and WPF. I understand if you don't want to put your neck out for it anymore on your gigs, but I would keep learning it.

I would also take this time to think about the direction of your career. For a long time I was only willing to learn Microsoft technologies. That way I could be specialized in them. Right now they are way to vague for me to continue to do that. Below are the books I ordered and preordered over the weekend. I plan on branching out. A buddy suggested looking into Google Dart, so I will be doing that also.

posted by tadanderson at 7:32 PM 0 comments

Friday, September 16, 2011

The Political Side of Silverlight’s Death

Let us say MS supports Silverlight for the next 10 years. That is great. But that means nothing to the customers I work with. Microsoft's poor communication over the past months built the coffin and BUILD put the nails in it when it was not even listed as a product. I lost a contract about 9 months or a year ago because of Bob M.'s comments, rebooted two Silverlight and one WPF project because of BUILD.

I just restarted planning a major initiative that was to include a WPF interface, a Silverlight interface, an MVC interface, and an ASP.NET interface. It was luckily only a few weeks underway. Guess what NO ONE, including me, is willing to continue with Silverlight and WPF. They may not be dead @ MS as far as support goes, but MS killed them for us this week with their lack of support for them.

Silverlight and WPF are no longer on my available technologies list for use until I see explicit Microsoft support for XAML beyond the METRO junk, and not just the Silverlight evangelist's requests we accept implicit Microsoft support . This is not a technical or emotional decision, it is a political one. I respect Jeremy Likness, John Papa, Pete Brown, Laurent Bugnion, but I can’t make recommendations based on their passion for a technology Microsoft is not supporting.

Like I said above, not using it is not an emotional or technical decision. It is political. I could handle the politics when I had Microsoft’s support, but that is gone now. The emotions come into play with how ticked off I am Microsoft handled it this way.

I have pushed Silverlight very hard. I have been selling it over the past year without any support from Microsoft. The end result of Microsoft’s lack of communication and now with the clear message BUILD sent, by MS having no good communication for SL, has killed the battle for me. I lost, and I can’t say that I care. I am tired of the unclear communication creating so much havoc and making my life so difficult. I wasted a heck of a lot of time fighting a battle that MS clearly didn’t want me fighting in the first place.

I am sure I will personally be using XAML for windows. Actually I already am. I download the preview as soon as it was available. I am not happy with it. I think it is the result of lack of leadership and a clearly lost battle in the mobile market. I will not be fighting for XAML anymore in the environments I go into, unless they already use it. For the past few years nowhere I went used it until I arrived and sold them on it. One of my friends who has not had time to keep up with XAML, said that he is now glad he didn’t. I have had to fight for it everywhere I went. I got it started in a lot of places, but I can’t say that that was wise of me.

We just officially nixed another Silverlight Project that was using the MVVM Light toolkit. That is two SL and one WPF app this week. We are starting over with MVC. The only thing left alive is our Silverlight SharePoint web parts. I will keep them alive since I mainly support them.

I believe Silverlight within a year it will be known as the “S” word, and we won’t be using it anywhere except in conversations about how painful Microsoft made that initiative.

posted by tadanderson at 9:36 AM 4 comments

Thursday, September 15, 2011

METRO = Microsoft's Embarrassing Try Recreating iOS

So, after spending a few days playing with the preview and watching more sessions, I can say my current mindset is summed up in the image below.
I do not see this reinvention like their last one. Instead of introducing cutting edge .NET tools to their legacy VB6 developers, they are introducing legacy tools to their legacy .NET developers.

I would not think I would have to explain to someone that they just stepped in dog crap. Download it and sniff it yourself. If you are drinking their Kool-aid, more power to you. I respected the violinists in the titanic movie too. I may even be one of them.

I see a lot of Silverlight authors pleading the "Silverlight is alive and well case". They have too, and I feel for them.

Below is the only .NET related book I now have on pre-order...

Migrating to iPhone and iPad for .NET Developers

Although I don't feel I need to explain my reasoning, since Microsoft does not feel they need to explain themselves to their customers, I will a little.

Software Engineering needs focused constraints in order to allow excellence in a given context. What I see Microsoft doing by their desperate move to get their foot in the mobile market is creating a huge quagmire of context. There is no focus. Theirs is an attitude of we will be all things to all people.

That is only making thinks harder. Sure it will provide a lot of job security for those of us that clean up the messes created in times like this, but I am sick of Microsoft promoting the capabilities needed for creating crappy solutions.

I am actually embarrassed for the Microsoft engineers and evangelists who seem to have gone on a yearlong crack binge and ended up here with this mess. I don't care what anyone says, METRO on a desktop is simply stupid. Phones, tablets, touch screens, ok, but come on, a desktop.

Hopefully I am wrong. That would be great. I have been wrong before. I stepped on a mud ball once, thinking it was something else. To my pleasant surprise I ended up with just a muddy shoe.

Speaking of Big Balls of Mud… let's all give a round of applause as Microsoft welcomes that anti-pattern back, and gives us the tools to mindlessly implement it!!!!!

posted by tadanderson at 11:42 AM 2 comments

Tuesday, September 13, 2011

Keeping Living Documentation Alive with SPARX Enterprise Architect

One of the most powerful side effects of the SPARX Enterprise Architect document publishing tools is that it enables the team to keep project documentation alive and current.

I recently published an article on the SPARX Community Site that has an accompanying PowerPoint and video that shows how SPARX EA can be used to provide living documentation to a project team that is always up to date.

Below are two diagrams that show a preview of the PowerPoint. You can check out the entire presentation here.

Milestone Deliverables
Click for Larger Image



Milestone Deliverables
Click for Larger Image

posted by tadanderson at 5:48 PM 0 comments

Today Microsoft Killed .NET Good-Bye WCF, WPF, WF, and Silverlight

I am afraid I am not as optimistic as some of the Microsoft gurus who make their money on Silverlight and WPF. Well not all of them. My Visual Studio Magazine just arrived and John Papa (Mr. Silverlight TV) has a nice article on JavaScript Tips. I guess we will soon be seeing JavaScript TV.(update 9/19/2011 - I guess not!! Good luck John, sounds like an awesome gig!!!)

I don't see the XAML tools in Windows 8 as first class citizens in Microsoft's development toolbox. Taking Blend and Visual Studio to HTML 5 and JavaScript land adds an acidy sour taste to my mouth.

I guess the WPF Disciples (http://wpfdisciples.wordpress.com/) will now be the Second Class XAML Disciples.

Mary-Jo sums it up well here.

After today's BUILD keynote I would switch to JAVA in a heartbeat if I could, but I have spent too much time in a Microsoft world.

I have not felt comfortable with Microsoft's leadership for a while now, and I don't see that changing anytime soon.

I am glad this happened when it did. I was about to embark on a new project. It was to have a WPF interface, a Silverlight interface, an MVC interface, and an ASP.NET interface. Different modules for different contexts. It will be time to rethink the choices.

My stance is, I don't need to pay $5000 a year for an MSDN to develop HTML, JavaScript, and CSS applications. I certainly don't need Microsoft to lead me down that path.

I cancelled several preordered .NET books today. One is shown below.



It is time to take a serious look at other options. Right now I am not willing to invest my time and money in the Microsoft future they presented today. Maybe after seeing more of BUILD I will change my mind, but for now my Microsoft technology learning track is put on hold.





posted by tadanderson at 4:33 PM 4 comments

Monday, September 12, 2011

Microsoft SQL Server 2008 R2 Master Data Services Book Review

This is the time to start learning about Microsoft's Master Data Services and this book is a great place to start. With the release of Denali we will be getting some nice improvements to the MDS toolset. We will be getting Excel tools that interface with the data, an excel add in that works with the SQL Server Data Quality Services, easier data loading, better web UI, and the ability to install the tools with the SQL Server installer.

Although this book does not cover the Denali toolset, it covers everything else you will need to know in order to take advantage of them when they come out.

The book starts out with an introduction to MDM. It covers Analytical MDM, Operational MDM, Transaction Hub, Registry Hub, Hybrid Hub, data governance, data stewardship, and a little of the politics and organizational changes.

It then introduce Master Data Services and how to install and configure them. Next are chapters on Creating and Using Models, Version Management, Importing Data into Master Data Services, Importing Data into Master Data Services, Extracting Data from Master Data Services, Application Programming Interface, and Master Data Services Security.

The thing I like most about the book is that it discusses multiple integration points with MDS. The book shows examples using BizTalk 2010, SharePoint 2010, and SSIS. The book shows you how to take advantage of both the WCF interface and assembly interfaces. The SharePoint examples include web part and workflow integration.

I also like the chapter on the staging tables and the business rules. Using the staging tables can be confusing, but I thought the author did a great job of explaining them. The chapter on the business rules does a great job of introducing business rules and has a lot of hands on examples.

The one thing lacking in this book as well as other MDS books is detailed examples of de-duplication and merging of records. Hopefully because the Denali tools will include an interface to the Data Quality tools the MDS books will begin to include examples. This is one of the most important parts of an MDM project, but like other MDM tools, the responsibility is placed on the developers and not handled very well by the MDM technology unless the data has already been scrubbed to a very high quality. This misconception can catch business owners off guard, believing an MDM product alone is a solution to your data problems is a big mistake.

One caution I would give the reader is thinking all you need to know about MDM is how to use MDS services. This book does a great job of covering MDS services, and although it does do a good job introducing MDM, there is a lot more to an MDM project that you need to understand. The authors have a very clear understanding of this point, and they call it out to the reader. Without business sponsorship your MDM project will fail to get past the inception phase, take it from someone who has experienced this first hand. MASTER DATA MANAGEMENT AND DATA GOVERNANCE, 2/E is a great place to start learning about the full scope of an MDM project's process.

This book comes with a download that includes sample data for a model you build, sample scripts, an SSIS package, a sample custom workflow, the web part project, the projects using the WCF interface and assembly interfaces, and the custom workflow solution.

Over all I think this is a great choice for getting started with MDS.

Microsoft SQL Server 2008 R2 Master Data Services

posted by tadanderson at 9:59 AM 0 comments

Tuesday, September 06, 2011

PACKT Book Special on Microsoft SQL Server, SharePoint, and Silverlight

PACKT is running a special on Microsoft SQL Server, SharePoint, and Silverlight for 10 Days Only
Throughout September Packt, a leading publisher of Microsoft books, will be celebrating...

10 days of SQL Server 1st – 10th September
10 days of SharePoint 11th – 20th September
10 days of Silverlight 21st – 30th September

Throughout these dates there will be up to 20% off SQL Server, SharePoint and Silverlight books and 30% off eBooks – for further information visit: http://www.packtpub.com/packt-10-days-of-sql-server-silverlight-sharepoint

posted by tadanderson at 7:03 AM 0 comments

Previous Posts

  • DevOps: A Software Architect's Perspective Book Re...
  • Scaled Agile Framework (SAFe) LiveLessons Video Se...
  • Bulletproof Android: Practical Advice for Building...
  • Swift for Programmers Book Review
  • Security in Computing (5th Edition) Book Review
  • Swift in 24 Hours, Sams Teach Yourself Book Review
  • Sparx Systems Releases Enterprise Architect 12
  • Learning Swift Programming Book Review
  • Android Security Internals: An In-Depth Guide to A...
  • Adaptive Code via C#: Agile coding with design pat...



Archives

  • December 2005
  • January 2006
  • February 2006
  • March 2006
  • April 2006
  • June 2006
  • August 2006
  • October 2006
  • November 2006
  • December 2006
  • January 2007
  • February 2007
  • March 2007
  • April 2007
  • May 2007
  • June 2007
  • July 2007
  • August 2007
  • September 2007
  • October 2007
  • November 2007
  • December 2007
  • January 2008
  • February 2008
  • March 2008
  • April 2008
  • May 2008
  • June 2008
  • July 2008
  • August 2008
  • September 2008
  • October 2008
  • December 2008
  • January 2009
  • February 2009
  • March 2009
  • April 2009
  • May 2009
  • June 2009
  • July 2009
  • August 2009
  • September 2009
  • October 2009
  • November 2009
  • December 2009
  • January 2010
  • February 2010
  • March 2010
  • April 2010
  • May 2010
  • June 2010
  • August 2010
  • September 2010
  • October 2010
  • November 2010
  • December 2010
  • January 2011
  • February 2011
  • March 2011
  • April 2011
  • May 2011
  • June 2011
  • July 2011
  • August 2011
  • September 2011
  • October 2011
  • November 2011
  • December 2011
  • January 2012
  • February 2012
  • March 2012
  • April 2012
  • May 2012
  • June 2012
  • July 2012
  • August 2012
  • September 2012
  • October 2012
  • November 2012
  • December 2012
  • January 2013
  • February 2013
  • March 2013
  • April 2013
  • May 2013
  • June 2013
  • July 2013
  • August 2013
  • September 2013
  • October 2013
  • November 2013
  • December 2013
  • January 2014
  • February 2014
  • March 2014
  • April 2014
  • May 2014
  • June 2014
  • July 2014
  • August 2014
  • September 2014
  • October 2014
  • December 2014
  • February 2015
  • March 2015
  • April 2015
  • June 2015
  • July 2015
  • September 2015

Powered by Blogger