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

Post on 17-Aug-2020

11 Views

Category:

Documents

0 Downloads

Preview:

Click to see full reader

TRANSCRIPT

RADSERVER

MarcoCantu,DelphiProductManagermarco.cantu@embarcadero.comTwitter:@marcocantu

AGENDA(INTRODUCTION)

§ WhatisRADServer§  TechnicalfoundationsofRADServer§  JSONsupport§  ReturningJSONforJavaScriptandExtJSclients•  SupportingHTMLandrelatedstaticfiles

§  UsersandPermissions§  Analytics

2

AGENDA(ADVANCED)

§  ExposingFireDACdatabasedata•  Streaming•  BatchMove• MetaDatamanagement

§  Advancedusersmanagement•  Customlogins

§  Distributedresourcemanagements(ThingPoints)

§  NotesonDeployment

3

4

PARTI:RADServerIntroduction

WHYRADSERVER?

▪  Rapidlyconnectyourappstoyourenterprisedatabasesandserviceshostedon-premisesorinaprivatecloud

▪  Makeenterprisedataeasilyavailableoneverydevice,keepingitsecure

▪  Includesuserandgroupsusageanalytics,alongwithRESTAPIcallsanalytics

5

RADSERVERQUICKOVERVIEW

§  THEPERFECTBACK-ENDFORDELPHIANDC++BUILDERAPPS

REST End Point Publishing

Integration Middleware

Application Services

InterBaseServerIncluded

•  PluginEMSPackage

RADSERVEROVERVIEW

RADServer(EMS)

•  Userstracking•  RESTAPIanalytics

EMSClients•  RestAPI

•  InterBaseToGolicensesincluded

EMSDBConsole

RADSERVERARCHITECTURE

RADSERVERARCHITECTURE

•  RADServerServer:ExposesRESTAPI–  Built-inresources

•  Users,Groups,Version–  Customresources

•  Developerscreatepackageswithmodulesthatregisternewresources

•  RADServerDatabase:Storesusersandanalyticsdata–  UserInterBase,licenseisincluded

•  RADServerConsole:TrackStatusandUsage

FIRSTSTEPSINPUBLISHINGAPIS

§  CreatinganEMSresourcepackage•  ImplementingtheRESTAPIs•  Executingtheserver•  CallingtheAPIsformabrowseroraclientapp

§  Examiningtheconsole•  Andtheusermanagementapp

§  Configurationwizards•  AndtheEMS.INIfilekeysettings

RADSERVERPACKAGES

•  AddresourcestoRADServer– MappedtoURI

•  Wizardshelpcreatepackagesandaddaresourcetoanexistingpackage–  RADServerPackageWizard,optionallyaddsfirstresource

–  RADServerModuleWizard,formoreresources

RADSERVERCLIENTS

•  Experimentingwithabrowser•  UsingtheRESTdebugger•  ClientsmakeRESTAPIcalls

•  AnyHTTPlibrarywouldwork•  BaaSarchitecturefortheclientside

–  EMSProvidercomponenttoconnect–  UseBAASComponentsforservices

•  TBackendQuery,TBackendUser,TBackendEndpoint–  HandyTEMSFireDACClientcomponent

•  FortransferringdataanddeltapacketsbetweenclientandEMSserver

MOREONJSONSUPPORT

§  JSON=JavaScriptObjectNotation§  JSONbutnotonly

•  JSONobjectsandstrings•  JSONstreaming

§  Returningstaticfiles•  FortestinglocallyHTML+JSapps

RESOURCESANDENDPOINTS

§  GetandGetItem§  Put,Post,Delete§  QueryparamsandotherHTTPrequestinformation

USERSANDPERMISSIONS

§  Basicusersmanagement•  Userendpoints•  Usersauthentication•  BackendAuthcomponent

§  Permissions•  Usersauthorization•  Groups

ANALYTICS

§  Built-inuserandAPIanalytics

20

PARTII:RADServerAdvanced

RADSERVERANDFIREDAC

▪  FireDACJSONStreaming•  SaveToStream,LoadFromStreamwithsfJSONformat

•  Exposeasresource,consumeviaBackendEndPoint

▪  UsingtheBatchMovearchitecture▪  UseFDSchemaAdapter

•  Capturesmaster/detailrelationshipsonserver•  Exposesthesameontheclient•  Directhookstostreaming,invocation

USINGFDSCHEMAADAPTER

▪  Let’slookatademobasedonFDSchemaAdapter•  ARADServer•  AVCLdesktopEMSclient

▪  Using:•  FireDACwithmaster/detailstructure•  StreamingbasedonFDSchemaAdapter

▪  DemoshipswithRADStudio

22

ADVANCEDFEATURES

§  Advancedusersmanagementandcustomloginmodules

§  Integratedpushnotificationssupport§  EdgeModulesorThingPoints§ Multi-tenancy

DOCUMENTINGYOURAPIS

▪  Automaticdocsupport▪  PublishingcustomAPIendpointsdocs

•  SwaggerRESTfulAPIDocumentationSpecification•  JSONorYAMLformats

DEPLOYINGRADSERVER

▪  InterBaseServer▪  RADServer:ServerandConsoleapplications

•  Standaloneserversfordevelopment(5users)•  DeploymentISAPI/Apachelibrary

▪  RunonWin32orWin64▪  CustomAPIsaredeployedusingEMSpackages

•  StandardDelphiorC++BuilderBPLfiles▪  EMS.INI

25

26

THANKS!Anyquestions?Youcanfindmeat:@marcocantumarco.cantu@embarcadero.com

top related