All Projects → SAP-archive → hana-native-adapters

SAP-archive / hana-native-adapters

Licence: Apache-2.0 License
Since SAP HANA SPS09 supports writing new adapters for Smart Data Access, Batch Data Loading, ETL, Realtime Replication, and Realtime Transformations. While common adapters are provided by SAP, everyone can write their own adapters using the SAP HANA Adapter SDK. This project aims to provide additional adapters for using them or as samples.

Programming Languages

java
68154 projects - #9 most used programming language

Projects that are alternatives of or similar to hana-native-adapters

devtoberfest-2021
The home of Devtoberfest 2021 - an open celebration of what makes us developers - coding and collaboration!
Stars: ✭ 212 (+606.67%)
Mutual labels:  sample, sap-hana
hana-shine-xsa
SAP HANA Interactive Education for SAP HANA Extended Application Services, Advanced Model (SHINE for XS Advanced) is an education content to learn, develop, and deploy SAP HANA XS Advanced Model application and is a successor of SHINE for XS Classic.
Stars: ✭ 115 (+283.33%)
Mutual labels:  sample, sap-hana
btp-full-stack-typescript-app
A sample project to demonstrate how to implement a full-stack app with SAP Cloud Application Programming Model, plus SAPUI5 and TypeScript.
Stars: ✭ 27 (-10%)
Mutual labels:  sample, sap-hana
hana-developer-cli-tool-example
Learn how to build a developer-centric SAP HANA command line tool, particularly designed to be used when performing SAP HANA development in non-SAP tooling (for example from VS Code).
Stars: ✭ 73 (+143.33%)
Mutual labels:  sample, sap-hana
cloud-cap-multitenancy
SAP Cloud Application Programming Model (CAP) sample code project with multitenancy using service manager-created SAP HANA containers for tenant data isolation.
Stars: ✭ 33 (+10%)
Mutual labels:  sample, sap-hana
cloud-hana-helloworld
This project provides the full source code for the "Hello World" tutorials on https://hcp.sap.com. In this tutorials you can learn how to make your very first steps on SAP HANA by developing a very simple "Hello World" application using the SAP HANA web-based Development Workbench on the SAP HANA Cloud Platform.
Stars: ✭ 26 (-13.33%)
Mutual labels:  sample, sap-hana
hana-shine
SAP HANA INteractive Education (SHINE) is an education content to learn, develop and deploy SAP HANA Application Services (XS Engine) based applications within the SAP HANA Platform
Stars: ✭ 89 (+196.67%)
Mutual labels:  sample, sap-hana
hana-ml-samples
This project provides code examples for SAP HANA Predictive and Machine Learning scenarios and is educational content. It covers simple Predictive Analysis Library SQL examples as well as complete SAP HANA design-time “ML scenario”-application content or HANA-ML Python Notebook examples.
Stars: ✭ 67 (+123.33%)
Mutual labels:  sample, sap-hana
teched2021-developer-keynote
SAP TechEd 2021 Developer Keynote: Improving Developers' Lives.
Stars: ✭ 23 (-23.33%)
Mutual labels:  sample, sap-hana
kmm-with-cocoapods-sample
This project represents the case when Cocoapods dependencies are added in Kotlin and there is no existing Xcode project
Stars: ✭ 42 (+40%)
Mutual labels:  sample
play-java-ebean-example
Example Play application showing Java with Ebean
Stars: ✭ 54 (+80%)
Mutual labels:  sample
samplics
Select, weight and analyze complex sample data
Stars: ✭ 24 (-20%)
Mutual labels:  sample
play-scala-chatroom-example
Play chatroom with Scala API
Stars: ✭ 43 (+43.33%)
Mutual labels:  sample
cloud-enterprise-granny
A sample address book application demonstrating the interplay of popular open-source libraries. #cloud-sample
Stars: ✭ 24 (-20%)
Mutual labels:  sample
find-sec-bugs-demos
Repository to showcase various configuration recipes with various technologies
Stars: ✭ 33 (+10%)
Mutual labels:  sample
xf-application-mocks
Contains lightweight substitutes for SAP applications to ease the development and testing of extension and integration scenarios. In conjunction with SAP Business Technology Platform, kyma runtime, the efficient implementation of application extensions is supported without the need for real SAP applications being accessible during development.
Stars: ✭ 21 (-30%)
Mutual labels:  sample
cloud-sdk-ios-samples
SAP Cloud Platform SDK for iOS sample apps demonstrating various components and features of the SDK in the context of bigger apps.
Stars: ✭ 20 (-33.33%)
Mutual labels:  sample
Fiori-for-iOS-Roadshow-2019
A collection of materials for the joined SAP and Apple Roadshow event.
Stars: ✭ 12 (-60%)
Mutual labels:  sample
play-scala-anorm-example
Example Play Database Application using Anorm
Stars: ✭ 41 (+36.67%)
Mutual labels:  sample
EfficientHttpClient
Source code illustrating how to make efficient HttpClient api calls in C#
Stars: ✭ 48 (+60%)
Mutual labels:  sample

