Yazılım Akademisi 2011 Eğitim Sunumu -1



Benzer belgeler
ÖZGÜR YAZILIMLAR İLE J2EE

Google Web Toolkit ile Öğretim Elemanı Otomasyon Sistemi

Üst Düzey Programlama

Mobil Cihazlardan Web Servis Sunumu

Veritabanı. Ders 2 VERİTABANI

Eclipse, Nesneler ve Java 2 Java Nereden Çıktı? 2

Android e Giriş. Öğr.Gör. Utku SOBUTAY

Üst Düzey Programlama

Swing ve JDBC ile Database Erişimi

Java EE 5 Teknolojileri Jboss Seam

İnternet Programcılığı

Kepware Veritabanı Ürünleri. Teknolojiye Genel Bir Bakış

Bilgi ve İletişim Teknolojileri (JFM 102) Ders 7. LINUX OS (Sistem Yapısı) BİLGİ & İLETİŞİM TEKNOLOJİLERİ. LINUX Yapısı

PAPERWORK TEKNİK MİMARİ

Üst Düzey Programlama

VERİ TABANI UYGULAMALARI

Java EE web uygulamaları geliştirmek için kullanılan açık kaynak web uygulama framework üdür.

Turquaz. Açık kodlu muhasebe yazılımı Turquaz Proje Grubu

JBoss Seam Next Generation Integration Framework

Spring Ekosisteminde Kurumsal Yazılım Geliştirme. Kenan Sevindik Harezmi Bilişim Çözümleri A.Ş.

PHP 1. Hafta 1. Sunum

FIRAT ÜNİVERSİTESİ BİLGİSAYAR MÜH.

Script. Statik Sayfa. Dinamik Sayfa. Dinamik Web Sitelerinin Avantajları. İçerik Yönetim Sistemi. PHP Nedir? Avantajları.

ANKARA ÜNİVERSİTESİ ELMADAĞ MESLEK YÜKSEKOKULU BİLGİSAYAR PROGRAMCILIĞI PROGRAMI DERS İÇERİKLERİ

Üst Düzey Programlama

Zope Uygulama Sunucusu

JAVA RMI ve Hibernate teknolojileri kullanılarak çok amaçlı bir yazılım altyapısı hazırlanması

BioAffix Ones Technology nin tescilli markasıdır.

Lotus Türkiye Kullanıcı Grubu, Quickr ile Sanal Ortamda! Serdar Başeğmez Projeler Koordinatörü Developi Bilgi Sistemleri

Veritabanı Uygulamaları Tasarımı

1 Milyon Kullanıcıya Nasıl Hizmet Veriyoruz? CloudLMS Teknik Alt Yapı ve Mimarimiz

ĐSTEMCĐ SUNUCU SĐSTEMLER DERSĐ FĐNAL ÇALIŞMASI SORULAR YANITLAR

Client Server Database

T.C. ADALET BAKANLIĞINDAN

MOODLE UZAKTAN ÖĞRETİM SİSTEMİ

Güvenli Doküman Senkronizasyonu

Tekir (Ön Muhasebe Yazılımı)

JavaServerFaces. Ahmet Demirelli. SCJP 5.0, SCWCD 1.4

Java Programlama Giriş

Java ve Linux. Bora Güngören Portakal Teknoloji Akademik Bilişim

Compiere Açık kodlu ERP + CRM yazılımı. Hüseyin Ergün Önsel Armağan Serkan Demir

BioAffix Ones Technology nin tescilli markasıdır.

Veritabanı Dersi. Teoriden Pratiğe. Çağıltay N.E., Tokdemir G. Veritabanı Sistemleri Dersi -Bölüm XXV: Web'den Erişim Çağıltay, N., Tokdemir, G.

CENG 302 Yazılım Mühendisliği Yazılım Mimarisi - Devam. Alper UĞUR

Web Uygulamaları Mimarileri ve Güvenliği

Rahman USTA Editör Altuğ B. ALTINTAŞ Papatya Yayıncılık Eğitim

VERİ TABANI YÖNETİM SİSTEMLERİ

Bilgi Servisleri (IS)

THY A.O. Bilgi Teknolojileri Alanında Tecrübeli Çalışma Arkadaşları Arıyor

ORM & Hibernate. Ahmet Demirelli. SCJP 5.0, SCWCD 1.4 ahmetdemirelli@sabanciuniv.edu

