Architecting C++ apps

Similar documents
RAD Studio XE5 in Action Tech Preview

What's new in Delphi XE7

Embarcadero Technologies Copyright 2017

RAD Studio XE Datasheet

RAD Studio Product Address

Delphi Day, June Delphi 10 Tokyo for Windows 10 and More

RAD Studio XE4 in Action LIVE! 14th May, 2013 Taipei Malcolm Groves

David Intersimone David I Vice President of Developer Relations and Chief Evangelist Twitter: davidi99 Blog:

Delphi XE. Delphi XE Datasheet

RAD SERVER. Marco Cantu, Delphi Product Manager

Edge Foundational Training

Sentinet for Microsoft Azure SENTINET

16th Embarcadero Developers Camp. Opening Session. Jason Vokes. Senior Director Technologies & Marketing International

1 Modular architecture

Introduction to ArcGIS Server Architecture and Services. Amr Wahba

Oracle Database Mobile Server, Version 12.2

Build Mobile Cloud Apps Effectively Using Oracle Mobile Cloud Services (MCS)

Modernize and Transform Your Storage Network. Alain HUGUET EMEA Technical Alliance Manager for DELL EMC

Develop and test your Mobile App faster on AWS

DreamFactory Security Guide

Azure Compute. Azure Virtual Machines

Agenda. New Delphi Language Features. C++ 17 for Win32. FireMonkey Android zorder, Native Controls and API Level 26

Developing with the Cloud

It Is a Difficult Question! The Goal of This Study. Specification. The Goal of This Study. History. Existing Benchmarks

Apigee Edge Developer Training

Copyright 2018, Oracle and/or its affiliates. All rights reserved.

Technical Brief. A Checklist for Every API Call. Managing the Complete API Lifecycle

Copyright 2012, Oracle and/or its affiliates. All rights reserved.

Introduction to Worklight Integration IBM Corporation

Connect and Transform Your Digital Business with IBM

PROGRAMMING DELPHI DATABASE APPLICATIONS by Francisco Charte. (C) 2017 Danysoft

FIREFLY ARCHITECTURE: CO-BROWSING AT SCALE FOR THE ENTERPRISE

C++Builder - Frequently Asked Questions

What is it? What does it do?

Sentinet for BizTalk Server SENTINET

Scaling DreamFactory

2013 Cisco and/or its affiliates. All rights reserved. 1

See What's Coming Available in RAD Studio, Delphi and C++Builder RIDE THE WINDOWS 10 RELEASE WAVE

Introduction and Overview

70-487: Developing Windows Azure and Web Services

Let s say that hosting a cloudbased application is like car ownership

<Insert Picture Here> Oracle Coherence & Extreme Transaction Processing (XTP)

Jitterbit is comprised of two components: Jitterbit Integration Environment

The IBM MobileFirst Platform

Hewlett Packard Enterprise HPE GEN10 PERSISTENT MEMORY PERFORMANCE THROUGH PERSISTENCE

Tableau Server - 101

Kony MobileFabric. Release Notes. On-Premises. Release 6.5. Document Relevance and Accuracy

Copyright 2014, Oracle and/or its affiliates. All rights reserved.

13. Databases on the Web

Pulse Secure Application Delivery

Alteryx Technical Overview

Copyright 2014, Oracle and/or its affiliates. All rights reserved.

Advance Mobile& Web Application development using Angular and Native Script

Industrial system integration experts with combined 100+ years of experience in software development, integration and large project execution

JAVASCRIPT CHARTING. Scaling for the Enterprise with Metric Insights Copyright Metric insights, Inc.

Qlik Sense Enterprise architecture and scalability

Oracle Enterprise Manager 12c Sybase ASE Database Plug-in

Best Practices for Validating the Performance of Data Center Infrastructure. Henry He Ixia

About 1. Chapter 1: Getting started with odata 2. Remarks 2. Examples 2. Installation or Setup 2. Odata- The Best way to Rest 2

Migrating traditional Java EE applications to mobile

PostgreSQL and REST API s The Easy Way

