31
Ferhat ERATA 1 Ulusal Yaz ılım Mimarisi Konferansı 2010 Geylani KARDAŞ

Web Tabanlı Sistemlerin Geliştirilmesine Yönelik Platforma ...bedir/Bilsen/UYMK-2010/presentations/Erata.pdf · Üstmodelden Profile Dönüşüm. ... Presentation Model User Model

Embed Size (px)

Citation preview

Page 1: Web Tabanlı Sistemlerin Geliştirilmesine Yönelik Platforma ...bedir/Bilsen/UYMK-2010/presentations/Erata.pdf · Üstmodelden Profile Dönüşüm. ... Presentation Model User Model

Ferhat ERATA

1 Ulusal Yaz ılım Mimarisi Konferansı 2010

Geylani KARDAŞ

Page 2: Web Tabanlı Sistemlerin Geliştirilmesine Yönelik Platforma ...bedir/Bilsen/UYMK-2010/presentations/Erata.pdf · Üstmodelden Profile Dönüşüm. ... Presentation Model User Model

1. Giriş

2. Model Güdümlü Geliştirme ve Modelleme Yaklaş ımı• 2.1. Model Güdümlü Geliştirme (Genel Bak ış)• 2.2. Model Güdümlü Mimari içerisinde Tez Çal ışması• 2.3. PSM4WSS türetilmesinde kullan ılan Modelleme Yaklaşımı

3. MOF-tabanlı Üstmodelin ve UML Profilin Türetilmesi• 3.1. Üstmodelleme ve MOF-tabanlı Üstmodelin Türetilmesi• 3.2. UML Genişletme ve UML Profilin Türetilmesi

4. Örnek Senaryo ve PSM4WSS Çat ısı• 4.1. Örnek Senaryo – Temel Performans Göstergeleri –• 4.2. PSM4WSS’e Dayal ı Yazılım Çatısı

5. İlgili Çalışmalar• 5.1. WebML• 5.2. UWE

6. Sonuç ve İleriye Yönelik Çal ışmalar

2 Ulusal Yaz ılım Mimarisi Konferansı 2010

Page 3: Web Tabanlı Sistemlerin Geliştirilmesine Yönelik Platforma ...bedir/Bilsen/UYMK-2010/presentations/Erata.pdf · Üstmodelden Profile Dönüşüm. ... Presentation Model User Model

Ulusal Yaz ılım Mimarisi Konferansı 20103

• Yaz ılımın geliştirme maliyetlerini azaltan ve verimliliği arttıran bir yazılım ürün hattı (“software product line”) oluşturabilecek bileşenleri gerçekleştirmek ve bu bileşenlerin üstmodellerinin soyutlama seviyesini yükseltip web sistemlerin spesifik bir platformda tamamen otomatik olarak gerçekleştirimine uygun bir geliştirme süreci sunmak

Amaç

• SharePoint Platformunu, web uygulamalar ı sunmayı olanaklı kılacak ek bileşenlerin gerçekleştirimi

• Yeni modeller ve model elemanlar ı tanımlayarak yeni ihtiyaçların karşılanması, • WSS nesne modelinin bu yeni ek ihtiyaçlar ışığında tekrar tanımlanması, • Tan ımlanan yeni üstmodeli grafik bazlı modelleyebilecek bir araç geliştirilmesi, • Üstmodelleme ve model dönüşümleri içeren bir yaz ılım geliştirme süreci ile birlikte

PSM4WSS modellerini girdi olarak kullanan ve SharePoint platformu üzerinde otomatik bir şekilde web-uygulaması üretebilmeyi olanaklı kılacak bir çatı geliştirilmesidir.

Model güdümlü bir yaklaşımı takip ederek amaca ulaşmak için izlenen yöntem

• Sonuç (Alternatif Sunum Ak ışı)

Sonuç

Page 4: Web Tabanlı Sistemlerin Geliştirilmesine Yönelik Platforma ...bedir/Bilsen/UYMK-2010/presentations/Erata.pdf · Üstmodelden Profile Dönüşüm. ... Presentation Model User Model

Ulusal Yaz ılım Mimarisi Konferansı 20104

• SharePoint yaz ılımı, sunucu tabanlı çalışan bir iş yönetim uygulamasıdır. Bu uygulama firma/kuruluşların düzenli bir şekilde çalışmasını ve süreçlerin maksimum seviyede elektronik olarak ilerlemesini desteklemektedir.

Windows SharePoint Services(WSS)

• WSS – Windows SharePoint Services (“WSS”)• WSSNM – WSS Nesne Modeli (“WSSOM-WSS Object Model”)• PSM4WSS – Platform Specific Metamodel for Windows SharePoint Services• MGG – Model Güdümlü Geliştirme (“MDD-Model Driven Development”)• SoC – İlgilerin Ayr ımı (“Separation of Concerns”)• SPL –Yaz ılım Ürün Hattı (“Software Product Line”)• OMG - Nesne Yönetim Grubu (“Object Management Group”)• MOF – Üst-Nesne Binası (“Meta-Object Facility”)• MGM – Model Güdümlü Mimari (“MDA-Model Driven Architecture”)• UML – Birleşik Modelleme Dili (“Unified Modeling Language”)• XMI –Genişletilebilir Biçimleme Dili Üstveri Değişimi (“XML Metadata Interchange“)• OCL – Nesne Kısıt Dili (“Object Constraint Language“)• BPEL – İş Süreçleri İşletim Dili (“Business Process Execution Language”)

Diğer Kavramlar

Page 5: Web Tabanlı Sistemlerin Geliştirilmesine Yönelik Platforma ...bedir/Bilsen/UYMK-2010/presentations/Erata.pdf · Üstmodelden Profile Dönüşüm. ... Presentation Model User Model

Ulusal Yaz ılım Mimarisi Konferansı 20105

2.1. Model Güdümlü Geliştirme

2.2. Model Güdümlü Mimari içerisinde Çalışma

2.3. PSM4WSS türetilmesinde kullanılan Modelleme Yaklaşımı

Page 6: Web Tabanlı Sistemlerin Geliştirilmesine Yönelik Platforma ...bedir/Bilsen/UYMK-2010/presentations/Erata.pdf · Üstmodelden Profile Dönüşüm. ... Presentation Model User Model

• Farklı soyutlama seviyelerindeki modelleri kullanarak yazılım geliştirmedeki karmaşıklığı azaltır.

Model Güdümlü Geliştirme (MGG)

• Çalışma alanına özgü üst modellerin tanımlanmasına, • Bu üst modellere uyan sistem modellerinin oluşturulmas ına , • Modellerin içerdiği varlıklar arasındaki eşlemelere dayalı olarak modeller arasında

dönüşümlerin tanımlanmasına ve uygulanmasına• Çıktı modellerinden sistem yazılım kodlarının otomatik olarak elde edilmesini sağlayan

modelden metne dönüşümlerin tanımlanmasına ve uygulanmasına ihtiyaç duymaktadır.

Model Güdümlü Geliştirme için Gerekenler

• WSS üzerinde çalışacak kurumsal web uygulamalarının model güdümlü geliştirme süreci ortaya konurken OMG’nin MGG yaklaşımının bir gerçekleştirimi olarak önerdiği Model Güdümlü Mimari (“Model Driven Architecture”) (MGM) kullan ılmıştır.

Model Güdümlü Mimari (MGM)

Ulusal Yaz ılım Mimarisi Konferansı 20106

2.1. Model Güdümlü Geliştirme (Genel Bak ış)

Page 7: Web Tabanlı Sistemlerin Geliştirilmesine Yönelik Platforma ...bedir/Bilsen/UYMK-2010/presentations/Erata.pdf · Üstmodelden Profile Dönüşüm. ... Presentation Model User Model

Ulusal Yaz ılım Mimarisi Konferansı 20107

2.2. Model Güdümlü Mimari içerisinde Çal ışma ( devam – MDA )

Page 8: Web Tabanlı Sistemlerin Geliştirilmesine Yönelik Platforma ...bedir/Bilsen/UYMK-2010/presentations/Erata.pdf · Üstmodelden Profile Dönüşüm. ... Presentation Model User Model

Ulusal Yaz ılım Mimarisi Konferansı 20108

