/
Positioning Microsoft Development Technologies for Custom Application Development Positioning Microsoft Development Technologies for Custom Application Development

Positioning Microsoft Development Technologies for Custom Application Development - PowerPoint Presentation

giovanna-bartolotta
giovanna-bartolotta . @giovanna-bartolotta
Follow
383 views
Uploaded On 2018-11-10

Positioning Microsoft Development Technologies for Custom Application Development - PPT Presentation

Cesar De la Torre NET Product Manager Microsoft Corp cesardlMicrosoftcom Twitter cesardelatorre DEVB204 Use different Components for different purposes Cesar De la Torre NET Product Manager ID: 726803

business applications application microsoft applications business microsoft application driven web net approaches apps windows 2013 dev technologies core data

Share:

Link:

Embed:

Download Presentation from below link

Download Presentation The PPT/PDF document "Positioning Microsoft Development Techno..." is the property of its rightful owner. Permission is granted to download and print the materials on this web site for personal, non-commercial use only, and to display it on your personal computer provided you do not modify the materials and that you retain all copyright notices contained in the materials. By downloading content from our website, you accept the terms of this agreement.


Presentation Transcript

Slide1
Slide2

Positioning Microsoft Development Technologies for Custom Application Development

Cesar De la Torre.NET Product ManagerMicrosoft Corp.cesardl@Microsoft.comTwitter: @cesardelatorre

DEV-B204Slide3

Use different

Components for different purposes

?Slide4

Cesar De la Torre

.NET Product Manager

Microsoft Corp.

cesardl@Microsoft.com

@

cesardelatorre

Slide5

Sessions Mini-track for LOB app. development

Data-Driven apps and

LightSwitch

TechEd sessions

Domain-Driven Design, .NET and Loosely-coupled approaches

TechEd sessions

Windows Apps Modernization

TechEd sessions

Session DEVB204 - Positioning Microsoft development technologies

Cesar de la Torre

Jimmy Nilsson

: Developing

Core Business Applications with

DDD

and

.NET

(DEV-B311

) June 26, 2013 from 5:00PM to 6:15PM

Per Rovegård

:

Real Experiences

and Architectural

DDD

Patterns

Applied on

.NET

(DEV-B343) June 27, 2013 from 12:00PM to 1:15PM

Julie Lerman

:

Entity Framework

in Core Business Applications and

DDD

Approaches

(DEV-B336) June 27, 2013 from 3:15PM to 4:30PM

Understanding Dependency Injection and Those Pesky Containers (DEV-B207) June 27, 2013 from 5:00PM to 6:15PM

Heinrich Wendel: Building Modern, HTML5-Based Business Apps on Windows Azure with Microsoft Visual Studio LightSwitch (DEV-B307) June 26, 2013 from 10:15AM to 11:30AMHeinrich Wendel : Building Modern, HTML5-based Business Apps for SharePoint 2013 with Visual Studio LightSwitch (DEV-B342) June 28, 2013 from 2:45PM to 4:00PMGlenn Condron : Entity Framework 6: Database Access Anywhere, Easily (DEV-B335) June 25, 2013 from 3:15PM to 4:30PM

Brian Noyes

:

Building

Windows Store

L

ine-of-Business

Applications

(

DEV-B358) June 26, 2013 from 8:30AM to 9:45AM

Brian Noyes

:

Design

Guidance for

Windows Store Line-of-Business

Apps

(

DEV-B309) June 27, 2013 from 5:00PM to 6:15PM

Cesar de la Torre

:

Modernizing

WPF Line-of-Business

Applications

(

DEV-B325) June 27, 2013 from 12:00PM to 1:15PMSlide6

Choosing Technology depending on your

Application and

Business priorities

Technologies

Technologies and approaches

Business

priorities

Short Time-to-market

versus

long-term investment.

Departmental

versus

enterprise mission-critical.

engage customers

versus

Run the

business

RADs

versus

loosely-coupled architectures?.

Data-driven

versus

Domain-Driven?.

Modern-apps

