BBC’s New Infrastructure: Java and PHP
Like most organizations the BBC has its own technical ecosystem, the BBC’s is pretty much restricted to Perl and static files. The good news is that they are planning to build a new infrastructure for bbc.co.uk and roll out a new Identity platform on it. This was announced on May during the XTech 2008 presentation that took place in Dublin, where BBC’s plans to reinvigorate its technical platform were revealed.
Why is the BBC doing this?
- Gradual evolution of the web.
- Antiquated web platform.
- Inflexible / proprietary architecture.
- Single Sign-On (SSO) was unable to adapt.
- Each project must have a clear customer and deliver a real benefit.
- Don’t Repeat Yourself (DRY). Life is too short to spend your time re-inventing things.
- Be as simple as possible. Just do what we need to do now.
- Be as open as possible. Assume that all services can be accessed from outside the BBC, by default.
- Start simple, then iterate. Build the smallest thing you could possibly need, deploy it, then build applications on top of it. Think building blocks, not monoliths.
- Don’t optimise prematurely. The service might not grow the way we think it will.
- Build to scale. Think stateless, think content delivery networks, think database resilience.
- Test often. So you know when you need to optimise. So you can maintain your code. So you can maintain your platform.
- Evolve. Teams, systems, support structures. The platform. These principles!
- Let it die. Be prepared to turn your system off, or change it unrecognisably.
- Service Oriented Architecture
- MySQL Repository
- OpenSSO Identity Management Core
- Java REST Services: Spring MVC
- PHP presentation layer: Zend Framework
Benefits of using the Zend Framework
- Zend Framework’s extensive unit tests, required for all contributed code, mean that exact situations can be recreated and problems diagnosed and pinpointed.
- The high-quality implementation of the MVC web application architecture provides a foundation for all Zend Framework applications.
- Internationalization (i18n) and Localization (l10n).
- Session management.
- Ajax support.
- Zend Framework tools (Wiki, Issue Tracker, VCS, Mailing List, etc).
- A vast community of talented developers.
XTech 2008 in Dublin
Presentation from XTech 2008 in Dublin, about the BBC’s plans to reinvigorate its technical platform and to create new user management service.