21
06/06/22 1 Microsoft Business Framework Lars Hammer, Jesper Theil Hansen & Michael Nielsen Microsoft Business Framework, Copenhagen Tools & Server Division [email protected] , [email protected] , [email protected]

Business Applications Are Complex

Embed Size (px)

DESCRIPTION

 

Citation preview

Page 1: Business Applications Are Complex

04/08/23 1

Microsoft Business FrameworkLars Hammer, Jesper Theil Hansen & Michael Nielsen

Microsoft Business Framework, CopenhagenTools & Server [email protected], [email protected] , [email protected]

Page 2: Business Applications Are Complex

04/08/23 2

Who are we?

Visual Studio Copenhagen:Microsoft Business Framework

ToolsMetadata ServicesBusiness ClientPatternsPerformanceSystem Admin

Visual Studio Redmond:C++, C#, J#, VBIDEMicrosoft Business FrameworkVSIPLife cycle management

Page 3: Business Applications Are Complex

04/08/23 3

Windows

SQL Server

Windows

SQL Server

Windows

SQL Server

ProprietaProprietaryry

FramewoFrameworks & rks & ToolsTools

EnterprisesEnterprises

Windows

SQL Server

Windows

SQL Server

DomainBiz Logic

DomainBiz Logic

DomainBiz Logic

DomainBiz Logic

DomainBiz Logic

CommonBiz Logic

Common Biz Logic

Common Biz Logic

CommonBiz Logic

Common Biz Logic

Proprietary ApplicationFramework:

“C/SIDE”

Proprietary ApplicationFramework:“MorphX”

Proprietary ApplicationFramework

Proprietary ApplicationFramework: “Dexterity”

Proprietary ApplicationFramework:“VB Tools..”

Historically ISV’s and Enterprises have developed proprietary frameworks & tools to meet there needs

WindowsWindowsPlatformPlatform

BusinessBusinessLogicLogic

AxaptaAxapta

Page 4: Business Applications Are Complex

04/08/23 4

Proprietary ApplicationFrameworks

Typical components of such proprietary frameworks and tools

ProprietaryTools

ProprietaryTools

IDE

Form Designer

Report Designer

Data Dictionary

Windows platform

Proprietary FrameworkProprietary Framework

Data Access Security

Integration

Workflow

Binding

System AdminPresentation

Scheduling

Eventing

Business Logic

Reporting

Customization

Page 5: Business Applications Are Complex

04/08/23 5

Require multiple skills to build

Face continuous & rapid technology evolution

Need large and generic, run-time capabilities

Are adopting distributed internet architectures

Large, Complex, Difficult to Develop and Maintain

+

+

+

What’s the ISV’s Pain?Business applications are difficult to build

Have a complicated value chain+

Page 6: Business Applications Are Complex

04/08/23 6

Multiple Technical Skills to Build

• OO / UML / OO programming for the domain

• Transact SQL / SQL Server for persistence• MDX / Analytics Server for OLAP• XLang/X / BizTalk Server for Orchestration• WinForms / Avalon for the rich client• HTML / ASP.NET for thin or semi-rich client• ASP WebParts / WSS & SPS for portals• XML, SOAP / Indigo & Whitehorse for WS• Each has its own set of abstractions!

Leaves less time to focus on the domain

Page 7: Business Applications Are Complex

04/08/23 7

Rapid Technology Evolution• Technology is changing rapidly• Many vendors failed to make the

transition to Client / Server• Current transition to Web /

Distributed Internet / SOA is orders of magnitude more difficult than DOS to Client / Server

• Microsoft must enable more organizations to make the transition

Diff

icul

ty o

f Mak

ing

Tran

sitio

n

DOS Character Based

Single application

Client/Server ParadigmEvent BasedGraphical UI

Random AccessInterapp communication

on same machine

Web / SOA ParadigmXML EnabledDisconnected

InterconnectedMessage Based

Web Service EnabledScalable

DistributableAggregated User XPComposeable User

Web BasedMultiple Device Targets

Broader ReachWork Flow EnabledInter Organization

Distributable SecurityMeta Data Driven

Event BasedInterapp

Communicationacross the internet

Harder to transition now than ever before.

Page 8: Business Applications Are Complex

04/08/23 8

“Tier 1” ISV

“Tier 2” ISV

Selling and

Implementation

Partner

Integration/OEM Extension

MiddleMarket

Customer

ResellingISV

Reselling ISV

n-Way

Microsoft Business Framewor

k

EnterpriseCustomer

IT Development

Enterprise customers buy direct and build applications for internal use

ISVs develop business applications and may sell and implement direct or through a channel

VARs implement solutions and do simple app development

“Tier 2” ISV’s integrate, extend or OEM another ISV’s solution

Small BusinessCustomer

Retail

Middle Market customers buy from channels and may extend the solution themselves

Complicated Value ChainCustomize, extend, and upgrade essential.

Small Business customers buy either through VAR or retail

Page 9: Business Applications Are Complex

04/08/23 9

Generic, Run-Time PiecesExpected, necessary, but not domain-specific.• Business applications integrate these

large pieces with their domain-specific parts:• Reporting and analytics• Workflow• Portal• Security• Deployment & Administration• Customization ‘IDEs’

• Hard to • Build from scratch• Integrate when provided by a partner

Page 10: Business Applications Are Complex

04/08/23 10

Distributed Internet Arch.New, complicated, and necessary.

The business application must integrate with web services to enhance the end-user experience.