versus

Desktop applications?.Slide7

Microsoft Development

Platform Technologies

?Slide8

Foundational Applications for the Business

Small/medium

B

usiness

A

pplications

Large Mission critical

B

usiness

A

pplications

Productivity | Easy to get started

Long-term | Core business.

Approaches

Data-driven development.

Simple approaches

Rapid development (RAD

).

Approaches

Domain-driven design or similar.

Decoupled architectures.

Long-term, evolving maintenance.Slide9

Categorizing

Applications or Sub-Systems?

Mission-Critical

Application

Small-med size

Application

Mission-Critical Core-Business

Sub-system

Collateral & simple Subsystem

Collateral & simple Subsystem

Collateral & simple Subsystem

Large composite

application

VS.Slide10

Small-medium

Business ApplicationsSlide11

Data-Driven Applications

What is a Data-Driven Application?

Basically, it is a

CRUD

application (CREATE, READ, UPDATE, DELETE).

The Business Logic volume is usually low

ISSUE

when evolving to large volumes of business logic

CREATE

READ

UPDATE

DELETE

Application

User’s

knowledge

Procedures

Manual

Data-Driven

Applications

Slide12

Scenario:

Small/medium 3-Tier

Desktop

ApplicationSlide13

Scenario:

Small/medium

Web

ApplicationSlide14

Visual Studio 2012

UPDATE 2

Release date:

April 4

th

2013

As part of the VS

UPDATE 2,

a new version of

LightSwitch

was released, including the LightSwitch HTML5 Client final version.

Great for

Web Data-Driven applications

LightSwitch HTML5

Client

VS 2012 UPDATE 2 Download:http://www.microsoft.com/visualstudio/eng/downloads#d-visual-studio-2012-updateSlide15

Demo

Creating Web Data-DrivenBusiness Applications(LightSwitch)Slide16

Large Mission-Critical

Core-Business ApplicationsSlide17

Scenario: Large Core-Business

systemsSlide18

Approaches

for Core Domain/Business applications

S.O.L.I.D. principles.

Patterns of Enterprise Applications Architecture.

Martin

Fowler.

Domain-driven design (DDD).

Eric

Evans, Jimmy Nilsson

,

Vaughn Vernon, etc.

CQRS (Command and Query Responsibility Segregation).

Microsoft P&P ‘CQRS Journey,’

Greg

Yound

,

Udi

Dahan

.

Event driven and

Event

sourcing.

Greg Young, Martin Fowler, etc.

Decoupled architectures.

Use of Dependency Injection

and

IoC

containers

Microsoft P&P Unity, MEF,

Ninject

,

Castle Windsor, etc.

Behavior-driven design (BDD) and TDD.

Dan North, Chris Matts, etc.

Frameworks

:

SpecFlow

, Nspec, Cuke4Nuke, Nbehave, and MSpec.

Single Responsibility principle.Open/close principle.Liskov substitution principle.Interface segregation principle.Dependency Inversion principle.Slide19

BOUNDED CONTEXT

C

BOUNDED CONTEXT

D

Several subsystems

or

bounded-contexts

with

different architectures

BOUNDED CONTEXT

A

BOUNDED CONTEXT

B

Unified UI—Visual aggregation

UI

DAL

DDD

Layered

CQRS

Legacy

system

CRUD

or

data-

driven

architecture

for

simple

tasks

DDD Layered

architecture

for

core-domain

CQRS

for

core-domain

Old

architecture

(

legacy

)

LARGE

APPLICATION

Background

Server

Tier

Web/app

Tier

Database

Tier

MyApp

-Event-Bus

(

In-memory or

Service

Bus or

Queues, etc.)

Asynchronous

communication

Integration Events

Integration Events

Integration Events

Integration EventsSlide20

Demo

- Web app SPA (Single Page Application)- Several Subsystems/Bounded-ContextsSlide21

Demo

Integrating different Bounded-Contexts (Sub-systems) through Event-Driven approachesSlide22

Demo

