Thursday, May 29, 2008

Introverted Programming: File Oriented Architecture

Meet the new kid on the block: FOA - the File Oriented Architecture.

FOA contracts are simple - applications connect with each other assuming that the counterpart can be found in a certain location. In a pseudo-code contract would look like: "three folders up - two steps right - two folders down - get Foo.Moo instance". FOA has vendor support - in a sense, Microsoft Web Site projects are examples of FOA approach. FOA is a further development of the KISS principle - the KISS of a Web 2.0(beta) era, KIverySS.

FOA is a very clean and controllable way to code reuse. "In-depth understanding of FOA principles" looks good in resume (it has "Architecture" in it!). It is much easier concept to understand than SOA or REST so any hiring manager will be on the same page with you. Document-Driven Development tools, such as wordUnit, can be used to ensure binding links accuracy within a Continuous Integration process.

FOA beginners operate with full paths, like

AdminConsole console=
new AdminConsole("C:\Documents and Settigns\joe\MyDocuments\Foo\Moo\AdminConsole.aspx");

But true master knows the power of relative paths:
AdminConsole console=new AdminConsole("..\..\..\Foo\Moo\AdminConsole.aspx");

This way the application deployability is much higher. Also the master will encapsulate values in the configuration file where they can be easily changed if any silly developer would suddenly change structure of the bound application. Imagine the flexibility of deployment application over web-farms and clustered servers. We can construct relative paths to a relative locations - the possibilities of combinations are endless.

No comments:


© 2008-2013 Michael Goldobin. All rights reserved