Speakers


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 »