30 Eylül 2023 Cumartesi

Sunucular Arasındaki İşlemler

 

   Bu tarif sunucu sınırlarını aşan işlemler üzerine yazılmış bir makaledir. Örneklerde bir kullanıcı profilini bir uygulamadan diğerine geçmeyi bekleyen tekliflerin özetlerini bir müşteri ilişkileri yönetimi uygulamasına içe aktarmayı veya halihazırda taslak sunucusunda bulunan üretim sunucusunda bir belge yayınlamayı içeriyor.  Bu tür kullanım durumları birden çok sunucuda durum manipülasyonuna  ihtiyaç duyar.

Sunucular arası işlemleri tasarlamak ve uygulamak için sunucuların birbirleriye işbirliği yapılmasına izin verin. Bu sunucuların veri formatları arka uç arayüzleri ve eşzamanlılık kontrolü üzerinde anlaşmaların yanı sıra bir veri deposunda veri yüklemeyi diğer sunucunun formatına uyacak şeklide normalleştirmeyi ve ardından depolamayı içerebilir. Sunuculardan birinin işlemi tetiklemek için istemcilere bir bağlantı sağlamasına izin verin. 

Sunucu sınırlarını aşan işlemlerle karşılaşıldığında endişelerin ayrılması kilit bir endişe olmalıdır. iki Web hizmetini düşünürsek biri kullanıcıların bağlantılarını yönetiyor. http://contacts.example1.org üzerinde çalışır ve e-posta, metin mesajları, sesli posta v.b gibi diğer yönetim mesajlaşmaları ise http://messaging.example2.org üzerinde çalışır.  Kullanım durumu, bir kullanıcının kişilerini mesajlaşma web hizmetine aktarılmasına izin vermektedir. Bunu desteklemek için kişiler web hizmetinin, kişileri mesajlaşma web hizmet aktarmak için bir bağlantı içerdiğini varsayın. Kişi listesini mesajlaşma web hizmetine aktarmak için bir bağlantıyla birlikte bir kullanıcının kişi listesinin temsili buradadır.

# Request
GET /user/smith/contacts HTTP/1.1 Host: contacts.example1.org
# Response
HTTP/1.1 200 OK
Content-Type: application/xml;charset=UTF-8
<contacts xmlns:atom="http://www.w3.org/2005/Atom">
<atom:link rel="self" href="http://contacts.example2.org/user/smith/contacts"/> <atom:link rel="http://contacts.example1.org/rels/export-to-messaging"
href="http://messaging.example2.org/user/smith/import; t=bcb9169866c69410be37f68210a6986c"
title="Export contacts into to messaging."/> <contact>
... </contact> ...
</contact>


Verileri bir sunucudan diğerine aktarmak için URI ile bağlantı kurun. http://contacts.example2.org/rels/export-to-messaging ilişki türüyle bağlantının anlamını anlayan bir istemci, dışa aktarma işlemini başlatabilir. Bu bağlantı ilişki türünün belgelerinin, istemcinin, kişileri mesaj hizmetine aktarmak için bağlantının URI'sine bir POST isteği göndermesi gerektiğini söylediğini varsayalım. Bağlantının URI yetkisiz kullanım önlemek için bir güvenlik belirteci içerir.

# Request
POST /user/smith/import;t=bcb9169866c69410be37f68210a6986c HTTP/1.1 Host: messaging.example2.org

# Response
HTTP/1.1 303 See Other
Location: http://messaging.example2.org/user/smith Content-Type: application/xml;charset=UTF-8

#Request : Verileri dışarıya aktarma isteği 

Dışa aktarma sonuçlarını sağlaya URI istemci bu isteği gönderdiğinde mesajlaşma hizmeti kişilerin bir kopyasını almak için kişiler web hizmetine bir arka uç isteğinde bulunur. Bu işlem sırasında sunucular arasında güvenliğin nasıl yönetildiğine bağlı olarak mesajlaşma web hizmeti URI bulunan belirteci kişiler web hizmetine sunabilir. Bu süreçte kişi listesi verilerinin mesaj sunucusunda kullanılabilir olmasını sağlamaktan sunucular sorumludur.  İstemci yalnızca işlemi tetiklemekten sorumludur. Bu istemcinin eşzamanlılık kontrolü, atomsallık, veri formatlarındaki farklılık v.b dahil olmak üzere sunucunun uygulama ayrıntılarından ayrılmasını sağlar. Bu sunucular arasındaki koordinasyonun sonucudur. 

NOT:

Teknik ve organizasyonel sorunlar nedeniyle böyle bir koordinasyon mümkün olmadığında müşterinin tüm kişileri http://contacts.example2.org/user/contacts adresinden indirilip mesajlaşma servisine gönderilmesinden başka bir seçenek yoktur.





24 Eylül 2023 Pazar

Kaynakların Anlık Görüntüsü Nasıl Alınır.

 

Bu konuda her güncelleme öncesinde kaynağın anlık görüntüsünün nasıl alınacağını açıklar.  Bir istemci bir kaynağı PUT yöntemiyle güncellediğinde, sunucu kaynağı mevcut durumunu günceller ve istemcinin güncellemeden önce ne olduğunu bilmesini imkan vermez. Ancak müşterilerin zamanda geri gitmeyi ve değişikliklerin geçmişine göz atmayı bekledikleri durumlar vardır. 


Örneğin belirli kavşaklardaki trafik koşullarının geçmiş ve şimdiki anlık görüntülerini sağlamak için bir web hizmeti tasarlandığını hayal edelim. Çoğu müşteri en son koşulları görmek ister, ancak bazı müşteriler geçmiş trafik koşullarına göz atmak isteyebilir. 

Alternatif olarak bir wiki düşünün. Wiki'deki her sayfa için herhangi bir müşterinin herhangi bir sayfada yapılan değişiklikleri alabilmesi karışlatırabilmesi ve değerlendirmesi için sunucunun her sayfa için mevcut ve geçmiş revizyonların bir revizyon yığınının tutması gerekir.

Bir istemci bir kaynağı güncellemek için PUT  isteği gönderdiğinde kaynağı güncelemeden önce dolaylı olarak bir anlık görüntü - bir kopya kaynağı - oluşturur. Güncellenen kaynağın temsilinde, anlık görüntüye bir bağlantı eklenir. Ayrıca anlık görüntü kaynağı güncelenen kaynağa bir bağlantı eklenir.  Bir istemci bir DELETE isteği gönderildiğinde tüm anlık görüntülerle bir kaynağı silinir.

Özünde bu tarih müşterinin kaynakların sürümlerin nasıl oluşturacaklarını ve yöneteceklerini öğrenmelerine gerek kalmadan kaynaklar için basit bir sürüm oluşturma mekanizması oluşturmamıza olanak tanır.

Sürümlerin umursamayan istemciler, HTTP'nin tek tip arayüzünün her zamanki gibi sunucunun anlık görüntülerin koruduğunu fark etmektedir. Sürümleri önemseyen istemciler geçmiş sürümlere gözatabilir.  Sunucunun deposunda her anlık görüntü tam bir kopya olabilir veya yalnızca önceki sürümden farklılıkların listesini içerebilir. İşte yeni bir anlık görüntü oluşturan örnek; 

# Request
PUT /trails/ColchuckLake HTTP/1.1
Host: wiki.example.org
If-Unmodified-Since: Sun, 01 Nov 2009 12:34:43 GMT Content-Type: application/atom+xml;type=entry;charset=UTF-8

<atom:entry xmlns:atom="http://www.w3.org/2005/Atom"> <atom:author>

<atom:name>Joe Hiker</atom:name>
</atom:author>
<atom:title>Colchuck Lake</atom:title> <atom:id>urn:example:wiki:trails:ColcuckLake</atom:id> <atom:content xml:lang="en" type="html">

... initial draft ... </atom:content>

</atom:entry>

# Response
HTTP/1.1 204 No Content


Bir PUT isteğine yanıt olarak sunucu kaynağı http://wiki.example.org/trails/ColchukLake/s1 adresine kopyalar. 

# Request
GET /trails/ColchuckLake HTTP/1.1 Host: wiki.example.org

# Response
HTTP/1.1 200 OK
Last-Modified: Sun, 01 Nov 2009 16:24:56 GMT
Content-Type: application/atom+xml;type=entry;charset=UTF-8

<atom:entry xmlns:atom="http://www.w3.org/2005/Atom"> <atom:author>

<atom:name>Joe Hiker</atom:name>
</atom:author>
<atom:title>Colchuck Lake</atom:title> <atom:id>urn:example:wiki:trails:ColcuckLake</atom:id> //Kaynağın Mevcut Sürümü
<atom:link href="http://wiki.example.org/trails/ColchuckLake" rel="self"/> <atom:link href="http://wiki.example.org/trails/ColchuckLake/s1" rel="previous"/> <atom:content xml:lang="en" atom:type="html"> //Anlık Görüntü

... updated draft ... </atom:content>

</atom:entry>


