Ferhat ERATA Geylani KARDAŞ 1
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
Amaç 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 Model güdümlü bir yaklaşımı takip ederek amaca ulaşmak için izlenen yöntem 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. Sonuç Sonuç (Alternatif Sunum Ak ışı) 3
Windows SharePoint Services(WSS) 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. Diğer Kavramlar 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 ) 4
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ı 5
2.1. Model Güdümlü Geliştirme (Genel Bakış) Model Güdümlü Geliştirme (MGG) Farklı soyutlama seviyelerindeki modelleri kullanarak yazılım geliştirmedeki karmaşıklığı azaltır. Model Güdümlü Geliştirme için Gerekenler Ç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ü Mimari (MGM) 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. 6
2.2. Model Güdümlü Mimari içerisinde Çalışma ( devam MDA ) 7
2.2. Model Güdümlü Mimari içerisinde Çalışma ( devam M1 seviyesi) 8
2.3. PSM4WSS türetilmesinde kullan ılan Modelleme Yaklaşımı Üstmodelleme PSM4WSS için MOF-tabanlı bir üstmodel gerekliliktir. UML Genişletme 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. 4 Katmanlı Mimari 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. 9
3.1. Üstmodelleme ve MOF-tabanlı Üstmodelin Türetilmesi 3.2. UML Genişletme ve UML Profilin Türetilmesi 10
3.1. Üstmodelleme ve MOF-tabanlı Üstmodelin Türetilmesi MOF tabanlı üstmodeller, UML gösteriminin kısıtlı bir alt kümesini kullanarak nesne yönelimli model olarak ifade edilebilir ö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 İlgilerin Ayrımı ( Separation of Concerns SOC ) 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. 11
3.1. Üstmodelleme ve MOF-tabanlı Üstmodelin Türetilmesi ( devam - paketler) 12
3.1. 1. İçerik Paketi ( Content Package ) 13
3.1. 2. Gezinim Paketi ( Navigation Package ) 14
3.1. 3. Sunum Paketi ( Presentation Package ) 15
3.1. 4. Kullan ıcı Paketi ( User Package ) 16
3.1. 5. İş Ak ışı Paketi ( Workflow Package ) 17
3.2. UML Genişletme ve UML Profilin Türetilmesi UML Profilleme Mekanizması sterotipler ( stereotypes ), etiket değerler ( tagged values ), kısıtlar ( constraints ) Üstmodelden Profile Dönüşüm 18
3.2. UML Genişletme ve UML Profilin Türetilmesi (devam) 19
4.1. Örnek Senaryo Temel Performans Göstergeleri Amaç 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. İhtiyaçlar 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. Content Model Navigation Model Presentation Model User Model Workflow Model 20 Go To Giriş
4.1. Örnek Senaryo Temel Performans Göstergeleri (devam içerik modeli) 21 Go To Giriş
Domain Decomposition 22 Go To Giriş
4.1. Örnek Senaryo Temel Performans Göstergeleri (devam canlı uygulama) izmit tup01srv153 tpg prod.rdp 23 Go To Giriş
4.2. PSM4WSS e Dayal ı Yazılım Çatısı Kısaca 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. 24
4.2. PSM4WSS e Dayal ı Yazılım Çatısı (devam davranışsal model) Olay Yakalay ıcıları ( Event Receivers ) 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. Sırasal ya da Durum Makinesi İş Akışları ( Sequetial or State Machine Workflows ) İş 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. 25
Platforma Özgü Seviye 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. Platform Bağımsız Seviye WAE Web Application Extensions OO-H Object-Oriented Hypermedia WebML WebModeling Language UWE UML-based Web Engineering 26
5.1. UWE UML-based Web Engineering 27
5.2. WebML Web Modeling Language 28
Sonuç 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ş 29
İleriye Yönelik Çal ışmalar 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) 30
Sorular ve Eleştiriler... ferhat.erata@unitbilisim.com 05395661271 31