Ankara
0 (312) 276 75 93
info@billgatesweb.com

İstemci Taraflı İşlemleri Kullanma – Blog Yazma – Web Tasarımı Yapımı – Web Tasarımı YouTube Videosu Yapımı – Web Sitesi Tasarlama Fiyatları

Web Danışmanlık Hizmeti, Seo Hizmeti Al, Mobile Uygulama Yaptır, Back Link Satın Al, Blog Yazdırmak İstiyorum, Makale YAZDIRMA siteleri, Parayla makale YAZDIRMA, Seo makale fiyatları, Sayfa başı yazı yazma ücreti, İngilizce makale yazdırma, Akademik makale YAZDIRMA, Makale Fiyatları 2022, Makale yazma, Blog Yazdırma

İstemci Taraflı İşlemleri Kullanma – Blog Yazma – Web Tasarımı Yapımı – Web Tasarımı YouTube Videosu Yapımı – Web Sitesi Tasarlama Fiyatları

Java'nın Dönüşümleri  – Blog Yazma – Web Tasarımı Yapımı – Web Tasarımı YouTube Videosu Yapımı – Web Sitesi Tasarlama Fiyatları

JNDI Aracılığıyla Ev Arayüzlerini Bulma

Bir kurumsal bean, bir EJB kapsayıcısı içinde konuşlandırıldığında, bean için ana arabirim, JNDI kullanılarak belirli bir ad altında dışa aktarılır.

Bir istemci olarak, uzak EJB sunucusunun JNDI bağlamına nasıl bağlanılacağını bilmeniz ve ilgilendiğiniz bean ana arabiriminin adını bilmeniz gerekir. JNDI adlandırma bağlamına bağlanmanın tipik bir yolu şudur: JNDI için ilk bağlam fabrikasını belirtmek ve bunun aracılığıyla yeni bir adlandırma bağlamı oluşturmak.

Bu örnek istemcide, iki standart JNDI özelliği, INITIAL_CONTEXT_FACTORY ve PROVIDER_URL özelliklerini içeren bir Hashtable yapıyoruz. Bu özellik adları, değerleri sırasıyla “java.naming.factory.initial” ve “java.naming.provider.url” olan javax.naming.Context arayüzünde tanımlanan String sabitleridir.

İsterseniz açık dize değerlerini kullanabilirsiniz, ancak sabit değerler, hatırlaması biraz daha kolay olduğundan, kolaylık sağlamak için Bağlam arabirimi tarafından sağlanır.

INITIAL_CONTEXT_FACTORY değeri, JNDI sağlayıcınız (bu durumda EJB sunucusu) tarafından sağlanan bir bağlam fabrikasının sınıf adıdır ve PROVIDER_URL, EJB sunucusu içinde çalışan JNDI sunucusuna uzaktan bağlanmak için kullanılan bir URL’dir.

Bu öğelerin her ikisi için de uygun değerler, EJB uygulama sunucusu sağlayıcınız tarafından sağlanmalıdır. Adlandırma bağlamınızı oluşturmak için çağrıya Context.SECURITY_PRINCIPAL özelliğini dahil ederek, EJB/JNDI sunucusuyla altında etkileşim kurmak istediğiniz güvenlik sorumlusunu da belirtebilirsiniz. Bu özellik değeri, müşterinizin kimliğini temsil eden bir java.security.Identity nesnesi olmalıdır.

Bazı EJB sunucu sağlayıcıları, bean dağıtım tanımlayıcılarında belirtildiği gibi, bean özelliklerine erişimi belirlemede bu kimliği kullanır. EJB 1.0 özelliği, bu kimliği sağlamak için bir standart sağlamaz, bu nedenle belirli ayrıntılar için EJB sunucunuzdaki belgelere bakın.

Bu durumda, çekirdek sağlayıcının ev arayüzünü EJB sunucusunda “jen.ejb.entity.beanManaged.ProfileHome” adı altında konuşlandırdığını varsaydık. Ana arayüz saplaması ile müşterimiz artık sunucuda bulunan bean’leri oluşturabilir veya bulabilir.

