Sculpture (Model Your Life)



Sculpture is a .NET open source Model-Driven Development code generation framework ideal for creating and managing .NET Enterprise Applications.

Model-Driven Development represents the next logical step forward in software development methods and practices. It aims to facilitate the automatic construction of a software solution from a high-level domain-specific specification. This approach seeks to promote productivity, maintainability, expressiveness, and to aid in the management of complexity by supporting higher levels of abstraction and the systematic reuse of domain-specific assets.(From: Visual Studio 2005: Model-Driven Development of .NET Enterprise Applications), Sculpture(Model you Life) is a new implementation in this track, which you can use for modeling the business entities and the structure of business logic, Based on this model, a code generation framework transports the model to the implementation of the Entities, Data access layer, Business logic layer skeleton, Database stored procedures, and Database Schema for the application.

So with Sculpture you can:

  • Design your entities and relationships by drag and drop these elements into the diagram surface.
  • Configure your model and entities with bunch of rich UI forms and utilities that facilitate the configuration process.
  • Generate C# efficient code and scripts based on Microsoft best practice, no need to modify the generated code because you already customize it in the model.
  • If you already have Database, Sculpture gives you the ability for translating it to model.

Sculpture Main Features :

  • Sculpture raises the level of abstraction so the solution separated from the implementation technology.
  • Sculpture gives you permanent preview to your domain model, can be updated easily in any application life cycle phase, and see the reflections of these changes immediately.
  • Sculpture is not depending on (Data Model + Templates) only, (Metadata) that configured in the model is essential part in the generated code, so your code is so closed to how you configure the model.
  • Sculpture is Domain-Specific Modeling, so can be extended to enable full code generation.
  • Sculpture has reverse engineering engine that parses the database and translates it to model, so you can start your project from Database, additionally any updates in the database schema can reflect on the model easily without losing any metadata.
  • Sculpture supports Multi-Models in one application, so if your domain model is big, you can split it into more than one model (Modules), and suspends generation of duplicated entities.
  • Sculpture believes that the software is accumulative, so we don't reinvent the wheel, the generated code follows Microsoft best practice, where Sculpture uses Data Access Application Block (in the data access layer) and Validation Application Block (in entities properties attributes) from Enterprise Library, and we will work hardly to put your application on the top of the cutting edge technologies.
  • Sculpture depends on Templates so you can customize it to get maximum profit.
  • Sculpture has its validation engine where the model can be validated, that will decrease the cost of fetching errors.
  • Sculpture developed by Domain-Specific Language (DSL), so
    • It is integrated with visual studio.
    • No need for any external tool.
    • Very easy to use and understand the whole development cycle.
    • Familiar by all .net developers.
  • Sculpture developed by professional team belongs to Dawliasoft, there will be a full support in the discussion and issue tracker, and a premium support will be available in the near future.
  • Sculpture provides a powerful Help that integrated with visual studio, which can be used as quick start, and to get the overall structure of the framework, more documents will be available with the next versions.

Sculpture Components Features

Business Entities

  • Entity class is not as simple as just ( get & set ), it provides with wide functionalities that can help the developers in their work.
  • All entities implement INotifyPropertyChanged interface, so can be used in data binding.
  • Allow multiple kinds of Collections ( List , Collection , and ObservableCollection for WPF).
  • Sculpture provides Validation application block Designer for configuring validation attributes of the entity's properties with fantastic validation locator to copy validation attributes from one property to another.
  • With Sculpture entity you have the ability to:
    • Get the Entity State (Added, Changed, And Unchanged).
    • Copy Entity data to another one.
    • Compare two entities data.
    • Get a list of the properties that changed since you get the entity from a data source.

Data Access Layer

  • Sculpture generates full Data Access Layer with maximum customization.
  • Sculpture supports custom data methods, so each entity has its standard methods ( GetAll , GetById , Save …) and custom methods.
  • With Sculpture Data Access Manager
    • You can suspend any of the standard or custom methods.
    • You can rename a standard method (so customer.GetAll() can be customer.GetMyCustomers() )
    • You can set comments for all kinds of methods.
    • You can copy custom methods from another entity.
  • Sculpture Supports options for both stored procedures and inline query for data access, this option might be in the method level, so you can have GetAll method that works with inline query and Save method that call stored procedure.
  • While using inline queries the save method updates the changed properties only, so it's more efficient than update the whole entity properties.
  • Sculpture Supports saving single entity and collection of entities in one transaction; supports one to many relationships so you can save the customer and his contacts by one line of code.
  • Sculpture Supports transactions so you can get the handle of the transaction.
  • With InvalidEntityException class that generated by Sculpture, you can know which entity failed to save, and formatted information about the error.

Business Logic Layer

  • Sculpture provides your applications with sky level view of your business logic components.
  • Sculpture generates the skeleton of the business components and business methods.
  • Sculpture generates the interface of the business component classes.
  • Sculpture gives you the ability to copy the structure of the data access methods (standard and custom) to be business methods, so you can wrap the Data Access Layer with Business Components easily.

Stored Procedures script

  • Sculpture provides a full script for CRUD stored procedures.
  • Sculpture gives you the option to change any CRUD stored procedure name.
  • Sculpture uses the stored procedure template of the Repository Factory, so it is mature enough.

Database Schema script

  • Sculpture Provides a full script of the Database Schema, so all what you need is just to run it in an empty database.

Where to go next?

Road Map

The road map of the project will determine by your issues and requested features, so help us by reporting any issues, or feature request in the Issue Tracker.

Powered By :
www.dawliasoft.com

Last edited Jul 8, 2008 at 9:19 AM by ANegm, version 1

Comments

No comments yet.