SgDotNet
Singapore Professional .NET User Group -For Cool Developers

Paladin RAD Framework

rated by 0 users
This post has 37 Replies | 0 Followers

Top 10 Contributor
Posts 2,891
 poopee wrote:
But of course, the assumption is that db schema change is a very rare occurence, but it's still possible, no?


It depends on how good ur software architect is. For my case... changes happens as often as u rest... Crying But i am only able to rest on sunday...

Best Regards, Kit Kai, MVP (SharePoint Portal Server)

Top 10 Contributor
Posts 1,626
 poopee wrote:
Hey you know what, I personally find stored procedures cumbersome, and in fact, difficult to maintain since they're stored inside SQL Server. Tongue Tied Iif we have a data access layer not only can we could work on data objects very flexibly, but also code readibility will be significantly improved. Wink


Yeah! But I guessed SPs do have their merits as well. Big Smile SPs are good for encapsulating SQL that performs set-based processing (act on data base on sets). Row-based processing is best left to the business components, otherwise, we will be coding cursors in our SPs which defeats the purpose of performance gain.[^o)]

But using SPs for simple CRUD is rather cumbersome because it adds another layer of maintenance to your architecture. And when the table structure changes, you have to change all the way up from SPs to code. Crying

The code for SPs are also visible in the database, hence, your business logic is exposed. Encrypting them will again cause some performance hit. [^o)]

Poopee dear, the classes generated by the BEWizard are not Data Layer Classes. They are Business Entity Classes (BE). They communicate with Paladin's data layer to execute the CRUD statements.[8-|]


 poopee wrote:
But since your wizard creates stored procedures, maybe in future versions you could enhance the flexibility for stored procedures as well (i.e. changes in code access to the Paladin framework automatically alters the stored procedures to the point that it's transparent to the coder -- i.e. the coder doesn't even have to know the app works on sps!).


That has already been thought off but it looks tough to me. Right now, Paladin's SqlSchemaManager provides a mechanism to synchronize the classes' schema with the database schema. Some kinda lame 'self-healing' capability I call it. Wink It does not provide the reconstruction of SPs yet.Sad


 poopee wrote:
Yeah... I think people who traditionally code in Java actually do that. They don't rely on SPs that much. However, the Microsoft courseware strongly advocates SPs for performance reasons. But that can be pretty cumbersome especially since SPs are not OO and have no inheritance and hierarchy and stuff, so it's akin to storing as many SQL statements as one needs in SPs. Database schema changes can mean hell as individual SPs may have to be changed as well. But of course, the assumption is that db schema change is a very rare occurence, but it's still possible, no?


I don't do Java but I still don't like SPs Stick out tongue I guessed most Java dudes are used to using RDBMSes that do not provide SP capabilities Wink

I think the "SPs are good for you" thingie is a great way to push SQL Server Stick out tongue Have everything coded in SPs and you will have locked down to the RDBMS Devil

As for schema changes, as much as everyone of us would like them to be stable but somehow, database design seems to change very often. This is due to the hack'n slash way of Asian developers/companies where no considerations are given to architecture and design.

This is when stuff like Paladin and the BEWizard comes in handy [8-|]
Software development made easy with Paladin RAD Framework. Save some trees, use Stickies.NET
Top 10 Contributor
Posts 1,626
 kitkai wrote:
It depends on how good ur software architect is. For my case... changes happens as often as u rest... Crying But i am only able to rest on sunday...


Yes! As I mentioned to Poopee, changes do happen. The question is how much effort are you going to spend in changing data-types, data-lengths, columns names, and adding/removing fields to your SQL statements/SPs? Crying

[Brainwash]
That's why BEwizard is here to be your friend. Big Smile
Software development made easy with Paladin RAD Framework. Save some trees, use Stickies.NET
Top 10 Contributor
Posts 1,626

The most anticipated release for Paladin is finally here!

Release 0.8.8 provides enhanced support for Many-to-many and One-to-one table relationships that gives you more flexibility for your Entity classes. Support for Many-to-many and One-to-one relationships is also available in the BEWizard. Implementing those features now is only clicks away.

This release also introduces CSEncrypt, a new tool that allows you to encrypt your connection strings in the config file.

So what are you waiting for? Download Paladin 0.8.8 Alpha today!

