Fatih Küçükyavuz Hacettepe Üniversitesi Bilgisayar Mühendisliği Bölümü 1/23 Hacettepe Üniversitesi Bilgisayar Mühendisliği Bölümü Yazılım Labratuvarı Araştırma Knusu Ad Syad: FATİH KÜÇÜKYAVUZ Numara: 20221801 Knu: Sun Ürünleri E-Psta: fatihkyavuz@htmail.cm Fatih Küçükyavuz Hacettepe Üniversitesi Bilgisayar Mühendisliği Bölümü 1/23
Fatih Küçükyavuz Hacettepe Üniversitesi Bilgisayar Mühendisliği Bölümü 2/23 DİZİN: A- Kısa Tarihçe 4 1-Yazılımsal Ürünler...4 1.1- Uygulama ve Bütünleştirme Servisleri..4 1.1.1- Java Uygulama Sunucusu.4 1.1.2- Java Sistem Mesaj Kuyruğu.5 1.1.3- ebam...6 1.1.4- egate Integratr 6 1.1.5- einsight Bussiness Prcess Manager 6 1.1.6- eprtal Cmpser.7 1.1.7- etl Integratr...7 1.1.8- eview Studi...7 1.1.9- eway Intelligent Adapters 7 1.1.10- exchange Integratr...8 1.1.11- iway Adapters 8 1.2- İşletim Sistemleri..9 1.2.1- Slaris İşletim Sistemi....9 1.2.2- Güvenilir (Trusted) Slaris İşletim Sistemi..10 1.2.3- Linux.11 1.3- Uygulama Geliştirme.12 1.3.1- API ve Kütüphaneler... 12 1.3.2- Uygulama Araçarı...13 2 - Uygulama Araçlarının Detaylı İncelenmesi...14 2.1- Java Studi Creatr 14 2.1.1- Başangıç...14 2.1.2- Çalışma Alanının (Wrkspace) Kullanımı..14 2.1.3- Prje Penceresi.15 2.1.4- Paletin Kullanımı.16 2.1.5- Sayfa Tasarımı.17 Fatih Küçükyavuz Hacettepe Üniversitesi Bilgisayar Mühendisliği Bölümü 2/23
Fatih Küçükyavuz Hacettepe Üniversitesi Bilgisayar Mühendisliği Bölümü 3/23 2.1.6- Sayfa Bileşenlerinin Seçilmesi 17 2.1.7- JSP Düzenleme Aracının Kullanılması...18 2.1.8- Özellikler Penceresinin Kullanılması..19 2.1.9- Yaygınlaştırma (Deplying) ve Çalıştırma(Running).19 2.1.10- Yardım...19 2.2- NetBeans 20 2.2.1- Web Uygulamalarının Geliştirilmesi.20 2.2.1.1- Web Uygulama Prjesinin Kurulması.20 2.2.1.1.1 Yazılımların Kurulması..20 2.2.1.1.2 Sunucunun IDE ye Entegre Edilmesi.20 2.2.1.1.3 Yeni Web Uygulama Prjesinin Yaratılması.20 2.2.1.2- Web Uygulamasının Kaynak Kdlarının Yaratılması ve Düzenlenmesi.21 2.2.1.2.1- Java Paket ve Kaynak Kütüğünün Yaratılması 21 2.2.1.2.2- Getter ve Setter Metdlarının Yaratılması..21 2.2.1.2.3- JSP Kütüğünün Yaratılması 21 2.2.1.2.4- JSP Kütüğünün Düzenlenmesi 22 2.2.1.3- Web Uygulamsının Çalıştırılması ve Örnek Uygulama.22 2.2.1.3.1- Örnek Uygulama.22 Fatih Küçükyavuz Hacettepe Üniversitesi Bilgisayar Mühendisliği Bölümü 3/23
Fatih Küçükyavuz Hacettepe Üniversitesi Bilgisayar Mühendisliği Bölümü 4/23 A- KISA TARİHÇE: Sun Micrsysytems 1982 yılında dört mühendis tarafından kurlumuştur. Aynı yıl günümüzün iletişim prtklü lan TCP/IP yi içeren ilk iş istasynlarını tanıtmışlardır. 1983 yılında Avrupa da faaliyete başlamışlar ve 1987 yılında AT&T ile UNIX işletim sisteminin Sistem 5 ini geliştirmek için iş birliği yapmışlardır. Yine aynı yıl içinde şirket internete bağlanmıştır. 1989 yılında ise SPARCStatin 1 adlı sistemlerini tanıtarak pazarda yerlerini sağlamlaştırmışlardır. 1995 yılında tüm dünyada ilgiyle karşılanan, Java prgramlama platfrmlarını ve bu dil sayesinde yazılım geliştiriciler tarafından beğeniyle karşılanan bir kez yaz, her sistemde çalıştır prensibini tanıtmışlardır. 1- YAZILIMSAL ÜRÜNLER: 1.1- Uygulama ve Bütünleştirme Servisleri (Applicatin and Integratin Services) 1.1.1- Java Uygulama Sunucusu (Java Applicatin Server) Uygulama sunucusu; sunucu tarafında yazılımlar ve web servisleri geliştirmek için tasarlanmıştır. Sun kullanıcı ihtiyaçlarına göre üç ayrı sürümünü piyasaya sürmüştür. Bunlar: Java Sistem Uygulama Sunucusu Platfrm Sürümü (Java System Applicatin Server Platfrm Editin): Bu sürüm piyasada en çk kullanılan J2EE uygulama sunucusudur. Geliştiriciler bu platfrm sayesinde ücretsiz larak yazılım geliştirme, yazılımı yaygınlaştırma (deply) ve dağıtımını yapabilmektedirler. Özellikleri J2EE 1.4 e uygunluk. Yazılımın verimliliğini sağlar. Web servislerin güvenliği sağlar. JSF (JavaServer Faces) desteği sağlar. Ücretsizdir. Java Sistem Uygulama Sunucusu Standart Sürümü (Java System Applicatin Server Standard Editin): Bu sürümde ise büyük çaplı uygulama ve web servisleri geliştirmek için platfrm sürümü üzerine eklentiler yapılmıştır. Geliştiricilere; güvenli, uzaktan ve çklu makinelerle yazılım geliştirme lanağı sağlanmıştır. Özellikleri Fatih Küçükyavuz Hacettepe Üniversitesi Bilgisayar Mühendisliği Bölümü 4/23
Fatih Küçükyavuz Hacettepe Üniversitesi Bilgisayar Mühendisliği Bölümü 5/23 J2EE 1.4 e uygunluk. Güvenli ve klay bir şekilde uygulamaları birçk bilgisayar üzerinde çalıştırma desteği. Büyük ölçekli bağlantıları ele alabilme. HTTP, RMI-IIOP ve JMS için düzey yükleme dengeleme desteği sağlar Java Sistem Uygulama Sunucusu Kurumsal Sürümü (Java System Applicatin Server Enterprise Editin): Bu sn sürüm ise uygulamaların ve web servislerinin kesintisiz çalışmasının sağlanabilmesi için piyasaya sürülmüştür. Bu sürümün kullanım alanı daha çk kesintiye uğramamsı gereken pahalı ve büyük yazlım bilişim sistemleri içindir. Özellikleri J2EE 1.4 e uygunluk. Güvenli ve klay bir şekilde uygulamaları birçk bilgisayar üzerinde çalıştırma desteği. Büyük ölçekli bağlantıları ele alabilme. HTTP, RMI-IIOP ve JMS için düzey yükleme dengeleme desteği sağlar Oturum yedekleme desteği sağlar. Kurtarma desteği sağlar. 1.1.2- Java Sistem Mesaj Kuyruğu (Sun Java System Message Queue - Java Message Service (JMS)) JMF, kurumsal çapta bir mesaj sunucu sistemidir. Bu sistem sayesinde nktadan nktaya ya da tplu mesajlaşma işlemleri gerçekleştirilebilmektedir. İki ayrı sürüm piyasaya sürülmüştür: Java Sistem Mesaj Kuyruğu Platfrm Sürümü (Java System Message Queue Platfrm Editin): Bu sürüm küçük çaplı sistemler için geliştirilmiştir. Özellikleri JMS desteği sağlar. JMS üzerinden SOAP (Basit Nesne Erişim Prtklü Simple Object Access Prtcl) mesajlaşma desteği sağlar. Asenkrn mesajlaşma desteği verir. Nktadan nktaya ya da yayımsal mesaj desteği sağlar. Yönetimsel araçlar sağlar. Java Sistem Mesaj Kuyruğu Platfrm Sürümü (Java System Message Queue Platfrm Editin): Bu ikinci sürüm ise, büyük çaplı kurumsal sistemler için geliştirilmiştir. Fatih Küçükyavuz Hacettepe Üniversitesi Bilgisayar Mühendisliği Bölümü 5/23
Fatih Küçükyavuz Hacettepe Üniversitesi Bilgisayar Mühendisliği Bölümü 6/23 Özellikleri Mesaj sunucusu veri kümeleri (cluster) desteği sağlar. JMS desteği sağlar. JMS üzerinden SOAP (Basit Nesne Erişim Prtklü Simple Object Access Prtcl) mesajlaşma desteği sağlar. HTTP, HTTPS gibi çklu mesaj taşıma desteği sağlar. Şifreleme özelliği sunar. 1.1.3- ebam ebam; birçk uygulama veya bilgi kaynakları üzerinde luşan gerçek zamanlı iş laylarını ele alabilen bir yazılım sistemidir. Sunduğu ayar sihirbazları sayesinde, iş kullanıcıları, BAM için kurallar tanımlayabilmekte ve bunun snucunda da BAM kullanıcılar için özelleşebilmektedir. 1.1.4- egate Integratr egate Integratr; J2EE uyumlu lmasının yanı sıra, web servis tabanlı dağıtımı yapılan, bir bütünleşme sistemidir. Özellikleri sağlar. Yazılımları düşük maliyetle, geliştirme, yaygınlaştırma ve yönetme imkanı, Kapsamlı sistem bağlanabilirliği sağlar, Güvenilir taşıma, Ayrıca egate Integratr, ilk ve tek J2EE naylı, üçüncü parti uyguluma sunucularında çalışma özelliği taşır. 1.1.5- einsight Bussiness Prcess Manager einsight Bussiness Prcess Manager, agate altyapısı üzerinde çalışan, süreç tabanlı, bütünleşme sistemdir. einsight; analizcilere birçk web servis, sistem ve insan arasında gerçekleşen süreçleri mdelleme, test etme ve planlama lanağı sunar. Kullanıcılara BPMN (Business Prcess Mdeling Ntatin) ve BPEL4WS (Business Prcess Executin Language fr Web Services) desteği sağlayan bir grafik mdelleme rtamı sağlar. İşverenlerin manuel larak sistemler arası bşlukları dldurma zrunluluğu kaldırır, gerekli işlemleri tmatik larak yapar ve bunun snucunda da: İşlemler hızlanır. İşletimsel maliyet azalır. Yapılan işlemlerin kalitesi artar. Rekabet rtamında, kurum avantajlı duruma gelir. Fatih Küçükyavuz Hacettepe Üniversitesi Bilgisayar Mühendisliği Bölümü 6/23
Fatih Küçükyavuz Hacettepe Üniversitesi Bilgisayar Mühendisliği Bölümü 7/23 1.1.6- eprtal Cmpser Prtallar; birleşik uygulamaları, kişiselleştirerek veya kurumsal sistemler için tek bir arayüz sunarak düzenlerler. eprtal Cmpser ise, tplu halde bulunan web tabanlı kanalları, yönetimsel hizmetler ve sn kullanıcı isteğine göre dağıtır. Bu işlemi yaparken kullanıcıyı, karmaşık bütünleşme işlerinden syutlar. Ayrıca büyük yatırım yapılan sistemler için yüksek fayda ranları sağlama yeteneğine sahiptir. 1.1.7- etl Integratr etl Integratr, saf ETL araçlarıyla aynı perfrmansa sahip, birleşmiş, geçek zamanlı ve tplu iş bütünleşmesi sağlayan bir sistemdir. Kapsamlı kurumsal sistemler için sağlam bir altyapı sunar. Özellikle büyük kayıtların, farklı veri tabanları ya da klasörler arasında taşınması işlemini srunsuz halleden, ICAN platfrmuna uyumlu bir sistem lma özelliği taşır. 1.1.8- eview Studi Günümüz dünyasında, hayati değer taşıyan bilgiler; CRM ERP eticaret Müşteri Destek Hizmetleri gibi faklı kurumsal sistemler arasında dağıtılmaktadır. Her sistem kendi özel kayıt sistemini kullanmakta ve snuçta tüm sistemler için rtak lan bir kayıt türü belirlenememektedir. eview Studi, veri temizleme ve eşleştirme teknljilerini kullanarak, rtak nesne için birden çk yerel dizin kullanmakta ve snuçta farklı sistemler arası taşınabilir rtak bir kayıt türü tanımlamaktadır. Bu sayede eview Studi, prtallar, çağrı merkezleri ve birleştirilmiş faturalandırma ve hesap yönetimi gibi CRM teşebbüslerini çk hızlı bir şekilde geliştirmeye lanak sağlamaktadır. Bu kurumsal bileşen, sunduğu uygulama sihirbazları sayesinde, analizcilere; sistemde tek bir kayıt türünün lduğunu varsayarak hızlı bir şekilde mdelleme lanağı sunar. 1.1.9- eway Intelligent Adapters eway Intelligent Adapter, JCA tabanlı web servislerine hızlı bir şekilde bütünleşme sağlar. egate ve einsight adlı sistmeler bu akıllı bütünleştiriciler sayesinde dağıtılmış faklı sistemlerle, prtkllerle (J2EE-.NET), teknljilerlerle (CISC, CORBA, DCOM) ve paket uygulamalarla (Siebel, SAP) klaylıkla bütünleşirler. Kullancı dstu sihirbaz tabanlı, ayar ve yaygınlaştırma araçları sayesinde; eway bütünleştiricileri, hızlı bütünleşme, geliştirme ve bakım maliyetlerini azaltma lanağı sağlar. Fatih Küçükyavuz Hacettepe Üniversitesi Bilgisayar Mühendisliği Bölümü 7/23
Fatih Küçükyavuz Hacettepe Üniversitesi Bilgisayar Mühendisliği Bölümü 8/23 Her eway bütünleştirici sisteme özel iş mantığı ve veri dğrulama özelliklerini barındırır. eway bütünleştirici türleri: Veri tabanı erişim bütünleştiricileri İlişkisel (DB2, Oracle, v.s.) Hiyerarşik (IMS) Kütük tabanlı (ADABAS, VSAM, v.s.) Ağ (IDMS) Paketlenmiş uygulama bütünleştiricileri (SAP, PepleSft, Orcale, v.s) İletişim Bütünleştiricileri (SNA, TCP/IP, v.s.) Nesneye yönelik teknlji bütünleştiricileri (CORBA, Uygulama Sunucuları, v.s.) İleti Bütünleştiricileri (MQSeries, JMS, MSMQ, v.s.) Web teknljileri bütünleştiricileri (http, CGI, v.s) Ekran tabanlı bütünleştiriciler (3270, Wise, v.s.) 1.1.10 exchange Integratr Günümüz dünyasında ticari rtaklarla tmatik larak kurulan ilişkiler sayesinde, aynı anda hem maliyetler azalır, müşteri memnuniyeti sağlanır hem de gelirler artar. Bu ilişkilerin sayısı artınca ya da ilişkilerin değişik kayıt frmatlarına (XML, EDI) dayalı larak yapılması gerekiyr ise, ilişkileri yönetmek zrlaşır. İşte bu eksikliği gidermek için exchange Integratr adlı yazılım geliştirilmiştir. exchange Integratr, web tabanlı ticari rtak prfilleri ve rtaklar arası ileti yönetim sistemidir. exhchange Integratr ün en önemli özellikleri: Ortaklar arası ilişkilerin kurulmasını hızlandırır Ortaklar arası ilişkilerin kurulmasını ve sürdürülmesini klaylaştırır. Kapsamlı B2B desteği sağlar. Verilerin güvenli bir şekilde taşınmasını sağlar. ebxml frmatının yanında EDI ve AS2 frmatlarını da destekler. 1.1.11 iway Adapters iway bütünleştiricileri, kurumların kritik kurumsal ve ana bilgisayar (mainframe) uygulamalarının J2EE platfrmu uygulamalarına erişmelerini sağlar. Birçk müşteri SAP, PepleSft, Siebel gibi kurumsal uygulamaları ya da CICS, IMS gibi ana bilgisayar sistemleri kullanırlar. Yapılan bu büyük çaplı yatırımlardan snra da, sistemlerini değiştirmek istemezler. Bu nktada, iway bütünleştiricileri, kurumların bu büyük çaplı sistemleri ile J2EE platfrmunu klayca bütünleştirme görevini üstlenirler. Kurumların hali hazırda bulunan sistemlerini J2EE platfrmu bağlayıcı (cnnectr) mimarisi ara yüzü veya web servisler ile daha esnek hale getiriler. iway bütünleştiricileri: Uygulama Bütünleştiricileri PepleSft için iway uygulama sistemi bütünleştiricisi. Fatih Küçükyavuz Hacettepe Üniversitesi Bilgisayar Mühendisliği Bölümü 8/23
Fatih Küçükyavuz Hacettepe Üniversitesi Bilgisayar Mühendisliği Bölümü 9/23 SAP R/3 için iway uygulama sistemi bütünleştiricisi. Oracle uygulamaları için iway uygulama sistemi bütünleştiricisi Siebel için iway uygulama sistemi bütünleştiricisi. Amdc Clarify CRM için iway bütünleştiricisi. J.D. Edwards One Wrld için iway uygulama sistemi bütünleştiricisi. Veri Bütünleştiricileri RDBMS, (Oracle, DB2, Infrmix, MS SQL Server,Sybase) için iway XML bütünleştiricisi. Yatık (flat) kütük sistemleri için iway veri bütünleştiricisi Anabilgisayar Bütünleştiricileri IMS/DB için iway R/W bütünleştiricisi. Java teknljileri için IIS/TM büyüleştiricisi. iway öykünüm (emulatin) bütünleştiricisi. iway CICS hareket bütünleştiricisi. BEA Tuxed için hareket bütünleştiricisi. İleti ve epsta Bütünleştiricileri Micrsft Exchange için iway bütünleştiricisi. Ltus Ntes için iway bütünleştiricisi. IBM Web Sphere için iway bütünleştiricisi. Tibc Rendezvus Native için iway bütünleştiricisi. Tibc Rendezvus JMS için iway bütünleştiricisi. Micrsft Message Queuing için iway bütünleştiricisi. 1.2 İşletim Sistemleri 1.2.1 Slaris İşletim Sistemi Slaris, Sun sistemler için bölümsel sunuculardan, büyük 64 bit işlemler yapan 100 işlemcili kümelenmiş sunuculara kadar lan sistemlerde işletim lanağı sağlar. Özellikleri Klay iş bütünleştirme: Java bütünleştirme sistemi sayesinde, Slaris işletim sistemi; zengin bütünleştirme lanağı ve tümleşik uygulama yetenekleri için, SOA tabanlı bir geliştirme paltfrmu sunar. Kimlik Yönetimi: Slaris; pazardaki, çeşitli hesaplama parçaları ve rtamlarında kullanıcı kimliklerini en iyi şekilde yöneten işletim sistemidir. Sağladığı tümleşik araçlarla; güvenli ve klay bir şekilde kullanıcı kimlilerinin yönetimini sağlar. Tümleşik Açık Kaynak Uygulamalar: Fatih Küçükyavuz Hacettepe Üniversitesi Bilgisayar Mühendisliği Bölümü 9/23
Fatih Küçükyavuz Hacettepe Üniversitesi Bilgisayar Mühendisliği Bölümü 10/23 Slaris işletim sistemi, kullanıma hazır, kendi alanında lider 188 adet açık kaynak uygulama paketi içerir. Bu paketler, ihtiyaca göre Sun ın sunduğu yazılım altyapısı ile birlikte, zengin uygulama rtamının luşmasını sağlarlar. Bu uygulamalardan bazıları: Ağ ve web servisleri için; Apache, Tmcat, ve Zebra Yazılım geliştirmek için; Bisn, GCC, Perl, ve Pythn araçları Güvenlik için IP Filter, TCP Wrappers, ve Secure Shell Masaüstü kullanımı için GNOME, Mzilla, ve Evlutin yazılımları Pstgres veritabanı sunucusu Güvenlik: Slaris, güvenli çalıştırma (Secure Executin) ve işlem hakları yönetim araçları sayesinde, kurumlar için güvenli çalışma ve çözüm üretme lanağı sağlar. Perfrmans: Slaris işletim sistemi, veritabanı, web ve java tabanlı uygulamalar ve servisler, kullanılırken, diğer işletim sistemlerine göre su götürmez bir şekilde yüksek perfrmans sağlar. Veri Yönetimi: Dsya sistemi ve alan yönetimi knusunda büyük gelişimler kaydeden Slaris, sanal larak sınırsız kapasite sunar. 1.2.2 Güvenilir (Trusted) Slaris İşletim Sistemi Güvenilir Slaris İşletim Sistemi, diğer işletim sistemlerinden çk farklı larak, iç ve dış tehlikelere karşı üstün yöntemler ve sistemler içerir. Finans, sağlık, devlet uygulamalarında başarısı kanıtlanmış lan Güvenilir Slaris işletim sistemi, gizlilik için eşsiz çk katmanlı bir mimari sunar. Masaüstü PC kullanıcılarından, veri merkezi kullanıcılarına kadar, güvenlik risklerini azaltır ve ağ güvenliği için yüksek güvenlik sağlar. Özellikleri Ayarlanabilen güvenlik işlevselliği. Güvenilir rller. Slaris 8 taban platfrmu Slaris Management Cnsle 3.0 FCS Framewrk ve NIS+ üzerinde yönetim tabanlı işletim lanağı. Fatih Küçükyavuz Hacettepe Üniversitesi Bilgisayar Mühendisliği Bölümü 10/23
Fatih Küçükyavuz Hacettepe Üniversitesi Bilgisayar Mühendisliği Bölümü 11/23 1.2.3 Linux Sun, Linux için çk amaçlı sistem yaklaşımını geliştirdi. Ayrıca; Java Kurumsal Sistemi (Java Enterprise System) ve Java Masaüstü Sistemi ile birlikte, java teknljisini, x86 tabanlı dnanımı, Red Hat Kurumsal Linux ve SUSE Kurumsal Linux Sunucusunu sunar. Linux ve Slaris: Linux ve Slaris aynı kökenden gelmeleri dlayısıyla, birlikte çalışabilirler ve Linux için yazılan herhangi bir yazılım değişiklik yapmadan Slaris İşletim Sistemleri üzerinde klaylıkla çalıştırılabilir. Linux Tpluluğu ve Sun: Sun Linux Internatinal, Linux, Free Standards Grup, GNOME ve Mzilla gibi bir çk açık kaynak kd rganizasynlarında yer alır. Linux Uyumlu Sun Dnanımları: Sunucular Sun Fire X2100 Server Sun Fire X4100 Server Sun Fire X4200 Server Sun Fire V40z Server** Sun Fire V20z Server** Sun Grid Rack System İş İstasynları Sun Ultra 20 Wrkstatin Sun Java Wrkstatin W1100z Sun Java Wrkstatin W2100z Deplama Sun Strage line Linux Uyumlu Sun Yazılımları: Tümleşik Altyapı Yazılımları: Sun Java Enterprise System and Sun Java Suites Masaüstü Ortamları: Sun Java Desktp System Sun Masaüstü Uyulamla Yazılımları: Fatih Küçükyavuz Hacettepe Üniversitesi Bilgisayar Mühendisliği Bölümü 11/23
Fatih Küçükyavuz Hacettepe Üniversitesi Bilgisayar Mühendisliği Bölümü 12/23 StarOffice/StarSuite Office Suite Sun Masaüstü Altyapı Yazılımları: Sun Ray Server Sftware Sun Secure Glbal Desktp Sftware Geliştirme Araçları: Sun Studi Java Studi Creatr NetBeans IDE N1 Grid Tlkit Veri Merkezi Yazılımları Sun N1 Sftware 1.3 Uygulama Geliştirme 1.3.1 API ve Kütüphaneler: Java 3D API Java 3D API uygulama prgramlama arayüzü (API), basit ve üst düzey uygulama prgramlama mdelini destekleyen, bir küme nesneye yönelik arayüz sunar. Bu sayede geliştiriciler, 3D nesneleri yaratma, renderlarını alma ve davranışlarını kntrl etme lanağına kavuşurlar. Java Gelişmiş Görüntü APIsi (Java Advanced Imaging API) Aynen Java 3D APIde lduğu gibi, Java Gelişmiş Görüntü APIsi de basit ve üst düzey uygulama prgramlama mdelini destekleyen, bir küme nesneye yönelik arayüz sunar. Bu sayede geliştiriciler görüntüleri klaylıkla işleyip değiştirebilirler. Java TV API Elektrnik prgramlama kılavuzları (EPG), isteğe bağlı vide (vide n demand (VOD) ) veya geliştirilmiş yayın gibi televizyn uygulamalarını geliştirmek için Sun tarafından tanıtılmıştır Slaris İşletim Sistemi İçin OpenGL APIsi Slaris için geliştirilen bu OpenGL APIsi 3D grafik uygulamalarını Sun Slaris plafrmlarında geliştirilmesine lanak sağlar. Bu API; geliştiricilere 3D mdelleri tanımlama, renderlarını alma ve animasyn yapmaya lanak sağlamak için birçk faydalı grafiksel metd sunar. Özellikleri Fatih Küçükyavuz Hacettepe Üniversitesi Bilgisayar Mühendisliği Bölümü 12/23
Fatih Küçükyavuz Hacettepe Üniversitesi Bilgisayar Mühendisliği Bölümü 13/23 Endüstri standardı Klay taşınabilir Kapsamlı özellikler Yüksek kalite Yüksek perfrmans İyi tanımlanmış, ileriye dönük arayüz 1.3.2 Uygulama Araçarı Sun Studi Sun Studi; C, C++ ve Frtran geliştiricleri için ücretsiz, derleyiciler ve araçlar sunar. Geliştircilere, paralel prgramlama ve multi-cre sistemlerde, perfrmansı maksimize etme lanağı sunar. Ayrıca, tek iş parçacığından luşan (single-threaded) uygulamalarda dahi, kaynak kdu değiştirmeden, uygulamaların çalıştırılmasını paralelleştirebilir. Gelişmiş bir IDE larak Sun Studi, grafiksel bir debuggera ve perfrmans analiz araçlarına sahiptir. Özellikleri Slaris platfrmlarında yüksek perfrmans sağlar Klaylıkla debug işleminin yapılmasına imkan verir Perfrmans analiz araçları sayesinde, uygulamalarda perfrmans artırımına gidilebilmesine lanak verir Ücretsizdir Java Studi Creatr Java Studi Creatr, Sun ın Java platfrmu için geliştirmiş lduğu göresel bir IDE aracıdır. Java Studi Enterprise Sun Java Studi Enterprise, enterprise yazılım sistem tasarımcıları ve geliştiricileri için sunulan bir IDEdir. Bu araç sayesinde, J2EE tabanlı enterprise uygulamaları, web servislerini, prtal bileşenlerini geliştirmek, debug etmek, ayar yapmak ve test etmek mümkün labilmektedir. NetBeans 4.1 platfrmu tabanlı (açık kaynak kd tpluluğu içinde kullanıcı dstu lması ile tanınan) lan Java Studi Enterprise; NetBeansden farklı larak bazı ekstra özelliklere de sahiptir. Bunlar: UML desteği Geliştiricileri Bütünleştirmesi Fatih Küçükyavuz Hacettepe Üniversitesi Bilgisayar Mühendisliği Bölümü 13/23
Fatih Küçükyavuz Hacettepe Üniversitesi Bilgisayar Mühendisliği Bölümü 14/23 Uygulama Prfillendirme 2- UYGULAMA ARAÇLARININ DETAYLI İNCELENMESİ 2.1 Java Studi Creatr: 2.1.1 Başangıç: Java Studi Creatr sayesinde, karmaşık web uygulamalarını klaylıkla geliştirebilirsiniz. Bu araç sayesinde: Web tabanlı, kullanıcı arayüzlerini sürükle-bırak yaklaşımını kullanarak tasarlayabilirsiniz. Bileşenlerinizi bir veri tabanına ya da web servisi ile bütünleştirebilirsiniz. Java Studi Creatr Platfrmu, PintBase gömülü veri tabanı (Java tabanlı veri tabanı yönetim sunucusu) içerir. Uygulamanın davranışını Java kullanarak belirleyebilirsiniz. Bir çk sayfayı birbiri ile ilişkilendirerek karmaşık uygulamalar geliştirebilirsiniz. Uygulamayı klayca kurup (build), yaygınlaştırabilirsiniz (deply). 2.1.2 Çalışma Alanının (Wrkspace) Kullanımı Prgram ilk açıldığında, aşağıdaki şekil sizi karşılar. Fatih Küçükyavuz Hacettepe Üniversitesi Bilgisayar Mühendisliği Bölümü 14/23
Fatih Küçükyavuz Hacettepe Üniversitesi Bilgisayar Mühendisliği Bölümü 15/23 Düzenleme alanı, neyi düzenlediğinize göre birçk düzenleme aracını içerir. Örneğin kullanıcı arayüzleri luşturmak için görsel düzenleme aracı ya da Java kdu düzenlemek için Java editörü Diğer pencereler: Palet: Uygulamaları geliştirirken kullanabileceğiniz bileşenleri yönetmenizi sağlar. Uygulama Gezgini: Veri tabanı, web servisi ve uygulama sunucusu gibi servislerin yönetimini sağlar. Uygulama Ana hatları: Uygulamanızdaki tüm sayfalarda kullanıla görsel ve görsel lmayan bileşenleri gösterir. Dinamik Yardım: Aktif sayfa üzerinde yardım knularını görüntüler. Yanlış Ayıklama (Debugger): Yanlışları tespit için kullanılır (Varsayılan larak görünmez) 2.1.3 Prje Penceresi Aşağıdaki şekilde de görüldüğü üzere, prje içerisinde kullanılan tüm kaynak kütüklerini, web sayfalarını, sayfaların kullandığı diğer kütükleri (örneğin.css kütüğü ya da.gif kütüğü) ve jar kütükerini içerir. Prje gezgini, mantıksal ve kütük sistemi larak iki görünüm sunar. Varsayılan görünüm mantıksal görünümdür. Prje gezgininde var labilen düğümler: Web Sayfaları: Kişisel sayfalar ya da sayfa parçaları (header, table, vs.) Sayfa Dlaşma (Navigatin): Sayfaların nasıl birbiri ile ilişkilendirildiğini gösteren XML dsyası. Yönetilen Bean ler (Managed Beans): Sayfa, turum, uygulama gibi yönetilen beanler. Java Kaynak Kütükleri: Prjenin Java kaynakları. Fatih Küçükyavuz Hacettepe Üniversitesi Bilgisayar Mühendisliği Bölümü 15/23
Fatih Küçükyavuz Hacettepe Üniversitesi Bilgisayar Mühendisliği Bölümü 16/23 Kütüphane Referansları: JAR kütükleri gibi, ihtiyaç duyulan dış kütüklerdir. Veri Kaynağı Referansları: Veri tabanı gibi veri kaynakları. 2.1.4 Paletin Kullanımı: Java Studi Creatr ile, web sayfalarınızın görsel kısmını luştururken, görsel düzenleme aracının sürükle-bırak yaklaşımını kullanabilirsiniz. Bu araçta, bileşenler JSF e (Java Server Faces) göre tanımlanmıştır. Hazır bileşenleri kullanabileceğiniz gibi, bu araç sayesinde kendi yazdığınız bileşenleri de kullanabilirsiniz. Prgramda aşağıda da görülen paletin görünmesini isterseniz, View->Palette menüsünü kullanabilirsiniz. Görsel düzenleme aracı sayesinde, basit html elementlerinin (metin alanı, butn, bağlantı, vs.) yanı sıra, veri çevirim ve dğrulama bileşenlerini de kullanabilirsiniz. 2.1.5 Sayfa Tasarımı: Bileşenlerden herhangi birini sayfaya eklemek için, sadece paletten görsel düzenleme aracına sürükleyip bırakmanız yeterlidir. Ayrıca bileşene çift tıklayarak da sayfaya ekleme işlemini klaylıkla gerçekleştirebilirsiniz. (Bileşen varsayılan bir pzisyna eklenecektir) Görsel düzenleme aracı, ızgara (grid) ve akış (flw) lmak üzere iki yerleştirme (layut) yöntemi kullanır. Izgara (Grid) Yerleştirme: Bu yerleştirme yönteminde bileşenler HTML sayfasında, görsel düzenleme aracındaki belirtilen pzisynlarda (-x ve y krdinatlarında) görünürler. Fatih Küçükyavuz Hacettepe Üniversitesi Bilgisayar Mühendisliği Bölümü 16/23
Fatih Küçükyavuz Hacettepe Üniversitesi Bilgisayar Mühendisliği Bölümü 17/23 Akış (Flw) Yerleştirme: Bu yöntemde ise; bileşenler sldan sağa ve yukarıdan aşağıya sırayla yerleşirler. 2.1.6 Sayfa Bileşenlerinin Seçilmesi: Uygulamanızda kullandığınız tüm bileşenleri seçmek için uygulama anahatları yöneticisini (applicatin utline) kullanmalısınız. Uygulama anahatları yöneticisini görüntülemek için, View -> Applicatin Outline menüsünü kullanabilirsiniz. Bir bileşeni uygulama anahatları ile seçerek, bileşenin özelliklerini klaylıkla değiştirebilirsiniz. Eğer bileşen, görsel bir bileşen ise, görsel alanda fare yardımıyla bileşeni seçip, yine uygulama anahatları ile özelliklerini değiştirebilirsiniz. 2.1.7 JSP Düzenleme Aracının Kullanılması: JSP sayfalarına her yeni bileşen eklediğinizde ya da bileşenlerden birinin özelliğini değiştirdiğinizde, sayfanız için hazırlanan JSP kdu da tmatik larak değişecektir. Fatih Küçükyavuz Hacettepe Üniversitesi Bilgisayar Mühendisliği Bölümü 17/23
Fatih Küçükyavuz Hacettepe Üniversitesi Bilgisayar Mühendisliği Bölümü 18/23 JSP kdunuzu değiştirmek ya da görüntülemek için sayfanın alt kısmında bulunan, surce (kaynak) sekmesine tıklamanız yeterlidir. 2.1.8 Özellikler Penceresinin Kullanılması: Bir bileşenin özellikleri: Görünüşü Davranışı ya da tuttuğu veridir. Dış bir kütüğün özellikleri: Kütüğün ylu (path) Fatih Küçükyavuz Hacettepe Üniversitesi Bilgisayar Mühendisliği Bölümü 18/23
Fatih Küçükyavuz Hacettepe Üniversitesi Bilgisayar Mühendisliği Bölümü 19/23 ya da değiştirilme tarihidir. Dış bir veri kaynağının (data surce) özellikleri ise: URL Kapı (prt) numarası Kullanıcı kimliğidir. Verisi metin lan özellikleri değiştirmek için; yazan düğme seçilmeli ya da sayfa üzerinde direk larak metin kutusu seçilerek, değer değiştirilir. 2.1.9 Yaygınlaştırma (Deplying) ve Çalıştırma(Running): Uygulamanızı Java Studi Creatr üzerinde çalıştırdığınız zaman, tüm Java kaynak kdunuz çalıştırılabilir hale getirilir (building) ve web uygulamanız uygulama sunucusu üzerinde yaygınlaştırılır (deplying). Web uygulamanızı test etmek için bir web tarayıcı yardımı ile uygulamanızı çalıştırabilirsiniz. Uygulamanızı yaygınlaştırmadan önce, Java kaynak kdlarınızın hatasız lduğundan emin lun (Eğer hatalı kd kesimi var ise, kırmızı ile hatalı bölümün altı çizilmiştir), aksi takdirde yaygınlaştırma işlemi yapılamaz. Uygulamanızı çalışmaya hazır hale getirmeniz için (build), araç çubuğundaki yeşil ka basabilir ya da Build->Run Prject menüsünü kullanabilirsiniz. Hazır hale getirme işlemi sırasında, alt tarafta çıktı penceresi açılacak ve ilgili mesajlar bu pencere yardımı ile gösterilecektir. 2.1.10 Yardım: Java Studi Creatr platfrmunda, birden çk yerden yardım alabilmeniz mümkün, bunlar: Fatih Küçükyavuz Hacettepe Üniversitesi Bilgisayar Mühendisliği Bölümü 19/23
Fatih Küçükyavuz Hacettepe Üniversitesi Bilgisayar Mühendisliği Bölümü 20/23 Dinamik Yardım Penceresi: Platfrm hakkında genel yardım knularının görüntülendiği penceredir. Bu pencere IDEnin sağ üst köşesinde görüntülenir. Bağlama Duyarlı Yardım: Herhangi bir elemanın üzerine fareyi getirip F1 tuşuna bastığınız anda ilgili elemanla ilgili yardım sayfalarına ulaşabilirsiniz. Java Studi Creatr Platfrm Prtalı: Web üzerinde frumlar ve sıkça srulan srular yardımı ile de istediğiniz knuda bilgiye erişebilirsiniz. 2.2 NetBeans: 2.2.1 Web Uygulamalarının Geliştirilmesi: 2.2.1.1 Web Uygulama Prjesinin Kurulması 2.2.1.1.1 Yazılımların Kurulması: NetBeans ile web uygulamaları geliştirmeye başlamadan önce sisteminizde, aşağıdaki prgramların kurulu lduğundan emin lun: NetBeans IDE Java Standard Devlpment Kit (JDK ) (1.4.2 ya da 5.0) 2.2.1.1.2 Sunucunun IDE ye Entegre Edilmesi: Tmcat web sunucusu IDE ile bütünleşmiş bir şekilde gelir, eğer SJS Applicatin Server, JBss, veya WebLgic uygulama sunucularını kullanmak isterseniz, öncelikle ilgili sunucuları IDE ye kayıt ettirmeniz gerekmektedir. Kayıt işlemi için; Ana pencereden Tls->Server Manager ı açın Add Server düğmesine tıklayın Uygun sunucuyu seçip sunucuyu isimlendirin. Next düğmesine tıklayın. Hangi etki alanında yaygınlaştırmak istediğinizi seçin 2.2.1.1.3 Yeni Web Uygulama Prjesinin Yaratılması: File->New Prject menüsünü seçin Kategrilerin altından Web i seçin, Prjelerin altından Web Applicatin ı seçip Next düğmesine tıklayın Prje adını ve bağlam ylunu (cntext path) belirtin Uygulamanızı hangi sunucu üzerinde yaygınlaştırmak istiyrsanız, sunucuyu listeden seçin Set as Main Prject kutusu seçili iken, Finish düğmesine tıklayın Fatih Küçükyavuz Hacettepe Üniversitesi Bilgisayar Mühendisliği Bölümü 20/23
Fatih Küçükyavuz Hacettepe Üniversitesi Bilgisayar Mühendisliği Bölümü 21/23 Yukarıdaki işlemlerin snucunda, IDE kaynak kdların ve meta verinin tutulduğu prje kütüğünü luşturur. 2.1.1.2 Web Uygulamasının Kaynak Kdlarının Yaratılması ve Düzenlenmesi 2.2.1.2.1 Java Paket ve Kaynak Kütüğünün Yaratılması: Kaynak paketlerinin üzerinde sağ tuşla tıklayıp, New->Java Class menüsünü seçin Açılan pencerede Class Name yazan kutuya sınıfınızın adını, Package yazan çklu menüden de sınıfınızı ilişkilendirmek istediğiniz paketi seçip Finish düğmesine tıklayın. 2.2.1.2.2 Getter ve Setter Metdlarının Yaratılması: Getter ve Setter metdlarınızı yaratmak isteğiniz değişkenin üzerine sağ tuşla tıklayın Refactr->Encapsulate Fields ı seçin ve Next düğmesine tıklayın Daha snra ise D Refactring düğmesine tıklayın Refactring işlemi snucunda, ilgili değişkene ait getter ve setter metdları yaratılmış lacaktır. Örnek kd parçaçığı aşağıdadır, name adlı değişken için ilgili getter ve seter metdları yaratılmıştır: package rg.me.hell; /** * * @authr Fatih */ public class NameHandler { private String name; public NameHandler() { setname(null); } public String getname() { return name; } public vid setname(string name) { this.name = name; } } 2.2.1.2.3 JSP Kütüğünün Yaratılması: Web Pages üzerine sağ tuşla tıklayın New->JSP menüsnü seçin JSP sayfanızı isimlendirin ve Finish düğmesine tıklayın Fatih Küçükyavuz Hacettepe Üniversitesi Bilgisayar Mühendisliği Bölümü 21/23