ManyDesigns Portofino
ManyDesigns Portofino software | |
---|---|
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ă
- ^ G.Granatella, aprilie 2010, "Model Driven Development with ManyDesigns Portofino" , Programare computerizată , Vol.18 n.2
- ^ Tehnici bazate pe model în industria italiană: rezultatele unui sondaj și schimbul de experiență [1]
- ^ 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)
- ^ Dixet, 10 octombrie 2006, "Datasiel: premiul Perotto pentru social" Arhivat 22 iulie 2011 la Internet Archive .
Elemente conexe
linkuri externe
- Pagina principală ManyDesigns Portofino , pe manydesigns.com .
- Portofino la SourceForge.net , pe sourceforge.net .
- Java Powered pentru directorul Enterprise , pe oracle.com .
- Serie de articole despre programare.it , despre programare.it .
- Open World Forum (în franceză)
- Postgresql - Instrumente de administrare / dezvoltare , la postgresql.org .
- Dungi în jurul webului , pe stripesframework.org . Adus la 14 decembrie 2012 (arhivat din original la 26 octombrie 2012) .