Integrating CRUD Data-DrivenLightSwitch system with otherBounded-ContextsSlide23

Application

Modernization

Modern Times!Slide24

Services

Devices

+

+

Emerging patterns

Application patterns evolution

Servers

Client

Established patternsSlide25

Established application patterns

Foundational applications for the business

Web and desktop applications

Centered on existing business processes

Modern Business Applications

Small/Medium

Business Applications

Productivity

Easy to get started

Large Mission-Critical

Business Applications

Long-Term

Core-Business

Emerging application patterns

End-user centric

Innovation

Mobility & Cloud

Foundational

Business

New

Experiences

Extending

Fixed

On-Premises

Elastic Cloud

and Hybrid

EvolvingSlide26

.NET Application Modernization

Windows Store

Windows Phone

Non-Microsoft native apps

NATIVE APPLICATIONS

WEB APPLICATIONS

Web-PC

form factor

On-premises only

Hybrid

SERVICES

Web tablet

/

phone

form-factors

Desktop-only

CloudSlide27

Demo

Modern-Applications Modern Web AppsWindows Store AppsSlide28

Summary

Emerging application patterns

Innovation | Mobility | Cloud

Technologies

Compelling UI technologies.

Windows native apps.

NET/

WinRT

, HTML5/

WinRT

, C++.

Web apps.

HTML5/JS +

jQuery

+ ASP.NET.

Small/medium

Business Applications

Productivity | Easy to get started.

Approaches

Data-driven

development.

Productive dev. environment.

Rapid development (RAD).

Keep flexibility and extensibility.

Technologies

End-to-end productive technologies.

LightSwitch

.

ASP.NET web forms or MVC.

Apps for SharePoint.

Apps for Office.

WPF.

ASP.NET Web-API or WCF Services.

Entity framework model and DB first.

SQL Server.

Windows Server or Windows Azure.

Mission-critical

Business Applications

Long term | Core business.

Approaches

Domain-driven design

or similar.

Decoupled architectures.

Long-term agile maintenance.

QoS

(Quality of Service)

High scalability.

Technologies

Fine-grain

technologies.

MVC and SPA

(Single Page Applications

)

WPF for desktop.

ASP.NET Web-API services or WCF services.

Custom .NET libraries and layers.

Inversion of control containers and DI.

Entity framework POCO

Codefirst

.

Service bus (Azure or server).

Workflow foundation.

SQL Server.

Windows Server or Windows Azure.

SPA (single page applications).

LightSwitch

HTML5 client.

Continuous services – backend.

ASP.NET Web-API services.

Windows Azure services and DB.

Approaches

Native or Web client.

Mash-up apps consuming services.

Differentiators based on client side.

Need services as backend.Slide29

Select

architecture approaches

technologies

depending

on

your specific

application’s priorities

.

In large applications,

when selecting architectural approaches, think about

subsystems/bounded-contexts rather than the whole application.

Modernize

your established applications with

decoupled subsystems/bounded

contexts

.

TakeawaysSlide30

msdn

Resources for Developers

http://microsoft.com/msdn

Learning

Microsoft Certification & Training Resources

www.microsoft.com/learning

TechNet

Resources

Sessions on Demand

http://channel9.msdn.com/Events/TechEd

Resources for IT Professionals

http://microsoft.com/technet Slide31

Evaluate this session

Scan

this QR code

to

evaluate this session.

Required Slide

*delete this box when your slide is finalized

Your MS Tag will be inserted here during the final scrub. Slide32

Cesar de la Torre

.NET Product Manager

Microsoft Corp.

cesardl@microsoft.com

Twitter:

cesardelatorreSlide33

© 2013 Microsoft Corporation. All rights reserved. Microsoft, Windows and other product names are or may be registered trademarks and/or trademarks in the U.S. and/or other countries.

The information herein is for informational purposes only and represents the current view of Microsoft Corporation as of the date of this presentation. Because Microsoft must respond to changing market conditions, it should not be interpreted to be a commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any information provided after the date of this presentation. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.