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






Tuesday, May 29, 2012

I gave up my MSDN Subscription for a 2012 Macbook Pro

This will be the first year since 2002 that I don’t maintain a personal MSDN license. For years I found value in having access to all the Microsoft tools and servers, but Microsoft has changed my opinion over the past two years.

I mentioned I may not renew my MSDN license in this blog back in September and I have decided to follow through with that decision.  I will be spending the money on a new 2012 Macbook Pro when they are released and diving headfirst into XCode 4.  If a company wants me to develop in Visual Studio, they can provide the license from now on.

In my blog Microsoft moved my cheese again and I don't really care to find it, I followed up with my current view of Microsoft.

Some of their latest stupidity has at least reassured me my decision was the right one.
Read these-

Microsoft Delivers a Blow to Open Source with Visual Studio 11
Microsoft has already ruffled more than a few feathers with the exclusionary potential of its forthcoming Windows 8 operating system, and this past week the open source community has been up in arms again.

No-cost desktop software development is dead on Windows 8
You won't be able to use the free Visual Studio Express to develop desktop apps.

Over all Microsoft has done nothing but deliver disappointment after disappointment over the past couple of years and I don't see them changing their current direction.

posted by tadanderson at 1:22 PM 1 comments

Thursday, May 17, 2012

Microsoft SharePoint 2010: Creating and Implementing Real-World Projects Book Review

This book is unique in the library of SharePoint 2010 books I own. It is a recipe book for entire solutions. The recipes take you from compiling the requirements to the implementation and the management of the final solution.

The solutions covered in the book include:
Building a Project Management Solution
Building a Training Registration Management System
Building a Basic FAQ Solution
Building a Learning Center
Building a Help Desk Solution
Building a Remote Teams Activity Site
Building a Team Blog Platform
Building an RFP Response Solution
Building a Contact Management Solution
Building a Resource Scheduling Solution

Although the solutions in the book are good, they are not what I found to be its most valuable asset. The process the authors walk you through and the way they teach you to think about the design of the solutions is the most valuable part of the book.

Each solution has the following sections : Identifying the Business Problems, Gathering Information, Designing the Solution, Building the Solution, Managing the Solution, and Reviewing the Platform.

In the Identifying the Business Problems the authors provide real world scenarios and problems that exist in them that need real solutions.

Gathering Information includes identifying systems users and the data needed for the solution.

Designing the Solution includes which platform will be used, SharePoint Foundation or SharePoint Server with enterprise features. Which services will be used. The permissions to be applied. Solution wireframes for the different views to be created. It also include which templates will be used.

The Building the Solution section provides step by step instructions for building the solution. These detailed instructions start with creating the site with the Central Admin. They then show you how to customize the look and feel of the site. They include tables that define all the columns in the list and how to create the views for the lists. If workflows are included in the solution, they provide detailed instructions on how to create them. Many of the solutions include using InfoPath and they show you how to create the forms.

Managing the Solution includes tips on how to manage permissions and use the actual solution.

Reviewing the platform offers tips on how to use the solutions on different platforms including using SharePoint Online with Office 365, SharePoint Server Standard, SharePoint Server Enterprise, and SharePoint Foundation.

I found this book to be a really enjoyable read. I liked the way the author's approached the projects and they provided a lot of insight into how to build code free solutions.

I found their writing style enjoyable and they made the book very easy to read.

Over all I highly recommend this book to anyone using SharePoint in their organization. Even if you are not looking to build any of the specific solutions found in the book, they will help you improve your process when building other solutions.

Microsoft SharePoint 2010: Creating and Implementing Real-World Projects

posted by tadanderson at 8:13 AM 0 comments

Tuesday, May 15, 2012

Packt Microsoft Carnival

Brighten your May at Packt’s Microsoft Carnival!

This May, let Packt Publishing liven your bookshelves and expand your knowledge. Packt Publishing brings to you an exciting choice of discounts for Microsoft books and e-books. We have slashed our prices by 30%, so celebrate with us, go crazy and make the most of this Carnival before it ends…

  • Buy any Microsoft print book from below and get 20% off
  • Buy any Microsoft e-book from below and get 30% off
  • Buy PacktLib subscription and get 10% off

