Platform SAP Cloud kami menyediakan kemampuan untuk mengembangkan dan menjalankan aplikasi multi-tenant. Aplikasi multi-tenant memungkinkan Anda untuk secara terpisah melayani beberapa klien dari organisasi yang berbeda dalam kerangka satu solusi yang disediakan oleh penyedia. Setiap klien disebut penyewa. Dia mengakses aplikasi melalui URL yang dialokasikan dari penyewa tertentu - dengan cara ini pengguna terisolasi satu sama lain.
Dalam beberapa artikel kami akan membahas topik-topik berikut:
Bagian 1. Multi-tenant dalam Gambaran Umum Skenario Platform SAP Cloud
Bagian 2. Mengunggah solusi MTAR ke platform, menghubungkan database dan membuat langganan untuk penyewa, mengkonfigurasi subaccount penyedia
Bagian 3. Layanan Kegigihan - inisialisasi dan isolasi data
Bagian 4. Manajemen Identitas Otentikasi - Mengkonfigurasi Penyewa Layanan
Bagian 5. SAP Cloud Connector - mengatur dan mengkonfigurasi layanan untuk terhubung ke sistem lokal
Bagian 6. Mengkonfigurasi layanan Konektivitas dan menguji aplikasi multi-tenant
Bagian 7. Fiori Launchpad - menggunakan layanan Portal, konfigurasi ubin untuk aplikasi multi-penyewaCatatan:Artikel ini menggunakan akun Platform Cloud SAP global (produktif). Untuk menjalankan skrip, layanan berikut harus terhubung tambahan di akun:
- Untuk sub-akun penyedia aplikasi - SAP HANA, SAP Cloud Platform Portal - setidaknya satu kuota harus dialokasikan untuk meluncurkan aplikasi Java (Java kuota);
- Untuk sub-akun pelanggan: Portal Platform SAP Cloud, Otentikasi Identitas Platform SAP Cloud.
Bagian 1. Multi-tenancy SCP dan tinjauan solusiSAP Cloud Platform adalah platform untuk pengembangan dan peluncuran aplikasi cloud, termasuk aplikasi dengan banyak penyewa, sehingga layanannya mendukung multi-tenancy.
Apakah Anda pikir pelanggan akan senang jika data yang mereka simpan di aplikasi SaaS Anda tersedia untuk pelanggan lain? Ini jelas merupakan pelanggaran isolasi data.
Masalah ini diselesaikan dengan menyediakan setiap id klien dengan tenant unik. Karena aplikasi disebarkan langsung dari penyedia, klien harus berlangganan aplikasi ini untuk mendapatkan akses ke sana. Ini berarti bahwa klien tidak perlu menyalin aplikasi ke akunnya, cukup berlangganan, setelah itu klien menerima URL khusus untuk penyewa tertentu. Jadi, ketika aplikasi diluncurkan melalui URL khusus ini, pengguna diidentifikasi oleh pengidentifikasi penyewa yang unik.
Manfaat aplikasi multi-penyewa:
- Turunkan Total Biaya Kepemilikan (TCO): Dengan berbagi sumber daya komputasi dan biaya operasi antara pelanggan, total biaya kepemilikan untuk aplikasi semacam itu berkurang. Penghematan biaya meningkat karena jumlah klien yang dilayani oleh aplikasi multi-tenant meningkat;
- Efisiensi operasional: pembaruan aplikasi dan perbaikan bug berlaku untuk semua penyewa dengan memperbarui instance aplikasi dari pemasok;
- Skalabilitas: Layanan pelanggan cepat. Untuk mengakses aplikasi, klien baru hanya perlu membuat berlangganan;
- Configurability: memungkinkan pelanggan untuk mengkonfigurasi cadangan pengguna mereka sendiri yang dapat menggunakan aplikasi, layanan backend mereka sendiri, dll, seperti yang dipersyaratkan oleh aplikasi.
Pertimbangkan perbedaan antara sub-akun klien dan penyedia dalam akun SCP global:

