|
|
|
||||||
![]() |
Home | About | Technologies | Contact |
|
|
||||
![]() |
|
||||||
|
|
Open Source solutions today very often meet or exceed the performance and capabilities of proprietary solutions. Open Source can also significantly reduce (or even eliminate) the financial inflection points that can render a project financially untenable with closed source technologies. This is especially true with very large, consumer-facing web applications which can scale to millions--or tens of millions--of users very quickly, such as social networking applications.
Approach We use IBM's RUP methodology to establish budgets, timelines and high level milestones for the Discovery, Design, Construction and Delivery phases of the project. An Agile, iterative approach is applied during the construction phase of the project. We do not begin to identify candidate technologies until the problem domain is well understood and the logical design and high level architecture is complete. We match the technologies to the business requirements--not the other way around (although we are strongly prejudiced towards an Open Source stack for the reasons already mentioned). Extensive use of frameworks We like to stand on the shoulders of giants, and strongly favor the Model-View-Controller paradigm which can reduce development time by 50%, while at the same time making the development significantly more manageable and maintainable after delivery. Loose coupling A hybrid Service Orientated Architecture (SOA) has proven to be extremely successful for many large projects where existing systems can be incorporated into a single, larger, multi-tiered homogeneous system using APIs and Web Services to protect the organizations prior investment in other [legacy] systems. Avoiding user dissatisfaction Addressing scaling and performance bottlenecks after they become a problem is bad news, especially for consumer-facing applications. Unit testing religiously includes profiling and the application is stress tested prior to beta release. In the case of very large solutions, consideration to space load balanced infrastructures, global file systems and asynchronous geographic replication are designed in such that the application does not implode and become the victim of its own success when it begins to gain significant user adoption and traction. See the next section for hardware and middleware considerations. Our mantra We live by Google's: "Release early and iterate." << Back Key words: Linux (Red Hat / CentOS / Debian), UNIX, SOLARIS, PHP, Perl, Python, C++, Java, JavaScript, AJAX, PostgreSQL, MySQL, BerkleyDB, InnoDB, Tomcat, Apache, Lighttpd, Memcached, PostGIS, Slony, Zend Platform, GeoSer ver, Lucene, SOLR, SOAP, ReST, AMF, XML, JSON, GeoJSON, Zend Framework, CakePHP, Model-View-Controller. |
|
|
||||
|
|
|
||||||
|
|
Copyright © 2008 Jonathan Huxley | Site map | RSS feeds |
|
|
||||
|
|
|
||||||
|
|
|
|
|
|
|
|
|