Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Codeer.LowCode.Blazor & CData ADO .NET Provider...

Codeer.LowCode.Blazor & CData ADO .NET Provider でDynamics 365 やSAP 、Salesforce など各種SaaS とアプリを連携してみよう!

「Blazor+ローコードで実現する.NET資産のモダナイズ」登壇資料
https://codeer.connpass.com/event/319762/

Codeer.LowCode.Blazor には標準機能でRDBと連携できる機能をサポートしており、この機能とCData ADO .NET Provider を組み合わせることで社内に存在する各種クラウドサービスDynamics 365やSAP、Salesforce とも連携したアプリケーションを開発することが可能です。本セッションではデモを交えて、連携方法・活用ポイントを解説します。

CData Software Japan

July 04, 2024
Tweet

More Decks by CData Software Japan

Other Decks in Technology

Transcript

  1. Codeer.LowCode.Blazor & CData ADO .NET Provider でDynamics 365 やSAP 、

    Salesforce など各種SaaS とアプリを連携し てみよう!
  2. 2 About Speaker – Kazuya Sugimoto © 2024 CData Software

    Inc. — CONFIDENTIAL – DO NOT DUPLICATE OR DISTRIBUTE CData Software Japan の Lead Engineer これまで300種類以上のAPIを見たり触った りしているAPI中毒な人。 最近の趣味はTesla API で収集したデータの 可視化。 Twitter:@sugimomoto Facebook:sugimomoto Blog:https://www.cdatablog.jp/
  3. 3 本社:US(NC州), オフィス:日本 / 欧州 / インド / 中国 エンタープライズ・開発者・データサイエンティスト向けの

    “real-time data connectivity” ソフトウェアのリーダー 日本法人 : CData Software Japan 合同会社 本社:宮城県仙台市 設立:2016/06 〜 © 2024 CData Software Inc. — CONFIDENTIAL – DO NOT DUPLICATE OR DISTRIBUTE CData Software EMPLOYEES 400+ ACTIVE CUSTOMERS 10,000+ OEM PARTNERS 180+
  4. 5 本日の皆さんにお伝えしたいこと © 2024 CData Software Inc. — CONFIDENTIAL –

    DO NOT DUPLICATE OR DISTRIBUTE For Generative AI & LowCode/NoCode, Metadata is All You Need Codeer.LowCode.Blazor & CData ADO .NET Provider の連携が効果を 発揮する理由とは?
  5. 6 データ活用の背景 “情報システム部門におけるデータ連携ニーズの増加” © 2024 CData Software Inc. — CONFIDENTIAL

    – DO NOT DUPLICATE OR DISTRIBUTE ワークフローツール で商品や従業員のマ スタデータを扱って 「ビジネスプロセス を合理化したい」 顧客向けの商品紹介 アプリを作って「顧 客接点を増やした い」 過去の受注データを 元にして、BIツール でダッシュボードを 作成・AIで分析をか けて「商品や顧客分 析を実施したい」 SFAから基幹システ ムの持っている在庫 や契約データをシー ムレスに参照し、 「営業プロセスを効 率化したい」
  6. 7 必要なデータはどこにある? © 2024 CData Software Inc. — CONFIDENTIAL –

    DO NOT DUPLICATE OR DISTRIBUTE しかしそれらの連携に求められるデータは基幹システム・SaaS 等に格納されている 顧客体験を向上するためにアプリケーションを構築しようとすると、 商品や顧客などのマスターデータ、購買の情報、見積り、請求などのトランザクションデータも必要 BtoB取引のための WebSiteを作りた い! 商品・顧客マスタ 購買・見積・請求な どのトランザクショ ン
  7. 8 数多くのSaaSに私達のビジネスデータが存在している © 2024 CData Software Inc. — CONFIDENTIAL –

    DO NOT DUPLICATE OR DISTRIBUTE 1企業あたりのSaaSアプリ利用数が急増 業種(Vertical)・業務(Horizontal)特化型SaaSの登場 (種類:多, 導入社数:少)
  8. 10 インターフェースそれぞれの特性を理解し、 キャッチアップしなければデータ活用に到達できない © 2024 CData Software Inc. — CONFIDENTIAL

    – DO NOT DUPLICATE OR DISTRIBUTE Protocols Data Model Metadata Authentication Capabilities SOAP REST OData Static Dynamics Hybrid Relational NoSQL Raw Stores Basic API Token OAuth Filter Aggregations Joins
  9. 11 Codeer × CData の組み合わせにより SaaS API 連携アプリ開発を加速! © 2024

    CData Software Inc. — CONFIDENTIAL – DO NOT DUPLICATE OR DISTRIBUTE
  10. 13 © 2024 CData Software Inc. — CONFIDENTIAL – DO

    NOT DUPLICATE OR DISTRIBUTE CData Drivers あらゆるデータに標準SQL でのリアルタイム接続を可能にする高機能・高品質データコネクタ データソース ツールのマシンにコネクタ (CData Driver)を追加 ツール 標準 SQL API リクエスト テーブル API レスポンス CData Driver ODBC Driver / JDBC Driver / ADO.NET Provider / Python Connector / Excel Add-In / SSIS Components / Power BI Connector / Tableau Connector SaaSやオンプレミスアプリケーション, データ ベース, ファイルなど270を超えるデータソース
  11. 14 サポートされているデータソース © 2024 CData Software Inc. — CONFIDENTIAL –

    DO NOT DUPLICATE OR DISTRIBUTE 業界最多級の270を超える様々なデータソース Marketing CRM & ERP Collaboration Big Data & NoSQL File & API Accounting E-Commerce RDBMS
  12. 15 サポートされているデータソース © 2024 CData Software Inc. — CONFIDENTIAL –

    DO NOT DUPLICATE OR DISTRIBUTE Drivers Profiles and more… 人気の国産サービス/アプリケーションにも対応
  13. 16 CData Driver のコアバリューとは? © 2024 CData Software Inc. —

    CONFIDENTIAL – DO NOT DUPLICATE OR DISTRIBUTE Standard Metadata
  14. 18 CData 製品の実態はDLL © 2024 CData Software Inc. — CONFIDENTIAL

    – DO NOT DUPLICATE OR DISTRIBUTE • .NET Framework 4.0 以上およ び.NET Standard 2.0 をサポー トしているDLLセット • ネイティブADO.NET インター フェースを使用して、SaaS APIのデータ操作をSQLで実行 可能に • EntityFramework用、 VisualStudio 向けインストー ラーも付属
  15. 20 ADO.NET ベースなので、通常のSQL Server 接続と 同じエクスペリエンスでSaaS API にアクセス © 2024

    CData Software Inc. — CONFIDENTIAL – DO NOT DUPLICATE OR DISTRIBUTE public IEnumerable<Account> GetAccounts() { var accounts = new List<Account>(); using (var conn = new SalesforceConnection("AuthScheme=Basic;User=XXXXX;")) { conn.Open(); var cmd = new SalesforceCommand("SELECT Name, Industry, Phone FROM Account", conn); using (var reader = cmd.ExecuteReader()) { while (reader.Read()) { accounts.Add(new Account { Name = reader["Name"].ToString(), Industry = reader["Industry"].ToString(), Phone = reader["Phone"].ToString() }); } } } return accounts; } • DataAdapter・DataReader・EF 他、ADO.NETに依存したオー プンソースのORM Dapper な どからも利用可能 • SELECT だけでなく、 INSERT・UPDATE・DELETE も可能(ただし、利用するAPI によってできることは異な る) • 認証方法はConnection String 形式で共通化
  16. 24 “Kauzya Sugimoto”,19870722 © 2024 CData Software Inc. — CONFIDENTIAL

    – DO NOT DUPLICATE OR DISTRIBUTE データはそれだけでは意味をなさない
  17. 25 File Access, API, Web API, TDS, ADO.NET © 2024

    CData Software Inc. — CONFIDENTIAL – DO NOT DUPLICATE OR DISTRIBUTE メタデータとデータアクセスが できて活用につなげることができる 姓・名 文字列 誕生日 日付 YYYYMMDD “Kauzya Sugimoto”,19870722
  18. 27 Codeer.LowCode.Blazor & CData ADO .NET Provider © 2024 CData

    Software Inc. — CONFIDENTIAL – DO NOT DUPLICATE OR DISTRIBUTE • Codeer.LowCode.Blazor はデー タベースアクセス機能があり、 ADO.NET を利用している • このデータベースアクセス機 能にCData ADO.NET Provider の設定を拡張させることで、 手軽にクラウドサービス連携 アプリの開発が可能に! • UIの作成はCodeer のデザイ ナー画面がそのまま利用可能
  19. 29 設定方法②:DbAccessor の拡張 © 2024 CData Software Inc. — CONFIDENTIAL

    – DO NOT DUPLICATE OR DISTRIBUTE switch (dataSource.DataSourceType) { case DataSourceType.SQLServer: conn = dataSourceName.Contains("CData") ? new SAPGatewayConnection(dataSource.ConnectionString) : new SqlConnection(dataSource.ConnectionString); break; case DataSourceType.PostgreSQL: conn = new NpgsqlConnection(dataSource.ConnectionString); break; case DataSourceType.Oracle: conn = new OracleConnection(dataSource.ConnectionString); break; case DataSourceType.SQLite: conn = new SQLiteConnection(dataSource.ConnectionString); break; default: throw LowCodeException.Create("Invalid data source"); } public async Task<List<DbTableDefinition>?> GetCustomTableDefinitionsAsync(string dataSourceName) { var conn = GetConnection(dataSourceName); var columnTable = await conn.GetSchemaAsync("Columns"); var ret = columnTable.Rows.Cast<DataRow>() .Select(r => new { TableName = r["TABLE_NAME"].ToString() ?? "", ColumnName = r["COLUMN_NAME"].ToString() ?? "", RawDbTypeName = r["DATA_TYPE"].ToString() ?? "", IsNullable = (r["IS_NULLABLE"].ToString() ?? "").ToLower() == "yes" }).GroupBy(r => r.TableName) .Select(g => new DbTableDefinition { Name = g.Key, Columns = g.Select(gg => new DbColumnDefinition { Name = gg.ColumnName, RawDbTypeName = gg.RawDbTypeName, IsNullable = gg.IsNullable }).ToList() }).ToList(); return ret; }
  20. 34 本日の皆さんにお伝えしたいこと © 2024 CData Software Inc. — CONFIDENTIAL –

    DO NOT DUPLICATE OR DISTRIBUTE For Generative AI & LowCode/NoCode, Metadata is All You Need Codeer.LowCode.Blazor & CData ADO .NET Provider の連携が効果を 発揮する理由とは?
  21. 35 CData Driver のコアバリューとは? © 2024 CData Software Inc. —

    CONFIDENTIAL – DO NOT DUPLICATE OR DISTRIBUTE Standard Metadata