Service-Oriented Architecture and the web services on which it is based require skills in distributed computing and message management.

Page 11: Business Applications Are Complex

04/08/23 11

Business applications are complexCustomers and partners need to understand and change them• Business Applications are large

• Traditional Business applications have thousands of forms and tables• Example: Great Plains has 1000+ forms, 600+ tables, Millions of LOC

• Business Applications are FULL of patterns• One ISV partner defines seven types of forms, every form in the

system (500+) fits the pattern• Business Logic follows patterns

• Defaulting, Validation, Calculated Values

• Business Logic tends to be symmetric. (A purchase order is somebody else’s sales order)

• Business Applications need to support “Micro verticals”• ISV produces “retail”, ISV customizes for “apparel”, Partner

customizes for unique commission algorithm.• Business Applications need to support complex upgrade \ versioning

scenarios• Business applications tend to be very difficult to upgrade• Upgrades very costly to the customer

Page 12: Business Applications Are Complex

04/08/23 12

0%

20%

40%

60%

80%

100%

1997 1998 1999 2000 2001 2002 2003

Customers are asking for more Driven by Demand for Vertical Solutions

Source: Gartner Research; Core ERP includes Accounting, Purchasing, Order Management, Costing, Inventory Management, Production Management; Bolt-on includes CRM and SCM

Vertical

Custom

Bolt-on

Core ERP

Page 13: Business Applications Are Complex

04/08/23 13

Functionality Gap Solved by Customization

Microsoft Business Framework

Microsoft Servers and Tools

ProprietaryMiddleware

ISV Horizontal Functionality

ISV Vertical Functionality

ISV Vertical, Industry & Horizontal

FunctionalityISV Industry Functionality

Unrealized Customer Needs

Hig

her

So

luti

on

Va

lue

to c

us

tom

ers

!

MBF Value PropositionMBF customer focuses on end user needs

Page 14: Business Applications Are Complex

04/08/23 14

The MBF MessagesWhat MBF is

The Microsoft Business Framework extends the Windows platform allowing customers to replace their proprietary business frameworks and tools and focus on developing the highest-value applications for their customers.

The Promise

The Technology

The Microsoft Business Framework provides a prescriptive model driven architecture plus a set of model driven tools and runtime application services for constructing complex, extensible, and upgrade-safe business applications on .Net.

Page 15: Business Applications Are Complex

04/08/23 15

MBF is part of Visual StudioMBF will ship in the Enterprise VS.NET SKUs.

MBF is standard part of any Enterprise SKU install.

You can start a new MBF project.

Daniel C. Brown
Has Prashant given clarity on this?
Page 16: Business Applications Are Complex

04/08/23 16

Model driven development

Model

Page 17: Business Applications Are Complex

04/08/23 17

Entities• Represent “smart data”

DefaultingValidationCalculated Values

• Contain no database logicPersisted through an O/R layer

• Identified by a “Key”• Have noun names

Customer, Vendor, Order

Operations• Contain business logic

TransactableExtensible by ISVs

• Contain no database logicPersist results via Entities

• Have verb namesPostInvoice, GetNextNumber…

Libraries• Groups entities, operations and such

Any types that manage a biz abstractionSpans domains, more than a CLR assembly

• Have noun namesOrders, Pricing, IVLedger

Entity(SmartData)

Operation(Business

Logic)

Key Abstraction ConceptsEntities, Operations & Libraries.

Page 18: Business Applications Are Complex

04/08/23 18

• Agent• Primary interface to

consumer• Contains state between calls• Lives on the “workspace tier”• Is remotable (marshall by

value)

• Service• Is stateless between calls• Lives on the “enterprise tier”• Can define transactional

boundaries

Agents

Services

Entity(SmartData)

Operation(Business

Logic)

Agent / ServiceProviding SOA with a rich emissary.

Page 19: Business Applications Are Complex

04/08/23 19

Agent/Service & Deployment• Rendering Tier – UI tier

• For thin client, this is the browser

• For rich client, WinForms

• Workspace Tier• Agents reside on this tier• For thin client, this is also

the web server

• Enterprise Tier• All services run on this tier

– stateless business logic

• Database Tier• Persist enterprise data• SQL Server

RT WT ET

RT WT ET

Single Machine

Thin Client

DB

Logical tiers can be flexibly deployed.

RT WT ET

Fat Client

DB

RT WT ET

DB

Rich Client

DB

Page 20: Business Applications Are Complex

04/08/23 20

• Reliability via restart • Consumer cannot

expect a synchronous call

• Replaced by ‘Windows technology in next release

Agents

Services

Entity(SmartData)

Operation(Business

Logic)

• Dynamic View controls access to data

• Row-level filtering• CRUD authorization

• Task Security controls access to behavior

• Basic .NET Code Access Security, with extensions to handle more complex role \ org structure scenarios

Key Surrounding ServicesSupport the MBF abstractions.

Page 21: Business Applications Are Complex

04/08/23 21

Entity

Entity

Entity

Entity

<Uses><Uses>

Operations Operations ActivitiesActivities

<U

ses><

Uses>

OLAP ConsumerOLAP Consumer

<U

ses>

<U

ses>

ProcessProcessConsumerConsumer

Agents

Services

Entity(SmartData)

Operation(Business

Logic)

Activities and Entity CubesBuild upon the core abstractions.

EntityCube

EntityCube

EntityCube

EntityCube

EntityCubesEntityCubes

EntityCube