Technology Stack |
|
Architecture
|
Chief Software Architect Point of View |
Smooth, fast, enjoyable and error/bug defended process of development of
software is possible when right architecture selected. Frameworks are a
basis of fast and bug free software creation. All products share 2
frameworks, one is an application framework providing SOA. It contains a
service providers registry, a component factory, base services and set
of reusable utilities. Second framework plays a similar role for
creation of web applications. It can use also the application framework
for creation multi services web applications. Supporting MVC helps
developers separate presentation and business logic. Using
frameworks free developers and designers from thinking about details of
life cycle of component, allowing dedicate more time on implementation
of functionality. The frameworks are not over complicated, and do not
sacrifice 90% of complexity in favor of 1% of functionality. Used
approach considers that in case of 1% required functionality can be done
in custom code without heaving of frameworks. An interface driven design
also allows to replace parts of frameworks easily by more robust or
smarter implementations. Commonly, entire architecture is based on
using light weight components, keeping just minimal required
functionality, and leaving anything extra on usage of a custom code. As
was stated above an interface driven design and a loose coupling allows
create very different configurations based on set of replaceable and
reusable light weight components. 7Bee is a sort of exception because doesn't use any framework. It's done to make it very light weight, however it uses fundamental principles and built using SOA. It used as a build tool for all other projects. All other projects share the same application framework. Web applications like jAddressBook, ChatHouse, Tree View, and other small demo web projects. Tree View itself shared by all web interfaced projects. |