Fasulye Oluşturma/Bulma

Bean için ana arayüz, bir müşterinin yeni fasulye oluşturmasına veya mevcut fasulyeleri (varlık fasulyeleri için) bulmasına izin veren yöntemler içerir. Örnek istemcimize devam ederek, Example’dan ProfileBean varlığımızı ve buna karşılık gelen ev arayüzünü kullandığımızı varsayarak, aşağıdaki gibi yeni bir ProfileBean oluşturabilir ve ona bir saplama referansı alabiliriz.

Burada “Kaitlyn” adlı biri için yeni bir profil oluşturmaya çalışıyoruz. RemoteException’ı ve kendi DuplicatePersonException’ımızı fırlattığını bildirdiğimiz ProfileHome arabirimimizde tanımlanan create() yöntemini kullanıyoruz.

İstemcide, bu istisnaların her birini yakalarız ve meydana gelirse ilgili bir hata mesajı yazdırırız. Şimdi, Kaitlyn için bir profilin zaten var olduğunu düşünürsek, ev arayüzümüzdeki bulma yöntemlerinden birini kullanarak önce onu kalıcı depolamada bulmayı deneyebiliriz.

İstemci Taraflı İşlemleri Kullanma

Daha önce tartıştığımız işlem özniteliklerinden birini kullanarak, dağıtım sırasında çekirdeğinizin işlemleri nasıl ele aldığını belirtebileceğinizden daha önce bahsetmiştim. İstemci tarafında, kendi işlem sınırlarınızı oluşturmak için Java Transaction API’yi (JTA) kullanabilirsiniz.

Bu işlemler, müşterinizin yaptığı her bir uzak yöntem çağrısı için bean’in hangi işlem içeriğine konulacağını belirlemek üzere, EJB kapsayıcısı tarafından bean’in işlem işleme öznitelikleriyle birlikte dikkate alınır. Yine, JTA’nın tam bir açıklaması bu bölümün kapsamı dışındadır, ancak kendi müşteri işlemlerinizi nasıl oluşturacağınıza hızlıca göz atmak faydalı olacaktır.

Bu bölümde üzerinde çalıştığımız örnek istemciye devam ederek, zaten ProfileBean için ev arayüzünü bulduk ve Kaitlyn için bir Profil oluşturduk/bulduk.


Sunucu taraflı programlama
Sunucu taraflı PROGRAMLAMA dilleri
Client tabanlı Yazılım Dilleri
PHP
İstemci tarafında çalışan web Teknolojileri


Şimdi Kaitlyn’in profilinde bazı değişiklikler yapmak istiyoruz, ancak tüm değişikliklerimizin biz onları gerçekleştirmeden önce yapıldığından emin olmak istiyoruz. Bunu yapmak için, kendi “javax.transaction.UserTransaction” dosyamızı oluşturuyoruz ve profil girişlerini ayarlarken bir istisna alıp almadığımıza bağlı olarak bunu taahhüt ediyor veya geri alıyoruz.

İşlemi, müşteri tarafında kullandığımız herhangi bir işlem sağlayıcısından alıyoruz. Burada, EJB sunucusundan bir “JNDI bağlamı” aldığımızı ve bunu EJB sunucusunun sağladığı bir “javax.transaction.UserTransaction” örneğini aramak için kullandığımızı varsayıyoruz.

Bu işlem nesnesini kullandığımızda, EJB sunucusu, kurumsal fasulye yöntemlerine yapılan çağrılar etrafındaki işlemi yönetebilir. Profil güncellememize başlamadan önce işleme başlıyoruz. Güncellemelerimizi Kaitlyn’in profilinde yapıyoruz ve başarılı olursa işlemi gerçekleştiriyoruz. Yol boyunca EJB sunucusundan bir istisna alırsak, işlemde rollback()’i çağırarak değişikliklerimizi geri alırız.

