Integration and Extensibility

28
Integration and Extensibility The OpenEdge Strategy Mike Marriage Senior Principal Product Manager [email protected]

Transcript of Integration and Extensibility

Page 1: Integration and Extensibility

Integration and Extensibility The OpenEdge Strategy

Mike MarriageSenior Principal Product [email protected]

Page 2: Integration and Extensibility

2© 2017 Progress Software Corporation and/or its subsidiaries or affiliates. All rights reserved.© 2017 Progress Software Corporation and/or its subsidiaries or affiliates. All rights reserved.© 2017 Progress Software Corporation and/or its subsidiaries or affiliates. All rights reserved.

Agenda§ Introduction§ Data, Data Everywhere§ The Tools Of The Trade§ Final Thoughts§ Questions

Page 3: Integration and Extensibility

3© 2017 Progress Software Corporation and/or its subsidiaries or affiliates. All rights reserved.© 2017 Progress Software Corporation and/or its subsidiaries or affiliates. All rights reserved.© 2017 Progress Software Corporation and/or its subsidiaries or affiliates. All rights reserved.© 2017 Progress Software Corporation and/or its subsidiaries or affiliates. All rights reserved.© 2017 Progress Software Corporation and/or its subsidiaries or affiliates. All rights reserved.

Data, Data, Everywhere

The goal is to turn data into information, and information into insight.

Carly Fiorina, Former CEO of HP

Page 4: Integration and Extensibility

4© 2017 Progress Software Corporation and/or its subsidiaries or affiliates. All rights reserved.© 2017 Progress Software Corporation and/or its subsidiaries or affiliates. All rights reserved.© 2017 Progress Software Corporation and/or its subsidiaries or affiliates. All rights reserved.

The Value Of Data

Data is the new oil. Like oil, the value in data lies in what you do with it. Unless it’s broken down and refined, data has no value.

Page 5: Integration and Extensibility

Source: IDC’S Data Age 2025 study, sponsored by Seagate, March 2017

0

1,000

2,000

3,000

4,000

5,000

6,000

7,000

2013 2014 2015 2016 2017 2018 2019 2020 2021

IoT Data(ZettaBytes)

“Every day an estimated 2.5 quintillion bytes {2.5 exabytes} of

data are created. This leaves organizations continuing to face the challenge of aggregating, managing and creating value

from data.”

IBM

1,000,000,000,000,000,000

5 Exabytes.

All the words ever spoken by human beings.

Page 6: Integration and Extensibility

6© 2017 Progress Software Corporation and/or its subsidiaries or affiliates. All rights reserved.© 2017 Progress Software Corporation and/or its subsidiaries or affiliates. All rights reserved.© 2017 Progress Software Corporation and/or its subsidiaries or affiliates. All rights reserved.

Open Integration Is A Critical Capability For OpenEdge

0% 10% 20% 30% 40% 50% 60% 70% 80% 90%

I don’t access external services or data

Other

JSDO or OData Services

External Database

Linked libraries (C, Unix shared libraries, DLLs)

Sonic

Dataservers

Direct network programming (TCP/IP, Named Pipes, other)

RESTful Web Services

File-based (e.g. CSV)

SOAP Web Services

Integration: External Access

0% 10% 20% 30% 40% 50% 60% 70% 80%

I don’t expose services or data to external sources

JSDO or OData Services

Other (please specify):

Sonic

Data Replica on (DB triggers, Pro2, OpenEdge Replica on)

RESTful Web Services

SOAP Web Services

File-based (CSV, AI log les, etc...)

Integration: Service ExposureNo Application Is An Island

Page 7: Integration and Extensibility

7© 2017 Progress Software Corporation and/or its subsidiaries or affiliates. All rights reserved.© 2017 Progress Software Corporation and/or its subsidiaries or affiliates. All rights reserved.© 2017 Progress Software Corporation and/or its subsidiaries or affiliates. All rights reserved.© 2017 Progress Software Corporation and/or its subsidiaries or affiliates. All rights reserved.© 2017 Progress Software Corporation and/or its subsidiaries or affiliates. All rights reserved.

The Tools Of The Trade

If you torture the data long enough, it will confess.

Ronald Coase, Economist

Page 8: Integration and Extensibility

8© 2017 Progress Software Corporation and/or its subsidiaries or affiliates. All rights reserved.© 2017 Progress Software Corporation and/or its subsidiaries or affiliates. All rights reserved.© 2017 Progress Software Corporation and/or its subsidiaries or affiliates. All rights reserved.

Connectivity Options1 ODBC/JDBC

2 DataDirect

3 SOAP

4 REST

5 OData

6 OpenAPI (Swagger)

7 JSDO

8 DataServer

9 CDC

10 EDI

11 Pro2

12 ETL Tools

13 Data Exports (CSV, Excel, Text, etc.)

14 Sonic

15 MicroServices

Page 9: Integration and Extensibility

9© 2017 Progress Software Corporation and/or its subsidiaries or affiliates. All rights reserved.© 2017 Progress Software Corporation and/or its subsidiaries or affiliates. All rights reserved.© 2017 Progress Software Corporation and/or its subsidiaries or affiliates. All rights reserved.

JDBC/ODBC• Commonly used to connect to relational databases.• JDBC ver. 4.3. (Java Database Connectivity)

• Java based data access technology.• Supports SQL to perform CRUD operations.

• ODBC ver. 3.8 (Open Database Connectivity)• Language agnostic.• Uses SQL to perform CRUD operations

• Underlying drivers for many third party tools and applications.• JDBC-ODBC bridge to speak with ODBC compliant database.• Under heavy load, JDBC is more performant.• You can use SQL against an OpenEdge database!

Page 10: Integration and Extensibility

10© 2017 Progress Software Corporation and/or its subsidiaries or affiliates. All rights reserved.© 2017 Progress Software Corporation and/or its subsidiaries or affiliates. All rights reserved.© 2017 Progress Software Corporation and/or its subsidiaries or affiliates. All rights reserved.

DataDirect Drivers§ DCI brings powerful connectivity for data integration

• ODBC/JDBC built on industry’s leading framework for relational connectors distributed by 8 of 9 MQ leaders in analytics and 5 of 6 MQ leaders in data integration tools.

• OData extends data integration via REST API for popular OData consumers from Tableau, Microsoft, SAP or Salesforce

• DataDirect OpenAccess SDK provides capabilities to bridge SQL to ABL to preserve native security and business logic

• DataDirect Hybrid Connectivity Services provide patented and secure connectivity over SQL or REST for data integration to data residing behind firewalls. (Hybrid Data Pipeline or HDP)

• These interfaces are popular with ISVs to expose OpenEdge data over standard SQL or REST for popular analytics and reporting tools.

Page 11: Integration and Extensibility

11© 2017 Progress Software Corporation and/or its subsidiaries or affiliates. All rights reserved.© 2017 Progress Software Corporation and/or its subsidiaries or affiliates. All rights reserved.© 2017 Progress Software Corporation and/or its subsidiaries or affiliates. All rights reserved.

SOAP• Simple Object Access Protocol (SOAP)• Used to integrate disparate software applications.• Standardizes a web service interface.• Sends an XML message to a service and receives an XML response.• Can use different transports (HTTP, FTP, SMTP, etc.)• Define WSDL, generate code, add business logic to generated code.• Good when operation auditing is required.• Transaction based services are relatively easy.

Page 12: Integration and Extensibility

12© 2017 Progress Software Corporation and/or its subsidiaries or affiliates. All rights reserved.© 2017 Progress Software Corporation and/or its subsidiaries or affiliates. All rights reserved.© 2017 Progress Software Corporation and/or its subsidiaries or affiliates. All rights reserved.

REST• Representational State Transfer (REST).• Resources are accessed using a URI. (Uniform Resource Identifier).• Client/Server architecture using stateless connection. (HTTP).• Client & Server exchange resource representation using a standardized

interface and protocol.• Resource manipulation done using 4 operations. PUT, GET, POST, DELETE.• Content can be accessed in a variety of formats. (HTML, XML, JSON, text,

etc.)• Metadata of the resource is used to control caching, detect errors, perform

authentication/access control, etc.

Page 13: Integration and Extensibility

13© 2017 Progress Software Corporation and/or its subsidiaries or affiliates. All rights reserved.© 2017 Progress Software Corporation and/or its subsidiaries or affiliates. All rights reserved.© 2017 Progress Software Corporation and/or its subsidiaries or affiliates. All rights reserved.