Akıllı telefonlar, avuçiçi bilgisayarlar ile taşınabilir (cep) telefonların özelliklerini birleştiren cihazlardır. Akıllı telefonlar kullanıcıların

HTML isteklerini anlayarak HTML sonucu üreten ve yaygın olarak kullanılan temel Servlet sınıfı HttpServlet tir.

Asp.Net Veritabanı İşlemleri

ile Uygulama Geliştirme Teknikleri

Veri Tabanı-I 1.Hafta

Atılım Üniversitesi Bilgi & Đletişim Teknolojileri Müdürlüğü Sistem Yönetim Uzmanı Görev Tanımı

Java Temel Özellikleri

Web Uygulama Güvenliği Kontrol Listesi 2010

İŞLETİM SİSTEMİ KATMANLARI (Çekirdek, kabuk ve diğer temel kavramlar) Bir işletim sisteminin yazılım tasarımında ele alınması gereken iki önemli konu

Uzaktan Eğitim Uygulama ve Araştırma Merkezi

CloudPro Server Backup. Güçlü bir Veri Yedekleme Çözümü ile İş Sürekliliğinizde Devamlılığın Anahtarı

Atılım Üniversitesi Bilgi & Đletişim Teknolojileri Müdürlüğü Sistem Yönetim Uzman Yardımcısı Görev Tanımı

İŞLETİM SİSTEMLERİ. (Operating Systems)

NovaFortis Yazılım Danışmanlık. E-dönüşüm adaptörü

BİH 605 Bilgi Teknolojisi Bahar Dönemi 2015

UNIVERSAL BİLGİ TEKNOLOJİLERİ

GittiGidiyor ve Açık Kaynak Kodlu Yazılımlar

Bilgisayar İşletim Sistemleri BLG 312

Java Dersi. Altuğ Bilgin Altıntaş

TCMB Deneyim Raporu. Kurumsal Java Uygulama Platformu. Sacit Uluırmak. Türkiye Cumhuriyet Merkez Bankası Sistem Araştırma ve Planlama Müdürlüğü

SİGORTACILIKTA PERFORMANS: WEBLOGIC COHERENCE, EXADATA

Ders 8 Konu Özeti ve Problemler

Arş.Gör.Muhammet Çağrı Gencer Bilgisayar Mühendisliği KTO Karatay Üniversitesi 2015

BİLGİSAYAR ORGANİZASYONU

POSTGRESQL'de İleri Seviyede Veri Kurtarma ve Yedekleme

BİLGİSAYAR PROGRAMLAMAYA GİRİŞ


ENSTİTÜMÜZDE DIŞ İNCELEME UZMANI GÖREVLENDİRİLMESİNE İLİŞKİN DUYURU

BioAffix Ones Technology nin tescilli markasıdır.

TÜRKİYE ELEKTRONİK FON ALIM SATIM PLATFORMU WEB SERVİS İŞLEMLERİ

Özgür Yazılımlarla Web Programlama. Özlem Özgöbek

.com. Kurumsal Java. Özcan Acar com

1. Devlet Memurları Kanununun 48 inci maddesinde yazılı genel koşullarıtaşımak.

VERİ TABANI SİSTEMLERİ

BioAffix Ones Technology nin tescilli markasıdır.

SİSTEM İHTİYAÇLARI (Tiger Enterprise / Tiger 3 Enterprise)

1 Temel Kavramlar. Veritabanı 1

Tarih Saat Modül Adı Öğretim Üyesi. 01/05/2018 Salı 3 Bilgisayar Bilimlerine Giriş Doç. Dr. Hacer Karacan

İNTERNET PROGRAMLAMA 2 A S P. N E T. Marmara Teknik Bilimler MYO / Hafta 5 Veri Tabanı İşlemleri


MyFaces Özgür JSF Uyarlaması. Bora Güngören Portakal Teknoloji

Sistem Nasıl Çalışıyor: Araç İzleme ve Filo Yönetim Sistemi

BLM 6196 Bilgisayar Ağları ve Haberleşme Protokolleri

1.PROGRAMLAMAYA GİRİŞ

Kurumsal Mobil Uygulamalar IBM Mobile Foundation

