SOA.

Slides:



Advertisements
Benzer bir sunumlar
8. SINIF 3. ÜNİTE BİLGİ YARIŞMASI
Advertisements

Ders İçeriği Ağaç Veri Modeli Tanım ve Gerçekleştirim İkili Ağaç
Windows Intune ile Modern Cihaz Yönetimi
Bölüm 12 ÜST DÜZEY KONULAR Dinamik Bellek Ayırma Önişlemci
WEB SERVİCE İDRİS YÜRÜK MAHMUT KAYA.
Slayt Efektleri.
04/02/10 Django Web Uygulamaları Geliştirmede Çağdaş bir Yaklaşım.
ÜNİTE DEĞERLENDİRMESİ 1.Sınıf Türkçe
Bölüm 4 – Kontrol İfadeleri:1.kısım
4 Kare Problemi 4 Kare Problemi Hazır mısın? B A Bu şekle iyi bak
Çevre ve Orman Bakanlığı Bilgi İşlem Dairesi Başkanlığı
BPR152 ALGORİTMA VE PROGRAMLAMA - II
BTP 108 BİLGİSAYAR AĞ SİSTEMLERİ AĞ KAVRAMI Birden çok bilgisayarın birbirine bağlı olarak kullanılmasıyla oluşturulan çalışma biçimine bilgisayar ağı.
VERİ TABANI ve YÖNETİMİ
Bölüm 10 Yapılar ve Birleşimler
Karar ifadeleri ve Döngüler
Örnek Bİr VerİtabanI TasarImI
Çevre ve Orman Bakanlığı Bilgi İşlem Dairesi Başkanlığı
Çizge Teorisi, Dağıtık Algoritmalar ve Telsiz Duyarga Ağları
C# Metot Overloading (Aşırı yükleme)
Açık Dergi Sistemleri orçun madran. Open Journal Systems (OJS) Web 2.0 Teknolojileri ve Uygulamaları Çalıştayı, Ankara - 4 Aralık
TEST – 1.
Paralel Programlamaya Giriş
Celal Bayar Üniversitesi Hasan Ferdi Turgutlu Teknoloji Fakültesi
Bilişim Enstitüsü ++ Bilişim Enstitüsü ++ Bilişim Enstitüsü ++ Bilişim Enstitüsü ++ Bilişim Enstitüsü ++ Bilişim Enstitüsü ++ Bilişim Enstitüsü C ++ Nesne.
8 ? E K S İ L E N EKSİLEN _ 5 5 ÇIKAN FARK(KALAN) 8.
Kontrol Yapıları ve Döngüler
ÇOK BİÇİMLİLİK POLYMORPHISM
BİT’nİ KullanIrken Etİk ve Sosyal Değerler
Quest Atlantis Dünya Üzerine Yayılmış Çok-Kullanıcılı Çevrim-İçi Eğitsel Bir Bilgisayar Oyununun Teknik Yapısı.
RSS Rss nedir? Rss özellikleri nelerdir? Rss Nasıl kullanılır?
C++.
ÇOK KATMANLI MİMARİLER. Katman: Ortak işi yapan kodların bir yerde toplanması Örneğin hemen hemen her projemizde veri tabanı kullanırız, bunun için veritabanı.
VERİ YAPILARI İşaretçi Nedir? Nesne Tabanlı Programlama.
DEĞERLER EĞİTİMİ 3. Sınıflar Hoşgörü Konulu Şiir Okuma Yarışması
Veri yapıları Hafta3 Dizi Yapıları.
Hafta2 Rekürsif Algoritmalar
Hazırlayan İsim Soyisim / Fakülte Birim Tarih Gün/Ay/Yıl Konu/Başlık/Sunum Adı Adobe Garamond Pro 48Pt Bold Alt Başlık Adobe Garamond Pro 32Pt Italic.
NetOpenX-REST Burak Çelik Uyarlama Araçları Uzmanı.
Proje Tabanlı Öğrenme Nedir ?.
Name of Presentation Company Name. Slide Master Your Text here Lorem ipsum dolor sit amet, consectetuer adipiscing elit, sed diam nonummy nibh euismod.
* Kapak sayfasında sadece logo ve arka plan kullanılır.
Ulaştırma ve Lojistik Ulusal Kongresi
14.DERS Örnekler, Sorular BUKET DOĞAN.
<Takım Numarası> Takımın İsmi
Bülent Ecevit Üniversitesi - Çevre Mühendisliği Bölümü
Amazon Web Servisleri ve Javascript Dilinin Birlikte Kullanımı
(Öğrenci Transkript) Akademik Bilgi Ve Kayıt Sistemi Student
Sunum Destesi Etiket Satırı İki Satıra Yayılabilir
[Poster Başlığı] Lorem ipsum dolor sit amet, consectetuer adipiscing elit maecenas porttitor congue massa fusce [Aşağıdaki adları ve unvanları katkıda.
travel margie’s margie’s travel
Mustafa COŞAR- Murat DOĞAN- İsmail ARIK Hitit Üniversitesi
* Kapak sayfasında sadece logo ve arka plan kullanılır.
* Kapak sayfasında sadece logo ve arka plan kullanılır.
Lorem ipsum dolor sit amet, consectetur adipiscing elit.
Lorem ipsum dolor sit amet, adipiscing elit
Lorem ipsum dolor sit amet, consectetur adipiscing elit.
Sunum Destesi Etiket Satırı
Dünya Üzerine Yayılmış Çok-Kullanıcılı Çevrim-İçi Eğitsel
Zonguldak Bülent Ecevit Üniversitesi - Çevre Mühendisliği Bölümü
Sunum Destesi Etiket Satırı İki Satıra Yayılabilir
BAŞLIK İsim SOYİSİM*, İsim SOYİSİM **, İsim SOYİSİM *** AMAÇ
.NET Teknolojileri .NET mimarisi VB.NET, C.NET, C#.NET
YAY Ön Kapak OCAK [YIL] HİKAYE 1 - SAYFA 1 HİKAYE 2 - SAYFA 5
Lorem ipsum dolor sit amet, consectetur adipiscing elit.
Filmler ÖZELLİK BAŞLIĞI ÖZELLİK BAŞLIĞI OCAK [YIL] FİLMLER
Vince LEOTURE CONTATO EXPERIÊNCIA PROFISSIONAL FORMAÇAO QUALIFICAÇÕES
Dergi Büyük Hikaye Başlığı
Sunum Destesi etiket satırı
Sunum transkripti:

SOA

Anahatlar SOA Nedir? SOA'nın Ayrıntıları Hizmet Arayüzleri Nasıl Olmalı? İstem ve Sunum Sonuç

SOA Tanım SOA, bir iş sürecinin ya da kullanıcının ihtiyaclarını gidermek üzere birbirinden bağımsız yazılım hizmetlerini bir araya getirmeye çalışan mimariyi ifade eder. SOA ortamında, ağdaki hizmetler alt yapılarından bağımsız bir şekilde ortak arayüzlerle erişime açıktır. SOA da sunulan hizmetler hiçbir teknolojiye bağımlılık göstermeden, arzulanan teknolojiler kullanılarak gerçekleştirilerbilir. (RPC, DCOM, ORB, WSDL) Aslında bunlara bile bağlı kalmadan, SOA bağlamını destekleyen bir arayüzü kullanan herhangi bir sistemle gerçekleştirilebilir. BAĞIMSIZ HİZMETLER + ORTAK ARAYÜZLER SOA

SOA (Ayrıntılar) Tam olarak tanımlanmış, kullanımı kolay ortak arayüzler Kendi içinde anlamlı bir bütün olan, başka hizmetlerden bağımsız hizmetler Devamlı erişilebilir Hizmetlerin davranışları öngörülerbilir Birleştirme maliyeti olmaksızın kullanıma hazır olmalı Hizmeti kullananlardan bağımsız Birden fazla hizmeti bir araya getirerek yeni hizmetler meydana getirme imkanı Hizmet kalitesi ölçülebilir

SOA Hizmet Arayüzleri Nasıl Olmalı? Kimsenin mülkiyetinde olmamalı Çok biçimliliğe uygun olmalı Gerçekleştirimler hizmet istemcilerinin hiçbirini dışlayacak şekilde değiştirilebilir olmalı

Hizmeti kullananlar istemini ifade eder İstem ve Sunum Hizmeti kullananlar istemini ifade eder Hizmeti sunanlar sunumlarını gerçekleştirir Bir aracı yönlendirme gerçekleştirebilir İsteme en uygun sunumu sağlar Değişik sunumları farklılaşmış istemler için ilan eder

Hizmetleri Nasıl Bulacağız? Pek çok hizmeti tamamen bağlantılı bir ağda hizmete açıyoruz. Peki bunlara nasıl ulaşacağız? Bir ya da birden çok kayıt merkezi olmalı. Hizmet sunanlar hizmetlerini bu noktalara kaydetmeli. Hizmet isteminde bulunanlar hizmetlerle ilgili erişim ve kullanım arayüzlerine buradan ulaşmalı.

Nasıl Gerçekleştireceğiz? Mevcut uygulamalarız nasıl? Mevcut uygulamalarız nasıl? MVC (Model View Controller) çerçevesinde çalışan Kendi iş mantığına göre işleyen Belirli bir kullanıcıya (request/response çerçevesinde) hizmet veren uygulamalar SOA'da nasıl olmalı? Eşgüdümü sağlayacak yapılar eklenmeli Hizmet arayüzleri sağlanmalı Bağımsız hizmet sunumları şeklinde gerçekleştirilmeli

Code Munger (2) Üreteç Yapısı

Satıriçi Kod Açılımı (Inline Code Expander) Satır içi kod üretim yöntemi yeni bir dilin tasarlanmasıyla başlar. Genellikle bu mevcut bir dile bazı eklentilerle gerçekleştirilir. Daha sonra bu üreteç, gerçekleştirim düzeyinde kullanılan dile dönüştürülür. (C++, Java, Perl, C#, Ruby gibi). Örnek: int main( int argc, char *argv[] ) { < SQL select * from users > return 0; } Sonuç: #include "db.h" DBHandle *db_handle = db_connect(); DBQueryDara *db_data = db_db_query( db_handle, "select * from users" ); for( int record = 0; record < db_data->length; record++ ) { // fetch and process data

Satıriçi Kod Açılımı (Inline Code Expander) (2) Üreteç Yapısı Çalışma Akışı

Birleşik Kod Üreteçleri (Mixed Code Generator) Örnek: #include "db.h" int main( int argc, char *argv[] ) { // SQL: select * from users // SQL end return 0; } Sonuç: #include "db.h" int main( int argc, char *argv[] ) { // SQL: select * from users DBHandle *db_handle = db_connect(); DBQueryDara *db_data = db_db_query( db_handle, "select * from users" ); for( int record = 0; record < db_data->length; record++ ) { // fetch and process data } // SQL end return 0;

Birleşik Kod Üreteçleri (Mixed Code Generator)(2) Çalışma Akışı Üreteç Yapısı Üreteç Yapısı

Kısmi Sınıf Üreteçleri (Partial Class Generator) Kısmi sınıf üreteçleri, bir tanım kütüğünde tanımlanan tasarıma göre bazı temel sınıfları üretir. Bu temel sınıflar platformca kullanılarak diğer etkin sınıfları üretmek için kullanılır. Bu temel sınıflar birçok alt düzey işlemleri gerçekleştirerek, diğer sınıfları bu tür işlerden soyutlarlar.

Kısmi Sınıf Üreteçleri (Partial Class Generator) (2) Üreteç Yapısı

Kısmi Sınıf Üreteçleri (Partial Class Generator)(3) Çalışma Akışı

Kod Üretme Yönteminin Açıkları Kopyalama-Yapıştırın gelişmiş bir şekli olması sebebiyle yeni tasarım örüntülerinin oluşmasını engeller. (Genel olarak)Kod üreteçlerini ancak kod üreteçini geliştiren takımca kullanılır. Yaşatılması güç olmaktadır. Kod Üreteçleri her derde deva bir yöntem değildir. Her şeyden önce kod üreteci kodlanmalıdır. Sadece belirli şartların meydana gelmesi durumunda başvurulacak bir yöntemdir. Her zaman elle kodlanması gereken kesimler vardır. Bunun ağırlığı projeden projeye değişir. Bir kod üretecinin ürettiği koda sonradan elle müdahale gerektiriyorsa, kod üreteci eksiktir. Kod üreteci asla yenilikçi değildir. Olanın tekrarını kolaylaştırır.

Sonuç Kod Üreteçleri belirli şartlar altında tam uygulandığında işleri kolaylaştıran araçlardır. Her yeni teknoloji ile yeni yapılar gerektirmekte, bir önceki kod üreteci geçersiz kalırken, yeni kod üretecin ömrü öngörülmesi güçleşiyor. İş mantığına yönelik bir kolaylık sağlamaz. Ancak, gereksiz yüklerden soyutlamasından ötürü odaklanmayı kolaylaştırır. Cahit Güngör http://cahit.wordpress.com

Lorem Ipsum Lorem ipsum dolor sit amet, consectetuer adipiscing elit Aenean vulputate sem id nunc Pellentesque nonummy sapien nec tortor. Suspendisse ultricies malesuada urna. Duis vel velit vitae felis sodales commodo. Vivamus congue fringilla leo. Morbi egestas hendrerit dolor. Nam vel libero sed tortor hendrerit consequat. Proin posuere erat in risus. In auctor erat et metus.

Illustration