Re: Need strategies, not tactics

[email protected]
Newsgroups gmane.comp.java.keel.user
Message-ID <OFD6172408.0DC5ED21-ON86256E59.0010FEA6-86256E59.0011F6D3@combined.com>
Mike,

I must  say, beautifully addressed. 

Too many projects get upset when people point out deficiencies (docs or 
otherwise).

I know it can be frustrating (for all parties, experts & noobs alike), 
we're trying to learn about your framework, and asking for changes, 
without yet committing to help out in any way. 

Your friendliness and insight are appreciated.

Thanks,

Tim



Please respond to user-6VIttnCrOeJXNEnpj1eHPNi2O/[email protected]
Sent by:        user-keelframework.org-admin-rI8AND0JKYOgdSakss0wQjfEH8FBEnyy@public.gmane.org
To:     user-6VIttnCrOeJXNEnpj1eHPNi2O/[email protected]
cc:     Lee.Grey-2rOCskbgOthWk0Htik3J/[email protected] 

Subject:        Re: [Keel User] Need strategies, not tactics

Lee:

Let me see if I can toss in a few cents worth...

> If there is one overall comment I can make about the Keel documentation, 
it is that there is a shortage, IMHO, of big-picture architectural 
strategy.  I have been playing around, on and off admittedly, for a few 
weeks now, and I still am fuzzy on how to architect an application using 
Keel.  I've picked up on the localized techniques, but what about the 
global principles?  All the docs, including the HandsOnTutorial are long 
on tactics and short on strategy.

I think you're right, and I'm going to start a Wiki page with this kind of 
overview. There are bits of it here & there, though, but not all in one 
place.

> Knowing how to construct a model is fine, but I still need to know what 
parts of my application should be implemented as Models, 

The portions of your application that connect the application logic to the 
UI are the domain of the Model class. It *can* incorporate your 
application logic completely (although it does not have to). It fits, 
architecturally, in the same place as a Session Bean in EJB.

> where my models fit into the scheme of things, etc.  I am still confused 
by the choices of putting my application into the Keel tree or outside of 
it. 

Put it in the Keel tree to begin with, but within your own module, e.g. 
app-xxx, just like app-poll.

>  I searched today for information about deploying my app to my web host, 
but the Wiki is very vague on this subject. 

There are a lot of choices. The simplest is a WAR. The most complex is a 
grid-based cluster of Keel app servers, with failover and so forth. 
There's a reference to an article on this on the MakingWaves page.

> Will I end up with a WAR?  Will it have all of Keel in it? 

Yes, you'll end up with a WAR (again, by default, if your 
*-deploy.properties file says so). It will not have all of Keel, just 
those services you select (by options in the *-deploy.properties file). 

> What about Struts? 

Yes Struts (or Cocoon, Webworks2, etc) will be in the war as well. Again, 
depending on settings in the properties file.

>  What if I have multiple apps that I want to deploy into a single 
instance of Tomcat? 

You have three choices: Deploy multiple instances of Keel, Deploy multiple 
apps in a single instance of Keel, or deploy multiple "client" portions of 
Keel all talking to one Keel server (or several, actually, if 
needed/desired).

> Will I have to install all of Keel multiple times, or can I separate 
Keel from my app?  I have yet to stumble upon the answers to these 
questions of fundamental design principles.

The answers are there, but I must admit not as clearly organized as I'd 
like. The articles page referred to above has a number of articles that 
give good high-level overviews.

> If I want to create a web site with registration and login, do I need to 
include features from app-register and app-security in my application 
somehow, or do I need to choose one of them and copy it as the basis for 
my new application?  All of these things that are second-nature to you 
folks are utter mysteries to those of us who are just looking at Keel for 
the first (or tenth) time.

If you want functionality from app-register, you can simple "turn on" 
app-register in the deploy file - basically the deploy file "drives" the 
whole build system, incorporating each required app. You can then override 
the functionality you want to customize, just like extending a class in 
Java.

> The other problem I am having is that terminology is thrown around 
without ever being defined or distinguished as to what exactly it means in 
Keelville.  The term model appears all over the place, yet seems to be 
something not quite the same as the M in MVC, but there is no clear 
explanation of what a Model is in Keel. 

Model is essentially the exact "M" in MVC, really. It represents a single 
unit of application logic. It can be combined as needed with other models 
as needed in sequences and workflows, and these combine to create 
applications. 

> The term "role" seems to also be used without explanation, and I think 
I've stumbled across others.

Some (if not much) of Keel's terminology comes from Avalon, which 
underlies Keel. You may want to have a read of the excellent doc on the 
Avalon site.

> For some reason that I can't explain, I have not chucked Keel.  My 
frustration level and wheel-spinning are nearing redline, and I am very 
tempted to move on, but something about the promise of Keel has kept me 
from leaving.  I don't want Keel to be more roadkill on my journey through 
the open source superhighway (actually, I feel more like *I'm* the 
roadkill!), but I currently have to be clairvoyant to take advantage of 
Keel's wonders.  I'm not, and I just don't want to have to work that hard. 
 I've got enough to do already.

Let me try to take some of the mystery out, and at the same time, benefit 
slightly from your frustration by greatly improving our documentation for 
newcomers :-) It's a fair trade, no?

> Please, guys, help.

Just fire away when you have questions, and we'll do what we can to 
answer!

Thanks for hanging in there.

Mike
> 
> P.S. I mean no offense, despite my tone.  I respect what you've done.  I 
just can't benefit from it without more information.

Speaking for myself, none taken - quite the opposite, we're being 
complimented that you're hanging in there :-)
> 
> 
> 
> 
*************************************************************************************
> The information transmitted is intended solely for the individual or 
entity to which it is addressed and may contain confidential and/or 
privileged material. Any review, retransmission, dissemination or other 
use of or taking action in reliance upon this information by persons or 
entities other than the intended recipient is prohibited. If you have 
received this email in error please contact the sender and delete the 
material from any computer.
> 
*************************************************************************************
> 


-- 
Michael Nash

JGlobal Ltd 
Next-Generation Web Application Development and Open Source Support
http://www.jglobal.com

Bahamas Commerce and Trade
Offshore eCommerce Hosting and Business Services
http://www.bahamascommerce.com

_______________________________________________
User mailing list
[email protected]
http://lists.keelframework.org/listinfo.cgi/user-keelframework.org
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.