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






Thursday, May 26, 2011

Practical Code Generation in .NET: Covering Visual Studio 2005, 2008, and 2010 Book Review

When it comes to code generation I have seen the worst of the worst and some really cool implementations.

The worst was on a large government project. The consulting firm created a custom code generator that created every layer of the 5 layer application. In truth, the only reason the project was so large was because of the effort that went into the implementation and maintenance of the code generation application. As time went on the firm lost all control of the relationship between the generated code and the application that created it. Maintenance teams needed to be in place for both the production code and the generation tool. Needless to say a ton of money was wasted on the project.

The best was the use of the GAT and GAX tools to put code generation tools in place to support a Software Product Line Engineering project. The tools generated project shells, added different components based on wizard selection, built configuration files, and included item level recipes. The code generation tools didn't attempt to control the application implementation, it only enhanced it. It was used to increase productivity and help enforce consistency.

I was glad to find that the author does not attempt to implement a grandiose code generation monstrosity like the consulting firm did in my first example. He actually does a really great job of warning the reader to not go overboard with code generation.

The book covers Visual Studio Add-ins, generating code with the CodeModel, FileCodeModel, VsWebsite, and VSLangProj, generating solutions and projects, modifying text in the code editorT4 Templates, item templates, and attributes.

The book ends with 3 sizable case studies. They include Generating a Connection String Manager, Generating Validation Code, and Generating Data-Conversion Code. You can read Generating a Connection String Manager on the informIT web site.

The biggest let down I found with this book is the downloadable code.  The author has 2 of the case studies available for download, but does not have sample per chapter available.   You also need to install DSL Toolkit to get the Generating Data-Conversion Code project to load in Visual Studio 2008, but it didn't load in Visual Studio 2010.

One of the things I like the most about the book is that the author really shows you how to take advantage of existing tools and libraries that are intended to be used for code generation. In the large government project I mentioned above, they re-invented every size wheel you can think of. Everything was done from scratch and did not take advantage of any of the framework tools.

Over all I would recommend this book to anyone interested in code generation with the .NET framework and Visual Studio.  It will definately get you moving in the right direction.

Practical Code Generation in .NET: Covering Visual Studio 2005, 2008, and 2010 (Addison-Wesley Microsoft Technology Series)

posted by tadanderson at 10:48 AM 2 comments

Monday, May 23, 2011

The Art of Enterprise Information Architecture Book Review

This book is a mature book on Enterprise Information Architecture. By mature I mean thorough and packed with wisdom gained through experience. I am a member of the Microsoft camp. I have been for a long time now, and I have no intention of switching to IBM, but I wish Microsoft would be producing books like this that included their technology. Microsoft may able to in a few years, but they are no where close to being this mature with their Enterprise Architecture tools now. The Microsoft MDM tools are showing signs of improvement with Denali, but they still have a way to go before the product is a competitor to the IBM MDM stack.

This is one of the best real world Enterprise Information Architecture books I have read. It starts off with a few chapters that go into great detail introducing and defining Enterprise Information Architecture. It then has individual chapters that detail the individual topics. They include A Conceptual and Logical View, Component Model, Operational Model, New Delivery Models: Cloud Computing, Enterprise Information Integration, Intelligent Utility Networks, Enterprise Metadata Management , Master Data Management , Web 2.0 World, Dynamic Warehousing, and New Trends in Business Analytics and Optimization.

This book does an excellent job of making the case for architecture in the enterprise. The concept of architecture is hard enough to sell on individual software development projects, but on an enterprise level it is usually treated as a four letter word and the word is not "good". So many places today have what they call an Enterprise Architecture group, but rarely do they do anything that has to do with Enterprise Architecture. If you curious as to what they should be doing, read this book.

The book references maturity models frequently. They are great for gauging where your company is on the maturity level.

The book also does a great job of introducing the different data domains found in a decent size enterprise. They include Metadata, Master Data, Operational Data, Unstructured Data, and Analytical data. Having these defined by context and role allows you to implement an IT Governance framework to manage them.

The book is written in an easy to read format and is broken down in a very logic way making it also easy to target specific topics.

No matter what your technology stack is this book can help you implement an Enterprise Information Architecture or at least it will help you improve the one you have in place now.

The Art of Enterprise Information Architecture: A Systems-Based Approach for Unlocking Business Insight

posted by tadanderson at 5:20 PM 0 comments

Thursday, May 19, 2011

