Slashdot Mirror


Server CE Database Development with .NET

William Ryan writes "SQL Server CE is Microsoft's preferred database backend for its Compact Framework initiative. Compact Framework is a cool technology, but it's still in its infancy. This book does a lot to help you get started using SQL Server CE." Read on for the rest of Ryan's review, or revisit his November review of a related book, The Definitive Guide to the Compact Framework . SQL Server CE Database Development with the .NET Compact Framework author Rob Tiffany pages 450 publisher Apress rating 10 reviewer William Ryan ISBN 1590591194 summary A start to finish discussion of using SQL Server with SQL Server CE on the Compact Framework

This book comprises 10 Chapters in just under 450 pages, including the indexes and usual book stuff. Since CE supports ASNI Sql, there are a few chapters that discuss using SQL to manipulate databases, which are probably not necessary for most database programmers. Chapters 4-8 are dedicated to DDL (data definition language), DML (data manipulation language), and taking advantage of metadata. It's a good discussion of these subjects, and I guess an author must include them to be thorough, but if you aren't that familiar with SQL, you probably have some learning to do before diving into data-driven PDA apps.

Enough about the background, though. The book really excels in two areas, one of which I think is probably useful to any developer, even if you don't use the Compact Framework or Microsoft Products. That area is security.

Far too many developers blow off security concerns, or claim to care but do little or nothing about actually increasing security. Let's face it: no matter how secure your OS is, no matter how killer your firewall is, today there are a lot of people trying to break your app and they aren't always outside of your company. Tiffany points to a GIGA Information Group article criticizing the industry for ignoring security on mobile devices.

A lot of what he says is focused on security issues that are 'common sense,' and yet ones that people ignore all the time. It's kind of a shame that a writer needs to explain the benefits of using 'Strong Passwords,' but let's face it, no matter how well you write your app, it won't be secure if you leave the front door open.

In no way am I saying that the author's discussion of security is limited to such elementary topics, but he does a great job of bringing many issues into focus and suggesting ways to deal with them.

The other area that this book really excels in is getting you through replication. This is not a fun topic if you don't know what you are doing and there isn't a lot of literature out there to help you get through PUSH/PULL subscriptions and the like. Pragmatically speaking, of the topics this book covers, Tiffany's coverage of replication is probably going to benefit people the most, because if you can't sync your PDA with your server, you are effectively out of gas. If you aren't a Sql CE user you won't appreciate the value of this chapter, but love MS or hate them, the newsgroups and forums are filled with folks with the same sorts of problems that the author works diligently to get you through.

It's hard to know what will and won't work yet on the Compact Framework and CE. It's quite helpful to have a list of common functions that are supported listed in depth -- another thing I liked about this book.

What else? Well, the text was well written, very similar to his last book on Pocket Access (Pocket PC Database Development with eMbedded Visual Basic) and easy to read. If you are a total newbie to CE, you can use this book and hit the ground running. Everything that you need to write professional apps is included, and I can't find anything that Tiffany omitted.

I really appreciate the fact that the author wrote an entire book on such a niche subject. Many areas, particularly the Compact Framework, don't have a lot of literature on them and if you are writing SQL Server CE, you are on your own...until now.

If you develop in CE, or plan to, this book is a Must Have.

You can purchase SQL Server CE Database Development with the .NET Compact Framework from bn.com. Slashdot welcomes readers' book reviews -- to submit a review for consideration, read the book review guidelines, then visit the submission page.

