Tasarım ilkeleri

Openbravo Geliştirme Kavramları Nelerdir? Evet önemli maddelerin yer aldığı bu yazımızda Openbravo Geliştirme Kavramları‘ndan bahsedeceğiz. Openbravo ERP, aşağıdaki tasarım prensipleri göz önünde bulundurularak geliştirilmekte olan bir yazılım uygulamasıdır:

Openbravo’nun amacı, bu prensipleri takip ederken, hem teknolojik hem de fonksiyonel açıdan en son teknoloji ürünü bir uygulama sunmaktır.

Açık kaynak

Openbravo, açık kaynak teknolojileri üzerine kurulmuş açık kaynaklı bir projedir. Platformumuzun geniş bir topluluk tarafından desteklenen bileşenlerin avantajlarından ve istikrarından yararlanmasını sağlamak için açık kaynak topluluğu tarafından geliştirilen mükemmel altyapı bileşenlerinden faydalanmayı amaçlıyoruz. Gerektiğinde gelişmeler için topluluğa katkıda bulunuyoruz.

ERP uygulama çerçevesi

Openbravo, Openbravo ERP dağıtımında bulunan entegre bir geliştirme çerçevesiyle geliştirilen bir uygulamadır. Bu entegre kalkınma çerçevesi, kalkınma sürecinde yer alan tüm alanlarda çok çeşitli endişeleri dikkate alır. En düşük seviyeden yüksek seviyeye kadar:

  • Eclipse IDE ile entegrasyon
  • SCM ile entegrasyon (Mercurial)
  • Otomatik inşa süreci
  • Otomatik güncelleme süreci
  • Otomatik dağıtım süreci
  • Bazı ortak geliştirme ihtiyaçları için yerleşik altyapı:
  • MDD geliştirme çerçevesi (Openbravo Uygulama Sözlüğü )
  • Çoklu dil kullanıcı arayüzü desteği
  • Yerleşik güvenlik modeli
  • Yerleşik kurumsal model
  • Çok döviz desteği
  • Çok genel muhasebe defteri desteği

Modele Dayalı Geliştirme

Openbravo, Model Tahrikli Gelişim (MDD) yaklaşımını izler . Bu, Openbravo’nun pencere ve süreçler gibi uygulama bileşenlerini tanımlamak için bir teknoloji agnostik model kullandığı anlamına gelir. Bu uygulama modeline dayanarak, kod ve diğer yazılım eserleri oluşturulur.

Openbravo veri modeli bilgisi – metadata olarak adlandırılan – Openbravo Uygulama Sözlüğünde saklanır.

Model Driven Development, kaygıların ve soyutlamanın ayrılmasıyla üretkenliği artırmayı ve yeniden kullanmayı amaçlamaktadır. Model, sistemin bir (veya daha fazla) uygulamasının bir beton teknolojisinde üretilmesini sağlamak için yeterli bilgiyi içeren sistem bileşenlerinin soyut bir tanımıdır.

Bu endişe ayrımı – modeldeki bir işlevsel teknoloji tanımı ve bir beton teknolojisinde model bileşenlerin uygulanması – ERP alan uzmanlarına yeni ERP işlevselliğini tanımlama ve uygulama süreçlerinde teknoloji karmaşıklıklarını gizler ve uygulama teknolojisinin gelişimini basitleştirir.

Bazı durumlarda, modelden harici olarak bir çözümü kodlamak gerekir. Bu tamamen Openbravo tarafından desteklenmektedir. Geliştiriciler Openbravo teknoloji yığınının üstünde kendi çözümlerini özgürce geliştirebilirler.

Modülarite

Modülerlik, Openbravo ERP 2.50 sürümünde, ek işlevler ve konfigürasyonları, çekirdek üründen bağımsız olarak, genişletme modülleri olarak tanımlayıp paketlemeyi sağlayan bir özelliktir.

Modülerlik, Openbravo’nun kullanıcı ihtiyaçlarına göre uyarlanabilme şeklini değiştirir. Kodu kullanıcı gereksinimlerine göre uyarlamak yerine, bağımsız bir modül genişletme işlevinden harici olarak ve yapılandırmak mümkündür.

Bu yeni yaklaşımın birkaç avantajı var. En önemli:

  • Saf dağıtılmış geliştirmeyi sağlar : modüller aracılığıyla saf dağıtılmış şekilde yeni işlevler geliştirilebilir. Modülü geliştiren ekip, diğer takımlardan izole edilebilir – sadece kullandıkları diğer modüllerden kararlı bir API’ye ihtiyaç duyarlar – ve bu modülün yaşam döngüsü, diğer sürümlerden bağımsızdır.
  • Kodun bakımını büyük ölçüde geliştirir: modüllerle geliştirme, paketlemeyi bağımsız olarak ifade eder. Modül bağımlılıklarının doğru tanımlanması ve API’nın kararlılığının korunması ile, bir örneğin güncellenmesi süreci basittir ve tek bir kullanıcı tıklamasında gerçekleştirilebilir.
  • Yeni işlevsellik paylaşımını ve yeniden kullanımını teşvik eder : Modüller aracılığıyla geliştirmek, bu yeni işlevselliği diğer insanlarla paylaşmak için oldukça basit bir hale getirir. Eğer geliştiriciler kendi modüllerini paylaşmak isterlerse ihtiyaç duydukları her şey onları Openbravo Forge (Merkezi Deposu) içinde paketleyip yayınlamaktır . Bundan sonra bu modüller herkese açık olacak ve diğer kullanıcılar bunları arayabilecek ve basit bir süreçte bunları yükleyebilecek.