Önceki ilişkiye sahip bağlantı kaynağı önceki anlık görüntüsüne bir bağlantıdır. İstemci kaynağı değiştirmek için başka bir PUT isteği gönderdiğinde sunucu http://wiki.example.org/trails/ColchukLake/s2 adresinde yeni bir anlık görüntü oluşturmak için daha önce gösterilen işlemi tekrarlayabilir.

# Request to update the resource
PUT /trails/ColchuckLake HTTP/1.1
Host: wiki.example.org
Content-Type: application/atom+xml;type=entry;charset=UTF-8 If-Unmodified-Since: Sun, 01 Nov 2009 16:24:56 GMT

<atom:entry xmlns:atom="http://www.w3.org/2005/Atom"> <atom:author>

<atom:name>Joe Hiker</atom:name>
</atom:author>
<atom:title>Colchuck Lake</atom:title> <atom:id>urn:example:wiki:trails:ColcuckLake</atom:id> <atom:content xml:lang="en" type="html">

... updated draft ... </atom:content>

</atom:entry>

# Response
HTTP/1.1 204 No Content


Bu adımdan sonra URI http://wiki.example.org/trails/ColchukLake adresindeki kaynak en son sürümdür. Öncesinde http://wiki.example.org/trails/ColchukLake/s2, ardından http://wiki.example.org/trails/ColchukLake/s1 geliyor. İstemci önceki ilişki türüyle bağlantıyı kullanarak eski anlık görüntüleri almak için geri doğru gidebilir. 
Bu güncellemeden sonra http://wiki.example.org/trails/ColchukLake/s2  tin bir temsili kendi anlık görüntüsünü içerir. http://wiki.example.org/trails/ColchukLake/s2


# Request

GET /trails/ColchuckLake/s2 HTTP/1.1 Host: wiki.example.org

# Response
HTTP/1.1 200 OK
Content-Type: application/atom+xml;type=entry;charset=UTF-8

<atom:entry xmlns:atom="http://www.w3.org/2005/Atom"> <atom:author>

<atom:name>Joe Hiker</atom:name>
</atom:author>
<atom:title>Colchuck Lake</atom:title> <atom:id>urn:example:wiki:trails:ColcuckLake</atom:id>
<atom:link href="http://wiki.example.org/trails/ColchuckLake/s2" rel="self"/> // Mevcut anlık görüntü kaynağı

<atom:link href="http://wiki.example.org/trails/ColchuckLake/s1" rel="previous"/> //Bir önceki anlık görüntü kaynağı

 <atom:link href="http://wiki.example.org/trails/ColchuckLake" rel="next"/> //Sonraki görüntü kaynağı

<atom:content xml:lang="en" atom:type="html">

... updated draft ...

</atom:content> 

</atom:entry>


İstemci önceki anlık görüntülere gitmek için önceki ilişki türüyle bağlantıyı kullanabilir veya daha yeni anlık görüntüllere gitmek için bir sonraki ilişkiye bağlantı kullanabilir.

10 Eylül 2023 Pazar

2. Dünya Savaşını Başlatan Olay Polonya'nın İşgali



Ikinci dünya savaşı. Yetmiş milyon insanın öldüğü bir mücadele. Tüm dünyayı etkileyen koca bir kasırga. Arzuların tarumar ettiği onlarca ülke Tank paletlerinin ardında bıraktığı bir enkaz Pek çok olayın dünya tarihine yön vermesi açısından büyük bir öneme sahip olduğu, su götürmez bir gerçektir. Fakat Polonya'nın Almanya tarafından işgali, insanlığın en kanlı savaşı olan İkinci Dünya Harbi'nin başlangıcı olması sebebiyle diğerlerinden ayrılır

Taviz, tavizi doğurur. Büyük savaş sonrası Avrupa'da totaliter ve faşist rejimler giderek popülerleşti. Böyle bir ortamda Almanya'nın başına geçen Hitler, ülkesinin birinci dünya savaşında uğradığı ağır kayıpları telafi etmek için çok çabaladı. Bozulan düzeni yeniden tesis etti ve güçlendi

 


Ülke sınırları dışında yaşayan Alman azınlıkların Almanya'nın hakimiyetinde birleştirilmesi ve yeni toprakların kolonizasyonu ile beraber Alman popülasyonunun bu topraklara yerleştirilmesi politikasını kendisini hedef olarak belirledi. Yaşam alanı, 
Yani Leben Show Fikri onu saldırgan bir dış politikaya sürükledi. O ülkesinin ve halkının yeniden kalkınması için bu politikayı vazgeçilmez olarak görmekteydi. Adolf Hitler ülkesini kalkındırırken bir dünya savaşı çıkarmak niyetinde değildi. zaten Birinci Dünya Savaşı'nda yaşananlar, hem halkın hem de ordunun hafızasında daha çok tazeydi. Buna rağmen Adolf, uluslararası arenada tepki çekecek işler yapmaktan geri durmadı


