Monday, November 19, 2007

Building Yakkle (Part 3: MyOODB)

So you've decided to change the world by writing the coolest Internet application and you'd like to hear how we built ours. This and the next several posts will focus on what makes up Yakkle and will be geared towards software programmers.

Nowadays there are so many off the shelf software components to help you implement your idea, some commercial, but many are Open-Source and free. Since most reading this blog will be building their application out of their Garage we're recommending you choose open-source. Open-source software has a large community and can be really good. You just need to know what you need and where/how to look. Yakkle for instance, gets many of its components from open-source. Even our development tools are free and/or open-source.

Like we mentioned in a previous post, Yakkle uses a Distributed Object Architecture. This differs greatly from traditional client/server or even peer-to-peer applications. Distributed object software requires a new way of thinking that changes the very nature of the design. Now such architecture is not the Holy Grail, but it does change the way one approaches design. It puts an emphasis on information theory and data modeling. In fact, it extends object-oriented design across application boundaries; a holistic approach to software design.

The MyOODB Framework
For Yakkle, we based our Framework on the MyOODB project. MyOODB is an open-source, Java based software framework. Some of our Design Patterns were derived from the open-source txObject project.

Both projects provide a framework, design philosophy, and Software Components. It is important when designing your own architecture that you add such concepts into your development.

Distributed Object computing can be seen as Object-Oriented programming without bounds. Therefore our first step was to define the objects a Yakkle application would need to share in its world. For Yakkle to be a collaboration application, it needed things like Users, Voice, Desktop, and Text Messaging characteristics. So our first step was to define theses objects and their behavior. Just like a standalone object-oriented application design, but with the unique understanding that these objects would also be used in a distributed sense.

In Our Next Post
In our next post with will go into detail on how we design and implemented these objects, as well as, their user-interface interactions. Until then, if you would like to experience the result of our works go to and start Yakkling today.

blog comments powered by Disqus