From f69354b16bc46c95b779eba9169df4165e438ace Mon Sep 17 00:00:00 2001 From: Luke Taylor Date: Tue, 26 May 2009 22:10:26 +0000 Subject: [PATCH] Added article on code structure in 3.0 --- .../src/docbook/codebase-structure.xml | 213 ++++++++++++++++++ .../docbook/images/spring-security-2.0.4.png | Bin 0 -> 70638 bytes .../images/spring-security-3.0.0.M1.png | Bin 0 -> 23089 bytes .../images/spring-security-3.0.0.M2-jars.png | Bin 0 -> 7988 bytes 4 files changed, 213 insertions(+) create mode 100644 docs/articles/src/docbook/codebase-structure.xml create mode 100644 docs/articles/src/docbook/images/spring-security-2.0.4.png create mode 100644 docs/articles/src/docbook/images/spring-security-3.0.0.M1.png create mode 100644 docs/articles/src/docbook/images/spring-security-3.0.0.M2-jars.png diff --git a/docs/articles/src/docbook/codebase-structure.xml b/docs/articles/src/docbook/codebase-structure.xml new file mode 100644 index 0000000000..95635db4bc --- /dev/null +++ b/docs/articles/src/docbook/codebase-structure.xml @@ -0,0 +1,213 @@ + + +
+ + The Spring Security 3.0 Codebase + Why have the packages changed in Spring Security 3.0? + + Luke Taylor + SpringSource + + An quick introduction to the code modules and package structure of the Spring + Security 3.0 codebase. + + + + Introduction + In versions prior to 3.0, most of Spring Security's code was contained in the + spring-security-core jar + There was also an additional spring-security-core-tiger + jar which contained the Java 5 specific code. In Spring Security 3.0 Java 5 is + the minimum supported platform, so this code is now part of the core. + . Over the years, as more features have been added, it has become more + difficult to track the dependencies both within the codebase itself and also on third + party libraries. For example, it's hard for a user to determine which of the listed + dependencies in the core Maven pom.xml are required for a + particular set of features within the framework. + In addition, the original package structure and class names have been around since the + framework's origins as Acegi Security in 2004, when only a few basic authentication + mechanisms were supported. As the amount of code has increased and the feature set has + expanded, this package structure has begun to show its age. +
+ Spring Security 2.0.4 Package Structure + + + + + +
+ + shows the high-level package diagram of the core, + core-tiger, cas-client and acl jars in the 2.0.4 release, as produced by the + Structure101 tool + Structure101 is an excellent tool for analyzing your own code or for + understanding someone else's. It is developed by Headway Software. + . You don't have to be an expert in code structure to realise that there is a + bit of a problem here. There are a lot of circular references and no clear overall + dependency structure within the packages. There are also some issues with packages being + split across jar boundaries, which can cause problems with OSGi, for example. + For more information on how to structure a large codebase, Juergen Hoeller's + Organization of Large Code Bases is an excellent overview of + the topic where he shares some of the insights gained from maintaining the + Spring Framework through multiple versions. You can find him discussing the + topic in an online interview transcript and an InfoQ video. + . This fragility in the code structure would likely have caused a maintenance + overhead as Spring Security evolved, so the decision was made to restructure the code + for the 3.0 release to give us a stable base for future development. + Let's take a look at how things are now organised. +
+ + Spring Security 3.0 + + Project Jars + The first thing we did was split the core out into several jars. The + spring-security-core jar now contains only basic + authentication and access-control code and is much cleaner. It has no dependencies + on LDAP or the servlet API, for example, and there are now separate jars for + web-specific code and for LDAP. We've also split out the namespace parsing code out + int a separate jar, as it depends on most of the other jars and doesn't expose any + public APIs that you are likely to use directly in your application. You only need + to use it if you are using Spring Security namespace configuration in your + application context XML files. The main project jars are shown in the following + table. + Spring Security Jars + + + + + + + + Jar Name + Description + When to use + Root Package(s) + + + + + spring-security-core + Core authentication and access-contol classes and interfaces. + Remoting support and basic provisioning APIs. + Required by any application which uses Spring Security. + Supports standalone applications, remote clients, method + (service layer) security and JDBC user provisioning. + + org.springframework.security.core, + org.springframework.security.access, + org.springframework.security.authentication, + org.springframework.security.provisioning, + org.springframework.security.remoting + + + + spring-security-web + Filters and other web-security infrastructure and related + code. Anything with a servlet API dependency. + If you require Spring Security web authentication services + and URL-based access-control + org.springframework.security.web + + + spring-security-config + Namespace parsing code. + If you are using the Spring Security XML namespace. + org.springframework.security.config + + + spring-security-ldap + LDAP authentication and provisioning code. + If you need to use LDAP authentication or manage LDAP user + entries. + org.springframework.security.ldap + + + spring-security-acl + Domain object ACL implementation. + If you need to apply security to specific domain object + instances within your application. + org.springframework.security.acls + + + spring-security-cas + Spring Security's CAS client integration. + If you want to use Spring Security web authentication with a + CAS single sign-on server. + org.springframework.security.cas + + + spring-security-openid + OpenID web authentication support. + If you need to authenticate users against an external OpenID + server. + org.springframework.security.openid + + + +
+ There is now a clearer separation of concerns at the jar level. For example, you + only need the web jar (and its transitive dependencies) if you are writing a web + application. This also makes the code easier to navigate and understand. The + dependencies between the 3.0 jars which now make up the same code set of code we + looked at for version 2.0.4 are shown in .
+ Inter-Jar Dependencies + + + + + +
+
+ + Package Structure + The package layout in 3.0 is show in . As you can + see, there are no longer any circular references and the structure is much clearer. + The core package and sub packages contain the basic classes and + interfaces which are used throughout the framework and the other two main packages + within the core jar are authentication and + access. The access package containst + access-control/authorization code such as the + AccessDecisionManager and related voter-based + implementations, the interception and method security infrastructure, annotation + classes and support for Spring Security 3.0's expression-based access control. The + authentication package contains the + AuthenticationManager and related classes (such + as authentication exception classes), the simple DAO-based authentication provider + and password-encoders.
+ Spring Security 2.0.4 Package Structure + + + + + +
+
+
+ + How will these changes affect you? + If you are developing a new application then obviously you won't be affected, other + than by starting out with new package names. But what if you are upgrading an existing + application or another framework to use Spring Security 3.0. The first thing is that you + will obviously need to update build paths and dependency lists to take account of the + new jar modules, but the divisions there are straightforward (see the table above). How + much the package restructuring will affect you will depend on how much you use the + framework classes directly or in explicit bean configurations (if you are only using the + namespace for configuration then it will hide the changes from you). Your IDE should be + able to help with changing imports and finding out where classes have moved to (a simple + Ctrl-Shift-Tor Ctrl-Shift-O in Eclipse can do + wonders). + There are other changes in 3.0 that will affect some users who want to upgrade but for + the most part, the underlying architecture is unchanged. + We hope you enjoy using Spring Security 3.0. + +
diff --git a/docs/articles/src/docbook/images/spring-security-2.0.4.png b/docs/articles/src/docbook/images/spring-security-2.0.4.png new file mode 100644 index 0000000000000000000000000000000000000000..b593384e4d7cda4571fefea02cc121948af5adae GIT binary patch literal 70638 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 QlEI&|dd6p7>R==P3ryRPQUCw| literal 0 HcmV?d00001 diff --git a/docs/articles/src/docbook/images/spring-security-3.0.0.M1.png b/docs/articles/src/docbook/images/spring-security-3.0.0.M1.png new file mode 100644 index 0000000000000000000000000000000000000000..10664ed10ead7ff86dfca57cbc09f43cd8de71aa GIT binary patch literal 23089 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 literal 0 HcmV?d00001