Friday, March 21, 2008

Search Engine Optimization

I am in the process of writing an article about search engine optimization. Any help from your end will be appreciated.

I have gathered the following References:

1.0 Google Analytics: http://64.233.179.110/analytics/tour/index_en-US.html

2.0 Web Analytics Association

http://www.webanalyticsassociation.org/

3.0 Webtrends Webcast

http://www.webtrends.com/Resources/ExpertWebcasts.aspx

4.0 OnLine Marketing Blog

http://www.toprankblog.com/

Thursday, March 20, 2008

Competitive Strategy Linkedin Group

I am looking for Linkedin Group or website that discusses the following:
1.0 Dynamic Competitive Strategy- Like Wharton/Porter/S Day
2.0 Application areas being Software Engineering
3.0 Web 2.0 in Business
4.0 ERP- Like SAP/Salesforce/CRM
5.0 Information Technology- LAN/WAN/VOIP/Server/VPN/Biztalk

In short, I am looking for Information and ideas to align the following

Strategic Planning

Business Operation

Information Technology Implementation

ERP/CRM Deployment

Integration of Lean Six Sigma

Enabling Technology Like

.Net Development

Web 2.0 based Collaboration

Business Intelligence Integration.

Sales and Marketing Operation

Tuesday, March 18, 2008

Design Patterns and Component Based Design

I understand design Patterns, and right now I am reading Ted Faison's book component based design. It is a wonderful book to begin with, since it touches on the UML at the beginning.

I am not clear at this point:

1.0 How component based design is different from design pattern and or application framework. I will post the details.

2.0 Since we can leverage existing third party components ( Read Software Class libraries, frameworks, components) in .NET technology, why I am not familiar with such.

3.0 Class libraries like LEDA, STL and Rougewave, I am aware of, but I do not see any three-tire business building components. I guess I will search www.dundas.com and others for that. May be code projects has some pointers on that.

Ref:

Component Based development with VS C#- Ted Faison- ISBN : 0-7645-4914-6

Sunday, March 16, 2008

My Feedback on Qi4j and Edward's Response

On 13th of March 2008, Thursday, I have attended a presentation on an old-new concept of programming, Composite Oriented Programming, presented by a well-known personality, Rickard Öberg. He is the guy behind XDoclets, WebWork, and Sitevision. He also wrote EJB Engine in JBoss 2.

The presentation was about Composite Oriented Programming for Java with Qi4j, at OUM Angkasaraya, Kuala Lumpur. I got to know this from Malaysian JUG. There were 15-20 folks attending the presentation. It was good, the presentation and question/answer session. Despite, I haven't asked a single question at that time. It was not that I was not having any. Actually, I waited for the other folks and finally I realised that few of my questions are now already got the answer. And the answers for the remaining I derived myself. :)

However, after coming the next day I have sent my feedback to the JUG. And just after few hours I have received the answers of my few worries from Edward Yakop. So, I would like to share those with you guys. Below is the thing.


Me - Too much abstraction

Edward - I'm not sure what this means? I think once u read the DDD book. You might conclude that this is needed.

Me - Big learning curve

Edward - Niclas and I had a chat over breakfast this morning. If we have two fresh programmer, who only knows java. And both of them are given task to create petstore. One use qi4j and the other use spring/jsf/wicket etcs. Who will get it done faster and better (in terms of quality, maintainable etcs).

If the document/tutorials will be as good as spring documents for example. I think we agree, that the qi4j guy will win. But then again, since we're not there in terms of documentation, tutorials, persistence. We better hold back our thoughts until all these are done.

But if we're talking about programmers who already know jpa, some view layer. Yeah, without investing time to learn qi4j. I think the programmer will be frustrated to work in this qi4j manner.

Me - Might be compelling in terms of maintenance

Edward - Sitevision is built on top of this concept. And based from Rickard observation. This should be a big plus in terms of project maintainbility.

One thing that I raised, is the fact that Rickard doesn't show the simple prototype that he did in order to see how module/layers/composite/concerns hang together.

From his blog post. And the screenshot.

If we create a better tooling for this, instead of rdf -> xsl -> html. We would have a powerful tool to figure out how does my application looks like. How does the concerns are stack, and even better, if I call this method, what would be the order of constraint, concern and sideeffects. Would the side effect be asynchronous.

We believe that with this information and tooling (need to be created). This should give a great information for maintainer.

Me - Suits large enterprise applications where maintenance and adding new feature is really cumbersome

Edward - Agree.

Me - Wish it would be a success

Edward - Yeah :) We sure hope so too.

Me - Might look insane before trying it out

Edward - Probably :) But, after working on qi4j during spare time and coding standard java way for commercial project. I personally going insane with the standard way to code :(

Me - Performance would become a primary issue

Edward - Not really. Sitevision is a proof that performance is a non issue. I think with all the experience that Rickard had with sitevision. Qi4j will most probably does not have performance issue in the future.

Me - Not sure how we can bind the object with HTTP request, and how would we use it via JSTL. I hope there would be typical getters/setters behind the scene

Edward - Yeah, this is similar problem that I have atm with qi4j-ibatis entity store. If the project is opensource, I think u could try to convince them to create a pluggable getter/setter resolution. This way, we can hook qi4j way to get and set. Otherwise, there's probably nothing much we can do :(

The current plan is to have qi4j-ibatis, qi4j-neo and qi4j-wicket integration. I'm working on both qi4j-ibatis (in and qi4j-wicket intergation and Rickard and Niclas is working on Entity Session API and core. Once these are done. I will update chronos app.

Me - Not sure how we can integrate with JSF based frameworks i.e. Seam

Edward - You don't. I don't know much about seam. But in order for qi4j to replace seam, we will need to be at least seam feature complete.

Me - Looks we still need to come up with data access layer on our own or through using some other frameworks.

Edward - You don't really need to come up with data access layer at all. You just have to use what we have. if I batis is used, then you would need to create statementid for each composite, association. This way qi4j-ibatis will now which statement to call to delete, update, insert, fetch association.

More to this later, once I complete this.

Me - Time will tell where it is going and how

Edward - Yup

Me - Would love to contribute if I can. I believe we need to go through the DDD book, learn, at least,a basics of Ruby on Rails, and Java Annotations prior to contribute

Edward - Yes, I believe.

Me - We already used to have a cup of coffee or two while programming but now it seems, from the logo, that we should start eating coffee beans too through those chopsticks

Edward - It's closer to Eating steaming HOT rice with chopstick. :)