CMMI for Development: Guidelines for Process Integration and Product Improvement Book Review

CMMI (Capability Maturity Model Integration) models are the product of the industry’s best coming together to build a collection of best practices that help organizations to improve their processes.

The version 1.3 core framework now supports CMMI for Services, CMMI for Development, and CMMI for Acquisition. This book covers CMMI for Development.

It begins with an introduction to process improvement, the CMMI history, the CMMI framework, and CMMI for development.

It then has several chapters that go into detail explaining the ins and outs of the CMMI framework. Topics covered include Core Process Areas and CMMI Models, Understanding Levels, Structures of the Continuous and Staged Representations, Understanding Capability Levels and Maturity Levels, Process Areas, Achieving High Maturity, Recursion and Iteration of Engineering Processes, Adopting CMMI, and SCAMPI Appraisal Methods.

My favorite chapter in this section is Chapter 4: Relationship Among Process Areas. It has great diagrams that show the relationships between the process areas. It really helps to give them context.

Part one ends with Essays and Case Studies. It has 5 essays and 3 case studies. My favorite essay is Ten Missing Links to CMMI Success. Some of the other are Avoiding Typical Process Improvement Pitfalls, Hiring a CMMI Consultant or Lead Appraiser, and From Doubter to Believer: My Journey to CMMI.

The book then continues with a detailed overview of the Generic Goals and Generic Practices which is followed by a chapter on each of the Process Areas in the CMMI for Development. Each chapter about a process area gives in-depth coverage. They include the purpose, introductory notes, related process areas, and specific practices by goals which include example work products.

The book ends with a few appendix – References, Acronyms, CMMI Version 1.3 Project Participants, and a really nice Glossary.

One of the things I like about the book is the Perspectives. They are little sidebars that include insight from the creators and industry experts. Some of them are pretty interesting like the one about how the name constellation started being used.

There are also tons of tips, hints, and x-refs in the sidebars throughout the process areas part of the book. Tips and hints where similar in that they provided additional information about the topic at hand. The x-ref boxes include cross reference material. Sometimes the cross references where in the book and sometimes they are external.

The book is the crème de la crème of the CMMI resources. This material comes straight from the experts. I have been involved in a lot of process improvement initiatives. Not all of the CMMI initiatives, which is a shame. I can tell you that if I had my choice, the wisdom found in this book would be applied to all the projects I go to.

All in all, if you are involved with process improvement, you own it to yourself to get this book. If you are involved with CMMI for development at all, you MUST get this book.

posted by tadanderson at 1:57 PM 0 comments

Microsoft Dynamics Month at Packt

For all of you currently using Microsoft Dynamics Packt is running a Dynamics campaign on its website. As part of the campaign, Packt is offering an exclusive discount for all Microsoft Dynamics books during May 2011. Here is the link which explains it in detail: Packt Dynamics Month.

posted by tadanderson at 7:44 AM 0 comments

Tuesday, May 17, 2011

Context switching in the IT world can be very harmful to schedules

One of the biggest issues I see in a lot of IT / Software Development environments is the lack of understanding when it comes to context switching.

There are a lot of managers that don't understand how much work is lost when they expect their team to multitask. More disastrous is the interruption that could have been an email or voice mail. I rarely answer my phone and shut down email when I want to concentrate. Cubes have wrecked the ability to focus. My current cube is totally open and I am surrounded by a support team that have a line waiting to talk to them sometimes.

When I was in the electronic engineering field we had offices. When the door was closed that meant you were in a meeting or deep into your work. Unless it was an emergency, rarely was there a knock. You'd get a polite email asking for you to let them know when you were free.

It can take an hour to ramp up and get into full motion. Getting interrupted can sent you back an hour and a half easily. Your not ramping back up from a clean shutdown, your ramping back up some where in the middle of an abrupt interruption. Kind of like a train wreck.

At TechED 2011 Microsoft introduced a new Visual Studio-vNext feature to help with context switching. In essence it allows you to save the current state of your Visual Studio work environment so you can return to it exactly like you left it. Although this will help a little if you need to switch to another part of the solution you are working on, it won't help the overall issue.

If I am working on a major issue that involves the entire architecture of an enterprise wide application, I may have a dozen touch points I am working on at the same time. To be pulled away from them unexpectedly for an hour or two to put out a fire can trash a whole days work.

When I am in charge of a team of developers I expect the project manager to be running interference for us. Often that job falls on me when there is no project manager. I have often told my team in the past that if they are approached with a fire the only response I want them giving is the one that sends the person to me first. I don't want my team disturbed.

