International Space Station

Uluslararası Uzay İstasyonu, alçak Dünya yörüngesine yerleştirilmiş bir uzay üssü, başka bir tabirle üzerinde yaşanabilen yapay bir uydudur.Vikipedi
Azami hız: 27.600 km/sa
Fırlatma tarihi: 20 Kasım 1998
Maliyet: 150 milyar USD

 

Uzay araştırmalarına karşı son zamanlarda hayranlığım arttı. Çeşitli kaynaklarda detaylı olmasada başlıklar halinde neler yapıldığını takip etmeye çalışıyorum. Dünyanın birçok yeri ve ülkemiz şartlarına bakarak yapılanları gördükçe hayretler içerisinde kalıyorum. Uluslararası Uzay İstasyonu(ISS) 1998 yılında hayata geçmiş bir proje, yaklaşık 18 yıl olmuş. İşin altındaki fikre bakınca (farklı alanlarda deneyler yapmak, geliştirdikleri uzay gereçlerini test etmek, ay ve marsa kolay gidip gelmek…) ilmen/fikren çok farklı yerlerde olduklarını anlıyorum.

Bunlara bakıp düşünmeden de edemiyorum, bu adamlar nasıl bu aşamaya geldiler? Neden biz hala düşünemez, üretemez durumdayız? vb.

Belki de geleneklerimizden kaynaklanıyor. Bazı atalarımız demiş ya “Kervan yolda düzülür.” diye. Yoksa hep böyle kalmamızın sebebi “başlayalım gerisini sonra bakarız” sözü mü 🙂

Bu mantık dolaylı ya da doğrudan hayatımızı şekillendirir olmuş. Üretmek, keşfetmek anladığım kadarıyla sadece gizli odalarda sıradışı şeylerle uğraşan insanlara ait özellikler değil. Kaliteli işler ortaya koymak birikimle, eleştirmekle, iyileştirmekle daha kolay olur diye düşünüyorum. Ama baktığımda hep aynı işleri aynı yöntemlerle yapıyoruz. Çoğu zaman şunu düşünmemişiz acaba bu yaptığım şey daha kolay ve faydalı yapılabilir mi?

Acaba bizim değişememizin sebebi “Bir koltukta iki karpuz taşınmaz.” sözünün anlattıklarından mı kaynaklanıyor. Acaba verinin ,ortamların, sistemlerin bu kadar büyüdüğü, yerel kavramının neredeyse yok olduğu bir ortamda kaybolduk bunun farkında değil miyiz. Şunun kararını vermemiz gerekli , “Arkadaşım bu iki karpuzdan bunu sen taşı diğerini ben”.

Belkide sorunların kaynaklarını bulup çözmek yerine sürekli sorunları çözmek ya da çözermiş gibi yapmak bizi başarısız yapıyor. Ama başarısız olduğumuzun bile farkında değiliz çoğu zaman.

İyilikler 😉

Test Driven Analysis

İş süreçlerimizde analizin çok önemli olduğunu düşünenlerdenim. Maalesef öyle zamanlar geliyor ki işle uğraşmaktan çok, işi verenlerle uğraşmak zorunda kalıyorsunuz. Bu konunun literatürde detaylarını hiç araştırmadım. Ama yaşananlar insana “ya kesinlikle test yönelimli analiz yapılmalı” cümlesini kurdurtuyor.

Neden Böyle? diye sorduğumda…

Analiz eksikliklerinin bence en önemli sebebi yönetimdeki anlayıştır. Birçok yerde kurallar vardır ama büyük oranda bu kurallara uyulmaz. Konulan kurallar da zamanla verimsiz hale gelir. Bir zaman sonra artık bu kurallar sadece denetimlerde gündeme gelir ve sonraki denetime kadar raflarda kalır.