EMBARCADERO TECHNOLOGIES. Agenda. 歡迎和簡介 RAD XE8 產品願景 XE8 的新功能 開發人員生產力 Enterprise Mobility Services(EMS) InterBase XE7 結論和 Q&A

Key Differentiators. What sets Ideal Anaytics apart from traditional BI tools

Embarcadero 2011 Product Strategy

Top 7 Data API Headaches (and How to Handle Them) Jeff Reser Data Connectivity & Integration Progress Software

Oracle WebLogic Server 12c: Administration I

Windows Azure Services - At Different Levels

Preguntas + frecuentes sobre Embarcadero RadPHP XE

SQL Azure. Abhay Parekh Microsoft Corporation

Developing Enterprise Cloud Solutions with Azure

Introduction. Enterprise Java Instructor: Please introduce yourself Name Experience in Java Enterprise Edition Goals you hope to achieve

70-532: Developing Microsoft Azure Solutions

Cloud + Big Data Putting it all Together

Verasys Enterprise Security and IT Guide

Developing ASP.NET MVC Web Applications (486)

Example Azure Implementation for Government Agencies. Indirect tax-filing system. By Alok Jain Azure Customer Advisory Team (AzureCAT)

Orleans. Actors for High-Scale Services. Sergey Bykov extreme Computing Group, Microsoft Research

Android Essentials with Java

ArcGIS Enterprise: An Introduction. Philip Heede

STATE OF MODERN APPLICATIONS IN THE CLOUD

Active Server Pages Architecture

Windows Azure Solutions with Microsoft Visual Studio 2010

Cloud Native Architecture 300. Copyright 2014 Pivotal. All rights reserved.

Scaling ColdFusion. Presenter Mike Collins, Sr. ColdFusion Consultant - SupportObjective

Next-Generation Cloud Platform

MS-20487: Developing Windows Azure and Web Services

COURSE 20487B: DEVELOPING WINDOWS AZURE AND WEB SERVICES

Il Mainframe e il paradigma dell enterprise mobility. Carlo Ferrarini zsystems Hybrid Cloud

70-532: Developing Microsoft Azure Solutions

Introduction to Genero Enterprise

Copyright 2012 EMC Corporation. All rights reserved.

Review. Fundamentals of Website Development. Web Extensions Server side & Where is your JOB? The Department of Computer Science 11/30/2015

1Z Oracle. Java Enterprise Edition 5 Enterprise Architect Certified Master

Pick A Winner! In What Tool Should I Develop My Next App?

SERVICE-ORIENTED COMPUTING

JDBC SHORT NOTES. Abstract This document contains short notes on JDBC, their types with diagrams. Rohit Deshbhratar [ address]

Building a Scalable Architecture for Web Apps - Part I (Lessons Directi)

Multitiered Architectures & Cloud Services. Benoît Garbinato

SUN Sun Certified Enterprise Architect for J2EE 5. Download Full Version :

Agenda. AWS Database Services Traditional vs AWS Data services model Amazon RDS Redshift DynamoDB ElastiCache

Transcription:

Architecting C++ apps with a multi-device application platform John JT Thomas Director of Product Management jt@embarcadero.com @FireMonkeyPM blogs.embarcadero.com/jtembarcadero/

What is a multi-device application platform? Supports multiple client operating systems and form factors Manages data efficiently Exposes the Enterprise securely Integrates social and web services 2

Multi-Device Application Platform MiddleWare Database Client Devices Web and Social Services

Multiple client OSs and form factors MiddleWare Database Client Devices UI Web and Social Services

Efficient and Secure Data MiddleWare Database Client Devices Web and Social Services

Securely Exposed Enterprise MiddleWare Database Client Devices ENTERPRISE Web and Social Services

Integrated web and social services MiddleWare Database Client Devices CLOUD Web and Social Services

API Description Embarcadero Technology ENTEPRISE UI Windows Mac OS X ios Android* DATA Storage SQL Encryption On Device Private Cloud Service Public Cloud Service Enterprise Data Service Private API Hosting FireMonkey InterBase DataSnap FireDAC 8 CLOUD REST Connectivety Web (Public) API Service Social Network Integration Mobile Backend as a Service REST FM

