RemObjects Software
ROadmap 2009 v3
(Updated November 3, 2009)
We have and will continue to ship incremental product releases in three month intervals, with the first three releases of the year now behind us, and the “Winter 2009” release coming up soon, to round off the year.
We've also shipped two out-of-sync releases introducing support for our third platform branch – native Objective-C libraries for Mac OS X and iPhone – with RemObjects SDK having shipped in March, and Data Abstract having been added to the fold just now.
Going forward, all three platforms – .NET, Delphi and OS X – will move ahead synchronously, with the “Spring 2010” releases covering all three versions of the products.
We have also started a major overhaul of our documentation wiki, in an effort to provide better and more thorough library docs. We're creating infrastructure that will allow us to keep the wiki and our source code base in sync – basically combining the best parts of the open wiki vs. more closed source-based documentation tools that we rejected in the past – and to integrate that wiki with the developer tools, for a superb “F1-Help” experience. We've already made the start by shipping full wiki integration into Xcode with our last round of releases for OS X, and the “Winter 2009” release will bring the same to Visual Studio 2008 and Delphi 2007-2010, respectively.
The previous “Summer 2009” release of Data Abstract (and its underlying RemObjects SDK) had been a very major release, raising the version number to 6 and introducing a wide range of new features across the product. We've followed this up with the minor “Fall 2009” builds, concentrating once again on QA and minor bug fixes and enhancements, instead of groundbreaking new major features (although there were some).
Meanwhile, work has also been progressing nicely on the new “DAServer6”, a from-the-ground-up re-implementation of DAServer that will run across all supported platforms and enable developers to deploy DA servers without actually creating and maintaining their own server application in code. It has been our experience, that the majority of servers implemented by DA users contain (or potentially could contain) no custom code, but simply rely on the existing DA functionality and information defined in the schema(s) to serve data. DAServer6 will allow developers to concentrate on creating their schemas and implementing the client application, without having to maintain a separate server .exe.
DAServer6 will debut for users of both Data Abstract for .NET and Delphi, in the upcoming “Winter 2009” release, and also be made available for Mac OS X, with the “Spring 2010” release. DAServer6 will be a major point of focus for DA server development, so expect to see a lot more work go into it, and have many enhancements to it planned for future releases, throughout 2010 and beyond.
Hand in hand with DAServer6, we've also started work on enhancing the business rules scripting support in schemas, by extending DA/Delphi to support JavaScript via Microsoft Active Scripting, extending script coverage from client-side rules to also cover server scripts and logic shared between clients and servers and – most importantly – providing scripting support for DA/.NET through our new RemObjects Script engine (which will also become available as a separate, free/open-source product). The new business rules scripting support will ship in the first half of 2010, both within DAServer6 and as regular library feature.
We are also looking, more long term, at a brand new and revised Schema Modeler, rewritten completely from the ground up. This new Schema Modeler will rectify many of the smaller shortcomings and inconsistencies in the current version, enable us to more easily add support for new future library features (such as “DA HET” planned for 2010), and will hopefully be available for cross-platform use on Linux and Mac OS X, as well.
With the first release of Data Abstract for OS X out the door, we're also starting to put renewed focus on DA features that were not 1.0-essential, to bring DA/OSX further up to par with elements from its older siblings. Next to library enhancements, this will also mean providing a native Schema Modeler and DAServer6 Admin Client, in order to make DA/OSX a more attractive solution for Mac-only developers not using .NET or Delphi to implement their server side.
Read more about Data Abstract.
Just as with Data Abstract, the RemObjects SDK had seen a major “Summer 2009” release, followed by a minor “Fall 2009” version focusing on quality. We will continue in this fashion, with the upcoming “Winter 2009” release seeing more work done on our internal Quality Assurance process.
RemObjects SDK is becoming a mature product that many thousands of developers rely on for their daily work, and we realize that quality and stability are two very important features, especially given the underlying infrastructural nature of the product.
Having said that, we still expect to see new major features and important enhancements in its future.
For example, we are working on a brand new WPF based Service Testers application, which will, along with scripting support, go far beyond what the current Service Tester can provide in terms of testing application scalability.
Another area we are planning to expand upon is login and authentication. As it stands, the SDK provided basic support for requiring login, but the form of the actual login process is largely up to user code – and usually based on sending user name and password. We want to provide more a more integrated and flexible login infrastructure, which would also support advanced authentication mechanisms, such as for example Kerberos and LDAP. We introduced Roles support in “Fall 2009”, and will continue to build on that.
Of course a lot of work is also going into the newest edition to the RemObjects SDK family, RemObjects SDK for OS X. The second release of this edition has just been shipped, adding SOAP support in addition to a wealth of other enhancements and streamlining in the general library. While it may have started as a hobby, OS X is a key platform for us now, and we will continue to drive RO/OSX towards feature parity with the other platforms, for instance by adding support for additional message and channel supports. We are also considering providing native server support in RO/OSX, as well options for easy peer-to-peer communication that would blur the lines between dedicated servers vs. clients a bit.
In the longer run, we are also looking at additional platforms for RemObjects SDK, with Java most likely to be the most interesting option to make the SDK a quartet of editions.
Read more about RemObjects SDK.
Hydra has traditionally been a very stable product and never seen many radical ongoing changes. We are continuing to concentrate most of our efforts on ease of use and further enhancing the interoperability between managed and unmanaged portions of your applications. We are getting closer with our plans for Hydra's future and a major new version, but are not yet at the point where we can provide further details.
With Delphi Prism now inviting more and more Delphi developers to consider .NET a viable option to extend their tool set, we believe Hydra will become more important than ever to provide easy migration or interoperability between unmanaged and managed code.
Read more about Hydra.
Well though its second year now, AnyDAC is a useful addition the RemObjects product portfolio and has integrated well with Data Abstract, its “bigger brother”.
For 2009 we will be looking adding support for more back-end database types (with PostgreSQL and SQLite shipping since the “Spring 2009” release), and further enhancing the integration with Data Abstract to make the DA/AD combination the perfect match. We will also be expanding our Free Pascal support (currently limited to Win32) to officially cover Linux, as well as providing support for Delphi’s own Win64 and cross-platform mode rumored to debut within the next year. Work is also being done to expose advanced features of Oracle 11 and Microsoft SQL Server 2008, and database event handling.
Other areas we are investigating include improved support for data access in multi-threaded environments, better caching options and general continued performance improvements.
Read more about AnyDAC.
With the August 2009 release of Delphi Prism, we shipped a major update that included new features across the bank, most notably Cirrus, our framework and language support for Aspect Oriented Programming in .NET.
For the next release, our major focus areas are support for both Visual Studio 2010, the new IDE from Microsoft, and MonoDevelop, the cross-platform open source IDE for Mono.
MonoDevelop has made great progress over the past half year, especially on Windows and Mac OS X, and we believe it is becoming ready for prime time use. We were able to work out the remaining licensing issues (portions of MonoDevelop were still licensed under the GPL), so that we can now legally ship IDE integration for MonoDevelop without GPL concerns. Work on the technical side of MD integration has made great progress as well, and our internal development builds are working well and stable on all three platforms.
Of course work is also ongoing to support .NET 4.0 and Visual Studio 2010. Internal builds of Delphi Prism already integrate with the new version of Microsoft’s IDE, and we are working on supporting new features, such as the brand-new WPF based code editor more thoroughly. We also plan to support the dynamic typing feature of the .NET 4.0 runtime. With Visual Studio 2010 Beta 2 now being available on MSDN, experimental support for Visual Studio 2010 is available to users of the Field Test, now.
As part of the new IDE support, both for MonoDevelop and the new Visual Studio 2010 code editor, we are also starting some fundamental restructuring to our “code intelligence” engine to make parsing and generating of code more flexible; in the long run, this will benefit IDE features such as code formatting and refactoring, and also allow for a flexible third party API for other code modifications. [Prism]