1936 Raynnan'ın askerden arındırılmış bölgesini ele geçirdi. İspanya iç savaşına birlik yolladı. 1938'de Avusturya'yı ilhak etti. Ve Südetler bölgesi için Çekoslavakya'ya baskı yapıp istediğini aldı



Hitler'in bu kansız ve kolay başarıları onu giderek daha da talepkar bir hale büründürdü. Almanya önüne gelen her şeyi yutan bir canavara dönüşürken İngilizler ve Fransızlar Hitler'i durdurmak yerine ya sorunlardan kaçtılar ya da sorunları öteleyerek rafa kaldırdılar 
uyguladıkları yatıştırma politikasıyla Almanlara karşı tavizkar davrandılar. Hatta Almanların doğuya, Sovyet Rusya'ya doğru yayılmasına tabiri caizse göz yumdular. Kendisine verilen tavizlerden cesaret alan Almanlar Çekoslovakya'yı parçalamak ve tamamını işgal etmek için kolları sıvadılar. Bu girişim üzerine Sovyet Rusya, Çeklerin toprak bütünlüğünü garanti etmek adına Birleşik Krallık'la ortak hareket etmek istese de İngiliz hükümeti buna yanaşmadı



Birleşik Krallık Başbakanı Nevil Chember Lay'nin basireti tamamen bağlanmış olacakları göremiyordu. Ona göre yatıştırma siyaseti gayet başarılı gidiyor ve dünya barış açısından altın çağına giriyordu


Politikalarıyla Hitler'in yükselişini durdurmak yerine onun palazlanmasını sağlayan başbakan, Almanların ekonomik olarak darboğazda olmasına güvenerek Hitler'i kontrol edebileceği bir kukla olarak görüyordu. Fakat büyük bir yanılgı içinde olduğunu kısa süre sonra anlayacaktı


12 Mart 1939'da Almanların kışkırttığı Slovakya, Çekoslovakya'dan ayrılarak bağımsızlığını ilan etti. Ardından Alman ordusu 15 Mart'ta Prag'a girerek Bohemya'yı boyunduruğu altına aldı bir oldubittiyle emeline ulaşan Hitler, vakit kaybetmeden Polonya'ya odaklandı. En başta lehler ile yakınlık kurmuş olan Almanlar sonraki süreçte Polonyalılardan Danzik Limanı'nı ve Doğu Prossü'ye serbest geçiş hakkı istediler



Polonya hükümeti teklifi reddedip direnmeye niyetliydi. Polonyalılar ordularına ve özellikle süvarilerine çok güveniyorlardı. Ayrıca kısa süre sonra İngilizlerin işe doğrudan karışması, onların bu güvenini birkaç misline çıkardı 
Almanların Prag'a girmesiyle İngilizler şoka uğradılar. Böyle bir şey beklemiyorlardı. Diğer bir taraftan çeklerin düşüşü, çemberlerini gördüğü o toz pembe rüyadan bir anda uyandırdı. Camberla hükümeti derhal uyguladığı politikadan ani ve sert bir dönüş yaptı


Bundan sonra İngilizler Hitler'in her hareketini durdurma kararı aldılar. Bu bağlamda ilk olarak 29 Mart'ta Polonya'nın toprak bütünlüğünü koruyacaklarını tüm kamuoyuna bildirdiler.


Şimdiye dek her istediği yapıldığı için arsız bir çocuğa dönüşen Hitler'in yeni oyuncağına el konulmak istenmesine karşı vereceği tepki an itibariyle çok önemliydi. Adolf Hitler diplomasi yoluyla uzlaşma mı arayacaktı? Yoksa savaş boyalarını sürüp ordusunu muharebe meydanlarına mı indirecekti



Birleşik Krallık'ın ve Fransa'nın Polonya'yı bulundukları konumdan koruyabilmeleri zordu. Bu yüzden coğrafi olarak daha uygun konumda olan Ruslara ihtiyaçları vardı


İngilizler gücüne güvenmeseler ve fazlasıyla nefret etseler de Stalin'le temasa geçtiler. Bu temas Batı Avrupalıların isteksizliği yüzünden bir türlü sonuca bağlanamadı. İngiliz Fransız İttifakı'nın Rusya'yla olan görüşmesi çok yavaş ilerledi


