19
Using CSLA .NET to Simplify Using CSLA .NET to Simplify Business Application Business Application Development Development Development Development

Using CSLA .NET to Simplify Business Application Development · 2007-12-04 · CSLA .NET Reduces Application Development and Maintenance Costs • CSLA defines specific application

  • Upload
    others

  • View
    3

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Using CSLA .NET to Simplify Business Application Development · 2007-12-04 · CSLA .NET Reduces Application Development and Maintenance Costs • CSLA defines specific application

Using CSLA .NET to SimplifyUsing CSLA .NET to SimplifyBusiness ApplicationBusiness Application

DevelopmentDevelopmentDevelopmentDevelopment

Page 2: Using CSLA .NET to Simplify Business Application Development · 2007-12-04 · CSLA .NET Reduces Application Development and Maintenance Costs • CSLA defines specific application

Agenda

• Introduction• Challenges of business application development

– Applications are costly to develop and maintain– Applications become rigid and hard to change– Underlying technology is in constant change

• Introduction to CSLA .NET• CSLA .NET Reduces Application Development and

Maintenance Costs• CSLA Increases Application Agility• CSLA Minimizes Impact of Change

Page 3: Using CSLA .NET to Simplify Business Application Development · 2007-12-04 · CSLA .NET Reduces Application Development and Maintenance Costs • CSLA defines specific application

Introduction

• Magenic is a technical consulting firm focusedexclusively on Microsoft technologies and has designedand delivered 500+ Microsoft-based applications

• Headquartered in Minneapolis, with offices in Chicago,Boston, Atlanta, and San Francisco

Rockford Lhotka is the author of numerous books, including the Expert C# and VB 2005Business Objects books and related CSLA .NET framework. He is a Microsoft Regional Directorand MVP. Rockford speaks at many major conferences around the world, including MicrosoftTech Ed, PDC, VS Live and Dev Connections, and at many local user groups through INETA.

Page 4: Using CSLA .NET to Simplify Business Application Development · 2007-12-04 · CSLA .NET Reduces Application Development and Maintenance Costs • CSLA defines specific application

Challenges of Application Development

• Applications are costly to develop and maintain– Lack of consistency at an architectural level– Too much focus on technology, not enough on business

• Applications become rigid and hard to change– Lack of formalization around building a business layer– Lack of formalization around building a business layer– Too many “one-off” solutions to problems

• Underlying technology is in constant change– Technology is in turmoil; Today’s technology is gone tomorrow

• UI technologies change continually• Databases change regularly

Page 5: Using CSLA .NET to Simplify Business Application Development · 2007-12-04 · CSLA .NET Reduces Application Development and Maintenance Costs • CSLA defines specific application

What is CSLA .NET?

• A development framework focused on managingand implementing business logic

• Enables creation of business objects withautomatic support for advanced features

• Supports 1-, 2- and n-tier deployment models• Supports 1-, 2- and n-tier deployment models• Provides flexible data management

Page 6: Using CSLA .NET to Simplify Business Application Development · 2007-12-04 · CSLA .NET Reduces Application Development and Maintenance Costs • CSLA defines specific application

CSLA .NET Features

• Prescriptive architecture• Support for .NET data binding• Standardized business logic• Detailed authorization• Detailed authorization• Powerful undo capabilities• Abstract data persistence• Deployment flexibility

Page 7: Using CSLA .NET to Simplify Business Application Development · 2007-12-04 · CSLA .NET Reduces Application Development and Maintenance Costs • CSLA defines specific application

CSLA .NET Reduces ApplicationDevelopment and Maintenance Costs

• CSLA defines specific application layers– Every type of code has a “home” in the architecture

• CSLA .NET codifies a formal architecture– Framework makes it easy to do the right thing– Developers follow the path of least resistance– Developers follow the path of least resistance

• CSLA .NET enables object-orientation– OO design results in code that is more…

organized, readable, maintainable, flexible

Page 8: Using CSLA .NET to Simplify Business Application Development · 2007-12-04 · CSLA .NET Reduces Application Development and Maintenance Costs • CSLA defines specific application

CSLA .NET lets developersfocus on your business problems,

not on technology.

Page 9: Using CSLA .NET to Simplify Business Application Development · 2007-12-04 · CSLA .NET Reduces Application Development and Maintenance Costs • CSLA defines specific application

• INNfinity, a developer of propertymanagement and reservations software,need to rewrite its aging client/serverproduct to reduce support costs andexpand functionality to meet marketneeds.

• Magenic used the CSLA Framework and

Simplified maintenanceand an intuitive userinterface reducedsupport costs by 60%

One-touch deploymentcut implementation costsby 40%

Automated upgrades

Client Case Study: Reducing Development Costs

The end Result:

• Magenic used the CSLA Framework andMicrosoft tools to completely rewriteINNfinity’s flagship application in just oneyear.

Automated upgradeseliminate 6-7 hours ofmanual effort percustomer

INNfinity projects 300%growth in sales due toexpanded functionalityand reduced cost ofownership

Page 10: Using CSLA .NET to Simplify Business Application Development · 2007-12-04 · CSLA .NET Reduces Application Development and Maintenance Costs • CSLA defines specific application

