Ditching the Middleware


Published on

Since March 1998, the U.S. Government Printing Office has used persistent uniform resource locators (PURLs) to provide libraries and other parties stable URLs to online Federal information. The existing architecture was designed in 2009 as a three-tier architecture using a presentation tier, a RESTful XML application tier, and a SQL database tier.

The current service was designed as a centralized system, which makes it difficult for other organizations to contribute and replicate the service. Furthermore, the rigidity of the architecture makes improvements expensive. Therefore, a new MVC data-oriented architecture was designed for quick reads and a flexible UI. The view layer has direct access to the data model, making improvements to UI and model quick and cheap.

Come and see how adopting the architecture of the open source project Callimachus reduced development and maintenance costs while improving overall scalability and throughput.

Published in: Technology
  • Be the first to comment

  • Be the first to like this

No Downloads
Total views
On SlideShare
From Embeds
Number of Embeds
Embeds 0
No embeds

No notes for slide

Ditching the Middleware

  1. 1. Ditching the Middleware NoSQL Now! 2011 David Wood 3 Round Stones david@3roundstones.com
  2. 2. #nosql, like organic food, is defined by what it doesnt contain.Comparing noSQL solutions is like comparing organic apples and oranges... Eric van der Vlist @evlist 25 July 2011
  3. 3. lll Data Access Business Logic Presentation Logic
  4. 4. Data model changeseffect all tiers:• your presentation• your processing model• your data schema.
  5. 5. V e r t i cHorizontal a l
  6. 6. (CPU and disk harder to quantify/compare)
  7. 7. vs.Data throughput Optimistic reads?
  8. 8. Data Access ControllerBusiness Logic View ModelPresentation Logic
  9. 9. Controller<> ObjectsView Model
  10. 10. ll Callimachus
  11. 11. Controller RDF Store Web serverHTTP GET Class Resource request Viewable RDF response SPARQL query XML Template template apply.xsl Engine HTTPresponse HTML
  12. 12. Controller<>View Model
  13. 13. RDFa queries Results fill into template
  14. 14. HTTP GETe.g. c 302 (Found) PURL l i Service e HTTP GET n Web t 200 (OK) Service
  15. 15. Data Master Normal Ops Dynamic DNS Failover / SpilloverData Slave
  16. 16. PURL Servicesby different parties A.org Normal Ops for A.org Write-Segmented Dynamic data source DNS B.com e.g. Failover / Spillover for A.org C.net
  17. 17. PURL Servicesby different parties A.org Normal Ops for C.net to any host B.com Dynamic DNS C.net
  18. 18. Persistent URLsCallimachus
  19. 19. This work is Copyright © 2011 3 Round Stones Inc.It is licensed under the Creative Commons Attribution 3.0 Unported LicenseFull details at: http://creativecommons.org/licenses/by/3.0/You are free: to Share — to copy, distribute and transmit the work to Remix — to adapt the workUnder the following conditions: Attribution. You must attribute the work in the manner specified by the author or licensor (but not in any way that suggests that they endorse you or your use of the work).• For any reuse or distribution, you must make clear to others the license terms of this work.• Any of the above conditions can be waived if you get permission from the copyright holder.• Nothing in this license impairs or restricts the authors moral rights.• Some Content in the work may be licensed under different terms, this is noted separately.