162 comments

  1. I can tell you what's not a database by Trigun · · Score: 4, Funny

    MSSQL CE, that's what.

    1. Re:I can tell you what's not a database by iii_rjm · · Score: 1

      Perhaps you could enlighten us with your definition of 'database'

    2. Re:I can tell you what's not a database by Anonymous Coward · · Score: 0

      He probably means something like MySQL that doesn't support clustering, transactions, stored procedures, triggers, foreign key contraints and the like without resorting to ugly hacks. And remember kids, version 4.x doesn't count because even the developers still say it is an "alpha".

    3. Re:I can tell you what's not a database by Krapangor · · Score: 0, Flamebait

      Nonsense FUD !
      The alpha version MYSQL 4.0 is rock stable - it only crashes every two hours on our production systems.
      Furthermore: if you fear data corruption then you should do more backups.

      --
      Owner of a Mensa membership card.
  2. can't wait for the anti-.net comments by Anonymous Coward · · Score: 2, Insightful

    no, really, i can't. bashing things out of ignorance is fun and easy.

    1. Re:can't wait for the anti-.net comments by Anonymous Coward · · Score: 0

      the trickle down therory of ignorance

    2. Re:can't wait for the anti-.net comments by Anonymous Coward · · Score: 5, Insightful
      "no, really, i can't. bashing things out of ignorance is fun and easy."

      (Posting anonymously to protect myself and my employer).

      No ignorance here. I worked on a .NET Compact Framework (via VB.NET) + SQL Server CE application in the earlier part of 2003. Note that while they integrate with their namesakes, .NET CF and SQL CE's implementations appear to share almost nothing with their desktop counterparts.

      I cannot emphasize strongly enough how much this stuff sucks.

      Let's display a form with maybe 10 elements (a few text fields, a few static text labels, a few command buttons). It takes maybe half a second to a second, highly visible control-by-control drawing that the user can see.

      Let's perform a simple query, like SELECT id, name FROM items WHERE parentid = , returning a dozen or so rows. Yep.. half a second. From what I could see a lot of overhead was involved in passing the data from SQLCE to .NET, representing it all as ADO.NET or whatever objects along the way..

      By the time you're bringing up a form, performing a couple of queries and throwing that data in said form, the user is waiting a couple of seconds. Every. time. they. tap. something. It is not good enough. The resulting application is a joke.

      Databases can be big, so you might want to put them on external media ie a compact flash card. Except you point SQLCE at a db on a card and it just doesn't frickin work!

      This is all based on a fastish (400MHz XScale CPU iirc) Dell Axim. Don't even think about throwing this stuff on an older device.

      By the way, Microsoft .. requiring a total of about 8 megs of runtimes (.NET CF + SQL CE) is not something handheld users are accustomed to.

    3. Re:can't wait for the anti-.net comments by Anonymous Coward · · Score: 0
      What's your problem?

      Tyan is just about to bring out a four-way S-4880 mobo. Just throw more hardware at it.

      BTW, does anyone have any idea how much the mobo's gonna cost? I've been told by unnamed sources that it's going to a bargain (~$1800) but still...

    4. Re:can't wait for the anti-.net comments by Anonymous Coward · · Score: 0

      Dear Troll, I had no idea that you could carry a four-way server box around in your pocket or on your belt. All those batteries must be really heavy! And does Windows CE even run on multi-CPU boards?

    5. Re:can't wait for the anti-.net comments by RevAaron · · Score: 2, Insightful

      Works fine for me on a 400 MHz PXA255'd XScale. It's running WinCE.NET 4.1, which includes the .NET CF. I've never used SQL CE, I've used the built-in db system. You must be working with older software, PPC2k or 2k2. Things move forward- yeah, it's a bitch, but would you have us all writing code in assembler instead?

      If your company has any other .NET CF jobs, send 'em my way- I'd be happy to do some consulting.

      --

      Working toward a usable PDA environment in the spirit of Newton OS: Dynapad
    6. Re:can't wait for the anti-.net comments by CrazyTalk · · Score: 2, Insightful

      Have you tried caching data or other tricks to try and improve performance? Where you repeatedly opening and closing the data connection? No doubt that .NET is notoriously slow, but there are some things (maybe you've already tried them) to help mitigate this.

    7. Re:can't wait for the anti-.net comments by ClubStew · · Score: 2, Insightful

      It's a friggin' file-based RDBMS - if you can even call it that - on an extremely compact piece of hardware. What do you expect? There is no service that runs and takes care of memory and performance issues, it loads the DB file when needed and pulls data directly from the file.

      Frankly, I agree it isn't a great RDBMS for what you're probably used to, but it's great on a Pocket PC.

    8. Re:can't wait for the anti-.net comments by e2d2 · · Score: 1

      And to add a little to that, the overhead of adding a SQL compliant query engine in such a tiny space is hard work.

      I have been using PERST targeted at developers who need an embeded database. But it's not relational, it's OO, which can be a benefit in some cases. You have to establish your own indexes and relationships between these objects. it's not a full blown SQL server, far from it. But on a small device overhead is everything and this thing is bare bones. It can be configured easily for the platform, specifying exactly how large a footprint you want to take on the host. Works well if you just need a repo for your data and don't need the report driven analytical power of SQL.

    9. Re:can't wait for the anti-.net comments by Anonymous Coward · · Score: 0

      .NET is not slow you stupid moron.

    10. Re:can't wait for the anti-.net comments by MattRog · · Score: 2, Informative

      Take a look at Sybase SQL Server Anywhere. It is a very fast embedded SQL DBMS. Very nice.

      --

      Thanks,
      --
      Matt
    11. Re:can't wait for the anti-.net comments by cpeterso · · Score: 1


      Sadly, the 400 MHz XScale PocketPCs are about 2x SLOWER than the older 206 MHz Strongarm PocketPCs. I've done C development for both. One test case takes 15 minutes on the 206 MHz Strongarm PocketPC. On the 400 MHz XScale PocketPC, the same test case take 30 minutes. So the XScale is about 4x slower per MHz than the older Strongarm processor.

      I even used a beta version of Intel XScale-optimizing compiler. The object code as larger yet slower!!?

    12. Re:can't wait for the anti-.net comments by Myxorg · · Score: 1

      Have you tried something with the latest and greatest pocketpc 2003 os? I've noticed my application performs significantly faster on a new dell axim with pocketpc 2003 than on the slightly older dell axims with pocketpc 2002.

    13. Re:can't wait for the anti-.net comments by Anonymous Coward · · Score: 0

      (Posting anonymously to protect myself and my employer).

      Were you beaten as a child? Appears like it.

    14. Re:can't wait for the anti-.net comments by mullahbill · · Score: 1

      Almost nothing? Are you kidding? There are many things to criticize about SQL CE, and many about the compact framework, but integration isn't one of them. The whole ADO.NET library is available, if anything is missing, it's not very much because I sure haven't seen it. Performance is slow on your PDA with the CF? Compared to what? The only thing that CE performs notably slow on is opening connections and closing them. And I'll admit that since you can only maintain one open connection at a time, in some scenarios it can be slow. Then again, how many times do you need to open and close connections on a properly designed ADO.NET app?

    15. Re:can't wait for the anti-.net comments by cpeterso · · Score: 1


      I have only done some basic testing on PocketPC 2003. It felt slower to me, but I was using a pre-production beta version of the new HP iPaq. I heard that it should be much faster because Microsoft finally created an XScale-optimized build of the PocketPC OS. Before Microsoft was only building for generic Strongarm and forcing XScale vendors to run the Strongarm build.

      Microsoft builds CE for about a dozen of differenct processors. Why would separating XScale from Strongarm be so much more work? Maybe part of the problem is that third-party developers and users have to understand the difference and why some XScale apps are not backwards compatible with older Strongarm PocketPCs.

      I think that someone at Intel should be fired for releasing a 400 MHz XScale processor that is 2x SLOWER than the 206 MHz Strongarm! :-) I heard from someone at Intel that the problem is that pipeline stalls (for data loads) are 4x more expensive on the XScale.

    16. Re:can't wait for the anti-.net comments by Anonymous Coward · · Score: 0
      Take a look at Sybase iAnywhere Solutions SQL Anywhere Studio

      Offers the best data synchronization technology available.

  3. can he manage to sell enough of them? by Anonymous Coward · · Score: 0


    This doesn't seem to be a huge area with many developers. I guess he just liked the subject?

  4. This book can also be found at by Sir+Haxalot · · Score: 0, Informative
    --
    I have over 70 freaks, do you?
  5. So by Sarojin · · Score: 0, Flamebait

    does this work with Mono? That's what .NET really needs to gain acceptance!

    --
    HOW'S MY POSTING? CALL 1-800-POSTING
    1. Re:So by Anonymous Coward · · Score: 0

      Mono is not .NET emulator dammit.

    2. Re:So by mullahbill · · Score: 1

      Mono rocks, and I don't think SQL CE is going to run on it, but you can still use XML/Web services and to that end, mono will still provide an excellent mechanism for data access. There's a new book coming out next month on C# and Mono...and I've been doing a lot of development on Mono - they are doing absolutely wonderful work and the final product will really be cool.

  6. compact? by bash-2.02$ · · Score: 1, Funny

    regardless of microsofts ability(or inability, whichever) to produce good software, it is never small. how can "compact" and "microsoft" be in teh same sentence...

    okay, perhaps, "microsoft's focus on security is compact."

    before you flamebait me all to hell, its a joke and i use windows almost exclusively because it runs the software i need to run.

    --
    tofu is made of little baby seals
    1. Re:compact? by Thud457 · · Score: 2, Funny

      Compact, as in "a compact with the devil".

      --

      the preceding comment is my own and in no way reflects the opinion of the Joint Chiefs of Staff

    2. Re:compact? by Anonymous Coward · · Score: 0

      It probably runs some retarded version of SQL server.

      Oh and you have just been flamed, I'm just too lazy to write it down :).

    3. Re:compact? by ProtonMotiveForce · · Score: 1

      Hmm, they must be doing something right since they've gained vast market share from Palm, and keep growing.

      Money talks, bullshit walks, I guess is what I'm saying.

    4. Re:compact? by bash-2.02$ · · Score: 0

      oh no doubt. i ahve to give bill credit for doing what he does VERY well. i have to give credit to all the pop singers out there for milking people for their money while not producing anything musical.

      my point is simply that they dont worry about size at all.

      not sure why it was still modded flamebait, tho...

      --
      tofu is made of little baby seals
    5. Re:compact? by Ignominious+Cow+Herd · · Score: 1

      You mean COM was a pact with the devil?
      So the devil got Billy's soul, Billy got $$$, we got COM.

      Figures.

      The devil got the short end of that deal.
      Now with .NET is Billy trying to go it on his own.

      --
      Lump lingered last in line for brains, and the ones she got were sorta rotten and insane.
    6. Re:compact? by stephens_domain · · Score: 1

      It is all relative. It is compact in comparison to its larger cousin the Microsoft .NET Bloated Framework.

      --

      ..
  7. SQL Server CE by Anonymous Coward · · Score: 1, Funny

    This book tells me how to run an enterprise DB on my PDA? I had no idea they were that powerful now.

    1. Re:SQL Server CE by n5zno · · Score: 0

      Sybase Adaptive Server Anywhere is a more robust DB for these tiny devices. The pocket pc versions have almost the same functionality as the desktop/server versions. not to mention you can syncnronize to the linux, windows, unix, etc...

    2. Re:SQL Server CE by mullahbill · · Score: 1

      No, it tells you how to program and use a SQL Server CE database on your PDA if you have it installed or want it.

  8. Sql Server CE? by Hayzeus · · Score: 4, Informative

    Geez -- a crippled db platform if there ever was one. Calling it "SQL Server" is really a major misnomer -- the two are not even remotely similar in even basic features. Obviously, this would be expected to some extent -- but the name tends to mislead. I had the misfortune of working for an employer who wanted the same application working on both SQL Server and a handheld version on CE. They expected significant code to be shared between the two, and ultimately got a nasty surprise when this proved infeasable, given the alotted dev time frame.

    1. Re:Sql Server CE? by Anonymous Coward · · Score: 1, Interesting

      The name was chosen by the branding bozos, not by the product development team.

      SQL Server CE is called "SQL Lite" internally at Microsoft. Different team, different thing than SQL Server.

    2. Re:Sql Server CE? by Hayzeus · · Score: 1

      "SQL Lite" would be a far more fitting name -- it is obviously NOT the same product. It's not really a bad product as far as it goes -- but calling it "SQL Server" was a really unfortunate decision (I would have guessed that their marketing dept. came up with this one).

    3. Re:Sql Server CE? by D4MO · · Score: 1

      The fact that its a database app that supports ANSI sql, in my book, are basic features that are remotely similar.

      --

      Rocket science is easy. Neurosurgery, now *that's* difficult.
    4. Re:Sql Server CE? by Ben+Hutchings · · Score: 1

      If you read the small print, you'll find that SQL Server is only claimed to support SQL-92 Entry, which is a tiny subset of SQL-92 that doesn't even include VARCHAR. Yet it still fails to conform to that; it follows SQL-89 in some cases where SQL-92 differs. If you care about ANSI conformance I think you'll be better off with PostgreSQL.

    5. Re:Sql Server CE? by proj_2501 · · Score: 1

      so then why not call it Access CE or something similar?

    6. Re:Sql Server CE? by borgboy · · Score: 1

      Informative? Really??? The documentation spells out very clearly the similiarities and differences - you did read the documentation right? Not just the marketechture brochurementation? There is a great deal of Transact SQL that is compatible between the two, and they are ANSI compliant. What more did you expect out of a db engine running on this class of processors? I'm sorry your management is gullible, but that isn't SQL CE's fault.

      --
      meh.
    7. Re:Sql Server CE? by RevAaron · · Score: 1

      Heh, that's what I was thinking. The fact that it serves databases out to apps and uses real-live SQL seem to be the most important features. I'm sure it doesn't do any of the fancy-pants enterprise stuff of MS SQL or DB2 or Oracle, but it is still an SQL ... server.

      --

      Working toward a usable PDA environment in the spirit of Newton OS: Dynapad
    8. Re:Sql Server CE? by Unordained · · Score: 3, Insightful

      That's why I look forward to the completion of a few last (for this) features in Firebird (the database server) -- they have an 'embedded' version that sits in a .dll and acts exactly like the server version as far as the calling program is concerned. It's the same engine code, so the same SQL is supported, the same features available. It can still load UDF libraries (the same ones it loaded as a server) but won't accept connections from other programs. If you want several programs to access the same file at the same time, you'll have to do that yourself. It's already great for building single-user programs to be distributed to clients who wouldn't want a "full-blown" database server running (really, it is, but at least it's not listening to any ports.)

      Firebird/Interbase has always been rather small -- 10 meg install, very little memory usage. The main problem porting it to PDA's and other embedded devices was its loopback / inter-process-communication systems. Its shared-memory method wasn't completed (though from what I hear, they have it working in development versions, and the new method speeds up the server quite a bit as well) and it relied on 127.0.0.1 loopback. Windows CE didn't allow for that (no ethernet interfaces at all by default, not even lo) and thus the server couldn't talk to itself. (It tends to use multiple processes.)

      Regardless, Firebird will most likely be available for embedded devices soon, run quickly and quietly, and won't be a stripped-down version at all. Code written for large multi-user environments would still work, but you might have to wait a bit longer for your huge reports.

      (And yes, I feel fine writing this without being too concerned about vaporware -- it's already proven technology, it's actively worked on, and the Microsoft thing isn't any closer.)

    9. Re:Sql Server CE? by Anonymous Coward · · Score: 0

      So, whats your point? You should put the blame on the user and not Microsoft?

    10. Re:Sql Server CE? by Ed+Avis · · Score: 1
      What more did you expect out of a db engine running on this class of processors?
      Oracle, DB2, Postgres, Sybase and so on used to run quite happily on machines with far less processing power. The SQL92 standard dates from 1992; I'd be surprised if today's handheld is not at least comparable in processor speed and RAM size to a 1992-vintage Unix box.
      --
      -- Ed Avis ed@membled.com
    11. Re:Sql Server CE? by borgboy · · Score: 1

      My bad. I should have mentioned IO constraints as well. How well does oracle run on a pocket pc, it being a speed demon and all?

      --
      meh.
    12. Re:Sql Server CE? by Ed+Avis · · Score: 1

      The Firebird embedded DLL sounds really interesting. I looked at sqlite but was put off by its almost total lack of data validation (for example, you can't even declare a column to hold integers). Which is claimed as a feature, not a bug, but for me it defeats one of the main reasons for using an RDBMS (foreign key constraints and check constraints are also not supported). Embedded Firebird might be a saner if slightly more heavyweight alternative. I wonder if there is a similar thing for Postgres?

      --
      -- Ed Avis ed@membled.com
    13. Re:Sql Server CE? by martin-k · · Score: 1
      Hmm.

      SQL Server CE != SQL Server
      Pocket Word != Microsoft Word
      Pocket Excel != Microsoft Excel
      .NET Compact Framework != .NET Framework
      Windows CE API != Windows 32 API

      See a trend there? Microsoft marketing tries to make them seem all the same, but no CE technology or app is even close to its Windows counterpart.

      Which is a shame, Pocket PCs could be great mobile computing platforms if Microsoft dared more.

    14. Re:Sql Server CE? by Hayzeus · · Score: 1

      Uh -- yes, although apparently the project planners didn't. To be fair, this was NOT 2.0 -- on the platform they had targeted major features were missing (like stored procedures, although cascading deletes were available).

    15. Re:Sql Server CE? by Ed+Avis · · Score: 1

      Sure, IO performance may suck, but that's not a reason to support only a subset of ANSI SQL. Not if you already have a database engine that does the job properly, and reduced speed is the only difference moving it from a server to a handheld. For small databases RAM should be big enough to cache most things anyway, so I/O speed doesn't matter that much. You could probably put the transaction log in RAM too.

      --
      -- Ed Avis ed@membled.com
    16. Re:Sql Server CE? by duffer_01 · · Score: 1

      I agree, the last time I checked they didn't even have basic things like views, stored procedures, or triggers.

      Our company uses Adaptive Server Anywhere on the Compact Framework. Not only does it perform better but we can replicate directly to Microsoft.

    17. Re:Sql Server CE? by Unordained · · Score: 1

      I forgot to mention, though likely nobody cares, that no stable version of Firebird-embedded has been released yet, as it's a branch of the current 1.5 series, which is currently at RC7 (last I checked.) It feels stable to me, but ... watch for a slashdot headline about 1.5-stable being released. (Wait, the slashdot crowd would think a new mozilla browser had come out ...)

      Also to note is the recent (last week?) merger of Firebird and Yaffil, its russian (commercial-product-for-a-while) counterpart. Yaffil code improvements and features will be merged into Firebird as time permits, with obvious considerations of compatibility. I'm personally hoping that expression-based indexing will be one of the first things added, though the Yaffil also made significant progress in optimizing the engine for the things it already did.

      The best part is -- new versions of the embedded branch would benefit from the same improvements.

      I would welcome a Postgres equivalent. Competition can't hurt, now can it? Is Postgres all that much lighter/heavier weight than Firebird? I saw them more as just emphasizing different feature sets ...

    18. Re:Sql Server CE? by Myxorg · · Score: 1

      There is no ram on most pocketpcs. or rather it's all ram. You see persistant storage and ram both reside on the same medium. The ram is the same speed as the storage, so it's pretty slow.

  9. umm by JohnwheeleR · · Score: 0, Redundant

    I think I'll pass

  10. To hell with SQLite! by Anonymous Coward · · Score: 1, Funny

    Now we've got SQL Server CE!

    No bloat there, I'm sure (*cough* MSDE *cough*).

    1. Re:To hell with SQLite! by Anonymous Coward · · Score: 0

      MSDE isn't bloated, you just don't understand RDBMSes. A good RDBMS will cache what it can in RAM in order to increase it's own performance, including commonly used indexes and execution plans. In both SQL Server and MSDE the amount of RAM that may be allocated is user configurable and may be capped.

      The one real diffence between MSDE and SQL Server in this sense is that by default databases created in MSDE are created with the AUTO_CLOSE flag set. This means that when the last user disconnects from the database that the file is closed and any allocated resources are deallocated.

    2. Re:To hell with SQLite! by Anonymous Coward · · Score: 0

      > A good RDBMS will cache what it can in RAM in order to increase it's own performance

      Is this what you really want on a desktop application? Background processes taking resources away from foreground apps? I don't care if my data access is a little slow on my personal database on my development machine, but I don't want Windows and IE to take twice as long to load (or any other foreground app).

      I can understand why SQL Server would be a little more resource hungry since it is more typical that it is the sole application on a server, but the "Desktop Engine"?

  11. Technology in infancy... by heironymouscoward · · Score: 4, Insightful

    Do we really need more technologies in their infancy? Is it not one of the biggest problem in this industry that we keep inventing new ways of doing the same stuff, throwing out entire generations of products and developers each time?

    We need ways to make existing good code last longer, not new frameworks to waste time on.

    But... sigh... I don't expect that kind of attitude from Microsoft. One more reason to avoid such platforms like the pest.

    --
    Ceci n'est pas une signature
    1. Re:Technology in infancy... by GoofyBoy · · Score: 3, Insightful

      >Do we really need more technologies in their infancy?

      >But... sigh... I don't expect that kind of attitude from Microsoft.

      Why do you think that this is a MS issue?

      What about IBM? Sun? Oracle? What about over half OpenSource projects?

      (Or perhaps I should be used to the mindless MS bashing around here)

      --
      The surprise isn't how often we make bad choices; the surprise is how seldom they defeat us.
    2. Re:Technology in infancy... by Anonymous Coward · · Score: 0

      We need ways to make existing good code last longer, not new frameworks to waste time on.

      It's called Unix / BSD / Linux.

    3. Re:Technology in infancy... by heironymouscoward · · Score: 1

      I agree about many software vendors.

      The Microsoft bashing is definitely present, and I would argue well-deserved, but it is not mindless. Microsoft are easily the world leader in the invention of new software development platforms that provoke huge investment in time and work by millions of developers, and which are then discarded after 2-4 years. Sun produced a couple of versions of Java. IBM... some C++ platforms, and then websphere. Oracle? OK, a bunch of platforms but mainly just Developer and Designer, over about 10 years, and pretty backwards compatible.

      Microsoft? Dozens, maybe as many as fifty huge platforms produced, promoted, sold, and then abandoned in the last ten years. Visual Basic. C++. Office. ASP. COM. .NET. SQLServer. Access... ad nauseam. And every single version of every platform incompatible with the last.

      OpenSource? I'm building my applications using Linux (standard POSIX), using MySQL (very standard SQL), gcc (standard ANSI C compiler), HTTP (standard protocol), HTML (standard UI language), and XML (you get the picture).

      My bashing is not mindless.

      --
      Ceci n'est pas une signature
    4. Re:Technology in infancy... by MagicBox · · Score: 2, Insightful

      Do we really need more technologies in their infancy?
      Everything has a beginning. Second, yes we do need new technologies. The day we stop innovating and inventing we've become no more intelligent than the rest of the species on this planet. Mind as well we should start walking backwards.

      Is it not one of the biggest problem in this industry that we keep inventing new ways of doing the same stuff, throwing out entire generations of products and developers each time?
      I would disagree. It is not the biggest problem in this industry. It's only a problem, like many other problems. Problems like using old ways still to do new stuff, or not comming up fast enough with new ways to do old and new stuff.

      We need ways to make existing good code last longer, not new frameworks to waste time on.
      So we should have stopped at Linux Kernel version 0.X or Windows 95 then? We are already doing that. We are still using code from 2 decades and more ago. Actually that is part of the problem, we're using too much of the *good* old code.

      But... sigh... I don't expect that kind of attitude from Microsoft. One more reason to avoid such platforms like the pest.
      and what does *such platforms mean*? No hard feelings bud, but you're ranting.
      I think we need more innovation and new ways of doing new things, things that old ways cannot handle or were never supposed to handle. New frameworks, faster, more secure, more compact and with longevity in mind are needed. Everyone else is doing it. Why should MS be an exception? I have no sympathy for greedy ([people],[companies]...etc) but I do recognize their offorts nevertheless. The good news as I always say is that now you have a CHOICE. You can avoid MS if you like and go with a different platform and never have to look back, but you have to cut them some slack for comming up with new and (recently) pretty good products. Please do not flame me. I'm just trying to look at it from a neutral prespective for once.

      --

      The phaomnneil pweor of the hmuan mnid. Fcuknig amzanig eh!
    5. Re:Technology in infancy... by heironymouscoward · · Score: 1

      Indeed.

      --
      Ceci n'est pas une signature
    6. Re:Technology in infancy... by Aviancer · · Score: 1
      Do we really need more technologies in their infancy?

      Yes. It keeps geeks like myself employed.

    7. Re:Technology in infancy... by D4MO · · Score: 1

      But PDA's are in their infancy. And that's what the compact framework is for. People are driving the market for smaller and more powerfull handheld type devices. The software is just following...

      Regarding the rest of the bashing, you are being mindless. How can you compare the last 10 years of sw development in 3-4 sentences? (Not worth a shoe.)

      --

      Rocket science is easy. Neurosurgery, now *that's* difficult.
    8. Re:Technology in infancy... by GoofyBoy · · Score: 1, Insightful

      No really this is mindless bashing.

      >Visual Basic. C++.

      Two languages which are incompatible as with any company. How many langauges has IBM pushed? And the end product are insanely compatable since you can create DLL/COM/ActiveX objects and work with each other.

      How many OpenSource FORTRAN, LISP, PROLOG, Perl compiler/translator projects out there? How much better compatiblity do they have with each other?

      >Office.

      Their SINGLE office suite for the past 10 years. What makes you think that they are going to abandon this?

      > ASP. COM. .NET.

      These are compatible, there are lots of examples of the working together. Its still a single vision.

      What about J2EE, Perl, CGI and other languages? How are these have better compatibility?

      >SQLServer. Access.

      These two are insanely compatable. And do you really think that MS is going to abandon either one soon?

      >And every single version of every platform incompatible with the last.

      Even ignoring the fact that you are choosing totally different software products, exactly how are they incompatible? MS goes through hoops to get them to work together.

      --
      The surprise isn't how often we make bad choices; the surprise is how seldom they defeat us.
    9. Re:Technology in infancy... by CAIMLAS · · Score: 2, Insightful

      I'm sure I'll be modded down for 'flaming' for this, but it needs to be said, despite my love for open software.

      Do you really think that the attitude of replacing old frameworks is exclusive to MS, who does it for financial gain? No. Open source communities are -constantly- reinventing the wheel - look at all the open source projects out there just for word processing; don't you think they could share a little bit more of a common codebase, say, for the inport/export of 3rd party file formats? That would make sense: everyone would benefit from more coverage, and some people could use a very lightweight word processor (because that's what they need, and they don't want the bloat, or their system simply can't run the heavier OO.org, etc. etc.).

      Granted, improvement needs to be done, but there are way too many efforts to retool the wheel. GUI toolkits are another good (bad?) example of this: why not simply have a single, colaborative framework for the things like AA, font rendering, 3D accel, etc., and maybe even the application hooks, and then simply have the individual toolkits impliment an abstraction layer so that someone can use (say) Konqueror using GTK if they want to, or Evolution using QT, instead of wasting all the overhead on both TKs?

      --
      ~/ssh slashdot.org ssh: connect to host slashdot.org port 22: too many beers
    10. Re:Technology in infancy... by Ed+Avis · · Score: 2, Insightful
      OpenSource? I'm building my applications using Linux (standard POSIX), using MySQL (very standard SQL)
      MySQL may be a useful program for many applications, but it certainly isn't 'very standard SQL'.
      --
      -- Ed Avis ed@membled.com
    11. Re:Technology in infancy... by heironymouscoward · · Score: 1

      Why, there's a list of almost 20 "gotchas" with MySQL?

      Almost 20??

      The SQL in my applications runs unaltered with MySQL. Now, perhaps I'm just not the kind of person who tries things like "INSERT INTO... SELECT FROM". Yeah, I should do more of those things.

      To take a counter example, in an Oracle database, it is not even possible to get good performance on large tables without resorting to non-standard extensions such as hints. (Disclaimer: it's been a while since I Oracled, this may have been improved.)

      --
      Ceci n'est pas une signature
    12. Re:Technology in infancy... by Ed+Avis · · Score: 1

      I think most of the gotchas are related to data integrity and things like declaring a foreign key constraint which is then ignored under some circumstances, or columns which get assigned values you didn't explicitly ask for. A particular app may run fine, but when you ask the database to enforce something like a foreign key constraint, the value of that is that the database makes sure it will always hold no matter what. If you can't trust the system not to do random things with your data (and the gotchas list seems to suggest you cannot), then the foreign key checking (part of ANSI SQL) becomes almost worthless.

      (FWIW, I do 'insert into ... select x, y from ...' all the time. I'm sure your app is fine, but that's because it is using only a subset of standard SQL. You can't pick a particular example, say 'it works for me', and use that to conclude the problems are not serious. If that were true we'd have to class MS VC++ 6 as a standards-compliant C++ compiler or Netscape 3.0 as a web browser that supports CSS.)

      --
      -- Ed Avis ed@membled.com
    13. Re:Technology in infancy... by heironymouscoward · · Score: 1

      You can't pick a particular example, say 'it works for me', and use that to conclude the problems are not serious. If that were true we'd have to class MS VC++ 6 as a standards-compliant C++ compiler or Netscape 3.0 as a web browser that supports CSS.I

      Mumble grumble. You're right. Moderators, help unleash the hounds of hell on my humble head.

      --
      Ceci n'est pas une signature
  12. Somebody please port MySql :) by Mean_Nishka · · Score: 3, Interesting
    I'm so desperate to see a Mysql port to Windows CE.. I've been running this along with PHP/Apache on my Sharp Zaurus and that platform proves it's possible to do this stuff with open source software and 206mhz Strongarms.

    While I haven't been interested in shelling out the $$$ for Microsoft's server product (getting data back to the desktop database is important to me) I can say that I haven't found any database solution that operates as quickly as MySql on a PDA.

    My Zaurus is running as a full fledged server and its rock solid. Even the desktop ODBC connector is able to pull data into my windows apps at a surprisingly fast rate of speed. In a word it's simply awesome. I just wish my PHP skills were better.

    For the mortals Microsoft offers an Access compatible format (pocketAccess) that's horribly limited and slow. There are some great PocketPC database apps that are crippled by this horrific database solution that could be killer apps with a free backend.

    1. Re:Somebody please port MySql :) by NullProg · · Score: 2, Informative

      Try this instead:

      http://www.sqlite.org/

      Enjoy,

      --
      It's just the normal noises in here.
    2. Re:Somebody please port MySql :) by the+uNF+cola · · Score: 1

      Some one please don't. It's in a half stage of trying to be big while not being small. It has a lot of flaws in it that don't make it a large RDBMS. PostgreSQL comes a lot closer, but there are a lot of larger databases that can pound both of them out for reliability and overall performance.

      Please don't post that link about mysql's supposed better performance. It likes to choke after dealing with much MUCH larger sets of data. But I digress.

      I'd imagine something MUCH smaller, like mini sql or SQLLite as someone else pointed out.

      A better language, may be one that compiles or at least turns into byte code. Perl+parrot, c, c++, java mayyybe if the vm is small. Because these devices are limited in speed and memory, extra overhead is bad. If a VM can stay in memory and run the programs as they come w/o a combilation process, the better. Imagine if a project like Eclipse was written in php-gtk. It'd be a resource-bear and slower than it is on some machines.

      --

      --
      "I'm not bright. Big words confuse me. But Wanda loves me and that should be enough for you." - Cosmo

    3. Re:Somebody please port MySql :) by RevAaron · · Score: 1

      As a longtime user of PDAs, Newton, WinCE and Zaurus, I feel I can safely say for most apps, MySQL is pretty sucky on the Z. It wastes precious resources on the Zaurus- especially precious considering how much the setup- Linux+Qtopia- eats up as it is. Far worse than CE.

      I can't say I've used this particular MS SQL for CE product- but I have used the built-in database, which allows happy queries. As well as SQLlite on the Zaurus. Both seemed a lot faster and provided more enjoyable solutions for me, the developer, than MySQL running on a PDA did. In the case of both SQLlite and the built-in CE db I wrote some scripts to do synching over the network with the server running on my desktop, but it wasn't much work, and the drop in resources wasted between this solution and running MySQL more than made up for it.

      If you want a MySQL port to CE, you could try it yourself. See Rainer's ported software, along with tips and a compat library for porting Unix/Linux apps to CE. Because of his library and what it has meant for the CE community, I use a CE palmtop instead of the C760- for me, there are a ton more useful, well-adapted Unix ports for CE than there are for the Zaurus. Granted, I'm a traditional man- I want the classics like LaTeX, emacs, and the like. I could build any artbitrary linux package for my Z pretty darn quick, but would have to put a ton of energy writing an interface that didn't blow. Which most OSS devs for the Z really don't do- they just hand you a CLI app and say "see! you can run N on the Z! oooh!"

      --

      Working toward a usable PDA environment in the spirit of Newton OS: Dynapad
  13. Re:Seems really odd by Anonymous Coward · · Score: 0

    Ummm, MySQL or Postgres on a handheld? Seems a bit overkill. I'm still holding out for Oracle 10i Compact Edtion, aka Oracle/iCE. As long as it has SQL*Plus, quite possibly the most robust command line SQL tool ever made, I'll be happy!

  14. Re:Seems really odd by TedCheshireAcad · · Score: 2, Funny

    Well if all the information is in RAM then think of how fast transaction time will be with no disk reads, then realize the power of SQL server on a PDA.

  15. Re:CE??? by grub · · Score: 2, Insightful


    How's stupid enough to run their database server on Windows CE anyway?

    Don't think this is a huge focus for Microsoft, they're practising their tried and true method of "throw enough shit against the wall and some of it will stick" marketting. Assuming this product gets a decent foothold then you'll see them really push it.

    --
    Trolling is a art,
  16. Features by scumbucket · · Score: 0

    Does SQL Server CE support items like stored procedures and triggers? Not much good if it does not.

    --
    CMDRTACO CHECK YOUR EMAIL!
  17. ..if you leave the front door open... by burgburgburg · · Score: 2, Funny
    let's face it, no matter how well you write your app, it won't be secure if you leave the front door open.

    It will be secure if you leave the front door open, but have a tiger pit cleverly disguised just inside the doorway.

    Thieves tend to go to the path of least resistance, and unless they see one of their criminal compatriots plummeting into the tiger pit, or hear the horrible screams that follow, this is their most likely point of attack.

    Or was that just a metaphor?

    1. Re:..if you leave the front door open... by goldspider · · Score: 1
      "Or was that just a metaphor?"

      Not at all, friend! But I prefer the moat surrounding my home webserver filled with ill-tempered sea bass (with frickin' lasers!).

      --
      "Ask not what your country can do for you." --John F. Kennedy
  18. free and high quality alternative by e4liberty · · Score: 4, Interesting

    The very high quality embeddable SQLite database has several ports to .NET -- see the web site.

    1. Re:free and high quality alternative by Anonymous Coward · · Score: 0

      But without the bloat, Intel wouldn't be able to sell processors, and Microsoft wouldn't get their Microsoft tax.

      By the way, I agree, SQLite is great!

    2. Re:free and high quality alternative by Anonymous Coward · · Score: 0

      How is that an alternative to this REVIEW?
      Somebody mod this down as Off-Topic...

    3. Re:free and high quality alternative by RevAaron · · Score: 1

      Where is the download for CE? Or a port to the .NET CF? .NET != Compact .NET ; just like KDE !- Qtopia and PersonalJava 1.2 != J2EE 1.4.

      --

      Working toward a usable PDA environment in the spirit of Newton OS: Dynapad
  19. Comment removed by account_deleted · · Score: 2, Informative

    Comment removed based on user account deletion

  20. Re:Seems really odd by Anonymous Coward · · Score: 0

    If you have a database with 32 MB of data then you don't really need SQL server to make use of it.

  21. So let me see if I get this straight... by Dr.+Bent · · Score: 2, Insightful

    After all, unless you are simply playing games on the PDA, it probably needs to interact with a database somewhere and I can assure you, just about every common task that you may encounter is discussed in depth. The show you how to bind controls to data, retrieve it from a Web Service, retrieve it from a SQL Server on a local network, use SQL CE to take advantage of replication and using XML as a Data Access technology.

    So, if I'm reading this right, the way this is supposed to work is:

    1) You bind your GUI controls to a SQL server database using the SQL CE library installed on your PDA.

    2) When a GUI control needs to update the data, or refresh it's view of the data, it performs a query using SQL CE.

    3) SQL CE then transforms that request into an XML document, sends it over a (presumably) wireless network connection, to SQL Server.

    4) SQL Server then processes the request, generates an XML response, and then the whole thing runs in reverse until the response gets back to the control, which can then update itself with the new information.

    Is this really the way this thing is supposed to work? Please somebody tell me that I'm reading this wrong.

    SQL statements are great when you're trying to optimize for query efficency, but they're awful when you're trying to optimize for network latency/bandwidth. This is because SQL is based on the idea that you perform operations over a persistant connection, because establishing that connection and performing the query is usually the bottleneck.

    But any wireless developer will tell you that latency/bandwidth is the major bottleneck in a mobile application. When you're sending data over CDMA/GSM networks, the best data rate you can hope for is 192kbps, and forget about low latency. This means you have to package your requests in a big bundle and do them all at once. Which means you need something a little more coarse-grained than SQL.

    I suppose if you assume that your application will always have 802.11 access, this could be a good model. But otherwise you're going to be waiting 5-10 seconds every time you click a button, change a setting, or scroll down through a list. Which means nobody is going to actually use your application because it's a grand waste of time.

    1. Re:So let me see if I get this straight... by skubalon · · Score: 3, Informative

      You may not be reading this wrong, but it is wrong nonetheless.

      SQL CE data resides on the Pocket PC, however it can be replicated to a grown up SQL server as needed, and provided proper connectivity.

      A typical use of this technology is a driver in the field. They get their data replicated down from the SQL Server, then they head off for a day off deliveries. Transaction are then done by the driver on the SQL CE side. He/she brings it back to the loading dock at the end of the day and replicates his/her transactions back to the SQL server. I know that Nabisco is currently doing exactly that.

    2. Re:So let me see if I get this straight... by nberardi · · Score: 0

      I don't think you understand the SQL CE database is right on the handheld it self. There is no transmitting to a server. This was done for the reason to cut down on propriatary data storage formats on the handheld. You just have to interact with the database.

      I think that is the key point that is giving you trouble.

    3. Re:So let me see if I get this straight... by RevAaron · · Score: 1

      No, you're reading it wrong. See how he mentions getting data from SQL Server on a "local network," and then use the SQL CE server from when you're away from said local network. You know, like when you're out of the office, away from the office LAN or wifi network. You use the built-in server for the time you're away- the latency and bandwith issues are moot. You come back to work the next day with the new data you collected and new data from the mothership- you sync and that's that.

      It's not a new approach- it's been used and proven for years. I use it, though not with MS SQL/SQL CE.

      --

      Working toward a usable PDA environment in the spirit of Newton OS: Dynapad
    4. Re:So let me see if I get this straight... by donutello · · Score: 1

      SQL statements are great when you're trying to optimize for query efficency, but they're awful when you're trying to optimize for network latency/bandwidth. This is because SQL is based on the idea that you perform operations over a persistant connection, because establishing that connection and performing the query is usually the bottleneck.

      Assuming the steps you stated above are correct and the data itself resides on a server and not the PDA, I don't really see the problem. In the infrastructure you described, the only things being sent over the network are:
      1. The query - arguably the query itself is unlikely to be large enough to cause any network issues.
      2. The result set - assuming the appropriate compression and representation is used, if your data resides on a server you have to expect a network hit of the size of the result set at least - you should be writing your query correctly to return the minimum size of result set needed by the application.

      --
      Mmmm.. Donuts
    5. Re:So let me see if I get this straight... by mullahbill · · Score: 1

      No, that wasn't my point at all. There are multiple ways you can access data, you can use some or none of what I mentioned, or all of them. One very common scenario though is to pull data from a Web Service, use the data locally, and if you can send it back when you need to, great. If you don't have connectivity, you will probably want to persist it somehow, XML is a great mechanism. You may not want to use a Web Service at all. You may only want to use SQL CE so that they code that's being used for data access on the desktop or web will work on a PDA. But I guess I was unclear. The steps you mention aren't all necessary to access and manipulate your data....

  22. what a waste by outcast36 · · Score: 0

    I've used the .NET CF for a project, and let me tell you, the last thing we wanted to do was add a mini SQL server to our application.

    If your handheld app isn't doing heavy lifting, why not a web service? Send the records you need on the fly.

    That's a lot easier than going through the rigamraole of synching your MSSQL Lite to a real sql server, and it doesn't expose your SQL server port (which might be a big deal if you don't trust MS patches to work correctly the first time. :0

  23. I recently clustered 26 SQL CEs by Anonymous Coward · · Score: 2, Insightful

    to store the english alphabet.
    Performance was good unless you wanted the results sorted :)

    1. Re:I recently clustered 26 SQL CEs by Anonymous Coward · · Score: 0

      For God's sake,
      Stop modding this up as Insightful you dreamy-eyed geeks, it was a joke !!!
      Doesn't :) mean anything here?

    2. Re:I recently clustered 26 SQL CEs by Matt2k · · Score: 1

      Duh, it's not FUNNY until it's modded insightful. Sheesh.

  24. Important for Robust Applications by randall_burns · · Score: 1
    When I was working on a mission critical application for an insurance company, the customer wanted applications that would enable folks to continue to handle essential business functions even if their network or database servers were down. The network connections to CE type devices are largely wireless-and you just can't assume they'll always be available. In that situation, having a database that will cache important items locally in a way they can be actually used is quite valuable and allows you to update the central database as it is available which means the users have a sense their application is highly robust and available.


    I've seen some alternatives to the Microsoft approach. One involved a database that was written in Javascript-so the database code and the data itself were both stored in the browser cache.

  25. Why is this a bad thing? by MBoffin · · Score: 2, Insightful

    So far many of the comments seem to be along the lines of, "SQL Server for a PDA?! WHY?!" Well, why not? Think about where PDA's could be headed. Why not have the PDA be the server for your Personal Area Network?

    PDA's these days are getting more and more powerful. They're already as powerful as what was on the desktop less than a decade ago, and they're catching up fast. It's not unreal that in 5 years we'll have PDA's capable of running Half Life 2 and Doom 3. I mean, today's PDA's can already run Quake 1 and 2.

    So back to SQL Server. Why is it bad that they are developing a version of SQL Server running for this kind of platform? It seems the perfect starting point for some really powerful mobile apps.

    1. Re:Why is this a bad thing? by AmazingRuss · · Score: 1

      Can you describe one of these "really powerful mobile apps" that require a SQL server on a PDA?

    2. Re:Why is this a bad thing? by RevAaron · · Score: 2, Interesting

      Because people are pigheaded. Ignorant. etc.

      A PDA should be using a database as it's central store as it is. CE already includes a database system, though the SQL CE has more features. The NewtonOS and PalmOS both do very well by having a database at their core. I don't care if it's a sql-based relational or object database, it just makes more sense.

      The PDA is a chance to start over. With different OSes and CPU archs, compatibility isn't a big deal as it is on the desktop, where it has held back development for years. A chance to do it from the start again, and do it right.

      Something seems off in the world when MS is pushing relatively innovative ideas (database file system, .NET) and the OSS world is what is stuck in some sad desire for psychological backwards compatibility. After years of making fun of MS for doing it, so many Zaurus and Linux PDA developers are content to be guilty of the same crime. That said, at least OpenZaurus has the balls to be going with sqllite for data storage, though they've made no huge push toward it.

      Flat files are so 1950s.

      --

      Working toward a usable PDA environment in the spirit of Newton OS: Dynapad
    3. Re:Why is this a bad thing? by MBoffin · · Score: 1

      Name a really powerful desktop app that requires SQL Server and then imagine taking it with you when you leave your desk.

  26. Oh no! by aiken_d · · Score: 2, Funny

    Compact Framework is a cool technology

    He's a witch! Burn him!

    Cheers
    -b

    --
    If I wanted a sig I would have filled in that stupid box.
  27. pipe dreams by Anonymous Coward · · Score: 1, Interesting
    Anyone that works with wireless apps will tell you, dream on. Not because it's not feasible to sync with a remote server, hardware limitations of devices or that .NET is good/bad. The reason is wireless service sucks and transferring large amounts of data blows. By blows I mean data more than 2-4kilobytes won't transmit fully and will most likely get corrupted.

    There are already wireless devices for field force applications, which have a database on the device. And guess what, they don't use Sql server. All of the ones I know of are custom database written with assembly to make sure the thing is fast, efficient and takes the least amount of memory. Until wireless service becomes dramatically more reliable, real-time sync between a server and a wireless device is a pipe dream.

  28. Change and the price of change by heironymouscoward · · Score: 1

    We agree that progress is good. No-one regrets the passing of days when we hand-coded interface languages because XML had not been invented.

    But you make the mistake of many people, namely to assume that change is equal to progress.

    Change is only part of the cycle. The other part of the cycle is the refinement of techniques and maturation of knowledge that lets you exploit change to the fullest.

    Imagine if every three years we had to discard languages like HTML and XML and start with new, incompatible concepts. The market would never get into a state where mature concepts could be built: it takes 2-3 years at the least before businesses understand and trust technical platforms well enough to use them effectively.

    Yet this is the basic premise of Microsoft's marketing strategy: saturate the market with new development platforms, capture the pioneer developers and keep the customer base forever unstable and tottering in Microsoft's direction.

    Agreed that many vendors try this: "if you're going to base your business critical application on an untested platform, at least use ours". But Microsoft's scale and marketing push make it a much more serious issue.

    Change is not progress. Change mixed with periods of maturation can be progress.

    --
    Ceci n'est pas une signature
    1. Re:Change and the price of change by MagicBox · · Score: 2, Insightful

      We agree that progress is good. No-one regrets the passing of days when we hand-coded interface languages because XML had not been invented.
      Part of my point.

      But you make the mistake of many people, namely to assume that change is equal to progress.
      Change in itself can be tied to progress. Changes can happen based on progress, especially when it comes to new technologies (in their infancy) like the internet. The invention of HTML (the most simplistic example) lead to the first sharing of information on the WEB. That first Web page *changed* the way we share information forever. Is information sharing new? Of course not. Is the way we share it new? Yes it is. That is advancement, it's progress. Now html is already being called *old*. So my point is change and progress go hand in hand. In many cases, that can be like the chicken or the egg story, but one thing is for sure, there is constan change and progress happening.

      Change is only part of the cycle. The other part of the cycle is the refinement of techniques and maturation of knowledge that lets you exploit change to the fullest.
      It all depends what type of change we're talking about. Some changes happen as a direct result of us *creating*, advancing, inventing.

      Imagine if every three years we had to discard languages like HTML and XML and start with new, incompatible concepts. The market would never get into a state where mature concepts could be built: it takes 2-3 years at the least before businesses understand and trust technical platforms well enough to use them effectively.
      I agree. But we are not doing that. HTML is still around, UNIX is still around, so is Windows 3.1. So after all we're not changing things that much. You are not being *forced* to adopt all these new technologies, but you do have the option, and in time you'll migrate to them. That's why there's always a strong emphasis in *backward compatibility*. I know this is a lame example, but I have an *old school geek* friend that develops Access Applications. If you look at his code the syntax is still completely in Access VBA 2.0. (now we're at Access 11 VBA 7??) I think he's affraid of change. When I mention OLE, or ADO to him he get scared to death. he won't touch them. He says they are *new* unproven technologies, and that ODBC and DAO are good enough. I do agree and strongly disagree at the same time

      Yet this is the basic premise of Microsoft's marketing strategy: saturate the market with new development platforms, capture the pioneer developers and keep the customer base forever unstable and tottering in Microsoft's direction.
      I couldn't comment on MSs marketing strategy, since I do not know it, but all I can say is that for me as a developer what MSs marketing says means nothing. I think marketing new things to geeks is the most difficult thing on the planet. You have to go to great lengths to convince me to be a convert, early adopter or what have you. I think the customer has the ultimate power, especially at times like these. MS cannot keep a customer *tied up* to their platform anymore. They are (actually) trying hard to keep them by comming out with decent products, rather than relying solely in the marketing and monopoly positions.

      Agreed that many vendors try this: "if you're going to base your business critical application on an untested platform, at least use ours". But Microsoft's scale and marketing push make it a much more serious issue.
      I don't know what to say here. They do have the money, so a bigger then average marketing campaign for a new product from MS is unavoidable.

      Change is not progress. Change mixed with periods of maturation can be progress.
      I hear you completely. However I think Change and Progress are two different things, tied together, and happen in no particular order.

      --

      The phaomnneil pweor of the hmuan mnid. Fcuknig amzanig eh!
  29. PDA are in their infancy... by heironymouscoward · · Score: 1

    And yet they are as powerful as computers 10 years ago. What is the problem? Basic operating system, simple database, tight, efficient programming language... all these things exist and do not require more new platforms.

    I do not accept that the resolution of the screen or the size of the device requires a new development platform (especially at the database level).

    --
    Ceci n'est pas une signature
    1. Re:PDA are in their infancy... by RevAaron · · Score: 1

      I don't know about you, but there is no way I'm going to be running what your average DOS PC was running 10 years ago on my PDA, in the area of OS, networking/web or databases. Sorry.

      SQL is nothing new. What is so scary about having an embedded SQL server for CE, Linux, etc? There are number of them, it's not like MS thought of it.

      We could go back to running DOS database apps. Paradox! dBase! YAY! Knock your socks off, do as ye will- but I want a more modern platform, with a more modern API and language setup.

      --

      Working toward a usable PDA environment in the spirit of Newton OS: Dynapad
  30. FUD by GeckoX · · Score: 2, Insightful

    Microsoft? Dozens, maybe as many as fifty huge platforms produced, promoted, sold, and then abandoned in the last ten years. Visual Basic. C++. Office. ASP. COM. .NET. SQLServer. Access... ad nauseam. And every single version of every platform incompatible with the last.


    This is pure and simple FUD.
    Not ONE of these technologies listed is obsolete or not used any more.

    Bash MS all you want, when you can back it up.
    When you bash MS and don't back it up, it kinda null and voids all of your other arguments.
    --
    No Comment.
  31. it has to be said by Anonymous Coward · · Score: 0

    you know what? maybe is he a moron, but at least he has the nerve not to post anonymously.. but you YOU ARE TEH TRUE GHAY.. go suck the dick of your master bill gates motherfucker!

  32. Re:Seems really odd by Kenja · · Score: 2, Informative

    This is not like a simple recompile of the beast that is MS SQL server. It is a new product designed for PDAs. However, it still seems rather silly.

    --

    "Have you ever thought about just turning off the TV, sitting down with your kids, and hitting them?"
  33. Let's see... by ceeam · · Score: 1

    .NET.
    Compact.

    (pause)

    Bwahahahahaha!!!!! BWAHAHAHA!!!

  34. Re:CE??? by CrazyTalk · · Score: 1

    There are many, many types of mobile applications that require a small local database. For example, UPS drivers might have a handheld computer with a database of delivery orders. These are usually synced with with the "main" database server at some point. There are other choices, but if you are working with the .NET compact framework Microsoft provides additional tools for working with and synching SQL Server

  35. Moderators? by BigGerman · · Score: 1

    This is "informative"?
    "uncle's brother's neice's sister"?
    Are we witnessing the birth of another /. cliche joke?

    1. Re:Moderators? by Ignominious+Cow+Herd · · Score: 1

      Sounds like a quote from the 2nd Conan movie.

      --
      Lump lingered last in line for brains, and the ones she got were sorta rotten and insane.
  36. Re:A Night At Haxalots by Anonymous Coward · · Score: 0

    +1 Informative

  37. Why? by BaronAaron · · Score: 2, Interesting

    Build your application as a web app using ASP.NET/PHP or whatever. Use whatever SQL backend you want and have it run on a REAL server that is meant to do that work.

    On the PDA, throw a 802.11b card in when at the office and some sort of cellular card for when you are out and about. The only software you need on the PDA is a good web browser. Bandwidth is much less of a issue because all you are transfering back and forth is simple HTML.

    1. Re:Why? by Anonymous Coward · · Score: 0

      You are making the assumption that you are always connected. In practice this is rarely the case.

      Normally, you will want to sync between a large network database and a PDA "cache" database. When you're disconnected, you work off the local PDA database, then sync at a later (more convenient) date.

      This design is VERY prevalent in PDA app designs.

    2. Re:Why? by duffer_01 · · Score: 1

      Although that may work for some applications, for the vast majority of applications, this is unrealistic. Consider most solutions which include some sort of cellular (GSM, CDMA, etc) type modem. Every time a user needed to get data such as a product list. It would have to connect through the network, download that data and display it. What if there were 1000 products? Would you want to continuously download those rows every time you loaded the page or would you prefer to store them locally? Consider also the price associated with downloading all of those rows everytime you loaded the page. OK, I know you mentioned 802.11b which means it would be faster than cellular and cheaper to re-download data, but do you want a sales rep who can only download data when they are in a "hot spot"? My guess is there probably is not a "hot spot" at the customer site. Finally what happens if there is no connectivity available and you need to see your data. Would you not want a local database for that? Although I do not like SQL Server CE, I will give a plug to SQL Anywhere

  38. But bashing MS.net ... by Anonymous Coward · · Score: 0

    when you know what it is, is just fun and easy :o)

    For those who do not know, it is more or less a rip off of Java platform (only J2EE got not complete real equivalent on .net). For instance, .net CE is J2ME ;-)

    Sorry guy !

  39. Kidding right? by Grayputer · · Score: 2, Funny

    It took 10 chapters and 450 pages! Damn I can do it in 4 words: Do NOT do that. Yup, MSSQL a ten's of megabytes application, let's dumb it down and use it manage a few hundred megabytes of compact flash on a handheld or embedded device, yup that's a plan. I guess it's like the man said: when all you have is a hammer, everything looks like a nail. I guess Microsoft needs a bigger data management toolbox.

    1. Re:Kidding right? by sharkey · · Score: 1
      I guess it's like the man said: when all you have is a hammer, everything looks like a nail.

      Remember, this is Microsoft we're talking about. It should go, "When all you have is a hammer, everything looks like your thumb."

      --

      --
      "Outlook not so good." That magic 8-ball knows everything! I'll ask about Exchange Server next.
    2. Re:Kidding right? by mullahbill · · Score: 1

      There's a lot not to like about SQL CE. However, if you are getting paid to build apps on it, and the clients insist on it, not sure that "Do NOT do that" will be helpful. I don't think SQL CE is the best thing going by any means, but it is something that many people are paying folks to build. And depending on your lot in life, you may or may not be in a great position to turn down the kind of cash that CE devlopment provides.

    3. Re:Kidding right? by Anonymous Coward · · Score: 0

      SQL CE is 1MB.

  40. AAAAGGHH! My eyes!!! Make the bad man stop!!!! by Clover_Kicker · · Score: 1
    Free hint for the reviewer: this is not a high school assignment, there is no minimum word count.
    The other area that this book really excels in is getting you through replication. This is not a fun topic if you don't know what you are doing and there isn't a lot of literature out there to help you get through PUSH/PULL subscriptions and the like. Pragmatically speaking, of the topics this book covers, Tiffany's coverage of replication is probably going to benefit people the most, because if you can't sync your PDA with your server, you are effectively out of gas. If you aren't a Sql CE user you won't appreciate the value of this chapter, but love MS or hate them, the newsgroups and forums are filled with folks with the same sorts of problems that the author works diligently to get you through.
    How about:
    This book thoroughly discusses replication, a problematic and under-documented topic of great importance to PDA application developers.
    PS - Attn Cmdr Taco: you should allow the <STRIKE> tag so I can write funnier grammar flames.
    1. Re:AAAAGGHH! My eyes!!! Make the bad man stop!!!! by mullahbill · · Score: 1

      Well, after the flaming I took for dare reviewing another compact framework book and taking feedback from it, I decided to speak to a few issues in more detail. I do think it's relevant that the guy's book talks about stuff that people have a lot of trouble with. With that said, it's only my second review here, but with all of this feedback, I'll get better.

      Guess it just goes to show you can't make everyone happy.

  41. It's too bad by Anonymous Coward · · Score: 0

    MS SQL Server CE only synchronizes to SQL Server databases. To synchronize to the cheaper all-in-one tool, MS Access, you have to use a third party database and redesign everything except the tables.

    Once again Microsoft proves it's only interested in a higher margin tops-down approach instead of a bottoms-up approach where the individual worker can make a creative difference.

  42. This just seems ridiculous to me... by AmazingRuss · · Score: 3, Interesting

    ...why separate the database engine from the development tool on a palmtop, where efficiency is paramount? Do they expect people to use a palmtop as a db server or something?

    Something like Foxpro or Access, with integrated database support, would make a helluva lot more sense. The latest version of Foxpro for the PC has a smaller runtime than what they are cramming on there for SQL CE for chrissakes! It's fuggin silly. What gets IN to those people?

    10 years ago, I was putting the entire foxpro for dos development environment on 1 meg HP xxLX palmtops, and it worked really well. Full portability between desktop and palmtop, good performance, and good stability. Why have we taken such a giant step backwards that despite the hardware being 100 times better, we can no longer build decent software to run on it?

    Everything MS does anymore should be accompanied by clown music.

    I am truly starting to believe that MS is going to be a niche player like Apple in 10 years...an idea I would have laughed at a few years back. I don't LIKE this idea...it means I have to spend a lot of time retraining...but the writing is on the wall.

    1. Re:This just seems ridiculous to me... by Lord+Omlette · · Score: 1
      but the writing is on the wall.
      Just like that other operating system that's dying! BFG or something, it's so obscure I forget it's name.
      --
      [o]_O
  43. Yet another cool "technology" by Anonymous Coward · · Score: 0

    MS does it again. Take some stale code, throw it in the blender with a healthy handful of Marketing Krystals and, shazaam, another exciting "technology" is ready for astroturfing in the trade press!

    Does anybody ever bother to look at the durability of these reconstituted code products, or for that matter how many billions of hours are wasted every year by developers training up on silly, useless "technologies" dreamed up by marketing executives?

  44. Much better support for this type of thing on Palm by mysterious_mark · · Score: 1

    I've developed a couple of data driven apps on Palm OS that interact with backend databases using jdbc, I've used these with both Oracle and MySQL. The MS approach sounds rather heavy wieght, you can use Waba on the client side, and you can serialize the data which allows the data transactions to be very fast and efficient. XML seems a poor choice for the PDA environment being how it requires much nore band width and CPU cycles than Object serialization .NET seems to heavy and clunky for even the PC environment, much less the PDA environment. The M$ dumbed down heavy weight solution seems a poor choice for devices with limited resources. Of course you can compile Waba - Java jdbc apps for CE, so why one would use a proprietary solution, seems lees than obviuos. Just a rant, but as a PDA developer it really doesn't make sense to use a proprietary solution that only runs on CE which has less than a 20% market share for PDAs anyway. MM

  45. Just one example by heironymouscoward · · Score: 1

    A friend of mine wrote an application in VB, some years ago, on Windows 3.1.

    A nice application, complex and sophisticated. It used numerous components (VBXs) and he spent about 4 months solid working on it.

    He sold this for a year or so, then VB4 came out. He started on an upgrade, found that several of his VBX vendors had vanished, stayed with the old code.

    Then VB5 came out. Completely incompatible.

    He stopped maintaining the product, and swore to never use Microsoft's tool again.

    Now: it may have the same name (VB) but it is at least 3 totally incompatible products. No real application written for an old version of VB can run on a new one.

    It's not a small problem, but it's one easily ignored.

    MS goes through hoops to get them to work together.

    Oh, yes, indeed. But wait two years and then see where your hoops have you. Compatability is not only between different products, it is also (and this was the point of my original comment) with future versions of the same products.

    But I suspect your views are bought and paid for, eh? No point in this discussion.

    --
    Ceci n'est pas une signature
    1. Re:Just one example by GoofyBoy · · Score: 1

      >He started on an upgrade, found that several of his VBX vendors had vanished, stayed with the old code.

      Is that MS fault that the third party vendors had vanished?

      Oracle has tonnes of drivers that work with only one verion. Sun and IBM have lots of integrated products that they will only support a particular version combination. I ask you again, what is so special about MS?

      >it may have the same name (VB) but it is at least 3 totally incompatible products.

      You seriously need to get some first hand experience with VB.

      >No real application written for an old version of VB can run on a new one.

      You are basing this on ONE person's project many many years ago (win 3.1 era) and applying it to all versions?

      Suppose I did this with X11 from years ago? Or Linux early beta versions? Code breaks due to incompatiblities. Again, how is this a MS thing?

      >But I suspect your views are bought and paid for, eh? No point in this discussion.

      Yes, everyone who disagrees with you is bought by MS.
      Grocery clerk: bought by MS.
      Bus driver: bought by MS.
      That person you passed by this morning: not only bought by MS but has his pet dog held as a hostage personnally by Bill Gates.

      How come you still have not directly answered any of the questions about non-MS products which display the exact same characteristics that makes MS products bad?

      --
      The surprise isn't how often we make bad choices; the surprise is how seldom they defeat us.
  46. The difference is the motive by heironymouscoward · · Score: 1

    No-one minds upgrading to a new platform when there is a crying need for it.

    No-one should pay to upgrade to a new platform because the vendor decides it's timely.

    Every responsible OO project starts by defining standards that will last years, decades (look at OOorg's document formats). Every responsible OO project sweats blood and tears to ensure that new releases are compatible with old ones.

    How many versions of PHP have been incompatible with previous ones?

    How many versions of Perl? Of Apache?

    Now think back to the history of one single Microsoft product, VisualBasic, and see how many different incompatible versions there were...

    --
    Ceci n'est pas une signature
  47. Name Conflit by damiena · · Score: 1

    Now, wait. I'm confused...

    You are talking about the browser, right?

  48. speedy and compact by TimButterfield · · Score: 1

    Perhaps someone can port Softfocus' BTree/ISAM to CE. Now, that was a small, fast way to handle data.

  49. SQL Anywhere is another choice for CE database by Anonymous Coward · · Score: 0

    There have been several comments that SQL Server CE is NOT the same as the desktop or server version. I have been using SQL Anywhere for some time and I have found it quite good. There are a couple of cool things for CE developers. Database files are binary compatible with other platforms. I can simply copy my database file from Linux down to the CE device, and it just works. The other cool thing is that the CE database software is really a server. I connect to it from my linux box over IP.

  50. Re:Seems really odd by InSpiteOf · · Score: 1
    I am a software developer for a mobile computing solution provider. We have used SQLServer CE extensively since version 1.0. While it can be extremely slow, somethings you just can't do with the engine. We revert to customised hashtable and binary files to get real grunt in our applications.

    However what I have noticed is that since SQLServerCE supports such a vast majority of the interfaces in the OleDB specification, (in someways it is more conformant than SQLServer 2000) I suspect that the engine is derived from the MS Access codebase. While it is just speculation, they either wrote it from scratch or based it on an early MS Access version.

  51. WOW by BillsPetMonkey · · Score: 1

    Isn't it amazing how seriously slashot readers really don't take .NET?

    60 posts talking about a Microsoft fledgling technology here says so much more than 300 slashbots flaming each other on the other "Microsoft's New Core OS Team Learning from Linux" thread.

    Microsoft is a smart company. No really, they must be. If you have shed loads of money, you can pay lots of smart people enough money to make them work hard enough to roll out products which will do something "acceptably well" at worst, "reasonably well" at best. That can't be denied because of the number of users Microsoft has. Yes, there's smart people who use Microsoft technology too.

    Microsoft has recognised our strengths so I think it's time to acknowledge what Microsoft does well. The opening flames on the Server CE technology could be turned another way - isn't the MSSQL Server code ripe for an overhaul like someone going at it like a hatchet to make it run on embedded/compact devices?

    The zealots don't do us any good. It slows Linux adoption and makes us look like nutters. And there are quite a few smart Linux people who like .NET as well.

    --
    "It's not your information. It's information about you" - John Ford, Vice President, Equifax
  52. Re:CE??? by Sqwubbsy · · Score: 1

    they're practising their tried and true method of "throw enough shit against the wall and some of it will stick"

    Like the fucking tablet PC.
    What a joke.

  53. One that fits in 128 meg? by AmazingRuss · · Score: 1

    I just can't quite adapt to the idea of putting the client and the server on the same machine. What is the benefit of separation?

  54. Where did all these uninformed idiots come from? by Anonymous Coward · · Score: 0

    No, SQL Server CE isn't the same as running the big SQL Server 2000 product on your iPAQ. It's a completely different product that takes only 1 MB of RAM to work. The Compact Framework only takes another 1.5 MB of RAM. Stop spreading misinformation by telling people this stuff takes 8 MB of RAM to run. Believe me, I've done PersonalJava/Personal Profile development on a handheld with an all-Java database that performed horribly and took over 15 MB of memory to run. Microsoft has created the state of the art runtime for Pocket PCs and Smartphones that blows away J2ME or Brew.

  55. constructive criticism by Clover_Kicker · · Score: 1

    Hi, dude.

    I'm not trying to discourage you from writing reviews. I can tell you enjoyed this book, but your writing style distracts from your message. Please omit phrases that take up space without adding meaning.

    Enough about the background, though.
    the text was well written [...] and easy to read
    Do you work for the Department of Redundancy Department?
    This is not a fun topic if you don't know what you are doing
    How many times did you say "let's face it" in this article? Once is too many.

    Here's an excerpt from the Economist Style Guide:

    Some words add nothing but length to your prose. Use adjectives to make your meaning more precise and be cautious of those you find yourself using to make it more emphatic.
    [...]
    Industrial action is usually industrial inaction, industrial disruption or a strike. A courtesy call is generally a sales offer or an uninvited visit. A substantially finished bridge is an unfinished bridge. Someone with high name-recognition is well known. Something with reliability problems probably does not work.
    Here's another grammar flame, you might find the links of value.

    PS - good luck with your writing.

    1. Re:constructive criticism by mullahbill · · Score: 1

      I see your point and appreciate your feedback. I'll see if I can do a little better next time.

  56. Re:Much better support for this type of thing on P by Anonymous Coward · · Score: 0

    You're talking out of your ass regarding market share. Put the frying pan down and take a nap.

  57. more reviews by Anonymous Coward · · Score: 0

    Additional reviews for this book are at this site.