 Mae'r ffordd yn fawr i'w gwybod rhaid ar gyfer, rydym yn gweithio gyda'n gwybod, a gweithio'n gweithio'n gwybod ar gyfer. Felly, rwy'n gwneud Tom Ffithian. Rwy'n gyflaen cais gyda'i bob Gwymeth Cwm. Felly, mae'n hyn o'n ymddir i'r gweithio'r gweithio'r cydymu i gafodd gyda'r gweithio'r gwybod mai'r bwysig ar gyfer Gwymeth Cwm Cwmau Cwmau i gyda'r gwybod yma ar gyfer Gwmau'r gwybod. Um, we'll run through just a bit of a general introduction and give you some background on who the Royal Mail are. I imagine a lot of people won't know and talk about how Cepdemarra are working with them. We'll talk about the RMGE business platform, which is the big Drupal element of what we're doing with them. Then we'll go on and Charlie my colleague, we'll go on to talk about how we deliver projects for Royal Mail at scale. And we'll talk a little bit more about how we're evolving the platform and looking forward, looking at some of the innovations that Dries yn y c 없이wyd yma i'r cyfwale i pawr hwn. Rwyf ni'n gweld y cyforan o'r fullwin. Gw Fuckr, ac mae'n Tom. Maen nhw'n cael gefnol gymryd yma, ac mae gwasbru'n cymdeithas ynglyn â'r Unedig ac mae'r ein aethwyr llyfle'r gymryd yn un ffordd. Efallai mae'r uneg o 30 gwaith gwaith, wrth i ni hi wneud ar ymdrygu'n ymddangos oedd yn ymddangos hynny'n gwneud eithaf ar y flynyddeichel. Rwy'n argylched ar y rôl. Ac mae'n mynd i'n rhoi'r ffrifatigar yng ngyfwng, rydyn ni'n gweithio. Hei, rydyn ni, mae'n Charlie Dawkins. Mae'n gieithio'r ddweud y mae'r panerydd, mae'r ddweud yng ngyfaf. Rydyn ni'n cael ei wneud i'w ddechrau. Rydyn ni'n Cap Gioenai. Rydyn ni'n Cap Gioenai ar y cerddau 1997. Ond rydyn ni'n gweithio'r ddweud a'r ddweud ddweud. Rydyn ni'n gweithio'r cyd-dweithio ar y dyfrannu gyffredig. Cyfnodd dechrau yn Rhyw Grifodwyr Cymru. Dyna nefyd ryswm sydd yn wych yn gyfieithio i ryw unrhyw mwy o gymun, a'r meddwl am mynd yn ychynig i'w meddwl am y swyffyn yma. Dyna bod yw'r cwmh twych i sut y cyfraith rhywun mewn hefyd. Mae yw'r meddwl yw'r meddwl, mae'r mewn meddwl. Yn ymgyrchur a'r cyfle a rŵs a'r pethau, oherwydd llwyddon o hwn am Efraith Felly, mae'r gwaith yma yn ymweld i'r gweithio dynol, a'r gweithio yma yn y dyma, a'r fforddau o dynol yn ei bwysig yn ymwybod ei ddweudio. Felly, mae'n ddweud i'r busnes logisticaiddol i'r fforddau logisticaiddol yma, ymweld i'r ddweudio i'r ysgrifenni, i'r ysgrifenni. Felly, mae'n dweud i'r olfyddiaeth yma yn y gweld, a so mae'n fyrdd o'r 500th anferstru a'n ei ddweudio! Felly, mae'n ddweud i'r ysgrifenni a'r hynod o bwysig ar y mynd i gael ei hystryd. Beth yw gweithio wrth gwrs yn gweithio bwysig a ynogi nhw'n amgylchedd yn Ydiogel â fydd yn Mhymbaill ac roedden nhw'n bwysig ar gyfer gael Ffantaf Gwaser ac yn gwneud ar gyfer Gweithfarn Gwneud yn mynd i gael. Yn y clynyddu llwyddo arser ychydig ar gyfer Gwyddo gofyn 29 miliwn gyrsau yma, mae'r Gwyddo wedi'u gwneud o bwysig ar gweithio. Mae'r cwysig o'r rhan o'r 13 billion letter a 1.1 billion parcels a'r 6th largest contributor o'r economi i'r Unedig, ac mae'n meddwl o rhan o'r 162,000 rhan o'r year o'r rhan o rhan o'r 180,000 rhan o'r Christmas time, ond mae'n rhan o'r Royal Mail'r busiest time o'r year, ac mae'n rhan o'r Christmas. Mae'r cwysig o'r rhan o'r half o'r parcels o'r UK o'r Royal Mail. Cepshويwch am bwynt, ond mae'n fawr, cwysig o'r bwysig o'r cwysig, a'n cael eu gwahwy o'r cwysig o'r cwysig o'r cwysig o'r enfygoedd, ac o'r cyfnodol a'i cywbeth o'r cyfnodol a'r cyfnodol i'r cyllidwnol i'r cyfnodol i'r cyfnodol a phobl i'r cyfnodol sy'n meddwl o'r cyfrifiadau a'r cyflwyfiad o gael yma, a ddersfodd o'r 40 oes ddaw include. of all the people in Capcom and IR in India. We started here in Mumbai in 2001, so really, really important to us. It's a real hub for innovation, so we've got a sense of excellence in India for digital customer experience, for mobile and for testing services. Going back to Royal Mail, some of the background around some of the challenges that Royal Mail faced when we started working with them. As we all know, customers are moving through this digital evolution of technology and are wanting more and more digital services to interact with organisations. Royal Mail wanted to make sure they were investing properly in their digital channels. The needs and the wants of those customers were changing using that technology. Dries talked about some of the notifications and push models and different models of digital interaction in this keynote this morning, and that's very, very true, particularly when you think around something like receiving a parcel or sending a mail item. Royal Mail wanted to address those customer needs and target some really high-value customers in terms of all the organisations who are booming in terms of online dispatch and delivery. Finally, they had a bit of an aging platform at the time that we started working with them, and that's holding them back, limiting the rate at which they can respond to the amount of market price. So, one of the key plans was to make sure that the platform that we designed and delivered was flexible and could evolve and not hold them back at any point in the future. So, back in 2010, Kevin and I and Royal Mail Group started working together to transform Royal Mail's business and consumer online services. It started out very much as a partnership focusing on the online channels and the digital experience, but over the last five, six years, that's expanded into how we can use technology to evolve and enhance their operational delivery systems and their working processes to make them more efficient as an organisation and increase their competitive edge. So, we've sort of ended up now at six CEOs on with a really mature, structured and collaborative partnership which is able to take the best really of both organisations and combine that culture to deliver success. So, there have been in the six years some major events for Royal Mail that we've been a part of together. Back in 2012, London hosted the Olympics, which was a really big event for the UK as a whole, but Royal Mail, as one of those leading brands in the UK, took a real part in everything that was going on with the Olympics. So, one of their commitments at the start was every time Great Britain team won a gold medal, they committed that they would have a stamp issued by the next day with that athlete on it. And it turned out that Great Britain mentioned quite a lot of the Olympics for us, which was fairly unusual. So, there was a lot of stamps, a lot of focus, a lot of media coverage on that, and that drove a lot of traffic to the business platform through all their digital channels, but also had that real focus on how operationally transforming something that was a piece of artwork that didn't exist 24 hours ago could then be on a stamp that was being put on that is going on in the UK. It was a real lack, a real machine. Round about a year later, Royal Mail, who up until 2013 were a publicly owned, sorry, a publicly owned company the right way around, they privatised, they floated on the UK stock market. And that had a different kind of focus, media presence, investor relations, all that kind of thing was really, really key to making sure that the share price got off to the best possible start and that the IPO could take place successfully. Not so much a one off event, but as I touched on, Christmas is a really keen time of the year for Royal Mail. They start planning for Christmas and around about April, looking at the patterns of the previous year, looking at what they need to do from both people, operations and technology perspective to support the following Christmas. And Royal Mail, because of their obligations to deliver everywhere, every day in the UK, they act as the overflow capacity for the other deliverable distribution companies in the UK who maybe at that time of the year can't cope or don't have enough capacity to deliver all the parcels at Christmas time. And again, I talked a bit about the celebrations this year of Royal Mail's 500th anniversary and looking back at that and recognising some of the innovations that Royal Mail have done throughout their history and continuing to do today. So, right back from the invention of the world's first stamp, which we think of as a given today, through to in 2004, creating the first digital stamp that could be bought and printed off online and they're looking today at how they can evolve that even further. Now I'll talk a bit about the bits that you're probably all here to hear about, which is the business platform and Drupal's example in it. So, as I said, Royal Mail's e-business platform is their primary online channel. It's the front door to their organisation with the customer and it gives them e-commerce, consumer services and business services, all online. Built, hosted and maintained and still building an enhanced scheme today, like I've done that. And from a consumer perspective, it consists really of five primary sites. There's five key brands, essentially. There's the Royal Mail letters, which is RoyalMail.com, which is a consumer-focused channel around how everybody in the UK can interact with your online services. There's then a business-focused portal, the Royal Mail business portal, which is focused on helping small, medium-sized enterprises find new ways to grow and almost have a one-stop shop for buying Royal Mail services and using Royal Mail to support their business. Then there's Passerforce Worldwide, where Royal Mail's specialist career service. There's the Royal Mail Group website, which is the corporate and media investor relations content. And then talk about some of the changes in the operational space that's a service that launched fairly recently called Mailmark, which is around putting a barcode on every single item of Mail that goes through Royal Mail systems, particularly for the really large organisations sending millions of items of Mail every week. That's a key innovation that was both a digital channel but also operational change for Royal Mail. We support around about 100 different applications and API services through the platform. It's not just Drupal, as we'll see a little later. It's a combination of the best open-source technology, software as a service, but also some proprietary long-term technologies as well, with that key of making it a portable architecture that has new technologies along and then become a key avenue for us. We can add that to the architecture of the new thing, which may be of new technology. But here's just a quick click through the Royal Mail.com consumer website to give a flavour of some of the different branding presences as the business portal, where small deal enterprises, Passerforce Worldwide, you can see much more emphasis there on the content about Royal Mail. I'm going to talk a bit about Royal Mail and their extremely inventing stamps and putting a stamp on letters and creating stamps to them. They're more than just creating stamps, so the applications that we build and that we support are much more than just about creating and printing stamps. The first application is called Track and Trace, and this is just to bring a selection of them through. When a user is ordering a parcel or bought something maybe through Amazon or any other online retailer, they're often given a tracking number, and then they can come to the website and they can look up the status of that delivery so they can work out when it's going to be delivered, what status this is. Maybe it's already been delivered whilst they've been at work and they can see here the signature at the bottom, which is the proof of delivery. Maybe it's been delivered to a neighbour. It's worth mentioning for Track and Trace as well as providing the website interface. We also provide a number of APIs, so that allows partner organisations to talk through to get the tracking status information for embedding on their own websites. If, for example, you're looking at the status of a parcel from Amazon and it's been dispatched with raw, you're seeing the service that's being called by Amazon to get that status. The most important thing if you are sending a letter is to make sure you get the address right, make sure it goes to the right place. We provide a service which looks up, validates and also confirms the full address that someone's wanting to send it to. From there, the user can go off and buy the postage online or get directions to that address if they're just curious about where that place is. Then we move into some of the more or less obvious services, I guess. This service is called Redirections. When someone's moving house in the UK, as I'm sure is the same the world over, it's quite a stressful experience and you don't necessarily want to be changing the address on everything the day you're going to move. The Redirections service that Royal Mail provides lets you essentially buy a subscription for three, six or 12 months where you can have your mail redirected from your old address to your new address. Again, the user interface for that and deploying that is all built through Drupal, talking to Royal Mail's back-end distribution services to make sure that that takes place and lets that activity occur. In terms of receiving a parcel, maybe you're out, maybe the parcels delivered whilst you were at the shops or at work. Royal Mail posts this card through the door which says we missed you when we tried to deliver. They keep that parcel safe, they make sure that they're not just leaving it on the doorstep or leaving it somewhere insecure. They will then let you book and reschedule that delivery online so that you can have it delivered at the time it's suitable to you. Then we do get on to stamps and this is one of the avenues for the digital stamps that we talked about. Online postage is a service that lets you as someone who's wanting to send a parcel put in all the attributes of that parcel so weight and size and where you want it to go to to work out the pricing and then actually print that off on your computer at home. That's useful for people who are maybe selling items through eBay or other online marketplaces and generates this label. The really important bit there is the barcode that contains all the data about where that item of mail should go and what's being paid for it to make sure it gets to the right destination. Again, that's a service that has both the online user interface approach to it but is also then provided as a set of APIs that allows really big partners who are doing a lot of transactions through this to generate those labels, generate those barcodes as an API service. That's a really important part of the platform. As you probably start to realise and as I touched on, there's a complex architecture behind all of this. It's not just Drupal. We wouldn't want it to be just Drupal because there's quite a few headaches in there that unfortunately Drupal wouldn't necessarily be the right solution for. This is the architecture and I'm not expecting you to be able to see all of the individual services on there but it's really to give a flavour of just how many products and services there are within the architecture. What you can see at the top row is the interaction element and that's where Drupal's primary focus is so that's providing the content management, personalisation, e-commerce, integration with search and multivariate testing services like web friends that are up there but also does touch into the service integration layer in the middle providing some of those APIs that we talked about but for APIs that are pure integration we don't want them to go through mainly for reasons of scale and efficiency. We use integration technologies like Apache Camel, which is a Java framework to provide those APIs and that integration tier and then we've got things which again we wouldn't want to manage natively within Drupal we've got integration with payment gateways and we use a company called DataCache who are part of the MasterCard group to ensure the PCI compliance of all the credit card transactions that we take hold of. We use hosting partners some of the others that are worth coming out we have integration with some SaaS CRM providers so we use Salesforce as a customer and relationship management all integrated with Drupal and Drupal are an important part of it bringing some of that flavour of the variety of applications that we're supporting. I talked a bit about already where Drupal does fit in with that and essentially everything that the user can see that it is raw emails online presence they're seeing Drupal we've got a mixture of Drupal 6 and Drupal 7 sites one Drupal 6 site left which we're excited to see Drupal 8 and the possibilities that gives us but we're still with 6 and 7 at the moment we're doing content and campaign management through Drupal we're doing user profile management so although we're using a single sign-on solution we're allowing the user to access and update their user profile through the user profile management streams in Drupal all the user-pacing applications are Drupal using the Drupal commerce modules and some of the interfaces that the customer contact centres use are also Drupal Drupal screens and then as I mentioned there are a few APIs where the selection is right for it to be presented as a service from Drupal so using Drupal services capabilities there was that talked a bit about it being a high-scale platform and we had some of the numbers about Royal Mail earlier so this brings in what we're supporting in terms of of traffic to the platform so we're doing on average around about 62 million page views every month there's about 7 million registered users which although in a country the size of India probably doesn't seem like very many that's around about 10% of the UK population have got an account with Royal Mail so it gives a flavour of the scale in terms of the UK operations the tracking requests that I mentioned for the parcel tracking we're doing around about 60 tracking requests every second and since we launched the commerce aspects and platform back in late 2011 we've done around about 54 million commerce transactions so quite a throughput and quite an important part of Royal Mail's revenue generation some of the trends around that we talked about the Christmas pressure and that 62 million average increase is by about 60% through the last quarter of the year to 95 million page views in December last year and around about 12 million unique visitors in December so again you see the importance of that Christmas time the pressures there, people wanting to know where their parcels are people coming online to generate the postage for sending presents to their families and friends and that drives a lot of traffic through the platform so talking a bit more technically about some of the things that we've done to make Drupal scale to support some of those numbers because we think the numbers that we've got make that set of sites one of the largest Drupal implementations certainly in Europe so we do object caching so we use memcache which I'm sure a lot of people here will have used to minimise the number of queries that we're making to the database but we don't need to go to the database every time to generate their information so we'll cache that in memcache and then in terms of the output that gets generated we're also using reverse proxy caching so we're using a product called StingRate which is a reverse proxy cache for caching the generated HTML of the page so again we're minimising the number of bootstraps that Drupal needs to do talk about the database and how important the database is we want to make sure that that database is as tuned and running as efficiently as possible so talking about things like having 54 million orders in our Drupal commerce installation really key to make sure that our indexing is correct on our databases that anything that we're exposing is a custom view we've made sure that we've double checked the entities and the things that we're sorting on or searching on are properly indexed and one of the related ones on the database there is revisioning actually so we had a nice gotcha which is nice to see Alex in the audience he actually, when he was working with us found this nuance of how Drupal 7's field system worked and even with revisioning disabled in Drupal 7 if you've got custom fields on an entity Drupal still writes to the revision table it doesn't create all the history of the revisions but it does do the right to the revisions table so that was causing more queries than we needed to to the database and so the module field sequel contributed back to Drupal.org and is still active today and that basically eliminates those extra writes so through installing one module which effectively is defining a new database back-end for Drupal we halved a number of write queries on an entity insert or update where revisioning wasn't important so that had some real big benefits for us some of the other ones which again are fairly common so I won't go too much into detail but not processing everything so using Drupal's QAPI to queue up requests and make sure that you can back off requests and smooth out the peaks and troughs and demand not making cron do everything in the background but splitting out the jobs and making sure that you're isolating those running them when you want to and having the impact that you want them to and then on PHP versions and this is one of the biggest single wins for us that we essentially get for free by the PHP community being as great as it is in terms of looking at performance the increase in performance that we get between PHP 5.3 and 5.4 and then more recently 5.4 to 5.5 have been absolutely huge I think Charlie's got some numbers when he talks in a little bit but real big benefits and looking at what's happening with PHP 7 where we're sort of investigating how feasible it is for us to get Drupal 6 running on PHP 7 which having done the work for getting to 5.5 the good news is it's not too much extra effort so that's hopefully something we'll be doing in the future So now I will hand over to Charlie and he's going to talk a bit about how we work as a team how we organise ourselves and how we deliver projects at this kind of scale Thank you very much, Tom Okay, so the first thing I just want to say is for Royal Mail it's not just Capture O and I they have a multi-partner ecosystem so there's lots of involvement from Accenture, ATOS, HCL and CSC and it's not just Capture O and I but also ATOS, HCL and CSC and in fact I'm involved in a go live four o'clock in the morning tomorrow where essentially ATOS, HCL and CSC and Capture O and I are involved so that's going to be fun for eight hours What we have is a one team approach we try to amalgamate as much as we can between our project team and our service team in the UK we have roughly about 40 staff where 36 of them are working on projects and four of them are on the service team whereas in India we have 33 on the project team 50 plus there's more than 50 actually on the service side So how do we work? Well we have two speeds of change that we do we have two lanes and four which essentially is we're delivering every four weeks into the production we try to do it faster we've tried to do it slower we've done pretty much four weeks now for the last two years it works very well it's a challenge always trying to deliver something into production every four weeks where major enhancements are going on at the same time is a challenge but we've been able to do it for two years there's continual improvement of what we're trying to do we're trying to improve everything that we do each time we try to do more automated testing et cetera and try to get things out there a lot faster the four weekly cycle is so we can do some rapid response to the client we've got something that they want to do within four weeks to put it in the backlog for that four weekly cycle and therefore they know they're going to get it in production within four weeks of course the content they can change the content anytime they like and they do change the content continuously the four weekly gives us a scaffold for all of our other activities that we do every four weeks we do performance testing we do a full end to end performance test of all of our websites we do a full platform regression test quite a lot of that is automated but it's also something that's done manually and our deployment process is the same we build, we deploy exactly the same all the time typically in one of those four weekly releases we do about 20 to 30 items sometimes we can go as low as 6 or 7 but most 20 to 30 in parallel with that we have bigger projects running these are usually 3, 4, 5 months and sometimes as long as a year typically we have about four of these running in parallel we have got up to 5 or 6 and essentially it's a dedicated project team that's working in parallel with the existing core team they will run their own development their own testing their own Scrum Master, Stroke Project Manager and they try to merge what their releases are into our monthly cycle because it's easier because of the scaffolding that we have in place but of course there's sometimes where we have to do it outside of that monthly cycle because of pressures from the business so our monthly release cycle essentially we've got a four week sprint it is a little bit waterfall towards the end we do have a UAT step at the end on the fourth week and we also do have a PVT test that we run after that but essentially we are iteratively building the features that our client wants over a three week period fixing it in the fourth week and actually we start the next sprint in parallel now with the fourth week we always use to keep that exactly it's four weeks, it's four weeks, it's four weeks but the capacity of the core team the number of defects that we get it's actually quite low so they can actually start in the new features of the following sprint in parallel with that fourth week we have a cross functional team we have project managers people like myself, Stroke Scrum Masters position architects Tom's already mentioned we have Camel which is our Java framework for doing our integration we're doing a lot more integration work at the moment so that's actually quite key for us we've got the Drupal team of course is a business analyst and testers those roles can scale up depending on how much work we've got if we've got a bigger project we might scale that up to have four or five Drupal people maybe one or two integration people more testers we can also scale to multiple teams so we try and keep the same team structure and also some of those roles can be shared across teams so sometimes our Scrum Masters could be looking after two teams our solution architects could be looking after three or four of the teams what is really key to us is the quality of what we deliver and what is key to the client is the quality of what we deliver they are very very much really right guys it's quite surprising for websites sometimes but having come from a real time background of defence and stuff like that sometimes it feels a little bit OTT but we keep to it and we try our hardest to give them exactly the quality of what they desire so all of our developers have a very good machine they will develop their code in a feature branch they will commit that and push it through to Git and they will request and which automatically will run the unit test and the code style checker there is also manual code reviews so people are invited for code review so we have a process in place where we say we have to have two approvers and we like to make the whole team if possible review code everyone is invited everyone can look it's a learning curve it actually is a learning curve for everybody concerned most of the pull request is to develop branch and then nightly we do a build automatically it does around about 11 o'clock depending on which site it is and that will then run a number of automated B-hat scripts to make sure everything is okay we actually do get emails come out to tell us how those B-hat scripts worked and then some of our features because they are new features we are not into doing BDD at the minute or test driven development we are trying it but we are not getting there we have still quite a lot of manual testing that's done one of the main things that we use is Slack for our communication for our collaboration between the themes we love Slack, it's really good it gets too techy now and I have to hand back Thanks Charlie Charlie talked about the regular repeatable build process that we have built up over the years and that is really, really key to the success of the platform it's able to be the same process that we are running in development in tests and then our ultimate production deployments so just talking through some of the components that make up that build process I'm sure a lot of you are familiar with Droshmake so we are using Droshmake to effectively assemble our site and do the initial build so it's checking out the code from the various repositories and assembling that into the Drupal site route fetching and applying any patches that we might have either submitted to Drupal.org that haven't yet been committed or patches that other people have submitted as well and then we execute the site install around that we then got Capistrano which is a Ruby based build and deployment tool we use it as a wrapper to Droshmake mainly so that we can take advantage of running some of the other commands that Drosh won't give us but also managing the configuration that we want to apply to different environments so what we've built out is a means to define configuration on a per environment basis provide overrides to production and essentially merge those settings together so that if we've got different endpoints in test environments if we've got different settings because we're building something new and that's entailed in evolution of the configuration we're managing it there one of the items in Drupal 8 we're really excited to see what the configuration management will bring to our build process and that's something we're exploring at the moment and then the final part of Capistrano is we use the r-sync deployment strategy in Capistrano so that regardless of whether we're deploying to a single server QA environment or a high number of servers in a pre-production or production environment we're using exactly the same build and deploy steps every time in terms of those environment configurations the services that set up in the environment and running around that we're using Puppet for the configuration management of that and the installation of the different services and again that's hooked up to jobs that we can just build an environment through a Jenkins job and build that with the configuration that we're expecting so really really key to enabling us to stand up a new environment if we've got a new project that needs a dedicated test environment for example and then I mentioned Jenkins and we're using that as the job scheduler managing when the jobs run who can run them when they're going to run automatically but also managing the pipeline of events so rather than having a single job that's doing all the build and test splitting up so that if the build succeeds it then kicks off the testing jobs that Charlie talked about and we use the trend analysis there to look at what's passing and failing and also look at things like the unit test coverage the code style metrics just to see what our view on quality over time so as I said we started out a few weeks ago and it's evolved over that time and will continue to evolve so I just wanted to talk through a couple of things that we've done as part of that evolution and Dries talked in the keynote this morning about the move to more modern web architectures and Drupal certainly Drupal 6 and 7 are very much built around the traditional web architecture where the browser is making requests coming through the firewall and the orchestration of requests through an integration tier or off to the database so pretty much your web application in that architecture is doing all of the heavy lifting and all of the orchestration the more modern web application architecture that allows for some of the decoupled frontends that Dries was talking about still has that web application tier responding to requests but also adds in the browser making through JavaScript frameworks like AngularJS Backbone or Ember directly to an integration tier to build services and essentially comes back to the concept of eliminating Drupal bootstraps where we don't need them so if we're getting something from a backend API or service we don't need Drupal to tell us that so we can go and talk to that directly and also then expose those through multiple channels, multiple partners so what does that look like so this is one of the applications where we've taken this approach on it's called Price Finder enter a bunch of parameters about the item that they're sending through the mail and come up with the price and the other attributes of that service that they're going to pick so what we do is we're using Drupal to provision the underlying page or the menu help content and supporting content like that, the footers all brought in and provisioned through Drupal and in this case we're using panels and page manager to assemble that page and then essentially we've got a pane that is the greyed out area in the middle and that's instantiating an AngularJS application so all of the attributes about where you're sending to so we've got UK overseas or whether you're sending to one of the armed forces the item that you're sending, the size and the price are all accessed via APIs that are implemented in our Java Camel integration tier and then the most important thing is that to the user they don't care about any of that they're getting a seamless, responsive user experience presented to them with Drupal providing that wrapper with those services evolving under me the other real big win that gives us is we talked a bit about the number of different sites with different user interfaces and different themes and also the mix of Drupal versions and building things in that way let's us have a single tier providing the API but then let's us move the AngularJS between different Drupal versions between different applications and even give that code to partners to put on their own sites and still accessing the APIs still doing it consistently we've not had to rewrite the code four or five different times following up from that we've also begun to create more in the way of shared services and what I mean by shared services is really the same thing that I was talking about in the previous section but wrapping up both API integration and UI presentation layers so in the integration tier we're using a microservices type architecture to build small independent API services which we can glue together in different ways to create new services create new capabilities that then gives us a pattern for building those services to federate them with partners and other customers and so to bring that to life a bit the first example that we're doing with this is a shared payment service so previously we had all our credit card integration with the payment gateway that I talked about earlier implemented almost on a case by case basis through those payment journeys and if someone was building a non-drupal application that maybe needed to be part of Royal Mail's estate or was a partner application they'd have to build their own implementation to those payment gateways so what we've created is essentially and it's development work that's going on at the moment is a payment service any Royal Mail service or partner to integrate to it and come up with a set of payment mechanisms so that might be a credit or debit card payment it might be a PayPal integration where it might be using some of Royal Mail's internal charging mechanisms and gives that ability to swap in and out different payment gateways, different payment methods without the integration from the applications changing so this is a real avenue that we're looking for the future on an approach to building some of these user interfaces and let Royal Mail get the maximum use out of them even for elements that might not be within the core e-business platform and the other aspect that's really important to us is how we code for the future, being aware of things like Drupal 8 coming out things like architecture techniques evolving so there's a lot of work we do on how we're going to manage our code how we're going to write our code so one of those approaches is making sure that we're building reusable components so we're taking very much an approach of building reusable PHP libraries rather than necessarily writing a new Drupal module every time and using object orientated approaches which again more and more prevalent in Drupal 8 now to increase the portability between versions again a PHP version we can easily lift and shift between Drupal 6 between Drupal 7 and when we eventually move to Drupal 8 we'll be able to use that same library in Drupal 8 and also testability of those libraries so by building something as a standalone unit testable library as I'm sure many of you have found unit testing in Drupal 6 and Drupal 7 is a hard problem to solve so the more we can separate out and just build standalone PHP that gives us a lot of benefit we've also started using symphony components in our Drupal 6 and 7 sites so I sat in the audience at Drupal Con Denver when Dries and Fabian Potentier announced the collaboration between the Drupal project and symphony around about the same time we started looking at how can we take advantage of how some of this could help us with Drupal 6 and Drupal 7 so again we've created another contrary module to provide a wrapper between Drupal 6, Drupal 7 and symphony's dependency injection container which then lets us bring in a lot of the other symphony components so we're using things like the event dispatcher some of the file system components and some of the more developed data again similar reasons to why we've write PHP libraries really standardisation so symphony's use of design patterns means that for developers who are new to Drupal and have maybe come from other programming backgrounds the patterns are a lot more familiar portability again we can move those components and how we're integrating with those components between Drupal versions more easily and also preparing for the future upskilling our team, making sure they're aware of what symphony can bring to the party how we can use it and how it could work with Drupal so that when we do come to Drupal 8 as we're now starting to look at we can get a head start you listened to us talk for quite a while now and I think we're doing, we're not doing too bad for time we also had hope to be joined by one of our colleagues from Royal Mail but unfortunately travel plans meant that he couldn't make it to the last minute so he's given us a short video which we'll play through now Hi, I'm Paul Search I'm the e-business programme director at Royal Mail Group I work in a Mount Pleasant office in Farnbin in London at the moment Royal Mail is undertaking the largest industrial transformation of its kind e-business is key to the way that our customers interact with us it's our primary work channel it's our e-commerce channel and it provides self-service products and services most of them maintain by-cap Gemini and it's supported in collaboration with Royal Mail so the e-business platform is Royal Mail's front door for its customers we provide that service through our four key websites which is Royal Mail Group Royal Mail Letters Royal Mail Letters Business and Partful Force Worldwide so Drupal gives our business users a flexible and efficient content management system but we've taken one step further than that so we've now got complex applications developed in Drupal that's enabled the business to move on as a pace and deliver the service that our customers expect from us so a few people aren't shopping anymore they're all ordering online online market sales market sellers are increasing they've got to post it somewhere post it to Royal Mail and we're able to track it so it's going to be great it's going to be delivered and we're eating another market break so I think one of the key things for me in this is that we all share the same value we all want to do this right by the customer we want to give the ultimate customer experience working together and bringing the different skills that everybody's got to the table working together discussing, disagreeing sometimes not always agree but we'll come out with the right answer for the customer and the businesses that brings us to the end of what we're going to share and it's really great to hear from Paul there not just someone who comes from a group background saying how a great group has been but hearing the client give us the thumbs up as to the real change that Drupal and the EU business platform has been able to bring to as Paul said in the last few months of history the distribution market has got really high levels of competition and innovation going on and that landscape is really great for the new champion so Drupal's enabling all now to respond to that challenge respond to that change and support the transformation of their organisation we're really looking forward to what the next five or six years might bring and from working together and we're looking forward to how thanks all for listening it's been a real privilege to be able to talk to today and share what we've been doing and if you've got any questions then please feel free I'll be happy to answer thank you so much it was a fantastic presentation thank you for sharing so many details about your stack and the techniques it was amazing the size of your operation I don't know and I was kind of wondering how you managed that API ecosystem and I was wondering with vendors up there like Apogee and Nealsoft and so on and so forth I think there's a UK-1 Metternal have you guys entertained the idea of maybe bringing on that as a service and what you would gain from that kind of management layer and sometimes all looking at the instances we did in the body auction and all that and at the time just the slightly more lightweight approach that Campbell was taking gave us a bit more orientations and I'll give a slight disclaimer of not being expert in Java and the integration technologies gave us a bit more flexibility about how we wanted to manage the architecture in terms of exposing those APIs to the outside world to write that API management piece is key in this work and how we've federated those APIs out both to the consumer and the relations but also to the mobile channels so it's a good question and I just want to be back for the just a quick follow up so are all of the clients of your APIs all internal is it all so do you have client-facing APIs or open APIs and we've got a mixture of both they're not open open so they're not there for any consumer in the public to access but partners who have a commercial relationship can essentially procure access to those APIs to support their business so we talked a bit about eBay and so on and they've got that relationship and partnership with Royal Mail was their dispatchable representation to Manchester so yeah there were methods at that moment and we're just looking at how we'll be able to widen that out and increase that in business not with these hands but they are curious about how they go about that and that is a new amount but a lot of that I've got this huge ecosystem of all sorts of other tools that you've got plugged in and it's been going for five plus years and it looks like going on to zero have you thought about or experienced where in one of those products stopped being either relevant to the future or we've done this definition in one of the corpora or have you swapped that out and like I said have you kept yourself from your legacy? Yeah it's a good question actually and actually there are some bits where we have done that already so when we first started the platform our core integration technology wasn't a patch of cattle that I mentioned at the start it was an application called CORDIS which was done now by Open Text and there was a move probably about two or three years ago probably where we started looking at okay what's the longevity of what we're doing in CORDIS how's it supporting what we need to do as a business another difference and so that's when an evaluation eventually kicks off to look at as I mentioned looking at realtor camel and mule and a couple of alternatives and so we gradually phase that in so rather than saying right we're going to take this application but we think maybe that isn't part of the long term future or where we'll build new services we'll gradually phase that in so as services are being changed or services are being decommissioned and new ones created will do them in the new technology so it means that still today services running on the platform are using the CORDIS integration technology but they're certainly a lot less than they were five years ago there's other examples where on the Drupal side where we're looking to do more of a front-end gesture framework not for a moment-safe group we can see or anything like that but on the 26th of February I think it is a group of six effectively does become legacy so we are looking at ways that we minimize our exposure there so yeah there is a reasonably well-dropped path now of how we go what's coming out what are the technologies we need to be aware of and keep an eye on and see if they're appropriate that could enhance what we're doing at the moment so it's a roadmap to replace those so it's sort of an ongoing on-going cycle each year okay well I think we're pretty much coming up to lunchtime so the risk of making you all hungry I think we'll end there so thanks again all for listening I think the feedback forums are all online it would be great to get some feedback how we can improve the presentation in the future and we've got a very nice stand here at at Drewcon if you'd like to come down and meet some of the team I'll be there for a little bit and we've got some colleagues from India who will be there throughout the day so please come and talk to us and we'll be happy to share some of our experiences thank you