Presentation is loading. Please wait.

Presentation is loading. Please wait.

An Agile Approach for Web Systems Engineering A Presentation of an Article by V.E.S. Souza and R.A. Falbo.

Similar presentations


Presentation on theme: "An Agile Approach for Web Systems Engineering A Presentation of an Article by V.E.S. Souza and R.A. Falbo."— Presentation transcript:

1 An Agile Approach for Web Systems Engineering A Presentation of an Article by V.E.S. Souza and R.A. Falbo

2 In the beginning... Web sites were static HTML Web sites were static HTML More power! Server side dynamic sites! More power! Server side dynamic sites! 1993 CGI 1993 CGI 1994 PHP 1994 PHP 1995 ASP 1995 ASP 1996 Java Servlets 1996 Java Servlets 1999 JSP 1999 JSP

3 Discovery of Business Value Web applications are born Web applications are born Value in anywhere access Value in anywhere access Easy to deploy Easy to deploy No need to install software on client No need to install software on client O/S independent (for the most part) O/S independent (for the most part)

4 Web Engineering Ad hoc web app development in the beginning Ad hoc web app development in the beginning Web engineering borrows many SE concepts Web engineering borrows many SE concepts Has its own special set of models, methods & technologies Has its own special set of models, methods & technologies

5 Web Engineering Frameworks Java Java.NET.NET PHP PHP Faster and more productive development Faster and more productive development Lends its self well to agile development Lends its self well to agile development

6 Rapid Development of Web Apps Using Java & Frameworks Identify business needs Identify business needs Plan project Plan project Generate requirements Generate requirements Model Model Implement Implement Test Test Deliver Deliver Allow end-user feedback & evolution Allow end-user feedback & evolution

7 Requirements Specification Model with a purpose Model with a purpose Use multiple models Use multiple models Discard non long-term value models Discard non long-term value models Content before representation [not strict UML] Content before representation [not strict UML] Know the models & how to use the tools Know the models & how to use the tools

8 Design Heavily dependent on the platform Heavily dependent on the platform WAE (web application extension of UML) WAE (web application extension of UML)

9 WAE - UML

10 Presentation logic layer Classes that are for the UI (web pages) Classes that are for the UI (web pages) Controls the interaction (controller package) Controls the interaction (controller package) Controller classes receive user input from the view call system functions (application package) and return the control to the view to display the results Controller classes receive user input from the view call system functions (application package) and return the control to the view to display the results

11 Business Logic Layer Application Package (intelligence that was defined in use cases, create, retrieve, update and delete domain package objects) Application Package (intelligence that was defined in use cases, create, retrieve, update and delete domain package objects) Domain Package (represents business domain concepts identified in requirements) Domain Package (represents business domain concepts identified in requirements)

12 Data Access Layer Store persistent objects in long-term duration media such as databases Store persistent objects in long-term duration media such as databases Advocate use of DAO design pattern Advocate use of DAO design pattern Decouples the data access logic from the database Decouples the data access logic from the database

13 Frameworks recommended by the authors

14 Object/Relational mapping framework Hibernate Hibernate http://www.hibernate.org/ http://www.hibernate.org/ http://www.hibernate.org/ Allows us to thing in terms of an object and its properties rather than a certain set of fields. e.g. person.firstName = Fred rather than INSERT INTO peopleTable.firstName Fred, not being concerned with the SQL taking place behind the scenes. Allows us to thing in terms of an object and its properties rather than a certain set of fields. e.g. person.firstName = Fred rather than INSERT INTO peopleTable.firstName Fred, not being concerned with the SQL taking place behind the scenes. Allows expression of queries in a SQL extenstion called (HQL), native SQL, or an OO Criteria and Example API. Allows expression of queries in a SQL extenstion called (HQL), native SQL, or an OO Criteria and Example API.Criteria and Example APICriteria and Example API

15 Controller Component WebWork WebWork http://www.opensymphony.com/webwork/ http://www.opensymphony.com/webwork/ http://www.opensymphony.com/webwork/ Reusable UI templates, form controls, UI themes, form field validation, form parameter mapping to JavaBeans Reusable UI templates, form controls, UI themes, form field validation, form parameter mapping to JavaBeansparameter mapping to JavaBeansparameter mapping to JavaBeans

16 View Component FreeMarker FreeMarker http://freemarker.sourceforge.net/ http://freemarker.sourceforge.net/ http://freemarker.sourceforge.net/ Allows web designers to work in parallel with programmers Allows web designers to work in parallel with programmers A generic tool that generates text output from templates A generic tool that generates text output from templates SiteMesh SiteMesh http://www.opensymphony.com/sitemesh/ http://www.opensymphony.com/sitemesh/ http://www.opensymphony.com/sitemesh/ Web page decoration and layout framework Web page decoration and layout framework Used to keep a consistent layout throughout all pages Used to keep a consistent layout throughout all pages

17 All Layers Spring Framework Spring Framework http://www.springframework.org/ http://www.springframework.org/ http://www.springframework.org/ Performs dependency injection to integrate the different packages Performs dependency injection to integrate the different packages Acegi Security integrated with Spring Acegi Security integrated with Spring http://www.acegisecurity.org/ http://www.acegisecurity.org/ http://www.acegisecurity.org/ Performs authentication and authorization services for both controller and application packages. Performs authentication and authorization services for both controller and application packages.

18 Conclusion The creation of agile processes for web development is promising The creation of agile processes for web development is promising The agile approach we use in traditional SE can be adapted for engineering of web applications. The agile approach we use in traditional SE can be adapted for engineering of web applications. Web applications need to be developed that can help refine an agile approach to web engineering Web applications need to be developed that can help refine an agile approach to web engineering The frameworks that are out there need to be evaluated further for their applicability to such an approach The frameworks that are out there need to be evaluated further for their applicability to such an approach

19 Citation


Download ppt "An Agile Approach for Web Systems Engineering A Presentation of an Article by V.E.S. Souza and R.A. Falbo."

Similar presentations


Ads by Google