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






Monday, April 28, 2008

Smart Client Software Factory ( SCSF ) for Visual Studio 2008 Available

The Smart Client Software Factory ( SCSF ) for Visual Studio 2008 is now available on the Microsoft downloads site.

Overview from Download Site:
The Smart Client Software Factory provides an integrated set of guidance that assists architects and developers in creating composite smart client applications. The software factory includes: QuickStarts, reference implementations, how-to topics, patterns, and Visual Studio .NET extensions. This release is for Visual Studio 2008.

Get the Smart Client Software Factory – April 2008 for Visual Studio 2008 here.
Get the Smart Client Software Factory – April 2008 Documentation for Visual Studio 2008 here.

posted by tadanderson at 6:39 PM 0 comments

Wednesday, April 23, 2008

Silverlight 2 End-to-End Data Centric Application

Brad Abrams has put together a really nice post on Silverlight 2. He calls it, End-to-End Data Centric Application with Silverlight 2.

His goals, list at the beginning of his blog, are to show-

Explain the Silverlight Project Format
How to do rich layout and animation
Uses line of business controls for Silverlight such as DataGrid
Has a Linq based data layer on the server on the server
Exposes business logic over that data via a WCF web service
Consume the service on the client in Silverlight and databind to the DataGrid
Store result locally to minimize round trips to the server across instantiations with IsolatedStorage
Re-theme the UI to make it look more cool.
Do it all in code that you could easily write on stage in about 30-45 mins
Have Fun!

Definitely worth checking out, do so here.

posted by tadanderson at 7:22 PM 0 comments

Monday, April 21, 2008

Microsoft Operations Framework (MOF) 4.0 Released

Brief Description from MSDN Site
MOF 4.0 is practical guidance for IT organizations contained in a set of 23 documents. With this release, MOF now reflects a single, comprehensive IT service lifecycle—it helps IT professionals connect service management principles to everyday IT tasks and activities and ensures alignment between IT and the business.

Overview from MSDN Site
Microsoft Operations Framework (MOF) 4.0 has been designed to help overburdened IT professionals quickly access useful, relevant content. It contains practical guidance—not just theory—and its streamlined approach makes it possible to use either the entire framework or one process from a particular service management function (SMF).

The guidance in MOF encompasses all of the activities, workflow, and processes involved in managing an IT service: its conception, development, operation, maintenance, and—ultimately—its retirement. MOF organizes these activities and processes into service management functions, which are grouped together in phases that reflect the IT service lifecycle. Each SMF is anchored within a lifecycle phase and contains a unique set of goals and outcomes that support the objectives of that phase. An IT service’s readiness to move from one phase to the next is confirmed by management reviews, which ensure that established goals are achieved and that IT’s goals are aligned with those of the organization.

MOF guidance is contained in 23 documents:

The MOF 4.0 Overview describes all of the MOF content and its goals. It is the ideal starting place for someone new to the framework or an executive looking for the big picture.

Four MOF phase overviews have been written primarily for IT managers and directors seeking a better grasp of IT service strategy. The overviews provide an introduction for the phase, describe the service management functions contained within, and detail the management reviews performed during the phase.

Sixteen SMFs contain specific activities and workflows designed primarily for the IT professionals who will be implementing the activities.

A glossary gives definitions of terms used frequently in MOF.

A spreadsheet maps earlier versions of MOF to version 4.0.

Get it here.

posted by tadanderson at 8:05 PM 0 comments

Models for Evaluating and Improving Architecture Competence

SEI has released a new paper titled Models for Evaluating and Improving Architecture Competence.

Overview from the SEI Download Page
Software architecture competence is the ability of an individual or organization to acquire, use, and sustain the skills and knowledge necessary to carry out software architecture-centric practices. Previous work in architecture has concentrated on its technical aspects: methods and tools for creating, analyzing, and using architecture. However, a different perspective recognizes that these activities are carried out by people working in organizations, and those people and organizations can use assistance towards consistently producing high-quality architectures.
This report lays out the basic concepts of software architecture competence and describes four models for explaining, measuring, and improving the architecture competence of an individual or a software-producing organization.

