DEXA Nasıl Çalışır?

DEXA Nasıl Çalışır?

DEXA temelde 2 farklı uygulama olarak çalışır. İlk uygulama DEXA'nın arkaplan işlemlerini yapmasını sağlayan ve Devoplus Portal ile iletişim kurduğu servis katmanıdır. İkinci uygulama ise bu servisin yönetilmesini sağlayan bir arayüz katmanıdır. Servis katmanı sunucuda her zaman çalışır durumdadır ve DEXA'nın veri alışveriş işlevleri servis katmanında gerçekleştirilir.

Temel Kavramlar

Query Store

DEXA'da yapılan tüm veri alışverişi işlemleri sorgulara bağlıdır. Query Store ise bu sorgulara ait anahtar (isim), giriş parametreleri, çıkış parametreleri, sorgu türü, versiyon, özelleştirme ve sorgu içeriği bilgilerinin saklandığı alandır. Query Store tarafından desteklenen sorgu türleri SQL Server, Nebim V3 Integrator, HTTP ve Node.js Worker şeklindedir. Daha kapsamlı bilgi için Query Store makalemizi inceleyebilirsiniz.

HTTP Tunnel

DEXA ile Devoplus Portal arasındaki iletişimi sağlayan network katmanıdır. HTTP Tunnel sayesinde DEXA servisinin çalıştığı ortamda IPsec gibi bir VPN çözümüne ihtiyaç duyulmadan Devoplus API ve DEXA Service iletişim kurabilmektedir.

HTTP Tunnel, internet ortamında yer alan bulut bir servistir. Hem Devoplus API hem de DEXA Service bu bulut ortamında websocket teknolojisi ile sürekli bağlıdır. Devoplus API'dan DEXA Service'e ulaşması gereken bir veri websocket ile HTTP Tunnel'e gönderilir. HTTP Tunnel bu paketi doğru alıcıya yine websocket ile iletir. Uygulama yanıtı aynı yolu takip ederek Devoplus API'a ulaştırılır.

Oluşturulan HTTP Tunnel üzerinde hem Devoplus ortamından Tunnel'e ulaşılmasında hem de Tunnel'den Client ortamına ulaşılmasında IP kısıtlamaları sağlanmıştır. Bu sayede bulut ortamında yer alan bu servise farklı kişilerden gelebilecek talepler engellenmiştir.

DEXA HTTP Tunnel çalışma prensibi

Message

HTTP Tunnel'de bahsedildiği gibi hem Devoplus API'dan DEXA Service'e hem de DEXA Service'ten Devoplus API'a çift yönlü bir veri alışverişi sağlanmaktadır. Bu veri alışverişi sırasında gönderilen ve alınan veriler standartlaştırılmış bir message paketi ile iletilir. Üretilen her bir message paketi MessageGuid adında bir benzersiz anahtar kullanır. Uygulama yanıtı bu anahtar kullanılarak geri döndürülür.
Örnek bir Data Exchange Message'ı aşağıda görebilirsiniz.
  1. {
        "MessageGuid": "9d169eed-d9c3-4e0d-9f80-073d0f4ac539",
        "QueryStoreType": "Function",
        "QueryStoreKey": "SampleFunction",
        "Parameters": {
            "CompanyCode": 1,
            "ProcessTypeCode": "EZ",
            "IsActive": true
        },
        "Created": "2024-05-21T11:18:45.000+0000"
    }

Execution Result

