Kenan Sevindik

  • How to Start Working with Vaadin

    By Kenan Sevindik
    We are highly satisfied with Vaadin UI Framework in our enterprise Java projects. I recommend it to anyone who are asking advice about what UI framework to use in their enterprise web applications. This article, however, is not about why we like Vaadin. It might be a topic for another... [Read More]
  • Spring XML ve Annotation Tabanlı Konfigürasyonlar Birbirinin Aynısı mı?

    By Kenan Sevindik
    Yakın bir zamanda Beginning Spring isimli kitabımız üzerinden Spring öğrenmeye çalışan bir arkadaşımdan kitapta okudukları sonrasında kafasında beliren böyle bir soru geldi. Kendisine verdiğim cevap belki Spring ile çalışan veya çalışmaya başlayacak arkadaşların da işine yarayabilir düşüncesi ile buradan paylaşıyorum. [Read More]
  • Observations about OData and Spring Data REST

    By Kenan Sevindik
    Recently I had a chance to spend some time reading about OData and experiment with Apache OLingo Project in order to understand what OData provides us with in terms of making our REST services more standardized and self-discoverable. I also compared it with Spring Data REST Project, what are their... [Read More]
  • Factory Method Pattern Implementation of Spring; FactoryBean

    By Kenan Sevindik
    Factory method pattern aims to encapsulate object creation process within a separate method in your system. That’s why it is called as so. Factory methods can be created as either static or instance methods within a class. In Spring Application Framework, although it is possible to make use of static... [Read More]
  • A Slight Difference Between Autowire byType and constructor

    By Kenan Sevindik
    Spring documentation states that both autowire byType and constructor modes expect at most one bean definition in the ApplicationContext, so that it can be autowired into the depending bean. Here is the excerpt taken from Spring Reference Documentation Table 6.2. Autowiring modes; [Read More]
  • A Transaction Gotcha When Using Spring with Hibernate

    By Kenan Sevindik
    Spring’s transaction propagation rule SUPPORTS states that if there exists a transaction when the method is called, it should work within that transaction, otherwise it should work outside any transaction. Similarly, transaction propagation rule NOT_SUPPORTED states that if there exists any active transaction when the method is called, that active... [Read More]
  • What is the difference between Strategy and Template Method patterns…, if there is any?

    By Kenan Sevindik
    In our Spring book, we discuss transaction management mechanisms available in the Spring Framework, namely declarative and programmatic transactions. It is further explained inside the programmatic transaction demarcation section, how programmatic transaction can be achieved using different methods. One of the ways a programmatic transaction can be achieved is by... [Read More]
  • Spring Ekosisteminde Kurumsal Yazılım Geliştirme

    By Kenan Sevindik
    ULAKBİM tarafından düzenlenen Kamuda Açık Kaynak Konferansı‘ında Spring Framework’ü etraflıca tanıttığımız Spring Ekosisteminde Kurumsal Yazılım Geliştirme isimli bir sunum yaptık. Katılım oldukça yoğundu. Sunumu Spring, kurumsal uygulamaların özellikleri ve orta katman ihtiyaçları ile ilgili kısa bir bilgilendirmenin ardından demo ağırlıklı gerçekleştirdik. [Read More]
  • Hibernate ve import.sql

    By Kenan Sevindik
    Hibernate’in dokümante edilmemiş özelliklerden birisi de import.sql kabiliyetidir. Eğer root classpath’e import.sql isimli bir dosya eklerseniz ve bu dosya içerisine de SQL ifadeleri yazarsanız Hibernate şema export adımından sonra bu SQL ifadelerini çalıştıracaktır. Bu yöntem ile test veya development sırasında örnek verinin DB’ye eklenmesi mümkündür. import.sql kullanırken dikkat edilmesi gereken... [Read More]
  • Things to Fix When Upgrading from Spring Security 3.2.x to 4.x

    By Kenan Sevindik
    Some things have been changed in Spring Security 4.x compared to previous 3.2.x branches. They are not overwhelming but you may have to deal with them so that your application can work without any problem after upgrading to Spring 4.x release. I noted them down during my upgrade process, and... [Read More]
  • Hibernate’de Sınıf İlişkileri 5

    By Kenan Sevindik
    Hibernate’de sınıf ilişkilerini incelediğimiz yazı dizimizin bir önceki bölümünde entity’ler arasındaki 1:M türünden ilişkileri ele almıştık. Bu bölümde ise target sınıfı component yani bileşen olan 1:M ilişkileri inceleyeceğiz. Bildiğimiz gibi bileşenler sadece tek bir entity instance’a ait olabilirler ve kendi başlarına var olamazlar. Başka bir ifade ile ait oldukları parent... [Read More]
  • Moving libraries of web apps into shared folder

    By Kenan Sevindik
    If you plan to move repeating libraries that several of your web applications depend on to a shared folder of your application server, I would definitely say NO! to this request. One of my clients asked me about centralizing such repeating libraries into a shared folder. Actually, I had written... [Read More]
  • Hibernate’de Sınıf İlişkileri 4

    By Kenan Sevindik
    Hibernate’deki sınıf ilişkilerini incelediğimiz yazı dizimizin bir önceki bölümünde 1:M ilişkileri incelemeye başlamıştık. Sınıflar arası ilişkilerde en detaylı ilişki türü olan 1:M ilişkileri kaldığımız yerden incelemeye devam edelim. [Read More]
  • How to Switch from One DB Instance to Another at Runtime

    By Kenan Sevindik
    Sometimes we may need to switch from one DB instance to another during runtime. Actually, this is very easy if you are using Spring and the DataSource API in order to obtain DB connections. Let’s look at our solution for such a requirement. [Read More]
  • Hibernate’de Sınıf İlişkileri 3

    By Kenan Sevindik
    Hibernate ORM Framework’ündeki sınıflar arası ilişki kurma yöntemlerini incelediğimiz yazı dizimize üçüncüsü ile devam ediyoruz. İlk iki yazımızda [Read More]
  • Hibernate’de Sınıf İlişkileri 2

    By Kenan Sevindik
    Hibernate’de sınıflar arası ilişkileri incelediğimiz yazı dizimizin ilk bölümü nden sonra ikinci bölüm ile devam ediyoruz. Bu bölümde M:1 ilişkiler üzerinde duracağız. [Read More]
  • Spring ve Tapestry’de IoC Yaklaşımları 2

    By Kenan Sevindik
    İlk bölümde Spring ve Tapestry Framework’lerini IoC container oluşturma kabiliyetleri ve bağımlılıkların enjekte edilmesi konuları üzerinde durmuştuk. Bu bölümde ise kaldığımız yerden bean’ların scope yönetimi ile devam edelim. [Read More]
  • Hibernate’de Sınıf İlişkileri 1

    By Kenan Sevindik
    Herhangi bir ORM çözümünün nesne model üzerinden çalışmayı sağlayabilmesi için öncelikle uygulamanın nesne modeli ile veri modeli arasında eşleştirme yapılması gerekir. Bu aşamada; [Read More]
  • Spring ve Tapestry’de IoC Yaklaşımları

    By Kenan Sevindik
    Yıllar boyunca bir çok projede Spring kulanmanın getirdiği bir alışkanlık olarak IoC ve dependency injection kavramları benim için vazgeçilmezler arasına girdi. Bu kavramların önerdiği yöntemlerle geliştirilen uygulamalarda sınıflar arası bağımlılıkların çok daha sade ve kolay yönetilebilir olduğunu gördüm. Özellikle test güdümlü programlamada (TDD – Test Driven Development) birim testleri yazarken... [Read More]