Seperti yang ditunjukkan dalam diagram, dua sub-akun ditempatkan di dalam akun SCP global - sub-akun penyedia dan sub-akun klien.
Subakun penyedia berisi logika bisnis aplikasi, antarmuka, serta database yang menyimpan data pelanggan yang terisolasi satu sama lain. Aplikasi sebenarnya berjalan di akun ini.
Seperti yang telah disebutkan, klien mengakses aplikasi dengan berlangganan. Harap perhatikan bahwa aplikasi tidak disalin atau diluncurkan di dalam akun pengguna. Di dalam sub-akun klien, dimungkinkan untuk menambahkan konfigurasi yang hanya berlaku untuk konsumen ini. Misalnya, Anda dapat mengonfigurasi Penyedia Identitas sebagai repositori pengguna untuk aplikasi platform cloud. Atau, konfigurasikan jalur tujuan yang dapat mengarah ke layanan internal yang berjalan di lansekap klien (misalnya, Anda dapat mengakses data pada sistem lokal).
Sekarang mari kita bicara tentang multi-tenancy dalam layanan SCP.
a) Layanan KetekunanAda tiga cara untuk mencapai multi-tenancy dalam layanan ini:
1. Kolom pemisah. Metode ini menggunakan kolom tertentu dalam tabel untuk memastikan isolasi data. Dalam hal ini, pengguna dapat menggunakan skema yang sama. Tetapi data dibedakan menggunakan pengidentifikasi penyewa khusus untuk setiap klien. Untuk memastikan berbagi data dalam aplikasi, setiap pernyataan SQL harus menyertakan pengenal penyewa.
2. Tabel dalam satu desain. Metode ini memungkinkan klien aplikasi untuk mengisolasi data mereka dalam satu atau beberapa tabel penyewa tertentu. Ini dicapai dengan membuat tabel atau skema dalam database untuk setiap klien. Diskriminator tabel klien menentukan cara membedakan tabel ini dari tabel klien lain. Tabel bisa dalam pola yang sama dan menggunakan awalan atau akhiran untuk membedakannya; atau mereka bisa dalam skema terpisah menggunakan tabel klien diskriminator dari skema.
3. Pemisahan skema. Isolasi data pelanggan dalam hal ini dicapai dengan menyimpan tabel dalam skema yang berbeda.
b) Otentikasi Identitas
Identity Authentication adalah solusi berbasis cloud untuk mengelola siklus hidup aplikasi SCP dan, jika perlu, aplikasi di tempat. Ini memungkinkan Anda untuk mengonfigurasi otentikasi, sistem masuk tunggal untuk pengguna, dan sebagainya. Ketika layanan terhubung, administrator akun disediakan dengan penyewa, di mana aplikasi dikonfigurasi dan otorisasi pengguna dikelola. Layanan ini menyediakan penyedia identitas untuk SCP.
Sub-akun klien dikonfigurasikan untuk penyedia tertentu, yang di dalamnya pengguna ditentukan, peran dikonfigurasikan, dan akses ke aplikasi penyedia tempat klien berlangganan dikonfigurasikan. Peran dijelaskan dalam aplikasi penyedia. Dengan demikian, isolasi pengguna tercapai.
c) Konektivitas
Klien dapat mengkonfigurasi akses ke data pada sistem lokal. Menggunakan alat seperti SAP Cloud Connector, Anda dapat terhubung dengan aman ke aplikasi atau sistem lokal yang menyediakan data tertentu. Di dalam sub-akunnya, klien mengkonfigurasi jalur tujuan ke sistem lokal yang dijelaskan dalam Konektor Cloud. Nama jalur tujuan ditunjukkan dalam aplikasi penyedia - dengan demikian, ketika klien mengakses aplikasi, data dari sistem lokal klien ditransfer ke aplikasi dan divisualisasikan.
Kami beralih ke tinjauan skenario, deskripsi implementasi yang akan terjadi dalam kerangka artikel ini.
SAP memiliki perusahaan mitra andal yang berspesialisasi dalam memberikan solusi untuk industri minyak dan gas. Kami akan menyebutnya ITeLO Consulting. Perusahaan ini menggunakan SAP Cloud Platform untuk membangun dan meluncurkan aplikasi cloud-nya. ITeLO Consulting lebih suka menyediakan aplikasi mereka sebagai SaaS. Dalam model ini, perangkat lunak disediakan sebagai layanan dan tersedia untuk pelanggan melalui Internet.
Perusahaan telah mengembangkan panel pemantauan polusi yang membantu perusahaan minyak dan gas membandingkan tingkat polusi udara di pabrik dan di kota. Keputusan ini membangkitkan minat beberapa perusahaan minyak dan gas yang ingin mengambil langkah-langkah untuk mencegah polusi.
ABC PetroCorp dan XYZ EnergyCorp adalah dua perusahaan minyak dan gas yang membeli solusi ini dari ITeLO.
Robert ITE, yang merupakan arsitek proyek ini, bekerja di ITeLO Consulting. Perusahaan membeli paket SAP Cloud Platform dengan layanan yang diperlukan untuk membuat aplikasi ini. Skenario Robert adalah mengembangkan aplikasi SaaS multi-penyewa dan menyediakannya untuk pelanggan - ABC PetroCorp dan XYZ EnergyCorp. " Emily adalah karyawan IT ABC PetroCorp. Dia ditugaskan untuk mengerjakan proyek ini bersama Robert.
Arsitektur solusi disajikan di bawah ini:

Sub-akun penyedia dalam hal ini adalah ITeLO Consulting, dan sub-akun pelanggan yang berlangganan aplikasi adalah ABC PetroCorp dan XYZ EnergyCorp. Pengaturan di dalam sub-akun klien akan serupa, oleh karena itu kami hanya akan mempertimbangkan konfigurasi untuk klien ABC PetroCorp.
Deskripsi Akun:
1) ITeLO Consulting - akun penyedia yang menjalankan aplikasi basis data, logika bisnis, dan antarmuka pengguna.
Basis data:
Informasi polusi udara dari setiap pabrik disimpan dalam database SAP HANA. Data dari klien yang berbeda disimpan secara terpisah menggunakan fungsi isolasi penyewa yang disediakan oleh JPA.
Logika bisnis:
Logika bisnis didefinisikan dalam aplikasi Java yang berjalan di subaccount penyedia. Contoh aplikasi Java digunakan oleh klien yang berbeda. Setiap pengguna berlangganan aplikasi Java ini dan menerima URL unik untuk mengakses aplikasi tersebut. Karena aplikasi diakses menggunakan URL ini, SCP mengambil pengenal penyewa yang digunakan dalam logika aplikasi.
Antarmuka pengguna:
Logika antarmuka pengguna didefinisikan dalam aplikasi HTML5 yang berjalan di subakun penyedia. Seperti halnya aplikasi Java, contoh aplikasi HTML5 berjalan untuk klien yang berbeda. Akses klien ke aplikasi dilakukan menggunakan URL unik untuk mengakses aplikasi.
2) ABC PetroCorp - sub-akun klien di mana langganan dibuat, konfigurasi spesifik dari penyedia identitas (IdP) dibuat dan akses ke layanan lokal disediakan.
Aplikasi Java dan HTML5 tidak digunakan atau disalin ke akun ini.
Identitas dan Manajemen Akses:
Akses ke aplikasi harus dibatasi untuk karyawan ABC PetroCorp. ABC PetroCorp memiliki Penyedia Autentikasi Identitasnya sendiri (SAP Identity Authentication), yang berisi informasi tentang karyawan perusahaan (nama, email, organisasi, peran, dll.). Ini dikonfigurasikan secara khusus untuk sub-akun ABC PetroCorp, sehingga hanya karyawan yang dapat mengakses aplikasi tempat mereka berlangganan.
Layanan Konektivitas:
ABC PetroCorp telah meluncurkan layanan lokal yang menyediakan informasi tentang pabrik mereka - jumlah karyawan di pabrik, lokasi pabrik, dll. Semua informasi ini harus diekstraksi dari lanskapnya dan diberikan ke aplikasi menggunakan SAP Cloud Connector.
Bagian 2. Mengunggah solusi MTAR ke platform, menghubungkan database dan membuat langganan untuk penyewa, mengkonfigurasi subaccount penyediaAplikasi multi-penyewa harus berjalan di sub-akun penyedia. Robert dari ITeLO Consulting adalah administrator akun dan perlu menyelesaikan langkah-langkah berikut untuk menginstal aplikasi:
- Buat arsip aplikasi yang berisi semua artefaknya;
- Unduh arsip aplikasi ke akun ITeLO Consulting Anda;
- Berlangganan klien ABC PetroCorp ke aplikasi yang berjalan di subaccount penyedia;
- Mengatur jalur ke layanan terbuka yang berjalan di Internet.
Preset:
- Anda telah menginstal Java 8;
- Terpasang Eclipse Neon dengan plugin untuk SAP CP ;
- Eclipse telah menginstal plugin EGit ;
- Unduh dan buka paket SAP SAP Java Web Tomcat 8 SDK versi terbaru;
- Unduh dan pasang MTA Archive Builder ;
- Basis data SAP HANA terhubung ke akun SCP (untuk subaccount penyedia);
- Di sub-akun penyedia ITeLO Consulting, kuota telah dialokasikan untuk meluncurkan aplikasi Java (setidaknya satu unit komputasi yang tidak digunakan, lebih lanjut tentang mengalokasikan kuota di sini ).
Catatan: membuat beberapa sub-akun dalam akun SCP global tidak dimungkinkan untuk akun uji coba (percobaan).Untuk menginstal aplikasi multi-etnis, artikel ini akan menggunakan fitur SCP seperti "Solusi" (solusi unduhan). Atau, Anda dapat memuat modul aplikasi satu per satu ke dalam platform.
Kode sumber untuk aplikasi Pemantauan Polusi terletak di
GitHub .
Pertama, kami mengkloning proyek dan
mengunggahnya ke ruang kerja Eclipse. Setelah instalasi berhasil, proyek akan muncul di ruang kerja, strukturnya akan terlihat seperti ini:

