Object Relational Mapping, or ORM, has enjoyed a long run of being accepted as a standard paradigm for middle-tier, server-side software work with a back-end database. It’s wide spread and “no-brainer” status originated, probably, with the popularity of a single, exceptionally successful Java framework called Hibernate. The idea behind ORM is blending the line that separates the middle-tier and the persistence layer and making them practically one piece. So-called persistent objects become something that simultaneously belongs to the persistence layer and the rest of the application that works with them – often even in the presentation layer.
Sometimes sorting is not just a matter of one simple line of code. For instance, what if your website has a tracking cookie that records the last three taxonomy pages visited and your “Related Articles” blocks need to be prioritized according to the order of these taxonomies? How will you handle this?
News from Amazon… MariaDB is now available as a fully-managed service on AWS with up to 6TB of storage, 30,000 IOPS, and support for high-availability deployments through the Amazon Relational Database Service. Amazon RDS for MariaDB is available in all commercial regions. You can start running production workloads from day one with high availability using multiple availability zones.
From Amazon… “Amazon Aurora is now available to all customers. Amazon Aurora is a MySQL-compatible relational database management system (RDBMS) that combines the speed and availability of high-end commercial databases with the simplicity and cost-effectiveness of open source databases. Amazon Aurora provides up to five times better performance than MySQL at a price point one tenth that of a commercial RDBMS while delivering similar performance and availability.”
Drupal is written with PHP – a language that has quite a few limitations: request-response logic, one thread per request, no shared-in-memory variables between requests, among other strictures. PHP is easy and fine when you only need to render HTML pages, but what if you want to add real-time applications like chat, streaming analytics, or document collaboration? For these, a better approach is to use the WebSocket protocol. Languages like Java or C++ support this protocol in their core, but not PHP. If we want to develop real-time applications, can a Drupal website avoid writing some part with Java or C++ or using third-party products like Google Cloud Messaging (GCM)? The answer is yes.
When developing a Web app with PHP, especially when using a framework or a CMS, most often you just don’t care about sessions. Less frequently, you store and access some information from a session, accessing it via language constructs (like “singleton” object (e.g. ZendSession in Zend framework), some special wrapper functions or just $_SESSION global). More often, though, you don’t bother monitoring how and where sessions are stored. But sometimes you should.
The basic purpose of this post is to talk about how, when developing a high-load website, to allow users to log on and access some personalized information. When you have hundreds of thousands hits per day, you should expect that tens of thousands users will log in to their respective accounts. That’s when you need to start caring about session storage. Continue reading
To apply, please email your resumé to email@example.com today!
Most positions are based here in New York City or nearby in the tri-state area. Smart local developers with a passion for open source technologies should check out our various opportunities and email us their resumes!
Last week, Uncle Sam announced the launch of analytics.usa.gov – a new website that reveals real-time usage data on more than 3,800 US Government Web properties. Powered by Google Analytics, the government’s Digital Analytics Program has created a clean, usable UI that is fun and fascinating to explore. The site’s code and reporting tool are fully open source and available on GitHub – hooray!