2.2. Model Güdümlü Mimari içerisinde Çal ışma ( devam – M1 seviyesi)

Page 9: Web Tabanlı Sistemlerin Geliştirilmesine Yönelik Platforma ...bedir/Bilsen/UYMK-2010/presentations/Erata.pdf · Üstmodelden Profile Dönüşüm. ... Presentation Model User Model

• PSM4WSS için MOF-tabanlı bir üstmodel gerekliliktir.

Üstmodelleme

• UML Profilleme mekanizma sayesinde mevcut araçlar ın UML’yi özel amaçlar için özelleştirilmesi ve düzenlenmesi sağlanılarak, modelleyicinin PSM4WSS modellerini üretmesinde UML‘in ifade etme gücü yüksek somut notasyonunu kullanması sağlanmıştır.

UML Genişletme

• PSM4WSS için MDA’nın M2 katmanında hem bir MOF tabanlı üstmodel hem de o üstmodelden UML üstsınıflarına eşleme yolu ile bir UML profil geliştirilmiştir.

4 Katmanlı Mimari

Ulusal Yaz ılım Mimarisi Konferansı 20109

2.3. PSM4WSS türetilmesinde kullan ılan Modelleme Yaklaşımı

Page 10: Web Tabanlı Sistemlerin Geliştirilmesine Yönelik Platforma ...bedir/Bilsen/UYMK-2010/presentations/Erata.pdf · Üstmodelden Profile Dönüşüm. ... Presentation Model User Model

Ulusal Yaz ılım Mimarisi Konferansı 201010

3.1. Üstmodelleme ve MOF-tabanlı Üstmodelin Türetilmesi

3.2. UML Genişletme ve UML Profilin Türetilmesi

Page 11: Web Tabanlı Sistemlerin Geliştirilmesine Yönelik Platforma ...bedir/Bilsen/UYMK-2010/presentations/Erata.pdf · Üstmodelden Profile Dönüşüm. ... Presentation Model User Model

Ulusal Yaz ılım Mimarisi Konferansı 201011

3.1. Üstmodelleme ve MOF-tabanlı Üstmodelin Türetilmesi

• özniteliyicileri ile Sınıflar (“classes with attributes”), • ikili ilişkiler (“binary associations”), • içerme ilişkisi (“composition”), • paketler (“packages”), • içiçe geçmiş paketler (“nested packages”), • dışarıdan çağrılmış paketler (“package import”), • iyi biçimlendirme (“well-formedness”) kısıtlarını belirtmek için Nesne Kısıt Dili

(OCL) kullanılmıştır

MOF tabanlı üstmodeller, UML gösteriminin kısıtlı bir alt kümesini kullanarak nesne yönelimli model olarak ifade edilebilir

• PSM4WSS’i ilgilerine (“concerns”) göre paketlere bölerek ve her pakete bir model türü atayarak, web sisteminin farkl ı bakış açıları (“viewpoints”) ile geliştirilebilmesi sağlanmıştır.

• Üstmodelin tüm yapısı 6 ayrı paket diyagramı ile görünümlere ayrılmıştır.

İlgilerin Ayr ımı (“Separation of Concerns – SOC ”)

Page 12: Web Tabanlı Sistemlerin Geliştirilmesine Yönelik Platforma ...bedir/Bilsen/UYMK-2010/presentations/Erata.pdf · Üstmodelden Profile Dönüşüm. ... Presentation Model User Model

Ulusal Yaz ılım Mimarisi Konferansı 201012

3.1. Üstmodelleme ve MOF-tabanlı Üstmodelin Türetilmesi ( devam - paketler)

Page 13: Web Tabanlı Sistemlerin Geliştirilmesine Yönelik Platforma ...bedir/Bilsen/UYMK-2010/presentations/Erata.pdf · Üstmodelden Profile Dönüşüm. ... Presentation Model User Model

Ulusal Yaz ılım Mimarisi Konferansı 201013

3.1. 1. İçerik Paketi (“Content Package”)

Page 14: Web Tabanlı Sistemlerin Geliştirilmesine Yönelik Platforma ...bedir/Bilsen/UYMK-2010/presentations/Erata.pdf · Üstmodelden Profile Dönüşüm. ... Presentation Model User Model