Aplikasi terdiri dari beberapa modul yang dikembangkan menggunakan berbagai teknologi. Modul-modul ini harus diinstal di lingkungan runtime yang berbeda (misalnya, Java, HTML5). Alih-alih membuat dan memuat modul secara terpisah, SCP mendukung pembuatan satu aplikasi yang berisi modul berbeda dalam satu arsip.
Seperti yang ditunjukkan dalam arsitektur aplikasi, logika bisnis didefinisikan dalam aplikasi Java, dan logika antarmuka pengguna didefinisikan dalam aplikasi HTML5. Dan sekarang, dalam pribadi Robert, kami akan membuat arsip aplikasi multi-modul (atau multi-tujuan) (MTA) untuk mengemas aplikasi dalam format yang nyaman untuk diunduh ke platform.
Untuk membuat arsip dengan beberapa modul aplikasi, Anda perlu mengunduh "mta.jar" dan mengonfigurasi "pembuat arsip MTA" (tautan ke deskripsi instalasi "pembuat arsip MTA" ditentukan dalam pengaturan di atas).
Modul aplikasi multiguna dijelaskan dalam file deskriptor MTA (mta.yaml), file ini terletak di folder root proyek.

File mta.yaml berisi informasi tentang modul Java dan HTML5 yang akan dibuat selama proses pembuatan aplikasi. Buka file dan ikat database SAP HANA ke aplikasi Java dengan menentukan pengidentifikasi database di bidang id.

Di sini id adalah pengidentifikasi dari database yang berjalan di subaccount dari provider. Ini dapat ditemukan di panel kontrol SCP dari akun ITeLO Consulting di bawah Persistence -> Databases Systems.

Dalam kasus kami, pengidentifikasi basis data di "mta.yaml" akan ditunjukkan sebagai berikut:

Kami menyimpan perubahan dan, membuka baris perintah, pergi ke folder dengan proyek pemantauan polusi dan masukkan perintah berikut:
java -jar [ mta.jar] ābuild-target=NEO build

Perintah ini akan memulai proses membangun aplikasi dalam arsip MTA.
Setelah perakitan berhasil, file arsip MTA (polusimonitoring.mtar) akan dihasilkan dalam folder proyek.

Langkah selanjutnya adalah menginstal arsip MTA (polusimonitoring.mtar) di subkount ITeLO Consulting. Ini dapat dilakukan dengan menggunakan fitur "Solusi" yang disediakan di panel kontrol SCP. Untuk melakukan ini, buka tab "Solusi" dan klik tombol "Deploy".

Dalam dialog yang muncul, buka lokasi file pollmonmonitoring.mtar dengan mengklik tombol Browse di bidang MTA Archive dan pilih, lalu klik Deploy.

Setelah berhasil mengunduh arsip MTA di panel kontrol akun ITeLO Consulting, Anda akan melihat yang berikut:
⢠Pada tab "Aplikasi Java" aplikasi Java yang sedang berjalan "pollmonitoring" akan muncul;