Hitler önüne bir fırsat geldiğini düşünüp yolunu tıkamak isteyenlerden önce davranıp hamle yaptı. Ve Ruslarla dirsek teması kurdu. Ruslar ve Almanlar her ne kadar birbirlerinden haz etmeseler de temaslar neticesinde çıkar ortaklığı yapmaya karar verdiler


Ağustos 1939'da Alman Sovyet Saldırmazlık Paktı'nı akdettiler. Bu paktla iki devlet birbirlerine saldırmamayı taahhüt ettikleri gibi gizli maddeler aracılığıyla da Polonya'yı kendi aralarında pay ettiler. Chember Lay'nin ani politika değişikliğini savaşa giden yoldaki ilk dönüm noktası sayacak olursak Alman Sovyet Saldırmazlık Paktı yine aynı yoldaki ikinci büyük dönüm noktasını teşkil etmiş oldu. Stalin bu Pak'la iki şeyi amaçlamıştı



Ilki Polonya'nın kendisine kalan kısmı üzerinden Baltık ülkelerinde ve Besarabya'da nüfus edinebilme imkanıydı. Ikinci ve daha önemlisi Almanların saldırganlığını doğudan batıya kanalize etme fırsatıydı. Paktın diğer imzacısı Hitler ise İngilizler için savaşa gireceğini düşünmüyordu


Hem Hitler'in İngilizlerle bir derdi yoktu. Hatta İngilizlere bir sempatisinin olduğu dahi söylenebilirdi. Amacı Stalin'i caydırıcı bir güç olarak kullanıp İngiltere'yi Polonya'nın arkasında durma konusunda caydırmaktı


Ona göre İngilizler öyle ya da böyle işgali kabulleneceklerdi. Şimdiye kadar hep öyle yapmışlardı. Hitler, koca Birleşik Krallık'ın Polonya'ya verdiği söz yüzünden kendisine savaş ilan edeceğini ihtimal vermiyordu


Uçak, Panzer, Polonya. Batının Polonya için önüne büyük bir taş koymayacağını düşünen Hitler, Ağustos 1939'da saldırı emrini verdi


Emir birliklere ulaştığında Polonya daha seferberliğini tamamlayamamıştı. 34 milyon olan ülke nüfusunun 21 milyonu lehlerden oluşurken 3 milyon Ukraynalı ve 2 milyondan fazla Yahudi'de en kalabalık azınlık gruplarını teşkil ediyordu


Polonya Yüksek Komutası bu nüfustan toplam 10 kolorduda 30 piyade tümeni, 12 de süvari tugayı organize etti. Sonradan eklenecek birliklerle beraber Polonya'nın toplam asker gücü 1 milyona yaklaşacaktı


Polonyalılar romantik bir yaklaşımla çok kalabalık tuttukları süvari tugaylarına haddinden fazla güveniyorlardı. Gelin görün ki o çağda atlı birlikler işlevlerini büyük ölçüde kaybetmişlerdi. Hele Almanların mekanize birliklerine karşı süvari meydana sürmek, talihsizliklerin en ağırı olabilirdi. Bunların yanında orduda iki hava tümenine bölünmüş 800 kadar uçak ve 4.300 top mevcuttu. Tank sayısına bakacak olursak Polonyalıların çoğu yedi TP olan 210 tankı mevcuttu


Yedi TP'liler İngiliz Wickers tanklarının modifiyeli versiyonları olsalar da gayet verimli araçlardı. Lakin sayı olarak Polonyalılar bunlardan çok az üretebilmişlerdi. 30 bölüye ayrılmış 670  tane de TP üç model tank mevcut bu tanklar süvarileri desteklemesi için lehler tarafından üretilmiş hafif zırhlı kaplanmış askeri araçlardı. Mareşal Edward Red Smigdy komutasındaki 10 kolordunun temel planı müttefikleri yetişinceye kadar savunma yapmak



Polonya sınırı çok uzun olduğundan bu iş epey zor olacaktı. Savunmayı daha da zorlaştıran generallerin yanlış kararları oldu. Generaller leh birliklerinin üçte birini Alman ordularının avucunun içindeki danzik koridoruna yerleştirdiler. Buranın savunulması çok elzem değildi. Ama lehler bu konuda da romantik davranıp, asıl mühim kısım olan güneyi bu hareketiyle zayıflatmışlardı