Yazılım Nedir? 2. Yazılımın Tarihçesi 3. Yazılım Grupları 4 Sistem Yazılımları 4 Kullanıcı Yazılımları 5. Yazılımın Önemi 6

Basit Mimari, Katmanlı Mimari ve doğrudan çalıştırma olarak üçe ayrılır.

Transkript:

Burak ÇAKIL IT Specialist Yazılım Akademisi 2011 Eğitim Sunumu -1

Başlıklar Java / Java EE WAS RSA DB2 Genel Kavramlar Sorularınız 2

Java Java Nedir? Nesne Yönelimi Nesneler arası ilişkiler Java SE & Java EE Java EE Uygulama Mimarisi Java EE Bileşenleri 3

Java Nedir? Dünyada en çok kullanılan programlama dillerinden biri 1.1 Milyar Masaüstü bilgisayar 3 Milyar cep telefonu Blu-ray disk çalarların tamamı Java kullanıyor! Yüksek Seviyeli (High-Level) Platform Bağımsız Nesne Yönelimli (Object Oriented) 4

Java Sürümleri Java SE (Standard Edition) Java EE (Enterprise Edition) Java ME (Mobile Edition)

Nesne Yönelimi (Object Orientation) Nesne ve sınıflandırma mantığı ile daha kolay ve efektif kodlama Nesneler arası ilişkiler sayesinde Daha az satır Modüler Parçalara ayrılabilir kod yazma imkanı Nesne Yöneliminde kullanılan kavramlardan bazıları Sınıflar Nesneler Metodlar

Nesneler arası ilişkiler Kalıtım (Inheritance) Çok Şekillilik (Polymorphism) Soyut Sınıflar (Abstract Classes) Encapsulation

Kalıtım (Inheritance) Bir sınıfın, karakteristik özelliklerini kendi alt sınıflarına aktarmasıdır Alt sınıf, kendi üst sınıfının tüm özelliklerini taşır Alt sınıf ek olarak kendine özgü karakteristik özellikler de taşıyabilir Bir sınıf sadece tek bir sınıftan türeyebilir. (Single inheritance) Taşıt adında bir sınıfımız olduğunu varsayarsak, Otomobil sınıfını Taşıt sınıfından türetiriz, çünkü Otomobil, bir taşıtın tüm özelliklerini barındıracaktır

Kalıtım (Inheritance)

Çokşekillilik (Polymorphism) Çokşekillilik, bir Java metodunun aynı isimle, farklı işler yapmasını sağlayan yöntemdir. İki çeşit Çokşekillilik örneği bulunur Method Overloading Method Overriding Method Hiding

Çokşekillilik (Polymorphism) Method Overloading: Bir metodun, aldığı parametre tipine ve sayısına göre farklı işlevler gösterebilmesidir Bu şekilde, bir class içinde aynı isimde birden fazla metod bulunması mümkündür 11

Polymorphism Method Overloading 12

Polymorphism Method Overriding Bir sınıfta varolan bir metodun, alt sınıflarından birinde farklı işlev gösterecek şekilde yeniden yazılmasıdır Uçak da bir taşıttır, ve bir uçağın sola dönmesi, bir yer taşıtından farklılık gösterecektir Bu yüzden uçağın sola dönmesi için kullanılacak metod Uçak sınıfı içerisinde override edilmelidir

Polymorphism Method Overriding

Polymorphism Method Hiding Statik bir metod override edilemez. Çünkü constructor'dan muaftırlar ve sadece sınıf tiplerine göre erişilebilirler Bu yüzden statik metodlar override yerine hide edilmiş olurlar

Polymorphism Method Hiding

Interface Bir sınıfın uygulamasını gerektiren metodları barındıran soyut tiplerdir. (Bir nevi template [taslak]) Yani: Bir interface'i implement eden bir sınıf, o interface içinde tanımlanan soyut metodları kullanmak zorundadır. Gerçek bir varlık ile o varlığı temsil eden sınıf ile arada bir arayüz görevi görür Bir sınıf birden fazla interface'i implement edebilir, bu sayede çoklu kalıtım da sağlanmış olur.

Interface

Soyut Sınıflar (Abstract Classes) Soyut sınıf, içinde soyut metod barındıran sınıftır Soyut metod, içeriği belli olmayan, sadece ismi ve parametreleri belirlenmiş metottur Bu metod, soyut sınıftan türeyen sınıfların içerisinde override edilmelidir, çünkü aynı metod alt sınıfların her birinde farklı bir işlev görmektedir

