ManyDesigns Portofino

ManyDesigns Portofino
software
Schermata di esempio
Schermata di esempio
GenereFramework per applicazioni web
SviluppatoreManyDesigns srl
Ultima versione4.0.10 (25 marzo 2013)
Sistema operativoMultipiattaforma
LinguaggioMateria:Java
LicenzaLGPL
Sito webwww.manydesigns.com

ManyDesigns Portofino, o più semplicemente Portofino, è un web application framework scritto in Java e distribuito con licenza open source LGPL.

Il framework permette la creazione di applicazioni web basate sui database relazionali. Il processo di creazione delle pagine viene effettuato con un wizard, con una configurazione manuale attraverso l'interfaccia web, o personalizzato con un linguaggio di scripting.

Portofino è principalmente pensato per programmatori Java che sviluppino applicazioni industriali e siti web dinamici. È progettato per soddisfare tre necessità tipiche di un progetto IT quali la produttività, la ricchezza di funzionalità e l'affidabilità dell'architettura.

Le principali caratteristiche dello strumento sono la possibilità di connettersi ad un database esistente per generare un'applicazione web completa e funzionante, in base all'analisi automatica della struttura del database, e la possibilità di modificare l'applicazione stessa mentre essa è in esecuzione, aggiungendo nuove pagine o nuove funzionalità direttamente dall'interfaccia web o, in maniera più tradizionale e strutturata, modificando i sorgenti sul file system, senza necessità di ricompilare e riavviare. Per questo motivo, il framework presenta alcune caratteristiche tipiche di un Content management system oltre a quelle più tipiche di uno strumento RAD.

Storia

Le versioni del framework 1.x, 2.x, e 3.x (versioni legacy) sono considerate delle evoluzioni incrementali del progetto iniziale, mentre la versione 4 ha introdotto una nuova riprogettazione. La versione 5, uscita nel 2019, non è più basata sul paradigma MVC classico (il client invia un modulo, il server lo processa e restituisce la nuova pagina HTML) ma adotta un modello "rich web application", con un client in Angular Material che comunica via server in modalità REST.

Le versioni fino alla 3 seguono i principi dello sviluppo model driven[1] e della modellazione domain-specific. Le applicazioni sono scritte definendo dei modelli logici, che descrivono le strutture delle applicazioni e le loro funzionalità. In questo senso, i modelli servono allo stesso scopo dei linguaggi di programmazione, ma ad un livello più elevato di astrazione.

La versione 4.x sposta l'attenzione dal modello logico al modello fisico[2]. Anziché vincolare lo sviluppatore a creare attraverso il framework il modello per il database, Portofino permette di connettersi a database esistenti, realizzati eventualmente con strumenti esterni. Rimane possibile effettuare maggiori personalizzazioni dell'applicazione attraverso script scritti in Groovy.

La tabella seguente mostra i principali cambiamenti architetturali fra le versioni legacy e le nuove versioni.

Funzioni Versioni legacy Versioni 4.x Versioni 5.x
framework MVC Struts Stripes Nessuno
Persistenza Soluzione sviluppata internamente Hibernate 4 Hibernate 5
Scripting BeanShell Groovy Groovy
Framework CSS/JavaScript Nessuno jQuery, jQuery UI e Bootstrap Angular Material
Sicurezza Soluzione sviluppata internamente Apache Shiro Apache Shiro
Report JasperReports e JFreeChart Formatting Objects Processor (FOP), iText e JFreeChart iText, Apache POI
Refactoring del Database Soluzione sviluppata internamente Liquibase Liquibase
Altre tecnologie - - Spring

Nonostante le differenze sopracitate, alcuni principi di progettazione, come la possibilità di modificare l'applicazione tramite la sola interfaccia web, sono presenti in tutte le versioni.

La versione corrente 5.x è attivamente sviluppata, mantenuta e supportata. Le versioni 4.x e 3.x sono mantenute con release per correzioni ai bug. Le versioni 1.x e 2.x sono obsolete e non più mantenute.

Nel 2006 Portofino ha ricevuto il premio Perotto[3][4] nella sezione industria.

Portofino è stato distribuito nel 2006 come applicazione closed-source. Nel febbraio 2009 è stato reso disponibile in open-source sotto la licenze GPL v3 con FLOSS exception.

Descrizione tecnica

Struttura di una applicazione