I have learned that in certain environments an estimation needs to be doubled at a minimum because you can expect to be pulled off a given task several times a day.

Managers that don't understand this find themselves way behind on the schedule before they even know what hit them.

posted by tadanderson at 11:40 AM 0 comments

SPARX Enterprise Architect 9 has been released!!!

SPARX has released version 9 of Enterprise Architect.

EA is still my tool of choice for architecting and designing systems. The new architecture tools in Visual Studio 2010 are very nice reverse engineering tools, but the UML tools are still to primitive to be considered for real world architecture. SPARX EA is a far more robust software engineering tool.

Below are some of the highlights of the new release (From the SPARX EA site)-

The Enterprise Experience
A suite of new and expanded tools to help keep your team and your project on track and on budget. A Project Calendar to track events, milestones and resource allocations, Gantt charts to track allocated resources against elements; and the new Personal Information manager to exchange "model mail" and manage your allocated work. Add to this the Gap Analysis matrix and an all new Whiteboard technology, plus many more team focused enhancements!
Read More

The Learning Experience
An all new Learning Center focused on delivering in-place advice on getting the job done in Enterprise Architect. It is coupled with a significantly expanded Example Model with many real-world examples to get you familiar with vital concepts and capabilities quickly and painlessly.
New usability tweaks, restructured menus and faster ways of building great models; take advantage of the real power within Enterprise Architect 9.
Read More

The Modeling Experience
Hand Drawn mode lets you work in a less rigorous and more conceptual mental frame. Simulates hand drawn diagrams to help let your imagination run free. Expanded diagram filters support, new easy to use orthogonal line styles, line jogs over intersecting line points, a great new Win32 UI technology and a host of other modeling tools make this a truly remarkable release - focused on delivering quality results!
Read More

New Modeling Languages
• BPMN 2.0 including Conversation, Collaboration and Choreography diagrams
• BPEL 2.0 generation from BPMN 2.0 models
• SOMF 2.1 profile for cloud computing
• SysML 1.2
• Win32 UI Technology
Read More

New Analysis and Testing Tools
All new Test Points and Test Cuts - support xUnit like behavior layered on top of existing code. Record test sets from executing code and define your own invariants and pre-conditions and post-conditions. Model Simulation of behavioral diagrams - walk through your diagram from the model simulator! Lots of updates and enhancements to the visual execution analyzer - debugging tools, recording and profiling.
Read More

New Productivity Tools
Many enhancements to the version control capabilities, XMI round-trip, support for ECore (EMF) and other platforms. Additional cross package dependency checking when managing large distributed projects under version control. Lots of updates for C++, C#, Java, VB.Net. New Document Template editor to streamline the process of creating report templates.
Read More

Get it here

posted by tadanderson at 7:45 AM 0 comments

Monday, May 16, 2011

Essential SharePoint 2010: Overview, Governance, and Planning Book Review

So I had all the technical how to books, and some of them covered some governance and planning, but I was left wanting more. I hoped this book would fill in the gaps and it did.

The biggest problem I have run into with SharePoint is that there is not enough planning and governance surrounding the use of it. I have been in a lot of environments that started their SharePoint initiatives with a plan that was no more that “Hey why don’t we throw SharePoint up and see what it can do”. Suddenly those curious individuals are using it to share documents. The word slowly spreads that it is available and more users start using it.

Then one of the more curious power users (by the way, most of the time in my experience ‘power user’ = ‘dangerous user’) start adding more features and they begin to start using more of the web parts and services available.

Next someone realizes you can integrate SharePoint with Reporting Services and they start down the BI road. Before you know it they have a monster on their hands and start looking for someone to clean it up and help manage it, but the cowboys who kicked it all off have moved on!!!!

That story has been the same story for every single SharePoint environment I have come across, and I have come across a lot of them.

I could have summed all that up with the statement “READ THIS BOOK BEFORE IMPLEMENTING A SHAREPOINT ENVIRONMENT”, but I wanted to give some context to the importance of understanding how planning and governance can impact your SharePoint environment. It is a beast, especially SharePoint 2010.

The book is broken down into 3 sections. They are Planning, Optimizing, and Migrating. Some of the topics I found really useful where Why Is Governance Planning So Important?, How Do I Create a Governance Plan?, What Is in the Governance Plan?, Site Architecture, Metadata Architecture, Document and Records Management, Overview of SharePoint Security Elements, Defining and Documenting SharePoint Security, and Customizing the User Experience (UX).