Soyut Sınıflar

Soyut Sınıflar

Java SE & Java EE Java SE Çekirdek Java kütüphaneleri Başlangıç için ideal Java EE Java SE + ek kütüphaneler Kurumsal, çok katmanlı web uygulamaları geliştirme amaçlı kullanılır EJB, JSP, Servlet, JavaMail gibi kütüphaneleri içerir

Java EE Mimarisi Genel olarak 3 katmandan oluşur Sunum Katmanı Uygulama Katmanı Veritabanı katmanı Avantajları Güvenlik Ölçeklenebilirlik Yüksek erişilebilirlik

Java EE 2 Katmanlı 3 Katmanlı sistemler Servlet JSP (Java Server Pages) JSF (Java Server Faces) EJB (Enterprise Java Beans) JNDI (Java Naming and Directory Interface) JPA (Java Persistence API) Web Servisleri SOA, WSDL

2 Katmanlı 3 Katmanlı Sistemler 2 Katmanlı Sistemler İstemci Sunucu İstemci Veritabanı Uygulanması kolay Çok kullanıcılı sistemlerde yönetilmesi zor

2 Katmanlı 3 Katmanlı Sistemler 3 Katmanlı Sistemler İstemci Sunucu Veritabanı 2 Katmanlı sistemlere göre daha efektif ve hızlı çalışır Kolay yönetilebilir Sisteme modülerlik kazandırır (her katman birbirinden bağımsız çalışabilir) Yük dağılımını dengeler Güvenliği arttırır

Servlet Özel bir Java sınıfından türer (HttpServlet) Kullanıcı isteklerine dinamik olarak cevap üretir Bir uygulamaya login olmak Veritabanına bağlanıp bilgi çekmek Bu cevabı istenen bir formatta kullanıcıya sunar Session bilgisi tutmak için de kullanılır

Servlet Yaşam Döngüsü Kullanıcı GET veya POST ile bir Servlet isteğinde bulunur Servlet, init() metodu çağırılarak yaratılır. (Bu işlem sadece bir defa yapılır) İstek dopost() veya doget() metodlarına gönderilir. Bu metodlara request ve response nesneleri parametre olarak gönderilir Servlet istenen görevi yerine getirir (DB bağlantısı kurma vs.) Servlet destroy() metodu çağırılarak yok edilir.

JSP (Java Server Pages) JSP: Dinamik Web sayfaları oluşturmak için kullanılan bir web teknolojisidir. JSP Sayfalarının içeriği, scriptlet denen küçük kod blokları ve HTML kodundan oluşur Bu sayfalar sunucu tarafında derlenir ve çalıştırılır Scriptlet ler <% ve %> işaretleri arasına yazılır JSP kodu, sunucu tarafında derlendikten sonra Java Servletlerine çevrilerek çalıştırılır Sonuç: Her JSP aslında bir Servlet'tir.

JSP (Java Server Pages)

JSF (Java Server Faces) Web sitelerine görsel arayüz tasarımını kolaylaştırmak için kullanılan, Java tabanlı bir kütüphanedir Business presentation katmanlarının ayrılmasında rolü büyüktür Bileşenlerinin durum bilgilerini (state) tutabilir Standart olarak Ajax desteği bulunmaktadır

EJB (Enterprise Java Beans) EJB, Java EE uygulamalarının business logic altyapısını oluşturur Uygulamanın fonksiyonel görevlerini bu katman yerine getirir Çeşitleri Stateless Session Bean Stateful Session Bean Entity Bean

EJB Stateless Session Bean Durum bilgisi tutmayan session bean' e verilen isimdir Bean içerisinde tanımlanan metodlar çalışırken, kullanıcının durumu ile ilgili bilgi saklamazlar Bir öğrenci otomasyonunda öğrenci bilgisi getiren bean, stateless session bean' e örnek gösterilebilir

EJB Stateful Session Bean Kullanıcı durum bilgisini saklayan beanlere verilen isimdir Kullanıcının sistemdeki belli bir anında varolan ve sürekli değişebilen verilerin tutulmasında kullanılır Veriler bellekte geçici olarak saklanır Aynı anda sadece bir kullanıcı bu verilere erişebilir. E-ticaret sitelerindeki alışveriş sepeti mantığı Stateful Session Bean'lere örnektir

