04/08/23 1
Microsoft Business FrameworkLars Hammer, Jesper Theil Hansen & Michael Nielsen
Microsoft Business Framework, CopenhagenTools & Server [email protected], [email protected] , [email protected]
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
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
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
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+
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
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.
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
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
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.
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
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
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
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.
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.
04/08/23 16
Model driven development
Model
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.
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.
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
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.
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
Top Related