rad server - delphiday.it€¦ · § multi-tenancy documenting your apis automatic doc support...

26
RAD SERVER Marco Cantu, Delphi Product Manager [email protected] Twitter: @marcocantu

Upload: others

Post on 17-Aug-2020

10 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: RAD SERVER - delphiday.it€¦ · § Multi-tenancy DOCUMENTING YOUR APIS Automatic doc support Publishing custom API endpoints docs • Swagger RESTful API Documentation Specification

RADSERVER

MarcoCantu,[email protected]:@marcocantu

Page 2: RAD SERVER - delphiday.it€¦ · § Multi-tenancy DOCUMENTING YOUR APIS Automatic doc support Publishing custom API endpoints docs • Swagger RESTful API Documentation Specification

AGENDA(INTRODUCTION)

§ WhatisRADServer§  TechnicalfoundationsofRADServer§  JSONsupport§  ReturningJSONforJavaScriptandExtJSclients•  SupportingHTMLandrelatedstaticfiles

§  UsersandPermissions§  Analytics

2

Page 3: RAD SERVER - delphiday.it€¦ · § Multi-tenancy DOCUMENTING YOUR APIS Automatic doc support Publishing custom API endpoints docs • Swagger RESTful API Documentation Specification

AGENDA(ADVANCED)

§  ExposingFireDACdatabasedata•  Streaming•  BatchMove• MetaDatamanagement

§  Advancedusersmanagement•  Customlogins

§  Distributedresourcemanagements(ThingPoints)

§  NotesonDeployment

3

Page 4: RAD SERVER - delphiday.it€¦ · § Multi-tenancy DOCUMENTING YOUR APIS Automatic doc support Publishing custom API endpoints docs • Swagger RESTful API Documentation Specification

4

PARTI:RADServerIntroduction

Page 5: RAD SERVER - delphiday.it€¦ · § Multi-tenancy DOCUMENTING YOUR APIS Automatic doc support Publishing custom API endpoints docs • Swagger RESTful API Documentation Specification

WHYRADSERVER?

▪  Rapidlyconnectyourappstoyourenterprisedatabasesandserviceshostedon-premisesorinaprivatecloud

▪  Makeenterprisedataeasilyavailableoneverydevice,keepingitsecure

▪  Includesuserandgroupsusageanalytics,alongwithRESTAPIcallsanalytics

5

Page 6: RAD SERVER - delphiday.it€¦ · § Multi-tenancy DOCUMENTING YOUR APIS Automatic doc support Publishing custom API endpoints docs • Swagger RESTful API Documentation Specification

RADSERVERQUICKOVERVIEW

§  THEPERFECTBACK-ENDFORDELPHIANDC++BUILDERAPPS

REST End Point Publishing

Integration Middleware

Application Services

Page 7: RAD SERVER - delphiday.it€¦ · § Multi-tenancy DOCUMENTING YOUR APIS Automatic doc support Publishing custom API endpoints docs • Swagger RESTful API Documentation Specification
Page 8: RAD SERVER - delphiday.it€¦ · § Multi-tenancy DOCUMENTING YOUR APIS Automatic doc support Publishing custom API endpoints docs • Swagger RESTful API Documentation Specification
Page 9: RAD SERVER - delphiday.it€¦ · § Multi-tenancy DOCUMENTING YOUR APIS Automatic doc support Publishing custom API endpoints docs • Swagger RESTful API Documentation Specification
Page 10: RAD SERVER - delphiday.it€¦ · § Multi-tenancy DOCUMENTING YOUR APIS Automatic doc support Publishing custom API endpoints docs • Swagger RESTful API Documentation Specification

InterBaseServerIncluded

•  PluginEMSPackage

RADSERVEROVERVIEW

RADServer(EMS)

•  Userstracking•  RESTAPIanalytics

EMSClients•  RestAPI

•  InterBaseToGolicensesincluded

EMSDBConsole

Page 11: RAD SERVER - delphiday.it€¦ · § Multi-tenancy DOCUMENTING YOUR APIS Automatic doc support Publishing custom API endpoints docs • Swagger RESTful API Documentation Specification

RADSERVERARCHITECTURE

Page 12: RAD SERVER - delphiday.it€¦ · § Multi-tenancy DOCUMENTING YOUR APIS Automatic doc support Publishing custom API endpoints docs • Swagger RESTful API Documentation Specification

RADSERVERARCHITECTURE

•  RADServerServer:ExposesRESTAPI–  Built-inresources

•  Users,Groups,Version–  Customresources

•  Developerscreatepackageswithmodulesthatregisternewresources

•  RADServerDatabase:Storesusersandanalyticsdata–  UserInterBase,licenseisincluded

•  RADServerConsole:TrackStatusandUsage

Page 13: RAD SERVER - delphiday.it€¦ · § Multi-tenancy DOCUMENTING YOUR APIS Automatic doc support Publishing custom API endpoints docs • Swagger RESTful API Documentation Specification

FIRSTSTEPSINPUBLISHINGAPIS

§  CreatinganEMSresourcepackage•  ImplementingtheRESTAPIs•  Executingtheserver•  CallingtheAPIsformabrowseroraclientapp

§  Examiningtheconsole•  Andtheusermanagementapp

§  Configurationwizards•  AndtheEMS.INIfilekeysettings

Page 14: RAD SERVER - delphiday.it€¦ · § Multi-tenancy DOCUMENTING YOUR APIS Automatic doc support Publishing custom API endpoints docs • Swagger RESTful API Documentation Specification

RADSERVERPACKAGES

•  AddresourcestoRADServer– MappedtoURI

