SQL Clone
SQLServerCentral is supported by Redgate
 
Log in  ::  Register  ::  Not logged in
 
 
 


Writing Nearly Codeless Apps: Part 1


Writing Nearly Codeless Apps: Part 1

Author
Message
David Ziffer
David Ziffer
SSC Veteran
SSC Veteran (239 reputation)SSC Veteran (239 reputation)SSC Veteran (239 reputation)SSC Veteran (239 reputation)SSC Veteran (239 reputation)SSC Veteran (239 reputation)SSC Veteran (239 reputation)SSC Veteran (239 reputation)

Group: General Forum Members
Points: 239 Visits: 203
gbaytler (10/7/2010)
Column in the application is defined as 'DATE', which is not available as a datatype in SQL Server 2005. It is introduced in SQL Server 2008.
The article text should be changed to indicate that SQL Server 2008 is required.


Here is a specific fix for SQL Server 2005, which is not really supported any more:

First of all start the whole procedure over with a blank database. But before you start populating the database, edit the file “DataTypes.sql”. In there you will find these two lines:

exec sp_addtype 'DTDate', 'date', 'null'
exec sp_addtype 'DRDate', 'date', 'not null'

Change the ‘date’ types to ‘datetime’. Then start populating the database from scratch according to the instructions. This should then work with SQL Server 2005.
David Ziffer
David Ziffer
SSC Veteran
SSC Veteran (239 reputation)SSC Veteran (239 reputation)SSC Veteran (239 reputation)SSC Veteran (239 reputation)SSC Veteran (239 reputation)SSC Veteran (239 reputation)SSC Veteran (239 reputation)SSC Veteran (239 reputation)

Group: General Forum Members
Points: 239 Visits: 203
RonKyle (10/7/2010)
RAP is in the same spirit. The objective is to properly and systematically do what most programmers currently do both imporperly and inconsistently. They do these things poorly because they're being paid to create functionality, not diddle with plumbing, and so the plumbing always gets short shrift and is done as an afterthought.


Most of what you just said in your post sounds interesting, but the paragraph above just does not reflect the complete reality. Some of us have put a lot of time into our programming to ensure the plumbing is done "correctly", in the sense of efficiency. And when sometimes time doesn't permit, take the time to refactor the code at a later date. I think you would find that your ideas might have more traction if you avoided the negative statements.


Ron: I'm sorry if I seem overly negative to you. It's just that I can't see the point of people doing all this mundane stuff by hand, even if in most places (as you assert) they are doing it consistently and systematically. Maybe we come from radically different environments. If I were not profoundly annoyed by the stuff I see in most designs, I wouldn't have spent much of my free time over the last five years trying to automate the generation of appication infrastructure.
RonKyle
RonKyle
SSCrazy
SSCrazy (2.7K reputation)SSCrazy (2.7K reputation)SSCrazy (2.7K reputation)SSCrazy (2.7K reputation)SSCrazy (2.7K reputation)SSCrazy (2.7K reputation)SSCrazy (2.7K reputation)SSCrazy (2.7K reputation)

Group: General Forum Members
Points: 2705 Visits: 3498
even if in most places (as you assert) they are doing it consistently and systematically


I didn't assert that; I only took issue with your assertion to the contrary.

Like you, I have seen and workd with many designs that have annoyed me to death. I knew, in contrast to your assertion, that the cause was not that someone had obssesed over the design. Quite the opposite: the designers did not know what the needed to know to ask the right questions to do it right, or to turn the right answers into a design that best supported that.

Last comment from me on this topic, but I found the discussion very interesting.



Ed Salva
Ed Salva
Valued Member
Valued Member (58 reputation)Valued Member (58 reputation)Valued Member (58 reputation)Valued Member (58 reputation)Valued Member (58 reputation)Valued Member (58 reputation)Valued Member (58 reputation)Valued Member (58 reputation)

Group: General Forum Members
Points: 58 Visits: 311
I'm enjoying reading the comments, but I'm curious, what happens when someone comes up with a better engine (or as in our case better software)?

Do we buy into it, or ride the current wave until it is exhausted? perhaps because it's easier or cheaper? Then at the end of the ride were do you go?

Standards are a good thing. It helps with continuity and somewhat simplifies things.
if "continuous quality improvement" is part of the process then the best you can have is the "standard du jour"

-- Optimist with experience and still learning
David Ziffer
David Ziffer
SSC Veteran
SSC Veteran (239 reputation)SSC Veteran (239 reputation)SSC Veteran (239 reputation)SSC Veteran (239 reputation)SSC Veteran (239 reputation)SSC Veteran (239 reputation)SSC Veteran (239 reputation)SSC Veteran (239 reputation)

Group: General Forum Members
Points: 239 Visits: 203
Ed Salva (10/8/2010)
I'm enjoying reading the comments, but I'm curious, what happens when someone comes up with a better engine (or as in our case better software)?

Do we buy into it, or ride the current wave until it is exhausted? perhaps because it's easier or cheaper? Then at the end of the ride were do you go?

Standards are a good thing. It helps with continuity and somewhat simplifies things.
if "continuous quality improvement" is part of the process then the best you can have is the "standard du jour"


Ed: First of all, RAP doesn't leave you with something that you can't maintain without the ongoing use of RAP. At the end of the day you still have a chunk of .NET and SQL code that you can continue to maintain by hand if you wish. It's just that it's probably a much more consistent and better structured piece of code than you possibly could have had the time or the budget to write yourself. So you don't incur any substantial risk by using RAP in terms of being left high and dry with something unusable afterwards.

Secondly there is no wave to ride. There is no crowd to follow. So this is an adventure, and instead of deciding whether to go with the crowd you'll have to instead decide whether this tool and this paradigm would make your life a whole lot easier. I'm not expecting many followers. I just want a few that will allow both me and my company to demolish my competition in a real-world demonstration of what is possible when you automate things rather than redo them by hand constantly.

The "standard du jour" argument could be used to exempt one's self from using any technology. How about C#? Remember C# is the replacement for non-compatible VB.NET in many shops. And VB.NET was the replacement for non-compatible VB6. Good heavens, why use compilers at all? If we really want to avoid paradigms and tools, we could even dispense with operating systems and go back to coding machine language. But oops - your machine language constitutes a possibly misguided investment in a particular processor architecture! Where does one turn? It seems that no matter where you look, you are making an investment in one technology or another.

Even if your vendor is Microsoft, there's no assurance that the tool(s) you're using today won't be obsolete tomorrow. The choice with RAP is to have a tool that generates most of your app code automatically, complete with features you could never afford to implement by hand, or alternatively to go without and reinvent the wheel - probably meagerly due to budget & time constraints - with every new app you have to write. The choice, of course, is yours.
JJ B
JJ B
Mr or Mrs. 500
Mr or Mrs. 500 (509 reputation)Mr or Mrs. 500 (509 reputation)Mr or Mrs. 500 (509 reputation)Mr or Mrs. 500 (509 reputation)Mr or Mrs. 500 (509 reputation)Mr or Mrs. 500 (509 reputation)Mr or Mrs. 500 (509 reputation)Mr or Mrs. 500 (509 reputation)

Group: General Forum Members
Points: 509 Visits: 2859
While I too had trouble with the analogy and remain a bit sceptical, I think the idea has merit and is worth exploring. I hope to keep an open mind.

I appreciate the author sharing this idea with us, sharing his code/app, and also taking the time to write such thoughtful replies to the comments. I look forward to future articles. Thanks.
moisixhaf
moisixhaf
Forum Newbie
Forum Newbie (8 reputation)Forum Newbie (8 reputation)Forum Newbie (8 reputation)Forum Newbie (8 reputation)Forum Newbie (8 reputation)Forum Newbie (8 reputation)Forum Newbie (8 reputation)Forum Newbie (8 reputation)

Group: General Forum Members
Points: 8 Visits: 12
simon-623950 (10/6/2010)
I'm glad I don't work in an environment where I rely on someone else designing the database then someone else programming the datalayer then someone else designing the frontend. Surely in any project you would put heads together and come up with a plan before just going ahead and bodging together a database then expecting everyone else to work with it.


Actually I am working in an environment where I created a database that fits the "frame" and ideas in this article (primary keys data audit fields etc) and the app developer that is coding in vb is totally out of the purpose of the project ... I would say that at the end the data will be stored in a database and this is the root of many projects involving SQL in any of its flavors ... the SQL developer mus be really the dude with a lot of brain in there and the others must respect the datatypes and the constraints he puts otherwise the final result will be like using bags of text instead of consistent data to store your information ... But this is just an opinion Cool
ChrisLane
ChrisLane
Forum Newbie
Forum Newbie (4 reputation)Forum Newbie (4 reputation)Forum Newbie (4 reputation)Forum Newbie (4 reputation)Forum Newbie (4 reputation)Forum Newbie (4 reputation)Forum Newbie (4 reputation)Forum Newbie (4 reputation)

Group: General Forum Members
Points: 4 Visits: 9
Great article, and fascinating comments. I have downloaded the software, run it, and run into a problem. Where can I get help on the problem?
David Ziffer
David Ziffer
SSC Veteran
SSC Veteran (239 reputation)SSC Veteran (239 reputation)SSC Veteran (239 reputation)SSC Veteran (239 reputation)SSC Veteran (239 reputation)SSC Veteran (239 reputation)SSC Veteran (239 reputation)SSC Veteran (239 reputation)

Group: General Forum Members
Points: 239 Visits: 203
chrisl 5993 (10/16/2010)
Great article, and fascinating comments. I have downloaded the software, run it, and run into a problem. Where can I get help on the problem?
Send an email to DaveZiffer@ProjectPro.com
David Ziffer
David Ziffer
SSC Veteran
SSC Veteran (239 reputation)SSC Veteran (239 reputation)SSC Veteran (239 reputation)SSC Veteran (239 reputation)SSC Veteran (239 reputation)SSC Veteran (239 reputation)SSC Veteran (239 reputation)SSC Veteran (239 reputation)

Group: General Forum Members
Points: 239 Visits: 203
moisixhaf (10/10/2010)
[quote]simon-623950 (10/6/2010)
... the SQL developer mus be really the dude with a lot of brain in there and the others must respect the datatypes and the constraints he puts otherwise the final result will be like using bags of text instead of consistent data to store your information ... But this is just an opinion Cool

It may be just an opinion, but it's a great one!
Go


Permissions

You can't post new topics.
You can't post topic replies.
You can't post new polls.
You can't post replies to polls.
You can't edit your own topics.
You can't delete your own topics.
You can't edit other topics.
You can't delete other topics.
You can't edit your own posts.
You can't edit other posts.
You can't delete your own posts.
You can't delete other posts.
You can't post events.
You can't edit your own events.
You can't edit other events.
You can't delete your own events.
You can't delete other events.
You can't send private messages.
You can't send emails.
You can read topics.
You can't vote in polls.
You can't upload attachments.
You can download attachments.
You can't post HTML code.
You can't edit HTML code.
You can't post IFCode.
You can't post JavaScript.
You can post emoticons.
You can't post or upload images.

Select a forum

































































































































































SQLServerCentral


Search