The models are based on
(1) the duties, skills, and knowledge required of a software architect or architecture organization
(2) human performance technology, an engineering approach applied to improving the competence of individuals
(3) organizational coordination, the study of how people and units in an organization share information
(4) organizational learning, an approach to how organizations acquire, internalize, and utilize knowledge to improve their performance.

The report also shows how the four models can be synergistically applied to produce an evaluation instrument to measure an organization’s architecture competence.

Below is the Table of Contents:

1 Introduction 1
1.1 Terminology and Definitions 2
1.2 Models of Competence 7
1.3 Organization of This Report 9
2 The Duties, Skills, and Knowledge (DSK) Model 11
2.1 What Are an Architect’s Duties, Skills, and Knowledge? 12
2.2 Advantages and Challenges of the Approach 13
2.3 Processing the Raw Data 15
2.4 Duties 16
2.5 Skills 17
2.6 Knowledge 18
2.7 Using the DSK Model to Assess and Improve the Architecture Competence of Individuals 21
2.8 Duties, Skills, and Knowledge for a Software Architecture Organization 22
3 The Human Performance Technology Model 25
3.1 Using the Human Performance Technology Model to Measure and Improve Architecture Competence 27
4 The Organizational Coordination Model 29
4.1 Dependency 29
4.2 The Coordination Capability of an Organization 30
4.3 Measuring the Coordination Activities 31
4.4 Relating Organizational Capability to Dependencies 32
5 The Organizational Learning Model 33
5.1 The Components of the Organizational Learning Framework 34
5.2 Using the Organizational Learning Framework to Measure and Improve Architecture Competence 35
6 Considering the Models Together 37
6.1 How the Models Together Support Evaluation 37
6.2 Principles Embodied by the Models 38
6.3 Coverage Provided by the Models 39
7 Building an Assessment Instrument 43
7.1 Assessment Outcomes 43
7.2 The Foundations and Structure of the Instrument 44
7.3 Sample Questions 45
7.4 Reflections on the Instrument Questions 47
8 Summary 49
8.1 Next Steps 49
8.2 Conclusion 51
Appendix A: Survey of Practicing Architects 53
Appendix B: Complete List of Duties, Skills, and Knowledge 61
Bibliography 69

Get it here.

posted by tadanderson at 7:33 PM 1 comments

Friday, April 11, 2008

.NET 3.5 Enhancements Training Kit Available

Overview from MSDN download site
The .NET Framework 3.5 Enhancements Training Kit includes presentations, hands-on labs, and demos.

This content is designed to help you learn how to utilize the .NET 3.5 Enhancement features including: ASP.NET MVC, ASP.NET Dynamic Data, ASP.NET AJAX History, ASP.NET Silverlight controls, ADO.NET Data Services and ADO.NET Entity Framework.

Right now the download does not contain too much. Under Presentations, Demos, Screencasts, and resources there is only a message that says: Resources will be added in a future release of the training kit.

Get it here.

posted by tadanderson at 6:35 PM 0 comments

Wednesday, April 09, 2008

Microsoft Security Development Lifecycle (SDL) Guidance Available

Microsoft has released Security Development Lifecycle (SDL) Guidance.


Click Image for Larger View

Microsoft is making the details of the SDL process generally available online for the first time. IT policy makers and software development organizations can leverage this content to enhance and inform their own software security and privacy assurance programs.

Below is the Table of Contents from the available document.

Introduction 3
Stage 0: Education and Awareness 9
Stage 1: Project Inception 11
Stage 2: Cost Analysis 13
Stage 3: Design Phase: Establish and Follow Best Practices for Design 15
Stage 4: Design Phase: Risk Analysis 18
Stage 5: Implementation Phase: Documentation and Tools for Users that Address Security and Privacy 20
Stage 6: Implementation Phase: Establish and Follow Best Practices for Development 22
Stage 7: Verification Phase: Security and Privacy Testing 24
Stage 8: Verification Phase: Security Push 26
Stage 9: Pre-Release Phase: Public Release Privacy Review 29
Stage 10: Release Phase: Response Planning 30
Stage 11: Release Phase: Final Security Review and Privacy Review 32
Stage 12: Release Phase: RTM/RTW 35
Stage 13: Post-Release Phase: Response Execution 36

