<< Oops.. OpenLaszlo | Home | How to promote your company, product or service without spending a penny when people still use Google ? >>

Application patterns

Next big step in software engineering

Rapid software development based on using different open source frameworks and application servers became mostly standard now. Besides of frameworks primary targeted for using programming languages you can find development platforms based on using scripting languages as PHP or Ruby. So what is next? Frameworks become more and more complicated and contain most of all open source solutions existing on the market. Offering tons of open source solutions without clear defining benefits of every one converts developers to use just most popular which in most cases is far from ideal. Should I go with Spring, Tapestry, or Struts? What should I use for data connectivity, like JDBC, Hibernate, or JDO? What about JMS? The same API can be implemented by different open source vendors and there is always difficult to decide with which one to go. Another problem is you need to keep 90% of completely useless software just to extract 10% of required functionality. But not only selection of open source component, framework or libraries stays in front of a developer. What’s particular approach to select to implement certain functionality, for example use container authentication, or write a filter, or use a servlet? Where to keep and initialized global data, in init method or app context listener? Consider now backend, what database selection of more suitable, like SQL server express, or PostGreSQL, or Derby? Return again to design, what GOFA design patterns of J2EE patterns to choose, how combine them? Developers are in role of monkeys dealing with bunch of objects and trying to build something useful for them. Question, question, questions, but where is an answer? Most of developers do not dig much for answers and just do as somebody already did. This approach is working but it’s far not perfect. So where is a solution? A solution is application patterns. What are they? Application patterns are pre-built set of solutions based on best practice in certain domains. Every pattern includes highly stripped version of open source components, so nothing extra. This selection guides you for right development, for example solution won’t include Quartz if scheduling tasks are quite simple and can be managed by Timer. However application pattern isn’t a ready to use application which you need to modify to get desired functionality. A pattern is designed in a way that you need only add and very rarely remove. In more details we can consider application pattern as application web content management pattern. Using such pattern you can very quickly build blog, forum, and annotated news type of application. All what you need will be there, including content storage and management, calendar, visitors monitoring, web page layouts, Ajax scripts and so on. Creation of application patterns is not simple, however results will pay off.




Add a comment Send a TrackBack