Monday, July 08, 2013

".NET Technology Guide for Business Applications" .Net gets a little whitepaper dev love...

Just Coding - .Net for Business (a Tech Guide)

In case you missed the announcement in last build, Microsoft Corp have released a set of whitepapers to help organizations make proper use of .NET related technologies:

It's a valuable resource in case you need to understand how to use .NET inside a big organization [GD:Post Leached in Full]

.NET - NET Technology Guidance

Today, technology use is in the midst of a shift toward multi-device experiences powered by services in the cloud. However, the next generation of device- and service-dependent applications is not emerging in isolation. These applications have to work with existing applications, unlocking their value to new audiences and new modes of interaction. The two patterns that every application developer now faces are:

  • Established application patterns: These are applications developed using technology patterns such as client/server or web applications optimized for desktop browsers. They act as foundational applications and are heavily centered in existing business processes.
  • Emerging application patterns: Patterns such as multi-devices and the cloud are emerging as technology enablers for new applications. They complement the established patterns by extending the applications to be centered on the end user.

The .NET Technology Guide for Business Applications helps you overcome this challenging transformation process by providing a comprehensive reference to inform your technology decisions. It details the available technologies for evolving and modernizing business applications that are core to the business and based on established patterns, as well as the newest technologies available for .NET to extend these core applications into emerging patterns for devices and services.

Emerging patterns

Emerging application patterns are shaping the applications of the future. Customers and employees now demand device applications that deliver a more personal experience, and to stay continuously connected to the services they need. There are two main components that need to be addressed when developing this new breed of applications:


Established patterns

Building modern business applications is not only about creating new mobile applications. The new experiences demanded by users have to be extremely well integrated with the business processes so they can unlock the value already provided by the core applications of any enterprise which follow established patterns.

Core business applications based on established applications patterns can be very different and have distinct needs depending on several factors. That is, is it a small departmental application? Or are you working on a long-term, core-business, mission-critical application? These categories have very different priorities.

The .NET Technology Guide for Business Applications details the technology options available for both small/medium or large, mission critical applications. It includes the criteria for selecting the right technologies for every category depending on your needs. It also details how to evolve and modernize .NET applications to embrace and extend modern business application principles more easily to meet the demands of users and the business.


NET Technology Guide for Business Applications

A comprehensive guide to .NET development technologies and application patterns Download now ›


Summary - .NET Technology Guide for Business Applications

An overview of .NET development technologies and application patterns Download now ›


From the Full PDF;

2. Purpose of this guide
This guide will help you effectively select the right Microsoft development technologies and approaches for your .NET custom application development, depending on the priorities you have for your application and for your business domain.

This guidance does not cover Application Lifecycle Management (ALM) practices. For additional guidance on this topic, you can visit the Visual Studio ALM website at

Who should use this guide
This guide will be useful to decision makers, software architects, development leads, and developers who are involved in selecting the technologies to use for their applications and projects based on Microsoft development platforms.

Specifically, it covers custom enterprise application development, although ISVs might also find the information and recommendations useful.

This paper does not cover development solutions based on Microsoft business-market products, such as vertical solutions based on Dynamics CRM or Dynamics ERP.

And the TOC;

Table of contents

1. Key takeaways 4

2. Purpose of this guide 4

Who should use this guide 4

How to use this guide 5

3. Overview 5

The .NET Framework and the future of development 6

4. Emerging application patterns 9

Devices 10

Native applications for Windows devices 11

Web applications for any device 12

Services 14

Cloud and hybrid-cloud 16

End-to-end scenarios in emerging application patterns 19

Scenario: Connected Native Windows Store Applications 19

Scenario: Modern Web Applications for Any Mobile Device (Tablets and Phone) 21

5. Established application patterns 23

Business applications segmentation by priorities 23

Small and medium business-applications 25

Data-centric web business applications 27

Scenario: End-to-End Small/Medium Web Business Applications 29

Mixed approach for small/medium business web applications 29

Data-centric desktop business applications 30

Scenario: Small/Medium 2-Tier Desktop Application 31

Scenario: Small/Medium 3-Tier Desktop Application 32

Modernizing desktop business applications 33

Modernizing applications based on RIA containers 34

Cloud app model for Office and SharePoint 35

Apps for Office 36

Scenario: Connected Apps for Office 39

Apps for SharePoint 39

Scenario: Connected Apps for SharePoint 43

Large, mission-critical business-applications 43

.NET in large, mission-critical and core-business applications 44

Technology selection for large, mission-critical and core-business applications 45

Scenario: Large, Core-Business Applications 46

Approaches and trends for long-term core-business applications 50

Loosely coupled architecture and the dependency-inversion principle 50

Architectural styles for core-business applications 53

Modernizing mission-critical enterprise applications 55

Scenarios for custom large, mission-critical applications 55

Scenario: Domain-Driven Subsystem (Bounded Context) 55

Scenario: CQRS Subsystem (Bounded Context) 61

Scenario: Communicating Different Bounded Contexts 62

Scenario: Modernizing Legacy Mission-Critical Enterprise Applications 63

Conclusions 65

6. Appendix A – Silverlight migration paths 66

7. Appendix B – Positioning data-access technologies 68

A couple things I found interesting in this Guide. First and more importantly just that .Net is getting a little love and attention. We all know .Net isn't dead, but still it's nice to see if get a little focus. Secondly, the Silverlight migration paths section (we do know Silverlight is dead, but it's interesting to see it kind of acknowledged and guidance given). Finally there's a new "box" (aka, "Microsoft Development Platform Technologies") diagram(below). This reminds me of the diagram everything hated when Windows 8 was announced. Yet I like this one a little more...



Clay Shannon said...

Thanks for this post; however, the font is quite small; in fact, the "Emerging patterns" and other subheadings are so small I found myself searching for a magnifying glass. I would expect this to be an H2 or, at "worst", and H3, but if they are the CSS for it must be:
H2 {
font-size: 0.0000001em;

Greg said...

@Clay Shannon, Thanks. Copy-n-paste problem... Should be a little better now