Component-based Scalable Logical Architecture: Difference between revisions

Content deleted Content added
Removing link(s) to "Rockford Lhotka": deleted per Wikipedia:Articles for deletion/Rockford Lhotka. (TW)
m Disambiguating links to Object-orientation (link changed to Object-oriented programming) using DisamAssist.
 
(21 intermediate revisions by 16 users not shown)
Line 1:
{{Infobox Software
| name = Component-based Scalable Logical Architecture (CSLA)
| logo = [[File:Csla win8 full.png|thumbnail|right|CSLA .NET logoframeless]]
| caption =
| collapsible = yes
| developer =
| status = Active
| released =
| latest release version = <!-- If you update this, remember to also update [[Comparison of web application frameworks]]--> 48.52.6017
| latest release date = {{release date and age|2024|09|06|df=yes}}<ref name="csla_release">{{cite web
| url=https://github.com/MarimerLLC/csla/releases/
| title=releasesReleases |· publisher=Github | accessdate=2 January 2015}}<MarimerLLC/ref>csla
| website = github.com
| latest release date = {{release date|2014|08|04|df=yes}}
| access-date=2024-12-03
}}</ref>
| latest preview version =
| latest preview date =
| operating system = [[Windows]], [[macOS]], [[Linux]], [[iOS]], [[Android (operating system)|Android]]
| platform = [[.NET Core]]
| language =
| license = [[MIT License]]
| genre = [[Web application framework]]
| website = {{URL|httphttps://www.cslanet.com/}}
| repo = {{URL|https://github.com/MarimerLLC/csla|CSLA Repo}}
}}
| programming language = [[C Sharp (programming language)|C#]]}}
 
'''CSLA .NET''' is a [[software framework]] created by Rockford Lhotka that provides a standard way to create robust [[Object-oriented programming|object oriented]] programs using [[Business object (computer science)|business object]]s. Business objects are objects that abstract business entities in an object oriented program. Some examples of business entities include sales orders, employees, or invoices.
 
Although CSLA itself is free to download, the only documentation the creator provides are his books and videos, which are not free.
 
CSLA (''Component-based Scalable Logical Architecture'') was originally targeted toward [[Visual Basic]] 6 in the book ''Visual Basic 6.0 Business Objects'' by Lhotka.<ref>Visual Basic 6.0 Business Objects {{ISBN |1-86100-107-X}}</ref> With the advent of [[.NET Framework|Microsoft .NET]], CSLA was completely rewritten from the ground up, with no code carried forward, and called CSLA .NET. This revision took advantage of [[Web Services]] and the object oriented languages that came with Microsoft .NET (in particular, [[Visual Basic|Visual Basic.NET]] and [[C Sharp (programming language)|C#]]).
 
CSLA .NET was expounded in ''Expert C# Business Objects'' <ref>Expert C# Business Objects {{ISBN |1-59059-344-8}}</ref> and ''Expert One-on-One Visual Basic .NET Business Objects'' {{ISBN |1-59059-145-3}}, both written by Lhotka. Although CSLA and CSLA .NET were originally targeted toward [[Microsoft]] [[programming languages]], most of the framework can be applied to most object oriented languages.
 
Current information about CSLA .NET is available through Lhotka's self-published ''Using CSLA 4'' ebook series.<ref>Using CSLA 4 ({{cite web |url=http://store.lhotka.net/Default.aspx?tabid=1560&ProductID=22 |title=Using CSLA 4 Ebook Series &#124; CSLA .NET Store > Store |accessdate=2013-02-23 |url-status=dead |archiveurl=https://web.archive.org/web/20130311082109/http://store.lhotka.net/Default.aspx?tabid=1560&ProductID=22 |archivedate=2013-03-11 }})</ref>
 
==Features of CSLA==
Line 46 ⟶ 51:
This feature makes it possible for an object or collection of objects to maintain a collection of states. This allows the object to easily revert to previous states. This can be useful when a user wants to undo previous edits multiple times in an application. The feature can also allow a user to redo multiple edits that were previously undone.
 
This feature can provide rich functionality for desktop application and web applications. One note of caution would be to consider the overhead for high -transaction web -based applications. n-Level undo capability will require storing the previous state of an application generally accessed by reflection. This is common practice in desktop applications where changes must be "Applied". In web based designs, the added storage may pose unnecessary overhead as changes are generally submitted in batch and do not require the same level of "undo" capability.
 
===Business rule tracking===
Line 57 ⟶ 62:
 
===Distributed data access===
The CSLA .NET framework implements a concept called [[mobile objects]] or [[mobile agents]] to allow objects to move across network boundaries using [[Windows Communication Foundation|WCF]], [[Web Services]], or other technologies. As a result, the data access enjoys [[___location transparency]], meaning that the logic may run on the client workstation or server depending on the application's configuration. It can also be configured to use manual [[database transaction]]s or distributed [[two-phase commit]] transactions.
 
Data access logic is cleanly separated from business logic, and can be implemented using any data access technology available on the [[Microsoft .NET]] platform. Examples include [[ADO.NET Entity Framework]], raw [[ADO.NET]], [[nHibernate]], etc.
Line 68 ⟶ 73:
<references />
* Training
** [http://www.dunntraining.com/cslatraining.htm CSLA.NET Training] {{Webarchive|url=https://web.archive.org/web/20140305082720/http://www.dunntraining.com/cslatraining.htm |date=2014-03-05 }}
* Books
** [https://web.archive.org/web/20130311082109/http://store.lhotka.net/Default.aspx?tabid=1560&ProductID=22 Using CSLA 4 ebook series]
** Expert C# 2008 Business Objects {{ISBN |978-1-4302-1019-1}}
** Expert VB 2008 Business Objects {{ISBN |978-1-4302-1638-4}}
** Using CSLA .NET 3.0
** CSLA .NET Version 2.1 Handbook
Line 86 ⟶ 91:
** [http://www.cslanet.com CSLA .NET home page]
** [https://github.com/MarimerLLC/csla CSLA .NET on GitHub]
** [https://web.archive.org/web/20130125092422/http://forums.lhotka.net/forums/5.aspx/ CSLA .NET community forum]
 
==External links==
* [https://web.archive.org/web/20050219025025/http://www.lhotka.net/ Rockford Lhotka's website]
*[http://www.cslanet.org/ Hispanic Community]
 
[[Category:Application programming interfaces]]