========================================================

This release brings major revisions and enhancements to both the Paladin.Core and BEWizard. A new tool, CSEncrpyt is now available for encrypting connection strings.

Paladin.Core:
- Updated EULA - Please take sometime to read!
- New DataReferenceAttribute class.
- Added support for One-to-one table relationships. It is now possible to map more than one tables to one class via a common key and all CRUD actions will work.
- Added new encrypted=true|false element for <connection> tag
- Added ConnectionDecryptKey property in DatabaseSectionHandler.
- Added support for decrypting connection strings in DatabaseSectionHandler.
- Added Decryptor class to provide methods for connection string decryption.
- Added support for non auto-incremented keys.
- Changed RelationAttribute usage from Field to Property.
- Changed TypeReflector class to Reflector.
- Updated support for Many-to-many table relationships. CRUD actions will work correctly now.
- Removed ReferenceAttribute.
- Optimized SQL generation code.
- Namespaces have been reorganized.

BEWizard:
- Added EULA display.
- Added code generation support for One-to-One relationships.
- Added code generation support for Many-to-Many relationships.
- Added support for mapping fields from One-to-one tables in References.
- Added support to select which stored procedure to generate.
- Added Backup code file feature. Wizard can be set to not override existing code files.
- Changed minor interface implementation code generation.
- Changed configure relationships UI. It is easier to define object models now.
- Updated plural to singular translation algorithm.
- Fixed: Path validation errors.
- Fixed: Wrongly generated parent name when table is joined to itself.
- Fixed: Minor fixes to some internal code.
- Fixed: Duplicate JOIN statements when there are two reference columns.
- Fixed: Problem some code generation inconsistencies in VB.NET
- Fixed: Taskbar button flicker.

Note: New features are not available in Stored Procedure mode.

Special thanks to:
- Amadrias for aggresively reporting bugs.
- Softwaremaker from www.sgdotnet.org for contributing sample codes and defining the encryption/decryption strategies.
- Yoon Kit for providing enhancements tips to the SQLParameter.

Check out http://serena-yeoh.blogspot.com for pre-release tips.

Software development made easy with Paladin RAD Framework. Save some trees, use Stickies.NET
Top 10 Contributor
Posts 1,626
Hi Guys,

I have posted the first issue of my "Paladin Tips & Tricks" on my blog. Feel free to read it okies? [8-|] If you have some tips or tricks that you have discover and would like to contribute for Paladin, please share them too. Big Smile
Software development made easy with Paladin RAD Framework. Save some trees, use Stickies.NET
Top 10 Contributor
Posts 2,891
After reading ur tips and tricks, one improvement for paladin dat comes to mind, in view of the topic of the month, is to support nightly builds, where BEwizard or other methods can be used to rebuild the base class paladin generated in case there is any update to database.
Got to confess, *guilty* that I have't read ur alpha release features yet, so not sure if that is already supported. [*-)]sorry[*-)]

Best Regards, Kit Kai, MVP (SharePoint Portal Server)

Top 10 Contributor
Posts 1,626
 kitkai wrote:
After reading ur tips and tricks, one improvement for paladin dat comes to mind, in view of the topic of the month, is to support nightly builds, where BEwizard or other methods can be used to rebuild the base class paladin generated in case there is any update to database.


I hope it is a good news for you to know that BEWizard supports command line interface. [<:o)] When you run BEWizard, choose to create an Unattended File at the Finalizing Configuration step.

Later, you can then use the following command to get BEWizard to generate your code file:

BEWizard /input:[path-and-name-to-unattended-file]

i.e.

BEWizard /input:D:\Temp\MyDatabase.bwz

 kitkai wrote:
Got to confess, *guilty* that I have't read ur alpha release features yet, so not sure if that is already supported. sorry


So what are you still waiting for? Big Smile
Software development made easy with Paladin RAD Framework. Save some trees, use Stickies.NET
Top 10 Contributor
Posts 1,626
Another Tip.
Software development made easy with Paladin RAD Framework. Save some trees, use Stickies.NET
Page 3 of 3 (38 items) < Previous 1 2 3 | RSS
Copyright SgDotNet 2004-2008
Powered by Community Server (Commercial Edition), by Telligent Systems