In this blog I will discuss IoT and then Smart Grid revolution that is changing the way electricity is going to be supplied over the next few years. Why is this important? – To build connected devices and services that help businesses and homes drive a greener IT agenda, you need to understand the road ahead so you can benefit from the changes coming.
Introduction – IoT, the cloud and connected devices
The Internet of things (IoT) is changing the way devices are connected and used. Building on the top of modern cloud infrastructures such as Amazon, Docker etc it has become easier than ever to roll out, scale up and scale down your own connected services.
Embarcadero recently ran the 4 day IoT boot camp showing how to use the powerful RAD Server middle tier technology to automatically manage a network of connected devices made with Arduino that can be connected to via any modern programming language using REST.
Seeing emerging technologies for managing a wide network of devices certainly got a lot of developers egger to build their own connected solutions. But devices will need to connect to their local environment too to get the best value out of the Internet of things.
Zigbee and ZWave are important protocols for the connected home. The future smart hubs in homes that will be connected to the electric meters will enable local devices to discover when is most cost effective to use electricity, e.g. enabling you to charge your Tesla car, or Power wall during time where electricity is in abundance and offered dynamically at a lower cost rate. Being able to judge demand and share and spread electricity usage to increase capacity is one way connected devices in IoT will interact with the Smart Grid via smart hubs.
I recently did a Roadmap for Smart Grids and last Friday I spent some time with Jim McKeeth and Nick Hodges talking about Smart Grids as a guest on their weekly Delphi.org pod cast.
Above is a copy of the roadmap, and below, a special video version of the Podcast.
During the day I was hosting the replay of the popular webinar “Upgrade or become extinct”, and it was great to hear from 100’s of developers who are currently migrating and updating to the latest technologies.
One tweet during the day said how much they loved Delphi, but wished it was on a subscription model. – Well it kind of is!
Delphi, C++Builder or both together as RAD Studio all come with a years update (well slightly more for Enterprise and Architect in the current promotion running). At the end of the year, the annual subscription price is a fraction of the initial purchase. Update Subscription is am awesome way to keep current and get everything that is coming….
IoT Boot Camp – From Arduino to any programming language
On the 6th February Embarcadero is running a free developer IoT boot camp, specifically looking at making some cool IoT devices and then building a network of connected devices using ThingPoints™ with RAD Server™.
During the boot camp you will learn how to work and build IoT Devices using Arduino maker boards and integrate them (along with another 50+ IoT device that RAD Studio IDE includes components for) into a RESTful middle-tier that can be accessed via any leading development language easily.
Day 1 – Building an IoT device with Arduino
Day 2 – Programmatically controlling your IoT device
Day 3 – Building a centrally managed distributed IoT network
Day 4 – Connecting to the IoT network with multiple development languages
Options for coding along at home
While not necessary, you will get more out of the Boot Camp if you can follow along at home.
On day 1, you will go over the steps to make a IoT board using Visuino (who have teamed up with the guys at Maker Fabs to create a hardware kit you can order in).
On day 2 you can connect to an IoT device component from the list of 50+ components available in the GetIt package Manager. (not on the latest RAD Studio? Download the trial to explore the options.)
On day 3 Connect to and use the IoT devices via REST as we establish the devices into a self managed network of IoT devices that allows device discovery – This will use RAD Server.
On day 4 you can see how to consume the REST Server from any leading programming language by using YAML and SwaggerUI via RAD Server.
*Boot Camp will use RAD Studio 10.1.2 Berlin Enterprise. You will need Delphi, C++ or RAD Studio Enterprise license on you machine for boot camp. If you already have 10.1 Berlin Starter or Professional installed, you may want to use a VM to run the trial (or you can upgrade now – check out the latest offers that include FREE RAD Server licenses.
Time seems to fly by and prioritising keeping code up to date on the latest versions is for some a struggle. 2016 has delivered a number of compelling reasons to make this year the year to keep your new years resolutions and finally modernise your C++Builder / Delphi code.
This blog post will offer a few good reasons to keep that resolution and places to start to help you modernise your existing code and gain value from it for years to come.
RAD Studio Development today
From Windows 3.1 to Windows 10 – Delphi and C++Builder (the siblings that live together in the RAD Studio IDE) have been powering software developers to easily wrap up the Windows API since the 1990’s.
Today – these same developers are modernising their existing code for mobile, macOS and the new Windows 10 Stores – earning more from their existing code investment. Additionally, existing client server applications are being modernised into powerful restful servers, in part to facilitate mobilisation, but also to rapidly transform existing profitable business logic into the hub of a modern technological architecture.
In August 2016 , Microsoft released the Windows 10 Anniversary update, which followed later in the year with the opening of the Windows 10 Store for applications packaged to use the Windows Desktop Bridge.
Windows 10 Desktop bridge support in 10.1 Berlin arrived in Update 2 (15th November 2016) and subsequently there has been a lot of interest around how developers can package existing Windows Applications for the Windows 10 Store directly from the RAD Studio IDE.
Microsoft have shared publicly via twitter and MSDN that RAD Studio is an approved 3rd Party Installer for packaging Desktop Bridge applications, something (at the time of writing) no other IDE on the market, including Visual Studio offers.
With the RAD Studio roadmap pointing towards Linux compilation, migrating to a specialist middle-tier is a move likely to provide strong competitive advantage for developers this year.
RAD Server enables developers to quickly build new application back-ends or migrate existing Delphi or C++ client/server business logic to a modern services based architecture that is open, stateless, secure and scalable. RAD Server is easy to develop, deploy and operate making it ideally suited for ISVs and OEMs building re-deployable solutions.
Built in support that I previously covered for YAML makes it super flexible for sharing with other developers, regardless of the language they use.
One thing I do love about RAD Server are ThingPoints™ – the way you can expand an already deployed RAD Server with remote devices dynamically into a network of IoT devices is amazing and certainly one to watch out for more on in 2017!
As many cool apps show, keeping your code modern and flexible helps save time and gets you to new markets faster. The modern VCL and FMX frameworks and their supporting cross platform “system.” libraries enable developers to take advantage of not just a single cross platform ready codebase, but are built on top of modern language features such as unicode, generics, RTTI & attributes, automatic reference counting and more.
Need to update or refresh your Delphi language skills? For those on the latest RAD Studio / Delphi / C++Builder with update subscription you can download Marco Cantu’s latest Object Pascal book for free! – Note during 2016, Embarcadero moved to the update subscription model with 10.1 Berlin bundling 1 years subscription – subsequently if you purchased 10.1 Berlin, you are on update subscription
Beyond DocWiki – e.g. on RAD Server there are number of useful resources and collection of resources below.
Modernise or Become Extinct
Webinar by (Jim Mckeeth and Nick Hodges) – Great watch, the first bit is a bit of a fireside chat, but once it gets going, awesome overview of a number of the topics covered here.
Moving to the latest, fastest, and most feature rich database components
Updating 3rd party components
Migrating Delphi Case Studies – Webinar
I would also recommend this webinar replay for Migrating Delphi. The case studies and tools described reference back to the migration and upgrade center and if you prefer to watch than read… definitely one to use.
Following Jim McKeeth’s recent Embarcadero community post about preparing for Delphi for Linux, I wanted to add a few notes about how you can use Linux today as part of your server architecture; and also point out how to get ready for Linux by using InterBase.
InterBase on Linux
InterBase Server is available for both Windows 32bit and 64bit along with Linux 32bit and 64bit Servers. For Linux, InterBase is certified for a number of distributions including
Because InterBase uses the same On Disk Structure (ODS) you can do your development on Windows along side your favourite IDE (Visual Studio, Eclipse, RAD Studio, Delphi, C++Builder etc) and then copy your application database directly onto a linux machine ready for use.
InterBase – Deeply Embedded on Linux
InterBase ToGo is not currently supported on Linux, however the recent InterBase roadmap includes mention of InterBase ToGo being made available for the Linux Platform in the near future. This will ensure InterBase can be deployed embedded with your application for smaller application usage, as well via the traditional Server Installer for larger scale deployment mentioned above.
Disclaimer: The information included in this roadmap does not constitute, and should not be construed as, a promise or commitment by Embarcadero to develop, market or deliver any particular product, feature or function. The timing and content of Embarcadero’s future product releases could differ materially from the expectations discussed here. Embarcadero reserves the right to change its product plans or roadmap at any time.
It’s been a busy couple of years since the last public roadmap. In that time, the patent pendingChange Views feature has delivered some massive competitive advantage win stories to customers using InterBase XE7 and InterBase was nominated for and won the prestigious IoTA (Internet of Things Award) for “Most Innovative Use of Data”.
Following on from the previous public roadmapInterBase has been on the rise, and here we are sharing the current plans for the next release of InterBase in 2017.
Features and Technologies Delivered in InterBase XE7
64bit Transaction ID’s – Allowing systems with the highest demand to run even longer
New ODS restore feature
Enhanced Journal Archive Management
Service API’s for Online Dump and Journal Operations.
Features and Technologies Expected in InterBase BigBang
This week (15-Nov-2016) at CodeRage the hood was taken off a number of things that have been worked on in the labs for project BigBang. This project will ultimately become the next release of InterBase and includes:
A focus on SQL Features
Common Table Expressions
Truncate Table – A fast way to delete data
Transaction Wait Time
Exclusive Isolation Levels
ISQL scripting enhancements
Faster core engine
Server-wide Performance Monitoring
New Platform Support
Latest Mobile & Desktop
InterBase ToGo on Linux
Ideas for the future.
InterBase releases are based on a specific On Disk Structure (ODS). The ODS helps manage new features and tells the InterBase engine what the database can do and what performance benefits it can take account of. This is one of the reasons is important to backup and restore when upgrading. – But what has this to do with the future?
Making mid-cycle ODS changes is something that we have been very reluctant to do with InterBase in the past because a change to the ODS will prevent you from using the database on an early version. E.g. if Update 2 had a newer ODS, then you would not be able to move back to Update 1 if you wished to. With the changes added for managing ODS in the restore in XE7, we are now comfortable that if we need to, we could move up an ODS during a release cycle. This may pave the way to new features mid-release.
Ideas under review for the future include
Scale Out / Load Balancing
Even Smarter, Faster Engine
More SQL features
Change Views 2.0
Change views working on Views
Option for Backup / Restore (rather than DataDump)
Enhanced Tooling (e.g. IBConsole)
Enhance Drivers for 3rd Party Tools (e.g. More ODBC, JDBC, ADO.Net enhancements)
Coded functions (enabling UDF capabilities with ToGo where platforms do not allow external libraries, e.g. iOS)
Today sees the release of RAD Studio 10.1 Berlin Update 2 – Anniversary Edition. Here is a quick overview of what is new in 10.1 Berlin Anniversary Edition for Delphi, C++Builder and RAD Studio. Also check the links at the bottom for more online resources.
Package your existing VCL code today ready for the Windows Store!
By far the biggest thing in this release for me is the ability to package existing VCL applications ready for use in the Windows 10 Store. Embarcadero is leading the market in enabling developers to reach this massive market place. With the “bring it with you mantra” we take for granted, many other developers are looking on in envy as they see that RAD Studio / Delphi / C++Builder don’t have to start from scratch to get into the Windows Store! – Awesome!
Windows Store support is available thanks to the Windows 10 Anniversary Update that introduced the Windows Desktop Bridge. The Windows Desktop Bridge (previously know under its project name Centennial) enables developers to take existing applications based on the Windows API and package them as UWP applications (or appx packages) to be distributed directly to Windows users or to be distributed (and sold) via the Microsoft store.
Developer Productivity in 10.1 Berlin Update 2 – Anniversary Edition
One other very cool feature added in Update 2 is Quick Edits. Quick Edits increase developer productivity by speeding common tasks in the VCL Form Designer. You can easily build forms, add new components and change their properties, customise layout, connect data sets & sources, and more.
New VCL Calendar Control
If getting to millions of new customers via the Windows Desktop Bridge and Windows Store, and enhanced IDE productivity enhancements isn’t enough, then two new VCL controls come in to support those already created in 10 Seattle. This makes reaching the new UI of Windows 10 exceptionally easy, while maintaining backward compatibility to older versions of Windows!
New VCL and FMX Styles for Windows 10
Finally, there are new styles that are added in 10.1 Berlin Update 2 – Anniversary edition that enhance the look and feel of existing applications.
Following an update to OpenSSL to address some identified vulnerabilities, Google has stopped allowing submission of applications that contain certain versions of OpenSSL libraries.
While InterBase ToGo and IBLite are not affected by the vulnerabilities identified, the current build that is shipped with RAD Studio for Android is being stopped from deploying to the Play Store. To get around this issue, please download the latest build for InterBase ToGo and replace the .a file in your local deployment files.
While tested on 10.1 Berlin, this download should work for any RAD Studio customer who’s product shipped contained InterBase XE7 (XE7, XE8, 10.0 Seattle and 10.1 Berlin).
Download the latest Android InterBase ToGo from Code Central