Sunday, March 29, 2009

Credit where credit's due

Many IT professionals have an unfortunate tendency to look down their noses at MS Access databases, and to treat the product and the applications running on it as being beneath their notice. This is a shortsighted and unhelpful point of view, however, as rightly or wrongly many, many businesses are using Access to help them get work done.

As IT experts, that should always be our primary focus, too - how do we help people get work done? - so it's pointless to merely dismiss Access as being beneath our interest.

I'd go even further: Access is a valuable and worthy addition to your toolkit, provided you make the most of its strengths and are aware of its limitations. A tractor will not do 120 km/h on the motorway, but that doesn't mean it's a bad tractor.

Access is still pretty well unequalled as a truly rapid RAD environment. If you need to prototype something quickly to illustrate to a customer how a feature might work, Access is the way to go. Reporting (as long as you're focussed on paper-based traditional reports and documents) are supremely easy and flexible, and form building couldn't be simpler. Time-consuming standard tasks like record navigation, search and filtering are built-in, and VBA allows for complex control-of-flow and object manipulation behind the scenes.

As a pure data store, Access is at it's weakest in my opinion, but by linking an Access front-end to a SQL Server/SQL Server Express database, rich and powerful functionality connects to secure, fast and reliable data stores and you get the best of both worlds. Intensive calculations and operations can be carried out on the backend while the user enjoys the rich user interface features of the Access front-end.

Since the run-time engine has become available, there's not even the limitation that the customer needs MS Office Professional installed to use your application. Package your application with a copy of the Access runtime and they're good to go at no additional cost to them or you. What's easier and cheaper than free?

Labels: ,

Friday, March 27, 2009

Who is the fairest of them all?

Database mirroring is a technique that's been supported by MS SQL Server since the first SQL 2005 service pack came out a few years ago, but I haven't had the chance to put it through it's paces until recently. Not everyone requires the sort of data protection that mirroring offers, and not everyone has the means to implement it, but an upcoming SQL 2000 to SQL 2005 production conversion meant that I got the chance to put it properly through it's paces for the first time.

What is mirroring? Simply put, it's a means of maintaining a live and continuously updated copy of a database on a separate server, at a separate location if needs be. In the event of a production server failure, it's possible to have the mirror take over seamlessly so that application users don't even notice that the database server has failed or is inaccessible. This depends on how it's configured, of course, and it's also possible to use it just to maintain a realtime physically separated copy of the database for disaster situations.

This is the theory, anyway, and I was curious about the situation in practice. My client is currently using SQL Server log shipping for an extra layer of data availability, but we're never been too charmed by the technique. It's relatively painful to set up and maintain, expensive (because it requires SQL Server 2000 Enterprise Edition instead of the Standard Edition) and never quite up-to-date as it relies on restoring log backups from the production server. If this server disappears suddenly, all data changes since the last log backup can disappear with it.

So, is mirroring any improvement? The answer is YES, it's a huge improvement, in fact. Setup is straightforward, maintenance is easy, switching between servers is easy, it doesn't interfere with any other processes and, most importantly, it works and appears to be highly robust. I've tried my best to break it this week with no success, so I'm pretty impressed. It's definitely worth considering for your high-availability data solution.

Labels: , ,

Friday, March 20, 2009

The price is right

You don’t get to be a world-dominating software juggernaut like Microsoft by just giving stuff away for free, so it’s little wonder that most of their most popular products are relatively expensive. Good value for money in most cases, but not cheap.

It’s fair to say, though, that there’s an astonishing amount of top-notch full-functioning software from Microsoft that’s available absolutely free. Microsoft themselves don’t always make a big song-and-dance about the fact, which is perfectly understandable – they’d rather you paid for full or professional versions of their products, but there are a number of tools and applications I’d like to draw your attention to. They’re all free, with no onerous licence restrictions and completely redistributable.

  • My absolute favourite is SQL Server Express. This is nothing less than a very-slightly-limited version of MS SQL Server Standard edition, as used by businesses the world over. It’s 100% compatible with all the paid editions and supports databases (in the SQL 2008 iteration) of up to 4GB in size. It comes with a management interface application and makes it possible to do almost everything (as a developer) that you can do in the Standard edition. If your database or the performance demands upon it grow to such an extent that the (paid) Standard edition does become necessary, then upgrading the database is as painless as restoring a backup. It’s a winner.

  • Second on the list is Visual Web Developer. This is a full-featured development environment for designing ASP.NET web sites and applications, and offers an identical experience to the (paid and relatively expensive) Visual Studio, as far as web development is concerned. It’s powerful and supports technologies like AJAX and full CSS. And it’s completely free.

  • The last hidden gem I’d like to mention is the Access 2007 Access Runtime. This is a real boon to those of us who still have to ship Access applications. You want to work in Access 2007 yourself, but your customers may not yet have upgraded from their old Access version, or they may not have Access installed at all. The Runtime engine is the answer; you install it license-free on your client’s workstation PCs and they can start your Access 2007 solution without any other Office or Access installation needing to be present. As a side benefit, because they can’t change the application or create new databases with it, your app is partially protected by default (though you’d be crazy to rely solely on the fact).

    Another nice extra is the fact that you get a professional packager for your solutions, so you can provide your client with a proper SETUP.EXE with your own text, logos, etc and make his or her setup experience trouble-free. See, I’m giving away all my secrets here.

A lot of people think Microsoft-based solutions are automatically expensive, but a little research and investigation will bring you a long way without spending any money at all, and tools and platforms like these are always my default choice when I’m beginning new projects.

A penny saved is a penny earned, right?

Labels: , , ,

Saturday, March 14, 2009

Getting ready for the next boom

The keynote address at yesterday's Application Platform Congress was given by Sam Guckenheimer, Microsoft's Group Product Planner for VSTS, and one point he discussed really resonated with me.

To paraphrase, he said that all applications begin in some shape or form as custom applications before maturing into everyday, off-the-shelf solutions that have broad acceptance and implementation. Smart companies, however, are the ones that invest first in custom applications and new technologies that fit their business, thus gaining first-mover advantage over their competition. The earlier you go in, the more advantage you enjoy.

It sounds terribly obvious when you hear it, but it's a different message from the one that many vendors have been pushing these past few years (one-size-fits-all solutions) and ties in with my own experience that you're better off getting your software to work the way your business works than adapting your business processes to suit the limitations of your software.

The wonderful truth in 2009 is, there are no limitations in IT projects - everything is possible - except those imposed by time and other resources. And even then, you really can do more with less nowadays. It's a great time to be a developer.

(It's also a great time to be a customer. If you believe you're going to survive the current downturn, now's the time to think about where you want to be when business picks up. Maybe now you've got a little more time on your hands?)


Another missed chance

I notice with no little amusement the name of U2's new tour and the related web site, and hope that some of the resulting Google searches end up here. It's a shame, though, that they didn't approach 360Data about sponsorship instead of signing up with Blackberry.

Think of all the synergistic cross-promotional marketing opportunities we're all missing out on! I mean, I'm doing fine but surely Bono needs a little more publicity?


Friday, March 13, 2009

The foothills of Kilimanjaro

Up to Noordwijkwerhout today for the Microsoft Application Platform Congress, during which Microsoft and its partners outlined their vision for the current and next generation of tools and technologies developers and solution providers will use to create and provide applications for customers.

Sometimes these events can be a little wearisome, if truth be told, but today's session was fascinating. We got a look at some of the features of the next version of SQL Server, code-named Kilimanjaro. It's tightly integrated with Excel in a way that Microsoft have been promising for years now but have never quite seemed to deliver. Today, though, we saw a 20-million row Excel table populated from SQL and sorted and auto-filtered in the blink of an eye. The new BI features include a sort of pivot table on steroids, with the ability to slice up and drill down in every conceivable way. Possibly the most impressive thing was that this was all taking place natively in Excel, just running in memory, but a button-click revealed the star schema thus created, ready for saving out to SQL Analysis Services.

They also talked about support for databases of 150 terabytes, if you can imagine such a thing, and how one goes about making such a database perform. It's hard to have patience with slow-performing apps and queries on 5 Gb datasets once you've seen 150 terabytes of data return a result set in a few seconds.

This is a little in the future, for now - release is scheduled for early next year - but my personal epiphany concerned a feature available right now in SQL Server 2008: spatial data. After the demo I saw today, I suddenly realise the potential of this feature and can't wait to put it to good use.

Labels: , , , , ,

Monday, March 9, 2009


I'm very pleased to announce that PER Plus Logistics B.V. of Zevenbergen, Brabant have gone live today with their custom-built logistics order processing application. We've been busy testing and refining the application for some time now, and everybody is pleased to see it move into production.

An expanded article on PER Plus, the new application and the particular business scenario it was put in place to address will appear here soon.

360Data wishes PER Plus every success with the new system, and expect that it will make a substantial contribution to the efficiency and effectiveness of their business.



PER Plus Logistics, B.V. uit Zevenbergen zijn vandaag live gegaan met op maat gemaakte logistiek-applicatie. Wij zijn een hele tijd bezig geweest met het testen en het verbeteren van de applicatie. Alle betrokkenen zijn blij dat deze fase afgerond is en de applicatie in productie genomen is.

Een uitgebreide artikel over PER Plus, de nieuwe applicatie en de business problemenen die ermee geholpen zijn, verschijnt binnenkort op deze site.

360Data wenst PER Plus veel succes met het gebruik van het nieuwe systeem en verwacht dat het een belangrijk bijdrage zal leveren aan de effectiviteit van de bedrijfsprocessen en zaken.


Blogging about blogging

Setting up the 360Data blog was just phase one of the operation; "spare" time this week has been spent integrating the blog with the regular web site front page so that new posts appear immediately in the sidebar area without any manual intervention on my part.

This sounds like something that should be easy, but in practice turned out to be a little more challenging than expected, but very interesting. Configuring the blog's Atom feed was easy, and I reckoned that consuming it was just a question of finding someone's pre-cooked RSS reader control and dropping it in, but I couldn't find one that did everything I wanted and that worked properly with the Atom XML format.

What did I want? Nothing too fancy, in theory: just a sidebar element that would read the blog's feed and deliver the newest posts. I only wanted the two most recent posts to appear (otherwise the sidebar content became too long) and only the first few hundred or so characters of each post were necessary to give a flavour of the entry (but I didn't want to have text cut in mid-word). I also needed to display the publication date, the title and link the title back to the entire post.

