rapid application development using foss
DESCRIPTION
Rapid Application Development using FOSS MVC frameworksTRANSCRIPT
![Page 1: Rapid Application Development using FOSS](https://reader033.vdocuments.site/reader033/viewer/2022051611/54ba1d764a7959320e8b4603/html5/thumbnails/1.jpg)
Rapid Application Developmentusing
Free and Open Source Frameworks
RAD Solutions Private Limited220/226, Sekhar EnclaveLane 3, Biju Pattnaik College Road, Jayadev ViharBhubaneswar 751015 [email protected]
![Page 2: Rapid Application Development using FOSS](https://reader033.vdocuments.site/reader033/viewer/2022051611/54ba1d764a7959320e8b4603/html5/thumbnails/2.jpg)
Page 2
Freely redistributable
Why RAD
● Today's world is agile● Requirements and business rules change dynamically● New application requirements emerge everyday● Traditional software development methodologies and
tools are no more adequate● Rapid application development and maintenance is
needed!
![Page 3: Rapid Application Development using FOSS](https://reader033.vdocuments.site/reader033/viewer/2022051611/54ba1d764a7959320e8b4603/html5/thumbnails/3.jpg)
Page 3
Freely redistributable
Moving towards RAD
● Switching from statically typed languages like Java or .Net to dynamically typed languages like Python, Ruby
● Using cutting edge MVC frameworks● Using FOSS software development tools
![Page 4: Rapid Application Development using FOSS](https://reader033.vdocuments.site/reader033/viewer/2022051611/54ba1d764a7959320e8b4603/html5/thumbnails/4.jpg)
Page 4
Freely redistributable
Dynamically typed languages● 5-10 times more productive than Java or .NET● Features making it so productive
– Dynamically typed● Type checking is done at run-time● classes and functions are objects, can be created and
altered at runtime– No Compilation cycle– Concise– Powerful
![Page 5: Rapid Application Development using FOSS](https://reader033.vdocuments.site/reader033/viewer/2022051611/54ba1d764a7959320e8b4603/html5/thumbnails/5.jpg)
Page 5
Freely redistributable
Why we prefer Python over Ruby and others● Popular
– Availability of Libraries, tools and frameworks– There is a good deal of free and open source
software available in Python for all kind of activities
● Faster● Some features like internationalization is
better supported
![Page 6: Rapid Application Development using FOSS](https://reader033.vdocuments.site/reader033/viewer/2022051611/54ba1d764a7959320e8b4603/html5/thumbnails/6.jpg)
Page 6
Freely redistributable
A few references
● http://home.pacbell.net/ouster/scripting.html● http://www.ferg.org/projects/python_java_side-by-side.html● http://www.artima.com/weblogs/viewpost.jsp?thread=4639
![Page 7: Rapid Application Development using FOSS](https://reader033.vdocuments.site/reader033/viewer/2022051611/54ba1d764a7959320e8b4603/html5/thumbnails/7.jpg)
Page 7
Freely redistributable
Leading RAD Frameworks
● Turbogears● Pylons● RoR● Django● Zope
● You may be interested to read Why I chose TurboGears
![Page 8: Rapid Application Development using FOSS](https://reader033.vdocuments.site/reader033/viewer/2022051611/54ba1d764a7959320e8b4603/html5/thumbnails/8.jpg)
TurboGears
![Page 9: Rapid Application Development using FOSS](https://reader033.vdocuments.site/reader033/viewer/2022051611/54ba1d764a7959320e8b4603/html5/thumbnails/9.jpg)
Page 9
Freely redistributable
Turbogears
● Rapid web development mega framework● A pack of many best-of-the-breed free and
open source frameworks for developing complete web applications
● MVC pattern● database-driven, ready-to-extend application
can be developed in minutes
![Page 10: Rapid Application Development using FOSS](https://reader033.vdocuments.site/reader033/viewer/2022051611/54ba1d764a7959320e8b4603/html5/thumbnails/10.jpg)
Page 10
Freely redistributable
Sample application
● Let's develop a sample application in minutes!● Refer http://radisfun.com/Tutorials
![Page 11: Rapid Application Development using FOSS](https://reader033.vdocuments.site/reader033/viewer/2022051611/54ba1d764a7959320e8b4603/html5/thumbnails/11.jpg)
Page 11
Freely redistributable
Unique features of TurboGears● Full support for SQLAlchemy – the complete ORM● Collection of best-of-the-breed components● Numerous widgets available● Identity management● Form validation● Being used by many vital products like TinyERP
![Page 12: Rapid Application Development using FOSS](https://reader033.vdocuments.site/reader033/viewer/2022051611/54ba1d764a7959320e8b4603/html5/thumbnails/12.jpg)
Page 12
Freely redistributable
Components of Turbogears
● Database ORM: SQLAlchemy, SQLObject● Controller: CherryPy● Template engine: Genshi, Kid● Javascript/AJAX library: MochiKit● Automated testing: Nose● Others: Widgets, Identity Management,
FormEncode
![Page 13: Rapid Application Development using FOSS](https://reader033.vdocuments.site/reader033/viewer/2022051611/54ba1d764a7959320e8b4603/html5/thumbnails/13.jpg)
Page 13
Freely redistributable
SQLALchemy
● The king of ORMs in Python● Mapper pattern – no restriction in mapping to
complex databases● Can handle composite primary keys● Powerful enough for complicated tasks● Extremely easy to use for all the basic tasks
![Page 14: Rapid Application Development using FOSS](https://reader033.vdocuments.site/reader033/viewer/2022051611/54ba1d764a7959320e8b4603/html5/thumbnails/14.jpg)
Page 14
Freely redistributable
CherryPy
● The application server of Turbogears● A pythonic, oo web app framework● Maps URL request to Python methods● CGI variables are mapped to method
arguments
![Page 15: Rapid Application Development using FOSS](https://reader033.vdocuments.site/reader033/viewer/2022051611/54ba1d764a7959320e8b4603/html5/thumbnails/15.jpg)
Page 15
Freely redistributable
Genshi
● The templating engine of Turbogears● Templates are well-formed XML● Supports template inheritance and XSLT-like
matching● Designer-friendly: viewable in browser
![Page 16: Rapid Application Development using FOSS](https://reader033.vdocuments.site/reader033/viewer/2022051611/54ba1d764a7959320e8b4603/html5/thumbnails/16.jpg)
Page 16
Freely redistributable
MochiKit
● The Default JavaScript/AJAX library of Turbogears
● Pythonic JavaScript library● “ Makes JavaScript suck less”● Well-documented● Reliable (lots of automated tests)
![Page 17: Rapid Application Development using FOSS](https://reader033.vdocuments.site/reader033/viewer/2022051611/54ba1d764a7959320e8b4603/html5/thumbnails/17.jpg)
Page 17
Freely redistributable
Others● Some other components of Turbogears are:
– Identity management● User, group, permission scheme● IP-based access control
– Widgets– Form Validation through FormEncode
![Page 18: Rapid Application Development using FOSS](https://reader033.vdocuments.site/reader033/viewer/2022051611/54ba1d764a7959320e8b4603/html5/thumbnails/18.jpg)
For Management
![Page 19: Rapid Application Development using FOSS](https://reader033.vdocuments.site/reader033/viewer/2022051611/54ba1d764a7959320e8b4603/html5/thumbnails/19.jpg)
Page 19
Freely redistributable
Benefits of Turbogears
● Better products can be developed much cheaper and faster
● Developed products are easily maintainable● Developers enjoy the development and
maintenance cycles● Learning curve is lesser● Customers get the “ time to market” advantage
![Page 20: Rapid Application Development using FOSS](https://reader033.vdocuments.site/reader033/viewer/2022051611/54ba1d764a7959320e8b4603/html5/thumbnails/20.jpg)
Page 20
Freely redistributable
Benefits of Turbogears● Business processes and back office
operations can be easily automated● Web solutions can be developed quite easily● Provides agile solutions, which do not resist
change● Achieves Productivity Arbitrage
– the competitive advantage gained by delivering solutions below market price, but incurring lower delivery cost by using new technologies.
![Page 21: Rapid Application Development using FOSS](https://reader033.vdocuments.site/reader033/viewer/2022051611/54ba1d764a7959320e8b4603/html5/thumbnails/21.jpg)
Page 21
Freely redistributable
Benefits of Turbogears
● Rapid prototyping– Customers say “ I may not know how to define my
application, but I’ ll know when I see it.” With Turbogears, the prototype could happen faster, in multiple cycles
● Iterative development is enjoyable
![Page 22: Rapid Application Development using FOSS](https://reader033.vdocuments.site/reader033/viewer/2022051611/54ba1d764a7959320e8b4603/html5/thumbnails/22.jpg)
Page 22
Freely redistributable
Conclusion
The cutting-edge MVC RAD frameworks are the answer to the agile business solutions of
tomorrow
![Page 23: Rapid Application Development using FOSS](https://reader033.vdocuments.site/reader033/viewer/2022051611/54ba1d764a7959320e8b4603/html5/thumbnails/23.jpg)
Page 23
Freely redistributable
References● http://sanjaypatel.blogspot.com/2007/07/why-i-chose-turbogears.html
● http://agilemanifesto.org/principles.html
● http://www.turbogears.org
● http://www.sqlalchemy.org
● http://www.cherrypy.org
● http://genshi.edgewall.org
● http://mochikit.com
![Page 24: Rapid Application Development using FOSS](https://reader033.vdocuments.site/reader033/viewer/2022051611/54ba1d764a7959320e8b4603/html5/thumbnails/24.jpg)
Thank You!