⢠Basis data akan secara otomatis terikat ke aplikasi Java. Untuk memeriksa, buka aplikasi Java dan pilih tab "Konfigurasi" -> "Binding Data Sourse";

⢠Pada tab "Aplikasi HTML5", aplikasi "polusimonitoringui" aplikasi HTML5 yang berjalan akan muncul.

Sekarang Robert perlu membuat subakun yang disebut ABC Petro Corp untuk klien.
Buka akun SCP global Anda dan pilih "Subakun Baru" di tab "Subakun".

Pada kotak dialog yang muncul, masukkan nama sub-akun, pilih lingkungan (Neo) dan wilayah di mana akun global dan, oleh karena itu, sub-akun penyedia berada. Kemudian klik "Buat."

Sekarang sub-akun lain akan muncul di akun global - sub-akun klien.
Langkah selanjutnya adalah membuat langganan di dalam akun klien ABC Petro Corp untuk aplikasi yang berjalan di akun penyedia. Untuk melakukan ini, gunakan klien konsol untuk lingkungan Neo. Cara menginstalnya dijelaskan di sini.
Di klien konsol untuk Neo, masukkan perintah berikut:
neo subscribe āaccount << ABC_PetroCorp>> -application << ITeLO_consulting>>:pollutionmonitoring -user << >> -host << >>
ID subaccount dapat ditemukan di tab āGambaran Umumā -> āInformasi subaccountā.

ID pengguna ditunjukkan di tab "Informasi Pengguna", yang terletak di menu tarik-turun di sudut kanan atas panel kontrol SCP.

Host untuk semua wilayah lingkungan Neo dijelaskan
dalam dokumentasi .
Untuk berlangganan aplikasi HTML5, gunakan panel kontrol SCP. Kami akan pergi ke sub-akun klien ABC Petro Corp dan memilih tab "Langganan" -> "Langganan Baru" (untuk HTML5).

Di kotak dialog, pilih sub akun dari penyedia dan aplikasi HTML5 di dalamnya, lalu klik "Simpan".

Sekarang klien berlangganan aplikasi Java dan HTML5 yang disediakan oleh penyedia, dan ini ditampilkan di panel kontrol akun ABC Petro Corp.

Aplikasi pemantauan polusi memungkinkan Anda untuk menampilkan data polusi untuk pabrik dan kota.
Data kontaminasi tanaman terletak di sistem lokal klien. Informasi tentang tingkat polusi di kota dapat diperoleh melalui layanan open source, tersedia melalui Internet. Layanan semacam itu bisa berupa OpenAQ. Aplikasi pemantauan polusi dapat mengakses layanan ini dengan menjelaskan jalur tujuan di panel kontrol SCP.
Layanan ini akan digunakan oleh ABC Petro Corp dan pelanggan potensial lainnya, sehingga alamat tujuan akan ditambahkan ke akun penyedia ITeLo Consulting.
Untuk aplikasi Java, jalur tujuan yang disebut openaq - api - dest dijelaskan dalam file web.xml.

Jalur tujuan ini ditunjukkan dalam kelas "PollutionDataService" (file "PollutionDataService.java").

Setelah pencarian untuk jalur tujuan selesai, semua panggilan dari kode Java ke layanan OpenAQ diluncurkan melalui itu.
File jalur tujuan "open-api-dest" terletak di dalam folder "Destinasi-Penyedia" yang terletak di dalam proyek "pollmonitoring".

File ini berisi URL ke layanan OpenAQ.

Jalur tujuan ini harus dimuat ke dalam sub-akun penyedia ITeLo Consulting. Untuk melakukan ini, kita pergi ke subaccount ITeLo Consulting, pergi ke tab "Aplikasi Java" dan pilih aplikasi "pemantauan polusi".
Selanjutnya, pilih tab "Konfigurasi" ā "Tujuan" dan klik tombol "Impor Tujuan".

Pada kotak dialog yang muncul, tentukan path ke file "open-api-dest". Setelah itu, jalur tujuan akan dikonfigurasikan di panel kontrol SCP. Klik tombol "Simpan". Jalur tujuan akan terlihat seperti ini di platform cloud:

Layanan ini tersedia melalui https, jadi Anda perlu membuat koneksi yang aman. Ini dapat dilakukan dengan menggunakan layanan "penyimpanan kunci" untuk SCP. Proyek pemantauan polusi, yang diunduh dari GitHub, sudah memiliki file dengan kunci: jssecacerts.jks dan cacerts.jks. Mereka perlu dimuat ke dalam subaccount dari klien ABC Petro Corp.
Untuk melakukan ini, kami kembali menggunakan klien konsol untuk lingkungan Neo.
Di klien konsol untuk Neo, masukkan perintah berikut:
neo upload-keystore āaccount << ABC_PetroCorp>> āuser << >> ālocation << jssecacerts.jks>> āhost << >>
neo upload-keystore āaccount << ABC_PetroCorp >> āuser << >> ālocation << cacerts.jks>> āhost << >>
File-file ini ("jssecacerts.jks" dan "cacerts.jks") terletak di folder "Layanan KeyStore" dari proyek "memantau polusi".
Bagian 3. Layanan Kegigihan - inisialisasi dan isolasi dataBeberapa pelanggan tertarik pada aplikasi ITeLO Consulting. Aplikasi multi-penyewa ini harus memastikan bahwa data ABC PetroCorp sepenuhnya terisolasi dari data pelanggan lain dalam database (misalnya, data XYZ EnergyCorp). Ini sangat penting untuk memastikan keamanan data klien dan aplikasi.
Robert dari ITeLO Consulting ingin aplikasinya mengisolasi penyimpanan data kliennya, dan dia tertarik pada bagaimana ini dapat dicapai.
Untuk mencapai isolasi data, kita perlu menentukan tingkat isolasi, mis. isolasi di tingkat tabel (menyimpan data dalam tabel yang berbeda dalam satu skema), di tingkat skema (menyimpan data klien dalam skema yang berbeda), di tingkat penyewa (menyimpan data klien dalam penyewa database yang berbeda). Layanan Kegigihan Platform Cloud SAP, dalam hubungannya dengan JPA (Java Persistence API) dan EclipseLink, mendukung penerapan metode isolasi data ini.
Ada tiga cara untuk mencapai multi-tenancy di tingkat basis data. Kami memeriksa metode ini di bagian 1.
Pada bagian kedua, kita akan fokus pada metode yang disebut "pemisah kolom". Dialah yang akan digunakan oleh Robert untuk mengisolasi data pada tingkat database dalam keputusannya.
Menggunakan kolom pemisah:
Dalam pendekatan ini, satu skema database didistribusikan di antara semua pengguna aplikasi. Id penyewa dapat digunakan sebagai nilai di kolom pembatas. Cuplikan kode disajikan di bawah ini.

Sebagai langkah persiapan, kami juga menginisialisasi data yang akan digunakan dalam aplikasi pemantauan polusi.
Langkah 1: Verifikasi Uraian Kolom Pemisah dalam Kode AplikasiPada tahap ini, kita akan melihat bagaimana model data aplikasi digunakan untuk menyediakan multi-tenancy di tingkat basis data.
Untuk melakukan ini, mari kita lihat
proyek yang diunduh dari GitHub , yang sudah dimuat ke ruang kerja Eclipse.
Selanjutnya kita akan melihat beberapa file proyek. Anda dapat melakukan ini baik melalui lingkungan Eclipse, atau mengunduh proyek, unzip ke tempat yang nyaman bagi Anda dan buka file secara terpisah. Kami akan menggunakan opsi kedua.
Proyek yang tidak di-zip adalah sebagai berikut:

Kita akan pergi ke file "BaseObject.java" dari proyek yang terletak di sepanjang jalan
"/pollutionmonitoring/java/src/main/java/com/sap/hana/cloud/samples/pollutionmonitoring/model/BaseObject.java" dan membukanya menggunakan editor (mis. Notepad ++).

Dalam file ini kami memeriksa deskripsi metode "Pemisah kolom". Begini tampilannya:

Sekarang kita beralih ke file "web.xml" yang terletak di sepanjang path "/pollutionmonitoring/java/src/main/webapp/WEB-INF/web.xml".

Pastikan bahwa sumber data (database) dilampirkan ke aplikasi sebagai sumber standar (DB Default). Di file web.xml, tampilannya seperti ini:

Contoh ini menunjukkan bagaimana multi-tenancy diimplementasikan dalam aplikasi pemantauan polusi.
Langkah 2: Verifikasi konfigurasi servlet inisialisasi dataRobert tahu bahwa pelanggan dari aplikasinya perlu mengunduh data untuk menggunakannya. Jadi dia menciptakan servlet untuk menginisialisasi data yang dapat digunakan klien (seperti Emily) untuk memasukkan data ke dalam aplikasi pemantauan polusi.
Pada titik ini kita akan melihat bagaimana publikasi servlet inisialisasi data dikonfigurasi.
Servlet tersebut dijelaskan dalam file "DataInitializationServlet.java", yang terletak di proyek di sepanjang jalan
"/pollutionmonitoring/java/src/main/java/com/sap/hana/cloud/samples/pollutionmonitoring/api/DataInitializationServlet.java" .

Metode publikasi ini ditunjukkan dalam file "web.xml" (
"/ polusimonitoring / java / src / main
/webapp/WEB-INF/web.xml " ).

Buka file ini dan pastikan servlet untuk memuat data ke dalam aplikasi pemantauan polusi telah dipublikasikan menggunakan URL ā/ inisialisasiā. Ini terlihat seperti ini:
Langkah 3. Menggunakan servlet untuk menginisialisasi data polusi untuk ABC PetroCorp (klien)Emily dari ABC PetroCorp dapat mengakses aplikasi pemantauan polusi menggunakan langganan yang dibuat.
Aplikasi Pemantauan Polusi menggunakan dua jenis data:
Data Polusi: Baca dari sumber seperti API eksternal, sensor polusi, dll.
Data Tanaman biasanya dibaca dari sistem pelanggan lokal - seperti sistem ERP.
1) Pada tahap ini, kami akan membuat data polusi menggunakan servlet inisialisasi data yang terletak di proyek. Data ini akan disimpan dalam database HANA di SAP CP, yang terkait dengan aplikasi di akun penyedia.
2) Data instalasi dibaca oleh aplikasi dari sistem lokal, yaitu, mereka tidak disimpan dalam database HANA di SAP CP. Ini akan dibahas di bagian kelima artikel "Konektor SAP Cloud - Mengkonfigurasi dan Mengkonfigurasi Layanan untuk Terhubung ke Sistem Lokal".
Pada titik ini, kami mengunggah data polusi ke dalam aplikasi "dengan berlangganan". Untuk ini, servlet "Inisialisasi Data" akan digunakan, yang terletak di proyek dan dapat digunakan untuk memasukkan data yang disiapkan ke dalam database HANA.
Mari kita lihat bagaimana data yang disiapkan terlihat dan bagaimana hal itu dapat diinisialisasi menggunakan servlet. Untuk melakukan ini, kita kembali membuka file "DataInitializationServlet.java", yang terletak di proyek di sepanjang jalan
"/pollutionmonitoring/java/src/main/java/com/sap/hana/cloud/samples/pollutionmonitoring/api/DataInitializationServlet.java" , dan buka itu.
Di sini kita dapat melihat data yang disiapkan untuk ABC PetroCorp dan klien lain (XYZ EnergyCorp).

Kami menginisialisasi data polusi untuk ABC PetroCorp dengan memanggil servlet Inisialisasi Data.
Kami akan pergi ke panel kontrol dari subaccount klien ABC PetroCorp. Dalam kasus kami, akun global terletak di wilayah Eropa (Rot), akses ke sana dilakukan
oleh tautan ini .

Di panel kontrol sub-akun, buka tab "Aplikasi -> Langganan" dan pilih aplikasi Java tempat klien berlangganan.

Pada tab "Gambaran Umum", aplikasi URL akan ditunjukkan, salin.

Buka jendela browser baru, tempel URL aplikasi yang disalin dan tambahkan "/ inisialisasi? Company = ABC PetroCorp" ke sana. Setelah itu, inisialisasi akan selesai dan data akan muncul di layar, yang akan dikirim ke aplikasi.

Kami sekarang telah menginisialisasi data polusi untuk ABC PetroCorp dalam aplikasi pemantauan polusi dari ITeLO.
Pada artikel selanjutnya, kita akan berbicara tentang manajemen identitas menggunakan Identity Authentication - pengaturan layanan penyewa.