CSLA Increases Application Agility

• Formal business layer enables change– Change the UI, change the database, change deployment– Use iterative, agile techniques to refactor objects over time

• Object-oriented design aligns with business– Use case driven design– Use case driven design– Common terminology between business and developers

• Object-oriented business layer enables change– Minimize dependencies and coupling– Normalization of behavior

Page 11: Using CSLA .NET to Simplify Business Application Development · 2007-12-04 · CSLA .NET Reduces Application Development and Maintenance Costs • CSLA defines specific application

• A global medical diagnostics companyneeded to replace an outdated applicationto provide its worldwide call centerpersonnel with access to service andinventory data while complying with FDAsecurity regulations.

• Magenic used the CSLA Framework and a

New search capabilitiesgive users better accessto data

Simplified data entryimproved workflow anddata accuracy

The flexibility of the newsystem enabled the

Client Case Study: Application Agility

The end Result:

• Magenic used the CSLA Framework and acentralized Microsoft architecture todevelop a new application that providedaccess to disparate databases from onesearchable view and applied security rulesto comply with FDA regulations.

system enabled thecompany to consolidate17 regional centers intoone

The company passed itsmost recent FDA auditwith flying colors

Page 12: Using CSLA .NET to Simplify Business Application Development · 2007-12-04 · CSLA .NET Reduces Application Development and Maintenance Costs • CSLA defines specific application

CSLA Minimizes Impact of Change

• A CSLA .NET business layer is– UI independent– Database independent– N-tier independent

Page 13: Using CSLA .NET to Simplify Business Application Development · 2007-12-04 · CSLA .NET Reduces Application Development and Maintenance Costs • CSLA defines specific application

UI Independence

• CSLA .NET supports all .NET UI types– Windows Forms– Web Forms– AJAX– Windows Presentation Foundation– Web services– WCF services– Workflow

• One business layer services all UIs

Page 14: Using CSLA .NET to Simplify Business Application Development · 2007-12-04 · CSLA .NET Reduces Application Development and Maintenance Costs • CSLA defines specific application

Database Independence

• CSLA .NET enables abstract persistence– Formal structure for invoking all CRUD operations– Can use any data access layer or ORM tool

Page 15: Using CSLA .NET to Simplify Business Application Development · 2007-12-04 · CSLA .NET Reduces Application Development and Maintenance Costs • CSLA defines specific application

N-Tier Independence

• CSLA .NET requires layers, supports tiers– 1-, 2- or 3-tier deployments support– Change deployment models without changing code!

• CSLA .NET supports .NET technologies– Windows Communication Foundation (WCF)– Windows Communication Foundation (WCF)– .NET Remoting– Web services– Enterprise Services– Custom network protocols (such as TCP sockets)

Page 16: Using CSLA .NET to Simplify Business Application Development · 2007-12-04 · CSLA .NET Reduces Application Development and Maintenance Costs • CSLA defines specific application

• The world’s largest manufacturer of made-to-order wood windows and doors, neededto replace its unstable and inextensiblequoting system with a more flexible andresponsive application.

• Magenic used the CSLA Framework andMicrosoft technologies to develop a new

Dealers can work remotely,even without Internetconnectivity

Uses an Oracle database,leveraging Marvin’s existinginvestments and in-houseexpertise

Engineer-to-order

Client Case Study: Deployment Flexibility

The end Result:

Microsoft technologies to develop a newsystem that enabled real-time price quotesand streamlined order entry processes.

Engineer-to-orderbackorders greatly reduced

Faster response time, plusability to easily track downthe source of delays

Significantly reducedmaintenance anddevelopment effort

Page 17: Using CSLA .NET to Simplify Business Application Development · 2007-12-04 · CSLA .NET Reduces Application Development and Maintenance Costs • CSLA defines specific application

CSLA .NET Framework Architecture

• World-Class Development Framework• Reuse Logic Across Windows & Web• Accelerate Development• Increases Quality, Scalability and Performance• Decrease Maintenance Costs• 1,000’s of Implementations in Production• 1,000’s of Implementations in Production• www.Lhotka.net• Used by:

– Insurance– Manufacturing– Financial– Retail– Government/Military

Page 18: Using CSLA .NET to Simplify Business Application Development · 2007-12-04 · CSLA .NET Reduces Application Development and Maintenance Costs • CSLA defines specific application

In Summary

• Challenges of business application development include:– High cost of development and maintenance– Difficulty in keeping applications up to date– Keeping up with underlying technology

• CSLA .NET is a development framework focused onmanaging business logic, with support for 1-, 2- andmanaging business logic, with support for 1-, 2- andn-tier deployment models and flexible data management

• CSLA reduces development and maintenance costs• CSLA lets you create agile applications• CSLA provides deployment flexibility

Page 19: Using CSLA .NET to Simplify Business Application Development · 2007-12-04 · CSLA .NET Reduces Application Development and Maintenance Costs • CSLA defines specific application

Thank YouThank YouMagenic is one of the largest and most experiencedconsulting firms focused on Microsoft technologies.

Visit our website to learn more.Visit our website to learn more.

[email protected]

www.magenic.com