Ulusal Yaz ılım Mimarisi Konferansı 201014

3.1. 2. Gezinim Paketi (“Navigation Package”)

Page 15: Web Tabanlı Sistemlerin Geliştirilmesine Yönelik Platforma ...bedir/Bilsen/UYMK-2010/presentations/Erata.pdf · Üstmodelden Profile Dönüşüm. ... Presentation Model User Model

Ulusal Yaz ılım Mimarisi Konferansı 201015

3.1. 3. Sunum Paketi (“Presentation Package”)

Page 16: Web Tabanlı Sistemlerin Geliştirilmesine Yönelik Platforma ...bedir/Bilsen/UYMK-2010/presentations/Erata.pdf · Üstmodelden Profile Dönüşüm. ... Presentation Model User Model

Ulusal Yaz ılım Mimarisi Konferansı 201016

3.1. 4. Kullan ıcı Paketi (“User Package”)

Page 17: Web Tabanlı Sistemlerin Geliştirilmesine Yönelik Platforma ...bedir/Bilsen/UYMK-2010/presentations/Erata.pdf · Üstmodelden Profile Dönüşüm. ... Presentation Model User Model

Ulusal Yaz ılım Mimarisi Konferansı 201017

3.1. 5. İş Akışı Paketi (“Workflow Package”)

Page 18: Web Tabanlı Sistemlerin Geliştirilmesine Yönelik Platforma ...bedir/Bilsen/UYMK-2010/presentations/Erata.pdf · Üstmodelden Profile Dönüşüm. ... Presentation Model User Model

Ulusal Yaz ılım Mimarisi Konferansı 201018

3.2. UML Genişletme ve UML Profilin Türetilmesi

• sterotipler (“stereotypes”), • etiket değerler (“tagged values”), • kısıtlar (“constraints”)

UML Profilleme Mekanizmas ı

Üstmodelden Profile Dönüşüm

Page 19: Web Tabanlı Sistemlerin Geliştirilmesine Yönelik Platforma ...bedir/Bilsen/UYMK-2010/presentations/Erata.pdf · Üstmodelden Profile Dönüşüm. ... Presentation Model User Model

Ulusal Yaz ılım Mimarisi Konferansı 201019

3.2. UML Genişletme ve UML Profilin Türetilmesi (devam)

Page 20: Web Tabanlı Sistemlerin Geliştirilmesine Yönelik Platforma ...bedir/Bilsen/UYMK-2010/presentations/Erata.pdf · Üstmodelden Profile Dönüşüm. ... Presentation Model User Model

Ulusal Yaz ılım Mimarisi Konferansı 201020

4.1. Örnek Senaryo – Temel Performans Göstergeleri –

• Petrokimya endüstrisinde faaliyet gösteren bir kurumun üretim kaybı, kapasite kullanımı, üretim birimlerinin (üniteler) işletme emirlerini yerine getirebilme oranı gibi temel performans göstergelerinin (“key performance indicators-KPI”) belirlenmesinde planlama ve üretim kesimlerinden gerekli bilginin toplanması ve işlenmesini yöneten bir web sistemi çözümü gerçekleştirimidir.

Amaç

• Planlanan, ideal ve gerçekleşen şarjların takibi yanında, gerçekleşen şarjların planlanandan sapmasının kurum içerisinde gerçekleşen olaylar ile –kök-sebep çözümlemesi (“root cause analysis”) yapılarak sınıflandırılmış– ilişkilendirilmesi sistemin işlevsel ihtiyaçlarıdır.

İhtiyaçlar

Content Model NavigationModel

PresentationModel User Model Workflow

Model

Go To Giriş

Page 21: Web Tabanlı Sistemlerin Geliştirilmesine Yönelik Platforma ...bedir/Bilsen/UYMK-2010/presentations/Erata.pdf · Üstmodelden Profile Dönüşüm. ... Presentation Model User Model

Ulusal Yaz ılım Mimarisi Konferansı 201021

4.1. Örnek Senaryo – Temel Performans Göstergeleri – (devam – içerik modeli)

Go To Giriş

