Please use this identifier to cite or link to this item: http://hdl.handle.net/11527/343
Full metadata record
DC FieldValueLanguage
dc.contributor.advisorErdoğan, Nadiatr_TR
dc.contributor.authorAkın, Orhantr_TR
dc.date2009tr_TR
dc.date.accessioned2009-06-30tr_TR
dc.date.accessioned2015-04-07T13:59:31Z-
dc.date.available2015-04-07T13:59:31Z-
dc.date.issued2009-06-30tr_TR
dc.identifier.urihttp://hdl.handle.net/11527/343-
dc.descriptionTez (Yüksek Lisans) -- İstanbul Teknik Üniversitesi, Fen Bilimleri Enstitüsü, 2009tr_TR
dc.descriptionThesis (M.Sc.) -- İstanbul Technical University, Institute of Science and Technology, 2009en_US
dc.description.abstractSenkron çalışan Java RMI’ın senkron çağrı modeli uzun zaman alan uzak yordam çağrıları için ölçeklenebilirlik sorunları yaratmaktadır. Asenkron çağrılar sayesinde, istemci çağrıyı yürüttükten sonra sunucu çağrıyı işlerken gereksiz yere beklemez ve çalışmasına devam edebilmektedir. Bu çalışmada java uzak yordam çağırma yöntemleri üstüne asenkron olarak uzak yordam çağırmamızı sağlayacak bir yazılım çatısının tanımını yapıp gerçeklemesini anlatacağız. Dışarıdan bakacak olursak, java programlama dili ile yazılmış, çoğu zaman farklı fiziksel yerlerde bulunan farklı sanal makineler üzerinde yaşayan ve birbirleri ile RMI ile haberleşen istemci ve sunucu programlar bulunmaktadır. Konu üzerinde asenkronluk özelliğin eklenmesi için yapılmış önceki çalışmalara bakacak olursak; benimsenen yöntemler istemci vekilin ön işlemden geçirilmesi, uzak nesnelerin veya uzak nesne vekillerinin değiştrilmesi ya da Sun’ın Java Sanal Makinesi’nin değiştirilmesi gibi pek de kolay olmayan çalışmalar gerektirmektedirler. Bu çalışmada Java’nın iplik havuzu ve yansıtma gibi becerilerinden yararlanarak, kendi uzak yordam çağırma kütüphanesinin üstüne asenkron uzak yordam çağırma yazılım çatısı gerçeklemekteyiz. Çalışmamız Java dışında farklı bir araç, ön işleme, özel derleyici gerektirmemesi, hali hazırda geliştirilmiş olan eski uzak nesnelerde değişikliğe gerek duymayıp onlarla sorunsuz entegre çalışabilmesi açışından önceki çalışmalara göre farklılık göstermektedir. Asenkron yazılım çatısının kullanımı gerçek dünya problemlerinin çözümünde ne şekilde kullanıldığı, açık kod örnekleriyle verilmektedir. Java’nın standart uzak yordam çağırma yöntemine göre nasıl kazanç sağladığımız açıkça ortaya konup, java çok iplikli programlama ve yansıtma yöntemlerinin performans kazanmak için optimize edilme yöntemleri karşılaştırmalar ve sonuçlarla ortaya konmaktadır.tr_TR
dc.description.abstractJava RMI’s synchronous invocation model may cause scalability challenges when long duration invocations are targeted. An asynchronous invocation allows the client to continue with its computation after dispatching a call, thus eliminating the need to wait idle while its request is being process by a remote server. In this study we define and implement an execution framework which extends Java RMI functionality with asynchrony. From out of the box point of view, there is a java client program and a server program both written in java programming language and living in different virtual machines that can be in different physical locations and using Java’s RMI (Remote Method Invocation) technology to communicate. Considering previous work carried on this topic to achieve asynchrony on Java’s RMI special preprocessing of the client stub, modification of the remote objects or stubs or modification of the Sun’s Java VM (virtual machine) is required which is not straight forward since Sun does not provide built-in mechanisms for those operations. In this study, we implemented an asynchronous RMI execution framework on the top of RMI technology, using the thread pooling capability and the reflection mechanism of Java. It differs from previous work as it does not require any external tool, preprocessor, or compiler and it may be integrated with previously developed software as no modification of target remote objects is necessary. Brief code examples with real life problems will be given with the usage of the asynchronous RMI framework, obvious performance gain over standard RMI calls will be shown and the techniques which were used to optimize Java’s multithreading and reflection in this study will be explained briefly with comparisons and results.en_US
dc.publisherFen Bilimleri Enstitüsütr_TR
dc.publisherInstitute of Science and Technologyen_US
dc.rightsİTÜ tezleri telif hakkı ile korunmaktadır. Bunlar, bu kaynak üzerinden herhangi bir amaçla görüntülenebilir, ancak yazılı izin alınmadan herhangi bir biçimde yeniden oluşturulması veya dağıtılması yasaklanmıştır.tr_TR
dc.rightsİTÜ theses are protected by copyright. They may be viewed from this source for any purpose, but reproduction or distribution in any format is prohibited without written permission.en_US
dc.subjectjava RMItr_TR
dc.subjectuzak yordam çağırmatr_TR
dc.subjectasenkron haberleşmetr_TR
dc.subjectyansıtmatr_TR
dc.subjectjava RMIen_US
dc.subjectremote method callen_US
dc.subjectasynhronous communicationen_US
dc.subjectreflectionen_US
dc.titleAsenkron Java Rmıtr_TR
dc.title.alternativeAsynchronous Java Rmien_US
dc.typeThesisen_US
dc.typeTeztr_TR
dc.contributor.departmentBilgisayar Mühendisliğitr_TR
dc.contributor.departmentComputer Engineeringen_US
dc.description.degreeYüksek Lisanstr_TR
dc.description.degreeM.Sc.en_US
Appears in Collections:Bilgisayar Mühendisliği Lisansüstü Programı - Yüksek Lisans

Files in This Item:
File Description SizeFormat 
9645.pdf479.36 kBAdobe PDFView/Open


Items in DSpace are protected by copyright, with all rights reserved, unless otherwise indicated.