Portofino è una applicazione web in Java e quindi necessita di un application server per poter essere utilizzata. La distribuzione del framework include anche Tomcat, ma può essere utilizzato anche con altri application server. Il war contiene le librerie del framework, risorse css e JavaScript e le pagine jsp dell'interfaccia predefinita. Il war contiene anche una cartella "apps" dove lo sviluppatore può salvare le sue applicazioni. Un'applicazione (o più semplicemente app) consiste nei seguenti file e cartelle:

  • app.properties: il file con le proprietà per l'applicazione
  • blobs: la cartella dove sono salvati i file binari
  • dbs: la cartella per gli script Liquibase
  • groovy: la cartella dove vengono salvate le classi Groovy condivise dall'intera applicazione
  • pages: una cartella che contiene le pagine
  • portofino-messages.properties: il file I18N per l'internazionalizzazione
  • portofino-model.xml: un file xml che contiene le informazioni per la connessione e i metadati
  • web: una cartella per le risorse web specifiche per l'applicazione

Questi file e cartelle sono di solito modificati attraverso l'interfaccia web, ma è anche possibile modificarli direttamente sul file system con un editor di testi o un IDE.

Connettività ai database

Portofino supporta come base dati le seguenti piattaforme commerciali e open: Oracle, Microsoft SQL Server, MySQL, PostgreSQL, e H2. Il framework si connette al database impostato e ne espone le tabelle attraverso un'interfaccia web per le operazioni CRUD. Le tabelle che non hanno una chiave primaria non possono essere esposte con questo metodo. Indici, vincoli di unicità, viste e stored procedure, benché non rilevate dal framework, possono essere utilizzate.

Portofino supporta la maggior parte dei data type dei database. Le chiavi primarie possono essere sia semplici che composte e di tutti i tipi. Supporta anche le chiavi straniere sia semplici che composte.

Tipologie di pagina

Il framework supporta sette tipologie di pagina come descritto di seguito.

CRUD
Supporta le operazioni CRUD (Create, Read, Update, Delete) su una tabella del database, fornisce inoltre alcune operazioni accessorie come le esportazioni in PDF e Excel.
Chart
Istogrammi e grafici a torta interattivi.
Custom
Un modello per costruire pagine personalizzate.
Text
Testo html formattato con allegati quali immagini o documenti.
Calendar
Un calendario interattivi popolato con eventi estratti dalla base dati.
Many-to-many
Un'interfaccia per gestire le relazioni molti a molti.
Change password
Un'interfaccia per cambiare la propria password.

Tutte le pagine sono implementate come action bean scritti in Java. Le pagine possono essere personalizzate estendendo le classi Java negli script Groovy.

Note

  1. ^ G.Granatella, Aprile 2010, "Model Driven Development con ManyDesigns Portofino", Computer Programming, Vol.18 n.2
  2. ^ Tecniche Model Driven nell'Industria Italiana: Risultati di un'indagine e condivisione di esperienze [1]
  3. ^ A.Giangreco, Novembre 2006, "Il software vincente per costruire altri software" Archiviato il 6 aprile 2008 in Internet Archive., Liguria Business Journal, Year 2 Issue 11(12)
  4. ^ Dixet, October 10th, 2006, "Datasiel: il premio Perotto per il sociale" Archiviato il 22 luglio 2011 in Internet Archive.

Voci correlate

Collegamenti esterni

Read other articles:

Ernst van Oostenrijk kan verwijzen naar: Ernst de Strijdbare (1027-1075), markgraaf van Oostenrijk Ernst I van Oostenrijk (1377-1424), hertog van Stiermarken en Karinthië Ernst van Oostenrijk (1553-1595), landvoogd van Zuidelijke Nederlanden Ernst van Oostenrijk (1824-1899), aartshertog van Oostenrijk Bekijk alle artikelen waarvan de titel begint met Ernst van Oostenrijk of met Ernst van Oostenrijk in de titel. Dit is een doorverwijspagina, bedoeld om de verschillen ...

Акашка́ (від булгарського та середньочуваського ак — рало, яшка — юшка) — свято першої борозни, початок посіву. Свято об'єднує архаїчні обряди зустрічі весни гуждор (проталинка) та келян (проводи криги) із землеробськими і став одним з головних свят народного кал�...

