Monday, January 31, 2005

Ten CSS tricks you may not know : evolt.org, Code

Ten CSS tricks you may not know : evolt.org, Code: "Ten CSS tricks you may not know"

How to run multiple versions of internet explorer

Skyzyx.com - Downloads: "Running standalone versions of Internet Explorer"

With these downloads you should be able to download an older version of IE for testing purposes. Just unzip and run the ie executable. The about box may still indicate its your current version

Using "exception join" in SQL

Using "exception join" in SQL: "Even for the experienced iSeries guru, SQL's 'exception join' syntax is rarely understood and even more rarely used.
Ironically, it's very similar to the (much more globally understood) 'unmatched records with primary file' option in Query/400."

How to update iSeries databases using JDBC, SQL

How to update iSeries databases using JDBC, SQL: "This tip shows common JDBC examples to create, write, read and update data in normal iSeries data files using JDBC and SQL and how to efficiently update iSeries databases using JDBC (Java Database Connectivity). The sample application (TestUpdateMethods.java) demonstrates two techniques for database updates using SQL: using an UPDATE statement with a where clause, using a positioned update with SQL cursor control. "

Use the SQL Rename command to make everyone happy

Use the SQL Rename command to make everyone happy: "The following SQL code makes everybody happy because it defines a 'static' short 10-character name for the tables (and record-format and member and columns), AND it allows the Java programmers to have their descriptive long name.

CREATE TABLE LongName (
LongFieldName1 FOR COLUMN LFN1 INTEGER NOT NULL,
LongFieldName2 FOR COLUMN LFN2 CHAR(3) NOT NULL,
CONSTRAINT LongFileName0
PRIMARY KEY (LongFieldName1)
);

RENAME TABLE LongName TO LongTableName FOR SYSTEM NAME LongName; "

SQL: One SELECT for one or several row, same WHERE.

SQL: One SELECT for one or several row, same WHERE.: "SELECT fld_id, fld_name, fld_lastname, fld_date, .....
FROM table_1
WHERE fld_date = 200301 AND
fld_id = CASE
WHEN :aux_id > 0
THEN aux_id
ELSE fld_id
END "

Quickly find SQL error message descriptions

Quickly find SQL error message descriptions: "1. Use the following Display Message Description command, replacing the RANGE value with the SQL error code that you are investigating: DSPMSGD RANGE(SQL7007) MSGF(QSQLMSG)
2. Go to the DB2 Universal Database for iSeries page of the IBM Information Center web site, scroll down and then click on 'SQL Message Finder'. Key in your error number and you will quickly find yourself back on the road to productivity again."

SQL recursive REPLACE command

SQL recursive REPLACE command: "REPLACE(SourceString, FindString, NewString) where SourceString is the string to search, FindSting is the string you want to replace and NewString is the string you want to put in the place of FindString.
This function is recursive so it will replace all occurrences of FindString within SourceString. The function will accommodate any string size up to 2000 characters. "

Use as400 SQL views to transfer packed data using FTP

The question of how to transfer packed data from an iSeries to an ASCII system has been asked many times. It has been suggested that one can use a logical file that redefines the packed field as zoned. This works as long as the value is non-negative and the number of decimals is 0 - the decimal point does not get transferred. CPYTOIMPF and CPYFRMIMPF can also be used but require extra steps in the process.

A standard logical file cannot convert numeric data to character, either. But an SQL logical view can use the SQL CHAR function to convert any numeric data to left-justified values that have the sign and the decimal point

http://search400.techtarget.com/tip/1,289483,sid3_gci1044575,00.html

as400 SQL vs. DDS -- The good, the bad and the downright ugly

In case you haven't heard, DDS is no longer the development language of choice when it comes to defining and maintaining your as400 database. It has been usurped by SQL's Data Definition Language (DDL)

http://search400.techtarget.com/tip/1,289483,sid3_gci1021854,00.htm

CGIDEV2

"CGIDEV2 is a collection of tools that makes it easier to write, test, debug and maintain RPG CGI programs. The tools fall into two main categories: the Service Program CGISRVPGM2, which contains the routines that do the hard work, and a set of full-functioning template programs that demonstrate the capabilities of those routines. The templates are designed to be modified to meet your programming needs."

The routines supplied in the service program include:

Tools to simplify interaction with the browser by “wrapping” the IBM-supplied CGI APIs. How much simpler? In most cases, getting input from the browser can be reduced to a single RPG statement.
Support for storing the HTML skeletons in the IFS or source physical files. This separates the HTML from the CGI program in much the same way DDS separates out the definition of a display file. Just as a display file can have multiple record formats, HTML skeletons can consist of a number of named sections. Even better, most HTML changes can be made without modifying or recompiling the CGI program.
Support for substituting variables within the HTML skeleton at runtime. This works in much the same way as moving values to the fields of a display file and has an “RPG feel” to it.
Debugging tools that allow you to track the operation of your CGI programs and to optionally add your own debugging information to the log.
Message-formatting tools that simplify reporting errors to the user.
The list goes on to include tools to parse CGI input; count page hits; perform data conversions; execute CL commands; handle CGI persistence; generate random numbers; and more. This is not to mention all of the additional tools available at the Easy400 Web site that are also built on the CGIDEV2 technology.

15 Seconds : Advanced UI Design Using XML and XSL - Part 1: Folder Tree Creation

15 Seconds : Advanced UI Design Using XML and XSL - Part 1: Folder Tree Creation: "Welcome to Advanced UI Design Using XML and XSL. Each article in my series will demonstrate the creation of a specific user interface (UI) component using eXtensible Markup Language (XML) and eXtensible Stylesheet Language (XSL). This article explains how to create a folder tree of unlimited depth by using XML and XSL, the style-sheet language for XML. The folder tree discussed in this article functions by taking an XML feed of a specific format and applying an XSL style sheet to it. The resulting transformation is then printed to the client. The client handles all requests to expand, collapse, maximize or minimize entities within the tree, or the whole tree itself. The client used in this article is Internet Explorer 5.5+. "

15 Seconds : Developing a Simple Service Oriented Architecture

15 Seconds : Developing a Simple Service Oriented Architecture: "The basic premise of an SOA system is to decouple the applications from each other and hence the applications are autonomous in their own terms. Therefore when each of these different applications in an organization needs to integrate they would have to communicate their needs by a standard process. This communication is done via messages sent across as defined by the business rules. These messages are XML message though need not be necessarily since some systems could send non - XML messages. For the case of a simple SOA we would consider XML messages since it's more or less the de-facto form of communication today. "

IBM Redbooks | Maximum Performance with WebSphere Application Server V5.1 on iSeries

IBM Redbooks | Maximum Performance with WebSphere Application Server V5.1 on iSeries: "This IBM Redbook helps you to gain a solid understanding of the factors that can affect the performance of the Java and WebSphere applications running on the iSeries server. As a deployment platform, the iSeries architecture combined with Java and the WebSphere Application Server provides a robust execution environment, which is ideal for the mission-critical business applications and Web sites.

This book explains how to tune the iSeries server for IBM WebSphere Application Server. The book is divided into several logical tuning tasks, such as tuning the Java virtual machine. You can study each of these logical blocks and apply them independently from other tasks. But, to achieve optimum performance on the system, we recommend that you use the systematic approach that is shown in this book."

The Various Search Engines: Their Whims and Wishes

"The Various Search Engines: Their Whims and Wishes

You can't optimize your website just for Google anymore. Wayne Hurlbert explains what both Google and its competition look for when awarding rank."

Using JavaScript to Keep From Being Framed

"Using JavaScript to Keep From Being Framed
To keep your Web page from being 'framed' within another page on a different Web site, place the following JavaScript code within the head of your document:
"

Apache and changing http to https

Apache and changing http to https

Try url rewriting

