ASPAlliance.com : The #1 Active Server Pages .NET Community The #1 ASP.NET Community
Search   Search

Subscribe   Subscribe

Powered by ORCSWeb Hosting


Site Stats


Powered By ASP.NET
 
Featured Sponsor

Featured Columnist


Featured Book
Designing Microsoft ASP.NET Applications
Designing Microsoft ASP.NET Applications

Find Prices


New! asp.netPRO

We publish our articles in the standard RSS format.

Powerful .NET Email Component

Code Sharing Software
Home Profile Articles Demos Print
Paul Wilson's ASP.NET Corner
Rapid Application Development with DeKlarit
Rapid Application Development with DeKlarit

Rapid Application Development with DeKlarit

Paul Wilson
www.WilsonDotNet.com
www.ASPAlliance.com/PaulWilson

Previous Article            DeKlarit            Next Article

Overview

I've spent a lot of time evaluating some of the tools available for .NET, especially those that claim to assist with routine data access development. There seems to be an endless list of tools that will take a database schema and generate stored procedures, a data access layer, and business objects. There are also a few real .NET O/R (object-relational) mappers out there, which I'll look at in a future article, but DeKlarit stands alone as unique.

What Is DeKlarit

DeKlarit is a complete RAD (Rapid Application Development) tool for .NET that actually designs and builds your database, as well as your data access layer and business objects, along with an optional windows or web application. That definitely sounds too good to be true, and I was very skeptical myself, but I finally gave in and tried it -- and I'm going to keep using it now! That's right, DeKlarit really is a great RAD tool that you should have too.

I see three uses for DeKlarit, depending on the project and your own style. First, some projects just really aren't that complex and will never justify the time and effort to design and build the world's most perfect solution. I'm an architect, and that's hard to admit sometimes, but its true anyhow -- some apps really are simple enough to be built entirely with DeKlarit. I personally built a real web-based contact application that looks great.

Next, you can use DeKlarit to build your database, your data access layer, and your business objects, while you build the windows or web application. Its also possible to use an existing database with DeKlarit in this case. The main thing is that your project and coding style will have to be willing to use the typed datasets and data-adapters without stored procedures here. Some people will love this, and some won't, but for some projects who cares.

Finally, you can use DeKlarit as your RAD prototyping tool for any project -- this may not be what they had in mind, but I think its perfect for this! It gives you a great tool for designing and testing your business objects, which is essentially an agile technique for discovering your requirements, and it will also give you an excellent prototype GUI to show your clients. Then you can take the design and build your own application your own way.

DeKlarit Design

DeKlarit requires VS.NET, fully supports both MS SQL and Oracle databases, and will generate either C# or VB.NET code, along with the necessary SQL. DeKlarit integrates into the VS.NET IDE, better than anything I've ever seen, so you are actually working in a DeKlarit project inside of VS.NET itself. The focus is the business component designer, where you add the attributes, and any child entities, along with the VS.NET property dialog for attributes.

This business component designer is what makes DeKlarit very easy to use. You don't have to worry about the database at all, just the business needs, and DeKlarit will handle the design of the normalized database automatically. For instance, an Order object would have a secondary level of Product items, but you don't have to worry about the fact that a separate OrderDetails table will actually be required that will have an OrderID foreign key to Orders.

It also automatically handles any and all lookups, both keys and other fields, as long as you use the same attribute name (there is a way around this also). In my example, the Product in my OrderDetails actually refers to an earlier defined Product object, allowing easy lookups for ModelNumber and ModelName. You can also add calculated fields and validation ranges, regular expressions, or complex rules using any .NET static functions (with intellisense working).

DeKlarit is even smart enough to know how to reorganize your database's data when it needs to change the schema, and you always get an impact report first. You can also work with existing tables or views, even making complex queries, while specifying whether or not the objects are external and not to be altered. Its easy enough for business analysts, and yet there is more than enough for experienced database developers, including things like autonumbers and indices.

DeKlarit Details

DeKlarit first creates and maintains a normalized database from your model, reorganizing data as necessary, always giving you an impact report to approve. Then it generates a set of data-adapters and typed datasets, including all the necessary SQL, along with a set of data-readers if you prefer, all well-coded. It does not generate or work with stored procedures, but both MS SQL and Oracle cache dynamic SQL so there are no performance differences, contrary to beliefs.

The problem with any generated code, whether from DeKlarit or any other tools, is that you really can't change it if you ever want to re-generate it later, so make sure you are comfortable with the code, and DeKlarit's is very good. I think most people will be very comfortable using the typed datasets created, especially when you consider the business rules it allows you to easily define, although if not I would still recommend using it for quick prototyping needs.

The optional application generators are great also, and the source is included -- here is my Windows List and Edit Form, along with my Web List and Edit Form. Note that you automically get search buttons (or combo-boxes) for foreign keys, as well as a pop-up calendar, and a sortable and pageable datagrid in ASP.NET. I spent some time looking at the generated ASP.NET application code, and while it isn't what I would personally write, it is maintainable for simple projects.

There are a few issues I encountered in my tests with DeKlarit, although minor. First, while there is a way to use the same attribute with different names, there does not seem to be a way to have different attributes with the same name. I was also rather annoyed that I could not have an autonumber primary key for my child entities -- there is an alternative but I find this approach incorrect. Finally, it would be nice if uniqueness didn't force me to know about indices.

Conclusion

DeKlarit is an excellent RAD tool that should be seriously considered for both application design and data-access code generation, as well as rapid prototypes. It is made by a reputable Microsoft partner (ARTech), based on mature technology (GeneXus), and the lead architect (Andres Aguiar) is active in the .NET community. I plan on using DeKlarit myself as a prototype tool for an upcoming project, and I also won't hesitate using it for other simpler projects that come up.

Author Bio

Paul Wilson is a software architect in Atlanta, currently with a medical device company. He specializes in Microsoft technologies, including .NET, C#, ASP, SQL, COM+, and VB. His WilsonWebForm Control allows Multiple Forms and Non-PostBack Forms in ASP.NET. He is a Microsoft MVP in ASP.NET and is also recognized as an ASPFriend's ASPAce/ASPElite. He is a moderator on Microsoft's ASP.NET Forums, as well as one of the top posters. He is certified in .NET (MCAD), as well as also holding the MCSD, MCDBA, and MCSE. Please visit his website, www.WilsonDotNet.com, or email him at Paul@WilsonDotNet.com.
 Copyright © 2000-2003 ASPAlliance.com  Page Rendered at 11/22/2009 1:03:51 AM