imagen de Elephants Dream, la primera película considerada cine de contenido abierto. Cine de contenido abierto (en inglés: open content film) es aquel que se que se acoge para su distribución a una licencia abierta o libre (Creative Commons, Copyleft e incluso GNU GPL). Además de esa característica esencial que es imprescindible para poder calificar un determinado producto audiovisual como una obra de cine de contenido abierto hay otras características opcionales que suelen estar prese...

AltranJenisSociété anonyme (Euronext: ALT)IndustriKonsultasi dalam teknik canggih, teknologi dan R&DDidirikan1982KantorpusatNeuilly-sur-SeineTokohkunciDominique Cerutti, CEOKaryawan56,693Situs webwww.altran.com Altran adalah sebuah perusahaan konsultan teknik. Perusahaan ini didirikan di Prancis pada tahun 1982 oleh Alexis Kniazeff dan Hubert Martigny. Pada 2018, Altran menghasilkan penjualan sebesar 2,916 miliar euro. Per 31 Desember 2018, Altran mempekerjakan 56.693 orang di selu...

هذه المقالة يتيمة إذ تصل إليها مقالات أخرى قليلة جدًا. فضلًا، ساعد بإضافة وصلة إليها في مقالات متعلقة بها. (أبريل 2022) اختبار بيكر عام 1946 وتشكل الصدع على سطح الماء انفجار تحت الماء (المعروف باسم UNDEX) هو انفجار كيميائي أو نووي يحدث تحت سطح الماء.[1] حيث تعتبر القنابل تحت الماء

Joachim Alva Joachim Ignatius Sebastian Alva (21 Januari 1907 – 28 Juni 1979) adalah seorang pengacara, jurnalis dan politikus India dari Mangalore.[1] Ia adalah seorang tokoh Kristen berpengaruh yang ikut serta dalam gerakan kemerdekaan India. Setelah Kemerdekaan, Alva dilantik menjadi Sherif Bombay pada 1949. Pada 1950, ia masuk Parlemen Provisional India. Ia terpilih dalam Lok Sabha pada 1952, 1957 dan 1962 dari Kanara Utara. Sejarah Joachim Alva berasal dari the Alva-Bhat, ...

劉彥恩Lau Yin Yan, Claudia劉彥恩在2013年代表密歇根大學出賽个人资料国籍 中华人民共和国(香港)出生 (1992-11-11) 1992年11月11日(31歲)[1] 英屬香港身高1.60米(5英尺3英寸)[2]体重53公斤(117英磅)[2]运动运动游泳泳姿仰泳俱乐部大力游泳會大學校隊密歇根大學 奖牌记录 女子游泳 代表  香港 亞洲運動會 2010年 廣州 4×100米混合泳接力 2014年 仁川 4×100米�...

This article needs additional citations for verification. Please help improve this article by adding citations to reliable sources. Unsourced material may be challenged and removed.Find sources: Autonomous University of Coahuila – news · newspapers · books · scholar · JSTOR (September 2014) (Learn how and when to remove this template message) School Logo The Autonomous University of Coahuila (Universidad Autónoma de Coahuila, or UAdeC) is a state univ...