•  Wizardshelpcreatepackagesandaddaresourcetoanexistingpackage–  RADServerPackageWizard,optionallyaddsfirstresource

–  RADServerModuleWizard,formoreresources

Page 15: RAD SERVER - delphiday.it€¦ · § Multi-tenancy DOCUMENTING YOUR APIS Automatic doc support Publishing custom API endpoints docs • Swagger RESTful API Documentation Specification

RADSERVERCLIENTS

•  Experimentingwithabrowser•  UsingtheRESTdebugger•  ClientsmakeRESTAPIcalls

•  AnyHTTPlibrarywouldwork•  BaaSarchitecturefortheclientside

–  EMSProvidercomponenttoconnect–  UseBAASComponentsforservices

•  TBackendQuery,TBackendUser,TBackendEndpoint–  HandyTEMSFireDACClientcomponent

•  FortransferringdataanddeltapacketsbetweenclientandEMSserver

Page 16: RAD SERVER - delphiday.it€¦ · § Multi-tenancy DOCUMENTING YOUR APIS Automatic doc support Publishing custom API endpoints docs • Swagger RESTful API Documentation Specification

MOREONJSONSUPPORT

§  JSON=JavaScriptObjectNotation§  JSONbutnotonly

•  JSONobjectsandstrings•  JSONstreaming

§  Returningstaticfiles•  FortestinglocallyHTML+JSapps

Page 17: RAD SERVER - delphiday.it€¦ · § Multi-tenancy DOCUMENTING YOUR APIS Automatic doc support Publishing custom API endpoints docs • Swagger RESTful API Documentation Specification

RESOURCESANDENDPOINTS

§  GetandGetItem§  Put,Post,Delete§  QueryparamsandotherHTTPrequestinformation

Page 18: RAD SERVER - delphiday.it€¦ · § Multi-tenancy DOCUMENTING YOUR APIS Automatic doc support Publishing custom API endpoints docs • Swagger RESTful API Documentation Specification

USERSANDPERMISSIONS

§  Basicusersmanagement•  Userendpoints•  Usersauthentication•  BackendAuthcomponent

§  Permissions•  Usersauthorization•  Groups

Page 19: RAD SERVER - delphiday.it€¦ · § Multi-tenancy DOCUMENTING YOUR APIS Automatic doc support Publishing custom API endpoints docs • Swagger RESTful API Documentation Specification

ANALYTICS

§  Built-inuserandAPIanalytics

Page 20: RAD SERVER - delphiday.it€¦ · § Multi-tenancy DOCUMENTING YOUR APIS Automatic doc support Publishing custom API endpoints docs • Swagger RESTful API Documentation Specification

20

PARTII:RADServerAdvanced

Page 21: RAD SERVER - delphiday.it€¦ · § Multi-tenancy DOCUMENTING YOUR APIS Automatic doc support Publishing custom API endpoints docs • Swagger RESTful API Documentation Specification

RADSERVERANDFIREDAC

▪  FireDACJSONStreaming•  SaveToStream,LoadFromStreamwithsfJSONformat

•  Exposeasresource,consumeviaBackendEndPoint

▪  UsingtheBatchMovearchitecture▪  UseFDSchemaAdapter

•  Capturesmaster/detailrelationshipsonserver•  Exposesthesameontheclient•  Directhookstostreaming,invocation

Page 22: RAD SERVER - delphiday.it€¦ · § Multi-tenancy DOCUMENTING YOUR APIS Automatic doc support Publishing custom API endpoints docs • Swagger RESTful API Documentation Specification

USINGFDSCHEMAADAPTER

▪  Let’slookatademobasedonFDSchemaAdapter•  ARADServer•  AVCLdesktopEMSclient

▪  Using:•  FireDACwithmaster/detailstructure•  StreamingbasedonFDSchemaAdapter

▪  DemoshipswithRADStudio

22

Page 23: RAD SERVER - delphiday.it€¦ · § Multi-tenancy DOCUMENTING YOUR APIS Automatic doc support Publishing custom API endpoints docs • Swagger RESTful API Documentation Specification

ADVANCEDFEATURES

§  Advancedusersmanagementandcustomloginmodules

§  Integratedpushnotificationssupport§  EdgeModulesorThingPoints§ Multi-tenancy

Page 24: RAD SERVER - delphiday.it€¦ · § Multi-tenancy DOCUMENTING YOUR APIS Automatic doc support Publishing custom API endpoints docs • Swagger RESTful API Documentation Specification

DOCUMENTINGYOURAPIS

▪  Automaticdocsupport▪  PublishingcustomAPIendpointsdocs

•  SwaggerRESTfulAPIDocumentationSpecification•  JSONorYAMLformats

Page 25: RAD SERVER - delphiday.it€¦ · § Multi-tenancy DOCUMENTING YOUR APIS Automatic doc support Publishing custom API endpoints docs • Swagger RESTful API Documentation Specification

DEPLOYINGRADSERVER

▪  InterBaseServer▪  RADServer:ServerandConsoleapplications

•  Standaloneserversfordevelopment(5users)•  DeploymentISAPI/Apachelibrary

▪  RunonWin32orWin64▪  CustomAPIsaredeployedusingEMSpackages

•  StandardDelphiorC++BuilderBPLfiles▪  EMS.INI

25

Page 26: RAD SERVER - delphiday.it€¦ · § Multi-tenancy DOCUMENTING YOUR APIS Automatic doc support Publishing custom API endpoints docs • Swagger RESTful API Documentation Specification

26

THANKS!Anyquestions?Youcanfindmeat:@[email protected]