For this month, I would like to repost a LinkedIn article from Adam Ginsberg, IBM who is responsible for both Web Experience Factory (Portlet Factory) and RAD Portal Toolkit. It gives some insight into when to use various IBM tools as well as the advantages of Portlet Factory for supporting a plethora of mobile devices quickly with a minimum (none) of hand coding.
"Our goal is to make the development of exceptional web experiences as easy as possible for the largest group of developers. In the market place there are many different development technologies and approaches preferred, almost religiously, by different developers including Java Developers, .NET/C#, PHP, Ruby, Scala etc. Even grouping Java developers together is really hard with all the different approaches, tooling and frameworks preferred by different developers. For example, Java developers need to choose between tooling and frameworks like Spring, JSF, Struts, DOJO to name a few.
So from my perspective, with intent to be as open as possible, it probably makes sense to group developers looking at delivering exceptional web experiences via a WebSphere Portal platform into 3 key categories:
Type 1: Enterprise Java developers who are coder-naughts by trade and prefer a traditional enterprise Java development approach, and while there may be tooling, you ultimately dealing with lines of Java code. We provide tooling like RAD Portal Toolkit, but as mentioned above there are definitely groups of developers who prefer or have been instructed (via enterprise edict) to use other Java development tools. At the end of the day we keep them whole by the ability to "house" standard based JSR168, JSR286, WSRP based portlets, regardless of the development platform used.
Type 2: Agnostic coders - this group of developers, have strong understanding of development principles, but may not have deep J2EE skills. Note this includes Type #1, J2EE Developers and many other types of developers like .NET developers who can use a MODEL based development tool like Web Experience Factory to develop sophisticated solutions, without a lot of hand coding or need to get into the weeds of specific tooling. Sure, there's an extension point if you do know Java, but it's really not required for development of solutions. Another attraction point is the out of the box builders to connect to many different types of back-ends, like SAP, Domino and Oracle PeopleSoft without needing to know the ins and outs of those platforms.
Type 3: The traditional web developer who's not going to get caught up in building of enterprise applications. They would prefer to use their web development platform of choice, and would perhaps be happy to wrap it up as an iWidget for including in a portal driven exceptional web experience.
From speaking to customers and partners I find that organizations who are Type 1 will tend to stick to the traditional development tooling, and they are privileged to have a strong pool of deep java developers. That said there is a super-set of developers (i.e. including Type 1, 2 &3) who can use a model-based tool like Web Experience Factory to develop and extend out of the box functionality.
So, with the intent to reach a larger audience and skill set of developers we continue to provide strong investment in Web Experience Factory.
At IBM we also tend to use it for internal development projects like our Unified Task Portlet, IBM Connections Portlets, our IBM Industry Toolboxes for WebSphere Portal. Key reasons include:
a) For ease of development and
b) To allow a broader audience of developers to be able to modify and extend out of the box solutions, if needed.
We also find that model-based approach of Web Experience Factory with "builders" make it very easy to:
a) Explain to developers what's happening within a specific bit of code. If you look at a wizard-like interface and don't have to reverse engineer code. This improves the learning curve and maintainability of solutions.
b) Maximize re-use - using models and builders, with predefined patterns helps maximize re-use of common assets across teams and projects.
Note, we currently invest just as strongly in RAD Portal Toolkit, but we just don't have the luxury of developing all our out of the box capability in both Web Experience Factory and RAD. As above, we've chosen Web Experience Factory.
Additionally, I would strongly recommend that organizations that are looking to leverage Web Experience Factory invest in skilling their developers correctly with training from IBM or via our partners, like you would any other development platform. I would also encourage engaging with IBM services or a partner on the first project, at least from a mentoring perspective, to ensure you build up the necessary skills for successful project."
See the original posts and comments as well as add your own questions and thoughts here.