2016 video game This article relies excessively on references to primary sources. Please improve this article by adding secondary or tertiary sources. Find sources: Dan The Man – news · newspapers · books · scholar · JSTOR (April 2022) (Learn how and when to remove this template message) 2015 video gameDan The ManDeveloper(s)Halfbrick StudiosPublisher(s)Halfbrick StudiosPlatform(s)iOSAndroidReleaseNovember 26, 2015 (Android)[1]October 5, 2016 (...

Indian filmmaker For other uses, see Bharathan (disambiguation). This article has multiple issues. Please help improve it or discuss these issues on the talk page. (Learn how and when to remove these template messages) This article possibly contains original research. Please improve it by verifying the claims made and adding inline citations. Statements consisting only of original research should be removed. (July 2014) (Learn how and when to remove this template message) The neutrality of th...

Rugby playerJurgen VisserFull namePetrus Jurgens VisserDate of birth (1989-09-13) 13 September 1989 (age 34)Place of birthPaarl, South AfricaHeight1.91 m (6 ft 3 in)Weight93 kg (205 lb; 14 st 9 lb)SchoolPaarl GimnasiumUniversityStellenbosch UniversityRugby union careerPosition(s) Fullback / Fly-halfYouth career2007–2009 Western ProvinceAmateur team(s)Years Team Apps (Points)2010 Maties 4 (0)2011 UP Tuks 4 (20)Senior careerYears Team Apps (Points)2010 ...

Slavic guardian deity of the dawn This article is about mythology. For other uses, see Zorya (disambiguation). ZoryaDawnZarya-Zarenitsa, Andrey Shishkin, 2013Other namesZaranitsa, Zarya, Zara, ZoryushkaColorRed, gold, yellow, rosePersonal informationSiblingsSun (Dažbog), Moon, ZvezdaEquivalentsGreek equivalentEosRoman equivalentAuroraHinduism equivalentUshasIndo-European equivalentH₂éwsōs Zorya (lit. Dawn; also many variants: Zarya, Zara, Zorza, Zirnytsia, Zaranitsa, Zoryushka, etc.) is ...

This article needs additional citations for verification. Please help improve this article by adding citations to reliable sources. Unsourced material may be challenged and removed.Find sources: William Fitzjames Oldham – news · newspapers · books · scholar · JSTOR (April 2015) (Learn how and when to remove this template message) Reverend William OldhamOldham and his wife, Marie Augusta MulliganBorn(1854-12-15)15 December 1854Bangalore, Karnataka, Indi...

Religion in the country The Kaaba in Mecca is the holiest site of Islam, the state religion of Saudi Arabia. Islam is the state religion of Saudi Arabia.[1] The government of Saudi Arabia has been criticized for its restrictions on religious freedom.[2][3][4][5][6] Approximately two-thirds of the country's residents are Muslim and the Basic Law states that it is the duty of every citizen to defend Islam;[1] most non-Muslim foreigners att...

Canadian physician Stanley K. BernsteinBornToronto, Ontario, CanadaNationalityCanadianAlma materUniversity of Toronto (MD)OccupationPhysicianSpouseJudy Bernstein Stanley K. Bernstein is a Canadian physician who founded and is the current owner of 60 weight-loss clinics in Canada known collectively as the Dr. Bernstein Diet & Health Clinics. Bernstein has owned and operated weight-loss clinics since 1974[1] and employs a weight-loss regimen involving a low calorie intake, freq...

1993 single by Diamond RioThis Romeo Ain't Got Julie YetSingle by Diamond Riofrom the album Close to the Edge B-sideI Was Meant To Be With YouReleasedJuly 5, 1993Recorded1992GenreCountryLength2:44LabelArista NashvilleSongwriter(s)Jimmy OlanderEric SilverProducer(s)Tim DuBoisMonty PowellDiamond Rio singles chronology Oh Me, Oh My, Sweet Baby (1993) This Romeo Ain't Got Julie Yet (1993) Sawmill Road (1993) This Romeo Ain't Got Julie Yet is a song written by Jimmy Olander and Eric Silver, and re...

7.2-magnitude earthquake in Tiburon Peninsula, Haiti 2021 Haiti earthquakeDestruction from the earthquakeMap of main shock and afershocks - M 4.0 or greater (map data)UTC time2021-08-14 12:29:08ISC event620986707USGS-ANSSComCatLocal date14 August 2021Local time08:29:08Magnitude7.2 MwDepth10 km (6 mi)Epicenter18°25′01″N 73°28′48″W / 18.417°N 73.480°W / 18.417; -73.480[1]FaultEnriquillo–Plantain Garden fault zoneTypeObl...

Type of machine This article needs additional citations for verification. Please help improve this article by adding citations to reliable sources. Unsourced material may be challenged and removed.Find sources: Crane machine – news · newspapers · books · scholar · JSTOR (November 2011) (Learn how and when to remove this template message) Diagram of a modern crawler crane with outriggers. The latticed boom is fitted with a jib. Manual crane from th...

Universidad de Nantes Université de Nantes Fundación 1460Fundador Francisco II de BretañaLocalizaciónDirección  FranciaCoordenadas 47°14′16″N 1°33′15″O / 47.237879, -1.554284Sitio web https://www.univ-nantes.fr/ y https://english.univ-nantes.fr/[editar datos en Wikidata]La Universidad de Nantes (en francés: Université de Nantes) es una universidad pública francesa situada en la ciudad de Nantes. Fue fundada el 4 de abril de 1460,[1]​ cuan...

American futsal league This article needs additional citations for verification. Please help improve this article by adding citations to reliable sources. Unsourced material may be challenged and removed.Find sources: United States Futsal Federation – news · newspapers · books · scholar · JSTOR (September 2020) (Learn how and when to remove this message) United States Futsal FederationCONCACAFWebsiteUnited States Futsal Federation The United States Fut...