EJB Entity Bean Session Bean'lerin aksine, kalıcı veri içerir. (Sistem kapandığında bu bilgiler kaybolmaz) Müşteri, ürün bilgileri gibi kalıcı verilerin saklanmasında kullanılır. Aynı anda birden fazla kullanıcı, aynı bilgiye erişebilir.

JNDI (Java Naming and Directory Interface) Naming ve Directory hizmeti sunan bir Java EE kütüphanesidir Çeşitli objelere isimlendirme ve dizin hiyerarşisi yoluyla kolayca ulaşmayı sağlar Ulaşılacak dizin / obje ile uygulama arasında bir köprü görevi görür, bu sayede uygulamanın bu objelere olan bağımlılığını ortadan kaldırır. LDAP veya DNS sorguları için kullanılabilir

JNDI Nesne arama örneği

JNDI Dizin arama örneği

Persistence & JPA (Java Persistence API) JPA, uygulamalardaki persistence katmanını oluşturan bir Java EE kütüphanesidir. Veritabanındaki kalıcı verinin, Java objeleri olarak kullanılabilmesine olanak tanır Uygulamadaki business logic ile data katmanı arasında bir arakatman görevi görür, bu şekilde iş katmanını ve data katmanını birbirinden ayırır Uygulama modülerliğini ve taşınabilirliğini arttırır Veri aktarımı, Entity adı verilen Java sınıfları ile gerçekleştirilir (Örn: Kitap, Müşteri) JPA'daki her bir entity, veritabanındaki bir tabloya işaret eder

Web Servisler Web Servis, farklı altyapılarda çalışan uygulamalar arasındaki bağlantıyı sağlayabilen bir iletişim teknolojisidir Platformdan bağımsız olarak çalışır bu şekilde Linux sunucu üzerinde çalışan bir Java uygulaması, Windows'ta çalışan bir.net uygulamasıyla haberleşebilir Web Servis bileşenleri, İstemci (Client,Requester), Sunucu (Server,Provider) ve mesajdan oluşur. İstekler SOAP (Simple Object Access Protocol) adı verilen XML blokları şeklinde, HTTP / RPC üzerinden gönderilir ve alınır. Web Servis istekleri ve cevapları, önceden tanımlanmış XML formatlarında gönderilip alınırlar. (WSDL = Web Services Description Language) Java Web Services API - JAX-WS

Web Servisler - SOAP Web Servislerin iletişiminde kullanılan XML mesajlarıdır HTTP / RPC protokolü üzerinden gönderilip alınırlar Her SOAP sorgusu, <soap:envelope> adı verilen tagların arasına yazılır. <soap:header> ve <soap:body> elementlerini bulundurur Cevap istenen mesaj <soap:body> içerisinde, WSDL de tanımlı formata göre yazılarak gönderilir.

Web Servisler - SOAP Örnek bir SOAP sorgusu

Web Servisler WSDL (Web Service Description Language) Web Servis istek ve cevaplarının formatlarını belirleyen, web servisleri tanımlayan dosyalardır XML formatında oluşturulurlar WSDL dokümanlarında kullanılan elemanlar: <message> Web Servis tarafından gönderilen ve alınan mesajların tanımı <porttype> Web Servis tarafından gerçekleştirilen operasyonlar <type> Web Serviste kullanılan veri tiplerinin tanımları <binding> Web Servisin kullandığı iletişim tipi, ve web servisin gerçekleştirdiği operasyonlar

Web Servisler WSDL (Web Service Description Language) http://www.w3.org/2001/04/wsws-proceedings/uche/wsdl.html

WebSphere Application Server

WAS (WebSphere Application Server) - Nedir? Web uygulamalarını çalıştıran bir uygulama sunucusu Uygulamaların sürekli erişilirliğini, güvenliliğini, ölçeklenebilirliğini sağlar Hem akademik amaçlı, hem de kurumsal olarak kullanılabilir Sürümleri WebSphere Application Server Community Edition (WASCE) WebSphere Application Server Express WebSphere Application Server Base WebSphere Application Server Network Deployment WebSphere Application Server Hypervisor Edition Ücretsiz sürüm: http://www.ibm.com/developerworks/downloads/ws/wasce/

