Wednesday, April 16, 2008

An Early Glimpse of Sculpture

Welcome to my blog, and welcome to sculpture, here you will find a technical posts about Software Engineering in general and about Sculpture, I will always post our progress in Sculpture, and other related points.
I hope you find my blog useful, and welcome again.
So Sculpture Sculpture ..., what is Sculpture??

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 give you the ability for translate it to model.

Sculpture Main Features:
  • Sculpture raises the level of abstraction so the solution separated from the implementation technology.
  • Sculpture give you permanent preview to your domain model, can easily updated in any application life cycle phase, and immediately see the reflections of these changes.
  • 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 easily reflect on the model 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 does not 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 is 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.