Page 22: Web Tabanlı Sistemlerin Geliştirilmesine Yönelik Platforma ...bedir/Bilsen/UYMK-2010/presentations/Erata.pdf · Üstmodelden Profile Dönüşüm. ... Presentation Model User Model

Ulusal Yaz ılım Mimarisi Konferansı 201022

Domain Decomposition

Go To Giriş

Page 23: Web Tabanlı Sistemlerin Geliştirilmesine Yönelik Platforma ...bedir/Bilsen/UYMK-2010/presentations/Erata.pdf · Üstmodelden Profile Dönüşüm. ... Presentation Model User Model

izmit tup01srv153 tpg prod.rdp

Ulusal Yaz ılım Mimarisi Konferansı 201023

4.1. Örnek Senaryo – Temel Performans Göstergeleri – (devam – canlı uygulama)

Go To Giriş

Page 24: Web Tabanlı Sistemlerin Geliştirilmesine Yönelik Platforma ...bedir/Bilsen/UYMK-2010/presentations/Erata.pdf · Üstmodelden Profile Dönüşüm. ... Presentation Model User Model

Ulusal Yaz ılım Mimarisi Konferansı 201024

4.2. PSM4WSS’e Dayal ı Yazılım Çatısı

• PSM4WSS’e dayal ı yazılım çatısı WSS platformunu hem genişletir hem de platformun uygulama sunucusunda çalışan örneğini kullanır.

• Üretilen uygulamanın temel bileşenlerini WSS çatısı üretir; • PSM4WSS çatısı ise onu bir web uygulaması olarak nitelendirecek diğer bileşenleri ile

tamamlar.

Kısaca

Page 25: Web Tabanlı Sistemlerin Geliştirilmesine Yönelik Platforma ...bedir/Bilsen/UYMK-2010/presentations/Erata.pdf · Üstmodelden Profile Dönüşüm. ... Presentation Model User Model

Ulusal Yaz ılım Mimarisi Konferansı 201025

4.2. PSM4WSS’e Dayal ı Yazılım Çatısı (devam – davranışsal model)

• Olay yakalayıcıları, bir içerik birimde (liste, liste öğesi gibi) önceden tanımlanmış bazı olayları (öğe yaratma, öğe silinmesi gibi) senkron veya asenkron olarak yakalayan ve uygulama özel kullanıcı kod bloklarını çalıştıran olay-bazlı bir programlama modelidir.

Olay Yakalay ıcıları (“Event Receivers”)

• İş akışları, model güdümlü olarak bir iş süreci (“business process”) ile tanımlanan akışın üzerindeki bir takım aktivitelerin sistem kullanıcıları ya da web servisleri tarafından tamamlanmasını koordine edebilen bir yapıdır.

• İş akışları ise ayrıca model güdümlü olarak BPEL’in platforma özgü örnekleri olan SharePoint durum makinesi iş akışı (“Sharepoint State MachineWorkflow”) ya da Sharepoint sırasal iş akışı (“Sharepoint Sequential Workflow”) şeklinde gerçekleştirilir.

• PSM4WSS’in iş akış modeli (“WorkflowModel”) ile Sharepoint iş akışlarının entegrasyonu diğer görünümler ile (NavigationModel, ContentModel, vb.) sağlanır.

Sırasal ya da Durum Makinesi İş Akışları (“Sequetial or State Machine Workflows”)

Page 26: Web Tabanlı Sistemlerin Geliştirilmesine Yönelik Platforma ...bedir/Bilsen/UYMK-2010/presentations/Erata.pdf · Üstmodelden Profile Dönüşüm. ... Presentation Model User Model

Ulusal Yaz ılım Mimarisi Konferansı 201026

• Literatürde WSS’in kendi nesne modeli ve onun XML şemas ı dışında web mühendisliği kavramlar ını ve bakış açılarını içeren platforma özgü bir üstmodel bulunamamıştır. İlgili çalışmalar kapsamında daha çok platform bağımsız üstmodel önerilerinin olduğu söylenebilir.

Platforma Özgü Seviye

• WAE – Web Application Extensions• OO-H – Object-Oriented Hypermedia• WebML – WebModeling Language• UWE – UML-basedWeb Engineering

Platform Bağımsız Seviye