Appendix A: Privacy at a Glance 37
Appendix B: Security Definitions for Vulnerability Work Item Tracking 38
Appendix C: SDL Privacy Questionnaire 40
Appendix D: A Policy for Managing Firewall Configurations 43
Appendix E: Required and Recommended Compilers, Tools, and Options for All Platforms 47
Appendix F: SDL Requirement: No Executable Pages 53
Appendix G: SDL Requirement: No Shared Sections 56
Appendix H: SDL Standard Annotation Language (SAL) Recommendations for Native Win32 Code 57
Appendix I: SDL Requirement: Heap Manager Fail Fast Setting 61
Appendix J: SDL Requirement: Application Verifier 64
Appendix K: SDL Privacy Escalation Response Framework (Sample) 66
Appendix L: Glossary 68
Appendix M: SDL Privacy Bug Bar (Sample) 70
Appendix N: SDL Security Bug Bar (Sample) 74
Appendix O: Security Plan (Sample) 79

You can download it here.

posted by tadanderson at 7:17 PM 0 comments

Tuesday, April 08, 2008

New WCSF Visual Studio 2008 and .NET 3.5 Guidance Bundles

patterns and practices has released new WCSF Visual Studio 2008 and .NET 3.5 Guidance Bundles.

Web Client Composite Library for .NET Framework 3.5
This library provides reusable application blocks for creating composite responsive Web clients.

Web Client Composite Library for .NET Framework 2.0
This library provides reusable application blocks for creating composite responsive Web clients.

Web Client Contextual AutoComplete Application Block for .NET Framework 2.0
This application block provides guidance on how to provide a list of suggested values to the end user of your application during data input.

Web Client Contextual AutoComplete Application Block for .NET Framework 3.5
This application block provides guidance on how to provide a list of suggested values to the end user of your application during data input.

Web Client Model View Presenter Application Block for .NET Framework 3.5
This application block provides guidance on how to create testable ASP.NET user interfaces.

Web Client Responsive Composite Reference Implementation for .NET Framework 2.0
Web Client Responsive Composite Reference Implementation for .NET Framework 2.0

Web Client Model View Presenter Application Block for .NET Framework 2.0
This application block provides guidance on how to create testable ASP.NET user interfaces.

Web Client Modularity Application Block for .NET Framework 3.5
This application block provides guidance on how to create modular composite user interfaces.

Web Client Composite Automation for .NET Framework 2.0
This guidance package provides Guidance automation for creating composite Web clients.

Web Client Validation Application Block for .NET Framework 2.0
This application block provides guidance on how to improve responsiveness for UI validation.

Web Client Search Application Block for .NET Framework 3.5
This application block provides guidance on how to improve UI search patterns.

Web Client Responsive Composite Reference Implementation for .NET Framework 3.5
Web Client Responsive Composite Reference Implementation for .NET Framework 3.5

Web Client Search Application Block for .NET Framework 2.0
This application block provides guidance on how to improve UI search patterns.

posted by tadanderson at 1:18 PM 0 comments

Free E-Learning: .NET Framework 3.5 and Visual Studio 2008

Learn how to build solutions using Windows Workflow Foundation, Windows Presentation Foundation, and Windows Communication Foundation with the Microsoft .NET Framework 3.5 and Visual Studio 2008. This collection is free for a limited time.

Get it here

posted by tadanderson at 5:19 AM 0 comments

Saturday, April 05, 2008

Microsoft Patterns and Practices Unity Application Block 1.0 is Available

Microsoft Patterns and Practices Unity Application Block 1.0 is Available

