Bob Runstein

+ Follow
since May 21, 2002
Cows and Likes
Total received
In last 30 days
Total given
Total received
Received in last 30 days
Total given
Given in last 30 days
Forums and Threads
Scavenger Hunt
expand Ranch Hand Scavenger Hunt
expand Greenhorn Scavenger Hunt

Recent posts by Bob Runstein

My application needs to digitally sign email using the server's certificate from within WebLogic Server 8.1. The encryption algorithm implementations need to be FIPS 140-2 approved. We have no incoming mail, so signing is the only S/MIME functionality that I need. The weblogic.jar contains many of the certicom and rsa classes that could probably be used to sign, but I don't see anything there that could easily be leveraged to create the signed message.

I found, but they appear to have written their own JCE provider that is not FIPS 140-2 approved. The Sun JCE that comes with the JDK 1.4 would probably work for the provider, but it looks like bouncycastle is tied to its own provider.

I also found nsoftware's IP*Works! S/MIME V6 Java Server. Have any of you had any experience with this product?

Please let me know if you have written code you can share that will fit my requirements. Alternatively if you know of or have had any experience with other open source or commercial libraries I would be interest in hearing your experiences.

14 years ago
Does Hibernate support processing values with database functions for insert and update? My classes contain character representations of Oracle OLS labels which need to be converted to numbers using Oracle's to_data_label function. This function cannot be reproduced in java since the mapping is done via Oracle's OLS policy tables and I do not want to make a separate query to get the values from Oracle.

The sql I want would look something like this:
update myClass set myColumn = to_data_label(myClassAttribute)
where id = 100;
Whizlabs asked me to add my comments to this thread since Bala (bparanj) and I co-authored the OOAD exam for Whizlabs.

Bala had taken the IBM exam and made a proposal to Whizlabs to create an exam simulator. Whizlabs suggested that he could complete it faster if he had a co-author. Bala knew me from my postings on the Yahoo scea_j2ee group and generously offered me 50% of the royalties if I would assist him on the project. Bala's role was to come up with the questions and case studies on the basis of his familiarity with the IBM exam, while my role was to insure the quality of the questions and to write the explanations for the answers. Whizlabs posted my resume on their site promptly upon receiving it. I can only presume that Bala's is missing because he did not provide it.

Our collaboration went very smoothly, but I did feel Bala was overly harsh and intollerant in his communications with Whizlabs. For my part, I felt that Whizlabs was very accommodating to us as authors, and made every attempt to comply with our requests.

The entire process was not without hiccups, however. While I had no problem installing their software on Windows XP Professional, I discovered that the content was not properly imported into their exam engine. Problems included omitted periods (full stops) from many sentences, exhibits that could not be fully viewed because they were too large for the screen and did not have scroll bars, varying paragraph indentation and spacing from question to question, empty answer choices, answer choices from multiple questions appearing as the choices for one question, missing exhibits, etc. This resulted in considerable rework on my part to correct the errors and could have been avoided had Whizlabs been more specific about the format in which they were to receive the content and provided more QA oversight on their end. While having to do the rework was painful for me, Whizlabs was willing to make as many corrections as I requested so that in the end I was satisfied that we had produced a quality product.

Comments in this thread about exhorbitant price vs. reasonable royalties seem to be in conflict. Royalties are based on a percentage of the price so authors benefit from higher priced products. I have found Whizlab's author royalty percentage to be quite fair and on a par with what book publishing companies pay. Certainly, if you own an exam engine, create the content, and are willing to do the marketing, distribution and support yourself, you get to keep 100% of the sales price, but you also get to pay 100% of the expenses, not to mention the cost of your time.

Based on this one project, my experience with Whizlabs has been very positive.
I understand that the spec allows final static variables in EJBs. I have seen code that does this in a stateless session bean:
private final static MyHelperClass HELPER = new MyHelperClass();
This is done so that the same instance of the helper class can be used by all of the EJBs of that type.

This looks like it would not be thread safe unless MyHelperClass had no member variables or synchronized access to its member variables.
What are your thoughts on this?
Bob Runstein
 throughput: A performance measurement. The amount of useful work that can be done by a system in a certain period of time. e.g., the number of transactions per second.
 contingency factor: The amount of time added to the estimate for construction time of a project due to the risks identified for the project. It is calculated as a percentage of the total construction time and is typically 10 to 20 percent, depending on the level of risk.
 legacy system: A system that already exists when a software project starts. Typically it uses languages, platforms, and techniques that are no longer current. Legacy systems often serve critical business needs and must be integrated into a new application rather than replaced.
 impedance mismatch: Impedance is a term borrowed from the electrical engineering discipline that refers to the opposition that a component presents to an electric current. Maximum power transfer efficiency occurs when the output impedance of a device matches the input impedance of the device it is feeding. Any mismatch in the impedance reduces the efficiency. For software it refers to differences in technology between two components or systems that reduces the efficiency of their interaction. An example is storing Objects in a Relational database. An adapter of some kind must be used to convert the Objects to columns and rows. Similarly, a Java application has an impedance mismatch with a legacy Cobol application. An adapter must be interposed to enable the systems to exchange information.
 debit card: A payment device linked to a bank account. Typically this is a plastic card with embossed numbers on the front and a magnetic stripe on the back. Payments are immediately deducted from the linked bank account, as opposed to credit cards where the payments are deducted from a line of credit that must be paid off at a future date.
 cohesion: Larman p.232 � �In terms of object design, cohesion ( or more specifically, functional cohesion) is a measure of how strongly related and focused the responsibilities of an element are.� If the responsibilities of a class are highly related and the class does not do a lot of work, it has high cohesion. If it does many unrelated things or too much work, it has low cohesion and will be brittle (easily broken by changes to other classes), hard to understand, reuse and maintain.
 qualified association: An association relationship between entities that specifies how the relationship is navigated. It reduces the cardinality of a relationship from one-to-many to one-to-one. For example, a file system may have many files. The file name may be applied as a qualifier to the relationship to specify that a file system may have only one file with a particular name.
 discriminator: A discriminator is a label applied to a generalization line on a UML diagram that specifies the basis of the subtyping. For example, a Person may be a Doctor, a Nurse or a Hospital Administrator. A Person may also be Male or Female. In the first case the discriminator would be �role�, in the second case it would be �sex�.
 mitigation strategy: A software project has many kinds of risks associated with it. Each risk needs to be rated according to its probability and impact in terms of cost, time or effort and a plan should be made to deal with the risk. A mitigation strategy is a plan that details steps that reduce either the probability of the risk materializing or reduce the impact of the risk, or both.
Bob Runstein
co-author, OOAD@Whiz
Microsoft Certified Professional
Sun Certified Developer for the Java 2 Platform
Sun Certified Enterprise Architect for the Java 2 Platform
I need to configure an OracleOCIConnectionPool so that I can use the OracleOCIConnectionPool.getProxyConnection method to have the connection act on behalf of a user other than the one used to open the connections in the pool. I also need these connections to support container managed EJB transactions, so the pool needs to be registered with WebLogic so the EJB container can access the connections.
I can create the pool in the WebLogic console and configure a datasource for it, but the datasource returns only the connection, not the OracleOCIConnectionPool which is required to set a different user context for the connection.
I can create the pool in code, but then how do I register it with WebLogic so I can use container managed transactions?
15 years ago