CSLA Presenter Sergey Barskiy, senior consultant at Magenic Technologies www.magenic.com SergeyB@magenic.com Email your questions Send an email in order.

Slides:



Advertisements
Similar presentations
Pulan Yu School of Informatics Indiana University Bloomington Web service based Varuna.Net.
Advertisements

Service Manager for MSPs
ICS 434 Advanced Database Systems
New Release Announcements and Product Roadmap Chris DiPierro, Director of Software Development April 9-11, 2014
Copyright Hub Software Engineering Ltd 2010All rights reserved Hub Workflow Product Overview.
Unveiling ProjectWise V8 XM Edition. ProjectWise V8 XM Edition An integrated system of collaboration servers that enable your AEC project teams, your.
Zoiner Tejada Hershey Technologies. About Zoiner Tejada.
Objectives In this session, you will learn to:
CS 415 N-Tier Application Development By Umair Ashraf July 2nd,2013 National University of Computer and Emerging Sciences Lecture # 7 N-Tier Architecture.
Introduction to CSLA.Net
Enterprise Smart Clients Architecture, Patterns, Design, Best Practices Keith Elder Manager, Sr. Software Engineer Quicken Loans Blog:
8.
DEV392: Extending SharePoint Products And Technologies Through Web Parts And ASP.NET Clint Covington, Program Manager Data And Developer Services - Office.
Technical Architectures
Web Servers How do our requests for resources on the Internet get handled? Can they be located anywhere? Global?
Mark Harr Multi-Tier Development in.Net.
Exchange server Mail system Four components Mail user agent (MUA) to read and compose mail Mail transport agent (MTA) route messages Delivery agent.
Microsoft ASP.NET AJAX - AJAX as it has to be Presented by : Rana Vijayasimha Nalla CSCE Grad Student.
Software Architecture Patterns (2). what is architecture? (recap) o an overall blueprint/model describing the structures and properties of a "system"
Firefox 2 Feature Proposal: Remote User Profiles TeamOne August 3, 2007 TeamOne August 3, 2007.
Systems Analysis and Design in a Changing World, 6th Edition 1 Chapter 6.
Systems Architecture, Fourth Edition1 Internet and Distributed Application Services Chapter 13.
Chapter 9: Moving to Design
Application Architectures Vijayan Sugumaran Department of DIS Oakland University.
Computer Science 101 Web Access to Databases Overview of Web Access to Databases.
Course Instructor: Aisha Azeem
Architectural Design Establishing the overall structure of a software system Objectives To introduce architectural design and to discuss its importance.
Charlie Crocker Vice President Farallon Geographics, Inc. An Overview of Internet Mapping Technology.
Introduction to Databases Transparencies 1. ©Pearson Education 2009 Objectives Common uses of database systems. Meaning of the term database. Meaning.
N-Tier Architecture.
Week #10 Objectives: Remote Access and Mobile Computing Configure Mobile Computer and Device Settings Configure Remote Desktop and Remote Assistance for.
Open source administration software for education software development simplified KRAD Kuali Application Development Framework.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 18 Slide 1 Software Reuse 2.
Creating Business Workflow Using SharePoint Designer 2007 Presented by Tarek Ghazali IT Technical Specialist Microsoft SQL Server MVP Microsoft SQL Server.
The Design Discipline.
Architecture Of ASP.NET. What is ASP?  Server-side scripting technology.  Files containing HTML and scripting code.  Access via HTTP requests.  Scripting.
Building Data Driven Applications Using WinRT and XAML Sergey Barskiy, Magenic Microsoft MVP – Data Platform Principal Consultant Level: Intermediate.
Denise Luther Senior IT Consultant Practical Technology Enablement with Enterprise Integrator.
 Sergey Barskiy  Principal consultant at Magenic Technologies  
