Speakers
- Ben Alex
- Michael Alford
- Andres Almiray
- Scott Andrews
- Alex Antonov
- Alef Arendsen
- Mattias Arthursson
- Shay Banon
- Jean Barmash
- Antranig Basman
- Chris Beams
- Burt Beckwith
- Peter Bell
- Tim Berglund
- Imad Bernoussi
- Jonas Boner
- Jon Brisbin
- Jeff Brown
- Kent Brown
- Dennis Callaghan
- Isaac Christoffersen
- Andy Clement
- Christophe Coenraets
- Adrian Colyer
- Michael Cote
- Joshua Davis
- Scott Davis
- Hans Dockter
- Keith Donald
- Christian Dupuis
- Hamlet D`Arcy
- Justin Edelson
- Mike Esler
- Mike Evans
- Danno Ferrin
- Robert Fischer
- Adam Fitzgerald
- Andrew Glover
- Jeremy Grelle
- Filip Hanik
- Colin Harrington
- Rob Harrop
- Ryan Heaton
- Jennifer Hickey
- Pete Higgins
- Hal Hildebrand
- Al Hilwa
- Juergen Hoeller
- Jim Jagielski
- Steve Jin
- Rod Johnson
- Mike Keith
- Jack Kennedy
- Mik Kersten
- Paul King
- Dave Klein
- Mark Kralj-Taylor
- Guillaume LaForge
- Costin Leau
- Scott Leberknight
- Peter Ledbrook
- Charles Lee
- John Lewis
- Patrick Linskey
- Martin Lippert
- Mat Lowery
- Wayne Lund
- Randy MacBlane
- Andi Mann
- Maudrit Martinez
- Ross Mason
- Steve Mayzak
- Tom McCuch
- Richard McDougall
- Sudhir Menon
- Marty Messer
- Russell Miles
- Jim Moore
- Ryan Morgan
- Justin Murray
- Billy Newport
- John Newton
- Peter Niederwieser
- Glyn Normington
- Brian Oliver
- Pratik Patel
- Prasad Pimplaskar
- Mark Pollack
- Alexandru Popescu
- Arjen Poutsma
- Yan Pujante
- Cameron Purdy
- Jags Ramnarayan
- Mark Richards
- Thomas Risberg
- Jared Rodriguez
- John Rymer
- Vipul Savjani
- Stefan Schmidt
- Mark Schwartz
- Nati Shalom
- Ken Sipe
- Brian Sletten
- Javier Soltero
- Randy Stafford
- Mike Stenhouse
- Matt Stine
- Rossen Stoyanchev
- Venkat Subramaniam
- Dave Syer
- Matthew Taylor
- Mark Thomas
- Greg Turnquist
- Thomas Van de Velde
- Erwin Vervaet
- Scott Vlaminck
- Alexander von Zitzewitz
- Chris Wall
- Craig Walls
- Lucas Ward
- Kevin Whinnery
- James Williams
- David Winterfeldt
- Chip Witt
- Eberhard Wolff
- Aaron Zeckoski
- Oleg Zhurakousky
- Ari Zilka
- Kris Zyp
Introduction to Spring Python
Spring Python is an offshoot of the Spring Framework and Spring Security module, targeted for Python. Spring provides many useful features, and I wanted those same features available when working with Python.
Spring Python offers many of the same useful features as Spring including: inversion of control, database template, transaction template, security, aspect oriented programming, and remoting.
These are useful tools in any programming language, and are the building blocks for enterprise applications. Code developers have used the Spring framework to leverage their development resources towards working on solutions for their problem space rather than plumbing code. This Spring extension gives users access to a pure python framework that solves many of the same problems.
While some parts of Spring have been ported, such as the formidable architecture of Spring Security, other things have been coded from the ground up using the dynamic nature of python, such as AOP. Everything has been coded to be succinct while providing the user with practical, usable tools to solve their problems.
This talk covers: - Brief history of Spring Python - where is came from and how it got started - IoC container - XML-based and pure python code-based (similar to Spring JavaConfig) - Database template - show sample code utilizing the template with row mappers, and how the backend database can be changed through configuration - Transaction - examples that show some parts using @Transactional with other parts configured through programmatic transactions - Security - show how PetClinic has been locked down with database-backed security without tinkering with PetClinic's components - AOP - show sample code of how to use this proxy-based pythonic solution to intercept calls - Remoting - show how PetClinic can be split up into a client-server model by plugging the python PYRO (Python Remote Objects) library in the middle, without the components knowing. - PetClinic (either slides or live, depending on technology options) - Current status and immediate roadmap - Future of the project
About Greg Turnquist
Greg has worked in the software industry since 1997, always seeking the right tool for the job. Greg joined SpringSource in 2010 as a senior software engineer. He previously was part of the senior software team working on Harris' $3.5 billion FAA telco program, architecting mission critical enterprise apps while managing a software team. While providing after hours support, he is no stranger to midnight failures and software triage.
Being a test-bitten script junky, Greg has used JUnit, TestNG, JMock, FEST, PyUnit, and pMock testing frameworks, along with other agile practices to produce top quality code.
He has worked with Java/Spring/Spring Security/@AspectJ/Jython technologies, UNIX/Linux/Solaris platforms, and python/jython/bash/csh/expect scripting. Being a wiki evangelist, he also deployed a LAMP-based wiki web site to provide finger tip knowledge to users.
In 2006, Greg created the Spring Python project. The Spring Framework provided many useful features, and he wanted those same features available when working with Python. He also wrote Spring Python 1.1 through Packt Publishing.
Greg completed a master's degree in Computer Engineering at Auburn University in 1997, and lives in Melbourne, FL with his family.
More About Greg »