I also liked the chapter on Planning for Disaster Recovery: Backing Up and Restoring. We are in the middle of planning that right now and this chapter has some really useful information in it.

To get a feel for the author I would suggest going to the book's overview on the informIT site and reading some of the articles in the extra's area.

I am in the middle of a SharePoint 2007 to 2010 migration.  This book is going to come in really handy as we start to put some governance in place around the use of the SharePoint 2010 tools.  This does a great job of introducing all the new features available SharePoint 2010.

This book not only outlines what governance should be in place, it also helps you understand why it is so important.  That definitely helps when you are in an environment of cowboys who don't like having healthy constraints in place.

All in All I highly recommend this book to anyone involved with the administration, implementation, or the development of SharePoint 2010.

posted by tadanderson at 11:18 AM 0 comments

Saturday, May 14, 2011

Silverlight Integration Pack for Microsoft Enterprise Library 5.0 Available

Microsoft has released Silverlight Integration Pack for Microsoft Enterprise Library 5.0.

Overview (from MSDN download site)

This release provides many of the features of Enterprise Library 5.0 for Silverlight application developers.

Silverlight Integration Pack for Enterprise Library is a collection of guidance and reusable application blocks designed to assist Silverlight application developers with common LOB development challenges. This release includes: Caching Application Block, Exception Handling Application Block, Logging Application Block, Policy Injection Application Block, Validation Application Block, and Unity Application Block.

These blocks are designed to encapsulate recommended practices which facilitate consistency, ease of use, integration, and extensibility. The release also addresses the needs of those who would like to port their existing LOB applications, that already leverage Enterprise Library, to Silverlight.

Read more about it here

Download it here

posted by tadanderson at 6:31 PM 0 comments

Friday, May 13, 2011

Microsoft SQL Server 2008 R2 Unleashed Book Review

Another Unleashed behemoth!!! It is a whopping 1550 of printed pages and 2451 pages when you include the additional chapters available on the companion CD. If this book doesn’t contain the information you need about SQL Server 2008 R2, then you probably won’t find it anywhere.

Just like I am not a server administrator, I am not a Database Administrator (DBA). I don’t want to be a DBA, nothing against DBAs, but I just think it is a full time job. It is not possible for me to keep up with my .NET Software Architecture skills and also be an effective DBA.

Of course I have to be familiar enough with them to architect scalable, secure, high performing software, so I chose this book as my learning resource. It is a great resource. I have not gone too it and come away disappointed yet.

What does make this nice is there is a lot of developer content included with the book in addition to the DBA topics.

The book is broken down into 8 parts. Below is the entire Table of Contents-

Part I Welcome to Microsoft SQL Server
1 SQL Server 2008 Overview
2 What’s New in SQL Server 2008
3 Examples of SQL Server Implementations

Part II SQL Server Tools and Utilities
4 SQL Server Management Studio
5 SQL Server Command-Line Utilities
6 SQL Server Profiler

Part III SQL Server Administration
7 SQL Server System and Database Administration
8 Installing SQL Server 2008
9 Upgrading to SQL Server 2008
10 Client Installation and Configuration
11 Security and User Administration
12 Data Encryption
13 Security and Compliance
14 Database Backup and Restore
15 Database Mail
16 SQL Server Scheduling and Notification
17 Administering SQL Server 2008 with PowerShell
18 SQL Server High Availability
19 Replication
20 Database Mirroring
21 SQL Server Clustering
22 Administering Policy-Based Management

Part IV Database Administration
23 Creating and Managing Databases
24 Creating and Managing Tables
25 Creating and Managing Indexes
26 Implementing Data Integrity
27 Creating and Managing Views in SQL Server
28 Creating and Managing Stored Procedures
29 Creating and Managing User-Defined Functions.
30 Creating and Managing Triggers
31 Transaction Management and the Transaction Log
32 Database Snapshots
33 Database Maintenance

Part V SQL Server Performance and Optimization
34 Data Structures, Indexes, and Performance
35 Understanding Query Optimization
36 Query Analysis
37 Locking and Performance
38 Database Design and Performance
39 Monitoring SQL Server Performance
40 Managing Workloads with the Resource Governor
41 A Performance and Tuning Methodology

Chapters on the CD