OData – ver. 4.0• Standards definition for building and consuming RESTful APIs.• Eliminates developer need to worry about request/response headers, status

codes, payload formats, query options, HTTP methods, URL conventions, etc.

• Provides guidance on change tracking, sending asynchronous/batch requests, and function definition for reusable procedures.

• Creates metadata for the API data model.• Libraries are available to leverage OData in an application.• Database is the most common use case, but can also be used to access file

system, CMS, website data, etc.

Page 14: Integration and Extensibility

14© 2017 Progress Software Corporation and/or its subsidiaries or affiliates. All rights reserved.© 2017 Progress Software Corporation and/or its subsidiaries or affiliates. All rights reserved.© 2017 Progress Software Corporation and/or its subsidiaries or affiliates. All rights reserved.

OpenAPI (Swagger)• Set of API development tools that span the entire API lifecycle. (Design,

development, documentation, testing, and deployment.)• Follows the OpenAPI Specification (OAS)• Language agnostic.• Can be used with protocols beyond HTTP.• Clients consume services without knowledge of/access to the server code.• OpenSource tools are available and has the worlds largest API community.

• 5000+ GitHub repositories. • 2500+ contributors. • 25+ programming languages. • 10M+ downloads.

Page 15: Integration and Extensibility

15© 2017 Progress Software Corporation and/or its subsidiaries or affiliates. All rights reserved.© 2017 Progress Software Corporation and/or its subsidiaries or affiliates. All rights reserved.© 2017 Progress Software Corporation and/or its subsidiaries or affiliates. All rights reserved.

JSDO – ver. 4.4.1• JavaScript Data Object.• OpenSource JavaScript implementation of the Cloud Data Object (CDO)

specification.• Maintained by Progress and leveraged in tools such as KUIB.• Used in web, mobile, and hybrid apps.• Uses a Progress Data Object Service Catalog to access business logic and

data in an OpenEdge database.• Manages CRUD operations so Developer can focus on the User Interface.• Transaction management including multi-record and multi-operation type.• Access to custom, backend functionality and business logic.

Page 16: Integration and Extensibility

16© 2017 Progress Software Corporation and/or its subsidiaries or affiliates. All rights reserved.© 2017 Progress Software Corporation and/or its subsidiaries or affiliates. All rights reserved.© 2017 Progress Software Corporation and/or its subsidiaries or affiliates. All rights reserved.

DataServer• DataServer for SQL Server. • DataServer for Oracle.• Access SQL or Oracle database using ABL code.• Used in Pro2.• Accessible by multiple users.• Can be configured on remote servers.

Page 17: Integration and Extensibility

17© 2017 Progress Software Corporation and/or its subsidiaries or affiliates. All rights reserved.© 2017 Progress Software Corporation and/or its subsidiaries or affiliates. All rights reserved.© 2017 Progress Software Corporation and/or its subsidiaries or affiliates. All rights reserved.

CDC (Change Data Capture)• Released in OpenEdge 11.7.• Tracks record activity. (Create/Update/Delete).• Policies determine the level of tracking to be used.• Can be used for auditing or data extraction purposes.• Leveraged in Pro2.• Works with ABL and SQL.

Page 18: Integration and Extensibility

18© 2017 Progress Software Corporation and/or its subsidiaries or affiliates. All rights reserved.© 2017 Progress Software Corporation and/or its subsidiaries or affiliates. All rights reserved.© 2017 Progress Software Corporation and/or its subsidiaries or affiliates. All rights reserved.

EDI• EDI. Electronic Data Interchange.

• Many EDI standards based on industry or region. (I.e. X12, EDIFACT, ODETTE, HL7,etc.)

• Automate traditionally manual processes using a standard format.

Page 19: Integration and Extensibility

19© 2017 Progress Software Corporation and/or its subsidiaries or affiliates. All rights reserved.© 2017 Progress Software Corporation and/or its subsidiaries or affiliates. All rights reserved.© 2017 Progress Software Corporation and/or its subsidiaries or affiliates. All rights reserved.

Pro2 – ver. 5.02• Data replication product created by Progress.• Pro2Pro. Pro2SQL. Pro2Oracle.• Can replicate a subset of data.• Target DB structure does not need to match source structure.• Used most frequently for BI and reporting purposes.

Page 20: Integration and Extensibility

