Apworks is a set. net is a domain-driven enterprise-level application system development framework. developers can use apworks to conveniently apply classic layered architecture to projects) mode or command query responsibility separation (cqrs) architecture mode. After nine months of hard work, apworks has developed from the limited-function pre-view (alpha) version released at the end of last year to the 2.0 stable version that can now support actual project development, now the stable version has been released to codeplex. The following is the link:
- Apworks homepage:Http://apworks.codeplex.com
- Apworks documentation:Http://apworks.codeplex.com/documentation
- Cqrs architecture application developed based on apworksProgramDemo: tiny library cqrs:Http://tlibcqrs.codeplex.com
- Demonstration case: Install and deploy tiny library cqrs:Http://www.cnblogs.com/daxnet/archive/2011/09/01/2161910.html
PleaseClick hereDownload apworks 2.0. Agree before downloading and startingApache 2.0 License Agreement.
Feature update
Compared with the preview version, apworks 2.0 has the following features updated:
- Flexible configuration methods:Apworks 2.0 provides Web/APP. config-based and directCodeWrite two configuration methods. The Web/APP. config configuration method is applicable to applications in the production environment, allowing system developers and administrators to compile applications without repeated compilation.Source codeModify the framework configuration. The configuration method of code writing is more suitable for standalone testing scenarios. It allows multiple configuration schemes in the same appdomain, strong programming and intelligent perception (intelliisense) provide developers with more convenience. In addition, apworks 2.0 allows developers to expand the configuration method.
-
- Message bus integration:Apworks 2.0 supports flexible message bus integration solutions for cqrs architecture-style applications. Compared with the preview version, apworks 2.0 provides message bus implementation based on MSMQ. Developers can use MSMQ for Distributed System Integration in real projects (for example, integration with BizTalk Server ). In addition, developers can integrate the existing framework into apworks 2.0 to achieve more powerful message publishing and distribution mechanisms.
-
- Supports various types of database systems:Developers can select different types of database systems based on the actual needs of their projects. For the classic layered architecture, apworks supports the storage system based on nhib3163.2.0, which is supported by the vast majority of relational database systems. For the cqrs architecture, apworks not only provides default domain warehousing implementation for Microsoft SQL Server and MySQL databases, but also releases various interfaces and class libraries, developers can not only expand the framework to support other relational databases, but also easily integrate nosql non-relational databases into applications.
-
- Supports warehousing solutions in various fields:For cqrs architecture-style applications, apworks 2.0 supports Warehouse solutions in multiple fields, including:
- Event sourced domain repository-you can use this field for warehousing when you need to use event tracing. It also distributes domain events to the event bus.
- Regular domain repository-this type of domain warehousing will directly store domain objects and their relationships in the database through the storage in the classic layered architecture; it does not distribute domain events that occur on domain objects to the event bus.
- Regular event publisher domain repository-similar to regular domain repository, the difference is that it will still distribute domain events that occur on domain objects to the event Bus
- Snapshot domain repository-this kind of warehouse will save the object snapshot in the database by taking a snapshot of the domain object.
-
- Various snapshot policies are supported:Apworks 2.0 provides a variety of snapshot policies for cqrs architecture-style applications. In addition, developers can expand the policies based on actual needs. These policies include:
- Event number snapshot provider-this snapshot policy determines whether to perform snapshot operations by monitoring the number of events that occur on domain objects.
- Suppressed snapshot provider-this snapshot policy will block all snapshot operations on the domain warehouse
-
- The storage mechanism (istorage Interface) supports richer query conditions:In the preview version, storage only uses simple propertybag as the query condition. It only supports matching of one or more fields. The new version of apworks introduces the implementation of the Protocol to storage so that it can be queried Based on lambda expressions. For relational databases, this Lambda expression will be translated into SQL query statements by the WHERE clause builder.
- Support for Aspect-oriented programming (AOP:By introducingCastle dynamic proxyApworks 2.0 supports AOP and Exception Handling Interceptor Based on AOP.
-
- Flexible Exception Handling Mechanism:Developers can configure information to provide apworks with an exception handling policy, allowing applications to obtain flexible exception handling mechanisms.
Installation and Use
The installation program of apworks 2.0 is composedWindows Installer XML toolset 3.5Therefore, it has a standard installation interface. The installation process is very simple. You only need to click Next by default. You can also modify the installation path during the installation process. Note that apworks 2.0 depends on the full version of. NET Framework 4.0. Therefore, make sure that. NET Framework 4.0 is installed on your computer before installation.
Shows the directory structure in the installation path:
The apworks directory contains the bin and schemas subdirectories. The apworks directory also contains the publishing information, license agreement, and class library Manual. The bin directory contains all the assembly components of apworks; the schemas directory contains the XSD Schema that may be used during development. In addition, the bin directory contains a subdirectory of externalrefs, which contains all the third-party components referenced by the current version of apworks.
When using Visual Studio 2010 for development, you can directly use the "add reference" dialog box to reference all apworks assembly, as shown below: