Arama butonu
Bu konudaki kullanıcılar: 2 misafir, 1 mobil kullanıcı
5
Cevap
5232
Tıklama
0
Öne Çıkarma
Java ile Backend Kısmı Nasıl Oluyor?
T
7 yıl
Yarbay

Java backend öğrenmeye javax.servlet.http.HttpServlet sınıfını genişleterek Tomcat üzerinde çalıştırmakla başlayabilirsin. Sonra adım adım JSP, JSF, Struts ile temeli öğrendikten sonra Spring ve SpringMVC'ye geçebilirsin. Profesyonel olarak yapmaya başlarsan Spring Boot kullanmaya başlayabilirsin. Bu esnada veritabanı web uygulamasının haberleştiği ek uygulamadır, JDBC başta olmak üzere, JDO, Hibernate gibi framework'lerle MySQL veritabanından veri alışverişi yapabilirsin. EJB kullanman durumunda vt işlerini JPA ile de yapabilirsin.

Bunlar biraz zor gelirse, JavaEE yerine Rails kurup sadece rails new proje-ismim ile backend çatısını tek satırda oluşturabilir ve Tomcat, nginx gibi web sunucu kurmaya gerek olmadan "rails server run" (hatırladığım kadarıyla) Rails'in dahili sunucusu üzerinden direkt çalışan bir uygulama görebilirsin. Bu anlamda Rails'teki "rails install" komutu Spring Boot taki "spring init" komutunun kabaca eşdegeridir. Rails gibi kolay bir platformda backend işleyişini öğrendikten sonra JavaEE bir nebze daha kolay gelecektir.

altta ilk yazdığım HttpServlet kodu:

< Resime gitmek için tıklayın >



A
7 yıl
Binbaşı
Konu Sahibi

Arkadaşlar bildiğimiz gibi web geliştirmede iki kısım var. Front-End ve Backend. Front-End; html, css ve javascript diyelim. Backendde ise Java da yazıyor. fakat ben bu backendde javayı anlamadım? Javada ne çeşit kod yazarak Backend geliştirebiliyoruz? Veritabanı mı?

DH forumlarında vakit geçirmekten keyif alıyor gibisin ancak giriş yapmadığını görüyoruz.

Üye olduğunda özel mesaj gönderebilir, beğendiğin konuları favorilerine ekleyip takibe alabilir ve daha önce gezdiğin konulara hızlıca erişebilirsin.

Üye Ol Şimdi Değil



< Bu ileti mobil sürüm kullanılarak atıldı >

M
7 yıl
Binbaşı

Bayağı geniş bir soru olmuş.
Öncelikle backend sadece java ile olmuyor. İstersen başka dillerde kullanabilirsin(Python, C# vs...)
Javada olay Spring Framework’u yada Java EE öğrenerek başlıyor.
Ben mesela Spring Boot kullanarak basit backend api sı yazmıştım.
Veritabanı işinide Hibernate ile hallediyorsun.



< Bu ileti tablet sürüm kullanılarak atıldı >

A
7 yıl
Binbaşı
Konu Sahibi

Çok teşekkür ederim sonunda öğrenmiş oldum. Backend Kısmı biraz bana uzak gibi yani önce Front-Endi halletmem lazım adam akıllı



< Bu ileti mobil sürüm kullanılarak atıldı >

Y
7 yıl
Yarbay

Frameworkler ile cok basit. Biraz eski ama bizde GWT kullaniliyor, kullanimi asiri rahat.



< Bu ileti mini sürüm kullanılarak atıldı >

B
7 yıl
Yüzbaşı

Back-end tanim itibari ile bir sistemin arayuzu olmayan kismi demek. Bu kisim bir ya da birden fazla yazilimdan olusabilir. Gunumuzdeki trend ise bu kismin sorumluluklarini mumkun oldugunca kucuk bagimsiz parcalara bolup oyle gelistirmek ( microservice ). Bunun neden boyle yapildigi/tercih edildigi ise bambaska bir konu.

back-end ile front-end birbiri ile konusacaksa bunun icin en populer protokol http/rest api. Bununla beraber websocket gibi farkli protokoller uzerinden de haberlesebilir front-end ve back-end.

eger backend microservice olarak parcalara ayrilmissa yine bunlarin birbirleri ile haberlesmesi gerekiyor. Burada da en populer teknoloji yine http/rest fakat bu sistemine gore cok fazla overhead yaratabilir ve bu senkron bir haberlesme yontemidir ( request/response, bir de long pooling meselesi var o bambaska )
Bunun disinda message brokerlar ya da java icin hazelcast'te oldugu gibi shared memory sistemleri uzerinden microserviceler farkli protokoller ( broadcast, multicast vs ) birbirleriyle haberlesebilir. Eskiden enterprise service bus cok populerdi ama cok sukur daha yalin cozumler yapilmaya baslandi.

Veritabani ise back-end icin endpoint/integration point olarak degerlendirilebilir. Back-end veritabanini da isleyebilir, baska bir sisteme baglanarak atiyorum tcp/ip uzerinden veri de cekebilir ya da baska web sitelerinden bilgiyi crawler ile de cekebilir. Burada yapilabilecekler sinirsiz.

Back-end ve front-end katmanlarini ayirmanin ana amaci ise single point of failure diye tabir edilen tek noktada hata alinirsa butun sistemin cokmesini engellemektir. Bununla beraber yazilimcilarin farkli konularda uzmanlasabilmesi, bir sistemin is mantiginin back-end kisminda halledilerek birden fazla platform ( web, mobil ) icin daha guvenli/cabuk client yazilabilmesi, olceklendirme, farkli teknolojileri bir arada kullanabilme avantaji ya da bir teknolojiden digerine butun sistemi degistirmeden gecis yapilabilmesi, high availability gibi avantajlari da beraberinde getirir.



DH Mobil uygulaması ile devam edin. Mobil tarayıcınız ile mümkün olanların yanı sıra, birçok yeni ve faydalı özelliğe erişin. Gizle ve güncelleme çıkana kadar tekrar gösterme.