WAS (Özellikleri) Tüm büyük işletim sistemlerini destekler Windows Linux AIX z/os Sun Solaris Uygulama sunucuları pazarında lider Yüksek performans Uygulama güvenliği Kolay kullanım ve yönetim SOA ve Java EE Mimarisine tam uyum Rational Software Architect ile mükemmel entegrasyon

WAS Mimarisi ve Servisleri

WAS Bileşenleri Tek Sunucu

WAS Bileşenleri Çoklu Sunucu

WAS (Güvenlik) İç ve dış iletişimde SSL desteği SSL destekli LDAP kimlik doğrulaması Otomatik sertifika yönetimi SSO (Single Sign On) Java 2 Security Ve daha niceleri

WAS (Yüksek erişilebilirlik) Kurumsal uygulamalar sürekli çalışır halde olmalı Sorun çıkarabilecek bileşenler: Web Sunucusu Uygulama sunucusu İşletim Sistemi Donanım vb. WAS üzerindeki clustering teknolojisi buna çözüm getiriyor Aynı uygulama -> 2 (ya da daha fazla) adet sanal ortamda çalışabilir Birinde sorun olması durumunda diğerleri hizmet vermeye devam eder Load Balancing (Yük dengeleme) sayesinde yükün eşit olarak dağılması sağlanır

DB2

DB2 DB2, IBM'in sektörde önde gelen İlişksel Veritabanı Sistemidir Kurumsal firmalar tarafından en çok tercih edilen veritabanı yazılımıdır Neden DB2? Hızlı Üstün sıkıştırma teknolojisi ile daha az veri transferi Güvenli Gelişmiş, çok yönlü güvenlik konfigürasyonu Az masraflı Kendi kendini yönetebilir Ücretsiz sürüm: DB2 Express C ( http://www-01.ibm.com/software/data/db2/express/download.html?cm_sp=mte10 ) İnanılması güç, fakat 100' den fazla DB2 instance'ını yönetmek için sadece 3 İnanılması güç, fakat 100' den fazla DB2 instance'ını yönetmek için sadece 3 adet DBA kullanıyoruz. adet DBA kullanıyoruz. --Phil Kilgore --Phil Kilgore Lithonia Lighting Lithonia Lighting

DB2 Desteklediği İşletim Sistemleri Linux Windows Unix (AIX) z/os IBM i

DB2 Java ile DB2 bağlantısı (JDBC API) JDBC = Java DataBase Connectivity 4 şekilde bağlantı yapılabilir Type 1 Type 2 Type 3 Type 4

JDBC Type 1 Driver JDBC sorgularını ODBC sorgularına çevirerek veritabanına gönderir İstemci bilgisayarına ODBC kütüphanesi yüklenmelidir Performansı düşüktür ve tercih edilmemektedir

JDBC Type 2 Driver JDBC sorgularını işletim sistemi koduna çevirerek veritabanına gönderir İşletim sistemine bağımlıdır Performans olarak en hızlısıdır

JDBC Type 3 Driver Arakatman yazılımlarının (Örn: WebSphere App Server) veritabanı sürücülerini kullanır Bir uygulama aynı anda farklı veritabanı tiplerine bağlanabilir (DB2, Oracle, MySQL vs.) Arakatman yazılımının avantajlarından faydalanabilir (Örn: Logging, caching vs.)

JDBC Type 4 Driver Tamamen Java kodu ile yazılmıştır Veritabanına direk bağlantı sağlar, ara bir katman gerektirmez Farklı veritabanları için farklı sürücülere ihtiyaç duyar

DB2 purexml DB2, XML veri tipini destekler Karmaşık veri modellerini basitleştirir Tasarımı basitleştirir, tasarım masraflarını düşürür İlişkisel veri ile XML verisi bir arada tutulabilir Herhangi bir XML bloğu, tablolarda bir alana insert edilebilir XQuery kullanılarak XML içerisinde arama yapılabilir

DB2 purexml DB2 9, XML verisi saklamak üzere optimize edilmiştir Bu sayede, karmaşık veri ilişkilerini tek bir XML içinde saklayarak, göz alıcı performans elde edebilirsiniz Daha fazla bilgi için: http://www.ibm.com/developerworks/wiki

