Internet Software Architecture
Papers and Articles
Below you can find several papers that are derived from talks at the La Lalle University in Barcelona and from internal knowledge sharing sessions. They are dealing with the practical day-to-day issues of managing and maintaining large online applications.
Please don't hesitate to contact me if you have doubts or questions. Also, I am available as a freelance consultant.
- Multilingual Internet
Architectures:
An introductory article about the issues of running Internet applications in various cultural environments. - Internet
Component Architectures.pdf (58k):
Component architecture and library design issues for online applications. Includes a checklist for library creation and some practical exercise. HTML Summary.
- Multi-Language
and Multi-Portal Architecture.pdf (31k):
A very high complexity arises if one online application has to serve several portals in several languages. This paper contains some reflections on how to modularize an online application for such an environment and how to manage such a server.
- Operations
Structure.pdf (69k):
A schematic description of the processes involved in the maintenance and operations of an online portal.
- Internet
Software Process.pdf (75k):
The software process behind several online portals.
- 21 Ideas:
How Microsoft writes successful software.
- Web Creation
and Content Management.pdf (36k):
The role of content management systems to the maintenance of online portals.
Other Resources
Scalable and Distributed Architectures
-
Philip and Alex's Guide to Web Publishing: by Philip Greenspun:
A great introduction to online applications and Internet architecture (online book with photos...) -
Generation Xml by Adam Bosworth:
Describes the importance of loosely coupled objects, coarse-grain communication and semantic interface contracts in the context of web services.
- Vinci:
A Service-Oriented Architecture for Rapid Development of Web Applications:
The article describes a distributed component infrastructure for the development of internet services, similar to SOAP. However, performance is better because of a proprietary representation of XML documents which reduces the XML parsing and validating costs.
- The C10K: How to handle
10000 concurrent users by Dan
Kegel:
An interesting pice on scalability of low I/O server applications.
- Large
Corba Systems (or here)
by Rocky Stewart:
Have you ever wondered why so few peole are using Corba for real world purposes?
- ArsDigita
Server Architecture by Philip
Greenspun:
Philip explains why relying on Oracle as an ACID transaction backend isn't that bad.
- The
Anatomy of a Large-Scale Hypertextual Web Search Engine by
Sergey Brin and Lawrence
Page:
The architecture of Google... Checkout Eric Wolfram's Howto on Google scores as well.
Object Oriented Design Patterns
- Portland Pattern Repository
and its Pattern
Index:
A "wiki" (=user editable html pages) about stuff not only related to object oriented design patterns.
- J2EE
Java Patterns from Sun:
A set of concrete patters for use with Java.
Other
- Lisp
as a secret weapon by Paul
Graham and
Lisp as an Alternative to Java by Erann Gat:
Both articles talk about the advantages of using a high-level language such as Lisp in favor to Java or C++ when developing certain types of applications. Sure the question is what type of applications and which what kind of developers, but the Yahoo!-Stores story is definitely impressive.