Technology - We can provide the expertise you need

If its important that you know something about the technologies we work with every day, then this page will provide you with the detail you need.

One important point about so called legacy technologies: Companies like Microsoft and Google and the myriad third party / open source toolkit suppliers move forward at a swift pace nowadays, frequently outpacing the development cycle or even the simple needs of the average business or government department. This can lead to a lot of painful discussions about whether to rebuild an otherwise perfectly working system simply because the current crop of graduates don't know anything about it. The fact remains that the average life of a commercial or government system can be well over 10 years, and only customer facing systems undergo more frequent change.

We make a point to retain the knowledge and skills, the development/test environments and licenses to work with a wide variety of older languages, toolkits, databases and software. If you are getting the runaround from other consultants, give us a call.

Generic placeholder image

Visual Studio and C#

The Microsoft stack remains our primary toolkit of choice. We can build and deploy with .NET Runtime from 2.0 onwards, including the latest .NET Core releases. We test first on Windows 10 systems using HD screens, and then cross check on Windows 7 (since so many older clients are still out there), and several different browsers.

We use a variety of add-ins and toolkits to enhance the development experience as required, including Entity Framework, CodeSmith, and third party libraries from GrapeCity, ComponentOne, Infragistics, Active Reports and MSXML. If you require other toolkits let us know.

We also use a number of Open Source toolkits when required, especially for browser based solutions. Once we have established your requirements and the type of application that will be produced, we start to look at the tools that offer the best fit to your needs.


ASP.NET MVC
(and ASP.NET CORE)

The MVC (Model/View/Controller) approach to web development continues to be the most powerful method of building end-to-end web applications. It offers a sophisticated backend, ways of partitioning and scaling a project, and the ability to use the latest frontend HTML5 and javascript/typescript libraries.

If you need a Web Application we will probably start with an ASP.NET MVC framework, and customise the technology on the backend and front end according to your needs. The main decision point will be whether you are able to use commercial libraries, or if you prefer to use open source toolkits for the (browser) user interfaces.


SQL Server

Ok, its nothing special to say that we can build a database systems for you using SQL Server.

But we can offer expertise in all versions of SQL back to 2000 - so if you are still running or porting from a legacy system, we can work with it. We can also offer expertise in moving data to and from other data sources to SQL Server, moving data from server to server, including from a server on the internet to a local one and visa versa. We can automate operations for you, or leave them simply as scripts for your IT dept to run manually as required.

Do you have a lot of data in some old legacy format that you need to migrate into the new system? We can help, both in working out the how, what, where and when, but also ensuring that the migration works correctly, first time and provide complete feedback on what data can’t be migrated because it fails integrity tests in the new system.

Do you need to routinely move data between the old and new systems? We can work with that as well.

Is your data in an old proprietary format, or maybe an Access database protected using passwords you no longer have? We can assist. Similarly if the data is in locked XLS files or other formats.

Do you want your application to work as a standalone (single PC) system, but automatically scale to handle a shared server when required?

Do you need a secure solution that is protected from attacks, and optimised to scale efficiently? Talk to us.


Microsoft Access

The Access (JET) database engine has been downplayed a lot over the years, especially now as younger network admins don't understand the requirements for deploying system built on the older COM architectures. But if you need to build a Windows application that has limited or no data sharing requirements, and don't want the expense of SQL Server, then it remains a good choice.

If the application has to be deployed commercially to the public, then its a still a good fit (as you do not want to try installing SQL Express on the average users PC, much less try to support it)

Of course, this assumes your consultant has one of the older editions of Visual Basic or Visual Studio where the JET runtime licences were free and unlimited. And has the tools to create one-click commercial grade installation programs that can install JET seamlessly...


AngularJS /Javascript /Bootstrap /jQuery /jQueryUI /Knockout

Angular, Bootstrap and jQuery have led the way in web based development for many years now. Some parts of the stack (like jQuery UI and Knockout) are now dated, but they remain powerful tools for building sophisticated user interfaces in modern-ish browsers.

Development of these tools has progressed at a fast pace, meaning that new projects will probably start with the newest releases, but systems will exist for years to come based on Angular 1.x, Bootstrap 3.x and jQuery and classic javascript (ECMAscript 3).

There are also many commercial and in-house government systems that require IE support, and for these the older toolkits can frequently produce the best results - but finding expertise in them can be hard.


Angular /Typescript /Bootstrap

The latest and greatest: Angular (version 11+ at last count), Boostrap 4.x, and Typescript (a Microsoft technology thats been embraced by the open source community) are the current best practice tools for client side (Browser) development.

New Systems commissioned since 2018 will most likely use these technologies as a starting point. However there are some caveats:

  • You need to carefully evaluate and open source data entry controls/components required to ensure they support the Angular & Bootstrap release you intend to use.
  • Understand that Google releases a major release of Angular (ones with breaking changes) once or twice a year, and most open source projects try to keep up. The result can be that you started with the latest of everything, but by the end of your propject you aren't. Worse - bugs in some components may only be fixed in the newer versions - meaning you need to upgrade some critcal aspect (and cause other issues) just to get a bug fix. Its a complete myth that you can keep any reasonable sized project (let alone large ones) uptodate with all of this. More typically you will schedule an internal component upgrade in parallel with, but on a separate branch to the next major chunk of maintenance work - and decide at the last minute if you are confident the upgrades are stable - or abandon that branch if they are not, and just release the intended changes by themselves.
  • If you want to use open source components (and sites can be built professionally using just these), it is important to identify any bottlenecks or speed issues early so you select the right tools. Grids and infinite scrolling (like Facebook or Twitter) can be difficult if you skimp the prototyping/design steps. They must also be thoroughly load tested, especially if you must support a wide range of devices (like phones and tablets).
  • Using Commercial toolkits like Wijmo (GrapeCity), or IgniteUI (Infragistics) can often cut through the difficulties with the above issues. But there is a cost in terms of licensing (per developer), and these tools are all-or-nothing propositions from a design standpoint.

Castle Software maintains commercial (runtime) licenses for several different development environments as well as expertise in the major open source toolkits. We can work through the above decision points & issues with you to find the best fit for your project.


Reporting

Most reports built for databases tend to be boring things created using SQL Server Reporting Services. If your needs are straightforward we can do that, but if you want something fancy, if you need to reproduce an existing complex layout exactly, highlight data in an ad-hoc manner, or just have the report completely reformat itself on-the-fly based on the data and user requirements then we can build it.

The secret is a tool called ActiveReports from GrapeCity. With it we can bind to any data source, or build reports based on unstructured data in any format and from any source (so long as we can read the file). Print previews can be shown in a Windows app, use a Browser, or be exported to several different formats including PDF (and of course sent to your printer, in colour or B&W). Reports can even emulate Excel style page scaling where it all zooms down to fit onto a single page, or is split across any number of pages, or reformats itself so you can print on A4, then Letter, then A3 paper if required.

We aren’t limited to just plain rows and columns of data either. Pre-printed Forms, Charts and graphs, drawing flowcharts, mixing up symbols, images and graphics is all possible

Its also possible to use Microsoft Office as the reporting tool, even for a web system. Want your report to be printed out using Word, perhaps as a flow chart or data diagram in Visio, maybe a Powerpoint slide show, or a spreadsheet complete with formulae & charts?

Bottom line: If you can sketch what you want on a piece of paper, or show us an existing Word, Excel, Visio file, we can write a report that reproduces it.


Exporting to Excel or Word, and then Importing it back in

Exporting to Excel no longer has to mean producing a plain CSV file. We can create a complete XLSX file using any Excel Template as a starting point and populate it with just about anything you could otherwise create by hand. Similarly with Word.

The Microsoft OpenXML format and matching libraries means that these files can be easily produced by your application or website for most any occasion. Even better, we can read the data...etc in those files and thus use those tools for data entry. Govt, military and many commercial sites may need to operate off the NET for security or other reasons. But virtually all of them will be able to find and use a copy of Word or Excel - so your ability to get staff at those locations to perform necessary data entry cannot be underestimated.

This also allows customers or staff at remote locations to use Excel to enter data, upload it, have it validated, and then download the results in seconds. And since almost any office typist can use these tools - bulk data entry can happen very quickly, without having to train them in using the custom system. In fact you could limit bulk update options to such tools, and leave the main system to handle one-at-a-time customer orders and enquires...etc.

Because the answer to the question "What can I do with this?" is essentially "well, what can you do with Excel or Word?" - the possibilites are endless.

