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, June 23, 2009

Effective REST Services via .NET Book Review

I have resisted reading about and digging into REST for a while now. Every time I would pick up an article or book I felt like I transported back to the 90's and I was reading an old HTML 2.0 book or specification. The stuff I started on the internet with. To me the REST movement is kind of like the A-HA moment of the internet programming community. Kind of like, "O... that is what they intended".

This book brought all those back in time feelings up all throughout the first 2 chapters. I must say though, that I thoroughly enjoyed reading them. The history lesson and the state of things today, where very well written and kept my attention and interest throughout both chapters. The author's do a great job of digging into the guts of the foundations of REST, which really helps in the later chapters when they discuss the .NET tools used to develop RESTful solutions.

I also like that the authors aren't RESTful zealots. They give Web Services their rightful place and do not present REST as a new silver bullet, but rather a new tool for the tool belt.

They cover a ton of stuff in the remaining chapters and appendixes including using RESTful services from desktop applications using Windows Forms and WPF, using Silverlight 2.0, JavaScript, the ASP.NET MVC Framework, WCF 3.5, IIS 7.0, and Azure. Every chapter goes deep enough into the topic to give you a great start down the right path of using the technology.

The book is a very pleasant read and is well organized.

The downloadable code is very usable, well organized, and contains some great example implementations.

I also have noticed the authors are keeping the accompanying web site up to date and have already released a code fix.

If you want to learn the ins and outs of RESTful Services using .NET technologies, this book is the ticket.

I highly recommend this book.

posted by tadanderson at 5:50 PM 0 comments

Friday, June 19, 2009

Two New Excellent Microsoft Learning Resources for Developers

The first learning resource, the latest MSDN Community Distribution CD, is what led me to the second learning resource MSDN Ramp Up.

I have place the contents of the MSDN Community Distribution CD below (everything that says download is already included in the CD download):

Download the New IIS SEO Toolkit Beta
The IIS Search Engine Optimization (SEO) Toolkit helps Web developers, hosting providers, and server administrators improve their sites' relevance in search results by recommending how to make them more search engine-friendly. The IIS SEO Toolkit Beta can be installed with the Microsoft Web Platform Installer 2.0 Beta for use with IIS 7.0 and IIS 7.5.

Download the Microsoft SDL Process Template for Visual Studio Team System
The SDL Process Template directly integrates the policy, process, and tools of the Security Development Lifecycle v4.1 into Visual Studio Team System 2008. It automates the creation of SDL requirements and recommendations in the familiar Visual Studio Team System development environment. It also provides auditable security requirements and project status, and provides data that allows you to assess the effectiveness of third-party security tools and demonstrate security return on investment.

Your Featured Content
Just Launched on Ramp Up: Web Development with ASP.NET
Ramp Up is a free learning program for developers. We've just launched "Web Development with ASP.NET," "Move from ASP to ASP.NET," and "Move from PHP to ASP.NET." The easy-to-access content is presented in a guided path to make learning efficient. See how Ramp Up can help you become more employable.

Web Resource
On Demand Series: An Early Look at Visual Studio 2010 and .NET 4.0
This on-demand series includes sessions covering Visual Studio 2010, .NET Framework 3.0, ASP.NET AJAX 4.0, Velocity, parallel computing, test-driven development, and Visual Studio Team System 2010. View these sessions today!

