background top icon
background center wave icon
background filled rhombus icon
background two lines icon
background stroke rhombus icon

Download "CodeRage 2019 Live Q&A - RAD Server, DataSnap, and Client Server"

input logo icon
"videoThumbnail CodeRage 2019 Live Q&A - RAD Server, DataSnap, and Client Server
Table of contents
|

Table of contents

6:05
Using Enterprise Connectors
6:22
Enterprise Connectors
9:42
Google Sheets Enterprise Connector
23:07
Oauth2
27:17
O2 Authentication inside of Rad Server
33:13
Two-Factor Authentication and Single Sign-On Using Facebook and Google Authenticator
41:32
Two-Factor Authentication
43:45
How Can I Send Push Notifications Using a Rad Server and Firebase
45:06
Can I Migrate System Which Is Using in Microsoft Sequel Server to Rad Server without Migrating the Database
45:50
Can I Replace the Included Interbase Database That Comes with Red Server
47:33
I Like the Easy Way You Can Add a Table to Rod Server with Database Endpoints However How Do We Change the Single Record Returned so that all Records Contain the Key Searched at the Moment You Only Get the First Record Matching the Search but Not all Records Matching the Search
48:31
Match all Records Matching a Search
49:10
Are There any Plans To Change Data Set Data Snap Server Components To Use Http on Windows Instead of Indy Sockets Oh Http
53:06
The Complete Guide to Rad Server Ebook
53:53
I Would Like To Customize the Dashboard Generated by Rad Server
56:53
Closing Comments
Video tags
|

Video tags

Embarcadero
mobile development
embarcadero technologies
application development
client server network
client server
Jim McKeeth
Al Mannarino
CodeRage 2019
Delphi
RAD Server
DataSnap
software development
Subtitles
|

Subtitles

subtitles menu arrow
  • ruRussian
Download
00:00:03
hello good morning good afternoon or
00:00:06
good evening wherever you can be joining
00:00:08
us from and welcome to today's code rage
00:00:11
or this week's code rage series on rad
00:00:13
server data snap and client-server
00:00:16
technologies this is Jim Keith I'll be
00:00:19
your host along with owl man or we know so today
00:00:26
we have a roundtable a panel although a
00:00:28
set of roundtable and now I've organized
00:00:30
they're everybody's names into their
00:00:32
rectangles so imagine all these names on
00:00:35
a circle here because there's a
00:00:36
roundtable discussion conversation where
00:00:39
we can answer your questions and have
00:00:41
conversations about the topics that are
00:00:43
interesting to you related to
00:00:45
client-server technology so I'll go
00:00:47
ahead and start with Felix when I
00:00:50
introduce yourself really quick hello
00:00:53
everybody I'm writing Delphi since
00:00:57
version 1 and I I'm doing a development
00:01:03
in Delphi for customers and also some
00:01:07
training that's about it
00:01:09
Felix one of our amazing MVPs thanks
00:01:11
Felix
00:01:12
and Danny I just actually got to meet
00:01:14
Danny for the first title books ago in
00:01:15
Belgium and that's a perfect country to
00:01:19
meet each other because they've got
00:01:20
great beer everybody in all over the
00:01:23
world head over to Belgium my name is
00:01:27
Danny wind and I'm gonna Delphi MVP in
00:01:29
the Netherlands and the surrounding
00:01:31
countries I do some work as well and in
00:01:34
these sessions on reg server I thought
00:01:35
it'd be nice to have some simple
00:01:37
solution for a key-value server so
00:01:40
that's what I created and you're feel
00:01:42
free to use that source code and that's
00:01:45
about it yeah I found out Belgium is
00:01:48
really all about the chocolate and the
00:01:49
beer so great reasons of it but I guess
00:01:52
it is
00:01:54
and Malcolm real quick and introduce
00:01:57
yourself well sorry you distracted me
00:02:00
with chocolate and beer I'm still
00:02:01
thinking about it
00:02:03
so Malcolm groves MVP in based in Sydney
00:02:08
Australia I guess like a lot of us been
00:02:12
around for a long time yeah
00:02:15
so I I will share the story again just
00:02:18
because it's a just telling Malcolm
00:02:21
before they started that the very first
00:02:24
more con I went to he had present was
00:02:27
presenting a pre-conference tutorial and
00:02:29
it was great and I learned a lot thought
00:02:31
he was amazing
00:02:32
and I ran into him the computer lab this
00:02:34
is back before we all had laptops medico
00:02:36
in computer lab to use the computers to
00:02:37
do email stuff and I was chatting with
00:02:40
him about some of the stuff I was doing
00:02:41
it's like you should do a session you
00:02:43
should submit a session next year and I
00:02:45
did and look at me now you can't shut me
00:02:49
up so blame Malcolm yeah so just a
00:02:53
global apology should go out from me
00:02:55
everybody I'm really sorry this is all
00:02:58
my fault yeah and then of course almoner iNOS on
00:03:02
here with me as well al you're there
00:03:06
your greetings to all so my name is al
00:03:09
Mannarino I'm one of the Embarcadero software
00:03:12
consultant so I'm here to help the
00:03:14
customers and the prospects be
00:03:15
successful with Delphi and or C++
00:03:18
builder or our inter base database so
00:03:21
I'm here to help all right so the we had
00:03:27
these are some of the videos there we go
00:03:30
on the playlist so you should have all
00:03:32
had an email with this playlist on
00:03:35
YouTube in it I thought I will paste it
00:03:37
here in the YouTube channel here really
00:03:40
quick or the chat the chat box really
00:03:43
quick you'll have it if you missed it so
00:03:47
make sure if you haven't watched these
00:03:48
videos go back and watch them again
00:03:50
because there's a lot of great content
00:03:51
here but we'll just go through and
00:03:53
everybody can talk real quick about
00:03:55
their video that they put in and if you
00:03:57
have any questions out there in the
00:03:59
audience go ahead and put those
00:04:00
questions in the question panel here and
00:04:02
around these videos or these topics and
00:04:06
we will do our best to answer them for
00:04:08
you or at least have an interesting
00:04:09
conversation about the topic so actually
00:04:14
Danny you mentioned you're on a
00:04:15
key-value store so why why is it values
00:04:18
for you so why as you decided that you
00:04:20
want to do a set forced videos on
00:04:22
building a key value store and working
00:04:25
with that well it's a very Universal
00:04:28
salute
00:04:29
I've actually used or maybe abused key
00:04:32
failure stores for just about anything
00:04:35
even lottery tickets because the key
00:04:38
failure stories this store a value next
00:04:41
to a key if usage for images I've usage
00:04:44
of files PDFs reports just about
00:04:48
anything and creating the key value
00:04:50
store although it's very simple to do
00:04:52
even in without bread server but with
00:04:55
Fred server it's even easier it's a very
00:04:58
valuable resource to have yeah it is a
00:05:02
great great resource so an extra I like
00:05:05
this because you because you broke it
00:05:06
down into different parts here you you
00:05:09
know people can get into building the
00:05:11
server side if they're like hey I just
00:05:13
wanna understand that or I it's gonna
00:05:14
understand deploying the package to iOS
00:05:16
or whatever they can just go in and grab
00:05:18
that individual part there so great
00:05:21
overview of RAD server and doing build a
00:05:25
lot of different parts and a key value
00:05:27
store so that is certainly a great
00:05:30
resource of their this and the basic
00:05:34
have your video on your sorry i wanted
00:05:40
to add to the basic authentication
00:05:42
authorization that's the built-in part
00:05:44
in iis but the oauth thing and that's
00:05:47
actually covered by a fail excrete
00:05:49
please session so that's the session at
00:05:52
the bottom so if you want to know more
00:05:54
about a well instead of using basic
00:05:56
authentication you should take a look at
00:05:57
that session yeah okay I know
00:06:04
Malcolm sessions on here there it is
00:06:06
using Enterprise connectors I just don't
00:06:08
have it on the slide here for some
00:06:10
reason does that mean I can go back to
00:06:12
bed what it's time to wake up for you
00:06:16
isn't it okay alright so Malcolm you
00:06:22
talked about using Enterprise connectors
00:06:24
which I am a huge fan of
00:06:25
interprofessional fusion well is one of
00:06:26
those things I was actually a little
00:06:27
slow on the uptake for but came around
00:06:30
to it so tell us real quick about using
00:06:32
enterprise connectors Malcolm and why I
00:06:34
you wanted to do a session on that well
00:06:37
well I mean I wanted to do a session on
00:06:39
Enterprise Connect is because because
00:06:40
lucky you I've become a real fan of
00:06:42
I mean Delfy has really great red sari
00:06:46
has really great rest client support so
00:06:51
you can talk off to all sorts of things
00:06:52
like like Felix's session on this list
00:06:55
on Dropbox you can you know if most most
00:06:58
of these services these days have a REST
00:07:01
API so you can talk to so Delfy it's got
00:07:03
great support for that but for each of
00:07:06
them their api is are different you know
00:07:09
you've got to go through and learn all
00:07:10
of the enterprise connectors approach of
00:07:13
just making it all look like relational
00:07:16
databases and letting you throw sequel
00:07:18
at them using the fired act components
00:07:20
you already know is just such a
00:07:22
productivity boost so that's kind of why
00:07:25
I wanted to do it but what I really
00:07:26
focused on was what I find most people
00:07:29
have trouble with which is the actual
00:07:31
connection once they're connected
00:07:32
it's just SQL so they're usually pretty
00:07:35
good to go
00:07:37
but actually getting the connected
00:07:39
connection working out where they're our
00:07:42
auth tokens being stored changing the
00:07:45
consent screen and that pops up in front
00:07:48
of their customers so it actually has
00:07:49
their application name all of those
00:07:51
sorts of things kind of the way I
00:07:53
thought of it was taking the connection
00:07:56
part from demo level to actual
00:07:59
deployable application level thing
00:08:01
that's kind of what I've tried to focus
00:08:03
on yeah
00:08:04
yeah that's where the tricky things
00:08:06
honestly in making demos is shooting me
00:08:09
the making something that smoke that
00:08:12
simple enough to be understood but also
00:08:13
that's not so simple that it's
00:08:15
completely useless actually just you
00:08:19
know learn from so yes that's great yeah
00:08:21
yeah and and the the you know as it was
00:08:24
I spent I mean I'll cut my thing down I
00:08:27
spent twenty five minutes just talking
00:08:29
about the connection so if this was a
00:08:31
normal session on enterprise connectors
00:08:33
I wouldn't have left much time to do
00:08:34
anything else
00:08:35
so it's kind of good just to focus on
00:08:38
that separately so now your video did
00:08:42
you cover like specific specific
00:08:45
connections or did you talk about
00:08:46
connections in general or what what how
00:08:48
did you deal with that because the thing
00:08:50
I found was Air Force connectors is each
00:08:52
one you have to go and find out how they
00:08:54
want you to
00:08:55
you know what kind of key you need or
00:08:57
whatever it to connect to him yeah that
00:09:00
is the trick so what I tried to walk the
00:09:02
line between them I don't know how
00:09:04
successfully I did at the beginning I
00:09:07
did show how whereabouts in the
00:09:09
documentation to look for each driver to
00:09:12
see at account because it's kind of in
00:09:14
the same spot for each drivers
00:09:16
documentation there's the same section
00:09:18
on how do i connect to that but but as
00:09:22
you said each one of these is going to
00:09:23
be different so in the end I just tried
00:09:25
to choose most you know the majority of
00:09:27
the morrow Wharf and so I just tried to
00:09:29
pick one that what I thought would be
00:09:31
pretty common which was ended up being a
00:09:33
Google one so I ended up using Google
00:09:35
sheets but it should be the same for
00:09:36
Google Drive and a bunch of other Google
00:09:39
Google sort of services the the Google
00:09:43
sheets enterprise connector is
00:09:46
phenomenal ease because it lets you
00:09:50
treat a spreadsheet like a table and
00:09:53
just added whatever columns you want
00:09:55
whatever goes you want and just do
00:09:57
queries on it and it's yeah so useful
00:10:01
well to be honest every Enterprise could
00:10:04
and I could turn this into a session
00:10:05
just about how awesome Enterprise
00:10:07
Connect to stuff but every end of course
00:10:09
connect that I've used at the end of it
00:10:12
I come away going oh that's the awesome
00:10:14
one that's the great one and then I'll
00:10:15
use another one and go ah that was the
00:10:17
awesome so you know they're all just
00:10:20
good yeah yeah
00:10:25
so I guess astly which one's your
00:10:27
favorite would be a pointless endeavor
00:10:29
at this point from where that sounds
00:10:31
like choosing between my children yeah
00:10:38
but actually it's great either the
00:10:40
session because just in ten thirty three
00:10:43
we include started including enterprise
00:10:45
connectors in the enterprise of
00:10:49
architect editions of delphi c++ builder
00:10:52
and rad studio or way it has enterprise
00:10:54
or architect
00:10:55
it's the enterprise sectors along with
00:10:58
linux targets and rad server and
00:11:01
everything else we're talking about here
00:11:02
today so that is it's in perfectly
00:11:06
and you notice I actually have to slide
00:11:09
real quick so now I have you're using
00:11:11
enterprise considers Malcolm groves on
00:11:13
there so so I'm going to stay up okay
00:11:19
let's see okay I guess Dan or owl you're
00:11:23
up next
00:11:24
so you did hit the ground running with
00:11:26
ready-made rad server and building a
00:11:29
multi tier solution from the ground up
00:11:31
with data snap that's correct so so
00:11:34
basically I put two videos together on
00:11:36
pretty much you know how to get started
00:11:38
either using data snap or rad server so
00:11:43
many of you know with Delphi and or C++
00:11:47
builder you have different choices for
00:11:49
back in technologies to build scalable
00:11:51
fault tolerant backends on-premises or
00:11:54
in the cloud so with Delphi and or C++
00:11:58
builder you have three main back-end
00:12:01
technology choices those are web broker
00:12:04
data snap or rad server so with Brad
00:12:10
server which we also call EMS data snap
00:12:13
and where broker these are all middle
00:12:16
tier servers that you can use to build
00:12:18
and deploy either with Delphi or C++
00:12:22
builder so they have a number of
00:12:24
characteristics that are in common but
00:12:27
however when you start working with them
00:12:29
you see they are significantly different
00:12:31
from the standpoint of how they work and
00:12:34
how they are are accessed by client
00:12:36
applications it's like for example for
00:12:39
data snap so for me data snap is very
00:12:42
good for making systems where both the
00:12:44
client and the server parts are written
00:12:46
in one language either Delphi or C++ and
00:12:49
they use their own proprietary protocol
00:12:52
to effectively transfer not pure data
00:12:55
but classes or call complex language
00:12:59
structures so for example a good use of
00:13:02
data snap is let's say you're using an a
00:13:04
do table or or fired that table on the
00:13:07
data snap server side and then the
00:13:10
clients they get the data transfer
00:13:12
directly in the form of a Delphi or C++
00:13:16
data set so that's a nice good use of
00:13:17
data snap that way
00:13:20
and read server on the other hand is a
00:13:23
pretty much a prebuilt out of the box
00:13:25
rest server where you can reuse all over
00:13:29
your existing Delphi or C++ builder
00:13:32
functions and methods and have rad
00:13:34
server automatically expose the matters
00:13:36
manageable rest endpoints and then any
00:13:39
type of front-end rest client whether
00:13:41
it's a Delphi or C++ builder VCL or
00:13:44
multi device FireMonkey clients or
00:13:46
JavaScript client or any type of uh you
00:13:51
know JavaScript client can connect to
00:13:52
that red server access those functions
00:13:55
access those methods access those data
00:13:57
modules and and return JSON data back to
00:14:00
the calling clients so from these two
00:14:03
videos I probably I did a quick quick
00:14:05
use on how do you use the you know the
00:14:08
rad server wizards or the data snap
00:14:10
wizards to rapidly create the the
00:14:12
backend server and then some options on
00:14:15
how you can create the front-end clients
00:14:17
to connect to those back-end servers
00:14:19
call the functions call the methods and
00:14:21
return data back to the client what is
00:14:27
the performance data snap performance
00:14:30
working or
00:14:31
coming users can it handle that's always
00:14:37
a good question you know so I've seen
00:14:42
you know let's say as far as performance
00:14:44
and and concurrent client so I've seen
00:14:47
it's a data snap use you know 1,000
00:14:51
concurrent client connections but B know
00:14:54
that the basic question comes down to
00:14:55
what what are you doing and what do you
00:14:57
need to do so in the real world you
00:15:00
really need to perform some realistic
00:15:01
load tests because sometimes it's not
00:15:04
the backend server data snap will read
00:15:06
service to bottleneck sometimes it's the
00:15:09
database that's the bottleneck yeah in
00:15:15
exactly it comes down to how you manage
00:15:18
your connections whether you're
00:15:19
resistant to connections and and so on
00:15:22
and so forth so there's a lot of things
00:15:24
that can go in there but you what's the
00:15:28
have you seen very performance solutions
00:15:31
with data snap and how
00:15:33
how big of us deployments that for
00:15:35
example have you seen so so I mentioned
00:15:38
I've I we know of customers that are
00:15:40
using data snap for like up to like 1000
00:15:43
concurrent client connections so the
00:15:46
data snap server has a property called
00:15:48
life cycle where you can either set it
00:15:51
to invocation server or session so the
00:15:55
based on the needs you know that life
00:15:57
cycle kind of controls you know how many
00:16:00
concurrent client connections can can be
00:16:02
handled by your let's say back-end data
00:16:04
snap server versus rad server that's
00:16:07
completely stateless you know just
00:16:09
sitting out there in a stateless mode
00:16:11
waiting for a front-end clients to
00:16:13
connect to it call the functions call
00:16:15
the methods and return back JSON objects
00:16:18
so there's no no state there and data
00:16:20
snap can do the same thing so I recall
00:16:23
data snap if you set the life cycle to
00:16:25
invocation then it becomes the stateless
00:16:28
server so most of how rad server works
00:16:33
yeah so actually let's go ahead and go
00:16:36
to felix your session was on the OAuth
00:16:42
drop box real quick you want to give us
00:16:44
just a quick overview of your session
00:16:46
there yes I basically wanted to see how
00:16:52
or what to was working so I first looked
00:16:55
at Google to understand the protocol and
00:16:59
then after that I saw that the rest demo
00:17:04
from Embarcadero had a Dropbox client so
00:17:08
I first used this one and after that I
00:17:12
tried to make the course to get the
00:17:17
token and then upload a normal part then
00:17:21
once I understood that part I tried to
00:17:25
get some logs to see really what was
00:17:28
exchanged between the client and the
00:17:30
Dropbox server so I used indie with
00:17:35
logging and did just the same thing with
00:17:39
mainly first of all the dialogue to get
00:17:44
the token and
00:17:46
to upload or download files so that's
00:17:50
about it
00:17:51
wow that actually sounds really useful
00:17:54
because it kind of get in there and
00:17:55
break it down and see what all works I
00:17:57
had that that's the kind of anything I
00:17:59
love because I like I like knowing
00:18:03
what's going on behind the scenes right
00:18:05
you know I want to be productive and get
00:18:07
things done what's really thing that I
00:18:08
love about Delphi right is that we can
00:18:09
work at this nice high level of
00:18:11
abstraction be really productive but
00:18:12
what we need to we can reach down there
00:18:14
behind the scenes and and understand all
00:18:17
the details and call call API calls and
00:18:21
allocate memory and whatever we want to
00:18:22
do so and definitely go check that out
00:18:27
it's more that sounds really really
00:18:29
interesting that's very useful because
00:18:34
I'm thinking Malcolm was talking about
00:18:36
as Enterprise connectors there's some of
00:18:38
those back-end services that need or two
00:18:41
authentication so it's good to know how
00:18:43
to use o it o or two authentication to
00:18:48
connect to these back-end services yeah
00:18:52
I must be I must tell it I only did the
00:18:55
client part I didn't they're so far to
00:18:58
try the server part but maybe that's
00:19:00
coming next I'm trying to think is it is
00:19:04
it Facebook or not what one of those one
00:19:08
of those back-end services it might be
00:19:09
Facebook or it might be Twitter that
00:19:12
needs the ortho or two authentication so
00:19:15
again it's good to know how to do oh oh
00:19:17
or two authentication to be able to
00:19:20
connect to some of these back-end
00:19:21
services that need it yep so I'll hear
00:19:26
the question for you you mentioned so
00:19:29
you have videos here on data snap and
00:19:32
rad Snover but you also mentioned web
00:19:35
broker is web broker a restful server or
00:19:38
what kind of server middle tier solution
00:19:40
is that you still there I'm here if you
00:19:44
can hear me yes
00:19:48
so web broker is one of the three
00:19:50
technologies in Delphi or C++ builder to
00:19:53
build these middle middle tier solutions
00:19:56
so so web broker is the most simple
00:20:00
list in genetic generic it's more of a
00:20:03
webserver development framework in
00:20:04
Delphi or C++ builder so think of it as
00:20:07
a webserver not a not a rest server and
00:20:11
it's interesting to know that web broker
00:20:14
is really the underlining technology for
00:20:17
many of the web service types that you
00:20:19
can build with Delphi and or C++ builder
00:20:22
including you know soap XML web services
00:20:26
and and even data snap so for example
00:20:30
there's a there's a new web broker app
00:20:32
app wizard that you can use to create a
00:20:35
new web server app and you can implement
00:20:38
it with HTTP server functionality so for
00:20:42
me web broker is good for simple HTTP
00:20:46
server functionality but the more
00:20:49
complex the system you want to build the
00:20:51
more you need to look at using Delphi or
00:20:53
C++ builders Multi frameworks such as
00:20:56
data snap and or rad server because you
00:21:01
know data snap and read server provide
00:21:03
much more higher level functionality
00:21:05
that you can find in web broker so web
00:21:08
broker dick of web broker as a generic
00:21:10
web web server development technology
00:21:14
versus data snap and read server are
00:21:17
more for middle tier technologies yeah
00:21:21
and actually a lot of the you mentioned
00:21:23
that the soap and some other frameworks
00:21:25
are built on web broker a lot of the
00:21:28
third-party open-source ones for example
00:21:32
are built on top of web broker so a lot
00:21:33
of those other solutions are out there
00:21:36
for restful services are built on web
00:21:38
broker so you can build you can
00:21:40
certainly build a rest service but it's
00:21:42
not specifically designed around that
00:21:45
it's it's the low-level building block
00:21:47
there anything else is based on so and I
00:21:52
guess I guess to a degree you kind of
00:21:54
build up right so web broker is the
00:21:56
simplest well I guess Indy right we
00:21:59
could just use regular sockets right
00:22:00
with these opens of sockets and stuff
00:22:03
and then you have web broker is kind of
00:22:04
the low-level server technology and then
00:22:08
data snap is a toolkit for building
00:22:11
multi clear solutions and then rad sir
00:22:14
the turnkey ready to go solution yeah
00:22:20
look at the the data snap video I did I
00:22:23
I used the the data snap web broker
00:22:27
application Wizards because for me for
00:22:30
building data snap backends for
00:22:32
applications that data snap web broker
00:22:34
application wizard is the most useful
00:22:37
because it lets you use both data snap
00:22:41
technology and web broker technology
00:22:43
with that wizard to build your middle
00:22:46
tier layer yeah yep so there's a
00:22:51
question here about rad server and Olaf
00:22:55
to it says how can we build Roth to
00:22:58
security into rad server so the clients
00:23:00
log in to his service securely so and a
00:23:04
few likes maybe you can expand on this
00:23:06
but my understanding of oauth2
00:23:08
is it's useful for like a federated
00:23:12
login if you will where like for example
00:23:16
is I have a Google account and I want to
00:23:19
give a third party website access to my
00:23:23
Google account but I don't want to give
00:23:24
them my Google password right so it's
00:23:27
where you're having trusted third party
00:23:29
essentially so instead of giving let's
00:23:33
say Al's made their great web service
00:23:35
instead of giving al my Google username
00:23:37
and password dead
00:23:39
I al gives me a link that I log into
00:23:42
Google with and then it returns a token
00:23:45
back to Al so that al then has access
00:23:47
limited access controlled access to my
00:23:51
Google account and then I can actually
00:23:54
then go and revoke it as well so I don't
00:23:56
know that makes sense for rad server
00:23:58
what Felix is it what do you think is
00:24:00
that is that an accurate description of
00:24:01
how Olaf to works and does that make
00:24:04
sense for a rad server login situation
00:24:06
all right for all - that's totally
00:24:10
correct but I must confess I'm not very familiar
00:24:13
with right server so I cannot answer on
00:24:16
this point
00:24:18
server or for data snap so we know data
00:24:22
snap supports authentication and
00:24:24
authorization we then plug in your own
00:24:27
authentication and authorization so if
00:24:30
you can add the oauth2 authentication
00:24:33
and authorization then you can control
00:24:35
access to certain server classes or
00:24:38
methods that can be stricted to certain
00:24:41
groups of users so it's a good use of
00:24:43
using a data Snapple read servers
00:24:46
authentication and authorization support
00:24:49
to allow you to restrict access to
00:24:52
certain classes or certain methods or
00:24:56
based on you know a certain group of
00:24:57
users
00:25:00
I'm Jim I I don't you know it's early in
00:25:04
the morning here inside I wanna pick a
00:25:05
fight this early but I really disagree
00:25:07
with you actually I'd love read server 2
00:25:10
to act as a as an OAuth 2 server so that
00:25:15
so that I you know we've had projects
00:25:18
where we were using read server where we
00:25:20
were building this this this back in for
00:25:24
a customer they also had we were also
00:25:27
building mobile clients and desktop
00:25:29
clients for them and they really wanted
00:25:32
those clients to authenticate other
00:25:35
users the customers using those clients
00:25:37
to authenticate with red server using
00:25:39
the same worth to process that they do
00:25:42
with Google or with Facebook or Twitter
00:25:44
okay so where they would use okay so
00:25:46
they would use authenticate with rad
00:25:52
server okay that makes sense
00:25:55
oh no no no no using the Google
00:25:58
credentials so let's say this customer
00:26:01
is Acme yep so they've got red server
00:26:04
running on their servers and they're
00:26:05
providing some application through red
00:26:07
server they want their customers to be
00:26:10
able to authenticate to use the mobile
00:26:12
app or whatever using their Acme
00:26:13
credentials so it's still the same
00:26:15
scenario but but then it's not googles
00:26:18
it's not you know using Google's
00:26:20
credentials you're using your company
00:26:22
credentials or as a as you said in a
00:26:25
kind of a federated way or whatever now
00:26:28
doesn't rad server offer Akash a like a
00:26:39
because I
00:26:40
single sign-on type thing right where
00:26:42
instead of having a separate username
00:26:44
password for rad server it would instead
00:26:45
be like Acme domain username and
00:26:49
password for users yeah you can that you
00:26:52
can as hell was just saying you've kind
00:26:55
of got this pluggable authentication so
00:26:58
so you can do that but but sort of this
00:27:01
step that that I think would be a great
00:27:03
addition and I've hassled people about
00:27:05
this before but you know I'm just I'm
00:27:08
one voice amongst many I've heard also
00:27:15
customer requests asking for you know o2
00:27:19
authentication inside of RAD server so
00:27:21
we'll definitely let our product
00:27:23
managers know about this and hopefully
00:27:24
can it be added as a feature into the
00:27:27
product yeah yeah I think I think it
00:27:30
would be great yeah that's okay so I
00:27:35
think I understood your saying it and I
00:27:37
so I appreciate you correcting me I I
00:27:42
don't claim to have all the answers by
00:27:44
any means so yeah that does this much do
00:27:47
just most of them so alpha is asking
00:27:54
about two-factor authentication is there
00:27:58
support around two-factor authentication
00:28:01
in addition to for example adding OAuth
00:28:04
and the number and Peter said that yes
00:28:06
absolutely we need Roth to for red
00:28:09
server so all right so how we will
00:28:12
followup with product manager after this
00:28:13
and let them know that I was wrong
00:28:17
everybody else it says it's a work but
00:28:22
what about two-factor authentication has
00:28:23
anybody done any work with two-factor
00:28:25
authentication or have any thoughts
00:28:26
about how you use that with with rad
00:28:29
server or data snap so I believe I'm a
00:28:37
big fan of factor authentication I use
00:28:39
it a lot and I believe look here I think
00:28:42
there was a session at cadre a couple
00:28:46
years ago on this so I'm gonna go look
00:28:48
for that really quick so but the idea
00:28:50
buying to factor authentication is where
00:28:53
for those
00:28:54
aren't familiar with it is where you you
00:28:58
usually you get some so your username is
00:29:02
something everybody knows right
00:29:03
your password is something only you know
00:29:05
it's a secret dialling you know but then
00:29:07
two-factor authentication requires you
00:29:08
to have a physical token of some sort so
00:29:12
it's a physical device that you have and
00:29:14
so then it requires the know and the
00:29:16
have right so it's it's not just a key
00:29:19
right so you can lose your key and
00:29:21
someone else can grab it and open the
00:29:22
door but it's a key and the password and
00:29:25
so used to be people that have these
00:29:27
things that are key rings that were the
00:29:28
RSA token generators and every 30
00:29:33
seconds we generated a new number but
00:29:35
now everybody has them on their phones
00:29:36
and there's also these Yogi's and some
00:29:39
of other USB devices and so was the way
00:29:42
they work is they use a there it's
00:29:49
essentially a random number generator
00:29:50
and no it's not a random order or sorry
00:29:57
it there's a secret he server and by the
00:30:04
generator and it every 30 seconds it
00:30:08
takes the timestamp plus the secret key
00:30:11
and generates a hash of it and then
00:30:13
gives you part of that hash and so
00:30:14
because of the nature of hashing
00:30:17
algorithms and the you cannot predict it
00:30:21
you cannot reverse engineer it back to
00:30:23
the key and you cannot particular that
00:30:26
I'm gonna be so it makes it very secure
00:30:29
is that is that that was that right
00:30:32
Malcolm even though you're early in the
00:30:34
morning for you probably still have a
00:30:35
better expression
00:30:39
I mean two-factor I mean that's that's
00:30:43
probably the you know the the gold
00:30:45
standard or whatever if you factor
00:30:47
authentication I mean two-factor
00:30:49
authentication can be as simple as you
00:30:52
know getting a text message and and
00:30:55
having a code in that that you reply to
00:30:57
but yeah yeah yeah I mean the the that
00:30:59
you know this you're about to launch me
00:31:02
on a rant because this is one of my bug
00:31:04
bears that where you know passwords are
00:31:07
ridiculous we
00:31:08
we've we're essentially using a solution
00:31:12
that was adequate back in the days when
00:31:15
we had a time-sharing mainframe and all
00:31:18
the terminals in the one-room you know
00:31:20
at that point passwords were up for the
00:31:22
job but they haven't really been since
00:31:24
and we've scaled them to this global
00:31:26
network which is essential to everything
00:31:30
we do and now we're surprised that they
00:31:32
fail you know that most people have one
00:31:34
password for you know for every system
00:31:38
in their lives and you know our solution
00:31:42
to to making them secure forcing people
00:31:44
to change them every 90 days and what
00:31:46
does everybody do you know after 90 days
00:31:48
when your password was password after 90
00:31:51
days it becomes password one and then 90
00:31:53
days after that it becomes password -
00:31:55
and then we forced them to put on you
00:31:58
know non-alphabetic characters in there
00:32:01
so they stick an exclamation mark on the
00:32:02
end you know everyone does it and it's
00:32:04
fundamentally broken so yeah I think
00:32:07
that you know yes yes two-factor
00:32:10
authentication because more and more
00:32:13
people are going to demand it after
00:32:16
they've been you know just go - have I
00:32:18
been pwned and and I verify yourself
00:32:21
about how many data breaches you've
00:32:24
already shown up in so I would just saw
00:32:26
this YouTube video where someone had
00:32:28
gone to this exhibit where it was a
00:32:32
pop-up exhibit on security and they had
00:32:34
these books they printed out from one of
00:32:36
the data breaches I was the the LinkedIn
00:32:38
data breach they printed out all the
00:32:40
passwords in alphabetical order and so
00:32:42
you just wrap look and turn to the page
00:32:44
and look there was your password that
00:32:47
you thought was so totally secure along
00:32:49
with five other variations they're very
00:32:50
simple do it yeah you know it's like oh
00:32:53
yep I've been pwned
00:32:55
so yeah I agree passwords I use
00:32:58
two-factor gratification like everywhere
00:33:00
I can I use a password manager we
00:33:02
totally just go off for hours talking
00:33:04
about that for sure
00:33:06
so anyway I did find here's a session
00:33:08
Olof did in code rage 12 a couple years
00:33:13
ago on two-factor authentication and
00:33:15
single sign-on using Facebook and Google
00:33:18
Authenticator so
00:33:20
you can check that out there
00:33:23
cool this what's this salt you run so
00:33:27
this orchid ricotta so Olaf's online
00:33:30
with us and we hold on I play on the
00:33:33
video so yeah you can got here and you
00:33:36
can watch the the the replay and the QA
00:33:41
from that and then there's links for
00:33:44
more information stuff as well it's
00:33:46
surprising how much gold there is in in
00:33:48
the previous code rage videos it's like
00:33:51
it's really common thing where I'm
00:33:52
looking you know looking how to do
00:33:55
something and one of the most useful
00:33:57
answers comes up as somebody's code
00:33:59
review session from X years ago yeah
00:34:01
yeah and actually the reasons I changed
00:34:04
up the format this year as I was hoping
00:34:06
and actually we did it and some of the
00:34:08
sessions we got quite a few people
00:34:09
involved is to get more people involved
00:34:11
in code rage and to produce you know set
00:34:14
videos and that we're instead of
00:34:15
requiring the longer videos to make it
00:34:17
more flexible and get more people
00:34:18
involved and because I agree it's great
00:34:20
to have these you know nuggets of
00:34:23
knowledge saved and available for
00:34:27
everybody so I will put this link in
00:34:29
here for I did already on yeah so you
00:34:33
can get it so if you're not familiar
00:34:35
with Embarcadero Academy you can go out
00:34:39
here to Embarcadero Academy comm and
00:34:41
they have lots of courses including code
00:34:45
rage all our passcode ranges are
00:34:47
available on there for free you can get
00:34:50
those for free and then we have some
00:34:51
great bundles that you can get or I'm
00:34:54
saying we but it's not we I have courses
00:34:57
on here I've built but the marketer
00:35:00
Academy is a third-party site partners
00:35:03
like we work with but a lot of great
00:35:04
content on here you can check out a
00:35:07
question here al
00:35:11
today most Webster know Etsy is rad
00:35:14
server based on indie like data snap is
00:35:21
no not to my knowledge I believe rad
00:35:24
server we built from the ground up just
00:35:26
based on pure pure rest and and and JSON
00:35:31
technology so I don't think I don't
00:35:34
think there's indie part of a rad server
00:35:37
that I can recall what yeah I don't
00:35:42
think it I think it thank you're right I
00:35:44
believe it uses the new native sockets
00:35:46
that we have here this is office think
00:35:48
of earlier LDAP so rads work and LDAP
00:35:51
but that's not the same as though off to
00:35:52
so yep
00:35:53
point taken that's well sure I think yes
00:35:56
that's a good point so rad server does
00:35:58
have its own built-in you know
00:36:00
authentication and authorization you can
00:36:02
use its own built-in service for that
00:36:05
but you can also plug in outside
00:36:07
authentication services like LDAP or or
00:36:10
Active Directory actually directly us
00:36:13
other one so I'm just if everybody knows
00:36:16
I just got over a cold and then I'm not
00:36:19
sure if it was like some cold medicine
00:36:20
took yesterday or what but then I was up
00:36:22
all night so I'm not only getting over
00:36:25
being sick but I am going on I don't
00:36:27
know 30 some odd hours without sleep
00:36:29
right now let's see there's a question
00:36:35
about medical Sherrod server lots of
00:36:37
questions are read server today does rad
00:36:40
server have a native a JWT implemented I
00:36:46
[Music]
00:36:48
think what a JWT
00:36:50
Java with no like a Java technology JWT
00:36:53
trouble yeah what token JSON web token
00:37:01
maybe ok JSON web token it has native
00:37:11
yeah so it does have JSON support built
00:37:14
in but I'm not sure if it's a web token
00:37:19
I'm not sure if it specifically this web
00:37:22
token but it does have support for
00:37:25
working with JSON it actually makes it
00:37:26
really easy for
00:37:30
okay so I'm working with JSON and
00:37:33
putting up some things in there and
00:37:34
actually take a look at Al's session
00:37:36
there I'm sure he goes into the know
00:37:41
with rad server you can't pass a token
00:37:43
from session to session so once you make
00:37:45
your first connection and you establish
00:37:47
that token you can pass that token to
00:37:50
subsequent session so you don't have to
00:37:52
continue to login and authenticate
00:37:54
yourself so I do have a follow-up a blog
00:37:58
post on the Embarcadero blog site so
00:38:01
I'll add a latter part in there and how
00:38:04
you can how you can pass your token from
00:38:07
session to session on a rad server
00:38:09
session about GWT I may mention that I
00:38:17
used the library from mr. Rossi he is
00:38:20
working with smokin too I think and I
00:38:23
implemented this in a recent product of
00:38:27
restaurant trend and also the ICS over
00:38:31
bite suit has also gw2 and Josie which
00:38:37
is a JWT with signing Java object
00:38:42
signing so both ICS and Rossi library
00:38:46
can allow you to use GWT ok great
00:38:52
I've used ICS before it's a great great
00:38:55
library yes AJ I did about a new feature
00:39:01
in the open SSL library which about 22
00:39:05
very nice demos fantastic I should
00:39:12
actually come out look at this cuz I had
00:39:14
soldiers of the day I was talking about
00:39:15
the x.509 I forgot about this I and I'll
00:39:26
share an embarrassing story there been a
00:39:28
number of times that I have been trying
00:39:30
to figure something out and googling it
00:39:32
and searching and searching and
00:39:33
searching and then I find a video I made
00:39:35
or a webinar I did on it I'm like wait I
00:39:38
knew how to do this once
00:39:41
so yeah so yeah I forgot about ICS but
00:39:46
they have x.509 so suddenly I was asking
00:39:48
by x.509 so excellent so there's another
00:39:52
resource so I'm not sure if the rad
00:39:56
server has the the JWT built in but
00:39:58
there are other solutions for you there
00:40:00
as well Ian says rad server is built on
00:40:04
web broker and uses T page producer
00:40:09
that's right isn't yeah that's right now
00:40:11
right right sounds correct yes it's
00:40:20
gotten to the point it's hard to keep
00:40:22
track of all the the pieces and parts so
00:40:27
is that right it may be you can use it
00:40:32
but I've certainly we've done projects
00:40:34
in red server where we haven't touched T
00:40:36
page producer right the thing with red
00:40:39
server is because it's built up at that
00:40:42
point you don't have to worry about that
00:40:44
lower level stuff because you're able to
00:40:46
just use it as a turnkey system but
00:40:51
maybe it's not maybe it's just it maybe
00:40:53
it's built from the ground up I don't
00:40:54
know yeah I mean I don't know about the
00:40:56
web broke a bit you know that I can't
00:40:58
really comment on and it might even make
00:41:03
sense that it is because you've got kind
00:41:05
of similar choices in terms of you doing
00:41:07
an Apache module or whatever else so
00:41:10
that that part I don't know but the T
00:41:12
page produces a bit through me a bit I
00:41:15
have Delphi right here so I'll open it
00:41:18
up try it but what is this so the next
00:41:22
question is here what actually Oh back
00:41:26
to the I just remembered this back to
00:41:28
the question we had about two-factor
00:41:34
authentication so there is in the
00:41:38
enterprise connectors a Twilio that hey
00:41:44
L Twilio quillo if you use this one get
00:41:49
Malcolm the Twilio connector know
00:41:51
there's 100 something of them might I
00:41:53
mean I do
00:41:54
the line so this there's a connector for
00:41:58
this one this one's kind of a unique
00:42:00
service that's available and they have
00:42:02
really reasonable price what they do is
00:42:04
they provide the ability to send text
00:42:07
messages or receive text messages
00:42:09
so for Gretl SMS is three-quarters of a
00:42:19
cent to send to receive a message us if
00:42:23
you pay as you go or you can buy them in
00:42:24
bulk and there's lots of options around
00:42:26
that but so if you want to for example
00:42:29
have your users log in and then send
00:42:33
them a text message to their cell phone
00:42:34
and then have them type the number and
00:42:36
they received you can do that with the
00:42:38
enterprise computers in Leo and it's
00:42:40
really affordable so I will share a
00:42:42
simple story about this my dad is in a
00:42:44
band and he wanted a way for people to
00:42:46
text him requests but he didn't have to
00:42:49
keep pulling on his phone and managing
00:42:51
that way and so I he literally came over
00:42:54
one afternoon and we went out to Leo
00:42:56
signed up for a free starter account and
00:43:00
used the enterprise connector and
00:43:02
connect it to it and it was just so easy
00:43:04
to get a list of all the incoming texts
00:43:06
and display them on the screen and then
00:43:09
give him the ability to just tap on them
00:43:10
and send the response back that says oh
00:43:13
you're next in the queue or well thanks
00:43:15
for the request or what you know just
00:43:17
canned replies like that and it
00:43:18
literally just took me a couple hours to
00:43:21
do that but all together and then he
00:43:22
threw twenty dollars in his Coolio
00:43:24
account and he's been happy ever since
00:43:25
so if you want to send send receive text
00:43:28
messages as well as they do programmable
00:43:31
voice and those things as well the text
00:43:32
message is I think probably the most
00:43:33
useful features of it this is a great
00:43:35
great way to go so check out Enterprise
00:43:37
specters and Twilio for that a little
00:43:43
aside there what was the next question
00:43:45
was how can I send push notifications
00:43:47
using a rad server and firebase I know
00:43:51
that uh was a new feature was added
00:43:53
right now well Google Google's push
00:43:57
notification used to be called GCM
00:43:59
Google Cloud messaging and then they
00:44:01
just changed it to something called
00:44:03
firebase so now instead of using a
00:44:05
Google
00:44:07
GCM we now use firebase so there are
00:44:10
some good white papers and tutorials
00:44:12
that show you how to use the new google
00:44:15
firebase push notification with rad
00:44:17
server so I'll put those links in my in
00:44:19
my blog post also yeah yeah there's some
00:44:25
I see some information here but I'll add
00:44:27
that to use blog post can we use
00:44:30
cryptology cryptography technology other
00:44:32
than open SSL like in soft components to
00:44:35
create a snap clients yeah I recall the
00:44:39
data snaps the data snap also has
00:44:41
support for communication filters where
00:44:44
you can provide custom modifications to
00:44:46
the raw stream of bytes that are
00:44:48
exchanged between clients and servers
00:44:50
I'm going to say yes to that something
00:44:59
good to add in my blog notes on how we
00:45:02
can do that can i migrate system which
00:45:10
is using in Microsoft sequel server to
00:45:12
rad server without migrating the
00:45:14
database to interface the interface that
00:45:20
comes with rad server is only used to
00:45:22
store the the authentication the users
00:45:25
the group the passwords and simple Jason
00:45:28
name value pairs so nothing stops you
00:45:31
from continuing to use your same
00:45:33
Microsoft sequel server database on the
00:45:35
backend and easily and they fired that
00:45:38
connection inside of a rad server data
00:45:41
module that connects to your Microsoft
00:45:43
sequel server database and and use it
00:45:45
the same way you're using it now but
00:45:49
that's a yeah a lot of folks ask can I
00:45:51
replace the included interbase database
00:45:53
that comes with red server with my own
00:45:55
database like a Firebird or a Microsoft
00:45:59
sequel server it's not something that we
00:46:03
don't do don't recommend doing cuz the
00:46:05
interbase database that comes with red
00:46:07
server is tightly bound to right server
00:46:10
to store the the user names and the
00:46:13
passwords and the authentication at red
00:46:15
server itself uses right yep so yeah
00:46:19
exactly the the Internet
00:46:21
you can use it with interbase for the
00:46:23
database but the interface that's
00:46:25
required is dinner based for user names
00:46:27
so yeah you don't have to so you can
00:46:28
keep using Microsoft sequel server or
00:46:30
whatever using I tried data cut snap
00:46:34
proxy generator with a relatively old
00:46:37
build - snap rest server
00:46:40
it created methods with a underscore
00:46:42
cache suffix why is that those those
00:46:48
mobile connectors that you can get from
00:46:50
data snap those are all the helper
00:46:52
classes that you can use with forget the
00:46:56
connectors there's one for Java right so
00:47:00
those are all the helper classes you can
00:47:02
use for other other front-end mobile
00:47:04
clients like I think it was one for
00:47:06
there's a Java particularly so you have
00:47:09
the helper classes for a java
00:47:10
application to connect to the back-end
00:47:12
data snap server functions access the
00:47:16
method in your tournament so all those
00:47:19
files that get created or all the helper
00:47:21
files that get created from that mobile
00:47:23
connector wizard probably has something
00:47:26
to do with the particular connector that
00:47:28
it's connecting to okay next question
00:47:32
Peter again I like the easy way you can
00:47:34
add a table to Rod server with database
00:47:36
endpoints however how do we change the
00:47:39
single record returned so that all
00:47:42
records contain the key searched at the
00:47:44
moment you only get the first record
00:47:46
matching the search but not all records
00:47:49
matching the search yes I can build an
00:47:51
employee manually but a tweak to the
00:47:54
built-in service would be fabulous
00:47:58
so that's the new table endpoints
00:48:01
feature in rad server correct so that
00:48:06
that new database end point wizard will
00:48:11
return all the records back from the
00:48:13
database and there's a there's a page
00:48:15
option that you can add to say only
00:48:17
return like the first first role for the
00:48:20
first five rows or the first 10 rows I'm
00:48:24
not sure if that answers your question
00:48:25
but that's what the new but I think he's
00:48:27
saying if you could
00:48:32
match all records matching a search it's
00:48:35
going to be right by default right if
00:48:36
you do it all rows it's all rows that
00:48:39
match a search criteria if the query is
00:48:43
specific to you know select Astor's from
00:48:47
customer where you know custom customers
00:48:50
annual max gross revenue is you know
00:48:53
five hundred million dollars only those
00:48:55
records will get returned and maybe if
00:49:02
you can send us a specific example of
00:49:04
what you're trying to do we can offer
00:49:05
suggestions on how to do it yeah
00:49:10
are there any plans to change data set
00:49:14
data snap server components to use HTTP
00:49:17
on Windows instead of Indy sockets
00:49:20
Oh HTTP sis do you know on that so I do
00:49:27
not know but good question for the
00:49:30
product managers to ask and okay we'll
00:49:32
get you an answer
00:49:33
yeah so you can put that in as a feature
00:49:37
request certainly at quality Embarcadero
00:49:39
comm that this is me wavelet in your
00:49:46
future requests as well as bug reports
00:49:48
and you can put those go in here and put
00:49:52
those in and they product management
00:49:53
does research look at that records
00:49:58
search option built the so peter says
00:50:01
there no there is a record search option
00:50:04
built into the end point and so Peter if
00:50:07
you probably need to follow up with Al
00:50:09
for specifics and together on that but
00:50:14
or figure that out okay so it is almost
00:50:19
top of the hour here and I do
00:50:21
unfortunately have another today's just
00:50:23
been a key McRae's e day
00:50:29
okay so the if you want to catch the
00:50:32
replay I will put the link in here again
00:50:34
it for this this is the playlist that
00:50:43
okay I say you're saving up here this is
00:50:45
the playlist though that has all the
00:50:48
videos code rate sessions videos on it
00:50:50
and the this replay will be added to the
00:50:53
top of this list so if you are in the
00:50:55
future watching the replay it will be
00:50:58
right here at the top right now it's not
00:51:00
because we're recording it right now but
00:51:02
later today it'll be there so I'll Peter
00:51:06
expanded on he said if you have like a
00:51:09
localhost colon 8080 slash pile issed
00:51:13
slash 1017 if instead of just returning
00:51:17
the one record the match of 1017 how
00:51:19
would you return all the records of
00:51:21
mattress in 17 now I believe I see rest
00:51:25
is one of those things that's kind of
00:51:26
squishy but usually 1017 means I want a
00:51:29
specific item not all items is that am I
00:51:35
missing something there our as Peter
00:51:38
follows up what he only wants to return
00:51:40
one record so instead of doing a get
00:51:42
becomes a get item will you pass it in
00:51:45
that one let's call it the client number
00:51:49
and 17 instead of doing to get you're
00:51:52
gonna do the get item instead
00:51:54
and that'll return to one record where
00:51:56
the the clients number is equal to 10 17
00:52:01
that's the implementation of the get
00:52:03
item endpoint and not to get okay so get
00:52:08
item instead of get okay that's I was I
00:52:10
had it backwards in my mind so thank you
00:52:14
for explaining look okay medicine Jim
00:52:19
one of those things I don't know if it's
00:52:21
the the cold medicine of the lack of
00:52:23
sleep at this point but hey it's
00:52:25
entertaining one thing there's a couple
00:52:27
other things on here one of these
00:52:28
particular is this rad server with new
00:52:31
at I session video and he has a book
00:52:34
that's available here as well yeah
00:52:36
complete guide to rebook I will put the
00:52:39
link in here for this in the chat
00:52:41
session
00:52:42
if you're on a subscription you have
00:52:46
access to that
00:52:48
Oh so Peter says he wants all records
00:52:53
that match 10:17 so didn't you beget
00:52:56
items right anyway so Peter if you
00:53:00
follow up with now he can get this
00:53:03
figured out later
00:53:04
correct so yeah I just put the link in
00:53:07
there for the complete guide to rad
00:53:10
server eBook this is a really extensive
00:53:13
ebook that David I put together
00:53:15
so if you're want more efficient on rad
00:53:18
server definitely check that out as well
00:53:20
are you sorry doomed to interrupt but
00:53:23
just the other Jim in that book is
00:53:26
actually a photo of David I in a suit so
00:53:30
if people have never seen him out of his
00:53:32
out of his tie-dye shirts he's actually
00:53:35
in the suit suit jacket and tie so
00:53:39
that's worth it just that's worth the
00:53:41
price of admission just for that yeah
00:53:43
it's free download so ya go down
00:53:49
absolutely
00:53:51
oh I would like to customize the
00:53:55
dashboard generated by rad server I know
00:53:57
that that's supportive but it's not
00:53:58
something I've looked into yet I believe
00:53:59
it's in the doc whiskey though but we
00:54:02
are let me see if I can find it on that
00:54:04
do you know anything about how did that
00:54:05
customize the dashboard rad server well
00:54:10
well yeah I believe we'll give you the
00:54:12
source code for the for the dashboard so
00:54:15
you should be able have access to the
00:54:16
source code and customize it any way you
00:54:19
want yep I can't wear what it's called but
00:54:22
yeah there's there's it's all in there
00:54:24
so you can customize it I think there's
00:54:26
a code range or webinars like that on
00:54:28
those well but I don't recall the
00:54:29
details of him so and recent versions we
00:54:34
changed the console now we use our own
00:54:36
Sencha web framework for the for the
00:54:40
front-end web client so you should be
00:54:41
able to find the source code for that
00:54:44
for the JavaScript and the HTML that we
00:54:47
use for the for the web console now I'll
00:54:51
add that to my blog post also
00:54:55
awesome great thank you out so thank you
00:55:00
everybody for being part of this today
00:55:03
especially thank you to our presenters
00:55:09
that put together the sessions for us
00:55:10
and came online I especially Malcolm I
00:55:15
know it's the middle of the night for
00:55:17
you early early morning so thank you for
00:55:18
joining and really appreciate that and
00:55:22
thank you of course for all of our
00:55:24
attendees that are on here with your
00:55:26
questions and your comments and
00:55:28
hopefully got some useful content out of
00:55:31
this conversation around client-server
00:55:34
technologies with Delphi and we will so
00:55:38
I got I should have put a slide in there
00:55:40
next week is fast C++ so if you're a C++
00:55:46
developer we didn't forget you on that
00:55:49
as well anything let's go around real
00:55:53
quick for everybody anything you want to
00:55:54
add
00:55:55
Felix real quick before we go sorry I
00:56:00
didn't understand just what to see if
00:56:02
you had anything you had any closing
00:56:04
comments that eating it she has to
00:56:05
mention earlier before we go no nothing
00:56:09
special I was thank you fire fire to me
00:56:12
oh absolutely my pleasure Danny didn't
00:56:14
get chance to hear from you very much
00:56:16
unfortunately a lots of great videos for
00:56:19
it to go watch but anything you want to
00:56:20
add real quick before we go no just have
00:56:23
a nice holidays and that's it yeah I
00:56:26
found out actually people are on holiday
00:56:29
already so December is always tricky I
00:56:33
seriously consider just skipping it
00:56:34
altogether so yes really enjoy your your
00:56:37
holidays mal I think real quick before
00:56:40
we go
00:56:41
enough always a pleasure especially the
00:56:45
dulcet tons of elementary now so I've
00:56:47
enjoyed myself awesome great thanks
00:56:51
and any closing comments before we wrap
00:56:55
this session up I'll just say you know
00:56:57
both Delphi and C++ bill to have those
00:57:00
great three technologies to build those
00:57:02
multi tier middle tier solutions you
00:57:05
know data snap rad server and web broker
00:57:08
so if you haven't looked at them yet you
00:57:10
know take a look at them so if you have
00:57:12
any need for the web server middle tier
00:57:14
or or any type of middle care solution
00:57:18
no they're very powerful and very rich
00:57:20
frameworks for creating these uh these
00:57:22
multi tier solutions oh absolutely
00:57:26
great all right well thank everybody for
00:57:29
joining us and the you will receive an
00:57:32
email with the link to along with the
00:57:37
playlist again so you can go back and
00:57:39
watch a video that maybe you didn't
00:57:41
realize how amazing it was yet or that
00:57:43
you just didn't get to yet and maybe
00:57:47
need to see again and as well as the
00:57:49
replay for this session and appreciate
00:57:51
everybody being here and for all your
00:57:52
questions and thank you so much take
00:57:55
care of ready all right thank you have a
00:57:57
great day and happy holidays cheese goes

Description:

Jim McKeeth and Al Mannarino lead this roundtable and discuss some great tips for getting the most out of Embarcadero's backend tools. ** Find the full playlist at https://www.youtube.com/playlist?list=PLwUPJvR9mZHg6m-6oMqJFfbl1bip8C7W1 ** https://www.embarcadero.com/

Preparing download options

popular icon
Popular
hd icon
HD video
audio icon
Only sound
total icon
All
* — If the video is playing in a new tab, go to it, then right-click on the video and select "Save video as..."
** — Link intended for online playback in specialized players

Questions about downloading video

mobile menu iconHow can I download "CodeRage 2019 Live Q&A - RAD Server, DataSnap, and Client Server" video?mobile menu icon

  • http://unidownloader.com/ website is the best way to download a video or a separate audio track if you want to do without installing programs and extensions.

  • The UDL Helper extension is a convenient button that is seamlessly integrated into YouTube, Instagram and OK.ru sites for fast content download.

  • UDL Client program (for Windows) is the most powerful solution that supports more than 900 websites, social networks and video hosting sites, as well as any video quality that is available in the source.

  • UDL Lite is a really convenient way to access a website from your mobile device. With its help, you can easily download videos directly to your smartphone.

mobile menu iconWhich format of "CodeRage 2019 Live Q&A - RAD Server, DataSnap, and Client Server" video should I choose?mobile menu icon

  • The best quality formats are FullHD (1080p), 2K (1440p), 4K (2160p) and 8K (4320p). The higher the resolution of your screen, the higher the video quality should be. However, there are other factors to consider: download speed, amount of free space, and device performance during playback.