Overview from MSDN site
The Unity Application Block (Unity) is a lightweight, extensible dependency injection container. It facilitates building loosely coupled applications and provides developers with the following advantages:
--Simplified object creation, especially for hierarchical object structures and dependencies
--Abstraction of requirements; this allows developers to specify dependencies at run time or in configuration and simplify management of crosscutting concerns
--Increased flexibility by deferring component configuration to the container
--Service location capability; this allows clients to store or cache the container

Get it here.

Read the MSDN Introduction to Unity here.

Visit the community site here.

Watch some videos and read some tutorials about it here.

posted by tadanderson at 10:17 AM 0 comments

Tuesday, April 01, 2008

The Personal Software Process (PSP) Body of Knowledge Version 1.0

Overview from SEI site
As the profession of software engineering evolves and matures, it must achieve some of the critical elements needed for recognition as a bona fide discipline. Among these elements are the establishment of a recognized body of knowledge (BOK) and certification of professional practitioners.

The body of knowledge contained in this report is designed to complement the IEEE Computer Society’s Software Engineering Body of Knowledge (SWEBOK) by delineating the key skills and concepts that compose the knowledge areas and competencies of a proven-effective process improvement method, the Personal Software Process (PSP).

As adoption of the PSP methodology continues to grow, it becomes crucial to document the fundamental knowledge and skills that set PSP practitioners apart from other software engineers. The PSP BOK serves this purpose and more. It helps individual practitioners to assess and improve their own skills; provides employers with an objective baseline for assessing the personal process skills and capabilities of their engineers and product development teams; and guides academic institutions that want to incorporate PSP into their software and other engineering courses or curricula.

The PSP BOK also facilitates the development of PSP certification programs that are based on a well-established, standard set of knowledge and skills.

Get it here.

posted by tadanderson at 6:11 PM 0 comments

Community Preview of the Enterprise Library 4.0 Available

The Community Preview of the Enterprise Library 4.0 is available from CodePlex.

Overview from CodePlex
This release has been adapted to work with WMI version 2.0 and version 3.5 of the .NET Framework.

Enterprise Library 4.0 has the Allow Partially-Trusted Caller attribute (APTCA) on all assemblies. This means that you can call the methods of Enterprise Library and the application blocks from an application running in a partial trust environment. You can do this with the signed assemblies provided with Enterprise Library. There is no longer any requirement, as there was in version 3.x, to recompile the source code then either use the unsigned binaries or strong-name them yourself.

The Caching Application Block has been refactored to allow developers to replace the CacheManager class with other implementations, including the ones offered by the distributed cache solution providers. This does not affect the API of the application block.

There are also additions in functionality to the Logging Application Block, the Validation Application Block, the Exception Handling Application Block. For details see the change log attached.

Build scripts are packaged under /Scripts. Run the following:

BuildLibraryAndCopyAssemblies.bat
InstallDbs.bat
RegAssemblies.bat
InstallServices.bat (optional; if you need MSMQ support et al)

Note: This community preview does not include integration with the Unity Application Block http://www.codeplex.com/unity or the integrated Visual Studio 2008 config tool. These features are planned for the final release.

Get it here.

posted by tadanderson at 5:20 PM 0 comments

Emergent Design: The Evolutionary Nature of Professional Software Development Book Review

This book is a gold mine of wisdom.

This book contains a ton of wisdom that has come out of the software engineering field over the years. It brings together a lot of software development best practices that can be found in other resources and puts them together under the umbrella of Emergent Design.

He covers patterns, principles, processes, and practices by presenting the best of each that has been proven to work again and again.  The common sense communicated out of this book is priceless.

The author has a presentation that touches on a lot of the content found in the book. It can be viewed here.

Forward thinking is something that I find lacking in a lot of the environments I am exposed too, especially development environments.  This book nails how to do forward thinking when it comes to software design and development.  You will end up making your solutions more valuable with each change, instead of degrading them with each change if you follow the advice in this book.

If you do development, this is a must read.  I would advise all team leads to get rid of anyone who has not read this book by the end of the year.

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