Pazar, Şubat 20, 2011

SOA ne değildir?

Uzun zamandır kavram karmaşasının bol olduğunu düşündüğüm bu konuda yazmak istiyorum. Umarım faydalı bir şeyler yazmayı becerebilirim.


Aslında elbetteki SOA'nın ne demek olduğunu anlatmaya çalışacağım, ama karıştırıldığı konuları vurgulayarak anlatmaya çalışacağımdan "SOA ne değildir?" gibi bir başlık seçtim yazıma.

Neyse lafı uzatmadan konuya gireyim.


* SOA bir arakatman teknolojisi değildir.


SOA en başta bir arakatman teknolojisi olarak algılanmakta, oysa SOA en başta şirketin üst düzey yöneticileri hatta şirketin İnsan Kaynakları birimi tarafından doğru şekilde algılanması gereken şirketin işleyişini belirleyecek soyut bir kavramdır.



Arakatman teknolojisi olarak algılanmasına neden olan başlıca sebep; şirketlerin teknik mimarisi içerisinde bir arakatman teknolojisi olarak kullanılan ESB (Enterprise Service Bus - açıkçası Türkçesini bildiğimden emin değilim ama "Kurumsal Servis Katmanı" diye ifade etsem herhalde çok yanlış olmaz :-) ) içinde yer alan "servis" kelimesinin SOA (Service Oriented Architecture) içerisinde yer alan "servis" kelimesi ile aynı anlamı ifade ettiğinin zannedilmesi diye düşünüyorum.


* SOA, Türkçemize "Servis Odaklı Mimari" olarak değil "Hizmet Odaklı Mimari" olarak çevrilmeli!


Hem bakın kısaltması da ne kadar eğlenceli oluyor HOM Hom hommm :-)


Şirket yöneticileri ve hatta İK(İnsan Kaynakları) tarafından anlaşılması gereken soyut bir kavram diye ifade etmemin sebebi esas olarak bu "Hizmet" anlayışı. HOM geçişinin ilk adımı şirket bünyesinde yer alan iç ve dış müşterilere verilmekte olan hizmetlerin tanımlanması olmalı.

Bu mimarinin en büyük prensibi hizmetlerin tanımlanması ve yönetilmesidir. Teknik olarak mimarinin uyarlamasında ne kullanırsanız kullanın bu tanımlama ve yönetme prensiplerini oturtmadıktan sonra HOM'u şirketinizde yaşatamazsınız. Yöneticiler tarafından iş akışları hizmet odaklı mimariye uygun olarak modellenmeli, İK tarafından ise organizasyonel şema bu mimariye uygun hale getirilmelidir.

Tanımlama ve yönetilme konularına detaylı olarak ileride yazacağım yazılarda değinmek istiyorum ama bu yazının amacı çerçevesinde HOM geçişinin "İlk adımı", "Başlangıç aşaması", "Olmazsa olmaz" bir konu olduğunu vurgulamak yeterli olur.


* SOA "Webservis", "ESB" ve "BPM" teknolojilerini kullanmak değildir.


En çok karşılaştığım yanlışlardan biri ise yukarıda ifade ettiğim teknolojilerin kullanılması ile HOM geçişinin yapıldığının sanılmasıdır. Burada bir çok kişi için anlaşılmasını kolaylaştıracağını düşündüğüm bir analoji yapmak istiyorum. OOP (Object Oriented Programming) kavramı soyut bir kavramdır. Java, C++ gibi OOP desteği olan programlama dillerini kullanarak yazdığınız uygulamaların OOP uygulamalar olamayacağı gibi, bu programlama dillerininin yanlış yada bilgi düzeyi düşük programcılar tarafından kullanılması ile prosedürel kodlama gerçekleştirilmesi nasıl mümkün ise HOM geçişinde kullanacağınız bu Webservis(SOAP yada RESTful), ESB ve BPM(Business Process Management) teknolojilerini kullanıyor olmak Hizmet Odaklı Mimari ile çalışıyorsunuz anlamına gelmemektedir.

Şimdilik bu kadar ;-) SOA ile ilgili yazılarıma devam edeceğim. Bu mimarinin disiplinini, uygulamadaki yaklaşımları, kullandığımız teknolojileri daha detaylı bulacağınız yazılarda karşılaşmak dileğiyle...






Cumartesi, Şubat 23, 2008

Perşembe, Temmuz 26, 2007

Remote Debugging

Her java uygulaması kendine ait bir jvm içinde çalışır. IDE de kod yazdığınız zaman debuglama işini aynı jvm içinde yapmış olursunuz.

Fakat java size bir jvm'e remote bağlanarak debuglama imkanı da tanır.

Bunun için jvm ayağa kalkarken gerekli olan ayarların yapılmış olması gerekiyor.

Aynı makina üzerinde bile olsa birbirinden bağımsız başlatılan iki uygulama ayrı jvmlerde çalışacaklarından remote debugging dışında başka bir debug şansı yoktur.

Örneğin Eclipse'i açtınız kodununuzu yazdığınız App. Server'ınızı eclipse içinden değilde kendi startup scriptini manuel çalıştırarak başlattınız. Sonra oluşturduğunuz .ear dosyasını deploy ettiniz ve sorun çıktı (hep böyle olur :-)) hatta genelede test serverlarını localimizde çalıştırmayız.

Bunun için Weblogic ayarlarını aşağıdaki linkte bulabilirsiniz.

WebLogic Remote Debugging Ayarları

Eclipse'in App. Server olarak JBoss kullanarak Ayarları


Eclipse'in ayarlarını öğrendikten hangi remote JVM'e bağlandığınızın bir önemi yok zaten.

Herkese iyi debuglar... (Umarım az ihtiyacınız olur :-))

Çarşamba, Temmuz 25, 2007

PS3 & Linux (Fedora 7 installation)

Normally I don't write in English, but this post will be a manual.

My configuration;
PS3 ntsc version (bought from amazon)
46x2000 Full HD
usb mouse & keyboard

First of all you need to download

1. otheros
2. Fedora 7 ppc

Now we are ready to start installation.


1. extract otheros file to a device such as usb memory stick, sd card etc.
2. burn fedora image to a dvd
3. System Settings-Install Another OS
4. Boot to Other OS
5. Wait to see boot selection
(leave your mouse on 32bit otherwise it will boot to 64bit before you can do the following)
6. press Ctrl-Alt-F1 for TTY
7. type
cd /var/tmp/mnt-scd0*/ppc/ppc64
press enter
8. type
/sbin/kexec -f --initrd=ramdisk.image.gz --command-line="video=1080p" vmlinuz
press enter
(or video=720p this choise is related to your TV configuration)
9. rest is normal linux installation

I am going to edit this post about this topic

Problems
I have black borders when I use 1080p and resolution is lower then 1920x1080 60hz

tonight i will have an update I hope system will become more stable

Çarşamba, Şubat 14, 2007

Weblogic 8.1 ve MyFaces

Son günlerdeki uğraşlarım konusunda kısa kısa aktarımlarda bulunacağım.
Weblogic 8.1 sp2 ve sp5 versiyonlarında MyFaces çalıştırmak için karşılaştığım problemler ve çözümleri sırasıyla şöyle;

İlk önce sp5'te uygulamayı ayağa kaldırmak için tomcat'in 5.5 versiyonundan jsp-api.jar ve servlet-api.jar alıp web-inf/lib altına koydum. sp5 için bu kadarı yetmesine rağmen sp2de aynı uygulama çalışmama konusunda direndi.

http://forum.java.sun.com/thread.jspa?threadID=569337&messageID=4151778

bu adresten edindiğim bilgilerle web.xml de FacesServlet'in ayağa kalkmasını sağlayan Listener'ı comment out ederek

<!--
<listener>
<listener-class>org.apache.myfaces.webapp.StartupServletContextListener</listener-class>
</listener>
-->

kendi projeme aşağıdaki gibi Listener'ın replacement'ı olan bir servlet yazıp;

public class InitFacesContext extends GenericServlet {
StartupServletContextListener listener;
public void destroy() {
super.destroy();
listener.contextDestroyed(new ServletContextEvent(getServletContext()));
}
public void init(ServletConfig arg0) throws ServletException {
super.init(arg0);
listener = new StartupServletContextListener();
listener.contextInitialized(new ServletContextEvent(getServletContext()));
}
public void service(ServletRequest arg0, ServletResponse arg1) throws ServletException, IOException {
}
}

ilk önce bu servletin çalışmasını sağlayacak alttaki tag'i web.xml'e ekledim

<servlet>
<servlet-name>InitFacesContext</servlet-name>
<servlet-class>com.gene.volts.servlet.InitFacesContext</servlet-class>
<load-on-startup>0</load-on-startup>
</servlet>

Pazartesi, Kasım 13, 2006

Java artık GNU/GPLv2

Sun Artık tam anlamıyla Java'yı OpenSource yaptı :-)
Javanın lisansı bundan böyle Linuxla aynı...

Pazar, Kasım 12, 2006

WirelessHD

Ben bu wireless olayını ilk çıktığı günden kullanmayı seviyorum. Hayatımıza yeni bir wireless teknoloji daha katılacak gibi gözüküyor. Handikapları yok değil ama olsun, bizlere bir sürü kolaylıklarda sağlıyor. Arabada giderken (şöförlük işinden de kurtulmuş durumdaysanız :-) ) notebook'u açıp webde surf yapmak nasıl bir keyiftir düşünsenize... Şimdi de bizlere yeni bir rahatlık daha geliyor kablo karmaşalarında biraz hafiflikte getireceğini umuyorum. Çok uzattım konuya gireyim artık. Kablolardan bu sefer kurtulduğumuz nokta görüntü aktarımı. Kasayla monitör arasındaki kablodan kurtuluyoruz yakında.
Yada düşünsenize TV ile Divx Player yada Digital Receiver hepsinin arasındaki onca kablo karmaşası yakında sona erecek. Umarım en ucuz tarafından bir an önce bu teknolojiyi günlük hayatımızda kullanmaya başlarız. Darısı ELEKTRİK aktarımının başına diyelim :-).