Sunday, May 20, 2012
   S-EXPERT is a .NET open source Model-Driven Development code generation framework. With S-Expert you can model your application components (Entities, Services, Data Contracts, Translators, Pages, Modules, and Work flows), then transform this model to code with your favorite technology starting from data access layer 'S-ACCESS', service layer 'S-SERVICE', and UI layer 'S-FORM'.  
   
 
  FIRST, WHY MODELING?
In general, modeling methodology is the ability to describe your application components in the form of models, not in the form of code. But the question is: Why should we produce models rather than just coding it?
  • Models give you the ability to describe what your application is supposed to do more easily than code.
  • Models are abstracted from the technological details. As technology becomes more and more complex, modeling is increasingly necessary.
  • Models are more productive than code. In other words: each element in the model represents multiple lines or may be files of code.
  • Models are less-error prone because meaningful validations can be executed on the high-level models.
 
   
 
  WHY NOT MODELING?
The modeling methodology suffers from insufficient support of tools. Tooling is essential to maximize the benefits of having models, and to minimize the effort required to maintain them. Current programming languages are all supported by an integrated development environment making the writing and maintenance of code less painful.
The other negative point in the modeling methodology is what’s after abstraction? How can we translate these high-level models to low-level code files. This process requires technical experts who are familiar with a wide range of technologies, including programming languages, scripting languages, XML, database definition and query languages, and more. Translating from the model to a concrete solution using these technologies requires a deep understanding of the many architectures and protocols that comprise a solution. That’s exactly what S-Expert addresses. S-Expert can be summarized in two terms Integrated Modeling Environment and Experience Generator.
 
   
 
  INTEGRATED MODELING ENVIRONMENT (IME)
S-Expert provides an Integrated Modeling Environment that brings together all the things you love to build solid models in an easy, quick, and intuitive way.
S-Expert Integrated Modeling Environment has many features like:
  • Rich WPF designer, integrated deeply with Visual Studio.
  • Multiple workspaces for well-organized models.
  • Smart Commands bringing common tasks together.
  • Details editor for faster data entry.
  • Full Search in model elements.
  • Architecture explorer, to rapidly analyze the relationship between elements.
  • Tightly integrated with the code.
  • In addition S-Expert encourages collaboration between developers. They can share and edit the same model, where S-Expert provides a dedicated ‘compare and merge’ tool that can be used natively in most source control engines.
  • In Addition, S-Expert Integrated Modeling Environment is fully extensible.     You can extend the model with new properties, validation rules, and custom actions. You can also extend the designer with new tool bar commands, smart commands, Editors, and much more.
 
   
 
  EXPERINCE GENERATOR
The second phase is translating these models into deployable components. Instead of spending weeks or months to fully understand the available frameworks, gathering best practice, fill the gap between different technologies, building infrastructure, and be up-to-date with the latest technology.
Modelingsoft experts already spent a lot of time to get extensive knowledge of the best practices and design patterns, and deliver their experiences out of the box in the shape of Molds. Each Mold is designed for specific technology. These Molds have the ability to understand your abstracted model and translate it to projects that adheres to well-known architecture and design patterns in a fraction of the time.
 
   
 
  EXPERIENCE PACKAGES
S-Expert introduces three different packages of experience: S-Access, S-Service, and S-Form.
S-ACCESS

With S-Access you can model your domain with its entities and relationships. From this abstracted domain you can extract your database, S-Access supports multiple database engines including SQL Azure for Cloud computing. You don’t need to be involved in different SQL query types to create or alter your database. The Database Synchronization Wizard opens the door for all scenarios of designing your domain model, either by Model first or Database first or even mix them at any time. In addition, S-Access is expert enough to translate your domain model to the most advanced, maintainable, and solid data access layer whether by NHibernate or Entity Framework. The generated Data Access layer implements most of the patterns you might be interested in, Like Complex mapping scenarios, Domain-Driven Design, Repositories, Unit Of Work, and database transactions.
S-SERVICE

The second package S-Service is designed to help you quickly and consistently build your business layer in a Service Oriented Architecture. With S-Service you can design your Services, Data Contracts, Collections, Enumerations, Fault Contracts, and Entity Translators. S-Service is responsible for translating your business components to WCF Web Services or regular linked dll. S-Service enables you to focus on business code, not the infrastructure details. It already supports you with many tools and patterns to help you accomplish your tasks like Dependency injection, Test-Driven Development, and Fake Repositories.
S-FORM

The third Package S-Form which enables you to model your user interface behavior with its modules, use cases, pages, Decision points, and actions. With S-Form you could model the tenuous details of your user interface like page controls, default values, binding elements, and page flow, all in an abstract way from the implementation technology. This leads to the wonderful ability of S-Form to translate this model to WPF Desktop application, or Silverlight web application, ASP.NET MVC web application, or even Windows Phone 7 Mobile application. This ability does not stop at the abstracted model where S-Form enables your custom code to be shared among these different technologies.


S-Expert enables you to utilize all these platforms, technologies, and environments to build Applications for today and applicable for tomorrow.
 
   
 
DOWNLOAD   |   PRODUCTS   |   STORE   |   SUPPORT   |   BLOG   |   ABOUT
Copyright 2011 by Modelingsoft Corporation