ManyDesigns Portofino

De la Wikipedia, enciclopedia liberă.
Salt la navigare Salt la căutare
ManyDesigns Portofino
software
Siglă
Tip
Dezvoltator ManyDesigns srl
Ultima versiune 4.0.10 (25 martie 2013)
Sistem de operare Multiplatform
Limba Java
Licență LGPL
Site-ul web www.manydesigns.com

ManyDesigns Portofino , sau mai simplu Portofino, este un cadru de aplicații web scris în Java și distribuit sub licența open source LGPL .

Cadrul permite crearea de aplicații web bazate pe baze de date relaționale. Procesul de creare a paginii se realizează cu un expert , cu o configurație manuală prin interfața web sau personalizat cu un limbaj de scriptare .

Portofino este destinat în principal programatorilor Java care dezvoltă aplicații industriale și site-uri web dinamice. Este conceput pentru a satisface trei nevoi tipice ale unui proiect IT, cum ar fi productivitatea, bogăția caracteristicilor și fiabilitatea arhitecturii.

Principalele caracteristici ale instrumentului sunt abilitatea de a vă conecta la o bază de date existentă pentru a genera o aplicație web completă și funcțională, bazată pe analiza automată a structurii bazei de date și abilitatea de a modifica aplicația însăși în timp ce rulează, adăugând noi pagini sau caracteristici noi direct din interfața web sau, într-un mod mai tradițional și structurat, modificarea surselor din sistemul de fișiere, fără a fi nevoie să recompilați și să reporniți. Din acest motiv, cadrul are câteva caracteristici tipice unui sistem de gestionare a conținutului, pe lângă cele mai tipice unui instrument RAD .

Istorie

Versiunile cadru 1.x, 2.x și 3.x (versiuni vechi) sunt considerate evoluții incrementale ale proiectului inițial, în timp ce versiunea 4 a introdus o nouă reproiectare. Versiunea 5, lansată în 2019, nu se mai bazează pe paradigma clasică MVC (clientul trimite un formular, serverul îl procesează și returnează noua pagină HTML), dar adoptă un model de „aplicație web bogată”, cu un client în Angular Material care comunică prin server în modul REST.

Versiunile până la 3 respectă principiile dezvoltării bazate pe model [1] și modelării specifice domeniului . Aplicațiile sunt scrise prin definirea modelelor logice, care descriu structurile aplicațiilor și funcționalitatea acestora. În acest sens, modelele au același scop ca limbajele de programare , dar la un nivel mai ridicat de abstractizare.

Versiunea 4.x schimbă focalizarea de la modelul logic la modelul fizic [2] . În loc să legeze dezvoltatorul pentru a crea modelul bazei de date prin cadrul, Portofino vă permite să vă conectați la bazele de date existente, eventual create cu instrumente externe. Rămâne posibil să faceți mai multe personalizări ale aplicației prin scripturi scrise în Groovy .

Tabelul de mai jos prezintă modificările arhitecturale majore dintre versiunile vechi și noile versiuni.

Funcții Versiuni vechi Versiuni 4.x Versiuni 5.x
Cadrul MVC Struts Dungi Nimeni
Persistenţă Soluție dezvoltată intern Hibernează 4 Hibernează 5
Scripting BeanShell Macabru Macabru
Cadrul CSS / JavaScript Nimeni jQuery , jQuery UI și Bootstrap Material unghiular
Siguranță Soluție dezvoltată intern Apache Shiro Apache Shiro
Raport JasperReports și JFreeChart Formatarea obiectelor procesorului (FOP), iText și JFreeChart iText, Apache POI
Refactorizarea bazei de date Soluție dezvoltată intern Liquibase Liquibase
Alte tehnologii - - Arc

În ciuda diferențelor menționate anterior, unele principii de proiectare, cum ar fi capacitatea de a modifica aplicația doar prin interfața web, sunt prezente în toate versiunile.

Versiunea actuală 5.x este dezvoltată, întreținută și acceptată activ. Versiunile 4.x și 3.x sunt menținute cu versiuni pentru remedierea erorilor. Versiunile 1.x și 2.x sunt învechite și nu mai sunt întreținute.