RewriteEngine On
RewriteLog /wwww/logs/rewrite.log
RewriteLogLevel 9
RewriteCond %{HTTPS} !=on
RewriteCond %{HTTP_HOST} ^mysite.com*
RewriteRule ^/* https://%{HTTP_HOST}$1 [R,L]

Russell Beattie Notebook - Hacker attack post-mortem

Russell Beattie Notebook - Hacker attack post-mortem

Scripting a Binary Tree Using Tcl

MacDevCenter.com: Scripting a Binary Tree Using Tcl: "Scripting a Binary Tree Using Tcl"

In C, a binary tree is coded using a struct with a data element and two pointers: a left child pointer and a right child pointer. It would look something like this:

struct node {
int element
node* leftChildPtr
node* rightChildPtr
}
The challenge here is to determine if the Tcl extensions packages provide us with the right bricks we need to meet the task. After dumping the Tcl bricks on the floor, I saw the keyed list extensions. Bingo! If you are unfamiliar with Tcl keyed lists. you may want to check out a previous article, "Playing with Keyed Lists on Mac OS X Tcl/Tk Aqua," on the Mac DevCenter. Please note that Apple currently ships the Tcl extension Expect installed in OS X. If you don't have Tcl/Tk Aqua, you can play along in a UNIX terminal window using the Expect interpreter.

Sunday, January 30, 2005

WebSphere 5.0: Making new DataSources or WorkManagers available to a running app without a restart

/dev/websphere: "WebSphere 5.0: Making new DataSources or WorkManagers available to a running app without a restart
Some customers want to use JMX to make a DataSource or WorkManager and then without restarting the JVM, look these new objects up in JNDI. This does work normally. Such changes are typically only 'detectd' when the JVM restarts or when a new application is deployed to a running JVM.
You can trigger this rebinding at any time using JMX. "

Enerjy Java Thread Profiler, Java thread deadlocks, Java thread processing

Enerjy Java Thread Profiler, Java thread deadlocks, Java thread processing: "Thread ProfilerFind, fix, and anticipate Java thread problems
Finally.
A tool you�ll actually use.Enerjy Thread Profiler identifies Java thread deadlocks � but that's only a fraction of the story. With comprehensive graphs outlining all Java thread processing and monitor activity, you'll gain a better understanding of your application to find and fix Java thread problems or fine-tune monitor usage."

Life's Too Short To Do JSP

Cardsharp on Software: "He said, �Life�s too short to do Java.� I had to think about that for a second. My current project is behind schedule as have most of my projects been. Is it true that everything just takes longer in Java? Am I wasting my time with all these layers, containers, frameworks, and XML configuration files? Would I truly be more productive in something else? I had to admit that there was some truth to what he was saying."

Sharing connections in WebSphere Application Server V5

Sharing connections in WebSphere Application Server V5: "Sharing connections in IBM� WebSphere� Application Server V5 (V5.0, V5.0.1, V5.0.2) can reduce resource allocation costs and deadlock scenarios. This article describes how to share and reuse connections in WebSphere Application Server V5 and the tradeoffs of sharing or not sharing connections. It also presents programming models to share connections among different applications, such as Web applications, session EJBs, BMP EJBs, and CMP EJBs. In addition, a WebSphere Studio Application Developer example shows how to set access intent and isolation level in a resource reference. "

WAS Application hangs with previous J2CA0086W warning messages STATE_TRAN_WRAPPER_INUSE

IBM - Application hangs with previous J2CA0086W warning messages: "Application hangs with previous J2CA0086W warning messages STATE_TRAN_WRAPPER_INUSE
Technote (FAQ)

Problem
An application seems to be in a hang state while trying to connect to database. The logs show several ConnectionWaitTimeoutExceptions as well as other errors referring to problems obtaining free connections from the pool. Before occurrences of hang there are repeated J2CA0086W warning messages and the connection pool is at a maximum.

Cause
A warning message similar to the one below is observed in the logs before the hang occurs:

[8/19/03 21:37:53:366 CST] 1c86bdf0 SharedPool I J2CA0086W: Shareable connection MCWrapper id 686bbdf9 Managed connection com.ibm.ws.rsadapter.spi.WSRdbManagedConnectionImpl@6156bdf9
State:STATE_TRAN_WRAPPER_INUSE

The message reference contains the following explanation of this message:

J2CA0086W: Shareable connection {0} from resource {1} was used within a local transaction containment boundary.

Explanation: Shareable connections are not allowed within a local transaction containment boundary.

User Response: Connection was made non-shareable.

The above scenario suggests a possible problem in the application logic and how it is using the connection code. The J2CA0086 message is telling you that your application is using a shared connection in a LocalTransaction. Since the connection is enlisted in a Local Transaction, and not a Global Transaction, different rules are followed when it comes to connection sharing. The connection usage has to follow the pattern shown below:

get connection,
use connection,
close connection,
commit transaction

then the connection can be used again. If this logic is not followed, a second (or third) connection can be allocated.

For example, if the application calls getConnection() method it gets connection1, uses connection1, then, if it calls getConnection() method again and connection1 is not ready to be reused, connection2 is obtained. Both connections remain in the shared pool and both are associated with the Local Transaction, until the Local Transaction ends (is committed or rolled back, or the method ends).

This can result in more connections being created than is expected, which is why the application is reaching the maximum connections, and getting ConnectionWaitTimeoutExceptions among others). This can cause a hang if the pool is at a maximum, and none of the threads that have connections can complete because they are waiting to get another connection.

Solution
There are two solutions to this problem:


The application must be modified to use serial reuse


or


The maximum number of connections must be increased (you can use 0, which means infinite connections).

In general you will see better performance with a lower number of connections, so the best solution to the problem is to make sure that the application closes its connections when it's done using them If it needs another connection later, it calls getConnection again (the connection pool caches the physical connection and allows it to be reused, so the performance hit is less than leaving the connections open).

STATE_TRAN_WRAPPER_INUSE J2CA0086W

Saturday, January 29, 2005

AdWords API Blog

AdWords API Blog: "AdWords: Code it your way
Hello, and welcome to the AdWords API developer blog! We'll be using this blog as an easy way to make announcements to the AdWords API developer community. Just to get things started, here's our official public launch announcement."

Jeremy Wagstaff's LOOSE wire: A Directory Of Bookmark Managers

Jeremy Wagstaff's LOOSE wire: A Directory Of Bookmark Managers: "A Directory Of Bookmark Managers
Here�s the beginnings of a directory of social bookmark manager/taglike storage facilities. That�s a mouthful, but the list isn�t:
furl: The blurb: Save a personal copy of any page on the Web with a single click. Search the full text of your entire archive in an instant. Share what you find through email, RSS or your own site, automatically. See what others are saving and discover new, useful information. Access your archive from any computer, anywhere. It's free to sign up, and quick and easy to install
del.icio.us The blurb: del.icio.us is a social bookmarks manager. It allows you to easily add sites you like to your personal collection of links, to categorize those sites with keywords, and to share your collection not only between your own browsers and machines, but also with others.
Spurl The blurb: Spurl.net is a free on-line bookmarking service and search engine. It allows you to store and quickly access again all the interesting pages you find on the web from any Internet connected computer.
Spurlbar The blurb: The spurlbar is an extension for FireFox, which lets you to use spurl.net bookmarking service easily.
flickr The blurb: almost certainly the best online photo management and sharing application in the world.
Simpy The blurb: social bookmarking and personal search engine
StumbleUpon The blurb: a network of people and pages. It is a free tool which helps you browse, review and share webpages while meeting new people.
Powermarks The blurb: Bookmark Manager and Personal Search Engine"

Free Book PDF Download: J2EE and XML Development

Free Book PDF Download: J2EE and XML Development
J2EE and XML Development teaches how, where, and why to use XML in each layer of a J2EE application. The book categorizes and explains many recent Java and XML technologies and the ways in which a J2EE application can best use them."

Service-Oriented Architecture from a Java Developers Perspective

Service-Oriented Architecture from a Java Developers Perspective: "How TSS Converted to Tapestry
TSS recently relaunced on Tapestry and JDO. Tapestry founder Howard Lewis Ship performed the conversion and documented the experience. "

Skype - Free Internet telephony that just works

Skype - Free Internet telephony that just works: "Skype is free Internet telephony
that just works.
Skype is for calling other people on their computers or phones. Download Skype and start calling for free all over the world."

Call ordinary phones from
Skype with SkypeOut.
Top up on SkypeOut credit and use the Skype programme to call ordinary phones all over the world. Not free, but pretty cheap.

Jailed for using a nonstandard browser

Boing Boing: Jailed for using a nonstandard browser: "Jailed for using a nonstandard browser
A Londonder made a tsnuami-relief donation using lynx -- a text-based browser used by the blind, Unix-users and others -- on Sun's Solaris operating system. The site-operator decided that this 'unusual' event in the system log indicated a hack-attempt, and the police broke down the donor's door and arrested him."

New Struts subproject: Shale

Apache News Blog Online: 27 January 2005 - New Struts subproject: Shale: "Right now, there are no concrete plans for a 2.x release of Struts Classic. The people working on the 1.x series want to evolve the code base without breaking backward compatibility. If we do our job right, then a 2.x release may never be needed.
Meanwhile, Struts Shale has its own identity and its own release cycle. Struts Classic is one subproject, and Struts Shale is another.
We encourage you to choose the framework that works best for you. (Even if it is not one of ours!)"

Friday, January 28, 2005

Maximum Performance with WebSphere Application Server V5.1 on iSeries

This IBM Redbook helps you to gain a solid understanding of the factors that can affect the performance of the Java and WebSphere applications running on the iSeries server. As a deployment platform, the iSeries architecture combined with Java and the WebSphere Application Server provides a robust execution environment, which is ideal for the mission-critical business applications and Web sites.

This book explains how to tune the iSeries server for IBM WebSphere Application Server. The book is divided into several logical tuning tasks, such as tuning the Java virtual machine. You can study each of these logical blocks and apply them independently from other tasks. But, to achieve optimum performance on the system, we recommend that you use the systematic approach that is shown in this book.

This book is written for the system administrators, application developers, and I/T consultants who are already familiar with WebSphere Application Server and work management topics for the iSeries server.

Larry Williams' Weblog : Weblog

Larry Williams' Weblog : Weblog: "Thoughts on Web Services
My personal feelings about web services are mixed. It's good to have open standards. But I feel like we are making the same mistakes as we made with EJBs. Only this time on a grander scale. Since almost all programming languages are involved. Below is a list of some of the problems.
Deployment descriptors, stubs and skeletons. If there's a tool that generates deployment descriptors, stubs and skeletons automatically. Then why can't this step be hidden from the developer?
Bad reference implementation. Axis is the Struts of Java web services.
Standards first then implementation. If I could choose it would be the other way around. You have to have something that works first.
Performance nightmare. Serialize and deserialize XML. Send it over a network. What else do we need? I guess local web service interfaces :)
Not choosing the right tool for the job. Choosing SOAP over for example REST or RPC just because it's a standard and over hyped.
Anyway I stumbled upon XFire the other day. XFire is a next-generation java SOAP framework. Compared to Axis it seems lightyears ahead. You can create a web service in 5 lines of code. Which is almost as easy as SOAPpy for Python. Too bad that I've not had time to try XFire yet. I'm sure I will soon. ( Jan 27 2005, 04:13:18 PM EST ) Permalink Comments [0] "

Thursday, January 27, 2005

as400 iSeries NetServer Disabled user profiles

Disabled as400 user profiles

Disabled user profiles


iSeries NetServer uses iSeries user profiles and passwords to allow network administrators to control how users can access data. In addition, an iSeries system value named QMAXSIGN specifies how many unauthorized sign-on attempts disable the user profile.


A user profile becomes disabled when the user tries to access iSeries NetServer a specified number of times with an incorrect password. A user profile cannot become completely disabled when connecting to an iSeries with iSeries NetServer. If a user exceeds the maximum number of sign-on attempts the user profile becomes disabled for only iSeries NetServer use. Other types of access, such as a system sign-on, are not prevented.


iSeries NetServer uses the last-changed date on iSeries user profiles to determine if they have changed since becoming disabled. If the last-changed date is newer than the date of becoming disabled, then the user profile becomes enabled again for use with iSeries NetServer.

Notes:


The QSYSOPR message queue displays the CPIB682 error message that indicates when an iSeries user profile was disabled for use with iSeries NetServer.
Some clients will retry a name and password several times without the user being aware of it. For example, if the user's desktop password does not match the iSeries user profile password, the client may retry to access the iSeries NetServer several times before displaying the Network Password popup window. When the correct password is supplied, the user profile may already be disabled for iSeries NetServer use on the iSeries. If you encounter this situation, the Maximum sign-on attempts allowed system value, QMAXSIGN, could be increased to accommodate multiple client authentication attempts. To do this, use the Work with System Values command: WRKSYSVAL (SYSVAL).
Display disabled user profiles
To display the disabled iSeries NetServer users using iSeries Navigator, follow these steps:
In iSeries Navigator, connect to an iSeries server.
Expand Network.
Expand Servers.
Click TCP/IP to view list of TCP/IP servers available.
Right-click iSeries NetServer and select Open.
Click on File in the upper left-hand corner.
On the pull-down select Disabled User IDs.


More as400 Netserver tips to follow

CNN.com - Top 25: Innovations - Jan 17, 2005

CNN.com - Top 25: Innovations - Jan 17, 2005:

In creating the list, the group hoped to single out "25 non-medically related technological innovations that have become widely used since 1980, are readily recognizable by most Americans, have had a direct and perceptible impact on our everyday lives, and/or could dramatically affect our lives in the future."

"TOP INNOVATIONS
1. The Internet
2. Cell phone
3. Personal computers
4. Fiber optics
5. E-mail
6. Commercialized GPS
7. Portable computers
8. Memory storage discs
9. Consumer level digital camera
10. Radio frequency ID tags
11. MEMS
12. DNA fingerprinting
13. Air bags
14. ATM
15. Advanced batteries
16. Hybrid car
17. OLEDs
18. Display panels
19. HDTV
20. Space shuttle
21. Nanotechnology
22. Flash memory
23. Voice mail
24. Modern hearing aids
25. Short Range, High Frequency Radio"

IBM WebSphere Developer Technical Journal: System Administration for WebSphere Application Server V5 -- Part 1

IBM WebSphere Developer Technical Journal: System Administration for WebSphere Application Server V5 -- Part 1: "This is Part 1 of a series that describes a variety of ways to use the WebSphere Application Server V5 management features. Part 1 introduces the basic system administration concepts necessary to understand V5 features.
� Copyright International Business Machines Corporation 2003. All rights reserved.
Introduction
IBM � WebSphere� Application Server (hereafter called Application Server) Version 5.0 provides enhancements to scalability, reliability, Web services, J2EETM 1.3 certification, and many other areas. Version 5.0 also provides a completely rewritten infrastructure for you to manage and administer your servers and applications. An open standards-based management framework, JavaTM Management Extensions (JMX) is at the core of the 5.0 management capabilities. New administration tool sets built for Version 5.0 take advantage of this framework. Also, you can use the Version 5.0 administration tool capabilities for your own custom administration programs.
This system administration series will discuss a variety of ways to use the Application Server 5.0 management features. Part 1 introduces the basic system administration concepts needed to understand Version 5.0 features. The first important concept to grasp is the new packaging structure for Application Server 5.0. To understand Application Server administration, you also need to familiarize yourself with the following concepts: servers, nodes and node agents, cells, and the deployment manager. It is important that you understand the various processes in the administrative topology and the operating environment in which they apply."

Developing a catalog style Web site using Websphere Studio

Developing a catalog style Web site using Websphere Studio: "The JavaServer Faces technology in WebSphere Studio simplifies the building of user interfaces for JavaServer applications. This article shows how to quickly develop a realtor�s Web site, including data on properties, local information, and mortgage rates. The same basic approach can be used to create Web applications for other industries. "

Wednesday, January 26, 2005

Identifying memory leaks with the WebSphere Studio Profiler and the JDK Heapdump utility

Identifying memory leaks with the WebSphere Studio Profiler and the JDK Heapdump utility: "Java's automatic garbage collection makes it much easier to manage memory use in Java and J2EE applications, but it does not help manage references to objects. If object references are not removed when necessary, memory leaks can occur and cause critical performance problems. This article explains how the WebSphere Studio Profiler can help you solve memory leak problems, and how the IBM Heapdump and HeapRoots tools can help with problems that may be too complex for the WebSphere Studio Profiler. For each tool, the article describes the performance considerations and suitability for special tasks, then uses sample code to show you how to efficiently use the tools to debug Java memory leak problems in J2EE applications."

Enable backwards navigation through Web applications

Enable backwards navigation through Web applications: "Web frameworks like Struts and JavaServer Faces focus only on forward navigation of Web applications. In this article, Maurizio Albari introduces a framework that improves the backwards navigation of Web applications by keeping a server-side navigation history of visited Web pages and visited named sequences of Web pages, also known as Webflows.

With the framework, you can also use the server-side navigation history to automatically clean the HTTP session, thus improving application performance. And the best part is that you can still use your favorite Web framework for forward navigation."

Client and server-side templating with Velocity

Client and server-side templating with Velocity: "Velocity is a versatile, open source templating solution that can be used standalone in report generation/data transformation applications, or as a view component in MVC model frameworks. In this article, Sing Li introduces Velocity and reveals how you can integrate its template-processing capabilities into your own client-side standalone application, server-side Web application, or Web services."

Remote scripting servlet in action

Remote scripting servlet in action: "This article presents a Web-based incoming-call monitor for a Customer Service Representative (CSR) in a Customer Relationship Management, or CRM, product based on Erik Hatcher's work, 'Remote scripting using a servlet.' To take that a step further, Victor Yang here analyzes those requirements and looks into such design options as why IFRAME is recommended over XML-RPC. Finally, he'll show you how to customize the original framework while explaining the key issues that take place during implementation with the code snippets."

J2EE pathfinder: Implement JSP custom tags in five easy steps

J2EE pathfinder: Implement JSP custom tags in five easy steps: "JSP custom tags provide a standardized mechanism for separating presentation and business logic in a dynamic Web page, allowing page designers to focus on presentation while application developers code the back end. In this installment of J2EE pathfinder, enterprise-minded developer Kyle Gabhart introduces the basics of JSP custom tags and takes you through the five-step process of incorporating them into your JSP pages."

Grab headlines from a remote RSS file

Grab headlines from a remote RSS file: "In this article, Nick shows you how to retrieve syndicated content and convert it into headlines for your site. Since no official format for such feeds exists, aggregators are often faced with the difficulty of supporting multiple formats, so Nick also explains how to use XSL transformations to more easily deal with multiple syndication file formats."

This article chronicles the creation of a Java Server Page (JSP) that retrieves a remote feed and transforms it using a Java bean and XSLT, and then incorporates the newly transformed information into a JSP page.

Working with the Echo Web framework, Part 1: An introduction to Echo

Working with the Echo Web framework, Part 1: An introduction to Echo: "This two-part series provides an introduction to the Echo framework, an open source, Java technology-based platform for building Web applications that look and act like rich clients. Part 1 introduces the framework and discusses what it does and how it is best used, providing an introductory walkthrough of its features. Part 2 takes you more in depth, building on your knowledge from Part 1 to develop a complete application using the Echo framework. "

JSP best practices: Pack 'em up!

JSP best practices: Pack 'em up!: "Storing your taglibs in a local filesystem is great for in-house development and testing, but it's not a good permanent solution. Custom taglibs should be widely accessible, which means they must be distributed in a standard and secure manner. Brett McLaughlin explains how to JAR your custom taglibs for easier maintenance, distribution, and installation in any JSP-compliant Web container.
So far in this series we've kept our custom taglibs in a local filesystem, where we could easily access and manipulate them. While local access is great for in-house development and testing, it's not a good permanent solution. The whole point of custom taglibs is that they should be widely accessible, which means they must be distributed in a standardized way that also allows for some essential security measures. In this installment of JSP best practices, you'll learn how to package your custom taglibs in a JAR file for safe and easy distribution."

JSP best practices: Error handling in custom tags

JSP best practices: Error handling in custom tags: "As you introduce more interactivity into your custom tags, you also introduce greater potential for error, particularly in the form of invalid arguments. In this installment of JSP pest practices, Brett McLaughlin shows you how to trap and override an IllegalArgumentException at its source.
Up to this point in our discussion of JSP custom tags, we've managed to sidestep the important detail of error handling. Many of the best practices that we addressed in the first half of the series dealt with functionality provided by your JSP container, such as the param, out, and import tags. In these cases, error handling was the domain of the JSP specification and Web server implementation, which means that even if we wanted to do something about it we couldn't."

Take Web data analysis to the next level with PHP

Take Web data analysis to the next level with PHP: "Effective, multi-level analysis of Web data is a critical element for the survival of many Web-oriented businesses, and the design (and determination) of data-analysis tests is often the job of systems administrators and in-house application designers who may not have an understanding of statistics beyond tabulating raw counts. In this article, Paul Meagher delivers the skills and concepts Web developers need to be able to apply inferential statistics to their Web data streams."

JSP best practices: Create custom attributes for your JSP tags

JSP best practices: Create custom attributes for your JSP tags: "Brett McLaughlin continues his JSP best practices series by extending the custom time-stamp tag (lastModified) with an attribute that lets page authors choose their own time-stamp format.
The last installment of JSP best practices introduced the basics of using custom tag libraries in your JSP pages. You learned how to define a simple tag and then make it available through a tag library descriptor (TLD) to other JSP authors. This week, we'll build on what you already know about custom tags. The example tag we worked with last time was quite simple, almost to a fault. So we'll extend its functionality by incorporating custom attributes."

Speed Web delivery with HTTP compression

Speed Web delivery with HTTP compression: "HTTP compression, a recommendation of the HTTP 1.1 protocol specification for improved page download time, requires a compression feature implemented at the Web server and a decompression feature implemented at the browser. While popular browsers were able to receive the compressed data as early as three years ago, Web servers were not ready to deliver compressed content. The situation is changing, though, as server compression modules are introduced. Dr. S. Radhakrishnan dissects Web compression, examines the benefits of HTTP compression, offers several compression tools, and highlights the effectiveness of the technology in a case study."

Working XML: Fundamentals of Web publishing with XML

Working XML: Fundamentals of Web publishing with XML: "As more developers learn and experiment with XML, many have become interested in using stylesheets to publish and manage Web sites. But getting started is not always that easy. Although none of the concepts, taken in isolation, is difficult, putting them together coherently is not a trivial undertaking. In this article, Benoit Marchal provides step-by-step instructions to get you started. He shows how to organize your project in source, rules (stylesheets), and publishing directories. You'll also get some practical tips on XML editors."

Practical database design, Part 1

Practical database design, Part 1: "What are the best choices when designing the schema for a relational database? What is the rationale in deciding in favor of one and against some other alternative? Given the amount of vendor-specific recommendations, it is all too easy to overlook basic relational database fundamentals. In this first of two parts, author Philipp K. Janert talks about simple and complex datatypes, and about primary and foreign keys -- the plumbing that holds the entire database together."

Java(TM) Boutique - Tutorial - iText Document Generator: PDF Generation Made Easy

Java(TM) Boutique - Tutorial - iText Document Generator: PDF Generation Made Easy: "iText Document Generator: PDF Generation Made Easy
by Benoy Jose
The portable document format (PDF) is the most commonly used document format in the industry, mainly due to its simplicity and portability. PDF has become the standard format for generating company reports, brochures, and presentations. Hence today's applications are expected to generate reports in numerous formats including HTML, rich text, and PDF. Most application servers and other server software provide direct support for generating HTML, text, and rich text documents, but there are no application servers that provide PDF document-generation support. iText is a Java based API that fills this gap by providing a simple, easy-to-use PDF document generator.
iText has a simple API, which can be used to simultaneously generate PDF, rich text, and HTML documents.
Features


Easy-to-use Java API
Writes to any Java output stream
Generates multiple outputs like HTML, RTF, and PDF simultaneously.
Supports for underlining, strike-through text, skewed text, subscript, and superscript
Nested Tables
Watermarks
Security and Encryption
Extended font support
Barcode support
Event support
Parses existing PDF files
Support for Adobe JavaScript
XML Support
Templates "

Divided Loyalty, Part 2: Creating Views and Deploying Plugins in Eclipse and NetBeans

Divided Loyalty, Part 2: Creating Views and Deploying Plugins in Eclipse and NetBeans:

"Views are an important aspect of any IDE but Eclipse and NetBeans users can write their own custom views and deploy them using each product's unique plugin architecture. Find out how to integrate a single view into either Eclipse, NetBeans, or both. "

Manage Database Metadata with POI and Excel

Manage Database Metadata with POI and Excel:

"Entity relationship diagrams (ERD), while central to such development efforts, don't go far enough when it comes to explaining the actual use of a particular column. Some ERD design tools do allow you to store metadata in them, but this forces anybody who wants to look up metadata definitions later to either use those specific tools. Moreover, descriptions stored in design tools, while adequate for those involved in the design process, may not meet the needs of developers performing maintenance or creating enhancements after the application goes live. Consequently, the usage and meanings of columns and tables typically get modified, lost, or obscured over time.

A simple metadata dictionary can help you monitor and maintain this essential information. Just use the Apache POI library API to query your database for its metadata and then store it in a clear and organized way in Microsoft Excel. This article describes how to implement this solution. (See Sidebar: What Does POI Stand For? for a humorous explanation of the technology.)"

OOP Is Much Better in Theory Than in Practice

OOP Is Much Better in Theory Than in Practice: "OOP Is Much Better in Theory Than in Practice
Think object-orient programming (OOP) is the only way to go? You poor, misguided soul. Richard Mansfield contends that OOP is just the latest in a history of ideas that sound good in theory but are clumsy in practice. "

This is the infamous throwing-numbers-out-of-your-ass technique

Even a chimp can write code: A team of crack developers does not a successful project make: "This is the infamous throwing-numbers-out-of-your-ass technique"

Developers hate schedules. That conclusion is pretty easy to derive. I was thinking of 3D Realms's long-awaited Duke Nukem Forever, that Wired magazine has so appropriately honored with a Lifetime Achievement Award in the Vaporware/Phantom Software category. Now I don't know anything about said company and said product's development team, but saying "I doubt they have much of a schedule" is just stating the obvious. Sadly this isn't the only instance of its kind in the software industry. I believe a vast majority of projects have either no schedule (and hence no deadline) or have no adherence to schedule. No wonder these projects move slower than molasses dripping out of a fur-lined syrup pitcher.

Today, Sun announced that the source code for the Solaris Operating System-will be made available

OpenSolaris.org now “open” for business
The Solaris operating system is being released under the terms of the OSI-approved, CDDL (Common Development and Distribution License). Millions of development hours worth of code and over 1,600 patents are being contributed to the open source community. We know that innovation happens everywhere. And we're going to stand shoulder to shoulder with you. To push Solaris. And see how far we -- together -- can take it.

The opensolaris.org web site will be the center for OpenSolaris activity. Program content will be released in stages. The source code for one of the Solaris operating system's most advanced features – Dynamic Tracing (DTrace) is available here. We invite you to take a look. Expect to see buildable Solaris code here in Q2 2005.

Community involvement and input is critical to the success of the OpenSolaris program. If you want us to update you on major events such as the availability of buildable Solaris source code, please provide us with your email address in the text box on the right.

Tuesday, January 25, 2005

2RSS.com :: RSSlib,RSS2HTML,RSS2JS,RSS feeds,RSS directory,RSS software,RSS scripts,RSS articles,RSS syndication,XML,RDF,news ...

2RSS.com :: RSSlib,RSS2HTML,RSS2JS,RSS feeds,RSS directory,RSS software,RSS scripts,RSS articles,RSS syndication,XML,RDF,news ...: "Atom2RSS (Atom-to-RSS)
As you know, many sites offer Atom feeds instead of RSS. Most noticeable Blogger.com. And because our site focuses on RSS technology (directory, readers, articles) you can add here only RSS resources.
Converting Atom XML feed to RSS feed is a new service our site offers, for free. You even don't have to register. All you have to do is to use a link to atom2rss.php page and pass your Atom URL in atom parameter."

mozdev.org - pagerankstatus: index

mozdev.org - pagerankstatus: index: "Google Pagerank status:
Displays the Google Pagerank in your browser's status bar."

Today, Sun announced that the source code for the Solaris Operating System will be made available

OpenSolaris.org now “open” for business

The Solaris operating system is being released under the terms of the OSI-approved, CDDL (Common Development and Distribution License). Millions of development hours worth of code and over 1,600 patents are being contributed to the open source community. We know that innovation happens everywhere. And we're going to stand shoulder to shoulder with you. To push Solaris. And see how far we -- together -- can take it.

The opensolaris.org web site will be the center for OpenSolaris activity. Program content will be released in stages. The source code for one of the Solaris operating system's most advanced features – Dynamic Tracing (DTrace) is available here. We invite you to take a look. Expect to see buildable Solaris code here in Q2 2005.

Community involvement and input is critical to the success of the OpenSolaris program. If you want us to update you on major events such as the availability of buildable Solaris source code, please provide us with your email address in the text box on the right.

CSS samples

CSS samples: "CSS samples

1. www.stopdesign.com
2. simplebits.com
3.http://www.sercotransarctic.com/
4 http://weeklystandards.com/
http://www.theoldhag.com/index.php
http://www.jinabolton.com/
http://www.brookelyn.org/
http://www.adampolselli.com/"

Creating advanced input forms using JSF and JavaScript with IBM Rational Application Developer V6

Creating advanced input forms using JSF and JavaScript with IBM Rational Application Developer V6: "Creating complex validation on input forms no longer needs to be difficult, and no longer requires detailed knowledge of Java or the internals of JSF. With the release of Rational Application Developer V6, you can quickly and easily create forms involving complex validation using drag and drop."

AS400Expert page

AS400Expert page: "AS400Expert -- A tool for accessing AS/400 file"

Main features (in no particular order):

View field definition for physical and logical files
SQL Query windows with capability to export results in many formats
View and Edit data in As/400 tables
Retrieval of key fields and omit/select clause in logical files
Capability to drop, move, rename or copy files
Browsing of source physical file members
Extract Cobol (Also ILE), DDS and SQL source for physical file
Visual Query Builder
Remote command to AS/400
More to come..........

iSeries 400 (AS/400) resource: API interfaces

iSeries 400 (AS/400) resource: API interfaces

Some of the iSeries 400 (AS/400) API's can be a little tricky to use. As a service to the community a number of programmers have contributed to this list with small examples written in RPG/400, ILE RPG or CLP.
All the examples share the same attributes:
Placed in the Public Domain with no restrictions at all. 'Good behaviour' however dictates that you credit the authour in your source.
Packed in a PC .ZIP-file, source only.

http://hkrebs.dk/apiinterfaces.html

Simple stand alone programs, ready to compile, test and modify. Subroutines are supplemented by a small main routine that sets up the parameters etc. to make it a stand alone program. However the example program is kept as simple as possibly - not complete utilities with lot's of 'noise'.
Authors name and @ddress included if he accepts questions about the interface.
Restrictions and prerequisites described in the program source. No need for any additional user guides.

QCDRCMDI - Retrieve Command Information
QDBRTVFD - Retrieve Database File Description Same as QjoRetrieveJournalInformation
QDBLDBR - List Database Relations
QHFRTVAT - Retrieve Directory Entry Attributes
QjoRetrieveJournalInformation Same as QDBRTVFD
QsnGetCsrAdr - Cursor position with No Aid-byte
QSYRUSRI - Retrieve User Information
QUSCRTUS - Create User Space 1: 1: Same as QUSLJOB and QUSRTVUS
QUSLJOB - List Job Same as QUSCRTUS and QUSRTVUS
QUSLMBR - List Database File Members
QUSLOBJ - List Objects
QUSRJOBI - Retrieve Job Information
QUSRTVUS - Retrieve User Space Same as QUSLJOB and QUSCRTUS
QWCRNETA - Retrieve Network Attributes To retrieve System Name
QWCRSVAL - Retrieve System Value

iSeries 400 (AS/400) resource: API interfaces

Web services for the REST of us

Web services for the REST of us: "An increasing number of developers are turning to a much-simplified way of developing Web services, known as Representational State Transfer (REST). I'll cover REST in more detail in my next column, but here's the brief rundown. With REST, you build services using XML, but rather than communicating via SOAP and using the rest of the Web services stack, you use the much simpler HTTP. Simplicity is the key to REST; services can be built using basic commands such as 'put,' 'get,' 'post' and 'delete.'"

Monday, January 24, 2005

High staff turnover hits Indian offshore firms - silicon.com

High staff turnover hits Indian offshore firms - silicon.com: "One of India's leading IT outsourcers is struggling to cope with the high turnover of call centre and business process outsourcing (BPO) staff, despite posting another quarter of bumper profits.

Bangalore-headquartered Wipro said high staff turnover rates had forced it to replace 90 per cent of the 14,340 employees in its largely call centre-focused BPO business in the last year, according to a report by Reuters.
A 'non-poaching' agreement between India's main IT and BPO outfits last year was supposed to tackle the problem of staff moving from company to company and vice chairman Vivek Paul told the newswire that Wipro wants to reduce the BPO unit's dependency on call centres, which account for 90 per cent of its work. "

as400 V5R3 Memory Affinity Boosts Performance



Memory Affinity Boosts Performance
With the dramatic improvements in processor speed and processor optimizations, storage access latencies
continue to be a limiting factor in fully utilizing available processing power. Therefore it is important for
the Operating System (OS) to provide memory management support to fully optimize processor
utilization. IBM i5/OS™ V5R3 takes advantage of a characteristic of the POWER4 and POWER5
Symmetric Multiprocessor (SMP) topology to boost performance. This base OS facility called Memory
Affinity controls both how tasks are dispatched to processors and how storage is allocated on their
behalf. But further performance may also be available through the use of a provided set of work
management controls.
Using these controls where appropriate takes minimal effort, but it comes at a cost; you first need to
understand a few basics about cache and multiprocessor topology in POWER4 and POWER5 processors.

Accessing iSeries files from within an Oracle application

Accessing iSeries files from within an Oracle application: "We recently had an in-house contractor accessing iSeries files from within an Oracle application. One or two record requests took 10-15 seconds; a 50-record request took 10-15 minutes.
His code showed that he was requesting the records via primary key. But a trace at the iSeries level (actually, just using OpsNav to show current SQL) showed that not all the WHERE clause entries were being passed to the iSeries optimizer and he was doing full table scans.
Eventually, we narrowed it down to the fact that he had defined a work variable used in the WHERE clause as VAR CHAR, a common practice in Oracle. Once that was changed to plain CHAR, the individual requests were processed in less than a second; the request for 50 records was returned in less than two seconds. "

Use SQL views to transfer packed iseries data using FTP

Use SQL views to transfer packed data using FTP: "A standard logical file cannot convert numeric data to character, either. But a view can use the CHAR function to convert any numeric data to left-justified values that have the sign and the decimal point. "

Library list for Web server

Library list for Web server: "Although the Web server jobs show as user profile QTMHHTTP, which uses QDFTJOBD for library list, the actual library list is found in jobd qhttpsvr/qzhbhttp. Simply change this jobd to match your production library list and your conversions from green screen to Web service will be much less painful. "

Using NFS to create image catalog entries

Using NFS to create image catalog entries: "By using the Network File System (NFS) it's possible to add the CD contents to an image catalog on one machine (for instance the Management Central machine) and create the image catalogs on other machines by accessing the image catalog files on the Management Central machine through NFS. This avoids the need to swap the CDs several times on several machines when creating the image catalogs. "

Utility helps you determine the status of PTFs on your system quickly

Utility helps you determine the status of PTFs on your system quickly: "Without the licensed program information, determining if your system has a particular PTF already applied is a real pain in the neck. You usually have to search through the PTFs of several licensed programs to find (or not find as the case may be) a particular PTF. Personally, I had had enough several years ago, so I created a utility to alleviate the problem.
Building a better mouse trap
The Find PTF utility lets you quickly determine the status of any PTF, without specifying a licensed program identifier. Once 'loaded,' it can tell you in rapid-fire action whether or not a PTF is installed on your system, what the licensed program ID is, and what the status of the PTF is. All you need to enter is a PTF identifier -- no licensed program information required."

ASP 101 - Alternating Table Row Colors

ASP 101 - Alternating Colors: "Sometimes when you've got a table with a lot of fields in it it can get hard to tell which rows are which when you get to the end of a row. That's why you see a lot of that old wide dot matrix paper that alternates between white and green... it makes following a row across the paper easier... now you've got the same thing for lines on the screen.
To keep things simple and to the point, I've left out the DB connection code and am simply using a in memory recordset object. This should make it really simple for you to connect you own database and use data from it to fill the table.
You might also want to take a look at the resulting HTML. You see... it is possible to get ASP to generate relatively decent looking HTML.
Anyway, the code is pretty simple... give it a look. "

create a hovered pop-up that can serve as a supplemental 'tooltip' with any page element

CSS Tooltips - Part Two: "In Part One of this CSS Tooltips series, we covered the basic coding necessary to create a hovered pop-up that can serve as a supplemental 'tooltip' explanation for a link. The next step is to arrange for this effect to be used with any page element, and not just links.
A Matter Of Support
The heart of the CSS tooltip method depends on the :hover pseudo-class. The W3C makes no restrictions as to which elements may be in the :hover state. In theory this means it can apply to any page element. Most modern browsers now support this CSS 2 feature, but sadly, Internet Explorer for Windows lags behind in this area. IE/Win supports the CSS :hover pseudo-class only on link elements. It's really too bad, because having clean CSS tooltips for an image or a complex math formula would be highly desirable to most authors.
However, it happens that IE5/Win and above can be made to support hovering on any element, via a (freely available) jscript called from within the CSS file. Microsoft calls this proprietary 'pathway' for the Jscript a behavior. Calling a script from within a CSS file is a non-valid use of CSS, and normally we would not recommend any such thing. But in this case it's a matter of making IE 'support' a standard CSS rule that it otherwise would not.
Further, it's possible to place this 'behavior call' in a separate style sheet and link that CSS into a page from within a conditional comment (also Microsoft proprietary code) that appears to other browsers as just a normal comment. Only IE will look inside and see the behavior code lurking within! "

TIP: How to Stop Other Sites From Hotlinking to Your Graphics

"Hotlinking" refers to another Web site linking directly to a file (usually
a graphic) on your Web site. This steals your bandwidth which causes a
heavier load on your server. If you've ever gone through your site logs and
found someone hotlinking to your image files, then you need to add the
following lines in your .htaccess file. Be sure to change "yourdomain.com"
to your actual domain name. IMPORTANT! Before doing any of this, you need to
find out from your Web host if your server supports "mod_rewrite". If it
does not, this tip won't help you.

[Formatting Note: There should be a total of four (4) lines of code. Each
one must be on its own line, without being wrapped.]

--- begin code ---
RewriteEngine on
RewriteCond %{HTTP_REFERER} !^$
RewriteCond %{HTTP_REFERER} !^http://(www\.)?yourdomain.com(/)?.*$ [NC]
RewriteRule .*\.(gif|jpg|jpeg|bmp)$ - [F,NC]
--- end code ---

These rewrite rules basically say that if the request for a gif,jpg,jpeg or bmp was not from your server, report the file as not found.

Additional resources:
Module mod_rewrite URL Rewriting Engine
http://nl.internet.com/ct.html?rtr=on&s=1,1che,1,ebsm,fc8c,jzqg,lsbv

Preventing Bandwidth Theft Using the Mod Rewrite Engine and .htaccess
http://nl.internet.com/ct.html?rtr=on&s=1,1che,1,epjj,fh4h,jzqg,lsbv

Lucene in Action: Meet Lucene Pt. 1 - WebReference.com-

Lucene in Action: Meet Lucene Pt. 1 - WebReference.com-: "This chapter covers
Understanding Lucene
Using the basic indexing API
Working with the search API
Considering alternative products


One of the key factors behind Lucene�s popularity and success is its simplicity. The careful exposure of its indexing and searching API is a sign of the welldesigned software. Consequently, you don�t need in-depth knowledge about how Lucene�s information indexing and retrieval work in order to start using it. Moreover, Lucene�s straightforward API requires you to learn how to use only a handful of its classes.
In this chapter, we show you how to perform basic indexing and searching with Lucene with ready-to-use code examples. We then briefly introduce all the core elements you need to know for both of these processes. We also provide brief reviews of competing Java/non-Java, free, and commercial products."

Review: TopStyle Pro 3.11 - webreference.com

Review: TopStyle Pro 3.11 - webreference.com: "Review: TopStyle Pro 3.11
By Lee Underwood
There are many ways to create and edit Web pages and style sheets. Using TopStyle Pro by Bradbury Software is one method. TopStyle was created by Nick Bradbury, creator of the HomeSite HTML editor. For those of you who like HomeSite, you'll love TopStyle Pro. This program is jam-packed with all kinds of features.
TopStyle is a (X)HTML/CSS editor; a combination which helps to save time in the editing process. Changes made to the style sheet can be viewed immediately from within the software. This means not having to upload the (X)HTML document to your server each time you want to view the changes.
The program provides many areas of customization. You can even create your own keyboard shortcuts that work one way in a style sheet and a totally different way in a (X)HTML document. The software can be integrated with a number of other tools, such as 40tude HTML, AceHTML, HTMLKit, and NoteTab Pro."

a new version of actiWATE Website Testing Tool is available for download

actiWATE - Release History: "actiWATE Framework
actiWATE Framework v0.99b2download v0.99b2 now

actiWATE is a Java-based software platform intended to make the test automation process simple and cost-effective.

actiWATE currently consists of:
Advanced framework for writing test scripts in Java (similar to open-source frameworks like HttpUnit, HtmlUnit etc. but with extended API)
Test Writing Assistant - Web browser plug-in module which is intended to assist the test writing process
"

Release date: January 18, 2005
Changes in v0.99b2:

API: HttpRequest.replaceParameters() and HttpRequest.removeParameters() methods removed, HttpRequest.clearParameters() method added.


API: New lookup method optionByValue(String optionValue) implemented in SingleSelect and MultipleSelect.


General: NekoHTML 0.9.4 incorporated.


HTTP: Support of proxy servers. See the updated Configuration file section in Tutorial.


HTTP: Support of basic authorization. See the Configuration file and Handling Basic Authorization sections in Tutorial. Also the new Handling Basic Authorization sample is available.


JavaScript support: Support of window.focus(), window.blur(), onfocus, and onblur


JavaScript support: Support of window.screen. See the Working with the Screen and the Configuration file sections in Tutorial. Also the new Working with the Screen sample is available.


JavaScript support: Minimal implementation of JavaScript objects related to CSS. Refer to the Appendix A: CSS implementation description section in Tutorial for details.


Bugfix: Frames are inaccessible from JavaScript if not yet loaded.


Bugfix: selectOption() works incorrectly in multiply select when the target option is already selected.


Bugfix: JS: select.selectedIndex and select.value returns incorrect values if several options accidentally have 'selected' attribute in a single-select


Bugfix: document.getElementById() doesn't take into account name attribute


Bugfix: Changing of innerHTML and innerText properties results in error


Bugfix: controls are submitted incorrectly


Bugfix: Form's POST parameters are wrong if two controls with same name are submitted


Bugfix: Form is not submitted when action='#'


Bugfix: The HTMLOptionElement.setSelected(boolean selected) method is no longer used in actiWATE.


Bugfix: "Page is invalid" exception when onchange handler redirects to another page.


Bugfix: Many other bugfixes.

Is it possible to create a trigger that can execute a

Re: Triggers?: "Is it possible to create a trigger that can execute a
java class?"

We do this now, but you have to write a little wrapper around the Java to
get it to be called from the trigger.

We've actually accomplished this on V5R1 via creating a Java Stored
procedure, and then calling that stored procedure via an SQL trigger. This
is nice because the DB is managing the lifecycle of the JVM, and I believe
the startup cost of the JVM only has to be paid once per job.

We've also created a small externally defined trigger in a high level
language that actually calls/submits a call to run a Java class. This
works ok as well, except that the JVM has to be started for each call.
That may not be an issue if this is on a slowly changing file.

I would just say that in either of these methods you want to make sure that
you realize exactly how often this trigger is going to be called. It is
very easy to end up in a bad situation if you attach a trigger to a file
that has transactions performed on it often. You'll either slow down your
operations tremendously using the first method, or end up with too many
jobs submitted for the system to handle in a timely manner in the second.
Just be careful!

Struts Recipes: Hibernate and Struts

Struts Recipes: Hibernate and Struts: "Persistence of data is a tedious and laborious job. To make matters worse, a considerable effort must be spent transforming an object-oriented representation of the data to a relational one, and vice versa. Fortunately, several good object-relational mappers exist to ease this burden. In this recipe, we explored Hibernate�one of the most popular open source object-relational mappers available to Java programmers.
Hibernate is a very rich product with many unexplored features left for you to discover. Our simple example is limited to read behavior, but the rest of the CRUD family is just as easy. Update functionality is as simple as accessing the desired element, calling the desired JavaBean setter, and calling the session commit method. Hibernate takes care of generating the SQL and updating the table. A delete is also rather simple�session.delete(element) is all it takes! Finally, create only requires instantiating the object, calling the setters, and calling session.save(element).
Hibernate best practices recommend caching the Hibernate factory object. We chose to create and cache the factory using a Struts plug-in. Alternatively, you could have chosen to cache using any other means in your arsenal.
Although this recipe can serve you well, there are some drawbacks. First, we have exposed Hibernate to the Struts Action. Migrating to another persistence layer framework requires us to change every Action employing Hibernate. Second, our persistence is tightly coupled to the presentation layer. This coupling denies us the opportunity to reuse the persistence logic in some other presentation mechanism, such as a batch program.
Although there is room for improvement, this recipe is suitable when you do not expect to reuse your persistence logic."

using metadata with toolbox

using metadata with toolbox: "using metadata with toolbox
Hi
I was retrieving the metadata information for a table in our DB ,
We use connection pooling , So the sam connection might be used again,

When I change the column heading for the fields in the table, and run the program to get the metadata it is giving me the old info

Is this an expected behaviour. The only reason I can think about is because of the same connection object
Pls advise
TIA

http://www-912.ibm.com/j_dir/JTOpen.nsf/2bd4742db2e03c7b862568230070dbd3/05d8393b0a07369886256f8c004edf89?OpenDocument

Re: using metadata with toolbox
Are you using extended metadata support at all? If you are not using extended metadata support. ResultSetMetaData.getColumnLabel() will return the same thing as ResultSetMetaData.getColumnName(). Try setting the "extended metadata" connection property to true.

Property Name: "extended metadata"

Description: Specifies whether the driver should request extended metadata from the server. Setting this property to true increases the accuracy of the information returned from the following ResultSetMetaData methods:
getColumnLabel(int)
isReadOnly(int)
isSearchable(int)
isWriteable(int)
Additionally, setting this property to true enables support for the ResultSetMetaData.getSchemaName(int) method. Setting this property to true may slow performance because it requires retrieving more information from the server. Leave the property as the default (false) unless you need more specific information from the listed methods. For example, when this property is off (false), ResultSetMetaData.isSearchable(int) always returns "true" because because the driver does not have enough information from the server to make a judgment. Turning on this property (true) forces the driver to get the correct data from the server.

You can use extended metadata only when connecting to a server running OS/400 V5R2 or i5/OS.

Required: no

Options: "true","false"

Default: "false"


Is this an expected behaviour. The only reason I can think about is because of the same connection object
Pls advise
TIA"

XFlows - XML and XSLT Manager Home page

XFlows - XML and XSLT Manager Home page: "A cross-platform powerful and easy to use XML and XSLT manager
A cross-platform powerful and easy to use XML and XSLT manager


More Screenshots...
Some scenario actions :


Task
Role

Xslt
Transform a set of XML documents with a stylesheet

Fop
Convert a set of FO files to PDF, HTML...

DocBook
Convert a set of DocBook documents to PDF, HTML...

HtmlXml
Convert a set of HTML documents to XML

DbExport
Export a database content to XML

DbImport
Import an XML content to a database

Concat
Merge several XML documents into a new one.

Copy
Copy a set of files from FTP/Local file system to FTP/Local file system

Delete
Delete a set of documents from FTP/Local file system

Parse
Parse a set of XML documents including well-formed and/or validation checking



Some Features :


Easy-to-use User Interface for creating and testing a scenario
Batch usage for running a scenario

Several log levels stored in files
Mail notification on errors

Work for one file or a complete directory content
File filter for a directory content working with regular expressions

Remote / Local files access (FTP) Various managed Databases (Oracle, DB2, Sybase, MySQL, SQL Server...)

Copy and Paste task parameters
Update the tasks order

Test one task with logs
Test one scenario with logs

Various user preferences (proxy, default ftp server...)
Plug your own parser and/or transformer with JAXP

The New York Times > Technology > A Virus Writer Tests the Limits in Cellphones

The New York Times > Technology > A Virus Writer Tests the Limits in Cellphones: "A Virus Writer Tests the Limits in Cellphones

Marcos Velasco, virus code writer, at home in Volta Redonda, Brazil, with his son Maicon, 5 months old, and his daughter Caroline, 8.


John Maier for The New York Times

Computer security experts around the world have given his virus and its variants more toxic-sounding names like "Lasco.A," "Symbos_Vlasco.A" or simply "the Lasco virus." They are also calling it stupid.

"We think he's dangerous," said Mikko Hypponen, the director of antivirus research for a Finnish company, F-Secure, "because he publicly posts working mobile malware that any clown anywhere can easily download and use."

By TOM ZELLER Jr.

Apple ships iPod shuffle to UK customers | MacNN News

Apple ships iPod shuffle to UK customers | MacNN News: "Apple ships iPod shuffle to UK customers
Friday, January 14, 2005 @ 9:20am

Apple has begun shipping its iPod shuffle to customers in UK, according one reader who has received shipment confirmation from the Apple Store UK. 'I just wanted to let you guys know that I ordered my iPod Shuffle on Apple's Store here in the UK on Tuesday 11th, after watching the keynote stream. The Apple Store gave an estimate of two weeks for the 512MB iPod and three weeks for the 1GB. Today, at around 11AM GMT, I received a dispatch notification from Apple to say that my iPod mini was on its way! Three to five days, and it shall be mine!' (The Apple Store San Francisco had limited quantities available on the day of its launch, while the Apple Store US lists 2-3 weeks ship times on each model.) Separately, several readers note that Apple's iPod shuffle website specifically offers the 'Do not eat the iPod shuffle' disclaimer, when comparing the size of the player to pack of game. "

Getting Around the Java Compiler's 64K Limitation

Getting Around the Java Compiler's 64K Limitation: "Getting Around the Java Compiler's 64K Limitation
If a class data frame's size goes above 64K (65536 bytes), the Java compiler rejects the compilation. The compiler's limitation is due to its ability to handle the larger data frames. While it may not be possible to change the compiler, you can use inheritance to deal with this problem. The following example demonstrates the problem and solution.
Say you've got a class called GlobalDefinitions, and its number of class members exceeds the 64K. Create a new class called GlobalDefinitions1 and move 80 percent of your data members from GlobalDefinitions to GlobalDefinitions1/.
Now, change GlobalDefinitions's declaration to extend from GlobalDefinitions1.
If GlobalDefinitions was already extending from some other class, you should move it to GlobalDefinitions1.
This change makes all the members available through inheritance, while keeping individual classes below 64K. You can extend this for any class size by introducing various intermediate classes.
Amit Jain"

Even a chimp can write code: When the + operator for concatenating Strings is a better option

Even a chimp can write code: When the + operator for concatenating Strings is a better option: "When the + operator for concatenating Strings is a better option
Simple but not widely understood fact: the + operator for String concatenation is your best option, an order of magnitude better than StringBuffer.append(...), when the your String value resolves at compile time."

Sunday, January 23, 2005

Four Hundred Stuff--ProData's New DBUnifier Creates Interactive ibm as400 Apps in a Jiffy

Four Hundred Stuff--ProData's New DBUnifier Creates Interactive Apps in a Jiffy

ProData's New DBUnifier Creates Interactive Apps in a Jiffy


by Alex Woodie


ProData Computer Services recently announced the general availability of DBUnifier, a new menu-driven tool for creating interactive applications from DB2/400 database files, without any programming. With the capability to create selection lists (F4-lists processes), work with subfile processes, and create inquiry and file maintenance applications with field- and record-level validation, ProData says, DBUnifier gives OS/400 shops a reason to send IBM's Data File Utility packing

http://www.itjungle.com/fhs/fhs011105-story03.html

Friday, January 21, 2005

Core J2EE Patterns - Value List Handler

Core J2EE Patterns - Value List Handler: "Core J2EE Patterns - Value List Handler
Print-friendly Version



Context
The client requires a list of items from the service for presentation. The number of items in the list is unknown and can be quite large in many instances.
Problem
Most Java 2 Platform, Enterprise Edition (J2EE) applications have a search and query requirement to search and list certain data. In some cases, such a search and query operation could yield results that can be quite large. It is impractical to return the full result set when the client's requirements are to traverse the results, rather than process the complete set. Typically, a client uses the results of a query for read-only purposes, such as displaying the result list. Often, the client views only the first few matching records, and then may discard the remaining records and attempt a new query. The search activity often does not involve an immediate transaction on the matching objects. The practice of getting a list of values represented in entity beans by calling an ejbFind() method, which returns a collection of remote objects, and then calling each entity bean to get the value, is very network expensive and is considered a bad practice.
There are consequences associated with using Enterprise JavaBeans (EJB) finder methods that result in large results sets. Every container implementation has a certain amount of finder method overhead for creating a collection of EJBObject references. Finder method behavior performance varies, depending on a vendor's container implementation. According to the EJB specification, a container may invoke ejbActivate() methods on entities found by a finder method. At a minimum, a finder method returns the primary keys of the matching entities, which the container returns to the client as a collection of EJBObject references. This behavior applies for all container implementations. Some container implementations may introduce additional finder method overhead by associating the entity bean instances to these EJBObject instances to give the client access to those entity beans. However, this is a poor use of resources if the client is not interested in accessing the bean or invoking its methods. This overhead can significantly impede application performance if the application includes queries that produce many matching results.

TechTip: Installing the iPTF Plug-in for iSeries Navigator

TechTip: Installing the iPTF Plug-in for iSeries Navigator - MC Press Online: "Traditionally, PTFs were ordered either by calling IBM on the phone or by using the green-screen command Send PTF Order (SNDPTFORD). Since IBM is rapidly integrating all former green-screen/command-line functionality into the iSeries Navigator utility, it was only a matter of time before they allowed you to order PTFs directly from iSeries Navigator. You can now download an iPTF plug-in for iSeries Navigator from IBM and install it into your iSeries Navigator GUI. The steps involved, while by no means rocket science, are a bit involved. If you have never installed an iSeries Navigator plug-in before, it can be difficult to figure out where to begin. To take some of the sting out of the process, industry expert Shannon O'Donnell shows you step by step in this video tutorial how to install the iPTF plug-in for iSeries Navigator. "

Difference between OPM RPG and ILE RPG

There are a few areas where the ILE RPG compiler runs faster because of the
way the compiler and runtime are coded. For example, the handling of eof
and record-not-found is much faster for ILE RPG. Also, program
initialization is much faster when you have no PSDS or a small PSDS (this is
most dramatic when the called program returns immediately).

There may be some difference due to the fact that the ILE RPG runtime is
statically bound and the OPM runtime is not, but this may not be as big a
difference as you'd expect, because the OPM RPG runtime is used much less
than the ILE RPG runtime. Many OPM RPG programs only call the
initialization runtime program; all the code is generated directly into the
program rather than calling out to the runtime; system programs for file
handling are called directly from the generated code.

I think most of the difference is due to the optimizating translator used by
the ILE compilers, which takes the code generated by the compiler and
generates machine code.

Web Services Products of the Year

Integration

The top winners in this category are:

GOLD AWARD: IONA Technologies' Artix 2.1
SILVER AWARD: DataPower's XI50 XML Integration Appliance
BRONZE AWARD: Metallect's IQ Server 1.2"

Management

The top winners in this category are:

GOLD AWARD: Digital Evolution, Inc.'s Service Manager v2.3.2
SILVER AWARD: Actional Corp.'s Actional 5.1
BRONZE AWARD: AmberPoint's Service Level Manager 4.0

Application development/deployment

The top winners in this category are:

GOLD AWARD: LogicLibrary, Inc.'s Logidex 3.5
SILVER AWARD: IBM's WebSphere Studio Enterprise Developer V5.1.1
BRONZE AWARD: Novell Inc.'s exteNd Suite 5.2

Security

The top winners in this category are:

GOLD AWARD: DataPower Technology, Inc.'s XS40 XML Security Gateway 3.0
SILVER AWARD: Reactivity, Inc.'s Secure Web Services Deployment System 2400 Series
BRONZE AWARD: Netegrity Inc.'s TransactionMinder 6.0

eBay revokes Microsoft's Passport | CNET News.com

eBay revokes Microsoft's Passport | CNET News.com: "eBay revokes Microsoft's Passport
Published: January 19, 2005, 3:16 PM PST
By Robert Lemos
Staff Writer, CNET News.com

TrackBack Print E-mail TalkBack
Online auctioneer eBay officially has notified customers that it will no longer allow them to log on through Microsoft's identity management service, Passport.
As previously reported, the move is the latest blow to Passport, which had originally been marketed as a single online storage place for Internet users' sensitive data. The authentication system has been scaled back to support only services from Microsoft and its close partners."

Protect your privacy

Be cautious about the use of your email address online.
Handing it out indiscriminantly on websites, chat room and forums is like begging for junk email to strike.
Its better to be safe that sorry.

Thursday, January 20, 2005

ONJava.com: Software Infrastructure Bottlenecks in J2EE

ONJava.com: Software Infrastructure Bottlenecks in J2EE: "Scalability is one of the most important non-functional requirements of a system. But there could be several bottlenecks within a system, which might prevent it from being scalable. In this article, we try to analyze the case in which the software infrastructure becomes a bottleneck, long before any of the hardware resources (such as CPU, memory, disk space, and network speed) are fully consumed. This is a tricky problem whose solution is explored below. "

PostgreSQL 8.0 Out Now

PostgreSQL: "PostgreSQL 8.0 Out Now
PostgreSQL is a highly-scalable, SQL compliant, open source object-relational database management system. With more than 15 years of development history, it is quickly becoming the de facto database for enterprise level open source solutions."

Ta-da List: Simple sharable to-do lists. To-do list, todo list, task manager, task list, todo task, easy list, simple todo, free todo list manager.

Ta-da List: Simple sharable to-do lists. To-do list, todo list, task manager, task list, todo task, easy list, simple todo, free todo list manager.: "Ta-da makes it easy to...
Keep track of all the little things you need to get done
Make lists for other people (co-workers, friends, family)
Share lists with the world ('My favorite movies of 2004')
Subscribe to your lists in RSS so you're always on track
...and more! See screenshots, details, and a movie below.Sign up for FREE
Ta-da is completely free and sign-up only takes 10 seconds.
Web-based & hosted � No install
Make a list, check 'em off
How about a list of movies you want to see this year? Or all the stuff you need to get done before you go on your trip? Or a list of thank you notes you need to write? Or...
Ta-da List makes list making and tracking easy. And, since it's web-based, you can make a list at work and still get to it at home or anywhere else you have a computer or internet access (even on a mobile phone)."

Webcast Today: Top Tips For Keeping EDI Relevant

ABOUT THE WEBCAST:
Maintaining the custom coded interfaces early generation EDI tools require to add partners and integrate with applications and business processes is costly, time-consuming and inefficient. This webcast will present the guidelines and checkpoints needed to see if you are wasting valuable resources keeping an out-of-date solution meeting minimum requirements. Attend and learn:
How business requirements for EDI have changed;
How traditional EDI is affected by new requirements to support XML standards, data synchronization, web services, AS2, AS3, shrinking response windows and enterprise integration;
The options a business should consider to close the gap between traditional EDI technology and current business requirements;

SRVE0147E: No Virtual Host defined for web module AppProjectWeb. The Web Application will not be loaded

"I was getting the following error on local test server startup:

SRVE0147E: No Virtual Host defined for web module AppProjectWeb. The Web Application will not be loaded

To fix this check the
virtualHostName field in
webappbnd:WebAppBinding in the
ibm-web-bnd.xmi file in WEB-INF in the web application project
This will need to be modified to be virtualHostName='default_host'"

JSPFormat will format and beautify JSP, Html, and JavaScript code

: "JSPFormat will format and beautify JSP, Html, and JavaScript code. It works pretty well, it is all-Java, and it does have an Eclipse plug-in. The downside to JSPFormat is that it is currently in beta and, although it is currently free, its license is squirrelly. The license is for personal use, and it is limited to one year. I suspect that JSPFormat is leaving its license in such a state so that some IDE vendor will buy the product and not be hampered with existing licenses.
The JSPFormat site lists the following features:


IMPROVES readability of code
User defined format style
Allow user defined coding style
JSP 2.0 support
Java 1.4+ support
JavaScript 1.5 support
Brace Style Add On
Smart Html/JSP tag placement
Code Alignment
Code Separation
Remove all extra blank content
Smart indent of functions/methods, comments, variables, and statements
Smart align of variables and statements
Integrates with JBuilder, Eclipse, Intelli-J"

Eclipse Quick Outline Pop-up

: "Quick Outline Pop-up
January 19, 2005
Eclipse's Outline view is a nice feature that lets you see an outline of your Java class. With an outline, you see the methods, attribute, and imports of a class without the noise of method implementations. The Outline view has a tool bar that allows you to:

Sort
Hide Fields
Hide Static Fields and Methods
Hide Non-Public Members
Hide Local Types
The Outline view also has a Link with Editor feature (selected from the twirly in the tool bar) that will position the Java editor on the selected outline element. The Outline view also has a filter that allows you to omit elements.
You can make the Outline view active by pressing the Shift-Alt-Q then 'O' keys.
But Eclipse 3.0 created a faster method of displaying the outline of a class. Control-O pops up a modal Quick Outline window. I find the outline pop-up handy for quickly moving between methods in my source. You can do the same with the Outline view, but it requires several mouse movements. But now, with the new alternative, I can quickly press Control-O, cursor to the desired method, and press Enter. The pop-up goes away and the source is positioned to the selected method."

search400.coms Iseries Products of the Year

search400.com:
"In October 2004, Search400.com invited companies in the iSeries/i5 market to nominate their products for the 2004 Products of the Year Awards. To be eligible for consideration, a product had to have been introduced or significantly upgraded between Sept. 30, 2003, and Oct. 1, 2004. For previously available products, the upgrade must have incorporated major new features, designed to meet new or evolving needs in the marketplace. Not all companies invited to participate submitted nominations.

Products were nominated for specific categories -- Security Software, High-Availability Products, Application Development Tools (includes application development for the Web), Document/Image Management software (includes printing and output), Business-to-Business Solutions, and Backup and Recovery Tools. Each category had its own set of judges, who rated the products on a scale of 1-5 (5 being the best) in six categories -- innovation, performance, ease of integration into environment, ease of use and manageability, functionality, and value. The judges ratings were tallied separately, then averaged with the other judges' ratings to come up with a single rating."


Application Development Tools
The top winners in this category are:
GOLD AWARD: Planet J's Web Object Wizard (WOW) 6.3
SILVER AWARD: Business Computer Design International's WebSmart Version 5.0
BRONZE AWARD: Linoma Sofware's Surveyor/400 Version 02908

Backup and Recovery Tools
The top winners in this category are:
GOLD AWARD: Lakeview Technology's EchoStream FS V1.1
SILVER AWARD: Help/Systems' Robot/SAVE
BRONZE AWARD: Mid-Range Systems Solutions' MSS-HA/DR Version 1

Business-to-Business Solutions
The top winners in this category are:
GOLD AWARD: TrailBlazer Systems' ZMOD Exchange Item Sync V1R3
SILVER AWARD: Curbstone's Curbstone Card
BRONZE AWARD: Stalker Software's CommuniGate Pro V4.2 Real-Time Communications

Document/Image Management Software
The top winners in this category are:
GOLD AWARD: Business Computer Design International's Catapult Version 5.1
SILVER AWARD: CYBRA's MarkMagic 5.1 Barcode Label, RFID Tag and SM@RT Forms Software
BRONZE AWARD: ACOM Solutions' EZeDocs, EZPayManager/400 with Selected Access Security Version 6.2.01

High-Availability Products
The top winners in this category are:
GOLD AWARD: iTera's Echo2 High Availability Version 4.0
SILVER AWARD: Lakeview Technology's H.A. Clusters for Linux on IBM iSeries

Security Software
The top winners in this category are:
GOLD AWARD: TriAWorks Identity Manager for Single Sign-On Version 1.0.0
SILVER AWARD: Business Computer Design International's Nexus Web/Report Portal
BRONZE AWARD: NetIQ Security Solution for iSeries 7.5

Blocking, Sequential Only, and the Effect on an RPG Program

IBM eServer iSeries Support: Software Technical Document : 10064916

All high-level language programs (HLLs) use blocking at certain times and use single record I/O at other times, based on program specifications. Because blocking takes less system resources to perform a single I/O, a program that blocks performs better and uses less system resources. The default for the HLL uses record blocking if opening a file for output only (write) or input only (read). The programmer is expected to override the file or use larger blocks if the default is not appropriate. The HLLs do single I/O if files are opened for both input/output or update/delete. Blocking works well only if one reads many records sequentially because the block of records read are from some position in the file and the next N records. If one is going to position randomly within the file (CHAIN or set lower limit (SETLL) in RPG) and then read only two records, blocking may actually be a waste of system resources as the read after the random position reads a single record; however, the next read reads a block of records and the program reads only one.

The parameter on the override command that expresses the intent to block is sequential only (SEQONLY) to emphasize that the intent is to read some number of records in a row (you choose the number). Sequential only does not preclude the program from doing random positioning; however, remember the system reads an entire block of records when the second READ is run after the position (the first read accesses a single record only).

http://www-912.ibm.com/s_dir/slkbase.NSF/0/d6738e1cd37e1f33862565c2007cef79?OpenDocument

A Fast Path to AS/400 Client/Server Using AS/400 OLE DB Support

A Fast Path to AS/400 Client/Server Using AS/400 OLE DB Support

If you have ever wanted to develop Microsoft Windows programs that work with the AS/400 system, you'll want to learn about the AS/400 OLE DB support. It provides a tremendous improvement over previously used techniques. Two of the key considerations that the AS/400 OLE DB support addresses are ease of application development while still providing acceptable performance. This redbook gives a broad understanding of the OLE DB architecture and how it can be used to access AS/400 resources.

This redbook provides examples of how to write programs using this interface. Many of the most popular Windows programming environments such as Visual Basic, PowerBuilder, Delphi, Lotus Notes and Visual FoxPro are covered. Also covered are end user tools such as Lotus 1-2-3, Excel and Microsoft Access.

http://www.redbooks.ibm.com/abstracts/sg245183.html?Open

More as400 redbooks to follow.

How can I remove a directory in the IFS including its subdirectories?

How can you remove a directory in the IFS including its subdirectories?

The comands DEL and RMVLNK will fail if you try to do this.

answer:
Use EDTF '/' then on the directory opt 9=Recursive Delete

Slow Running Batch Jobs on as400 Iseries

1) Is it a job running in a separate as400 iseries batch memory pool? (WRKSBS and check whether
the second column of Qbatch is a number such as 5 which is a pool on the
WRKSYSSTS screen and appears to have jobs running in it. Sometimes the
system is shipped with these jobs running in pool 2 (*Base) and this is not
so efficient, they can be affected by other work such as ODBC.)

2) If batch as400 jobs have been separated into pool 5 or whatever, is Expert
Cache turned on? It should be. If so, F11 on WRKSYSSTS will show *Calc next
to the pool. If it shows *Fixed, change it to *Calc, but only if you are
sure that all the work in that memory pool is the same type (i.e. all batch,
or all interactive.)

3) Have the files used by the batch program been getting bigger? They may
need purging. Or they may contain 'hard deleted' records, if so you need to
do a RGZPFM on them to speed things up.

4) Does the batch program use SQL to access the files? If so, you may need
indexes creating over the files. You can run the database monitor to find
out.

5) Which model of iSeries are you running on? On some models there is a
'governor' program that kicks in when the workload reaches the 'knee' of the
response time curve, and slows everything down using an interrupt called
CFINTxx - you can only see this in action on WRKSYSACT. This is more likely
to happen with interactive than batch though.

6) Have you done a RCLSTG recently? Maybe some data got corrupted.

7) Any duplicate records in the files? Sometimes the software doesn't handle
this well.

8) Sometimes you can speed up a batch job by removing logicals and
recreating them afterwards.

9) Ensure you use Visual Explain in Iseries Navigator to investigate any problems jobs with logical indexes that may need to be created on the as400 iseries