Solving WebLogic Server and Memory Hanging Problems

WebLogic Server performance and memory issues are not uncommon from time to time. This is quite natural for many applications, especially when in the growth period of the application or during processes that involve adding new features and functionality or new users to the system. In some cases, developers who write code are not necessarily able to predict how applications handle the load or will be used. The net effect of this can be a performance problem, with some of the commonly seen problems being application crashes resulting in out of memory errors and slow response times.  The good news is that there are technical reasons why systems function in the manner they do, and that these performance problems can be solved.

The main challenge when trying to fix WebLogic Server performance and memory issues is getting processes in place one at a time to handle the problem until the system becomes more stable. The next step involves you changing your process so as toincorporate best practices in your development life cycle, which may help you avoid similar problems in the future. Technical commitment to the project is required when trying to identify and solve the issues at hand. Solving your WebLogic Server performance and memory issues requires you to begin your efforts with the fundamentals. It is generally recommended that you think about creating small independent work groups to kick start WebLogic Server performance and memory use improvements in the following areas:

Java:   This is the foundation of the WebLogic server application. The best place to get information on a poorly performing application is from that application itself. Start by getting thread dumps from your applications, then move on to profiling the memory.

Networking: Most modern applications use a network. As such, when searching for the cause of the problem, it is important to remember to look at the network. Placing a NIC card in promiscuous mode or using TCP dumps can assist you in establishing network related problems. Looking at all the layers in the network including NICs (Network Interface Cards) on boxes, Load Balancers, firewalls and any other traffic routing applications is also a good idea.

N- Tier: N-Tier applications typically depend on other systems. As such, having a good understanding or familiarizing yourself on how all applications work assist you in trouble shooting issues by looking at the big picture.

Operating systems: Since applications run on operating systems, performance issues can be the result of improperly configured systems. Looking for systems logs, CPU context switches, full disks and memory use helps identify operating system related signs of WebLogic Server performance and memory utilization issues.

Databases: If your application uses a database it is important to keep an eye on the database and its processes for potential issues related to long running queries and log files.

In more cases than not, WebLogic server and memory performances issues can be found in one of the above fundamental areas. Understanding these key fundamental areas plays a huge role in helping to successfully identify and solve application problems.

I’m sure there is a reason why we don’t point out that making use of reusable code is one of the best safeguards against WebLogic Server performance problems, because reusable code has already been tested. Tools like ResQSoft® Engineer make extensive use of reusable code to reduce bugs and improve software performance, by testing and refining the code from one project to the next.

Posted in general | Tagged , , , | Leave a comment

How Legacy Modernization Can Help Improve Public Safety and Law Enforcement

Have you ever watched some of those live-drama,‭ ‬police operation documentaries or films back in the‭ ‬1980‭’‬s,‭ ‬1990‭’‬s and early‭ ‬2000,‭ ‬where in a scene you find a cop tagging the owner of a vehicle and identifying a criminal merely by punching an ID on a hand-held unit or a small computer system mounted‭ ‬in‭ ‬the police car‭?

Back then,‭ ‬it may have seemed like a leap in technological prowess for the law enforcement agencies.‭ ‬The shocking truth, however,‭ ‬is that the system that facilitated the flow of information from State Law Enforcement offices to the police units in the field‭ ‬was probably dependent on aging programs that were developed decades earlier.‭

Before choosing to modernize these aging systems,‭ ‬police and military agencies kept different records‭ (‬both paper and digital‭) ‬for known offenders,‭ ‬convicted felons,‭ ‬including data on juveniles and those on parole.‭ ‬Eventually the systems give rise to a potential risk that,‭ ‬if left unchecked and mishandled,‭ ‬questions are raised concerning the accuracy and the duplication of unorganized data,‭ ‬questions that could ultimately affect civilian security activities and public safety,‭ ‬in the long run.‭

The solution‭ ‬-‭ ‬modernize those legacy systems.‭