mobile menu iconWhy does my computer freeze when loading a "CodeRage 2019 Live Q&A - RAD Server, DataSnap, and Client Server" video?mobile menu icon

  • The browser/computer should not freeze completely! If this happens, please report it with a link to the video. Sometimes videos cannot be downloaded directly in a suitable format, so we have added the ability to convert the file to the desired format. In some cases, this process may actively use computer resources.

mobile menu iconHow can I download "CodeRage 2019 Live Q&A - RAD Server, DataSnap, and Client Server" video to my phone?mobile menu icon

  • You can download a video to your smartphone using the website or the PWA application UDL Lite. It is also possible to send a download link via QR code using the UDL Helper extension.

mobile menu iconHow can I download an audio track (music) to MP3 "CodeRage 2019 Live Q&A - RAD Server, DataSnap, and Client Server"?mobile menu icon

  • The most convenient way is to use the UDL Client program, which supports converting video to MP3 format. In some cases, MP3 can also be downloaded through the UDL Helper extension.

mobile menu iconHow can I save a frame from a video "CodeRage 2019 Live Q&A - RAD Server, DataSnap, and Client Server"?mobile menu icon

  • This feature is available in the UDL Helper extension. Make sure that "Show the video snapshot button" is checked in the settings. A camera icon should appear in the lower right corner of the player to the left of the "Settings" icon. When you click on it, the current frame from the video will be saved to your computer in JPEG format.

mobile menu iconWhat's the price of all this stuff?mobile menu icon

  • It costs nothing. Our services are absolutely free for all users. There are no PRO subscriptions, no restrictions on the number or maximum length of downloaded videos.