Ana içeriğe atla

Android Management API Nedir?


EMM ve MDM Farkı

Google’ın üzerinde çalıştığı ve henüz beta sürümünde olan EMM (Enterprise Mobility Management)
çözümüdür. Her ne kadar birbiri ile karıştırılsa da mobil cihazlarda daha sıklıkla duyduğumuz MDM (Mobile Device Management) EMM’in bir alt dalı olarak görülmektedir. Her MDM bir EMM’dir ancak her EMM, MDM olamaz.

EMM’i MDM’den ayıran en önemli özellik, cloud-based olması ve datayı doğrudan ilksel olarak cihazda saklamayı benimsemeyip uzak sunucu ya da cloud based bir çözüm içerisinde saklanmasıdır. EMM çözümlerinin yanında çok yönlü, cihazı her yönden kontrol etmeyi sağlayan mobil uygulamaların da sunulması bu iki kavramın karıştırılmasında rol oynamaktadır.

Device Policy Controller

Sunulan bu uygulamalar (DPC) Device Policy Controller app olarak isimlendirilmektedir. Bu
uygulamalar kullanılacak EMM çözümüne özgü olarak geliştirilmektedir. Temel olarak DPC uygulaması bir agent gibi çalışır ve arkaplanda doğrudan iletişim kurduğu bir yönetim paneli bulunmaktadır.
Google’ın sunduğu Android Management Api’nın getirdiği yenilikler sayesinde artık EMM için ayrı bir DPC uygulaması yazılmadan cihazın yönetilebilir hale getirilmesi mümkün olmaktadır. Bu sayede artık cihaz yönetimi yaparken Android framework’ü açısından endişelenmek yerine asıl konu olan cihaz yönetimi konusunda ihtiyaçların daha da netleştirilmesi konusuna odaklanılmaktadır.

Bu API sayesinde EMM kullanmak artık bir Google Cloud oluşturmak ve birkaç REST API call etmek kadar kolay hale getirilmiş. API ayrık işlemler yerine kurallar üzerine kurulduğu için API üzerinde yapılan düzenlemeler ile cihazın nasıl yönetileceği kontrol edilebilmektedir. Arkaplanda ise hedef cihaz için Google, bu kuralları yorumlayarak belirli, spesifik aksiyon setlerine dönüştürür ve bu spesifik aksiyon setleri üzerindeki istekler cihaza iletilerek Google tarafından geliştirilmiş Android Device Policy App ile çalıştırılır. “Peki neden Google böyle bir uygulama sunuyor?” biz zaten böyle bir uygulamayı kendimiz geliştirip bu yapıyı kurabiliyorduk sorusu akla gelebilir. Bunun yanıtı ise Google’ın, geliştiricileri framework farklılıklarından soyutlamak istemesi. Peki nedir bu farklılıklar? Örneğin hangi API’nin kullanılabilir olduğu ya da hangi Android versiyonunda hangi bug’lar üzerinde çalışılması gerektiği ya da Android versiyonlarında karşılaşılan farklılıklar bunlara örnek gösterilebilir.

Partner Yorumu

Google’ın erken erişim partner’lerinden biri olan Mobiltec’in Management API hakkında yaptığı yorumda ise Android Management API ‘nın güçlü bir Cloud Platform API’yı olduğunu ve Android EMM fonksiyonlarını kendi ürünleri olan cloud4mobile için kolaylıkla entegre ettiklerini ve bu api sayesinde geniş bir cihaz yelpazesine EMM çözümlerini sunduklarını belirtmişler. Yukarıda da bahsettiğimiz bir diğer nokta olan kendi DPC (Device Policy Controller) uygulamasını yazma ihtiyacı duymadan birkaç dakikada birkaç HTTP request’i ile istenilen kontrol mekanizmalarının kolaylıkla eklenebildiğine de değinmişler.

“Android Management API is a powerful Cloud Platform API that allows us to easily integrate Android EMM functions to cloud4mobile, our EMM tool. With this new management API, we can deliver top-of-market EMM solutions to a wide range of devices,” says Paulo Morandi, senior software architect at Mobiltec. “Since we don’t need to develop our own DPC (device policy controller), new features can be added in minutes; just some HTTP requests and you are done.”

Neler Gerekli? Nasıl Kullanırım?


Android Management API için gereksinimlere bakacak olursak; Android 6.0 ya da daha üstü Android
versiyonuna sahip ve Google Play yüklü olan herhangi bir cihazda çalışabilmektedir. Bir diğer nokta olan üretici konusuna baktığımızda, elinizdeki cihazlar bir ya da birden fazla üretici tarafından üretilmiş olsun. Örneğin 1500 tane aktif kullanıcınız var bunlardan 1000 tanesi Samsung cihaz kullanıyor olsun diğer 500 tanesi ise Huawei kullansın. Bu durumun Android Management API yönünden herhangi bir farklılığı yok. Çıkış noktası tüm Android cihazları kolay bir şekilde yönetebilmek olduğu için Google, Android Management API’nın oldukça tutarlı bir yönetim şekli olduğunu belirtmiş.

