Internet Communication Framework (ICF), ABAP programları tarafından internet ile iletişim kurmak için kullanılan arayüzlere ve sınıflara dayanan bir programlama arayüzüdür.

SAP ICF Nedir (Internet Communication Framework)

Internet Communication Framework (ICF), ABAP programları tarafından internet ile iletişim kurmak için kullanılan arayüzlere ve sınıflara dayanan bir programlama arayüzüdür . (API) ICF internet protokollerini http, HTTPS ve SMTP yi destekler. Bu protokollere dayanarak ABAP ile internet arasındaki tüm iletişim ICF kullanılarak gerçekleştirilir. ICF, daha gelişmiş programlama arayüzleri tarafından kullanılabilecek basitleştirilmiş bir teknik temelidir. Bu, ABAP programlarının genellikle doğrudan ICF ye erişmediği ve bunun yerine Business Server Pages (BSP), Web Dnypro ABAP, Web Services Abap veya SAPUI5 gibi OData tabanlı hizmetler gibi paketleyicilerin kullanıldığı anlamına gelir.  Aslında ICF yi Windows taki Internet Information Server (IIS) a benzetebiliriz. 
 
SAP NetWeaver uygulama sunucusunun İnternet ile iletişimini Internet Communication Manager (ICM) üzerinden gerçekleştirir. İletişim her iki yönde de çalışabilir. Bu da ABAP ın bir sunucu veya istemci olabileceği anlamına gelir. ICF içerisinde bu yön farklı arayüzleri kullanarak kendi arayüzleri ve sınıfları ile uygulanmaktadır. ABAP programları hem internetten gelen isteklere cevap verebilir hem de daha fazla işlem yapmak için internetten veri sorgulama için veri sağlayabilir. Bu uygun arayüzler kullanarak yapılır. 
İnternetten ulaşılabilen ve AS ABAP ın ICF sunucusu olarak kullanıldığı her servis, servis editöründe servis ağacında bir yapı olarak oluşturulmalıdır. (SICF) 
Hizmet ağacının ilk düğümü, ana bilgisayar ve bağlantı noktasından oluşan AS ABAP Web adresi anlamına gelir.Servisin  ağaçtaki konumu belirli bir servisi çağırmak için gereken diğer URL yolunu belirler. Bir URL, ICF tarafından okunan asıl adres bölümünden sonra form alanları içerebilir. 
SICF işleminde servis ağacındaki bir servise gönderilen http / HTTPS isteğine cevap verilmeden önce, bu servise en az bir global sınıf atanmalıdır Bu sınıf IF_HTTP_EXTENSION arayüzünü uygulamalı ve ICF altyapısına erişebilmelidir. Bir istek hizmete gönderildiğinde ICF bu sınıfın bir örneği olarak bir http istek işleyicisi oluşturur. Uygulanan arayüz sadece tek bir methoda sahiptir. HANDLE_REQUEST, giriş parametresi SERVER, IF_HTTP_SERVER tarafından temsil edilen sunucu nesnesine bir referanstır. Sunucu nesnesinin nitelikleri ve yöntemleri, URL deki form alanlarının içeriği gibi isteğin özelliklerini sorgulamayı ve sunucuya HTML, XML veya JSON gibi uygun bir biçimde veri iletmeyi mümkün kılar. Bunlardan en önemlileri, IF_HTTP_REQUEST veya IF_HTTP_RESPONSE arayüzlerini uygulayan nesneleri ifade eden REQUEST ve RESPONSE olaylarıdır. 
Bir http istek işleyicisindeki bir http/HTTPS isteği, ayrı bir ICF oturumunda ICF işleme olarak ele alınır. Burada MESSAGE veya BREAK-POINT gibi bazı ifadeler, örneğin diyalog işlemede farklı şekilde ele alınır. ICF işlemlerinde programların hatalarını ayıklamak için harici kesme noktaları ayarlanabilir. 
-    Sap kullanıcısı, sap istemcisi veya sap dili gibi özel url form alanlarının tümü sap önekiyle başlar ve oturumlar bir ICF oturumuna girildiğinde buna göre değerlendirilir. 
-    MIME deposundaki nesnelere doğrudan ICF servislerini kullanarak erişmek için özel bir işleyici sınıfı kullanılabilir. 
-    http hizmetlerini temsil eden servislerin yanı sıra, WebSocket protokül veya TCP kullanılarak adreslenen ABAP  Push kanalı servisleri ICF deki hizmet ağacında tanımlanır. 
HTTP istemcisi için proxy ayarı SICF işleminde uygun şekilde yapılandırılmışsa, ABAP programları ICF kullanarak Internet'e istek gönderebilir ve yanıt alabilir.Bu, IF_HTTP_CLIENT arayüzünü uygulayan CL_HTTP_CLIENT sınıfındaki istemci nesneleri kullanılarak yapılır. Bir istemci nesnesi, bu sınıftan bir fabrika yöntemi kullanılarak oluşturulabilir; bu, onu bir Web adresiyle ilişkilendirir. Bir sunucu nesnesi gibi, IF_HTTP_REQUEST veya IF_HTTP_RESPONSEarabirimlerini uygulayan ve istek göndermek ve yanıtları almak için kullanılabilen REQUEST ve RESPONSE başvuru nesnelerini kullanır.

Güvenlik

ICF nin API si virüs taramalarının virüs scan interface(VSI) kullanılarak çalıştırılmasını sağlar. Tarama için gerekli virüs tarama profilleri seçilir.
Ayrıca bir diğer güvenlik boşluklarını da bilmemiz gerekir. Örneğin bir ICF sunucusundan gönderilen sayfalar tıklatma saldırılarına karşı korunmalıdır. Bu http istek işleyicinde yöntem çağrısı kullanarak önlenebilir. 


Server->response->set_header_field( name= ‘X-Frame-Options’ value=’n’).

İlgili Makaleler

Bu yazıya 0 yorum yapılmış.

Yorum Gönder