Important Notice

This public repository is read-only and no longer maintained. For the latest sample code repositories, visit the SAP Samples organization.

Hana Native Adapter Development in Java

Overview

While Hana can be seen as yet another database to read data from or load data in using external tools, Hana has built-in capabilities for batch and realtime data provisioning and data federation. Any adapter registered in Hana can be used to query remote sources using regular Hana SQL commands and, if the adapter supports this capability, push changes into Hana tables or tasks (=transformations). As all adapters written using the Adapter SDK are no different from the SAP provided adapters, they can be used by all tools and editors as well, e.g. Replication Editor, Task Flow Editor, Enterprise Semantic Search,.....

The aim of this repository is to provide adapters as source code to access more sources. These adapters are provided by SAP employees, partners and customers on a as-is basis with the indention of being used in production environments and to act as examples.

For more details refer to Hana Smart Data Integration at SCN. The Adapter SDK is part of the Hana EIM option and as such fully documented in help.sap.com

Contributing

This is an open source project under the Apache 2.0 license, and every contribution is welcome. Issues, pull-requests and other discussions are welcome and expected to take place here.

Sample Adapters

  • WriteBackAdapter: Shows the writeback capabilities, meaning read data from hana and push to remote source
  • DemoAdapter: Shows the virtual function and virtual procedures capablities.
  • JDBCAdapter: Shows how to connect to the remote DB using jdbc and also rewriting HANA SQL Query to remote format
  • RealTimeTestAdapter: Shows Real time replication capablities.
  • WebServiceAdapter: Shows how to call httpserver and expose the response via Adapter SDK. See link

SQL to use custom adapter

--Note: You do not need to run drop command but this provides you an idea what command to run for clean up

drop agent "DebugAgent" cascade;

create agent "DebugAgent" protocol 'TCP' host '<your host ip>' port 5050;

--Check if Agent is registered. Make sure host:port are properly setup.
select * from agents;

--Custom Adapter Registration
drop adapter "WriteBackAdapter" cascade;
create adapter "WriteBackAdapter" at location agent "DebugAgent";

--Run the following if remote source config or capabilities are updated.
alter adapter "WriteBackAdapter" refresh at location agent "DebugAgent";


--Check for adpater registration.
select * from adapters;

--Create WriteBackAdapter Remote Source. Always use UI for doing the following but you can use SQL for testing.
drop remote source "MyRemoteSource" cascade;
CREATE REMOTE SOURCE "MyRemoteSource" ADAPTER "WriteBackAdapter" AT  LOCATION agent "DebugAgent" 
 CONFIGURATION '<?xml version="1.0" encoding="UTF-8"?>
 <ConnectionProperties name="testParam">
	<PropertyEntry name="name">Hana_Studio</PropertyEntry>
 </ConnectionProperties>
'	
 WITH CREDENTIAL TYPE 'PASSWORD' USING 
 '<CredentialEntry name="credential">
		<username>testuser</username>
		<password>testpassword</password>
</CredentialEntry>';

--HANA stores your remote source configuration in the following table.
select * from remote_sources;


--Check if above configuration is correct.
call CHECK_REMOTE_SOURCE('MyRemoteSource');

--Browse via ui.
 CALL "PUBLIC"."GET_REMOTE_SOURCE_OBJECT_TREE" ('MyRemoteSource','',?,?);

--Import the table to hana
drop table "SYSTEM"."test_table";
CREATE VIRTUAL TABLE "SYSTEM"."test_table" at "MyRemoteSource"."<NULL>"."<NULL>"."InMemoryTable";

--Select from source table.
select * From "SYSTEM"."test_table";
Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].