Raible's Wiki

Raible Designs
Wiki Home
News
Recent Changes

AppFuse

Homepage
  - Korean
  - Chinese
  - Italian
  - Japanese

QuickStart Guide
  - Chinese
  - French
  - German
  - Italian
  - Korean
  - Portuguese
  - Spanish
  - Japanese

User Guide
  - Korean
  - Chinese

Tutorials
  - Chinese
  - German
  - Italian
  - Korean
  - Portuguese
  - Spanish

FAQ
  - Korean

Latest Downloads

Other Applications

Struts Resume
Security Example
Struts Menu

Set your name in
UserPreferences


Referenced by
LeftMenu




JSPWiki v2.2.33

[RSS]


Hide Menu

AppFuse_it


Difference between version 10 and version 7:

At line 23 changed 1 line.
AppFuse è un'applicazione per fare "kickstarting" dello sviluppo di una webapp. [Scarica|https://appfuse.dev.java.net/servlets/ProjectDocumentList], decomprimi ed esegui __ant new__ per essere subito pronto con un'applicazione Tomcat/MySQL. Usa Ant, XDoclet, Spring, Hibernate (o iBATIS), JUnit, StrutsTestCase, WebTest di Canoo, Struts Menu, Display Tag Library, OSCache, JSTL e Struts (o Spring MVC). Il framework Spring ha ampiamente migliorato AppFuse da Febbraio 2004. Viene usato ovunque per il suppporto ad Hibernate/iBATIS, le transazioni dichiarative, il binding delle dipendenze ed il disaccoppiamento dei layer. Questo framework semplice e pulito ha ampiamente ridotto la complessità di AppFuse ed ha anche consentito la rimozione di numerose righe di codice. In breve, per J2EE - è la cosa migliore che sia mai apparsa dai tempi del pane tostato. Per saperne di più su cosa sia AppFuse vedi [questa pagina sul wiki|AppFuseDefinition].
AppFuse è un'applicazione per l'avvio rapido dello sviluppo di una webapp. [Scarica|https://appfuse.dev.java.net/servlets/ProjectDocumentList], decomprimi ed esegui __ant new__ per avere subito pronta un'applicazione Tomcat/MySQL. Usa Ant, XDoclet, Spring, Hibernate (o iBATIS), JUnit, StrutsTestCase, WebTest di Canoo, Struts Menu, Display Tag Library, OSCache, JSTL e Struts (o Spring MVC). Il framework Spring ha ampiamente migliorato AppFuse da Febbraio 2004. Viene usato ovunque per il suppporto ad Hibernate/iBATIS, le transazioni dichiarative, il binding delle dipendenze ed il disaccoppiamento dei layer. Questo framework semplice e chiaro ha notevolmente ridotto la complessità di AppFuse ed ha anche permesso l'eliminazione di molte righe di codice. In breve, per J2EE - è quanto di meglio si sia visto in giro dai tempi del pane tostato. Per saperne di più su AppFuse vedi [questa pagina sul wiki|AppFuseDefinition].
At line 177 changed 1 line.
* Aggiunto il "cactus" per eseguire i test di Cactus su Tomcat 4.x e Resin 3.0.5.
* Aggiunto il task "cactus" per eseguire i test di Cactus su Tomcat 4.x e Resin 3.0.5.
At line 210 changed 1 line.
This release fixes a few compatibility issues with Resin and other databases - specifically PostgreSQL and DB2. The major new functionality in this release is __Easy Database Switching__. Basically, you can very easily switch from using MySQL to PostgreSQL by only changing a few properties in your build.properties. I implemented this on my current project last week because I do most of my development (at the client) on a PowerBook. The client wants to deploy onto a DB2 database - and there is not DB2 install for the Mac. Since [Hibernate|http://hibernate.org] allows you to easily switch between databases, I figured I could develop using MySQL on the Mac, but have the default (CVS version) use DB2. One of the things I didn't want to do was to have a build.properties.sample, because I love projects that "just work" when you type "ant". So I changed the the build process so that database.properties is generated from default settings (MySQL) or the settings in build.properties (if specified). As part of the build process, Ant looks for the following build.properties files:
Questa release corregge alcuni problemi di incompatibilità con Resin ed altri database - nello specifico PostgreSQL e DB2. La principale nuova funzionalità major in questa release è la __Possibilità di Cambiare Facilmente Database__. In pratica, puoi passare molto facilmente dall'usare MySQL a PostgreSQL modificando solo alcune proprietà nel tuo build.properties. L'ho implementato nel mio attuale progetto settimana scorsa in quanto svolgo la maggior parte della mia attività di sviluppo (presso cliente) su di un PowerBook. Il cliente vuole il deploy sul database DB2 - e non c'è un'installazione di DB2 install per il Mac. Poiché [Hibernate|http://hibernate.org] permette di passare da un database all'altro facilmente, ho capito che potevo sviluppare usando MySQL sul Mac, ma avere il default (la versione in CVS) che usa DB2. Una delle cose che non volevo fare era avere un a build.properties.sample, perché preferisco i progetti che "funzionano e basta" quando digiti "ant". Pertanto ho modificato il processo di build in modo che il file database.properties sia generato dalle impostazione di default (MySQL) o quelle in build.properties (se specificate). Come parte del processo di build, Ant cerca nei seguenti file build.properties:
At line 216 changed 1 line.
What this allows you to do is to take your customized database settings and put them in ~/.build.properties and they'll be applied to any AppFuse-derived project. This makes it easy to keep the CVS version of your project tied to one database and a developer's local version tied to a different database.
Ciò ti permette di prendere le tue impostazioni database personalizzate e metterle in ~/.build.properties e queste saranno applicate a qualsiasi progetto derivato da AppFuse. Ciò rende semplice mantenere la versione in CVS del tuo progetto legata ad un database e la versione locale dello sviluppatore ad un database diverso.
At line 218 changed 1 line.
While it's true that you'll most likely only talk to one database during the duration of your project, this exercise proves that it's easy to migrate from MySQL to another database. It also proves that AppFuse can easily integrate with other database (at least as of this release). Slick stuff IMO. Here's a specific rundown of all the changes from the changelog.
Per quanto sia vero che molto probabilmente parlerau con un solo database per la durata del tuo progetto, questo esercizio dimostra quanto sia semplice migrare da MySQL ad un altro database. Prova anche quanto AppFuse possa integrarsi facilmente con altri database (almeno da questa release). Roba notevole IMO. Ecco una carrellata dettagliata di tutte le modifiche nel changelog.
At line 220 changed 3 lines.
* Many changes to database settings so that database.properties is generated at run-time from properties in build.properties (defaults to MySQL). This makes it easy for users to run a MySQL database in development and have a DB2 database (or any other) in production. Just customize your database settings and put them in ~/.build.properties or ~/.appname- build.properties and these settings will be used instead of the default.
** As part of this process, I tested AppFuse on DB2 8.1 (on Windows) and PostgreSQL 7.4 (on OS X).
** Testing on other servers caused me to change from generator-class="native" to generator-class="increment" - which still works fine on MySQL.
* Diverse modifiche alle impostazioni di accesso al database in modo che il file database.properties venga generato a run-time dalle proprietà in build.properties (default su MySQL). Ciò rende semplice per gli utenti usare un database MySQL per lo sviluppo ed un database DB2 database (o qualsiasi altro) in produzione. Basta che personalizzi le tue impostazioni database e le metti in ~/.build.properties o ~/.appname- build.properties e tali impostazioni verranno usate al posto di quelle di default.
** All'interno di questo processo, ho effettuato test su AppFuse con DB2 8.1 (si Windows) e PostgreSQL 7.4 (su OS X).
** Effettuare test su altri server mi ha obbligato a modificare generator-class="native" a generator-class="increment" - che funziona ancora bene su MySQL.
At line 224 changed 11 lines.
** I also changed tomcat-context.xml to dynamically substitute database properties and defaultAutoCommit is now "true" by default.
* Added error pages for 404 (page not found) and 403 (access denied), both with pretty pictures. ;0) Protected /editUser.do for admin role only.
* Moved filter-mappings from Filter's JavaDocs (XDoclet) to metadata/web/filter-mappings.xml in order to control the order of execution.
* Made RememberMe feature configurable via a "rememberMe.enabled" property in app-settings.xml. ''This won't kick on Resin until the filter is invoked at least once. Tomcat initializes filters on startup.''
* Upgraded oscache.jar in Hibernate 2.1.1 to OSCache 2.0.1 and configured OSCache to cache JSP changes. Also modified the oscache-2.0.1.jar to have a URI for the tag library. Turned off caching of JSP pages - to enable, uncomment filter-mapping in metadata/web/filter-mappings.xml.
* Made changes to be Resin 3.0.4 friendly. [Read More...|AppFuseOnResin]
* Refactored BaseDaoHibernate to consolidate retrieveObject and removeObject methods. Also changed saveObject to do ses.saveOrUpdate and removed storeObject method.
* Replaced CompressionFilter with [GZipFilter that works on Resin|http://www.onjava.com/pub/a/onjava/2003/11/19/filters.html].
* Added print stylesheet support. ''Thanks to Bear Giles for the suggestion.''
* Added [Clickstream|http://www.opensymphony.com/clickstream] and menu/JSPs to view user paths.
* Dependent packages upgraded:
** Ho anche modificato il tomcat-context.xml in modo da sostituire dinamicamente le proprietà relative al database e defaultAutoCommit vale ora "true" per default.
* Aggiunte pagine di errore per i codici 404 (pagina non trovata) e 403 (accesso negato), entrambe con delle belle immagini. ;0) Protetto /editUser.do solo per il ruolo admin.
* Spostati i filter-mapping dai JavaDoc (XDoclet) del Filter a metadata/web/filter-mappings.xml in modo da controllarne l'ordine di esecuzione.
* Resa configurabile la funzionalità del RememberMe tramite una proprietà "rememberMe.enabled" in app-settings.xml. ''Questa non viene letta su Resin finché il filtro non viene invocato almeno una volta. Tomcat inizializza i filter all'avvio.''
* Aggiornata oscache.jar in Hibernate 2.1.1 as OSCache 2.0.1 e configurata OSCache in modo da fare il caching delle modifiche alle JSP. Modificato anche il oscache-2.0.1.jar in modo da avere una URI per la tag library. Disattivato il caching delle pagine JSP - per attivarlo, scommenta filter-mapping in metadata/web/filter-mappings.xml.
* Effettuate modifiche per essere Resin 3.0.4 friendly. [Leggi Ancora...|AppFuseOnResin]
* Effettuato il refactoring di BaseDaoHibernate in modo da consolidare i metodi retrieveObject e removeObject. Modificato anche saveObject in modo da effettuare il ses.saveOrUpdate ed eliminato il metodo storeObject.
* Sostituito CompressionFilter con [GZipFilter che funziona su Resin|http://www.onjava.com/pub/a/onjava/2003/11/19/filters.html].
* Aggiunto il supporto per lo stylesheet per la stampa. ''Grazie a Bear Giles per il suggerimento.''
* Aggiunto [Clickstream|http://www.opensymphony.com/clickstream] e i menu/JSP per vedere i percorsi dell'utente.
* Aggiornamento Dipendenze:
At line 236 changed 1 line.
** Cactus 1.6 Nightly (20030116) to support "cactus" task for supporting a "contextxml" attribute for testing in Tomcat.
** Cactus 1.6 Nightly (20030116) per avere il task "cactus" con supporto per l'attributo "contextxml" per il test su Tomcat.
At line 244 changed 1 line.
''BTW, I hid all the older releases of AppFuse to avoid download confusion - if you need to download an older version, please let me know.''
''BTW, ho nascosto tutte le release precedenti di AppFuse in modo da evitare confusioni nel download - se hai bisogno di scaricare una versione precedente, prego fammelo sapere.''
At line 248 changed 1 line.
Upgrading from ant 1.5.4 to 1.6.0 necessitates the following change in build.xml (just FYI):
L'aggiornamento da ant 1.5.4 alla 1.6.0 richiede le seguenti modifiche al build.xml (solo FYI):
At line 260 changed 1 line.
otherwise ant complains about {{file:properties.xml could not be found}}.
altrimenti ant si lamenta con un {{file:properties.xml could not be found}}.
At line 262 changed 1 line.
;:''Friday, January 10th: Fixed in CVS. However, there's still [issues with running Canoo's WebTest with 1.6.0|http://lists.canoo.com/pipermail/webtest/2004q1/001350.html]''
;:''Venerdì 10 gennaio: Corretto in CVS. Ci sono però ancora [problemi nell'esecuzione di WebTest Canoo con la 1.6.0|http://lists.canoo.com/pipermail/webtest/2004q1/001350.html]''
At line 269 changed 1 line.
* Backed out Http Post for Remember Me. Non rigirava l'utente sulla pagina richiesta in origine. L'uso di reponse.sendRedirect fa sì che l'utente finisca nel posto giusto. Attivata la codifica della password (SHA) per proteggere eventuali password che finiscano nei file di log. Disattivata la codifica su Tomcat.
* Rimosso l'Http Post per il Remember Me. Non rigirava l'utente sulla pagina richiesta in origine. L'uso di reponse.sendRedirect fa sì che l'utente finisca nel posto giusto. Attivata la codifica della password (SHA) per proteggere eventuali password che finiscano nei file di log. Disattivata la codifica su Tomcat.

Back to AppFuse_it, or to the Page History.