Re: newbie WO/EOF questions
Re: newbie WO/EOF questions
- Subject: Re: newbie WO/EOF questions
- From: "Jerry W. Walker" <email@hidden>
- Date: Sun, 2 Oct 2005 17:14:37 -0400
Hi, Boris,
My first suggestion would be to hook up with a good WebObjects
consulting firm and hire ONE of their consultants for a one month
contract. Contract to work directly with that consultant in an XP
process to plan the stories for the project and do the first month's
work together in pair programming with you as the second member of
the pair.
The first job you do together is to lay out the EOModel for the
application in such a way that it satisfies the requirements for all
of the rest of the stories for the release. Then undertake the other
stories, giving priority to stories that exercise the model classes
as much as possible. Within a month you should have a release of your
system up and running and will have exercised the EOModel
considerably. The system will probably not be complete, but if you
pick stories that take at least one or two transactions all the way
through the system, you will find it much easier to build on that to
complete the system when the month is over.
To lower your costs, you might try to find a firm that would take you
on 2 - 3 days per week, rather than full time, and allow their
consultant to dedicate those 2 or 3 days to pair programming with
you. The other days in the week you can use to review what was done
during your pairing and study the classes and methods that you used
during the consulting days.
If you were in the United States, figure that the consulting firm
would charge you somewhere between $50 and $150 per hour for your
paired programmer and that you'll be pairing for about 6 hours per
day. If we round the numbers to 2 days per week, 4 weeks per month
and $50 per hour for your pair, you will be paying around $4000 for
this option. To get a higher top number as a cap, you might figure on
$1000 per day (some firms won't charge by the hour for such a job), 3
days per week and 13 days for the month, which would cost about
$13,000. So, if you're able to arrange it, you will be paying around
$4,000 - $13,000 for this exercise in contract fees.
Whether you travel to the location of the firm or contract their
programmer to work at your site, you will end up with someone's
travel, lodging and entertainment charges. Don't forget to figure
those in. Also consider that if you've contracted their consultant to
come to your site, you will probably have to pay for the days they
are not pairing with you, so you would be better off, in that case,
using them full time.
If you go after a firm with a consultant who contributes to this
list and whose contributions you've read to personally assure you
that they are serious about doing WO projects right, then you'll
probably avoid the biggest danger in this approach, which is that you
will get a programmer who either won't help you understand WO, or who
doesn't quite understand it him/her-self, but will muddle through to
some working system.
And what do you get out of it? If you choose a firm that can furnish
you an excellent WebObjects programmer, you will almost assure
success with your project and will guarantee that the final result
represents good WebObjects architecture on which you will be able to
build easily, rather than a collection of beginner's mistakes that
you will spend substantial amounts of time correcting later.
You will end up saving yourself enormous amounts of grief in the
process because you will be forced to think like a WO programmer from
the outset (and shown rather than be told how to do so) and will be
working WITH the WO frameworks rather than fighting them because of
your wish/need to understand the problem as another exercise in SQL
programming.
Another cheaper but much longer term approach would be to take on
three or four smaller and less critical projects by yourself and
complete them using WO while peppering this list with questions about
why/how WO works the way it does and whether you're following "best
practices". Once these are all successfully implemented, take on this
larger project. Overall, you can probably learn as much this way, but
it will take a good deal longer. You might also end up missing some
tricks that good WO programmers learn over time.
Our company would be interested in helping you with this, as, I'm
sure, would many other companies whose employees are represented on
this list. Put out the call and I'm sure you will have more responses
than you need.
In any case, best of luck on your journey into WO programming.
Best regards,
Jerry
On Oct 2, 2005, at 2:58 PM, Boris Herman wrote:
Hello list,
I've been programming database applications for quite a while now.
First with flat files and manual indexes in the 80's, then with
local databases with concurrent lockings over to RDBMS and SQL.
I've been using several RAD tools in several programming languages
so the choices are plenty.
A client of ours wants to port (i.e. write anew) their business
system which now runs as a win/mac client connected to a SQL
server. They want to have it as an intranet application that runs
in a browser window. Since I've been writing my own SQL statements
for well over a decade the choice would be something like PHP but
I've been looking at WebObjects as it is more advanced, needs less
maintanence and vital components (such as SQL server) to a system
can be changed without major changes in program. I really like the
"upside-down" mechanism (frameworks) and the fact that most things
that have to be done manually in PHP are done completely automatic.
I know that WO is application server and PHP is just a scripting
language but I'm talking solutions here, not technologies. Also a
big plus is that the client already has 10.4 server up and running
(which includes deployment license for WO) and I'm doing most of
the work on my Macs anyway.
The trouble I'm facing (and I'm probably not the only one) is that
the EOF needs a totally different way of thinking which is
incompatible to my previous experience. I'm worried that during the
development I will subconciously revert to old style programming
and not the "WebObjects way". The moto I've read "if you are
writing code, you are doing something wrong" haunts me and reminds
me over and over that I really need to learn something new really
well.
I've purchased and digested several books on the topic, including
two that I've seen most recommended: Webobjects for Mac OS X by
Joshua Marker (which doesn't go deep enough for my taste) and
Practical WebObjects (which will most certainly become a priceless
resource AFTER I've become a full grown WebObjects developer). I've
also gone thru most of the tutorials and walktroughs available on
the net.
But I still don't know my ways around EOF, in particular to
relationships, be it to-one or to-many. I've grown so accustomed to
writing SQL queries (thinking SQL) and making relationships (or
iterating thru) with SELECTs I'm having a hard time grasping the
new concept. Until now I SELECTed any relationships either inner or
outer joins and used the foreign columns as they were columns in
the source table (hence the join). Now in WebObjects, I have whole
records (in to-one) and NSArrays of whole records (in to-many) as
the result of a relationship. Things get even more hairy when I
have relationships several levels deep and mixed to-one and to-many.
Where would a database app developer like me get proper guidance to
start seriously on WebObjects on a semi-large project? The client
database has about 20 tables, the main ones have over 2 mio
records, each full of metadata of different types and 5 foreign
keys. There is also a text field, which is occasionally searched
via fulltext index and relevance scoring.
Thanks for any input and suggestions,
Boris Herman
_______________________________________________
Do not post admin requests to the list. They will be ignored.
Webobjects-dev mailing list (email@hidden)
Help/Unsubscribe/Update your Subscription:
40codefab.com
This email sent to email@hidden
--
__ Jerry W. Walker, Partner
C o d e F a b, LLC - "High Performance Industrial Strength
Internet Enabled Systems"
email@hidden
212 465 8484 X-102 office
212 465 9178 fax
_______________________________________________
Do not post admin requests to the list. They will be ignored.
Webobjects-dev mailing list (email@hidden)
Help/Unsubscribe/Update your Subscription:
This email sent to email@hidden