diğer bir hatada hatırı sayılır bir kuvveti Louss Varşova arasında ihtiyatta tutmaktı. Geri kalan birlikler ince bir çizgi şeklinde sınırı savunmak için ön cepheye sürülmüşlerdi. işin büyük savaştaki gibi siper çatışmasına dönüşeceğini varsayan İngiliz ve Fransızlar Polonya'nın 2-3 ay dayanacağını hesaplarken lehler 6 ay dayanırız diye düşünüyorlardı. Alman orduları ise doğu sınırında toplam 66 piyade ve 6 panzer tümenine sahipti. Alman Genelkurmayı elindeki beş orduyu;


630.000 kuzeyde, 886.000 güneyde olacak şekilde gruplamıştı. Toplam asker sayısı harekat dahilinde 2 milyona kadar çıkacaktı. 9.000 top, 2.315 uçak ise Almanya'nın gücüne güç katmaktaydı


Alman ordusunda ağustos 1939 itibariyle envantere kayıtlı toplam 3.472 tank mevcuttu. Bunların 2.668 tanesi panzer-1 ve panzer-2 model araçlardı


Genelkurmay bu cephede eldeki tankların 2.750 kadarını kullanmayı uygun görmüştü. Alman Genelkurmay Başkanı Franz Halder'in hazırladığı plan şu şekildeydi. 


Öncelikle Alman Hava Kuvveti olan kara saldırılarından önce havalanıp düşmanın ulaşım ve ikmal hatlarını felç edecekti. Ardından asıl saldırı emrindeki Güney Ordular Grubu tarafından icra edilecekti. Sekizinci Ordu Lozan'a ilerleyecek. 14 ordu Krako üzerinden Polonya'nın Karpati tarafını saracak


10 ucu  Ordu'da zırhlıların desteğiyle Polonya'nın merkezine akacaktı. Güneyde yer alan Slovaklar ise kendi sınırlarından ilerleyip harekatı destekleyeceklerdi. Kuzey ordular grubuna dahil üçüncü ordu Doğu Pusya'dan Güney'e


Dördüncü Alman ordusu da danzik koridoruna saldıracaktı. Rakiplerini silip süpüren ordular, son aşamada Varşova'da birleşip Visto Nehri batısında düşman ordusunu paketleyecekti. Alman piyadelerinin daha tam mekanize olmamasından Alman Yüksek Komutası askerleri tank ve topların desteklediği klasik piyade saldırılarıyla savaştırmak istese de başta Hains Guderian olmak üzere bazı generaller doktrinini savaş alanlarında ilk kez uygulamak için can atıyorlardı


Yani yıldırım harekatı zırhlı kuvvetlerle bir yarma eylemi yapıp düşman hattının gerisine olabildiğince sarkma üzerine kuruluydu. Hattın arkasındaki ana yollar ve lojistik hatlar kesilir


Böylece düşman yardım alamayacak bir konuma sokulur. Ve arkadan gelen piyadelerin işi kolaylaştırılırdı. Yıldırım Harekatı'nın başarısı için olmazsa olmaz şeyler, iyi arazi, iyi hava desteği, iyi lojistik ve iyi eş güdümdü


Bu koşulların sağlandığını ve Polonya düzlüklerinin amaca uygun olduğunu düşünen tank Komutanı Hans Guderian ve onun gibi düşünenlerin Polonya'da uygulayıp uygulayamayacağı Hitler'in saldırıyı başlatmasıyla belli olacaktı


1 Eylül 2939'da Vermah ortada ilan edilmiş bir savaş olmadan sabah saatlerinde harekete geçti. Dört sularında Alman uçakları havalanıp belirlenen hedefleri art arda bombaladı. Kısa sürede Polonya'nın tüm iletişim ağları, demir yolları ikmal noktaları yerle bir edildi. Ilk uçuşları takip eden dört gün zarfında düşmanın tüm hava gücünü devre dışı bırakıp Polonya semalarındaki tek hakim güç oldu


1 Eylül saat sabah 6 sularında Alman kara ordusu da topluca sınırı geçip saldırıya başladı. Saldırıyla Polonya hatlarının ne kadar işe yaramaz olduğu anında belli oldu. Alman orduları hiç zorlanmadan mevzileri aşıp pek çok koldan planlanan noktalara ilerlediler


Ayın 3 İngiltere ve Fransa, Polonya'yı yalnız bırakmamak adına Almanya'ya savaş ilan etti. Böylece çoğu kişi tarafından daha başlamasına birkaç yıl var sanılan İkinci Dünya Savaşı başladı


Zırhlı ve motorize kuvvetleri çok kısıtlı olan Polonya ordusu, yarılan ön hatlarını geriye çekip yeni savunma pozisyonu alamadan kargaşa içerisinde dağılırken, bunu fırsat bilen Alman komutanlar, garantici tavırlarını bırakıp bu zırhlı birlikleri ilerleyen kıtaların ön kısmını aldılar