UI FIREMONKEY 9

Multi-Device with RAD Studio XE5 One team one codebase $ C++ Source Code Future FM Application Platform

True Native Code True native apps in RAD Studio are script-free and run directly on hardware CPU delivering the following advantages: Fast Uncompromised native device performance with full native API and CPU control when needed, and not limited by or slowed by script interpreters and VMs. Predictable Apps run directly on the device CPU, as intended by the device vendors, and are not slowed by additional software layers and random garbage collection. Better User Experience (UX) Apps take full advantage of device capabilities and performance.

The Fastest Way to develop Windows, Mac OS X and ios apps in C++

DATA INTERBASE 13

On Device Embedded Databases SQLite IBLite InterBase ToGo Free Free Commercial Feature light Feature light Fully featured No security No security Secure Encryption Simple Data Storage Full SQL-92 RDBMS Full SQL-92 RDBMS Single read/write Fast multi read/write Fast multi read/write

ENTERPRISE FIREDAC DATASNAP 15

FireDAC A set of Universal Data Access Components for developing any database application for Delphi and C++Builder High-performance, easy-to-use, enterprise connectivity Universal Data Access With many database specific features

Enterprise Ready Your App FM FireDAC Server Methods C++ or Delphi DataSnap FireDAC Oracle MSSQL DB2 Sybase & more... InterBase or SQLLite Device 17

Visual LiveBindings Bind controls to data Rapid Prototyping

Multitier with DataSnap Accessing remote on-premise or cloud-hosted services via REST/JSON or SOAP Connecting to Enterprise data from a mobile device Delphi for mobile app DataSnap Server Database

DataSnap Usage Metrics

DataSnap app types

DataSnap Best Practice HTTP REST connectivity ISAPI / Microsoft IIS Asynchronous, session-less connections Provides the highest scalability and load balancing support

Type of DataSnap Server / Project DataSnap REST App and WebBroker App use the same infrastructure Different default options, JavaScript deployment Use IIS as target But development can be done with a local Indy server (best for debugging) Indy throughput can be improved with thread caching

IIS vs. Indy Throughput

TDSServerClass LifeCycle Options Server lifecycle only for global objects Need to be protected against concurrent access Session lifecycle For a REST application falls back to invocation Invocation lifecycle This is the fully stateless approach, recommended for better scalability User database connection caching / data caching if needed

Configuration of Application Layer Delphi open to different alternatives Subject to the application approach and architecture Simpler logic or business logic in SQL layer, just handle datasets directly More complex business logic could benefit from an object layer (ORM) FireDAC is the recommended data access technology

Data Set Caching in Middle Tier Global vs. Session data If there are two many sessions, session data can grow Session data prevents load balancing on multiple server Read-only vs. Read-Write data Read only: concurrent access is quite simple Read-write: must implement concurrency, transaction, persistence in case of crashes, write conflicts which a database does for you

Caching and Optimizations HTTP level caching Return the same response for a given time (in DataSnap or Web Server level ie. IIS) Client caching / delta request Client can keep data around, query for updates rather than complete tables Speed database connection Proximity (high speed connection) Connection caching RDBMS access generally much faster than remote client access

CLOUD REST FM 29

XE5 Rest Client Stack REST components For developing REST client application RESTDemos.exe Uses REST components to access a few different providers RESTDebugger.exe Uses REST components to execute ad hoc requests

REST component features Comprehensive HTTP client Asynchronous execution Proxy connection HTTPS Authentication Basic, OAuth1, OAuth2 JSON Parsing, Formatting JSON to TObject, TObject to JSON Rapid Prototyping LiveBindings Design time execution

Deliver truly connected applications With C++Builder s Multi- Device Application Platform, you can deliver truly connected applications that support real time communication and access to enterprise data and cloud services. 32

The Client Revolution An Unprecedented Multi-Device Landscape

Questions どうもありがとうございました Doumo Arigatou Gozaimashita