Data Exchange işlemi tamamen asenkron çalışmaktadır. Gelen bir Data Exchange Message'a bu message ile gelen MessageGuid değeri kullanılarak timeout süresi içerisinde Execution Result modeli ile yanıt dönülmelidir.
Örnek bir Data Exchange Execution Result'ı aşağıda görebilirsiniz.
  1. {
        "ServerName": "Arwen",
        "MessageGuid": "9d169eed-d9c3-4e0d-9f80-073d0f4ac539",
        "ExecutionStart": "2024-05-21T11:18:45.134+0000",
        "ExecutionEnd": "2024-05-21T11:18:45.212+0000",
        "ExecutionResult": [
            {
                "CompanyCode": 1,
                "CompanyName": "Devoplus Teknoloji Çözümleri Ltd. Şti.",
                "TaxNumber": "7881020795",
                "Addresses": [
                    {
                        "AddressTypeCode": 2,
                        "CountryCode": 225,
                        "CityCode": 52,
                        "StateCode": 4006,
                        "PostCode": "34212",
                        "AddressDetails": "15 Temmuz Mah. Bahar Cad. Nurol Park J Blok No: 43/Z1",
                        "Location": [
                            {
                                "Latitude": 41.04121,
                                "Longitude": 28.810477
                            }
                        ]
                    },
                    {
                        "AddressTypeCode": 2,
                        "CountryCode": 225,
                        "CityCode": 52,
                        "StateCode": 3986,
                        "PostCode": "34020",
                        "AddressDetails": "Kazlıçeşme Mah. 245. Sk. Biruni Üniversitesi Teknopark No: 5",
                        "Location": [
                            {
                                "Latitude": 41.00317,
                                "Longitude": 28.91894
                            }
                        ]
                    }
                ]
            }
        ],
        "ErrorMessage": null
    }
    • Related Articles

    • Node.js Worker

      Farklı entegrasyon ihtiyaçlarını karşılamak, mantıksal sınama sonuçlarına göre farklı entegrasyon akışları uygulamak ya da bir hesaplama sonucunu döndürmek gibi işlemleri yapabilmek adına Node.js Worker altyapısını kullanabilirsiniz. Worker ...
    • Query Store Nedir?

      Query Store; Devoplus Portal ile kendi sunucularınız arasında veri alışverişini yönetmek için kullanılır. Query Store altında SQL Server, Nebim V3 Integrator, HTTP ve Node.js Worker tiplerinde hazır veri modelleri saklayabilir, bu modelleri kendi ...
    • Hesap şifremi bilmiyorum ya da şifremi unuttum. Nasıl giriş yapabilirim?

      Kullanıcı Adımı / Şifremi Bilmiyorum Devoplus platformundaki kullanıcı yönetim işlemleri Portal'ı kullanan kurum tarafından sağlanmaktadır. Kullanıcı adınızı ya da şifrenizi bilmiyorsanız lütfen kurumunuzdaki sistem yöneticiniz ile iletişime geçiniz. ...
    • Duyuru Yönetimi

      1. Duyuru Eklenmesi Duyuru eklemek için sayfanın sağ üst kısmında bulunana "Yeni Duyuru" butonuna tıklanır. Açılan sayfadaki alanlar doldurulur ve Kaydet butonu ile kaydedilir. Duyuru Tipi alanından duyurunun nasıl gösterileceğini seçebilirsiniz. ...
    • E-Fatura Entegrasyonları

      Devoplus Fatura Yönetim Sistemi üzerinde onaylanacak e-faturalar, GİB tarafından belirlenen özel entegratör firmalardan otomatik olarak alınmaktadır. Entegratör firmalardan yeni e-faturaları alıp Devoplus Portal'a aktararak yeni bir Fatura Onay ...
    • Popular Articles

    • İGYS Vardiya Modülü

      1. Vardiya Formu Vardiya Formu üzerinden haftalık planlanan kayıtlarınızı doldurabilirsiniz. Vardiya bilgileri alanından Vardiya Tipi ve Hafta seçimi yaptıktan sonra Vardiya Programı alanından Personel seçerek hafta planlamasını yapabilirsiniz. ...
    • Duyuru Yönetimi

      1. Duyuru Eklenmesi Duyuru eklemek için sayfanın sağ üst kısmında bulunana "Yeni Duyuru" butonuna tıklanır. Açılan sayfadaki alanlar doldurulur ve Kaydet butonu ile kaydedilir. Duyuru Tipi alanından duyurunun nasıl gösterileceğini seçebilirsiniz. ...
    • Form Yönetimi

      1. Form Arama Form Arama menüsünden istediğiniz filtreleri vererek arama yapabilirsiniz. İşlemler kısmında bulunan mavi renkli buton ile Form Bilgileri, Akış Adımları, Akış gibi bilgilere ulaşabilirsiniz. Form Bilgileri sekmesinde bulunan butonlar ...
    • Toplantı Odası Rezervasyonu

      1. Rezervasyon Takvimi Rezervasyon Takvimi sekmesinden aktif rezervasyonları görebilirsiniz. Yeni Rezervasyon Oluştur butonu ile seçimlerinize göre toplantı rezervasyonu oluşturabilirsiniz. 2. Rezervasyonlarım Rezervasyonlarım sekmesinden oluşturmuş ...
    • İçerik Yönetim Sistemi

      1. İçerik Yönetimi İlk açılan sayfada oluşturmuş olduğunuz içerikleri görebilir ve sağ üst tarafta bulunan buton ile yeni içerik ekleyebilirsiniz. Yeni İçerik butonuna bastıktan sonra açılan sayfada ilgili alanlar doldurulur ve kaydedilir. İçerik ...
    • Recent Articles

    • Bir sorunla karşılaştığımda ne yapmalıyım?

      Hata ya da Teknik Sorunlar Devoplus Portal üzerinde teknik bir problem yaşıyorsanız, iş akışlarında beklenmedik bir aksiyon yaşandığını düşünüyorsanız lütfen kurumunuzdaki sistem yöneticisi ile iletişime geçiniz. Eğer kurumdaki sistem yöneticisi ...
    • Hesap şifremi bilmiyorum ya da şifremi unuttum. Nasıl giriş yapabilirim?

      Kullanıcı Adımı / Şifremi Bilmiyorum Devoplus platformundaki kullanıcı yönetim işlemleri Portal'ı kullanan kurum tarafından sağlanmaktadır. Kullanıcı adınızı ya da şifrenizi bilmiyorsanız lütfen kurumunuzdaki sistem yöneticiniz ile iletişime geçiniz. ...
    • Devoplus Portal nedir?

      Devoplus kurumsal iletişim portalı, bir şirketin iç iletişim ve bilgi paylaşımını tek bir platformda toplayan dijital bir platformdur. Bu portal, çalışanların işlerini daha verimli bir şekilde yapmalarını, bilgiye hızlıca erişmelerini ve işbirliği ...
    • E-Fatura Entegrasyonları

      Devoplus Fatura Yönetim Sistemi üzerinde onaylanacak e-faturalar, GİB tarafından belirlenen özel entegratör firmalardan otomatik olarak alınmaktadır. Entegratör firmalardan yeni e-faturaları alıp Devoplus Portal'a aktararak yeni bir Fatura Onay ...
    • DEXA Nasıl Çalışır?

      DEXA temelde 2 farklı uygulama olarak çalışır. İlk uygulama DEXA'nın arkaplan işlemlerini yapmasını sağlayan ve Devoplus Portal ile iletişim kurduğu servis katmanıdır. İkinci uygulama ise bu servisin yönetilmesini sağlayan bir arayüz katmanıdır. ...