DB2 (Diğer Özellikler) DB2 9.7 sürümü ile birlikte PL/SQL dilini de desteklemektedir DB2 sürümünün ücretli olarak yükseltilmesi durumunda HADR (High Availability and Disaster Recovery) DB2 purescale teknolojisi Veri sıkıştırma özellikleri de kullanılabilir

Rational Software Architect (RSA) IBM'in yazılım geliştirme ve modelleme uygulamasıdır Açık kaynak kodlu Eclipse üzerinde çalışmaktadır Uygulamalarınızı hızlı ve efektif bir şekilde geliştirmenizi sağlar Eclipse üzerinde olduğundan ötürü, harici plug-inler ile desteklenebilir

Rational Software Architect (RSA) Desteklediği işletim sistemleri Linux Windows Desteklediği uygulama tipleri Java / Java EE Web Servis uygulamaları SOA uygulamaları Veri modellemeleri Raporlama Altyapısı (Crystal Reports vb.) Ve daha niceleri

Rational Software Architect (RSA) UML modelleme desteği ile uygulamalarınızı görsel olarak tasarlama seçeneği sunar Tasarladığınız UML modelini RSA otomatik olarak Java koduna (ya da başka bir dil) çevirecektir

Rational Software Architect (RSA) Otomatik kod tamamlama özelliği Taslak Web modülleri ile web sayfalarınızı sıfırdan kodlamanıza gerek yok Sürükle bırak web formları Navigasyon menüleri Kodlama anında sözdizim (syntax) kontrolü Debugging modu ile kolay hata ayıklama Uygulama sunucusu desteği Uygulama sunucunuzu (WAS, Apache Tomcat vs.) RSA üzerinde tanıtabilir, web uygulamalarınızı kolaylıkla deploy edip çalıştırabilirsiniz Uygulama sunucunuzun konfigürasyonunu RSA üzerinden yapabilirsiniz

Genel Kavramlar Güvenlik Yüksek Erişilebilirlik Ölçeklenebilirlik Yedekleme & Geri Yükleme Versiyonlama

Güvenlik (Security) Günümüz uygulamalarında en çok aranan özellik olarak karşımıza çıkıyor En çok karşımıza çıkan uygulamaları SSL Uygulama Güvenliği Firewall Güvenliği İşletim Sistemi Güvenliği

Yüksek Erişilebilirlik (High Availability) %99,9 oranında çalışır ve erişime açık olması gereken, kritik uygulamalar Clustering OS Clustering Software Clustering Load Balancing (Yük Dengeleme) WebSphere Application Server bu metodları desteklemektedir

Ölçeklenebilirlik İyi tasarlanmış bir uygulama mimarisi, büyüyen ihtiyacı karşılayabilmelidir Sistemler büyümeye (veya çoğalmaya) elverişli tasarlanmalıdır Boyuna ölçekleme (Vertical Scaling): Mevcut bir sunucudaki CPU, bellek vs. konfigürasyonların arttırılması Enine ölçekleme (Horizontal Scaling): Mevcut sisteme eşdeğer yeni bir node (düğüm eklenmesi)

Yedekleme & Geri Yükleme Verileriniz değerlidir, kaybolmalarını istemezsiniz Bunu önlemek için Yedek almalı Yedek almalı Yedek almalısınız

Yedekleme & Geri Yükleme Veriler çeşitli sebeplerden ötürü kaybolabilir Donanımsal arızalar, örneğin harddiskin yanması Verilerin bozulması, okunamaz hale gelmesi İnsan hatalarından ötürü verilerin silinmesi Doğal afetler, çalınma, kaybolma vs. Yedeklenen veriler daha sonra geri yüklenerek, veri kaybı önlenmiş olur Bu yüzden, sisteminizin mutlaka bir yedekleme çözümü olmalıdır Tivoli Storage Manager, IBM'in yedekleme çözümü getiren bir ürünüdür. http://www.ibm.com/software/tivoli/products/storage-mgr

Versiyonlama Uygulama geliştirme projelerinde yapılan çalışmaların (kod, dokümantasyon, vs.) versiyonlarının saklanabilmesini sağlayan bir sistemdir Bu şekilde, bir sunucu üzerinde repository oluşturup, tüm çalışma ekibinin bu repository üzerinde, birbirlerinin çalışmalarını etkilemeden çalışabilmeleri sağlanır Örnek uygulamalar CVS SVN (Subversion)