În 2006, Portofino a primit premiul Perotto [3] [4] la secțiunea industrie.

Portofino a fost lansat în 2006 ca aplicație cu sursă închisă. În februarie 2009 a fost pus la dispoziție în sursă deschisă sub licența GPL v3 cu excepția FLOSS.

Descriere tehnica

Structura unei aplicații

Portofino este o aplicație web în Java și, prin urmare, necesită utilizarea unui server de aplicații. Distribuția cadrului include și Tomcat , dar poate fi folosită și cu alte servere de aplicații. Războiul conține bibliotecile cadru, resursele css și JavaScript și paginile jsp ale interfeței implicite. Războiul conține și un folder „aplicații” în care dezvoltatorul își poate salva aplicațiile. O aplicație (sau mai simplu o aplicație) constă din următoarele fișiere și foldere:

  • app.properties: fișierul de proprietăți pentru aplicație
  • blobs: folderul în care sunt salvate fișierele binare
  • dbs: folderul pentru scripturile Liquibase
  • groovy: folderul în care sunt salvate clasele Groovy partajate de întreaga aplicație
  • pagini: un dosar care conține pagini
  • portofino-messages.properties: fișierul I18N pentru internaționalizare
  • portofino-model.xml: Un fișier xml care conține informații despre conexiune și metadate
  • web: un folder pentru resurse web specifice aplicației

Aceste fișiere și foldere sunt de obicei editate prin interfața web, dar este, de asemenea, posibil să le editați direct pe sistemul de fișiere cu un editor de text sau IDE.

Conectivitate la baze de date

Portofino acceptă următoarele platforme comerciale și deschise ca bază de date: Oracle , Microsoft SQL Server , MySQL , PostgreSQL și H2. Cadrul se conectează la baza de date setată și își expune tabelele printr-o interfață web pentru operațiuni CRUD . Tabelele care nu au o cheie primară nu pot fi expuse cu această metodă. Se pot utiliza indexuri, constrângeri de unicitate, vizualizări și proceduri stocate, deși nu sunt detectate de cadru.

Portofino acceptă majoritatea tipurilor de date ale bazei de date. Tastele principale pot fi atât simple, cât și compozite și de toate felurile. De asemenea, acceptă chei străine simple și compuse.

Tipuri de pagini

Cadrul acceptă șapte tipuri de pagini, așa cum este descris mai jos.

CRUD
Suportă operații CRUD (Creare, citire, actualizare, ștergere) pe o tabelă de baze de date, oferă, de asemenea, câteva operații auxiliare, cum ar fi exporturile în PDF și Excel.
Diagramă
Histograme interactive și diagrame.
Personalizat
Un șablon pentru construirea de pagini personalizate.
Text
Text formatat HTML cu atașamente precum imagini sau documente.
Calendar
Un calendar interactiv populat cu evenimente extrase din baza de date.
Mulți-la-mulți
O interfață pentru gestionarea relațiilor de la mai mulți la mulți.
Schimbați parola
O interfață pentru schimbarea parolei.

Toate paginile sunt implementate ca acțiuni de fasole scrise în Java. Paginile pot fi personalizate prin extinderea claselor Java în scripturile Groovy.

Notă

  1. ^ G.Granatella, aprilie 2010, "Model Driven Development with ManyDesigns Portofino" , Programare computerizată , Vol.18 n.2
  2. ^ Tehnici bazate pe model în industria italiană: rezultatele unui sondaj și schimbul de experiență [1]
  3. ^ A.Giangreco, noiembrie 2006, „Software-ul câștigător pentru a construi alt software” Arhivat 6 aprilie 2008 în Internet Archive ., Liguria Business Journal , Anul 2 Ediția 11 (12)
  4. ^ Dixet, 10 octombrie 2006, "Datasiel: premiul Perotto pentru social" Arhivat 22 iulie 2011 la Internet Archive .

Elemente conexe

linkuri externe