Kayıp Puzzle’ın parçaları: 3DEXPERIENCE

Tasarım alanındaysanız, özelliklede makine mühendisi iseniz,  bir tasarım programını kullanmışsınızdır. Peki PLM tarafı hakkında ne biliyorsunuz? Süreçlere ne kadar hakimsiniz? Veya ne kadar hafife almalısınız… Bugün sizlere biraz 3DEXPERIENCE’ın alt yapısına değineceğim.

3DEXPERIENCE platformu MatrixOne ve VPM V6’nın birleşmesi ile oluşuyor. VPM V6 temeli C++ dili ile yazılmış bir katmana dayanıyor. Temel katman tamamen müşteri istek, özelleştirmeler ve filtrelemeleri yapabilmek için güzel bir ortam sağlıyor ve CATIA içersindeki  iş süreçlerini özelleştirebilmek için daha rahat bir ortam sunuyor. Temelde data modeli genişletmek ve bazı özelleştirmeler için uygun ortamı sağlıyor ancak programı tekrar derleyip baştan başlatmak gerekiyor. Orta katmanda ağırlıklı C++ kernel ile beraber yazılmış bir java web serverı kullanılıyor. Bu kernel her java server başladığında java süreçlerinin içine yükleniyor. Buna kısaca Java’da RMI ( Remote Method Invocation ) deniyor.

Matrixone içerisindeki iş kuralları güvenlik ve attribute’leri değiştirebilmek için Matrix kernel ile database arasında iletişimi sağlayan  orta katman dili olarak MQL(Matrix QueryLanguage) dili kullanılıyor. Bu güçlü dil aslında biraz tuhaf syntax’a sahip ve kaynak kodu üzerinde çalışma kontrolü (hata ayıklama modu) yok. Aynı zamanda commit edilen komutların geri dönüşüde yok. Kullanıcı arayüzü ise JSF ile yazıldığından doğal olarak değişikliklerde JSF(Java Server Faces) ile yapılıyor. JSF’deki internationalization sayesinde dil dosyaları ile multi-language olabiliyor. Ön yüz JPO(Java Program Object)’lar ile Database verilerini ön yüze taşıyabiliyor. Bu JPO’lar Spring framework’ü ile yaratılıyor ve yönetiliyor. Bu katmanda tüm java class’lar derlenmiş geldiğinden çok fazla özelleştirme yapılamıyor, MQL ile bu yapıya dokunmadan özelleştirme yapmak mümkün ancak kullanımı çok kolay olmadığından bu konuda bilgili kişiler tarafından yapılıyor. Gerçi Galaxy-based arayüzü ile MQL arayüzü kaldırılacağı açıklandı. JPO’lar database katmanı ile MQL üzerinden anlaşmaya devam edecekler ancak kullanıcı arayüzü dışarıya yakın gelecekte kapatılacak. Bu geliştirmeler daha çok Dashboard üzerine kaydırılıyor. Yakın gelecekte özelleştirmeler Dashboard üzerine kaydırılacağından Dashboard daha da bir önem kazanacaktır.

V6 dönemin sonuna kadar, dışarı ile haberleşmek için SOAP (Simple Object Access Protocol) xml haberleşme framework’ü kullanıldı. Bu protokol, geniş ve esnek programlama imkanı sağlıyordu ancak eski bir protokoldu. Daha sonra V6 için XPDM versiyonunu tanıttı. Bu daha fazla propramlama gerektriyordu ve dahası bazı firma entegrasyonu(yazılım konnektörleri) için kısıtlı olanaklar sunuyordu.

Dassault Systèmes bu sorunun farkına vardı ve bu sorunu hızlı çözmek için PLM Express paketi hazırladı. DS SmarTeam yazılımı 2009 yılında satın aldı ve Smarteam Enovia ürünlerin datalarını yönetmekte gerçektende marifetliydi. PLM express ürünü ile Smarteam, ilk data modelini tanıtılar. 2010x den başlayan bu süreç 3DEXPERIENCE 2017x daha ileriki sürümlerinde customizasyon yerine daha çok konfigurasyonu cloud veya kurulu platform tool’ları üzerinde yapmaya yöneldiler.

 Data Model: Kayıp Puzzle’ın Parçası:

Puzzle’ın diğer parçası ise data modelin kendisidir. VPM V6 için IRPC ve E/R için Matrixone DS için eski sürümlerde bazı sorular yaratıyordu. Bu sorunların çözümü için 3DEXPERIENCE 2015 versiyonunda unified type ilk olarak tanıtıldı. Temel olarak fikir, data kaybını önlemek, objectler arasında hakları belirlemek entityler arasındaki ilişkileri düzenlemek idi. Böylece aynı toollar ile herhangi bir objenin data modellerini otomatik farklı attributeler ekleyip genişletebileceklerdi.

Kullanıcı Arayüzü: Web 3.0 yolunda

DS netvibes firmasını satın almasıyla widget yapısını Enovia’ya entegre etmeye başladı. Tüm konfigurasyonlar ve geliştirmeler yavaş yavaş dashboard üzerinde yürütmek için çalışmalara başladılar. 2014x’e kadar tüm kullanıcı içerikleri CATIA, DELMIA ve SIMULIA gibi programların kendi arayüzleri vardı. Bu arayüzler widget teknolojisi ile beraber 3DDashboard’a entegre edilip yeni 3Dcompass ile beraber tüm widgetler birbiri ile konuşabiliyor hale getiriyorlar. Gelecekte tüm JSP teknolojisi Web3.0 – HTML5/CSS3 ile yer değiştirileceğini yeni sürümlere gelen kodlarla görüyoruz. Bunun da en büyük artısı olarak artık yazılan kodları derlemeye gerek kalmıyor ve bu widgetler birbirinden bağımsız olarak çalışabiliyor.

Widget teknolojisi ile beraber ikinci büyük yenilik ise REST(Representational State Transfer) web servislerinin implemantasyonudur. Tüm SOAP servisleri yavaş yavaş REST web servisleri ile yerdeğişmeye başladı bile.

Peki gelecekteki müşteri geliştirmeleri nasıl olacak;

  • Erişim kontrolü: Eski framework altyapısı attributeler için hala devam edecek.
  • Data model: Unified type yapısına geçiliyor. V5 ile oluşturulmuş yapı yavaş yavaş bu yapıya geçiriliyor. MQL hayatını devam ettirilecek ancak gerekmedikçe kullanılmaması tavsiye ediliyor.
  • Kullanıcı arayüzleri: JSP yenazaran HTML5 ve CSS3 alt yapısına doğru kayıyor. Özelleştirmeler için Javascript ve rest servisler üzerinde yoğunlaşacak.

Bir sonraki yazımı widget programlama üzerine yapacağım. Biraz Node.js birazda uwa.js üzerine bir yazı olacak. Takipte kalın,

Gökhan – 14.12.2018

http://www.gokhansaman.com/wp-content/plugins/sociofluid/images/google_48.png http://www.gokhansaman.com/wp-content/plugins/sociofluid/images/myspace_48.png http://www.gokhansaman.com/wp-content/plugins/sociofluid/images/facebook_48.png http://www.gokhansaman.com/wp-content/plugins/sociofluid/images/yahoobuzz_48.png http://www.gokhansaman.com/wp-content/plugins/sociofluid/images/twitter_48.png