Plug into the adventure and get a chance to win a year’s free access to Microsoft PacktLib. Enter the Microsoft Carnival competition below.


Learn more here!!!

posted by tadanderson at 5:29 PM 0 comments

Delivering Business Intelligence with Microsoft SQL Server 2012 Book Review

Get ready to learn, but be ready to work for it. This book is packed full of hands on exercises the author calls "Learn by Doing". Every topic covered is accompanied by a "Learn by Doing" section. If you take the time to go through these while reading the book you will absorb triple the information. It takes a lot of time, but is definitely worth it.

The author does provide a download of all the databases and projects created throughout the book, so if you do not have time to manually type everything in, you can download and configure them. I did the exercises of the things I had not done before, but used the downloads to explore solutions of concepts I already had a pretty good understanding of.

Although this book is packed full of hands on exercises, it is also packed full of accompanying information. The first part of the book provides a great overview and foundation of Business Intelligence.

The second part of the book is where the hands on exercises begin. You dig deep into creating and populating Data Marts using SSIS. The third part of the book digs deep into creating Cubes and Multidimensional Expressions (MDX) scripting.

Part four covers the Tabular BI Semantic Model and the Data Analysis Expressions (DAX) Language. Part five first gives a really nice introduction to data mining, including covering some of the common algorithms used in data mining. It then covers the Microsoft tools available for mining.

The last part of the book covers the client tools available for delivering business intelligence including Reporting Services, Excel PivotTable and PowerPivot, SharePoint PerformancePoint, and Power View.

I have listed the six parts and their chapters below.

Part I: Business Intelligence
Chapter 1. Equipping the Organization for Effective Decision Making
Chapter 2. Making the Most of What You've Got--Using Business Intelligence
Chapter 3. Seeking the Source--The Source of Business Intelligence
Chapter 4. Two, Two, Two Models in One--The BI Semantic Model
Chapter 5. First Steps--Beginning the Development of Business Intelligence

Part II: Defining Business Intelligence Structures
Chapter 6. Building Foundations--Creating Data Marts
Chapter 7. Transformers--Integration Service Structure and Components
Chapter 8. Fill 'er Up--Using Integration Services for Populating Data Marts

Part III: Working with a Multidimensional BI Semantic Model
Chapter 9. Cubism--Measures and Dimensions
Chapter 10. Bells and Whistles--Special Features of OLAP Cubes
Chapter 11. Writing a New Script--MDX Scripting
Chapter 12. Pulling It Out and Building It Up--MDX Queries

Part IV: Working with a Tabular BI Semantic Model
Chapter 13. Setting the Table--Creating a Tabular BI Semantic Model
Chapter 14. A Fancy Table--Tabular BI Semantic Model Advanced Features

Part V: Mining
Chapter 15. Panning for Gold--Introduction to Data Mining
Chapter 16. Building the Mine--Working with the Data Mining Model
Chapter 17. Spelunking--Exploration Using Data Mining

Part VI: Delivering
Chapter 18. Special Delivery--Microsoft Business Intelligence Client Tools
Chapter 19. Let's Get Together--Integrating Business Intelligence with Your Applications

The downloadable code is very well organized and usable. The databases each have instructions on getting them setup and configured. Like I said above I did the exercises of the things I had not done before, but used the downloads to explore solutions of concepts I already had a pretty good understanding of. All the databases restored without error and all the projects deployed without issue after changing some of the security setting for my local environment.

One topic missing from the book is Master Data Services (MDS), but Microsoft does not include MDS as part of their defined BI solutions either.

Some of my favorite parts of the books included the coverage of Change Data Capture, the complete coverage of the Control Flow items and Data Flow items available in the SSIS Toolbox, the detailed coverage of the BI Semantic Model (BISM), and the coverage of the Data Mining tools.

I honestly do not think you will find a better resource for learning the SQL Server 2012 Business Intelligence Tools.

Delivering Business Intelligence with Microsoft SQL Server 2012 3/E

posted by tadanderson at 10:52 AM 0 comments

Friday, May 11, 2012

How Google Tests Software Book Review

