Effi (C ++) - Effi (C++)

Effi
Geliştirici (ler)ASoft
Kararlı sürüm
01.05.00.156 / 6 Mayıs 2010; 10 yıl önce (2010-05-06)
Depo Bunu Vikiveri'de düzenleyin
YazılmışC ++
İşletim sistemiUnix benzeri, Mac os işletim sistemi
TürÇerçeveler
LisansGPL, Ticari
İnternet sitesiwww.effitex.com

Effi dır-dir C ++ uygulama geliştirme çerçevesi.

Genel Bakış

Effi uygulama geliştirme çerçevesi. Oluşturmak için eksiksiz geliştirme araçları sağlar web tabanlı C ++ zengin yazılım uygulamaları pencereler -sevmek GUI.

Çerçeve şunları içerir: beyan edici uygulama açıklaması için dil sağlar API için XML belgeleri işleme, büyük veri listeleri gösterimi için olanaklar, Konu senkronizasyon, yerelleştirme ve veri kaydı. Effi ayrıca özel kütüphaneler ile etkileşim için RDBMS yanı sıra veri depolama ve serileştirme / restorasyon vb. - kütüphanelerin tam listesi aşağıdadır.

Belirli Effi bileşenleri şu şekilde dağıtılır: Bedava ve açık kaynaklı yazılım.

Desteklenen tarayıcılar

Effi tabanlı uygulamalar, aşağıdaki tarayıcılarla kullanılabilen web ön ucuna sahiptir:

Effi kitaplıklarının listesi

  • EffiDB [1] paketi, ilişkisel veritabanı yönetim sistemleriyle iletişim için birleşik Effi arabirimlerinin bir uygulamasıdır. EffiDB'nin amacı, çeşitli içeriklere birleşik erişim sağlamaktır. RDBMS'ler ve uygulama geliştiricisini veritabanıyla herhangi bir düşük düzey etkileşimden izole edin. EffiDB, veritabanı bağlantılarını yönetir, SQL ifadeleri oluşturur ve yürütür ve sorgu sonuçlarını ayrıştırır. Ayrıca, sonuçları önbelleğe alma istekleri için mekanizma sağlar ve belleği otomatik olarak yönetir. Şu anda (Haziran 2010 itibariyle) desteklenen RDBMS'ler MySQL, MSSQL, Oracle ve SQLite'dir.
  • EffiValue [2] paketi, herhangi bir C ++ veri türü için evrensel depolama ve serileştirme / geri yükleme mekanizması sağlar. Özel C ++ sınıfları tanımı olmadan herhangi bir karmaşıklıkta heterojen bileşik yapıların oluşturulmasına ve iletilmesine izin verir.[3]
  • acommon - temel Effi yardımcı programlarının toplanması akıllı işaretçiler yerelleştirme tesisleri, istisnaların ele alınması vb.
  • alink - modüller için kitaplık (.so) dinamik yükleme. Modüllerden işlevleri çağırmaya ve sınıf örneklerini almaya izin verir.
  • Athread - Konu yönetim kütüphanesi. Varsayılan olarak C ++ çalıştırılabilirleri iş parçacığı için güvenli değildir, yani birden çok iş parçacığı tarafından eşzamanlı yürütme sırasında doğru çalışmaları garanti edilmez. athread, iş parçacığı oluşturma, ayırma, başlatma, silme ve bellek yönetimi için iş parçacığı senkronizasyon olanakları sağlar.
  • adecimal - ondalık kayan nokta C ++ uygulaması C # ve Java uygulamalarına benzer. Finansal uygulamalar tarafından belirlenen hassaslık ve yuvarlama gereksinimlerini karşılamak için ondalık hesaplamalar gerçekleştirilir.
  • aparser - kitaplık, okuma ve düzenleme için API sağlar XML belgeler. Aslında aparser kitaplığı, C ile yazılmış ortak XML ayrıştırıcı kitaplığı için bir C ++ sarmalayıcıdır. Aparser, herhangi bir yeni işlev sunmadan ana Libxml2 işlevini destekler. Bir C kitaplığı yerine C ++ kitaplığını kullanmak, uygulama kodu yazmanın üretkenliğini artırır, yani yaygın durumlarda otomatik bellek yönetimi sağlar ve uygulama geliştiricileri için gösterimi basitleştirir. aparser kitaplığı bir XML belgesini ayrıştırabilir: belleğe okuyabilir, verileri doğrulayabilir, bir belge ağacı oluşturabilir. Bu, aramayı ağaç içinde taşımayı, XML verilerini bu ağaç yapısının nesneleri olarak değiştirmeyi ve sonucu dosya veya std :: dizge halinde oluşturmayı mümkün kılar. Kitaplık, sıfırdan yeni XML belgeleri oluşturmak için de kullanılabilir.
  • ardbms - kütüphane, ilişkisel veritabanı yönetim sistemleriyle iletişim için birleşik Effi arayüzlerinin bir uygulamasıdır. ardbms, RDBMS setine tek tip erişim sağlar ve veritabanı ile düşük düzeyde etkileşim sağlar. ardbms veritabanı bağlantılarını yönetir, SQL sorguları oluşturup çalıştırır ve sorgu sonuçlarını ayrıştırır. Ayrıca, sonuçları önbelleğe alma isteklerini sağlar ve belleği otomatik olarak yönetir. ardbms, uygun kitaplıklar aracılığıyla MySQL, MSSQL, Oracle ve SQLite DBMS'leri destekler:
    • mssql_impl
    • mysql_impl
    • oracle_impl
    • sqlite_impl
  • aserializer - veri serileştirme / geri yükleme. Effi çerçevesindeki serileştirme, verileri (belki karmaşık veri yapısı) bir bayt dizisine dönüştürme işlemidir, böylece dizi bir ağ üzerinden depolanabilir veya iletilebilir. Tersi işlem Restorasyondur. Şu anda Effi'de uygulanan 3 serileştirilmiş akış biçimi vardır: XML, ikili ve URL.
  • adata - XML ​​benzeri yapılar ve heterojen veri dizileri dahil olmak üzere herhangi bir C ++ türü için evrensel depolama.
  • datalist - kütüphane, GUI'deki veri listelerinin (özellikle 1 milyon öğe gibi uzun listeler) temsiline ayrılmıştır. Kitaplık, sıralama, filtreleme, arama ve listeyi kısa bölümlere ayırma gibi listeler üzerinde işlemler sağlar; canlı kaydırma ve sayfalandırma sağlar. İki uygulama mevcuttur: DataList ve DBList. DBList, veritabanından sorgulanan verilerle ilgilenir. DataList, toplanan verilerin yerel kopyası olduğunu ve tüm işlemlerin bu veri kopyası üzerinde gerçekleştirildiğini ima eder; bu nedenle DataList, yalnızca veritabanından çıkarılan verilerle değil, aynı zamanda başka bir şekilde toplanan verilerle de çalışma fırsatı sunar.
  • protokol - çalışma zamanında birbirine bağlı uygulamaları yönetmeye adanmış uygulama sunucusu. Kitaplık, genel performansı optimize etmek için sunucu isteklerini gönderir. İstek üzerine sunum protokolü kütüphanesi, talep için en etkili uygulayıcıyı belirler (talep aynı süreçte veya aynı bilgisayarda veya başka bir yerde yürütülebilir) ve talebi oraya iletir. Yürütme sonucu (varsa) orijinal çağırıcıya iade ediliyor.
  • jss - JavaScript Sunucusu için C ++ kodundan JavaScript çağırmaya izin veren arayüz ve bunun tersi.
  • Kalıcı Depolama Hizmeti (PSS) - yardımcı program, oturum başına, kullanıcı başına veya pencere başına veri depolamaya izin verir. Sonuç olarak, sistem durumunu belirleyen veriler için saklama sağlar. Kitaplık, verileri veritabanında ve dosyada depolamak için iki uygulamaya sahiptir:
    • PSSDB
    • PSSFile
  • Hizmetler - Farklı amaçlar için yararlı uygulamalar olarak kullanılabilecek bir dizi kitaplık vardır.
    • Köprü - uygulamalar arasında veri aktaran iletişim aracı. Farklı protokoller için 2 uygulama vardır:
    • DLLoader (Dinamik Kitaplık Yükleyici) - bir işlem içinde birkaç uygulamayı çalıştırmayı (birkaç kitaplığı yüklemeyi) mümkün kılar. İşlemler arasında kitaplık dağılımını yapılandırmaya izin verir.
    • TaskMan - belirli işlev çağrılarında (olaylarda) uygulama davranışını yönetir. Bu tür bazı olayların doğası, geliştiricinin olay gerçekleştiğinde hangi eylemin gerçekleştirileceğini belirlemesine izin vermez. TaskMan, bu koşullu davranışı yapılandırmaya izin verir, ayrıca GUI aracılığıyla yapılandırmak da mümkündür. Hem eşzamanlı hem de eşzamansız eylem yürütme mevcuttur.
    • Yetkilendirici - kimlik doğrulama ve yetkilendirme olanakları sağlar. Kimlik doğrulama, yalnızca kullanıcı oturumu açmak için değil, aynı zamanda iletişim içi uygulama bileşenlerinde de gerçekleştirilmektedir. Her yöntem çağrısında erişim hakları doğrulanmaktadır.
    • DynAttrMan (Dinamik Öznitelik Yöneticisi) - özel nesne özniteliklerini depolamak için bir mekanizma sağlar. Bazen geliştiricinin, uygulama uğraştığı nesneler için rastgele öznitelikleri yönetmek için esnek bir yaklaşıma ihtiyacı vardır. DynAttrMan, veritabanı şeması değişikliği olmadan bu tür özniteliklerin işlenmesini mümkün kılar.
    • FileMapper - uygun düzenleyiciler aracılığıyla veritabanında depolanan büyük veri nesnelerini düzenlemeye izin verir. Veriler, veritabanından geçici dosyaya çıkarılır ve uygun uygulama ile normal dosya olarak kullanılabilir. Dosya kaydetme, veritabanını hemen senkronize eder.
    • Multimedya - görüntüleri ve multimedya verilerini çalıştıran araç. Özel JavaScript kontrolleriyle birleştirilmiş kütüphane, multimedya ve görüntüleri tamamen işlemek için araç seti sunar. Kitaplık, uygulama geliştiricisini multimedya verilerinden ayırır ve format dönüştürme, ölçekleme, boyutlandırma küçük resim oluşturma vb. Gibi eylemlerin gerçekleştirilmesine izin verir.
    • SMS kapısı - SMS servis sağlayıcılarıyla entegrasyonu sağlayan uygulama.
  • sws - internet servisi UI pencerelerinin ve öğelerinin XML açıklamasını GUI gösterimine dönüştürür.
  • otomatik test çerçeve - Selenyum tabanlı kitaplık, uygulama testleri seti oluşturmak için uyarlanabilen otomatik test çerçevesini içerir. Effi, otomatik test kitaplığı için otomatik olarak ilkeler oluşturan yerleşik bir mekanizmaya sahiptir.

Effi tabanlı ürünler

ASoft, kendi gelişimi için Effi çerçevesini kullanır. Effi platformu ile geniş ürün yelpazesi oluşturulmuştur:

  • Coğrafi Bilgi Sistemi haritacılık verilerinin depolanması, yönetilmesi ve temsil edilmesi için
  • Herhangi bir karmaşıklıktaki veritabanı sorgularını oluşturmak ve çalıştırmak için araçlar sağlayan ve önceden yapılandırılmış düzeni kullanarak sonucu temsil eden rapor oluşturucu
  • Rusya İçişleri Bakanlığı için ürünler:
    • Ceza davası malzemeleri için depolama ve arama sistemi.
    • Federal genetik kimlik sistemini arayın.
    • Görev birimleri için birleşik otomatik bilgi sistemi.

Ayrıca bakınız

Referanslar

  1. ^ "EffiDB". SourceForge.
  2. ^ "EffiValue". SourceForge.
  3. ^ "Softpedia"% 100 ücretsiz "ödülü". Arşivlenen orijinal 2011-09-28 tarihinde. Alındı 2010-06-21.

Dış bağlantılar