Saf web uygulaması – Zengin istemci

Openbravo, doğası gereği saf bir web uygulamasıdır. Web tarayıcılarının yaygınlığı evrensel bir erişim noktası sağlar. Openbravo, ağı bir platform olarak anlar ve kullanıcılara uygulamaları tamamen bir tarayıcı aracılığıyla kullanmalarına olanak tanır ve sunar.

Gereksinimler minimum seviyede: hemen hemen tüm bilgisayar sistemlerinde bir web tarayıcısı var. Üstelik, web tabanlı olmak, ürünün internet üzerinden teslim edilebileceği anlamına gelir ve yüzlerce istemci bilgisayara yazılım dağıtmadan ve yüklemeden uygulamayı güncellemeye olanak tanır.

Geleneksel olarak web uygulamalarının kullanıcı arayüzü açısından büyük kısıtlamaları vardı. Bu AJAX gibi yeni web teknolojilerinin tanıtımıyla değişti. AJAX ve benzeri çerçevelerle zengin, etkileşimli ve kullanıcı dostu bir arayüz geliştirmek mümkündür.

Java – Hafif J2EE

Openbravo, Java’yı arka uç programlama dili olarak kullanmaktadır. Java’yı sunucu tarafı dili olarak seçmenin birçok nedeni vardır:

  • Açık Kaynak niteliği
  • Kurumsal düzeyde gelişim için geniş destek
  • Web uygulamaları için olgun mimarlık

Openbravo, Java 2 Enterprise Edition mimarisini (J2EE) EJB kabını kullanmadan izler. Bunun yerine Openbravo, veri ve iş mantığına erişim sağlamak için hafif bir altyapı kullanıyor. Openbravo 2.50’de Openbravo, güçlü ama yine de hafif bir kalıcılık mekanizması sağlayan Hazırda Bekleme’ye dayalı yeni bir Veri Erişim Katmanı (DAL) sağladı.

Birden çok veritabanına destek

Openbravo, veritabanı dahil olmak üzere kullandığı herhangi bir teknolojide satıcı kilitlemekten kaçınmaya kararlıdır. Openbravo 3, PostgreSQL (8.3.5+) ve Oracle SE (10g-11g) üzerinde çalışır.

Gelecek sürümlerde Openbravo veritabanı bağımsız olmayı hedefliyor. Hazırda Bekletme’yi temel alan Veri Erişim Katmanı (DAL) , bu geçişte ilk adımdır.

Openbravo ana kavramları

Sistem gereksinimleri

Openbravo, iyi bilinen üçüncü parti uygulamaların bir grubunun üzerinde çalışır:

  • Apache Tomcat. Apache Tomcat’i sunucu kabı olarak kullanıyoruz, ancak diğerleri bunun yerine kullanılabilir
  • Apache-Ant, sistemi kaynak kodundan oluşturmak gibi bir çok görevi otomatikleştirmek için kullanılır
  • PostgreSQL (8.3) veya Oracle SE (10g-11g) veritabanı

Tüm bu uygulamalar hem Linux hem de Windows üzerine kurulabilir.

Geliştirme ortamı

Openbravo geliştiricilerinin kodlarını geliştirmeleri için üç farklı yolu vardır. MDD yaklaşımını takiben, en yaygın olanı Openbravo Uygulama Sözlüğünü Openbravo ERPye bağlı bir web tarayıcısı aracılığıyla düzenlemektir. Yeni model tanımına dayanarak yazılım eserler otomatik olarak oluşturulabilir. Bir geliştirici, veritabanı şema nesnelerini (tablolar, prosedürler, vb.) Yönetmek için bir SQL istemcisi (örn. PgAdmin, sqlDeveloper) aracılığıyla doğrudan Openbravo veritabanına da bağlanabilir. Son olarak geliştiriciler, Eclipse gibi bir entegre geliştirme ortamı aracılığıyla kendi kodlarını geliştirebilirler.

OpenBravo geliştirme ortamı

Tüm openbravo yazılımı eserler, geliştirme projesindeki metin dosyalarında saklanır. Bu veritabanı tanımı ve içeriği içerir. Tüm yazılım eserlerini saklamak için metin dosyalarının kullanılmasının büyük avantajı, dağıtıcı bir ortamda geliştiricilerin yaptığı değişiklikleri paylaşmak ve karşılaştırmaktır.

Openbravo, veritabanı kaynak kodunu yönetmek için DBSourceManager adlı bir araç kullanır . DBSourceManager, veritabanı şema nesnelerini ve uygulama sözlüğü verilerini okuyabilir ve bunları xml dosyalarına aktarabilir. Ayrıca bu xml dosyalarından bir Openbravo veritabanı oluşturabilir veya güncelleyebilir

Sistemi openbravo kaynak kodundan oluşturma süreci, kodu farklı seviyelerde (DAL, WAD ve diğerleri) oluşturmak için bir dizi adım içerir ve bu kodu geliştiriciler tarafından doğrudan yazılan diğer kodlarla bir araya getirir. Openbravo bu işlemi bir tomcat ant göreviyle otomatikleştirdi.

Oluşturma ve dağıtma süreci

Mimari

Yeni mimari, Openbravo 3 Mimari makalesinde açıklanmıştır.

This post is also available in: İngilizce