What is Architecture  Architecture is a subjective thing, a shared understanding of a system’s design by the expert developers on a project  In the.
Enticy GROUP THE A Framework for Web and WinForms (Client-Server) Applications “Enterprise Software Architecture”
Tom Castiglia Hershey Technologies
4/2/03I-1 © 2001 T. Horton CS 494 Object-Oriented Analysis & Design Software Architecture and Design Readings: Ambler, Chap. 7 (Sections to start.
Microsoft Visual Studio 2010 Muhammad Zubair MS (FAST-NU) Experience: 5+ Years Contact:- Cell#:
SAMANVITHA RAMAYANAM 18 TH FEBRUARY 2010 CPE 691 LAYERED APPLICATION.
CS480 Computer Science Seminar Introduction to Microsoft Solutions Framework (MSF)
1 Another group of Patterns Architectural Patterns.
Microsoft SharePoint Server 2010 for the Microsoft ASP.NET Developer Yaroslav Pentsarskyy
Chapter 8 Evaluating Alternatives for Requirements, Environment, and Implementation.
AUTOMATION OF WEB-FORM CREATION - KINNERA ANGADI – MS FINAL DEFENSE GUIDANCE BY – DR. DANIEL ANDRESEN.
What’s new in Kentico CMS 5.0 Michal Neuwirth Product Manager Kentico Software.
Architectural Patterns Support Lecture. Software Architecture l Architecture is OVERLOADED System architecture Application architecture l Architecture.
Core Indigo Patterns Ted Neward
9 Systems Analysis and Design in a Changing World, Fourth Edition.
9 Systems Analysis and Design in a Changing World, Fourth Edition.
Java EE Patterns Dan Bugariu.  What is Java EE ?  What is a Pattern ?
Preface IIntroduction Objectives I-2 Course Overview I-3 1Oracle Application Development Framework Objectives 1-2 J2EE Platform 1-3 Benefits of the J2EE.
1 Copyright © 2004, Oracle. All rights reserved. Oracle Application Development Framework.
Chapter 1 Revealed Distributed Objects Design Concepts CSLA.
Object storage and object interoperability
SEA Side – Extreme Programming 1 SEA Side Software Engineering Annotations Architectural Patterns Professor Sara Stoecklin Director of Software Engineering-
Introduction to ASP.NET development. Background ASP released in 1996 ASP supported for a minimum 10 years from Windows 8 release ASP.Net 1.0 released.
Integrating and Extending Workflow 8 AA301 Carl Sykes Ed Heaney.
Submitted by: Moran Mishan. Instructed by: Osnat (Ossi) Mokryn, Dr.
E-commerce Architecture Ayşe Başar Bener. Client Server Architecture E-commerce is based on client/ server architecture –Client processes requesting service.
Presented by Alexey Vedishchev Developing Web-applications with Grails framework American University of Nigeria, 2016 Intro To MVC Architecture.
Introducing the Microsoft® .NET Framework
Packaging and Deploying Windows Applications
Enterprise Application Architecture
Enterprise Java Beans.
Presentation transcript:

CSLA Presenter Sergey Barskiy, senior consultant at Magenic Technologies www.magenic.com SergeyB@magenic.com Email your questions Send an email in order to receive the link to session materials. Allow a few days to post Feedback

CSLA Component based, scalable, logical architecture Application framework CSLA Author – Rockford Lhotka Resources www.lhotka.net Download CSLA from the web side Download project tracker setup document Purchase the book 2.1 / 3.0 Available in C# and VB.NET

What is CSLA? CSLA .NET is a software development framework that helps you build a powerful, maintainable business logic layer for Windows, Web, service-oriented and workflow applications.   Helping to manage and implement this business logic is the purpose of CSLA .NET CSLA .NET enables you to create an object-oriented business layer that abstracts and encapsulates your business logic and data. The framework automatically supports data binding for Windows Forms, Web Forms and WPF. It also supports workflow, WCF and web services interfaces. CSLA .NET simplifies and standardizes implementation of validation and authorization logic within your objects. CSLA .NET also includes a technology-neutral client/server abstraction, allowing you to build your application and then decide at deployment whether to use 2-tier or 3-tier client/server. If you opt for 3-tier deployment, you can choose between WCF, .NET Remoting, Web Services or Enterprise Services as a network protocol. The key point here is that you can switch between 2-tier and any of these 3-tier networking options without changing your UI, business logic or data access code; all that changes is a configuration file (and of course deployment to both client and server). Finally, CSLA .NET provides a clearly defined location in your architecture where you get data from or put data into the database. This is not the focus of CSLA .NET, and so the framework’s goal is to put you in charge. To give you optimum flexibility in how that data is managed and to enable decoupling of the data access from the business object and user interface or presentation layers.

What is CSLA? Supports rich UI and business layer creation through Data binding Validation Business rules Authorization / authentication

CSLA Advantages of framework Versions Has been around for over 10 years Proven and stable Large and active community Consistent and simple coding techniques Object oriented analysis and design Focus on business rules, not technology Versions Current version 3.0 Version 3.5 is in beta

CSLA Logical application architecture / model Physical application architecture / model Performance and scalability Security Authorization Authentication Layering Presentation UI Business Layer Data access Data and storage management

CSLA Enabling data objects in .NET Data binding in Win Forms, WPF and Web Forms Validation rules – abstract, consistent coding techniques Authorization rules – centralized per property or per object access rules, defining read and write access N-level undo, single level is used most often Abstract persistence Business objects in CSLA are mobile, thus assisting in scalability of entire framework

CSLA Key classes in the framework Building object graphs Data Portal module Business Base Business List Base Read Only Base Read Only List Base Command Base Business Principal Base Building object graphs Data population Data Updates / Transactional support

CSLA Helper Classes Application Context Safe Data Reader Object Adapter Data Mapper Smart Date Sorted Binding List Filtered Binding List Name / Value List Application Context Local Context Client Context Global Context User

CSLA Business Object Business Object In Detail Inherits from Business Base Is a generic class Key regions of a typical business object Properties Authorization Rules Validation Rules Factory Methods Data Access

CSLA Business Object’s Properties Typical property code Purpose of PropertyHasChanged() Mark object as dirty Raise PropertyChanged Event Run Validation Rules Purpose of CanReadProperty and CanWriteProperty IsDirty() IsValid() IsNew()

Business Objects / UI Interaction Windows form code Display Name Error Provider Enabling / Disabling of buttons Enable Save / Cancel buttons based on edits Disable Save button based on validity of objects WPF form code Web form code

CSLA Configuration Data Portal configuration App.config / web.config Communication protocol sections and configuration Web Services Remoting (IIS hosted or Windows Service) Enterprise Services (COM+) WCF (with all options available in WCF itself) Unit testing

Code Generation CodeSmith templates Templates that come in download of CSLA How to create your own template to write classes from scratch Database based classes generation

CSLA / ORM CSLA is NOT and ORM You can use CSLA data retrieval / update methods to function as ORM adapter for CSLA business objects You can Combine multiple tables into single object (pivot) You can split one table into multiple objects (unpivot) Arbitrarily form data into objects Important: CSLA business object and row from a table in a database do not have to be one and the same. Although a lot of the time they are.

Questions?