Bu Yıldırım Harekatı'nın başladığının ve işgalin daha da hızlanacağının işaretiydi. Yıldırım Harekatı doktrini uyarınca hava desteğiyle önden ilerleyen Alman panzerleri kendilerine verilen görevleri başarıyla tamamlarken


Polonya birlikleri ya savaş dışı kalmışlar ya da parçalara bölünerek çekilmeye zorlanmışlardı. Lehler bir haftada Pomerania'yı, Ana Polonya topraklarını ve Polonya yukarı silesiyasını terk ettiler


8 Eylül'de Panzer birliklerinden bazıları Varşova önlerine dek sokuldu. Onuncu Ordu'nun sağındaki hafif zırhlı birlikler 9 Eylül'de Sandomiyer Swaşova çizgisindeki Vistura Nehri'ndeyken on dördüncü ordu güneyde San Nehri'ni geçiyordu aynı vakitlerde Guderia'nın tankları, Narev Nehri'ni geçerek bugün nehri üzerinden Varşova'yı çembere almaya çalışıyordu. Çaresizlik içindeki Mareşal Edward ordusuna ülkenin güneydoğusuna çekilip yeni bir savunma hattı kurması için emir verdi


Polonya birliklerinin büyük kısmı parçalar halinde batısında çembere alınmış hatta Alman tankları nehrin doğusuna dahi geçmişken leh birliklerinden düzenli bir icat beklemek. Maalesef bir rüyaydı. Ki bu imkansız rüyada hiçbir şekilde gerçekleşmedi


Kargaşa anında Polonya'nın işgalindeki tek büyük çatışma olan Bruza Muharebesi başladı. Danzik koridorundan geri çekilen Pomorze ve Poznan orduları Buruza Nehri kenarında Alman 8 ordusunun soluna saldırı düzenleyince 9 Eylül'de taraflar birbirine


Iki üç gün leh süvarileri ve piyadeleri etkili saldırılar düzenleseler de sonrasında Alman uçakları tarafından sıkıştırılıp taarruz güçlerini kaybettiler. Akabinde köşeye sıkışan 220.000 Polonyalı askerin 50.000 kadarı savaş dışı edildi.

 

2 Eylül 2023 Cumartesi

Kısmi Güncellemeler için Kaynaklar Nasıl iyileştirilir?


 Kısmi Güncellemeler İçin Kaynaklar Nasıl İyileştirilir?


Bir noktada, mevcut bir kaynağı kısmen güncellemeniz gereken bir durumla karşılaşmanız muhtemeldir. Kaynak büyükse ve/veya yapmak istediğiniz güncelleme küçükse bu durum ortaya çıkabilir. Bu durumlarda, temsilin tamamını almak için bir GET isteği göndermek, küçük değişikliği yapmak ve kaynağı güncellemek için tüm temsili içeren bir PUT isteğini sunucuya geri göndermek israf gibi görünebilir. Böyle bir durumla karşı karşıya kaldığınızda ilk göz önünde bulundurmanız gereken çözümlerden biri, söz konusu kaynağın kısmi güncelleme ihtiyacını ortadan kaldıracak şekilde hassaslaştırılmasıdır.

İstemcilerin kaynakları kısmen güncelleştirebilmesi için kaynakları nasıl hassaslaştıracağınızı bilmek gerekir.


İstemcinin değiştirebileceği kaynağın bölümlerini kapsayan yeni bir kaynak tasarlamak. İstemcilerin bu kaynağı güncellemek için PUT kullanmasına izin verin, böylece orijinal kaynak kısmen güncellenir.

Bu çözümün en önemli avantajı, istemcilere, PUT HTTP yöntemini kullanarak orijinal kaynağın alt kümelerini güncelleme yeteneği vermesidir. Ayrıca, önceden gizli olan kaynakların kendi URI'leri aracılığıyla istemcilere erişilebilir hale getirilmesi gibi ek bir avantaja da sahiptir.

Örneğin, bir müşteri kaynağının aşağıdaki gösterimini düşünün:

# Request
GET /customers/1 HTTP/1.1 Host: www.example.org

# Response
HTTP/1.1 200 OK
Content-Type: application/xml;charset=UTF-8 Last-Modified: Thu, 05 Nov 2009 01:54:19 GMT ETag: "ca87aa4ff1505934281d91f807b25b3c"

<customer xmlns:atom="http://www.w3.org/2005/Atom">
<atom:link rel="self" href="http://www.example.org/customers/1"/> <name>J. P. Goodright</name>
<status>active</status>
<address>