Eventually, after several sidetracks and false starts I ended up using the plain-vanilla ASP.NET XML Data Source control to call the feed, parsing out the two newest items from the resulting XML document with XPath, and writing my own functions to reformat the publish date and to only show the first couple of lines for the post in the sidebar instead of the whole lot. So as a side benefit to improving the site's maintainability and currency I learned some new things about XML processing in ASP.NET and my new favourite control is the Repeater (until my web hosting provider supports the ListView, at least).

I can feel a full-scale technical article coming on...

Labels: , ,

Tuesday, March 3, 2009

Windows 7: first and second impressions

I've had the Windows 7 beta running on a test machine here for the past month, and the overall impression up to now has been very strong. It's stable, super fast (I'm running a 64-bit version on a two-year-old 8 Gb Core 2 Duo PC) and behaves in general like Vista should have.

That's not to say that I dislike Vista; there's been a lot of knee-jerk criticism of Vista by people who haven't actually worked with it (personally, I've had no problems worth mentioning on three different Vista machines) but Windows 7 does have an extra layer of polish.

User Account Control, for instance, is a lot less obtrusively implemented: no more entering administrator passwords to delete an icon from your desktop. Window management is much improved, and the confusing Vista Explorer windows have been updated with a much cleaner and simpler layout. To be honest, though, the most impressive thing about Windows 7 as far as I'm concerned up to now is just stability and performance: it goes like a train. When was the last time Microsoft released an OS that was faster than its predecessor on the same machine?

Labels: ,