Sviluppo Web Agile con Castle MonoRail Diego Guidi DotNetMarche.Start() Giovedì 12 ottobre 2006.

Slides:



Advertisements
Presentazioni simili
Trieste, 26 novembre © 2005 – Renato Lukač Using OSS in Slovenian High Schools doc. dr. Renato Lukač LinuxDay Trieste.
Advertisements

1 Windows SharePoint 2003 Products & Technologies – Overview funzionale Marco Bellinaso Senior trainer & consultant Code Architects S.r.l. Web:
1 Teaching Cloud Computing and Windows Azure in Academia Domenico Talia UNIVERSITA DELLA CALABRIA & ICAR-CNR Italy Faculty Days 2010.
ASP.NET – Web Forms Davide Vernole.NET MVP. Di cosa parleremo Introduzione ad ASP.NET ASP.NET, dietro le quinte Componenti principali di una applicazione.
Vincenzo Campanale PM Security & Management System Center, DSI e la Roadmap.
DG Ricerca Ambientale e Sviluppo FIRMS' FUNDING SCHEMES AND ENVIRONMENTAL PURPOSES IN THE EU STRUCTURAL FUNDS (Monitoring of environmental firms funding.
JPA Overview della tecnologia. Java Persistence Architecture Definita nella JSR-220 EJB 3.0 ( Tentativo di unificare EJB2.1 con.
E.Mumolo, DEEI Player Stage E.Mumolo, DEEI
Italiano Da quando siamo passati al corso di metallurgia (3^o ) abbiamo cominciato a lavorare utilizzando i maniera didattica tecnologie di tipo hardware.
Interrogativi Asking and answering questions in italiano.
Seam.
1.E un algoritmo ricorsivo: Tutti le istanze di oggetti raggiungibili da un oggetto persistente diventano anchessi persistenti.
Web 2.0 and Libraries mj crowley 6/3/09 Un modello di auto-apprendimento collaborativo, ma anche divertente e gratificante !
OWASP-Day e progetti OWASP-Italy
Microsoft Robotics Studio Marco Petrucco Microsoft Student Partner - Udine.
EJB Enterprise Java Beans B. Pernici. Approccio Java.
Model – View - Controller
prompt> java SumAverage
Capitolo 5 adding images to your web pages. 2 JPEG.
1. Conoscere luso delle collezioni in Java Comprendere le principali caratteristiche nelle varie classi di Collection disponibili Saper individuare quali.
Programming with JXTA Hello World Peer discovery Peer Group discovery Creating Peer group Joining a Peer Group.
Università La Sapienza Ingegneria del Software I 1 Ingegneria del software I Seminario 2: Microsoft.NET.
© CEFRIEL Cenni su XML in Java Docente: Gabriele Lombardi
FONDAMENTI DI INFORMATICA III WfMC-1. FONDAMENTI DI INFORMATICA III WfMC-2 WFMC Cose WfMC Workflow Management Coalition (WfMC), Brussels, è unorganizzazione.
ATE / 31 Lezione 3 i sistemi automatici di misurazione - gli ATE.
Players: 3 to 10, or teams. Aim of the game: find a name, starting with a specific letter, for each category. You need: internet connection laptop.
Componenti dell’architettura Oracle
Concord A tool for the analysis and concordances of the terminological constituents P. Plini, N. Mastidoro* * - Èulogos, Rome Institute for Atmospheric.
Palermo, may 2010 F.Doumaz, S.Vinci (INGV-CNT- Gruppo di telerilevamento)
Fare clic per modificare lo stile del titolo Fare clic per modificare stili del testo dello schema – Secondo livello Terzo livello – Quarto livello » Quinto.
UGIALT.NET Conference II
© 2008 WS (WebScience srl) – All rights reserved WS Tech workshop Software Construction.
Filtered Index and Statistics Filtered Indexes Sergio Govoni
Sito IntergruppoParma.it Nuovo Intergruppo Parma.
Attività Formativa Sviluppo di un WORKFLOW ENGINE di Dott. Riccardo Gasperoni Alessandro Caricato Gabriele Trabucco in collaborazione con Progesi S.p.A.
WPF per il client Desktop
ASP.NET MVC Framework Simone Chiaretta Solution Developer, Avanade 27 Giugno 2008.
14° Workshop – DotNetMarche :: Castelfidardo, 16 Aprile 2010 Introduzione ai framework per IoC / DI e AOP.
Attribution-NonCommercial-ShareAlike Le novità
Attribution-NonCommercial-ShareAlike Le novità
Scoprirete che su Office non si può solo contare ma anche sviluppare.
Tutor: Elisa Turrini Mail:
VB.NET Sviluppo Applicazioni Desktop
Visual Studio Tools for Office: Developer Solutions Platform Fulvio Giaccari MCSD.NET / MCT Responsabile Usergroup ShareOffice Blog:
Project Review Novembrer 17th, Project Review Agenda: Project goals User stories – use cases – scenarios Project plan summary Status as of November.
Project Review Novembrer 17th, Project Review Agenda: Project goals User stories – use cases – scenarios Project plan summary Status as of November.
Sviluppo Web Agile con Castle MonoRail Diego Guidi DotNetMarche.Start() 12 ottobre 2006.
Sviluppo Web Agile con Castle MonoRail Diego Guidi 1° Workshop DotNetMarche.Start () Giovedì 12 ottobre 2006.
Sviluppo Web Agile con Castle MonoRail Diego Guidi DotNetMarche.Start() 12 ottobre 2006.
Giovedì 17 Aprile 2008 Heroes {Community} Launch Giovedì 17 Aprile 2008.
ASP.NET MVC Framework Simone Chiaretta Solution Developer, Avanade 24 Ottobre 2008.
14/06/2008 – Matteo Baglini Mail: Blog:
ASP.NET MVC Framework SO WHAT? Simone Chiaretta Solution Developer, Avanade 3 Aprile 2009.
Architettura software La scelta architetturale: MVA (Model – View – Adapter/Control) The view is completely decoupled from the model such that view and.
Claudio Maccari Mail: Blog (ITA): Blog (ENG):
Present Perfect.
Collection & Generics in Java
EMPOWERMENT OF VULNERABLE PEOPLE An integrated project.
Introduction to automatic ABMs documentation Keywords: Doxygen ODD protocol MASON documentation Simone Romano.
UITA Genève ottobre Comitè du Groupe Professionnel UITA Genève octobre 2003 Trade Union and Tour.
Italian 1 -- Capitolo 2 -- Strutture
Azure: Mobile Services e Notification Hub ANDREA GIUNTA.
Extension pack per IIS7 Piergiorgio Malusardi IT Pro Evangelist
Do You Want To Pass Actual Exam in 1 st Attempt?.
WPC034 - Visual Studio Code: sviluppare su Linux, Mac OS e Windows
Paradigma MVC Ing. Buttolo Marco.
giovedì, 12 ottobre matrimonio o convivenza?
Studente : Andrea Cassarà Classe: 5AII A.S. 2014/2015 Link Sito
ADO Per gestire i database con tecnologia ASP si utilizzano strumenti ADO (ActiveX Data Objects): un'architettura che fornisce oggetti.
Free .NET Hosting - somee.com
Transcript della presentazione:

Sviluppo Web Agile con Castle MonoRail Diego Guidi DotNetMarche.Start() Giovedì 12 ottobre 2006

Sono io? Diego Guidi

Porting di Ruby On Rails Porting di Ruby On Rails Agile Web Application Framework MVC-Based Agile Web Application Framework MVC-Based Basato su architettura.NET e ASP.NET Basato su architettura.NET e ASP.NET Parte del Castle Project Parte del Castle Project Licenza: Apache License, Version 2.0 Licenza: Apache License, Version 2.0 Non legato a MONO! Non legato a MONO! Oggi parliamo di… MonoRail

Ruby On Rails Buzzword del dopo Web 2.0 ovviamente! Buzzword del dopo Web 2.0 ovviamente! Ha imposto allattenzione di tutti Ruby come linguaggio di programmazione Ha imposto allattenzione di tutti Ruby come linguaggio di programmazione Ha imposto allattenzione di tutti un modello di programmazione agile Ha imposto allattenzione di tutti un modello di programmazione agile MonoRail recepisce ed estende RoR MonoRail recepisce ed estende RoR Fonte:

Molti nemici, molto onore… DJango: Python based DJango: Python based GRails: Java based GRails: Java based Akelos: PHP based Akelos: PHP based Flex On Rails:Flash/Flex based Flex On Rails:Flash/Flex based SubSonic: The Zero Code DAL SubSonic: The Zero Code DAL.NET based.NET based Estremamente automatizzato Estremamente automatizzato Poco flessibile (al momento…) Poco flessibile (al momento…)

Agile Web Application Framework MVC-Based MVC-Based: MVC-Based: Model: mantiene lo stato dellapplicazione e si occupa della persistenza sul database. Model: mantiene lo stato dellapplicazione e si occupa della persistenza sul database. View: responsabile della presentazione dei dati del modello e dellinterfaccia utente. View: responsabile della presentazione dei dati del modello e dellinterfaccia utente. Controller: riceve gli eventi dallutente, interagisce con il modello e richiama la vista corretta. Controller: riceve gli eventi dallutente, interagisce con il modello e richiama la vista corretta. Separazione dei compiti Ogni cosa al suo posto!

Agile Web Application Framework MVC-Based MVC-Based: MVC-Based: - home: controller - index: action (metodo) del controller home del controller home - index: view associata al controller home al controller home

Agile Web Application Framework MVC-Based AGILE: promuove un modello di sviluppo che, automatizzando i task ripetitivi, permette allo sviluppatore di concentrarsi sullapplicazione e non sullinfrastruttura. AGILE: promuove un modello di sviluppo che, automatizzando i task ripetitivi, permette allo sviluppatore di concentrarsi sullapplicazione e non sullinfrastruttura. Convention Over Configuration: limitare al minimo la necessità di file di configurazione, favorendo al contrario le convenzioni. Convention Over Configuration: limitare al minimo la necessità di file di configurazione, favorendo al contrario le convenzioni. DRY (Dont Repeate Yourself): evitare le ripetizioni di codice favorendo la condivisione. DRY (Dont Repeate Yourself): evitare le ripetizioni di codice favorendo la condivisione. Test Support: supporto per i test funzionali (controller). Test Support: supporto per i test funzionali (controller).

Costruzione di un progetto di base con Castle MonoRail Applicazione Demo

Rappresenta la parte Model di MonoRail Rappresenta la parte Model di MonoRail Implementazione del pattern ActiveRecord: Implementazione del pattern ActiveRecord: An object that wraps a row in a database table, encapsulates the database access, and adds domain logic on that data. (Fowler, Patterns of EEA)An object that wraps a row in a database table, encapsulates the database access, and adds domain logic on that data. (Fowler, Patterns of EEA) Basato su NHibernate Basato su NHibernate Persistenza gestita tramite meta-programmazione (attributi) Persistenza gestita tramite meta-programmazione (attributi) Non è necessario scriversi i file di mapping! Non è necessario scriversi i file di mapping! Validazione semi-automatica, gestita tramite attributi. Validazione semi-automatica, gestita tramite attributi. Operazioni CRUD ereditate dalle classi base. Operazioni CRUD ereditate dalle classi base. Disponibile anche separatamente da MonoRail Disponibile anche separatamente da MonoRail MonoRail components: ActiveRecord

Rappresenta la parte View e Controller: Rappresenta la parte View e Controller: Controller: Controller: Funzionalità di base per la gestione del flusso dellapplicazione Funzionalità di base per la gestione del flusso dellapplicazione Gestione automatica e trasparente della sessione Gestione automatica e trasparente della sessione View: View: Motore ufficiale: basato su NVelocity Motore ufficiale: basato su NVelocity Motori in sviluppo: WebForm, StringTemplate, Boo… Motori in sviluppo: WebForm, StringTemplate, Boo… Strumenti per la generazione di html Strumenti per la generazione di html MonoRail components: ActionPack

WebForms: WebForms: +: Infrastruttura basata su.NET +: Infrastruttura basata su.NET +: Supporto, documentazione, comunità di sviluppatori, ecc… +: Supporto, documentazione, comunità di sviluppatori, ecc… – : Complessità nella creazione e manutenzione delle applicazioni – : Complessità nella creazione e manutenzione delle applicazioni …my problem is that to do something that is more complex than just simply displaying one form on a page ASP.NET gets pretty complicated. Events are firing all over the place. I have to take viewstate into account… and then it became even more difficult to get stuff to respond the way I want them to respond. All in all it takes a really long time before I get something done properly…. Part of the reason for Ruby on Rails' quick adoption is that it provides a solid framework for development that has enough features to keep us framework quasi-developers happy while staying out of the way enough to make the framework work for the developer instead of against them (CSLA anyone?). It's slick and sexy. It's the iPod of development frameworks. MonoRail vs WebForms

MonoRail: MonoRail: +: Infrastruttura basata su ASP.NET,.NET e Castle +: Infrastruttura basata su ASP.NET,.NET e Castle +: Semplicità nella creazione e manutenzione delle applicazioni +: Semplicità nella creazione e manutenzione delle applicazioni Part of the reason for Ruby on Rails' quick adoption is that it provides a solid framework for development that has enough features to keep us framework quasi-developers happy while staying out of the way enough to make the framework work for the developer instead of against them (CSLA anyone?). It's slick and sexy. – : Supporto, documentazione, comunità di sviluppatori, ecc… – : Supporto, documentazione, comunità di sviluppatori, ecc… – : View basate su NVelocity, Model e Controller basate su C# - VB.NET – : View basate su NVelocity, Model e Controller basate su C# - VB.NET MonoRail vs WebForms

DotNetMarche BookStore Tutorial.Start()

Domande?

Slide e Materiale Grazie!