Bu web sitesi, size mümkün olan en iyi kullanıcı deneyimini sunabilmek için çerezleri kullanır. Çerez bilgileri tarayıcınızda saklanır ve web sitemize döndüğünüzde sizi tanımak ve ekibimizin web sitesinin hangi bölümlerini en ilginç ve yararlı bulduğunuzu anlamasına yardımcı olmak gibi işlevleri yerine getirir.
İş yazılımı geliştiren bir üretici firma isek, bir gerçeği olabildiğince içselleştirmemiz gerekiyor: Müşterimiz uygulamayı kullanmak için satın almaz, iş düzeninin bir parçası haline getirmek için satın alır. Satın alma için de genelde 2 ana motivasyondan bahsedebiliriz:
- Düzende bir parça, ya da makinede bir dişli eksiktir. Uygulama da o eksiği tamamlayacaktır.
- Müşterinin iş düzeni, uygulamanız ile daha sade ve etkili bir hale gelecektir.
Her iki durumda da uygulama günlük iş operasyonlarının önemli bir parçası olur. Hele ki satış gücü otomasyonu (SFA) üretiyorsanız, günlük operasyonların merkezinde bulursunuz kendinizi. Uygulamanızın ucu her yere dokunur. “Biz sadece saha aktivitesini yönetiyoruz ve ölçümlüyoruz. Stok, CRM operasyonları, kampanyalar, depo, sevkiyat… bunlar bizim kapsamın çok dışında” deyip kenara çekilemeyebilirsiniz.
Müşteriniz küçük ve orta ölçekli bir işletme ise işiniz biraz daha kolay olabilir. İstisnalar elbette olabilir ama küçük ve orta ölçekli işletmelerde, merkezine oturduğunuz günlük operasyonlar için kullanılan yazılımların sayısı çok değildir. Dolayısıyla entegrasyon beklentisi azdır. Büyük bir ekip yoktur. Büyük veri de yoktur.
Mid-level ve enterprise firmalara doğru yöneldiğinizde iş tamamen değişir. Satın aldıkları ve kullandıkları ilk yazılım siz değilsinizdir. Daha büyük ekip, dolayısıyla daha büyük veri ve daha fazla işbirliği vardır. “Bizim yazılımda bu veriyi göremezsiniz” cümlesini çok kuramazsınız. Uygulamanızın sunduğu fonksiyon seti sınırsıza yakın olsa da – ki bu ayrı bir dert olur çoğu zaman – üzerinize almamanız gereken bazı süreçler vardır. Ama bu süreçlerden ayrı, sadece kendi kapsamınızda çözüm öneremezsiniz.
Artık “entegrasyon” kelimesi kullanılmaya başlanmıştır. Ekmob SFA gibi SaaS bir uygulama isek entegrasyon daha farklı ele almamız gereken bir kelimedir. “Bu müşteriye bir aktarım yazılımı yapalım, sunucusuna kuralım, çalışsın” cümlesini de kuramayız.
Böyle bir dünyada var olabilmek için öncelikle dünyaya “açık” hale gelmemiz gerekiyor. Bunun için ihtiyacımız olan bir API katmanıdır. Application Programming Interface anlamına gelen API aslında geniş bir terimdir. Ama bahsettiğimiz kapsamda API kelimesini şöyle tanımlayabiliriz:
“Uygulamanızın veri deposuna, sadece uygulamanız üzerinden değil, başka sistemler tarafından da doğru veri akmasını sağlayacak bir servis.”
Temelde SaaS uygulamanızın da (mobil veya web) kullandığı sunucunuzdaki servisin, yetkilendirilmiş başka sistemler tarafından da erişilebilir olması, sizi entegrasyonlara “açık” hale getirir.
Eğer Public API kavramından bahsediyorsak, şu temel özelliklere sahip olmalıyız:
- Ölçeklenebilirlik: Sunucunuz, kullanıcı sayısı artsa da hep aynı performansta, ya da çok yakın şekilde çalışabilmeli
- API, tüm business logic ve validasyonları içermeli. Entegre olacak yazılımlara “Bizim yazılım datayı şu şekilde aktarıyor, siz de şöyle gönderin” diyemezsiniz. Verinin doğruluğundan API sorumludur.
- API, herkesin kolayca çalışabileceği şekilde dokümante edilmiş olmalıdır. Entegrasyonu sağlayacak kişilere bir co-development hizmeti sağlamak çok masraflı hale gelebilir.
- İnşa ettiğiniz API mutlaka erişim scope’ları içermelidir. Public API katmanınıza erişimi kontrol edebilmelisiniz.
- API için test coverage %80 ve üzeri olmalı. Dışarıya açık bir dünyada test olmadan production’a çıkmak çok büyük hatalara sebep olur.
- API içerisinde mutlaka tüm doğrulama ve yetkilendirmeden (Authorization & Authentication) sorumlu bir IDM (Identity Manager) olmalı.
Ekmob olarak, 2022 yılı ilk çeyrek itibariyle Ekmob SFA uygulamamızı yukarıdaki API özellikleri ile dış dünyaya açtık. %91 gibi oldukça iddialı bir test coverage elde ettik. RabbitMQ üzerinden haberleşen mikro servis mimarisi ile backend tarafındaki işleri sorumluluklara böldük.
Uzun zamandır bilişim sektöründe edindiğim teorik ve saha tecrübesi ile çok rahat söyleyebilirim ki, çok emek harcadığımız bu API Ekmob’un dünyasını değiştirecek. Katma değerli hizmetler ve müşterimize tam uyum sağlayan çözümler üretebileceğiz.