Wednesday, January 30, 2008

Flex Chops

If you are reading this blog, i would assume you are familiar with flex. So i wouldnt introduce you to flex. Nor would i like to point you to different articles on the web out there. I would like to share my thoughts of the Flex framework and its internals, as i make my way through the learning process.

Adobe Flex has some decent pdf's online to guide developers on how to get started, but the tutorials only get the developers to start, they dont help the developer to become an expert. There are some books on flex and actionscript and lots of them releasing soon, but most of the books dont teach you anything new. If you have some previous experience in an object oriented language, functional language and a language which supports dynamic typing, reading a majority of the books is a waste of time and money. One good book which is geared towards Flex develpment and best practices is Rich Internet Applications with Adobe Flex & Java. Of the 5 books that i have read on Flex and Actionscript, this book is my favourite and shows the best ways to develop flex components and applications. Also the book Foundation Actionscript 3.0 Animation: Making Things Move! provides a good insight into the basics of flash platform, the Stage compoenent, Timelines, frame events, etc.

Flex is a GUI framework, and flex is not only about MXML, its also about customizing business and layout components, and the knowledge about the internals of Flex framework is a must for a serious flex developer. So to learn the internals, i will follow the old saying "source code is the best documentation". I plan to write a series of articles on flex, sharing my thoughts. I will start with the FlexSprite and UIComponent classes, the base classes for all display compoents in flex.
Any comments/corrections are appreciated :).

Tuesday, January 29, 2008

Parellel Computation on Distributed Systems - Map-Reduce Paradigm

If you ever wonder how google does its fancy searching lightning fast, this should give an idea.
It is interesting how the idea was derived from Lisp(functional programming languages are good for computations with no state attached, am i right?) and iterators were used to read massive amounts of data. It again shows us that being equipped with knowledge about different programming languages and paradigms pays off.

Also if you are a Java developer, you are lucky. Because 90% of any functionality is implemented in terms of libraries and frameworks, and a simple search in google will reveal the java project. Apache has an implementation of Map-Reduce called Hadoop.

Also you might want to check out the different Java Frameworks that allow Grid Computing.

Basics on J2EE Clustering

I was looking for some information on what clustering is and how it can be used with J2EE. For people sharing the same interests, check out the links below

Abraham Kang writes elaborately about the basics of clustering, gives a good insight into different kinds of clustering and the clustering capabilties of different ApplicationServers. His list of advantages and disadvantages with different strategies is a highlight. Beware, the article is a little out of date ( writtten on 02/23/01), but the basics are solid.

Read his part II here to get the bigger picture on load balancing techniques and some tips (most of them already know these) on clustering.

An another introduction to clustering here.

Friday, January 25, 2008

An Introduction to OSGI.

An Introduction to OSGi on the Server Side by Daniel Rubio -- Daniel Rubio introduces OSGi, an environment that facilitates modularizing an application into smaller and more manageable pieces, with packaging, JVM, and class loader graph support.

Does somebody really know the pros and cons of JMX and OSGI?

I came across some interesting links on OSGI and Web Development, thought i would list them here.

Chris Aniszczyk discusses web development with Equinox HTTP Service.

If you want to check out how equinox can be used to develop visit Server-Side Equinox

and Equinox in a Servlet Container.

Neil Bartlett discusses about Eclipse Extensions and OSGI. This article is a must read for someone interested in knowing about Equinox, OSGI, OSGI Declarative Services and Spring OSGI. Gives a nice introduction and the rationale behind these technologies.