ProfileBean, TX_SUPPORTS, TX_REQUIRED veya TX_MANDATORY işlem özniteliğiyle konuşlandırıldıysa, EJB kapsayıcısı, müşteri işlem bağlamımız içinde fasulye yöntemlerini yürütmelidir.

Karşılık gelen veritabanı güncellemeleri, işlemimizi taahhüt ettiğimizde() veya işlemimizi geri alırsak() geri aldığımızda veritabanına kaydedilir. Fasulye kendi kalıcılığını yönetiyor olsa bile işlem sınırları hakkında hiçbir şey bilmesine gerek yoktur.

EJB konteyneri, müşteri tarafından belirlenen işlem sınırları ile fasulye uygulaması tarafından başlatılan JDBC işlemleri arasındaki ilişkiyi yönetir.

EJB 1.1 Spesifikasyonundaki Değişiklikler

Bu çalışmanın yayınlanmasından kısa bir süre önce Sun, EJB spesifikasyonunun 1.1 Versiyonunun halka açık bir taslağını yayınladı. Bu artımlı sürümde Sun, birkaç alanı daralttı, dağıtım tanımlayıcıları için planını değiştirdi ve spesifikasyonda çeşitli başka güncellemeler yaptı. Başlıca güncellemeler aşağıda açıklanmış, ardından daha önemli değişikliklerin kısa bir listesi verilmiştir.

XML Tabanlı Dağıtım Tanımlayıcıları

EJB 1.1’de, javax.ejb.deployment paketi kullanımdan kaldırılmıştır ve kurumsal çekirdekler için dağıtım tanımlayıcıları, seri hale getirilmiş DeploymentDescriptor nesneleri yerine XML kullanılarak oluşturulmuştur. EJB 1.1’de tanımlanan XML DTD’de, kurumsal çekirdek(ler)in yapısıyla ilgili bilgiler ile fasulyelerin belirli bir uygulamada kullanımına ilişkin bilgiler arasında net bir ayrım vardır.

Bir kurumsal bean’in yapısal bilgileri, çeşitli sınıflar, bean’in tanıdığı ortam değişkenleri ve kapsayıcı tarafından yönetilen alanlar (varlık bean için) gibi bileşenleri içerir. Uygulamaya özgü bilgiler, örneğin ortam değişkenleri için değerleri, çekirdeklere erişimi kontrol etmek için kullanılan çeşitli istemci rollerini ve bu çeşitli roller için izin ayarlarını içerir.

EJB 1.0’da tanımlanan konuşlandırma tanımlayıcılarına benzer şekilde, bu XML tabanlı konuşlandırma tanımlayıcılarının, bir fasulye sağlayıcısı uygulama geliştiricilere bir kurumsal fasulye koleksiyonu gönderdiğinde yalnızca yapısal bilgileri ve bir uygulama sağlayıcısı olduğunda hem yapısal bilgileri hem de uygulamaya özel bilgileri içermesi amaçlanır.

EJB tabanlı bir uygulamayı bir uygulama konuşlandırıcısına gönderir. Bu iki bilgi türünün XML dağıtım tanımlayıcısında ayrılması, bu işlemi EJB 1.0’dan daha kolay hale getirir.

Bir kurumsal fasulye kümesi için XML konuşlandırma tanımlayıcısı, ayrı olarak veya bir EJB−JAR dosyasının parçası olarak sağlanabilir. Bir EJB−JAR dosyasında, dağıtım tanımlayıcısı META−INF/ejb−jar.xml dosyasında olmalıdır.


Web sitelerinizi, arama motorlarında en yukarı getirmek adına sizlere 3 adet paket öneriyoruz. Bu paketler sayesinde web siteleriniz aramalarda 1 yıl içerisinde en yukarıya tırmanacaktır. 

1) Backlink Paketi  50 $ (Yıllık Ücret)
2) Hızlandırma Paketi 300 $ (Yıllık Ücret)
3) Kelime Yönlendirme Paketi 150 $ (Aylık Ücret)


 

 

Bir cevap yazın

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir