Archive for the ‘yazılım geliştirme’ Category

Java web servis istemcilerinde basic authentication

Tuesday, August 25th, 2009

Java web servis istemcilerinde basic authentication yapmamız icap ederse şöyle bişey oluyor:

CatalogServiceService service = new CatalogServiceService();
CatalogService port = service.getCatalogServicePort();
BindingProvider provider = (BindingProvider) port;

provider.getRequestContext().put(BindingProvider.USERNAME_PROPERTY, “user”);
provider.getRequestContext().put(BindingProvider.PASSWORD_PROPERTY, “pass”);

System.out.println(port.getServiceName());

dandik .NET ile web servis çağırma problemleri

Tuesday, July 14th, 2009

Eğer ki .NET ile uğraşıyorsanız ve java soap web servise erişmeye çalışırken aşağıdaki hatayı alıyorsanız (framework 3.5, Visual Studio 2008)

The request was aborded: The request was cancelled.

1. .NET ile uğraşmayın. Çok daha düzgün bir platforma geçin, Java gibi.

2. Visual Studio’nun oluşturduğu ama size göstermediği (salaksınız ya o kodu görmemeniz gerekiyor) kodları açıp, System.Web.Services.Protocols.SoapHttpClientProtocol sınıfından türeyen base servisinize aşağıdaki metodu ekleyin:

protected override System.Net.WebRequest GetWebRequest(Uri uri)
{
System.Net.HttpWebRequest webRequest = (System.Net.HttpWebRequest) base.GetWebRequest(uri);
webRequest.KeepAlive = false; // dananın kuyruğunun koptuğu an
return (System.Net.WebRequest) webRequest;
}

allah sabır versin…

Bu arada, şöyle bi salaklığa daha rastladım, C# ile bir web servis istemcisi yazarken (.net 3.5) hangi alanların doldurulduğunu anlamak için o alan ismi ile “Specified” diye boolean alanlar açıyor. Misal ucret diye bir property varsa ucretSpecified diye bir property daha ekliyo istemcimiz, siz ucret parametresini istediğiniz kadar doldurun, bu ucretSpecified = true demediğiniz sürece soap mesajına bu parametreyi eklemiyor. Eklemediği için karşı tarafa null olarak gidiyor, siz de uraşıp duruyosunuz ne oluyor ne bitiyor diye. Düzgün çalışabilmesi için 20 parametreniz varsa istemci bunu 40 parametre yapıyor, siz de 20 tane = true yazıyosunuz. Yuh artık bu kadar da saçma kod yazılmaz ki…

c# web servis istemcisinde basic authentication

Tuesday, July 7th, 2009

Java ile yazdığım web servisleri test etmek amacıyla Visual Studio 2008 ile (framework 3.5) istemci uygulaması yazayım dedim. Bizim web servis tarafında basic authentication olduğu için istemciye de bunları belirtmek gerekiyordu. Bir daha o site senin bu site benim diye gezmemek için buraya not alayım dedim:

com.haqen.HedeService service = new com.haqen.HedeService();
service.Credentials = new NetworkCredential("username", "password");
Console.WriteLine( service.getServiceName() );

jMonkey Engine

Sunday, June 28th, 2009

Oyun yazmak için illaki C++ bilmek, OpenGL kasmak gerekmiyor. Zibilyon tane oyun geliştirmeye yönelik kütüphaneler var artık. Ben AMOS ile başlamıştım :) Sonra Blitz Basic ile uğraştım bir süre. Fakat adı üstünde, basic, istediğim gibi kullanamayınca bıraktım. Sonra Irrlicht baktım çok kısa, sonra da bıraktım bir süre araştırmayı. Sonra 2 sene önce bu konudan arkadaşlara bahsederken “len Java’da böyle bir engine olsa ne süper olurdu” demiş, önce JPCT‘ye ulaşmış biraz onu kurcalamıştım, dökümantasyon namına pek birşeyi olmadığı için üzülürken JMonkey Engine‘e rastlamıştım. Geçen sene Java One’da da sunum yapan JMonkey Engine 3d uygulamalar yazmamız için oldukça güzel bir kütüphane. Örneğin gökyüzü (skybox) yapmak için uğraşmak gerekmiyor, Skybox nesnesi yaratmamız ve ona texture kaplamamız yeterli.

Keşke biraz daha dökümantasyonu güzel olsaydı dedirtmiyor değil ama 3d uygulamayı java ile yazmanın büyük avantajı da var, bir kere tüm işletim sistemlerinde çalışıyor (Windows, Linux, Macos…) ve JNLP sayesinde web üzerinden tıklayarak da çalıştırılabiliyor. Applet olarak da kullanılabiliyor ancak o zaman tüm kaynakları kullanamıyoruz, pek hoş çalışmıyor.

Çok ufak bir uygulama yazdım, ona buradan ulaşabilirsiniz, WASD tuşları ile hareket edip farenin sağ tuşuna basılı tutup etrafa bakabiliyorsunuz.

Vakit olsa JMonkey Engine ile neler neler yapılır. En iyisi ben kendime kandıracak yeni insanlar bulayım :)

JMonkey Engine ile yapılmış bir oyun örneği

JMonkey Engine ile yapılmış bir oyun örneği

bulutlarda kodlamak, Google App Engine!

Friday, June 26th, 2009

Benim de en çok ilgimi çeken ve çalışmak istediğim konu olan “cloud computing” bu aralar çok moda. İnternetin devlerinden Google, Amazon, Facebook ve onlara yetişmeye çalışan Microsoft, hepsi kendi gigantik alt yapılarını insanların kullanımına açıyorlar. Amazon’un S3 (Simple Storage Service) ve EC2 (Elastic Compute Cloud) web servisleri var, Microsoft’un Azure’u var.

Google da App Engine ile kendi alt yapısını ucundan bize açıyor. Google’ın ilişkisel veritabanı sistemleri yerine kullandığı meşhur Datastore’u, mail ve image apileri, login mekanizması ve url fetch özelliklerini kullanarak hemen hemen herşeyi yapmak mümkün. Önce Python desteği ile başladı şimdi de Java desteği sunuyor. Bir türlü python ile test edemediğim için Java desteği gelince artık test etmek gerek diyerek biraz inceleyip ufak bir uygulama yazdım.

Java ile App Engine uygulaması yazmak Google zaten yeterince döküman sunduğu ve Eclipse plugin’i varolduğu için oldukça kolay. Datastore kullanmak da hiç zor değil, JDO ya da JPA üzerinden kullanabiliyorsunuz. Ben sadece JPA query’si içinde order by kullandığım için patladı ama olsun :)

App Engine’in de sınırları var. Ancak bu sınırlar paradan haber verince değişiyor. Açıkçası ben uygulama geliştirmekten çok keyif aldım. Yazdığım örnek uygulamaya şurdan erişebilirsiniz.