Küçük bir yorum eklemek gerekirse üreticilerden bağımsız olacağını ve hepsine hitap edeceklerini belirtmeleri gerçekten güzel ve iddialı bir söyleyiş olmuş. Bir Google ürünü olan Vision API’da Huawei cihazlarda ciddi sorunlar yaşandığına ve Google Play Servisleri versiyonuna göre tutarlı bir şekilde çalışmayan Samsung cihazlara yakın zamanda tanıklık etmiştim. ( İncelemek isterseniz konu ile ilgili issue tracker post’una buradan ulaşabilirsiniz ) Umarım bunda da benzer sorunlarla karşılaşmayız.

API’ın ilk setleri amaca yönelik, dijital sinyalizasyon, baskı makineleri ve kiosklara özgü kullanım amaçları üzerinde yoğunlaşmış ancak zamanla daha farklı cihaz ve kullanım özellikleri eklenecektir. Özellik listesine ve detaylara buradan erişebilirsiniz.

Peki nasıl kullanırız? Neler Gerekli?

  • Yeni veya factory reset yapılmış Android 6.0 veya üzerinde Android versiyonuna sahip bir cihaz
  • Gmail Hesabı
Bunları sağladıktan sonra şuradaki Quickstart adımlarını takip ederek kullanmaya başlayabilirsiniz.

Kaynak1
Kaynak2

Onur Yurttürk
Univera Mobil Yazılım Uzmanı

Yorumlar

Bu blogdaki popüler yayınlar

UML ve Modelleme – Bölüm 4 (Class (Sınıf) Diyagramları)

Bir önceki makalemizde UML modellemede kullanılan ilk diyagram olan Use Case diyagramını incelemiştik. Bu makalemizde nesne tabanlı programlamada kullanılan sınıflar ve sınıfların arasındaki ilişkileri modelleyebileceğimiz diyagramlar olan Class(Sınıf) diyagramlarını inceleyeceğiz. UML’de sınıflar, nesne tabanlı programlama mantığı ile tasarlanmıştır. Sınıf diyagramının amacı bir model içerisinde sınıfların tasvir edilmesidir. Nesne tabanlı uygulamada, sınıfların kendi özellikleri (üye değişkenler), işlevleri (üye fonksiyonlar) ve diğer sınıflarla ilişkileri bulunmaktadır. UML’de sınıf diyagramlarının genel gösterimi aşağıdaki gibidir. Şekil 1. Class Diyagram Şekil1’de görüldüğü üzere bir dikdörtgeni 3 parçaya bölüyoruz. En üst bölüm sınıf adını, orta kısım özellik listesini (üye değişkenler) ve en son kısım, işlev listesini (üye fonksiyonlar) göstermektedir. Çoğu diyagramlarda alt iki bölüm çıkarılır. Genelde tüm özellik ve işlevler gösterilmemektedir. Amaç, diyagramın sadece belirli k…

UML ve Modelleme – Bölüm 3 (Use Case Diyagramlar)

Önceki iki makalemizde (1, 2) UML’e genel olarak değinip ve modellemede kullanacağımız dokuz diyagram hakkında bilgiler vermiştik. Bu makalemizde Use Case diyagramından detaylı bahsedeceğiz. Öncelikle, genel Use case diyagramının tanımını hatırlayalım. “Bir kullanıcı ve bir sistem arasındaki etkileşimi anlatan senaryo topluluğudur.” Ivar Jacobson Senaryo tanımı için der ki:
“Aktörle sistem arasında gerçekleştirilen, sonucunda aktöre farkedilir getirisi/ faydası oluşan etkileşimli diyalogdur. ” UML Use Case Diyagramları  sistemin işlevselliğini açıklamak amacıyla kullanılır. Sistemin birbirinden ayrı özelliklerinin detaylarını göstermekten ziyade, Use Case Diyagramlar, tüm mevcut işlevselliği göstermek için kullanılabilir. Buradaki en önemli noktalardan biri,   Use Case Diyagramlar temelde sequence diyagram ve akış diyagramlarından farklıdır. Use Case diyagramlar dört ana elemandan oluşmaktadır. Aktörler, Sistem (Proje kapsamını belirtir), Use Caseler ve bunlar arasındaki ilişkiler. Şekil…

Cluster ve clustering nedir? Cluster oluşturmanın faydaları nelerdir? (Bölüm I)

Cluster, basit anlamda benzer bir amaç için belirli bir konfigürasyon yapılarak aynı görevi birlikte ya da yedekli çalışmasını sağlayan servistir. Cluster farklı amaçlarla oluşturulabilir fakat son kullanıcı tarafından her zaman tek bir bilgisayar gibi gözükecektir. Bir cluster oluşturmak için en azından iki adet sunucuya ihtiyaç vardır ve bir cluster içindeki her bir sunucu “node” olarak adlandırılır. İhtiyaç olan hizmete göre çeşitli sayıda nodelar bir araya gelerek clusterları oluşturmaktadır. Bir cluster oluşturmak için gerekli sebepler daha fazla performans ihtiyacı, yüksek erişilebilirlik (high availability) ya da her ikisi birlikte olabilir. Şimdi cluster çeşitlerini çok fazla ayrıntıya girmeden biraz daha yakından inceleyelim. Yüksek erişilebilirlik (High-availability) clusterlarıBu tip cluster yapısında öncelik erişilebilirliği arttırmadır. Bunu tek bir sunucunun görevini herhangi bir donanım yada yazılım problemi oluştuğunda diğer bir sunucunun otomatik olarak devralması olara…