Today,‭ ‬some of these obsolete or legacy systems have been given an overhaul,‭ ‬and have been modernized for more robust integration with other state agency information systems,‭ ‬which includes the correlation of data from prison institutions,‭ ‬parole and even the justice department and courts systems,‭ ‬as well as revenue systems and social services‭; ‬all-in-all to offer a faster,‭ ‬more accessible,‭ ‬and more accurate sharing of information for police units,‭ ‬to better serve and protect the public.

In a push for developing a more comprehensive system for law protection agencies and the justice department,‭ ‬IT personnel from different states have started drafting plans to modernize the other sectors in the police and military departments that would allow:

1. Faster and more accurate web-interface and cross-referencing of offender management systems.‎

2. On-demand accessibility and global sharing of important security data.

3. Disaster recovery and more secure offsite-backups with‎ ‏99.9%‎ ‏availability or better,‭ ‬24/7.

4. Active user groups and better channels for police units to report and for citizens to read on important information from their local security agencies.

5. Cost-effective solutions to upgrade and maintain new systems,‎ ‏after modernizing them.

This new tactical and strategic approach will help facilitate information not only on past or current offender data,‭ ‬but will also provide crucial details‭ ‬on all the interactions of offenders with State government agencies,‭ ‬upon demand.‭ ‬The old systems are simply too difficult to interface well with one another.

Modernizing legacy applications is a fast and proven method to making sure you keep the critical data from your existing system,‭ ‬while reaping the benefits and savings of a newer and more modern system.‭ ‬Law Enforcement Agencies‭ ‬who have done so‭ ‬have certainly benefited from these efforts.‭

Posted in general, legacy modernization, SOA, Software Development | Tagged , , , | Leave a comment

Legacy Migration Check List

When an organization has taken the initiative to perform a system migration, it is not a decision made lightly. Legacy migrations are not commonly performed because of the cost that the organization incurs. And so after coming to terms and considering all the pros and cons, there is a check list to perform prior to a legacy migration.

Firstly, the organization must inquire and decide on the legacy migration method they wish to carry out. There are several legacy migration methods that organizations can choose from; straight migration, migration by extension and upgrade inclusion migration.

Should they choose to perform a straight migration, they will be moving the current legacy system as it is, without any upgrades whatsoever to the system. This method of legacy migration is mostly done by an organization that is completely satisfied with their system and how it handles operations. It focuses mostly on improving efficiency in terms of performance of the system and reducing the maintenance costs of the legacy system.

Another method of legacy migration is by extension. Regardless of whether the organization is completely satisfied with the current system, there may be a component that cannot be upgraded and thus requires an additional aspect added to the legacy system. With the system running inefficiently, there is cost to the organization. An extension to the system makes the legacy system more cost effective.

And finally there is legacy migration with the inclusion of an upgrade. Unlike that of the extension, the features of the legacy system are moved into the new system, and some new features are added on. Furthermore, the old features are reviewed. Usually this is done because the objectives that the legacy system was reaching have significantly changed and requires the upgrades to capture the entire scope of change. Another reason could be that the inefficiency of the legacy system’s features bite into the profits of the organization. Upgrading would result in more cost efficient running of the system.

In addition to establishing which method of performing legacy migration there are other aspects of the legacy system that should be captured before performing the legacy migration. It should be identified, i.e. the users that will come into contact with the system. One should question whether they will all be able to complete what they need to after the legacy migration. Establishing their roles comes in second to identifying them. Sometimes, without identifying those who are significant to the system, it can be migrated and the wrong audience is considered making the legacy migration an entire flop. Then comes those who are not to be included into the system even after the legacy migration. This is the system security aspects. There should be no loopholes to the system that will allow unauthorized entry to the system. Identifying these parties will simplify blocking any routes for infiltrating the system.

Posted in legacy modernization, system integration | Tagged , , , , | Leave a comment