Search DominoPower's 11,443 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.
The case against human cloning (humans cloning software) (continued)

Invariably, though, when you take a look at these scripts there is some instruction somewhere that says something like, "Change lines 4 through 7 and replace with your system's filenames/menu items/personal values/whatever." The data on which the script performs its functions is embedded right in the script itself.

To me, that's just like going out and buying a DVD player with one movie factory sealed inside of the machine. It might be a great movie, but the value of the DVD player is in its ability to play any and all movies; just as the value of a software product is its ability to process any number of sets of data. Embedding the data in the script virtually eliminates any possibility that you could ever use that script again for any other purpose without having to clone it and make a second copy for yourself.

By simply separating the process portion of the script from the data portion of the script into two distinct files, you can reuse the process with different data without ever having to touch the process component again.

Exact copies are still copies
So let's say you've made the decision to pursue this path of utilizing reusable components in your application. You've clearly defined the lines between the presentation layer, the business objects, and the data access layer, and you have designed and constructed all of your business objects to be fully configurable, loosely coupled, and completely independent of both the presentation components and the underlying data. Now it is time to assemble your application for deployment.

If you now take personal copies of your reusable components and bundle them into your application in such a way that your application is the only one to have access to these particular copies, you have just succeeded in undermining all of the work that you just went through to make your objects reusable.

Reusable components are only truly reusable if, at execution time, everyone who is sharing them is pulling them from the same, shared source. If you make yourself a copy, even if it is an exact copy, you are still falling into the same basic trap as those who make themselves a copy and alter it -- you still have created another copy. You have succeeded in cloning the component!

If you've done any work designing or normalizing database schemas, you already understand the rule about storing data in more than one location. The minute that you have data in multiple locations, not only are you unnecessarily increasing your storage utilization, you have also created a situation in which the data in one place may not match the data in the other.

Now you have to deal with the issues surrounding which copy is the accurate copy and which copies are in error. Most developers understand that concept completely when it comes to data storage, yet will basically violate the very same rule when it comes to their software.

Again, the issue comes down to maintenance, and the impact of human intervention. When it comes time to upgrade a component (and let's face it -- all viable software components get upgraded at some point in their useful life), if the component exists in more than one place, each one of those places will have to be touched in some way.


« Previous  ·  1  ·  2  ·  3  ·  4  ·  5  ·  6  ·  Next »
Other articles you might like
Home > Lotus Community > Interviews and Insider Articles (49 articles)
   Integrating Twitter with an IBM internal social network
   We interview Bruce Elgort on IQJam, Notes 8.5.1, and his dog Domino
   Troubleshooting Notes 8.5 on the Mac
Home > Lotus Technologies > Application Development (48 articles)
   An application for scanning physical mail and distributing it virtually
   How hide-whens in Rich Text can ruin your whole day (and what to do about it)
   Little known traps about Lotus Notes fields
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
Syncing Notes with Android phones
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
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: Online safety for virtual learning
David Gewirtz Online: CNN commentary and analysis
OutlookPower: Seek and find: Strategies to locate filed-away emails fast
-- Advertisement --

Learn Notes and Domino 8 at your place and pace!
Learn Notes and Domino in your office and/or home! TLCC's highly acclaimed distance learning courses for users, developers, and admins will enhance your career and your resume.

The many included activities and demos will make you a pro! Expert instructor help is a click away.

Click here to try a FREE demo course!!

-- 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