As I read the beginning of this book I was thinking to myself that the story being told of a giant like Google seems just a little too good to be true, but I will trust what they are saying about the atmosphere. Giant companies have never impressed me. They take on their own life and the individual is usually lost in the shuffle.

When I was near the end of the book is when I found out James Whittaker quit Google. In his blog "Why I left Google" he describes what I had envisioned Google to be. It sounds like Google has made some bad decisions to compete with Facebook, just like Microsoft has made some horrible decisions to compete with Apple.

That said, this book is still a great read. It talks about the events that James calls the old Google and I highly recommend reading it.

After the book gives an introduction to what testing at Google is, it has a chapter on each role in their testing world. Each chapter goes into great detail about the tools they use, the different test sizes, coding practices, team structure, process, bug attributes, workflow, and much more. There are also ton of really interesting interviews scattered throughout the book. I found these really entertaining.

The book chapters include Introduction to Google Software Testing , The Software Engineer in Test , The Test Engineer , The Test Engineering Manager , and Improving How Google Tests Software. It also includes three appendices Chrome OS Test Plan , Test Tours for Chrome , and Blog Posts on Tools and Code.

This book is now part of the orientation of new employees at Google, so if you plan on interviewing with them, it may be a good idea to read it in advance.

Testing can become a major pain point on any decent size project. If done wrong, it can be a huge bottleneck and a source of pain, instead of being a relief and productivity gain. This book has tons of advice on how to avoid going off the rails with testing.

This book isn't only for testers. The Software Engineer in Test is a developer focused on testability and test infrastructure. The chapter that covers The Software Engineer in Test is great for all developers to read.

IT Managers, CIOs, Software Architects, and Enterprise Architects should definitely read this book. It is guaranteed to give you ideas and advice that you can use to improve testing in your organization.

Over all I found this book very educational and very entertaining!!!

How Google Tests Software

posted by tadanderson at 9:19 AM 0 comments

Thursday, May 03, 2012

Elemental Design Patterns Book Review

Elemental Design Patterns are the underlying core concepts of programming and software design that have remained described.

This book is a book I wish I had 15 years ago to help me put the basics of programming into their proper context. Learning how to make use of patterns over the years would have been much simpler had I read this book first.

I have listed the chapters of the book below along with the patterns in the catalog. Take a look at he names of the patterns and you can see how low level these patterns are.

Chapter 1: Introduction to Design Patterns
Chapter 2: Elemental Design Patterns
Chapter 3: Pattern Instance Notation
Chapter 4: Working with EDPs
Chapter 5: EDP Catalog
Create Object
Retrieve
Inheritance
Abstract Interface
Delegation
Redirection
Conglomeration
Recursion
Revert Method
Extend Method
Delegated Conglomeration
Redirected Recursion
Trusted Delegation
Trusted Redirection
Deputized Delegation
Deputized Redirection
Chapter 6: Intermediate Pattern Compositions
Fulfill Method
Retrieve New
Retrieve Shared
Objectifier
Object Recursion
Chapter 7: Gang of Four Pattern Compositions
7.1 Creational Patterns
7.2 Structural Patterns
7.3 Behavioral Patterns
Appendix A: Rho-Calculus

My goal with a solution's architecture is always to make it the simplest solution possible in order to maximize maintainability. That means i must accomplish providing the highest level of transparency possible. That means providing the right level of detail at the right level of abstraction. When they are used patterns allow for a common language to be used. This book provides a language to allow you to go to a lower level of abstraction getting to the core concepts of programming.

My favorite part of this book is how explicitly names and sheds light on all the logic we take for granted when we are programming. Don't however expect to breeze through this book. Although the author is bringing to light concepts that you use everyday, this is the first time you'll be thinking about them with intensity. You have to following along with the author's logical introduction throughout the first few chapters to get the why of the rest of the book.

I think the Pattern Instance Notation (PIN) and the different PINboxes is a really cool way to visually represent patterns, parts of patterns, and the associated patterns.

This thought that kept coming to mind as I read this book is "this is the way I wish I would have learned this in the beginning of my career". This is a refreshing read. It makes you think in an enjoyable way and you really do learn something of value along the way.

Anyone involved with any programming language should read this book.

Elemental Design Patterns

posted by tadanderson at 5:29 PM 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