Yukarıda neden en önemli sebep yönetimdeki anlayış dediğimi biraz daha açıklayacak olursam; kimse durup dururken birşeyleri standartlaştırmanın peşine düşmez. Neden kendi kendine kurallar koyup kalıba girsin. Tabiki standartlaşmanın asıl amacı ölçümleyebilmektir. Standart olmayan birşeyi belirli kriterlere göre ölçmek çok zor olsa gerek.

İş süreçlerinizi ölçümleyemezsiniz nerede problem olduğunu göremezsiniz. Bunu göremezseniz işinizi iyileştirip, konforunuzu arttıramazsınız vb…

Tabi böyle bir iyileşmenin ihtiyaç olduğunu anlayabilmek en önemli mesele 🙂 Eğer dünyada/dünyanızda neler olup bittiğini görmüyorsanız, farkında değilseniz, nasıl olsa işler yürüyor öylese sorun yok diyorsanız ilerleme kaydetmek neredeyse imkansız oluyor.

Bunlar iş süreçlerinin daralıp maalesef e-mail ile yürüyen bir akışa kadar inmesine sebep oluyor. Yönetici açısından bakınca; kimse süreci denetlemiyor, işi yapanlarda bir şekilde e-mail içerisindeki söylenenleri yapıyorlar. İşin detayında yirmi kez de değişiklik yapılsa, komple de değişse problem olarak görülmüyor.

Ben bir analist değilim, bu işin eğitimini de almadım. Sadece yaşadıklarıma dayanarak temel düzeyde yorumlar yapıyorum. Bir konuyu analiz etmek, konuyu bütün detayları ile ortaya koyabilmek olmalı. Tüm detayları ortaya koymak demekse konuya kafa yormak, anlaşılmayan noktaları tartışmak, netleştirmek olmalı.

Eğer bu kafa yorma süreci işlemiyorsa iş delik deşik oluyor. Ortaya karmaşık, bakım maliyeti yüksek bir iş çıkıyor. Çünkü iş anlaşılmadan yapılmaya başlanıyor, sonra müşterinin karşısına çıkıyor, müşterinin beklentisini karşılamammış oluyor. Sonra tekrar müşterinin taleplerine göre değişiklikler yapılıyor vb. Bu değişiklikler çok köklü de olabiliyor.

Bu kadar sorunu yaratmak ve yönetmek yerine dikkatli bir analiz süreci ile herkesin memnun olacağı bir iş yürütmek daha mantıklı ve kolay değil mi?

Analizin bir de test driven olduğunu düşünsenizya ne kadar muhteşem olur 🙂 İşi yapanlar sadece kendi işlerini yaparlar, analistlerin işlerini değil.

Adaptive Object Model

Dinamiklik gerektiren ve hızlı değişime ihtiyaç duyan uygulamaların domain modellerini yönetmek için AOM design patterni kullanılabilir. AOM classları,attributeleri,ilişkileri ve classların operasyonlarını metadata olarak saklayıp dinamik olarak kullanmayı sağlar. Kullanıcılar doğrudan metadatayı değiştirerek domain modeli değiştirebilirler. Object modeli ister XML dosyalarında ister databasede saklayabilir ve yönetebilirsiniz.

Bu tasarıma baktığımızda aslında NoSQL databaselerin temel aldığı mantığı yansıtmaktadır. Yani MongoDB gibi NoSql databaselerin temelindeki pattern AOM diyebiliriz.

AOM’u anlatan güzel bir blog girdisi gördüm. Paylaşmak istedim;

Buradan erişebilirsiniz.

Kaynak

Spring Framework – Exposing JAX-WS Web Servise

Spring we JAX-WS ile servlet tabanlı webservisler oluşturmak için aşağıdaki yöntemi kullanabilirsiniz.

Spring Contexte bulunan servisimiz;

Expose edilen webservice classı;

web.xml

Browser ile http://xxxx/ws/demows?wsdl adresinden webservisine erişebilirsini.

Bu uygulamada asıl adam olarak springin bize sunduğu JAX-WS servlet endpoint implementasyonuna uygun olan SpringBeanAutowiringSupport üst sınıfıdır.