Introducing DA8, the next major version of Data Abstract and RemObjects SDK
What’s New in Data Abstract 8 (and RemObjects SDK 8), Summer 2014?
The Summer 2014 release marks only the first update in our “DA8” product cycle that brings a revitalization of the Data Abstract and RemObjects SDK frameworks, which now can look back on a proud history of twelve years and five platforms. This release contains a range of major new features that we are very proud of, and that we think will make DA and RO even more useful for your day-to-day work; it also contains a lot of cleanup for our oldest platforms (in twelve years, any library will gather some cruft) and a lot of streamlining, and it sets the base for more features and improvements that we have in the works for DA8 over the near future.
Relativity in the Cloud
One of the big new features for Data Abstract 8 is support for what we like to call “Relativity in the Cloud”. The hosting landscape has changed since DA was first conceived, and, to achieve scalability, more and more businesses are using cloud solutions such as Amazon Web Services or Azure to host their services.
While it has always been possible to run DA server on these services “manually”, we wanted to do more, so for DA8 we have extended Relativity Server to fully embrace the kind of changes and challenges that go hand-in-hand with those deployment scenarios.
For the first release of DA8, we focused on AWS, and Relativity Server now knows about the services provided by AWS that it needs to interact with, all without you writing manual code or setup scripts. You can boot our pre-built machine images to have Relativity Server up and running within seconds, and Relativity Server can automatically configure itself from S3, use databases hosted in RDS, and optionally use DynamoDB for world-scale session management.
It’s never been this easy to get an infinitely scalable middle tier up and running, with just a few clicks and without a single line of code.
You can read more about this here.
We’re working on other cloud services for subsequent updates, with Microsoft Azure being next on our list.
Strongly Typed DataTables in Cocoa
Users of Data Abstract on .NET have long enjoyed working with strongly-typed data tables, where classes are generated based on your schema that let you access the individual fields by proper names. With DA8, we’re bringing this over to Data Abstract for Cocoa, making it even easier than before to write client-side database code.
With just a couple clicks in Schema Modeler for Mac or in the Visual Studio IDE, you have protocol/interface stubs for your tables in the language of your choice — be it Objective-C, Oxygene, RemObjects C# or Swift — that let you work with your data much more naturally. row[@“CustomerName”] simply becomes row.customerName — it’s as easy as that.
Relativity Web Admin
To make administration of Relativity Server even easier, we have added a brand new Web Admin interface that lets you administer your servers right from your browser, without the need for the Admin Tool or Server Explorer for Mac. This works well with Relativity Server in the Cloud, but also with regularly hosted Relativity Server.
Just go to the /admin URL of your Relativity Server, log in with your Admin or Developer login, and you’ll have full access to controlling your server — from changing network settings over configuring logins to managing your domains and Schemas. And you can launch right into Schema Modeler with a single click to start modeling your data layer.
All New “PCTrade 2.0” Suite of Sample Apps
Data Abstract 8 also includes a brand-new sample database and brand-new suite sample applications that go with it. PCTrade version 2 has been redesigned from the ground up to make it easier to get you started with Data Abstract and try out its features. That’s great whether you’re new to DA or a veteran user learning a new feature.
The new samples are more consistent across platforms, and many samples come in simple command line versions (that let you focus on the core technology) as well as GUI versions (that show you how it integrates with your app). There’s also a new all-encompassing “PCTrade Office” sample that shows you how everything can come together in a more complex and sophisticated project.
You can read more about this here.
PCL Support for .NET
Cross-Platform development is an important topic for many of you, and while Data Abstract comes in distinct native versions for all platforms, many developers choose to use the .NET and Mono framework to target multiple platforms from one managed codebase. Data Abstract 8 comes with full support for building Portable Class Libraries (PCLs) that allow you to build one set of code, in one assembly, and reuse that on all versions of the .NET runtime — from the desktop to Silverlight, Windows Phone and WinRT to cross-platform Xamarin apps.
You can read more about this here in Anton’s blog post.
Improved/New Async APIs for RO/.NET and RO/Delphi
There’s been a big paradigm shift for how network code is written since the original versions of RemObjects SDK for Delphi and for .NET shipped over ten years ago, and more and more developers are using asynchronous call methodologies. The newer platform editions of RemObjects SDK and Data Abstract, starting with RO/Cocoa back in 2008, have already embraced this in their API design, but writing asynchronous code with RO/.NET and RO/Delphi has been difficult on the client side. That is, until now.
Starting with version 8, RemObjects SDK for .NET and for Delphi have brand new APIs that make it easier than ever to write async code. On .NET, these new APIs leverage the new async/await pattern available in C# and Oxygene with .NET 4.0; on Delphi, they work with callbacks, using anonymous methods in newer versions of Delphi, for a model that is similar to block-based APIs on Cocoa.
These changes will make it a lot easier to write responsive client applications, and they also bring the two “more mature” platforms more in line with how client call code already worked in the three newer playrooms, Cocoa, Java and JavaScript.
Cleanup and Freshen-up
New features aside, we’ve also taken the opportunity of this new major release to do some house cleaning. As you know, some of the platform editions of Data Abstract and RemObjects SDK are now over ten years old. They have evolved a lot in that time, and we also had a lot of chances to learn, as we kept adding additional platforms to the mix — rewriting, and to a certain degree re-inventing the product from scratch for each platform. DA8 takes the opportunity to freshen up the older code bases to things we learned from the newer implementations (such as the async support mentioned above), and also to remove and trim some old cruft that had accumulated over time.
As a result, the new editions are leaner, meaner, and ready to move forward for the next ten years of innovation we have planned.
But don’t worry — we have taken special care to make sure that all your existing projects will of course still build ok, and that updating/migrating to the new version is as easy as ever. And of course RO8 and DA8 remain fully wire compatible with older versions, as well.
Bugfixes, Enhancements and More
And of course, as always, in addition to these major new features, the new releases also come with a huge number of other, smaller fixes, improvements and enhancements to make the product even better and more enjoyable too, day to day. This includes improvements to the Schema Modeler and Service Builder tools, updates to the APIs, and enhancements to the IDE integration and experience.
Here at RemObjects, we’re super excited about this new release and about where Data Abstract is going, moving forward. We hope you’ll enjoy it, too!