Page 27: Web Tabanlı Sistemlerin Geliştirilmesine Yönelik Platforma ...bedir/Bilsen/UYMK-2010/presentations/Erata.pdf · Üstmodelden Profile Dönüşüm. ... Presentation Model User Model

Ulusal Yaz ılım Mimarisi Konferansı 201027

5.1. UWE – UML-based Web Engineering

Page 28: Web Tabanlı Sistemlerin Geliştirilmesine Yönelik Platforma ...bedir/Bilsen/UYMK-2010/presentations/Erata.pdf · Üstmodelden Profile Dönüşüm. ... Presentation Model User Model

Ulusal Yaz ılım Mimarisi Konferansı 201028

5.2. WebML – Web Modeling Language

Page 29: Web Tabanlı Sistemlerin Geliştirilmesine Yönelik Platforma ...bedir/Bilsen/UYMK-2010/presentations/Erata.pdf · Üstmodelden Profile Dönüşüm. ... Presentation Model User Model

Ulusal Yaz ılım Mimarisi Konferansı 201029

• PSM4WSS isimli platforma özgü bir web mühendisliği üstmodeli önerilmektedir.

• Microsoft SharePoint uygulama çat ısı üzerinde geliştirilen ve Model Güdümlü Mimari’ye dayanan bir yöntem ile önerilen üstmodelin kullanıcı modellerinden web tabanlı kurumsal çözümlerin otomatik olarak üretilmesi sağlanmaktadır.

• PSM4WSS çatısı birçok ticari projede başarılı olarak kullanılmıştır.• Proje Yönetim Sistemi (“PMS -Project Management System-“), • Değişim Yönetim Sistemi (“Change Management System”), • Doküman Yönetim Sistemi (“DMS -Document Management System-“), • Yaz ışma Yönetim Sistemi (“Correspondence Management System”), • Finansal Durum Tespiti, (“FDD -Financial Due Diligence-“)• Temel Performans Göstergeleri (KPI -Key Performance Indicators-)

• Devam eden:• Üretim Planlama Talimatlar ı Yönetimi Sistemi• Ünite Duruşları Yönetim Sistemi

• Go To Giriş

Sonuç

Page 30: Web Tabanlı Sistemlerin Geliştirilmesine Yönelik Platforma ...bedir/Bilsen/UYMK-2010/presentations/Erata.pdf · Üstmodelden Profile Dönüşüm. ... Presentation Model User Model

Ulusal Yaz ılım Mimarisi Konferansı 201030

• PSM4WSS ile UWE üstmodeli arasında model dönüşümlerini sağlamaktır. Böylece web servislerine dayalı yazılım sistemlerinin eksiksiz bir model güdümlü yazılım geliştirme yöntemine uygun olarak önce platform bağımsız seviyede tasarlanması ve otomatik model dönüşümleri ve kod üretimleri sonrasında WSS çerçevesi üzerinde gerçekleştirimi mümkün olacaktır.

• PSM4WSS ile UWE üstvarlıkları arasındaki eşlemeler şu an için tamamlanmıştır. Eşlemelere dayalı dönüşüm kurallarının yazılması hedeflenen ilk çalışmadır.

• Service Paketi: PSM4WSS ile geliştirilen çözümlerin farkl ı uygulamalar ile etkileşimini sağlayan bileşenlerin model güdümlü olarak üretilebilmesini olanaklı kılacak modülün mevcut çatıda gerçekleştirilmesidir. Bunun için literatürdeki servis yönelimli platform bağımsız üstmodellerden mevcut çalışma için uygun olanını PSM4WSS üstmodeline yeni bir ilgi olarak eklenmeli ve mevcut üstmodel ile tümleştirilmelidir. (içerik yönetimi ve REST ilişkisinden bahset)

İleriye Yönelik Çal ışmalar

Page 31: Web Tabanlı Sistemlerin Geliştirilmesine Yönelik Platforma ...bedir/Bilsen/UYMK-2010/presentations/Erata.pdf · Üstmodelden Profile Dönüşüm. ... Presentation Model User Model

Ulusal Yaz ılım Mimarisi Konferansı 201031

Sorular ve Eleştiriler...

[email protected]