The popularity of Office 365, Sharepoint online storage, OneDrive, GDrive, Amazon S3 storage and other services means that any manipulation of Office documents will also beg the question of where to find, or save the files requested. Using such services is now quite easy, and the access of any application or website can be controlled just like any other user account for those services.

XML/XSLT

XML technology doesn't get much press nowadays, but it remains the most powerful way of transporting data between systems. Whether via WCF web services (SOAP) or just as files being copied from one system to another, it has the ability to encode extremely complex data and pass it between completely different architectures.

Why do you think Microsoft selected XML as the basis for the OpenXML file formats now used across the Office suite?

XML and related technologies such as XSLT, XSD are powerful methods for storing, verifying, copying, parsing and transforming complex data. If you need to pass data (pipeline) between two completely different systems it is still the data format of choice, and many industries/professions have standards governing these operations involving XML. XSLT transforms also allow you to export a single XML data file from our system, and parse it into any text based data format or layout.

If your system has to export data for some external party/company/department to use, then XML is the format of choice. Other export formats such as CSV and JSON are also useful, but have limitations.


VBA & OpenXML (MS Office Add-ins, Wizards, Templates)

Tell us what you currently do manually in Microsoft Office or Visio and we can help you automate it.

Writing templates, dedicated add-ins, and wizards for Office is a specialty of ours. We can produce and deploy these while retaining full security within your Office SOE (using code certificates) and support Office releases for the last 20 years.

The Access reporting engine is second to none, especially if you need your reports to be highly customised. Or would you like your Windows or Web Application application to output (report) data into Word, Excel, or Powerpoint?

Its also possible to produce Word (DOCX) or Excel (XLSX) files without Office being present (say on a web server) using the OpenXML libraries. We can also produce output in other Office formats like Visio, Powerpoint and Project, or the older DOC/XLS file formats if required using third party toolkits.

If you have systems that need to produce highlighly graphical output, especially large format output that programs like Word or Excel might baulk at printing - writing a template in Visio is a powerful alternative solution.


Legacy systems: ASP.NET Webforms

Microsoft continues to work on the webforms architecture in .NET CORE, but it is largely a dated technology that is used on older web systems, and only rarely used for new developments

The main limitation was that to create a user experience of any real sophistication you had to employ a commercial (server) control library which locked you into a framework that could not be extended easily. It was possible to build large systems using WebForms - but the maturing of the MVC platform several years back meant that most development shifted away from Webforms.

We still maintain client systems built using webforms, and can offer the same service to you.


Legacy systems: Visual Basic (6)

Visual Basic was a leader in Windows application development for years, starting with Version 3.0 in Windows 3.1. Castle Software Australia constructed several large commercial applications using VB over the years, and one remains in service even now.

We retain licenses and development toolkits (including several third party libraries) to maintain, enhance and deploy Visual Basic 6 applications. We can also assist with porting these legacy systems to modern (C#) Windows or Web solutions.


Legacy systems: Silverlight

Note: Silverlight is a platform that will not be supported beyond 2021, and is really only practical using Internet Explorer, but it delivered a rich UI on IE 6 and up, when HTML5 support wasn't possible.

We have extensive experience maintaining Silverlight applications (including the Visual Studio versions required to build them, and licenses for the older toolkits), and more importantly can assist you in gradually converting them to newer HTML 5/Angular based technologies.


Legacy Browsers: Internet Explorer

While increasingly rare, do you still have an old system running that was written for an older SOE (typically Internet Explorer) that you need to support and maintain while working on a greenfields project?

We can provide services by staff who understand how the older HTML/CSS or ASP/VBScript designs worked, and won't accidentally break it. We have our own test environments for the older versions of Internet Explorer to ensure that essential changes work exactly as required on your SOE, while we work on the greenfields solution separately.


Legacy systems: Classic ASP

Its rare to come across a classic ASP system now, written using VBscript + ADO and typically using Access/JET databases behind the scenes, but if you do and have questions about it - ask us!


Legacy Browsers: MS-DOS Software

Clipper/dBase systems were considered top-of-the-class in their day in the late 80s and through the 90s. They remain hidden in old Point-of-Sale (POS) systems and other custom PC hardware that uses an 80*25 character text screen.

The dBase (.DBF) file format has all but vanished, so your most likely problem is simply reading the data in these old files, and perhaps trying to recreate the business logic elsewhere. Contact us - we can help.