<street>123 Main</street> <city>Byteville</city> <state>MD</state> <postal-code>12345</postal-code>

</address> <billing-contact>

<name>P.J. Billingsley</name>


<email>pjbill@example.org</email> <voice-phone>123-456-7890</voice-phone> <fax-line>234-567-8901</fax-line>

</billing-contact> <services>

<preferred-shipping>two-day</preferred-shipping> <billing-method>net-30</billing-method> <minimum-order>1000</mininum-order> <customer-discount>10%</customer-discount>

</services> </customer>



Müşteri kaynağının fatura iletişim bilgilerini güncellemek istediğinizi varsayalım. Bunu desteklemek için sunucu, orijinal kaynaktan istenen öğeleri içeren yeni bir "faturalandırma ilgili kişisi" kaynağı sunacak şekilde kaynağı hassaslaştırabilir.


# Request
GET /customers/1/billing-contact HTTP/1.1 Host: www.example.org

# Response
HTTP/1.1 200 OK
Content-Type: application/xml;charset=UTF-8 Last-Modified: Thu, 05 Nov 2009 01:54:19 GMT ETag: "d65b17759967753e7eb37b28f1bdb1fa"

<billing-contact xmlns:atom="http://www.w3.org/2005/Atom">
<atom:link ref="self" href="http://www.example.org/customers/1/billing-contact"/> <name>P.J. Billingsley</name>
<email>pjbill@example.org</email>
<voice-phone>123-456-7890</voice-phone>
<fax-line>234-567-8901</fax-line>

</billing-contact>


Daha sonra müşteri kaynağının gösterimini, faturalandırma ilgili kişi kaynağına bir bağlantı içerecek şekilde iyileştirebilirsiniz.


# Request
GET /customers/1 HTTP/1.1 Host: www.example.org

# Response
HTTP/1.1 200 OK
Content-Type: application/xml;charset=UTF-8 Last-Modified: Thu, 05 Nov 2009 01:54:19 GMT ETag: "99d37a01bc588d8743f704eaffdb22b0"

<customer xmlns:atom="http://www.w3.org/2005/Atom">
<atom:link rel="self" href="http://www.example.org/customers/1"/>
<atom:link rel="related" href="http://www.example.org/customers/1/billing-contact"/> <name>J. P. Goodright</name>
<status>active</status>
<address>

<street>123 Main</street> <city>Byteville</city>


<postal-code>12345</postal-code> </address>
<services>

<preferred-shipping>two-day</preferred-shipping> <billing-method>net-30</billing-method> <minimum-order>1000</mininum-order> <customer-discount>10%</customer-discount>

</services> </customer>


Müşteriler artık http://www.example.org/customers/1/billing-contact adresindeki URI kaynağına bir PUT isteği göndererek fatura ilgili kişisini güncelleyebilir.

Bu yaklaşımı müşteri kaynağının diğer bölümlerine genişletebilirsiniz. Örneğin, aşağıdaki PUT isteği müşteri durumunu ve tercih edilen gönderim yöntemini günceller:


# Request
PUT /customer/1234/info HTTP/1.1
Content-Type: application/xml;charset=UTF-8 If-Match: "bfcc688bd542e17f27da0f82200c35ea" If-Unmodified-Since: Thu, 05 Nov 2009 01:54:19 GMT

<customer-info>
<status>premium</status> <preferred-shipping>next-day</preferred-shipping>

</customer-info>


Alternatif olarak, bir müşterinin mevcut e-posta adresini kaldırıp iki yeni e-posta adresi eklemek istediği bir durumu düşünün. Bu durumda, tüm e-posta adreslerini başka bir kaynak olarak gösterebilir ve istemcinin bir PUT isteği göndererek bu kaynağı güncellemesine izin verebilirsiniz:


# Request
PUT /customer/1234/emails HTTP/1.1
Content-Type: application/xml;charset=UTF-8 If-Match: "b5b55c8a7f18dd77b4b2d94eed7f1be5" If-Unmodified-Since: Thu, 05 Nov 2009 01:54:19 GMT

<emails>
<email type="work">pjbill1@example.org</status> <email type="alt">jane1@example.org</status>

</emails>


Not: Bu tür kaynaklar tutarsız veya kirletici görünebilir. "Müşteri bilgileri" veya "e-postalar" kaynaklarının, müşteri kaynağının belirli kısmi güncellemelerini desteklemek dışında var olma nedenleri yoktur. Ancak, erişim ve güncellemeler için uygun olan her şeyin kaynak olarak aday olduğunu unutmayın.