But .NET is not a RAD platform. And I don't see that it's even in
the same ballpark as either MDB or ADP in terms of ease of use and
deployment.
In short, I don't think it *should* be considered alongside the two
at all -- it makes no sense.
As a general rule, I agree, but if you're publishing to the Web, I don't
think you should be considering Access as a front end, either. Not sure if
..NET is the way to go or not in that instance, but it probably deserves
mention, at least.
Actually, it says nothing about the number of layers. It implies it, but it
could just as easily be indicating that there's an inherent design
difference in those layers which makes it more or less efficient in certain
situations. In fact, they even tell you straight out that there are
situations in which an ADP would be preferable, though they're very careful
not to elaborate on those too much, cuz they want you to use their latest &
greatest. Like I said, I'd like to see STRONG proof of it...something that
involves timing tests in real-world situations.
True, you can optimize *some* SQL Server projects using local tables and so
forth, but if your project doesn't lend itself to those types of
optimizations, the reasons to use MDB/ACCDB go down rather significantly.
All in all, they've made the two formats seem about equal to my mind, and
that you should consider which one you use for any given project based on
the needs of that project.
Not sure what that interest would be.
You've bought their older software, now they're trying to convince you that
with the new software, with the CDM, it performs better, and that you should
buy it. If that's not a vested interest, I don't know what is. I've yet to
see tangible proof of better performance from MS, just vague statements that
rely on changing your approach, like the one you referred to earlier. (FYI,
if you really want to switch to that approach, you can cache tables in ADP
as well, though it takes more work and you have to use ADO to store the
tables in some other format locally or in memory if it's small enough.)
That would include ADO being abandoned in favor of DAO
for Jet
DAO *is* definitely a much better solution for Jet, but I haven't seen a lot
of Jet apps in Enterprise solutions...especially not those having large
numbers of simultaneous users. ADO has a lot of advantages when it comes to
things like disconnected recordsets, asynchronous processing, etc. I've
seen far more ADO in recent years than DAO, so I'm not sure I'd say it's
abandoned.
and ADPs being deprecated for SQL Server in favor of
MDBs/ODBC.
Here again, this is mostly in MS's mind. I know lots of people who develop
in ADP...in fact, just looking around this newgroup will pretty much prove
that point.
It was obvious to me at the time A2K was released that
the ADO for Jet recommendation was bloody stupid
Agreed.
I also was very suspicious of ADPs, as it seemed their whole
justification for existence was simply to avoid Jet, which makes no
sense to me.
That's now how I see them at all. Their primary purpose, as I see it, is to
allow you to interface with SQL Server and treat it almost as though it were
a local Access database, complete with the full object list, the ability to
make design changes, and even add things like lookup columns that SQL Server
doesn't support natively. MS *did* push a little too much, mind you, and I
think you should only use ADP's where it makes sense to do so. I've seen
some who recommend an ADP/SQL Server configuration for even something like a
small, single-table database, which is just dumb in my opinion.
This is the opposite situation in comparison to the ADP deprecation.
VB.NET is the NEW platform and MS is promoting it, just as when ADP
was the new platform, MS promited *it*. Now, they have abandoned
what was once new (ADP) in favor of the old (MDB/ODBC).
But in either case, you have to stop and ask yourself *why* they're
promoting it. Is it because it's better for the user, or better for them?
By law, in many cases, a company's first priority MUST be to its
stockholders, so it may not always be the end-user they're thinking of when
they make recommendations.
In any event, I'm not particularly recommending ADP or MDB or ACCDB; I'm
recommending that the person ask themselves what it is they want to
accomplish and decide from there. They *all* have benefits and drawbacks.
But in the case of deprecating ADPs, MS is going *against* the
"latest and greatest" bias. That alone makes it seem very credible
to me, as it contradicts a policy that was implemented in 1999.
Again, I want proof, not just MS's word for it. And even it it IS faster,
do the features you get out of ADP make more sense for your particular
project, or is an MDB or ACCDB more appropriate. That's for each user to
decide on a per-project basis...I don't believe in saying that one is
inherently better than the other unless it is in all cases.
And, frankly, the emperor had no clothes in 1999. Michael Kaplan saw
that and wrote an article about it. And I could clearly see that the
ADO for Jet push was completely wrong-headed. I was always suspcious
of the "They don't use JET!!!!!" justification for ADPs, because I
don't see Jet as a bad thing. But many ill-informed people blamed
Jet for their inability to build stable Access applications.
Agreed. Jet was never a bad thing in my mind, nor was DAO. ADO has its
advantages in some situations (as previously mentioned), but with native
Access/Jet data, there's only a very few situations in which ADO is
advantageous. DAO is almost always the better choice. By the same token,
however, I think that either MDB's, ACCDB's, or ADP's can be great
front-ends to a SQL Server project, provided that you're aware of the
benefits and limitations of each. If you want to be able to make design
changes without loading up SQL EM or similar, then MDB's and ACCDB's just
aren't going to do it for you.
In the case of the current deprecation of ADPs, it makes perfect
sense to me, as all the problems that were adduced by experts way
back in 1999 have become obvious enough to MS that they decided it's
not worth trying to correct.
Actually, the "deprecation" has only been hinted at in a blog, AFAIK, it
hasn't been announced officially. I think they're still dithering on that
one because of the inherent trade-offs between the two approaches.
Rob