20© 2017 Progress Software Corporation and/or its subsidiaries or affiliates. All rights reserved.© 2017 Progress Software Corporation and/or its subsidiaries or affiliates. All rights reserved.© 2017 Progress Software Corporation and/or its subsidiaries or affiliates. All rights reserved.

• Many tools available. (I.e. Informatica, Talend, Pentaho Data Integration, CloverETL, Ab Initio, etc.)

• Most have a drag & drop, GUI interface.• Support many source and target technologies including big data.• Perform complex data transformations.• Error handling and notification processes.• Multi-threaded, parallel processing.• Still require connection such as ODBC/JDBC, but driver may be included

with the product.

ETL Tools

Page 21: Integration and Extensibility

21© 2017 Progress Software Corporation and/or its subsidiaries or affiliates. All rights reserved.© 2017 Progress Software Corporation and/or its subsidiaries or affiliates. All rights reserved.© 2017 Progress Software Corporation and/or its subsidiaries or affiliates. All rights reserved.

Data Exports• Common method of transferring data.• Flat files such as CSV, XML, JSON, text, etc.• Fast (easy) way to extract and share data.• Difficult to detect missing data. (Error handling/data reconciliation)• Can be resource intensive.• File movement performed by FTP, simple copy, Email, thumb drive, etc.• Not secure. May violate data protection regulations. (I.e. GDPR)

Page 22: Integration and Extensibility

22© 2017 Progress Software Corporation and/or its subsidiaries or affiliates. All rights reserved.© 2017 Progress Software Corporation and/or its subsidiaries or affiliates. All rights reserved.© 2017 Progress Software Corporation and/or its subsidiaries or affiliates. All rights reserved.

Sonic• Enterprise Service Bus. (ESB) used to support SOA.• Provides connectivity between services.• Carries messages and responses from one service to another.• Guaranteed, single-delivery of message.• Progress is a reseller.• Renamed CX Messenger.

Page 23: Integration and Extensibility

23© 2017 Progress Software Corporation and/or its subsidiaries or affiliates. All rights reserved.© 2017 Progress Software Corporation and/or its subsidiaries or affiliates. All rights reserved.© 2017 Progress Software Corporation and/or its subsidiaries or affiliates. All rights reserved.

Microservices• Break monolithic applications into small components.• Scalable, especially to support multiple platforms and devices.• Service communication is often done using HTTP/REST and JSON.• Does create more complexity than traditional application architectures.

Page 24: Integration and Extensibility

24© 2017 Progress Software Corporation and/or its subsidiaries or affiliates. All rights reserved.© 2017 Progress Software Corporation and/or its subsidiaries or affiliates. All rights reserved.© 2017 Progress Software Corporation and/or its subsidiaries or affiliates. All rights reserved.© 2017 Progress Software Corporation and/or its subsidiaries or affiliates. All rights reserved.© 2017 Progress Software Corporation and/or its subsidiaries or affiliates. All rights reserved.

In ClosingFacts do not cease to exist because they are ignored.

Aldous Huxley, Author

Page 25: Integration and Extensibility

25© 2017 Progress Software Corporation and/or its subsidiaries or affiliates. All rights reserved.© 2017 Progress Software Corporation and/or its subsidiaries or affiliates. All rights reserved.© 2017 Progress Software Corporation and/or its subsidiaries or affiliates. All rights reserved.

Where Are We Going?

SonicSOAP

Exports

• REST• OData/OpenAPI

• JSDO• CDC

• DataDirect• DataServer

Page 26: Integration and Extensibility

26© 2017 Progress Software Corporation and/or its subsidiaries or affiliates. All rights reserved.© 2017 Progress Software Corporation and/or its subsidiaries or affiliates. All rights reserved.© 2017 Progress Software Corporation and/or its subsidiaries or affiliates. All rights reserved.

Final Thoughts• A lot of choices available.• Think about your application and

long term plans.• Research and try it out.• Consult with Progress.• But DO SOMETHING!

Page 27: Integration and Extensibility

27© 2017 Progress Software Corporation and/or its subsidiaries or affiliates. All rights reserved.© 2017 Progress Software Corporation and/or its subsidiaries or affiliates. All rights reserved.© 2017 Progress Software Corporation and/or its subsidiaries or affiliates. All rights reserved.

THANK YOU!QUESTIONS?

Page 28: Integration and Extensibility