Part VI SQL Server Application Development
42 What’s New for Transact-SQL in SQL Server 2008
43 Transact-SQL Programming Guidelines, Tips, and Tricks
44 Advanced Stored Procedure Programming and Optimization
45 SQL Server and the .NET Framework
46 SQLCLR: Developing SQL Server Objects in .NET
47 Using XML in SQL Server 2008
48 SQL Server Web Services
49 SQL Server Service Broker
50 SQL Server Full-Text Search
Part VII SQL Server Business Intelligence Features
51 SQL Server 2008 Analysis Services
52 SQL Server Integration Services
53 SQL Server 2008 Reporting Services

Part VIII Bonus Chapters
54 Managing Linked and Remote Servers
55 Configuring, Tuning, and Optimizing SQL Server Options
56 SQL Server Disaster Recovery Planning

Almost every chapter begins with a section that covers what is new in SQL Server 2008. There are a ton of diagrams that are really helpful with learning the topics, and a ton of great tables that help to summarize topics.

The thing I like most about this book is the quantity of information about profiling, tracing, monitoring, and performance. There is a whole chapter on locking!!! The authors writing style makes it an easy to read book, or at least as easy as server reading can get.

The code downloads (as well as the ones on the CD) are a little mixed up. They are all there and usable, but you have to do a little digging.

If you are in anyway involved with SQL Server 2008 R2, you owe it to yourself to get this book. It will not leave my side!!!!

I highly recommend this book for DBA's, developers, and architects.

posted by tadanderson at 12:32 PM 0 comments

UML 2 and the Unified Process: Practical Object-Oriented Analysis and Design (2nd Edition) Book Review

The first thing I imagine I should address is why the heck I am reviewing a book that is over 5 years old. I have owned the first edition since its publication and have continued to use it on every project as a reference. When the second edition came out I really wanted it, but there was always another book on my wish list that I needed to also have. Since I had the first edition, I opted for the other book. That continued for longer than I anticipated.

So here it is 6 years later and I am holding a copy of the second edition!!!! The reason I am choosing to review it is that is as relevant today as it was when it was written.

One of the things I like most about this book is that you can turn to the appendix and not find the word agile. This book is all about agility, but it was written before the days of the "agile" buzz word.

This book is about using UML 2 in a development process to implement a solid solution. It is one of the best books available when it comes to using UML in the real world.

The book is broken down into 6 parts. In Part 1 the book starts out with an introduction to UML and the Unified Process. Part 2 is dedicated to Requirements, Part 3 Analysis, Part 4 Design, Part 5 Implementation, and Part 6 is an introduction to the Object Constraint Language (OCL).

The book covers all the UML diagrams (Use Case, Activity, Class, Sequence, State machines, etc.) in the context of the Unified Process.

Beyond the typical UML diagrams the book also covers the requirement workflow, the analysis workflow, finding analysis classes, relationships, inheritance and polymorphism, use case realization, the design workflow, interfaces and components, the implementation workflow, and the OCL.

Each chapter begins with an activity diagram that shows the structure and the flow of the chapter. This makes it easy for you to layout a reading plan for a specific topic. There are tons of notes highlighting the important information in the given section. The UML diagrams include annotations in blue which really make them easy to see.  Every chapter ends with a "What we have learned" section.  These are great.  They can be used as review lists during your development process.

The authors have a writing style that makes the book easy to read from cover to cover, but it also makes a great reference.

This is still my number one choice in UML books to have at my side. The first version of this book made it to everyone of my gigs in the past, now it is this versions turn.

If you are working with UML, this book can make you life much easier. I highly recommend getting a copy of it!!!!

posted by tadanderson at 10:37 AM 0 comments

Thursday, May 05, 2011

Windows Server 2008 R2 Unleashed Book Review

This thing is gargantuan. It is a whopping 1653 pages of high quality Windows Server R2 information. If this book doesn’t contain the information you need about Windows Server 2008 R2, then you probably won’t find it anywhere.

I am not a server guy. I don’t want to be a server guy, nothing against server guys, but I just think it is a full time job. It is not possible for me to keep up with my .NET Software Architecture skills and also be an effective server administrator.

Of course I have to be familiar enough with them to architect scalable, secure, high performing software, so I chose this book as my learning resource. It is a great resource. I have not gone too it and come away disappointed yet.

The book is broken down into 11 parts:

Part I- Windows Server 2008 R2 Overview
Part II- Windows Server 2008 R2 Active Directory
Part III- Networking Services
Part IV- Security
Part V- Migrating to Windows Server 2008 R2
Part VI- Windows Server 2008 R2 Administration and Management
Part VII- Remote and Mobile Technologies
Part VIII- Desktop Administration
Part IX- Fault-Tolerance Technologies
Part X- Optimizing, Tuning, Debugging, and Problem Solving
Part XI- Integrated Windows Application Services

Almost every chapter begins with a section that covers the history of the topic, or gives an overview of the topic, included the vocabulary of the topic at hand.

The authors writing style makes it an easy to read book, or at least as easy as server reading can get.

This book is not like some I have seen that are written by several authors, they usually seem to be very disconnected and you can tell when one author stops and another starts. This book flows nicely from chapter to chapter.

If you are in anyway involved with Windows Server 2008 R2, you owe it to yourself to get this book. It will not leave my side!!!!

posted by tadanderson at 1:10 PM 0 comments

Wednesday, May 04, 2011

Enterprise Model Patterns: Describing the World Book Review

When I first started reading this book I became discouraged because it seemed as thought the author had bastardized UML. As I read on it became apparent that the author had merely created a DSL (Domain Specific Language) using the UML syntax. The domain? Business, from the highest to the lowest level of abstraction. He simply calls it data modeling.

The author starts the book out with an explanation as to why a new way of data modeling (using his UML syntax) is needed. He then covers the conventions of his DSL (by the way, he does not refer to is as a DSL… that is just how I classified it in my own mind) which is a constrained UML language consisting of only class diagrams.

Using only class diagrams bothered me at first too. How do you show state, communication, timing, deployment, etc.? Well it turns out that one of the constraints of the DSL is to limit activities to the data in an activity, not the activities themselves. He leaves that to the other diagrams, that are not part of his modeling goals.

I became more and more comfortable with the constraints as I read on. I think the author made the right choice in limiting the DSL the way he did. He goes through 4 levels of abstraction in his process. If he had not out boundaries in place, it would have been way too big in scope to be usable.

The author the then continues on with several chapters that take you through all 4 levels (Level 0, 1, 2, and 3) of abstraction used in the author's modeling process.

Level 0: An abstract template that underlies level 1.

Level 1: A model of an enterprise in general. Includes chapters on People and Organization, Geographic Locations, Assets, Activities, and Timing.

Level 2: A more detailed model describing specific functional areas. Includes chapters on Facilities, Human Resources, Communications and Marketing, Contracts, Manufacturing, and The Laboratory.

Level 3: A model of a specific industry. Includes chapters on Criminal Justice, Microbiology, Banking, Oil Field Production, and Highway Maintenance.

Each chapter contains tons of diagrams.

This book is an excellent guide to abstraction as well as business modeling. Following the author through the different levels of models will greatly increase your analysis skills and modeling skills.

If you are a business analyst, DBA, or software architect this book is mandatory reading.

posted by tadanderson at 10:27 AM 0 comments

Monday, May 02, 2011

Microsoft Expression Blend 4 Unleashed Book Review

I have not taken the time I should have to get to know Microsoft Expression Blend like I should know it. I use it a lot to build user interfaces and to create SketchFlow prototypes, but I knew I was not fully aware of its capabilities. My hopes for this book where that it would get me up to speed.

I am happy to report that Microsoft Expression Blend Unleashed has provided me with the insight into the Blend tools I was looking for. The book is in full color so it is a pleasure to read and the author has a great writing style.

The book starts off with a history of Expression Blend, the author's opinion on why you should learn it, and insight into the direction Microsoft is taking with Windows 8 and Project Jupiter.

The author then covers the Blend interface in detail. Like I said above, I have been using Blend for years, and this section shed a lot of light on the tools I was missing. It pointed out a lot of tools that are not very obvious.

The book then continues with chapters on Properties and Functionality, Layout, Styles and Templates, Working with Parts and States, SketchFlow, Data Support, Animations and Transitions, Shapes, Paths, and Effects, Skins, Themes, and Resource Dictionaries, and Windows Phone 7.

These chapters really help to flesh out the features in Blend that are hard to find. I knew how to do everything in XAML, but using Blend will hopefully increase my productivity.

There is very little code behind in the book. The author did a good job of choosing examples that allowed everything to be accomplished with Blend.

The code download is very well organized and usable.

All in all if you want to learn about the Blend UI, this is a great place to start. This book has moved Blend from a tool I use once in a while to one that I feel confident enough about to use for any UI development.

posted by tadanderson at 6:03 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