Decoupled web applications (with AppFabric)

Post on 08-Jul-2015

3.064 views 0 download

Tags:

description

Web applications are growing increasinly more complex, and to speed up development, it makes sense to use pipelined development. This is one of the benefits afforded to the development team using decoupling as an architecture best practice. This deck contains a quick overview of decoupled apps, and how we can use AppFabric to handle decoupling.

Transcript of Decoupled web applications (with AppFabric)

Decoupled applications with AppFabric

Anže Vodovnik (anze@studiopesec.com)

Who am I?

• Software Architect @ Studio Pešec

• 10+ years of experience (C#, Java...)

• Highly scalable, distributed applications

• Microsoft Certified Technology Specialist

• http://www.linkedin.com/in/avodovnik

• @avodovnik

• http://lab.studiopesec.com

Agenda

• Coupled vs. Decoupled

• AppFabric

• When and where

• Discussion & QA

Coupled vs. Decoupled

Database DAL Business

Logic UI

Coupled vs. Decoupled

UI Business

Logic DAL Database

How to communicate through boundaries?

• We know that already: interfaces

• To exchange information we define contracts

• Implementation changes

Benefits of decoupling

• Pipelined development

• Different languages/technologies

• Different timelines

• Change agnostic!

Scalability

DB (SQL Server,

MySQL, NoSQL)

Browser

Web Server (ASP.NET, PHP,

Ruby, …)

Decoupling!

Browser

Web Server (ASP.NET, PHP,

Ruby, …)

Sessions

ARE SCALABLE (DISTRIBUTED) APPS REALLY *THIS* EASY?

BUT WAIT A MOMENT

Browser

DB (SQL Server,

MySQL, NoSQL)

Web Server (ASP.NET, PHP,

Ruby, …)

Sessions

Apps

Services (WCF, WF, …)

Sessions / State

LOB

Systems

AuthN/Z

AuthN/Z

Introducing AppFabric

Windows Azure AppFabric

Management Management Management Management Management

Prog. Models

& Tools

Prog. Models

& Tools

Prog. Models

& Tools

Prog. Models

& Tools Prog. Models

& Tools

TAX RETURN SUBMISSION APPLICATION

EXAMPLE

High-level architecture

Scalability, revisited

• Time-based load, e.g. Tax-return submission

AppFabric Queues & Topics

• Load Leveling

• Loose coupling (no consumer?)

• Load balancing

Queue P C

P

P C

C

AppFabric Queues & Topics

• Microsoft‘s Publish/Subscribe

Topic P S

S

S

C

C

C

Why?

What‘s better?

When & where?

• Potentially scalable application

• Different technologies

• Separate development teams

– Different paces of development

– Different release cadence

• Load leveling & balancing

SAMPLE OF APPFABRIC QUEUES http://lab.studiopesec.com/