Monday, August 24, 2009

Microsoft SharePoint Server 2007(MOSS) and Related Technolgies

As we are working on Moss-2007, Weh have done some research and found the following resources useful

1.0 Andrew Connell Blog
http://www.andrewconnell.com/blog/
2.0 Moss Webcast
https://msevents.microsoft.com/cui/SearchDisplay.aspx?culture=en-US#cult...
3.0 WCM Books
http://www.amazon.com/Professional-SharePoint-Content-Management-Develop

Sunday, May 03, 2009

Tuesday, April 14, 2009

Branding and Usability

I am going over some of the videos of branding and usability.

I recommend going over them as a companion to Web 2.0 Application.

1.0


Friday, March 13, 2009

Monday, March 09, 2009

WebApplications – part 1 – Framework vs. Environment

Hello everyone,

I would like to start some kind of series of articles regarding the Web applications and the ways of designing and developing such. 

In this first part I would like to focus on some terminology. I will also try to focus on main differences between standard Framework, that we all I suppose know (at least one – such as Zend FrameworkSymfonyor others) and something that I call Environment. So – what are the differences ?

However before I will start comparison some of you might start asking yourself, what solutions I based my thoughts on ?

Well – the framework I know in a best way is Zend Framework – which I believe is one of the best for web application building. Yes, I know there’s been many “fights” in the scope of “which framework is the best ?”. None won, some lost (that were really bad J). But at the end most people, that took part in these discussions agreed – everything depends on the usage. And I agree with that – everything depends on a usage, on an application we have to design and develop. As far as I read – in this “category” there were 2 leaders –Symfony and ZF. Symfony I do no know and did not used – so I will focus on ZF J

Regarding the environment – in this case I must admit I do not know any full-scale environments written entirely in PHP beside of an environment created by my company COBA Solutions – COBAEX. So therefore I will focus on the functionality delivered by this environment – and I hope I will not be crucified, as this might be seen as marketing J

OK – but what is the main difference between Framework and Environment. I suppose we can distinguish at least several of them:

Area of usage

I suppose the most important one.

We can use framework to build almost everything. Of course, as mentioned above, some frameworks are designated for webpages, some for web applications, others are for Web 2.0 sites (community, social etc.). However even if you will take a framework, that is targeted for applications, you will still be able to create a website basing on it – the best example might be ZF. You can easily create a website using it (in fact – there are plenty of websites using this framework), but if you will compare it to other, specifically targeted for websites, you will see that ZF is more complicated and creating a simple website using ZF is quite difficult and time consuming.

In case of an environment the situation is a little bit different. Environment (such as COBAEX) gives you already database schema, UI and many other features and mechanisms designed and developed in scope of application building. Using it to create a website will simply not work. However you can make use of an environment for administration panel for the website – but you will still need to create a full-scale website by your own, or at least use a ready-to-use CMS application that has been created in the environment (an example – COBAEX CMS).

So – summarizing – framework area of usage is much more broad, then in case of an environment, which is targeted for applications itself. So the environment is more specialized then framework – which has both pros and cons mentioned below.

Sourcecodes

Most frameworks are delivered in open source. This means, that every developer that is using a framework is able to change even the standards of the framework according to his needs. At first sight it looks great – “I can do whatever I want”. But on the second thought – think about the support. Which simply does not exist on the professional level for the open source projects. Why ? Because it is impossible to give the support for enormous amounts of variants of the code – modified in an unpredicted way by different developers.

In case of closed source – maintained and supported by team or organization – the full-scope professional support is possible. Mostly because there will be no unpredicted and unknown modifications.

I know – now I can start a real war, where on one side I will have open source evangelizers, and on other – companies. Both sides will for sure have their arguments, which will be for sure true. But this is not my point.

I suppose the key in this area is again the area of usage. Most companies can agree with semi-professional (opensourcers – please do not take it personally J)  support in scope of their webpages. But in scope of applications, especially business-critical ones – the full-scale professional support is essential. So in this area – again I suppose the first place is for environments – which has at least parts of the code closed.

Standardization

Here we are facing more the way the frameworks are designed. In most cases I see lack of inter-standardization of frameworks. What I mean is the fact, that most frameworks are indeed standardized in scope of this specific framework. However once we will try to integrate 2 applications created in 2 different frameworks – we are stepping into minefield. Because standards delivered in frameworks has nothing in common with enterprise level standards like SOA etc.

So – again getting back to the area of usage and solutions. Once we have a single webpage – the integration and compatibility with other backend applications is very limited – because there’s no need for anything more. In scope of application the situation is different – application should be integrated with other solutions working in a company in much larger areas.

Regarding the transparency of a code – also the decision should be made basing on the complexity of business processes used in the solution. In case of a webpage – these processes are rather uncomplicated and easy – so the possible areas of bugs are less time-consuming to find. In case of applications, the processes are far more complicated and complex – which means the possible bugs will be much harder to target and remove. And in this case clean, standardized code will be a high advantage and will bring a real value in scope of service actions.

Strict standardization however has 2 sides - a good and a bad one:

-          From the good side – the code and solution itself is created in more proper, “clean” way

-          From the bad side – standardization is limiting the possibilities

Someone might now say “let’s find a compromise”. But I suppose there can be no compromise for every area of usage. We have to decide, what we want to do – and then decide whether we can agree on a high standardization to deliver a clean, proper and integrated solution, but created according to some rules that has been prepared by the environment manufacturer, or we can agree on a low standardization in the level of interconnection, having more possibilities, but loosing easy integration possibilities and effective support for unclean code.

Summarizing – key points

To summarize I would like to try to specify some key points, that will help you to choose whether to choose an environment, or a framework for your project.

I suppose the very first, most important question you should have an answer to is “what for I need a framework or an environment ?”.

Once the answer is: “I will be creating a standalone or low-integrated (e.g. only contact forms posted to internal CRM solution) website from the scratch, without using any standard CMS from the market” – choose a framework. It will give you high flexibility, the project will be rather small and on the low complexity.

Once the answer is: “I will be creating a web application, that will automate specific business processes and will be integrated with back-end company applications” – choose the environment. You will achieve a standardized solution with full-scale professional support automating the processes according to industry best practices.

I hope the above article will be useful for you. Please do not hesitiate to place a comments with your thoughts and suggestions. I will really value every (even very critical) thoughts about your attitude to things presented.
Also stay tuned for the next parts of this series – which I plan to be: WebApplications – part 2 – standard, configuration, development…

Sunday, March 08, 2009

Great Video Conferencing & Collaboration tool from Acrobat

I just came across the acrobat collaboration and video conferencing tool. I am sure It will be a great use to software engineers.

There are couple of You Tube videos of the Acrobat Video Conferencing tool. Check them out. This will increase my productivity. I also use logmein sometimes.

 

Ref:

https://connectnow.acrobat.com

www.logmein.com

Software Retraining During Recession

I highly recommend training form these outlet. In fact US stimulus package must make these kind of education free for unemployed people.
I am no way connected to these people- however they do the best possible video seminar.

If you need a retraining- get their courses. Ask your senators to make this training free for you
http://www.learnvisualstudio.net
Please post your thoughts.

Tuesday, February 03, 2009

Architecture and Design of Large Scale CMS

What is the design and Analysis methodology for large scale content management system that have proven to be repeatable and successful in industrial settings.

 

Please post your thoughts.

Tuesday, January 13, 2009

How do you Increase Efficinecy of your Development Team

I am trying to understand how to increase the efficiency of your development team.?

 

All forms of Input based on experience will be appreciated.

Monday, January 12, 2009