Search DominoPower's 11,441 Lotus-related article archive 
Home
EasyPrint
News details Click here for the RSS feed's XML code. This is not a browser URL.
Articles-only Click here for the RSS feed's XML code. This is not a browser URL.
Twitter Feed Click here for the Twitter feed.
Save time and effort with a strong application framework (continued)

The existence of the framework, particularly the existence of the standard interfaces, allows you to mix, match, and add reusable components at will. Using such a development philosophy, adapting to unique application requirements may simply be a matter of adding yet another flavor of a particular type of item to your inventory of possible choices.

Keep it simple
One of the best ways to make such an environment easily extensible is to be sure to always keep things simple. There was a time when such code widgets were referred to as "atomic" elements, based on the idea that the atom was the lowest level of a complex structure currently known. Atomic elements generally do one thing, and their interface specification usually only involves a single method. Some developers look at that and wonder why even bother with such an obviously simplistic piece of code, but it is the simple nature of such easily identifiable and understandable components that makes things work so well in a shared environment.

For example, in the area of authorization, there are a number of strategies floating around for authorization methodologies. Some are based on specific user IDs, some are based on user groups, and the current trend is to base authorization on a user's role, or job function. If you look at code examples, you can see method names like isUserInRole(roleName) or isMemberOfGroup(groupName). These are interesting approaches, but if you really get down to the fundamental question, it isn't really about a user's job function or group affiliation.

The question that you really want to know is simply this: is this user authorized for this item? By creating a simple interface with a sole method such as isAuthorized(resourceName), the implementing classes can utilize whatever the current fad happens to be in regards to authorization methodologies, and the applications are insulated from these choices. Our navigation filter, from the previous example, simply needs to call the isAuthorized()method for every menu option delivered by the retriever, keeping those that are authorized and discarding those that are not. The underlying implementation that made the authorization determination is really of no concern to the filter; the filter merely utilizes whatever authorizer has been configured for the current implementation.

Start small; grow fast
Once you make the decision to create an extensible application framework, there is a certain amount of work involved in getting all of the pieces to play nice together for the first time. But once you overcome those initial obstacles and have one or two systems under your belt, things really start to take off. Every time you take on an application development project, you have the opportunity to either reuse an existing component or add another reusable component to your library. Either one of these options will increase your productivity; with an increase in productivity comes additional opportunity to further increase your productivity. The process just starts to build upon itself. The words of Sun Tzu, recorded over 2500 years ago in his Art of War, definitely apply to developing software based on a common framework: "Opportunities multiply as they are seized."

Product availability and resources
For more information on Echo Technology Group, Inc., visit http://www.teametg.com.

Easy, flexible article reprints
ZATZ now offers a quick, easy, flexible and inexpensive way to use article reprints in your marketing and promotion efforts. You can now get article reprints for a one-time fee of only $200. For details, visit http://mediakit.zatz.com/reprints.

Jeff Chilton is Vice President of Fulfillment at Echo Technology Group, Inc., an IT consulting firm that specializes in enterprise-focused best practices. Visit http://www.teametg.com for more information or email him at jchilton@teametg.com.


« Previous  ·  1  ·  2  ·  3  ·  4
Other articles you might like
Home > Strategies > Best Practices (11 articles)
   Managing Notes deployments with Teamstudio Build Manager
   Managing production Notes deployments
   Using Balsamiq Mockups to create low-fidelity prototypes
Get Weekly Email Updates
Subscribe to our regular weekly email newsletter. It's packed with tips, reviews, deep analysis, and the latest news.
 
Recent DominoPower Articles
Application development, William Shatner, and the origin of the universe
Learn Domino Designer 8.5 for free
The (near) future of Sametime, Quickr, Connections, and Symphony
Inside the IBM Innovations lab
Lotusphere 2010: Hot fixes and cool news for Notes, Domino, and LotusLive
Lotusphere 2010: mobility and collaboration
2010: A Lotusphere of change
Latest Lotus Headlines
Xpages not loading? JVM errors? - Solution
How to implement an iCalendar feed into your Notes calendar with XPages
DWA Hotfixes for Domino 8.5.1FP1 - A Gotcha
IBM Adds DB2 to Lotus Foundations SMB Package
SNTT : XPages onclick Ghosts in the machine
Ports used by Lotus Sametime 8.5 servers
Exploring a Domino Date Bug
>> Read all the news
More from the ZATZ journals
Computing Unplugged: The iPad defenders have spoken
David Gewirtz Online: CNN commentary and analysis
OutlookPower: More about disappearing text
-- Advertisement --

Sophisticated Meets Simple For Document Management
Share. Control. Manage.
Documents, emails, and content in the context of how work is done. Native to Lotus Domino. The User Experience unseen for Lotus Domino. Do more with less. Really.

See the possibilities Docova unleashes for Lotus Domino.
-- Advertisement --

Integrate your Notes Applications with Microsoft Office and Symphony
Integra for Notes Integrates Microsoft Office and/or IBM Lotus Symphony
Requires NO change to the design of the appliation or Installations of DLL's and EXE's
  • Integra is a ready to use solution, enhance static reports with Excel data analysis, pivot tables, macros
  • User friendly aproach, using a point and click access to features
  • Reports from any Lotus Notes databases
  • Runs reports through a Notes client, web browser and scheduled basis
  • Allows use of LotusScript for advanced data manipulation
  • Enables self service reporting capabilities to end-users


Learn more at www.integra4notes.com.
ZATZ Home  ·  News  ·  Back Issues  ·  Credits/Trademarks ·  Link To Us
Copyright © 1998-2010, ZATZ Publishing. All rights reserved worldwide.
Editor's Login