Posts

Showing posts with the label Software

Creating Objects Design Situations

Image
  Understanding how to create an object goes beyond the new() syntax, a good designer will think about the current requirement and future requirements to ensure decoupling layers, build in flexibility and maintainability. For example, So you have an object that needs to create another class, however …it cannot anticipate the class of objects it must create …it wants only its subclass to specify the object it wants to create …it wants to localize knowledge of which helper subclass is the delegate How would you design for these quality attributes? How about the following: A client class needs a complex object, however it also … wants to vary the product’s internal representation …isolate code for construction and representation …gives you greater control over the construction process How would you design for these quality attributes?   What if you wanted to: … isolate the concrete class from the client that needs it, and … allow for exchanging classes of produ...

JMS Header Values, who sets what

JMS API defines headers for messages that are sent asynchronously to a message destination (Queue or Topic). A Client that sends a message has the ability to select 3 values: 1. JMSCorrelationID 2. JMSReplyTo 3. JMSType   These 3 values have meaning to the receiver of the message, and may have pre-defined semantics. These can be useful to Browse the messages, a QueueBrowser object can read and display messages that are sitting in the queue by reading its header messages. Note, that the API doesn’t support browsing topics. It is advisable to keep an internal xml database record of messages that are destined for a topic, and wrap the commit atomically using a 2 phased commit protocol.

Support Open Source Initiatives

Image
A survey by Boston Consulting Group in of developers using SourceForge found that respondents were, on average, 30 years old and had 11 years of programming experience. These were experienced professionals contributing to quality software products for free. Open Source is so pervasive now that people don’t talk about it or discuss it anymore. The assumption is that quality software will continue to be available for free. Without donations and support this is not possible, especially in tough economies. I have been an active user of OSS at work for almost every single project. Software development projects utilize a plethora of components that are open source. Open Source Object Relational Mapping frameworks, Model-View Controller frameworks to full scale operating systems, application servers and databases are used across business applications everywhere. So what is the basic idea behind the open source movement ? “The basic idea behind open source is very simple: When pr...