Introduction to .NET 4.0
This course provides an overview of new features include the Managed Extension Framework (MEF), theading, and design by contract. Also includes a discussion of the various types of managed languages including the object-oriented languages (C#, C++, VB), the new Dynamic Languages (Iron Python and Iron Ruby), and the Functional Language F#.

New Features in Visual Studio 2010
This course demonstrates some of the new features in the Visual Studio IDE, including the new start page, the code editor, the XML schema editor, and new tools for web development and deployment

ASP.NET AJAX 4.0
This course provides an introduction to ASP.NET AJAX 4.0, focusing on the new client-side controls and templating capabilities, including the dataview control

SQL Server 2008 Developer Fundamentals Part 1
This Web seminar will give an introduction of how to use T-SQL with SQL Server 2008. It will start with covering the basics and then move on to high-lighting some of the new syntax introduced with SQL Server 2008.

Developers look at Windows 7
This is a high-level overview of what's new in the Windows 7 user interface. New features including the new Taskbar, Ribbon, Jump Lists, and Multitouch are demonstrated, so that developers know the new functionality they can leverage, but no code is shown.

Introduction to SQL Server Integration Services 2008 (SSIS)
This course will cover how to use SQL Server Integration Services 2008 (SSIS) to manage an Extract, Transform, and Load (ETL) process. We will start by looking at the fundamental components that make up SSIS and then move onto designing packages using Business Intelligence Development Studio

Case Studies
B2B Vertical Search - Enabling Information Discovery and Decision Making for an Industry Community
Since implementing its FAST ESP search solution in 2007, Platts has seen growth in registrations, a 50 percent increase in trial requests, and revenue is up 40 percent year over year.

Law Firm Automates Complex Workflows, Streamlining Processes and Development
Holland & Knight deployed Nintex Workflow 2007, an application based on Microsoft Office SharePoint Server 2007, to automated workflows. IT staff estimate the Nintex Workflow 2007 solution reduced development time from one week to less than one day.

Security for Developers
Safe Unlinking in the Kernel Pool
Learn about the Conficker Worm

Other MSDN Videos:
MSDN Video: Globalization and Localization with ASP.NET AJAX
MSDN Video: Using the ASP .NET AJAX Control Toolkit
MSDN Video: Cloud Computing What in It for Me
MSDN Video: Adding Authentication to an ASP .NET AJAX Application

Get the CD ISO download here.

Ramp Up, which is included in the DVD content as a link to a web site, can be accessed here.

posted by tadanderson at 7:55 AM 0 comments

Wednesday, June 17, 2009

Software and Systems Requirements Engineering In Practice Book Review

This little book is packed with sound advice.

Pros-
The book covers a wide variety of topics and does so at a detailed enough level that you have a good understanding of the topic. They do not waste time on filler content. It covers building a requirement’s taxonomy, eliciting requirements, Model-Driven Requirements Engineering, quality attributes, the importance of architecture, engineering platforms, requirements management, requirements-driven testing, rapid development techniques, hazard and threat analysis, distributed requirements engineering, and creating a requirements database.

As the book covers all these topics the authors made really great use of visualizing the material with really great diagrams.

They cover a lot of best practices and offer really sound advice. The tips on developing uses cases are great.

Each chapter comes with an extensive reference section.

Cons-
The publisher should have made the book a bit larger. The diagrams included in the book are some of the best I have seen, but they are very small. They could have made electronic versions available online (I guess I could blow them up on a copier).

The book was definitely written by people hanging out in the engineering world because they use a ton of acronyms and they are not always easy to figure out. They did not include all of them in the index.

I found it a little annoying that some of the key concepts/tools point to internal Siemens tools like the DesignAdvisor and URML (Unified Requirements Modeling Language).

All in all
I highly recommend this book. Its size allows me to carry it around with my laptop. I have been taking it everywhere for weeks now and every time I think of shelving it at work or at home I choose not to so I can review one or more of the sections one last time.

If you are involved in software development at all (developer, user, project manager, architect, tester, etc.) this is required reading.


posted by tadanderson at 1:51 PM 0 comments

Thursday, June 11, 2009

Programmatic Differences Between Silverlight and WPF – A Whitepaper

Wintellect has released a very cool white paper on the programmatic differences between Silverlight and WPF. The paper includes notes on the changes coming in Silverlight 3.0.

Introduction (from white paper)

The Windows Presentation Foundation (WPF) is Microsoft’s latest development platform for building next-generation Windows client applications. Silverlight, a subset of WPF, extends the platform to the web via the add-on mechanism available in most current browsers. As a subset of WPF, the ability to create rich Internet applications is unprecedented; however, there are some significant differences between the capabilities of Silverlight and WPF, as well as important differences in the programming features of the two technologies.

There are several architectural reasons for the discrepancies between WPF and Silverlight. First and foremost is that Silverlight 2 is a downloadable plug-in running within a browser. In order to insure that the plug-in is a small as possible, Microsoft built a smaller version of the .Net Framework, one that is highly optimized for size and is a small subset of the full .NET Framework, to embed within it. WPF, on the other hand, has full access to the main .Net Framework and all its associated assemblies. The difference between the smaller, downloadable .Net Framework and the full desktop version is one of the major disparities between the two platforms. In addition, the fact that Silverlight is rooted within the browser, and inherits the limitations of that environment, further differentiates the two platforms.

This whitepaper documents both the identical (or nearly so) functionality as well as the differences. WPF and Silverlight have many technological concepts in common: Dependency Properties, Data Binding, Custom Controls and Animation to name a few. In addition, this paper documents functionality implementations that may be available in only one technology or the other. For example, WPF implements a large library of controls for document handling, including printing and formatting large documents.

Finally, this whitepaper outlines some strategies in obtaining code reuse across both technologies. Due to minor differences in implementations of common elements, developers need to carefully plan their development in order to reuse code in both platforms. Of course, since certain functionality may not exist in one platform, developers may need to reduce the scope of the application in those cases.

One last note about this whitepaper: for brevity and consistency issues, all code samples are written in C#. The code samples are small in scope and should not be difficult to translate to Visual Basic.Net or any other .Net programming language.

Get it here.

posted by tadanderson at 7:11 PM 0 comments

Wednesday, June 10, 2009

Pro ASP.NET MVC Framework Book Review

This is the book for learning the ASP.NET MVC Framework in detail.  The author goes into great detail about every aspect of the framework in a very understandable approach.

The first half of the book gives you an overview of the history of ASP.NET and why we need the ASP.NET MVC Framework. After going through a small introductory application the author covers the skills needed to effectively use the framework.  They include the MVC Architecture, Domain Modeling, Loose Coupling, Testing, and new C# 3.0  language features.  You then build a real world application before moving on to the second half of the book.

The second half of the book covers the ASP.NET MVC Framework in great technical detail.  Every aspect of the framework is covered.

The thing I like most about this book is that the author does not pull any punches when talking about the WebForms framework, and that he goes into great detail without losing you.

The writing style is topnotch and the chapters flow together well.

The book's code samples are very well organized and usable.

If you are going to adventure into the ASP.NET MVC Framework, you will want this book by your side.  I highly recommend this book.

posted by tadanderson at 2:36 PM 0 comments

Monday, June 08, 2009

Prism (Composite WPF and Silverlight) Quick Start Kit

David Hill has put together a nice Prism Quick Start Kit. These samples should get anyone up and running with ease. I have been building an application with Prism 2.0 (Composite WPF and Silverlight). The framework is really sweet. I used the Composite UI Application Block in the past, and can tell you that this framework is much easier to use.

I have included a few screen shots of the application, and the over all architecture below, in order to give you an idea of the way I am using it.

Architecture:

Click here for larger image.


Click here for larger image.


Click here for larger image.


Click here for larger image.

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