Harkishin,
I would agree with the individuals who have advocated the use of a
hash-based data structure. Linus is correct that access to the hash-based
data structure will be O(1) (in other words, you will be able to access the
desired entry in the hash-based data structure in 1 step regardless of the
number of elements in the data structure itself). If you use an array list,
access could be as bad as O(n).
The hash-based data structure I would use is a HashMap (rather than a
HashTable). The HashMap is faster than the HashTable and can be made
thread-safe if needed.
Fred
>From: Harkishin Nachnani <hnachnani@...>
>To: novajug@..., novajug@egroups.com
>Subject: ArrayList...or Dictionnary class
>Date: Fri, 17 Nov 2000 13:29:08 -0500
>
>hi all:
>I have a string:
>String data = "key1 = value1 | key2 = value2 | key3 = value3 | key4 =
>value4 | key5 = value5";
>
>I want to access these values (value1,Value2....) in my application more
>than once. Should I store them in an ArrayList ?? What is a faster way
>to do it ?? Can I use some sort of a Dictionnary class ??? Please
>advise...
>
>Thanks,
>Harkishin
>
_________________________________________________________________________
Get Your Private, Free E-mail from MSN Hotmail at http://www.hotmail.com.
Share information about yourself, create your own public profile at
http://profiles.msn.com.
Harkishin,
I was assuming you would want to specify the key to access the value. If
you have an array and you need to access a value based on a key then you would
have to perform a sequential search through the array -- much slower than a hast
table.
Linus
David Sisk <sisk@...> on 11/17/2000 02:10:07 PM
Please respond to novajug@egroups.com
To: Harkishin Nachnani <hnachnani@...>
cc: novajug@..., novajug@egroups.com (bcc: Linus Freeman/DynCorp_IET/US)
Subject: [novajug] Re: ArrayList...or Dictionnary class
Hey Harkishin,
An ArrayList will be faster than a hashtable(syncronization issues), but not
as fast as an Array. Note it is intended to replace vectors, so this means
it dynamically re/builds the Array depending on number of inserts.
Some questions you need to answer revolve around the type of access you will
be performing (eg. Sequential, Random, Sequential Ordered). This will most
likely answer your question as to what to use.
Take a look at Thinking in Java 2 by Bruce Eckel (on his website:
http://www/BruceEckel.com). There is a pretty good section on the issues
around using each.
Offhand, I would think a LinkedList or HashMap would probably meet your
needs.
Good Luck,
David
Harkishin Nachnani wrote:
> hi all:
> I have a string:
> String data = "key1 = value1 | key2 = value2 | key3 = value3 | key4 =
> value4 | key5 = value5";
>
> I want to access these values (value1,Value2....) in my application more
> than once. Should I store them in an ArrayList ?? What is a faster way
> to do it ?? Can I use some sort of a Dictionnary class ??? Please
> advise...
>
> Thanks,
> Harkishin
Visit our web page at http://www.delbray.com/novajug
To unsubscribe from this group, send an email to:
novajug-unsubscribe@egroups.com
Hey Harkishin,
An ArrayList will be faster than a hashtable(syncronization issues), but not
as fast as an Array. Note it is intended to replace vectors, so this means
it dynamically re/builds the Array depending on number of inserts.
Some questions you need to answer revolve around the type of access you will
be performing (eg. Sequential, Random, Sequential Ordered). This will most
likely answer your question as to what to use.
Take a look at Thinking in Java 2 by Bruce Eckel (on his website:
http://www/BruceEckel.com). There is a pretty good section on the issues
around using each.
Offhand, I would think a LinkedList or HashMap would probably meet your
needs.
Good Luck,
David
Harkishin Nachnani wrote:
> hi all:
> I have a string:
> String data = "key1 = value1 | key2 = value2 | key3 = value3 | key4 =
> value4 | key5 = value5";
>
> I want to access these values (value1,Value2....) in my application more
> than once. Should I store them in an ArrayList ?? What is a faster way
> to do it ?? Can I use some sort of a Dictionnary class ??? Please
> advise...
>
> Thanks,
> Harkishin
Harkishin,
I would store them in an associate array such as a Java hash table so that
you can specify a key value and get the corresponding value with an efficiency
of O(1).
Linus Freeman
Harkishin Nachnani <hnachnani@...> on 11/17/2000 01:29:08 PM
Please respond to novajug@egroups.com
To: novajug@..., novajug@egroups.com
cc: (bcc: Linus Freeman/DynCorp_IET/US)
Subject: [novajug] ArrayList...or Dictionnary class
hi all:
I have a string:
String data = "key1 = value1 | key2 = value2 | key3 = value3 | key4 =
value4 | key5 = value5";
I want to access these values (value1,Value2....) in my application more
than once. Should I store them in an ArrayList ?? What is a faster way
to do it ?? Can I use some sort of a Dictionnary class ??? Please
advise...
Thanks,
Harkishin
Visit our web page at http://www.delbray.com/novajug
To unsubscribe from this group, send an email to:
novajug-unsubscribe@egroups.com
hi all:
I have a string:
String data = "key1 = value1 | key2 = value2 | key3 = value3 | key4 =
value4 | key5 = value5";
I want to access these values (value1,Value2....) in my application more
than once. Should I store them in an ArrayList ?? What is a faster way
to do it ?? Can I use some sort of a Dictionnary class ??? Please
advise...
Thanks,
Harkishin
Additionally, be aware although there is no real limit to the length
of strings, there is a practical limit around 32k. Just an FYI, since you
mentioned that the string was "infinite".
java.sum.com has a thread on this, for reference.
David Sisk
"Frederick J. Ingham" wrote:
-----BEGIN PGP SIGNED
MESSAGE-----
Hash: SHA1 Jeff, Here
is a quick and easy way to accomplish it (although, it is
inefficient with respect to memory): -----BEGIN
PGP SIGNATURE-----
Version: PGP Personal Privacy 6.5.3 iQA/AwUBOhNNfjfZU7KW7A6DEQKryACdGphuWObY0NkPqOppfs6tKg+TsO8Anjme
RBnu3ELOhlVFVEaJkrmWpEIq
=/WK3
-----END PGP SIGNATURE----- public
class example {
public static void main(String[] args) {
String s = "ABCDEFGHIJKLMNOPQRSTUVWXYZ";
int segment_size = 4; // change
this to 32768
int left_over
= s.length() % segment_size;
int number_of_segments
= s.length() / segment_size + (left_over > 0 ? 1 : 0);
String[] segments
= new String[number_of_segments];
for (int i = 0; i < number_of_segments; i++) {
try {
segments[i] = s.substring(i * segment_size, (segment_size * (i + 1)));
}
catch (StringIndexOutOfBoundsException e) {
segments[i] = s.substring(segment_size * i);
}
}
System.out.println("String length = " + s.length());
System.out.println("Segment
size = " + segment_size);
System.out.println("Number
of segments = " + number_of_segments);
System.out.println("Left
over... = " + s.length() % segment_size);
System.out.println("");
for (int i = 0; i < number_of_segments; i++) {
System.out.println("[" + i + "] " + segments[i]);
}
}
} Fred -----
Original Message -----From: <jeff.gunther@...>To:
<novajug@egroups.com>Sent:
Wednesday, November 15, 2000 7:31 PMSubject: [novajug]
Splitting a String > Hello Everyone,
>
> First, my hat is way off to Fred for all his work last
night! I'm
> excited about all the possibilities to learn from everyone.
Maybe
> someone can start today and help me with a String problem.
I need to
> split a String that can be infinite number of kilobytes
into multiple
> 32 kilobyte String objects.
>
> Does anyone have an example of doing this? Any help
will be greatly
> appreciated.
>
> Jeff Gunther
>
>
>
>
>
>
> -------------------------- eGroups Sponsor -------------------------~-~>
> eGroups eLerts
> It's Easy. It's Fun. Best of All, it's Free!
> http://click.egroups.com/1/9698/0/_/_/_/974334680/ > ---------------------------------------------------------------------_->
>
> Visit our web page at http://www.delbray.com/novajug >
> To unsubscribe from this group, send an email to:
> novajug-unsubscribe@egroups.com >
>
>
>
> Hello Everyone, > > First, my hat is way off to Fred for all his work last night! I'm > excited about all the possibilities to learn from everyone. Maybe > someone can start today and help me with a String problem. I need to > split a String that can be infinite number of kilobytes into multiple > 32 kilobyte String objects. > > Does anyone have an example of doing this? Any help will be greatly > appreciated. > > Jeff Gunther > > > > > > > -------------------------- eGroups Sponsor -------------------------~-~> > eGroups eLerts > It's Easy. It's Fun. Best of All, it's Free! > http://click.egroups.com/1/9698/0/_/_/_/974334680/ > ---------------------------------------------------------------------_-> > > Visit our web page at http://www.delbray.com/novajug > > To unsubscribe from this group, send an email to: > novajug-unsubscribe@egroups.com > > > >
Hello Everyone,
First, my hat is way off to Fred for all his work last night! I'm
excited about all the possibilities to learn from everyone. Maybe
someone can start today and help me with a String problem. I need to
split a String that can be infinite number of kilobytes into multiple
32 kilobyte String objects.
Does anyone have an example of doing this? Any help will be greatly
appreciated.
Jeff Gunther
Fred,
Thanks for all of your work putting last nights meeting together. I was very
impressed with the organization of and the style of the meeting in general!
It far exceeded my expectations. I am a new programmer and look forward to
getting involved in the group. Thanks again.
Dave Wheeler
----- Original Message -----
From: "Fred Ingham" <ingham@...>
To: <novajug@egroups.com>
Sent: Wednesday, November 15, 2000 9:47 AM
Subject: [novajug] novajug_jobs eGroup
> To all,
>
> I have created a new group called novajug_jobs where
> individuals/companies who have job openings can post them.
>
> The group is open to the public (you will not have to 'join' the
> group) to view the messgages.
>
> Please let me know if you have any problems accessing and/or posting
> to this new group.
>
> Fred
>
>
>
>
>
> Visit our web page at http://www.delbray.com/novajug
>
> To unsubscribe from this group, send an email to:
> novajug-unsubscribe@egroups.com
>
>
>
>
_____NetZero Free Internet Access and Email______
http://www.netzero.net/download/index.html
Hi all:
I am trying to create a textfield which accepts only numbers...so I have
added a KeyListener and consumed all the keys which are not
numbers...This works perfect with TextField (awt) but doesn't seem to
work with JTextField (Swing).
Please help !!!
This following code works fine...but when I replace the TextField with
JTextField...it fails to consume the keys...
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
public class TextTest
{
private JFrame f;
private TextField tf;
public void go()
{
f = new JFrame("TextField");
tf = new TextField("Single Line", 30);
tf.addKeyListener(new NameHandler() );
Container cp = f.getContentPane();
cp.add(tf, BorderLayout.CENTER);
f.pack( );
f.setVisible(true);
}
public static void main(String[] args)
{
TextTest txtst = new TextTest( );
txtst.go( );
}
}
class NameHandler extends KeyAdapter
{
public void keyPressed(KeyEvent e)
{
char c = e.getKeyChar();
if(!Character.isDigit(c))
{
e.consume( );
}
}
}
To all,
I have created a new group called novajug_jobs where
individuals/companies who have job openings can post them.
The group is open to the public (you will not have to 'join' the
group) to view the messgages.
Please let me know if you have any problems accessing and/or posting
to this new group.
Fred
To all,
I will send another note to the folks at egroups to find out if they sell
user group lists and let you know what I find. On the particular email you
are talking about, I did NOT receive it on either of my two email addresses
that I have registered with the group.
Fred
>From: Hunter <ghunter@...>
>Reply-To: novajug@egroups.com
>To: novajug@egroups.com
>Subject: Re: [novajug] advertising
>Date: Wed, 15 Nov 2000 09:22:56 -0500
>
>Dave,
>
>On the 13th I got something from The Lender's Network .
>Also, this morning I had two identical ads on
>REMOVE SKIN DISCOLORATIONS, SPOTS, MARKS....
>
>Are they related to yours???
>
>hunter
>
>
>
>
>
>
>At 08:48 AM 11/15/00 -0500, you wrote:
>>Many thanks to Fred (and others who helped) for a great meeting last nite!
>>A couple weeks ago, someone mentioned fears of using egroups because of a
>>reputation of selling out email addresses. Recently, I have started
>>getting several emails from some brokerage company trying to sell me a
>>mortgage. I was wondering if others on this list also got it. If so, it
>>may lend some credibility to the spam issue.
>>
>>Thanks,
>>Dave
>>
>>**********************************************************************
>>David Finkbeiner 703-558-0036(w) Email:
>><mailto:David_Finkbeiner@...>David_Finkbeiner@...
>>
>>
>>eGroups Sponsor
>>
>>Visit our web page at
>><http://www.delbray.com/novajug>http://www.delbray.com/novajug
>>
>>To unsubscribe from this group, send an email to:
>>novajug-unsubscribe@egroups.com
>>
_________________________________________________________________________
Get Your Private, Free E-mail from MSN Hotmail at http://www.hotmail.com.
Share information about yourself, create your own public profile at
http://profiles.msn.com.
On the 13th I got something from
The Lender's
Network .
Also, this morning I had two identical ads on
REMOVE SKIN DISCOLORATIONS, SPOTS, MARKS....
Are they related to yours???
hunter
At 08:48 AM 11/15/00 -0500, you wrote:
Many thanks to Fred
(and others who helped) for a great meeting last nite!
A couple weeks ago, someone mentioned fears of using egroups because of a
reputation of selling out email addresses. Recently, I have started
getting several emails from some brokerage company trying to sell me a
mortgage. I was wondering if others on this list also got it.
If so, it may lend some credibility to the spam issue.
Thanks,
Dave
**********************************************************************
David Finkbeiner 703-558-0036(w) Email:
David_Finkbeiner@...
Many thanks to Fred (and others who helped) for a great meeting last nite!
A couple weeks ago, someone mentioned fears of using egroups because of a reputation of selling out email addresses. Recently, I have started getting several emails from some brokerage company trying to sell me a mortgage. I was wondering if others on this list also got it. If so, it may lend some credibility to the spam issue.
David,
Yes, I will post minutes for the meeting on this list.
Fred
--- In novajug@egroups.com, David Sisk <sisk@m...> wrote:
> Fred,
>
> I will not be attending tonight's meeting, but am an avid reader of
the
> thread and sometimes contributor.
>
> Will you be able to publish any type of minutes or more detailed
accounting
> of the meeting?
>
> It would be helpful for those of us, who can't make it out to the
burbs :)
>
> Thanks,
>
> David Sisk
> Technical Director - Magnet Interactive.
>
> Fred Ingham wrote:
>
> > To all,
> >
> > I just wanted to let you know that I have uploaded the slides and
> > source code that I will be talking about at tonight's meeting.
You
> > can access them from the 'files' selection on the eGroups site.
> > Please print them out before the meeting (I may have handouts but
> > they will be very very small...)
> >
> > Other than the discussion about the group itself, the JDBC and
> > XML/SAX topics will be presented as class lectures.
> >
> > Also, I received a call this morning from Kim at Cysive who kindly
> > volunteered to hold a raffle to give away a $150 gift certificate
to
> > Amazon.com.
> >
> > As a reminder, the meeting itself will be held at the Northwest
> > Federal Credit Union Building at 200 Spring Street, Herndon, VA.
> > 20170. I put a map of the building on the website however, you
may
> > want to use something like www.mapquest.com to provide you with
> > directions.
> >
> > Fred
> >
> >
> > Visit our web page at http://www.delbray.com/novajug
> >
> > To unsubscribe from this group, send an email to:
> > novajug-unsubscribe@egroups.com
Fred,
I will not be attending tonight's meeting, but am an avid reader of the
thread and sometimes contributor.
Will you be able to publish any type of minutes or more detailed accounting
of the meeting?
It would be helpful for those of us, who can't make it out to the burbs :)
Thanks,
David Sisk
Technical Director - Magnet Interactive.
Fred Ingham wrote:
> To all,
>
> I just wanted to let you know that I have uploaded the slides and
> source code that I will be talking about at tonight's meeting. You
> can access them from the 'files' selection on the eGroups site.
> Please print them out before the meeting (I may have handouts but
> they will be very very small...)
>
> Other than the discussion about the group itself, the JDBC and
> XML/SAX topics will be presented as class lectures.
>
> Also, I received a call this morning from Kim at Cysive who kindly
> volunteered to hold a raffle to give away a $150 gift certificate to
> Amazon.com.
>
> As a reminder, the meeting itself will be held at the Northwest
> Federal Credit Union Building at 200 Spring Street, Herndon, VA.
> 20170. I put a map of the building on the website however, you may
> want to use something like www.mapquest.com to provide you with
> directions.
>
> Fred
>
>
> Visit our web page at http://www.delbray.com/novajug
>
> To unsubscribe from this group, send an email to:
> novajug-unsubscribe@egroups.com
To all,
I just wanted to let you know that I have uploaded the slides and
source code that I will be talking about at tonight's meeting. You
can access them from the 'files' selection on the eGroups site.
Please print them out before the meeting (I may have handouts but
they will be very very small...)
Other than the discussion about the group itself, the JDBC and
XML/SAX topics will be presented as class lectures.
Also, I received a call this morning from Kim at Cysive who kindly
volunteered to hold a raffle to give away a $150 gift certificate to
Amazon.com.
As a reminder, the meeting itself will be held at the Northwest
Federal Credit Union Building at 200 Spring Street, Herndon, VA.
20170. I put a map of the building on the website however, you may
want to use something like www.mapquest.com to provide you with
directions.
Fred
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1
David,
The meeting will be held at 200 Spring Street, Herndon, VA. You will
find a map at www.delbray.com/novajug.
Fred
- ----- Original Message -----
From: <david.patton@...>
To: <novajug@egroups.com>
Sent: Monday, November 13, 2000 1:21 PM
Subject: [novajug] Re: Reminder - NOVAJUG Meeting
> Where is it at ?
>
>
> --- In novajug@egroups.com, novajug@egroups.com wrote:
> >
> > We would like to remind you of this upcoming event.
> >
> > NOVAJUG Meeting
> >
> > Date: Tuesday, November 14, 2000
> > Time: 6:00PM - 9:00PM EST (GMT-05:00)
> >
> > Agenda:
> >
> > 1800 - 1830 NOVAJUG Status/Discussion
> > 1830 - 1915 Java Database Connectivity (JDBC)
> > 1915 - 1930 Break
> > 1930 - 2015 Extensible Markup Language (XML) (XML basics, SAX
> > API)
> > 2015 - 2030 Apache ANT (A make-like utility)
> > 2030 - 2100 Putting it all together (code walk-through)
>
>
> -------------------------- eGroups Sponsor
> -------------------------~-~> eGroups eLerts
> It's Easy. It's Fun. Best of All, it's Free!
> http://click.egroups.com/1/9698/0/_/_/_/974139671/
> --------------------------------------------------------------------
> -_->
>
> Visit our web page at http://www.delbray.com/novajug
>
> To unsubscribe from this group, send an email to:
> novajug-unsubscribe@egroups.com
>
>
>
-----BEGIN PGP SIGNATURE-----
Version: PGP Personal Privacy 6.5.3
iQA/AwUBOhB+lDfZU7KW7A6DEQIV9ACgw0CygVGbUeZgQ6at3cvxmTHDQUYAoKrT
THC4O5k795ZuPUhIuBLpa4LH
=BJ4k
-----END PGP SIGNATURE-----
We would like to remind you of this upcoming event.
NOVAJUG Meeting
Date: Tuesday, November 14, 2000
Time: 6:00PM - 9:00PM EST (GMT-05:00)
Agenda:
1800 - 1830 NOVAJUG Status/Discussion
1830 - 1915 Java Database Connectivity (JDBC)
1915 - 1930 Break
1930 - 2015 Extensible Markup Language (XML) (XML basics, SAX
API)
2015 - 2030 Apache ANT (A make-like utility)
2030 - 2100 Putting it all together (code walk-through)
Enter your vote today! Check out the new poll for the novajug
group:
In order to plan for our upcoming
meeting, I need a count of those of you
who will be attending.
Question: Will you be attending the
Nov. 14th meeting?
o Yes
o No
To vote, please visit the following web page:
http://www.egroups.com/polls/novajug
Note: Please do not reply to this message. Poll votes are
not collected via email. To vote, you must go to the eGroups
web site listed above.
Thanks!
Probably a better alternative would be to allow people to post job
notices to some kind of bullitein board area, that way people could go
there and find them if they wanted but everyone wouldn't be burdened
with all the unwanted advertising-like email. Could that alternative
be incorporated into the vote?
Thanks,
Dave
--- In novajug@egroups.com, novajug@egroups.com wrote:
>
> Enter your vote today! Check out the new poll for the novajug
> group:
>
>
> Do you want job notices posted to this
> list?
>
> o Yes
> o No
>
>
> To vote, please visit the following web page:
>
> http://www.egroups.com/polls/novajug
>
> Note: Please do not reply to this message. Poll votes are
> not collected via email. To vote, you must go to the eGroups
> web site listed above.
>
> Thanks!
Enter your vote today! Check out the new poll for the novajug
group:
Do you want job notices posted to this
list?
o Yes
o No
To vote, please visit the following web page:
http://www.egroups.com/polls/novajug
Note: Please do not reply to this message. Poll votes are
not collected via email. To vote, you must go to the eGroups
web site listed above.
Thanks!
It looks like the novajug@... list is alive again. For those of you who have not been in touch with the rest of us during the past two weeks, welcome back! During the past two weeks, the NOVAJUG established a new list at novajug@egroups.com and a temporary web-site at www.delbray.com/novajug . The new list has 42 members to date. While I tried to get in touch with as many people on the old list as I could, I know that many were left out. Now that we are all together again, we need to agree on which list to use for the NOVAJUG.
My recommendation is that we use the egroups novajug@egroups.com list for the following reasons:
1. Like the majordomo list, the egroups list has the ability to manage subscriptions and send email to many individuals. Unlike the majordomo list, the egroups list also allows members to request a single daily synopsis of the list's email or the ability to only see the list's email via the web (to reduce one's inbox clutter). And... the email is preserved and threaded so one can go back and see the history of a particular conversation thread.
2. In addition, using the egroups list, we have the ability via the web to share files, create a group-wide calendar, conduct polls, share links, create databases, participate in on-line chats (perhaps with Java luminaries across the world). During the past week, we have already added many links and created a poll to determine topics of discussion for future meetings.
For those of you not on the egroups list yet, go to www.delbray.com/novajug and enter your email address in the form provided. You will be asked for some personal information (date of birth, gender, userid, password). Only your email address needs to be accurate as it is used to verify your subscription and is used, of course, to direct email to you. There is a very strong policy on spam and having used many egroup lists in the past, I can tell you that I have not received any spam by being a member of an egroup list.
I am sure everyone appreciates the work of the individual who volunteered to manage the majordomo list and get it back on-line but, I believe the egroups list provides the NOVAJUG with many new capabilities (some of which we have already started using) that will allow us to make the group more useful to its members. Furthermore, using the egroups list, we can have several moderators and not be beholden to tux.org.
To the individual who volunteered to manage the majordomo list, please get in touch with me, I would like to see if you would be interested helping to moderate the egroups list (for those of you who may have noticed, I added Brian R. as a moderator as well).
Again, a reminder, out next meeting will be on November 14th at the Northwest Federal Credit Union building in Herndon (map at www.delbray.com/novajug). There will be drinks and food provided. The agenda will be:
1800 - 1830 Group Status/Discussion 1830 - 1915 Java Database Connectivity (JDBC) 1915 - 1930 Break 1930 - 2015 Extensible Markup Language (XML) - with a concentration on XML basics and the SAX API 2015 - 2030 Apache ANT (a build tool) 2030 - 2100 Putting it all together, a comprehensive example (code review)
I will give the talks this time around. Based on the poll and other emails I have received, it looks like we will be discussing Enterprise Java Beans (EJB), Java Server Pages (JSP), and Object Oriented (OO) programming in our December meeting. I have a speaker for EJB, a potential speaker for OO, and am looking for one for the JSP topic (Brian?).
Fred
- -----BEGIN PGP PUBLIC KEY BLOCK----- Version: PGP Personal Privacy 6.5.3
Thought this would be of interest to group members - Fred
>From: "TheServerSide.com Newsletter" <newsletter@...>
>To: "TheServerSide.com Members" <newsletter@...>
>Subject: TheServerSide.com Newsletter #3 - What makes an app. server
>succeed, Java Plus is next week, Stale Update Problem Solution, Application
>server reviews
>Date: Fri, 27 Oct 2000 04:24:47 -0700
>
>________________________________________________________________
>
> TheServerSide.com Newsletter #3
>
>TheServerSide.com newsletters are designed to bring the most important news
>from the J2EE industry to your door, along with providing you with
>exclusive J2EE articles and advanced topics not found anywhere else. Our
>newsletters will also keep you informed with whats new on TheServerSide.
>Newsletter mailings will be infrequent, probably on a monthly basis.
>Instructions for unsubscribing are at the end of this newsletter.
>This newsletter is viewable online at:
>http://www.theserverside.com/resources/news3.jsp
>________________________________________________________________
>
>Note: If you are recieving this email for the ***second time***, we
>apologize. We experienced unforseeable technical difficulties with the
>first mailout.
>
>
>IN THIS ISSUE:
>
>
> * EJB Industry - What makes an application server succeed?
> * Conference watch - Sigs. Java Plus is next week
> * Developers Corner - A pattern to solve the stale update problem
> * New Application Server Reviews and Winners - Gemstone, IPlanet
> * Latest News Headlines From the J2EE Industry
> * A word from The Middleware Company
>
>Newsflash: TheServerSide.com membership tops 40,000
>
>
>________________________________________________________________
>
>EJB INDUSTRY - WHAT MAKES AN APPLICATION SERVER SUCCEED?
>
>
>When the EJB specification was first launched in early 1998, the event was
>akin to a gun firing. That was the day when the EJB server race for
>dominance started. At that time, every application server vendor had a
>fair chance for their product to become the #1 product in the industry.
>But as we look back on things today, midway through that race, some of
>these vendors are doing better than others in the market. But why? I find
>it facinating to explore the forces at play that have shaped this market.
>From this, I hope that we learn lessons which will help vendors compete in
>the future of this race, and encourage best-of-breed products.
>
>First, we must realize is that organizations do not really want 30+ EJB
>vendors in the market. No market can bear that many competing vendors.
>It's simply too difficult for an organization to choose which product to
>buy. And once a product is selected, the chances of finding developers
>that understand that product are slim to none. Society naturally wants a
>single leader within a small ring of 2-3 dominant EJB server vendors.
>Other vendors may exist, but will fill a much smaller need.
>
>Once the ring of dominant vendors form, those vendors will have a much
>easier time competing. The reason is because an ecosystem of products,
>tools, and people begin to form around those vendors. Examples today
>include EJB testing tools, IDEs, and EJB components. This phenomenon of an
>'ecosystem' forming around dominant vendors forms a powerful network which
>is hard to break in later stages of the race, because a network of
>businesses are helping the EJB server vendor to remain dominant. This
>means the dominant vendors in the early race will gain massive benefits
>later on, if they can hold on to their positions. And unfortunately, the
>rest of the pack will have a tougher time competing, because they don't
>have such an ecosystem. They will find it much more challenging to find
>other vendors to integrate with them, find professional services
>orgnizations to partner with them, to hire developers that understand their
>product, or to find customers to purchase their products. Thus the
>struggle to become dominant in the early race is of paramount importance.
>
>So what are the key reasons why these vendors are positioned as they are?
>
>* Existing, loyal customer base. IBM reigns king here, and this is the
>primary reason why IBM WebSphere is a contender today. They have massive
>market share with CICS, and those customers will be given a natural path to
>become WebSphere customers. Other vendors with strong existing customer
>bases include Iona (OrbixWeb), Inprise (Visibroker), iPlanet (Netscape
>Application Server / Kiva), and BEA Systems (Tuxedo).
>
>* Word of mouth. This is the best form of advertising an application
>server vendor can hope to get. A classic example of this is GemStone's
>product. There is a cult of developers that are enamored with GemStone
>because of the high quality of their product. Orion has a noteworthy cult
>as well, because their EJB product was first to implement many of the J2EE
>API's and is free for developer use.
>
>* Getting the product into the hands of developers. This is important to
>form a community of developers that understand an EJB product. After all,
>you will likely buy the product you are most familiar with. BEA has
>executed quite well here. They've bundled their product in many media,
>such as bundling a CD-ROM in books (including my own EJB book), bundling
>free CD-ROMs with Java magazines, giveaways at conferences, and free
>downloads of their product from their web site. Many other vendors were
>hesitant at first to offer free downloads of trial products, perhaps
>because they were concerned with intellectul property issues. Today, those
>vendors are paying gravely for that decision.
>
>* Being compliant with the latest specs. BEA and Orion have shined here.
>BEA was 6 months ahead of the pack with their EJB 1.0 product, which
>positioned them extremely well. Orion has unofficially been supporting
>many of the latest J2EE specs (probably the first independant vendor to
>support EAR files). BEA and Orion are currently the market leaders in EJB
>2.0 compliance. Both vendors have had EJB 2.0 beta features for months now,
>and are close to full support.
>
>* Ease-of-use. Again, BEA and Orion get top marks here. Installing BEA
>application server on a Unix machine has been a simple process of unzipping
>a file. Deploying a complete J2EE application in Orion requires adding an
>EAR file and two lines to Orions config files. Some other vendors have been
>much more complicated, which creates undue confusion for developers.
>
>Today, the two products that are emerging as dominant are BEA WebLogic,
>followed by a more distant IBM WebSphere. Other vendors that still have a
>strong chance in the race include ATG, Inprise, IPlanet, Gemstone/Brokat,
>Allaire, Oracle, Persistence, Silverstream, Bluestone, Sybase, Orion, and
>jBoss (open source). Many of them have superior products, and still have a
>chance to enter that dominant ring. It is their challenge to execute
>perfectly over the next 6-12 months for that to happen. They will also
>need to show demonstrated value above-and-beyond simple EJB servers, by
>offering solutions that are either industry-specific, or provide additional
>value, such as personalization or workflow support.
>
>I don't know about you, but I can't wait to see who's left standing when
>the dust settles. The end-game of this race will be interesting indeed.
>
>
>By Ed Roman, CEO The Middleware Company, author of the book "Mastering
>Enteprise Java Beans and the Java 2 Platform, Enterprise Edition".
>
>
>
>________________________________________________________________
>
>CONFERENCE WATCH - SIGS JAVA PLUS CONFERENCE (Oct. 29 - Nov. 1, 2000)
>
>The SIGS JavaPlus Conference (Oct 29 - November 1) is returning to Silicon
>Valley next week for the 6th straight year in a row. This excellent
>conference features a wide range of enterprise Java sessions and and expert
>speakers, along with some of the most important vendors participating on
>the exhibitors floor.
>
>URL: http://www.javapluscon.com/index.asp?tss
>
>Some of the not-to-be-missed talks include:
>
>Monday, October 30
>
>9-11am
>Java Data Objects
>David Jordan
>
>11:15 - 12
>Keynote Address
>Java and Emerging Technologies Drive the Future of e-Business
>Dr. Scott Dietzen, CTO, BEA Systems
>
>2-3:30pm
>Developing Dynamic Web Sites with JavaServer Pages
>John Zukowski
>
>6-8pm
>Using JSP and XML Together
>Alex Chaffee
>
>Teusday, October 31
>
>9-11:30am
>What's New in JSP 1.1 and Servlets 2.2?
>Mischa Davidson
>
>2-3:30pm
>Building A Unifying Enterprise - The Service Based Architecture
>Robert Abate
>
>3:45 - 4:45 pm
>Expert Panel With Ken North: Scaling with Application Servers, Middleware
>and Databases
>
>
>Complete program information can be found at
>http://www.javapluscon.com/index.asp?tss
>
>
>
>
>________________________________________________________________
>
>DEVELOPERS CORNER - A PATTERN TO SOLVE THE STALE UPDATE PROBLEM
>
>In our last newsletter (http://www.theserverside.com/resources/news1.jsp),
>we introduced the concepts of pessimistic and optimistic concurrency. One
>problem was mentioned that developers must face whether their app. server/
>database utilizes pessimistic or optimistic concurrency is dealing with
>stale reads.
>
>
>Pattern: Long-Lived Optimistic PseudoTransactions
> (aka. Version Numbering)
>
>Motivational Scenerio:
>
> A user goes of the website goes to edit his user profile. Naturally,
>the user profile is represented as an entity bean in the back end. So the
>web tier looks up the user profile and obtains a value object copy of the
>entity bean, and populates the edit profile webpage with it. Meanwhile,
>some other part of the system changes that user profile, so the copy used
>to populate the webpage is now old. Then the user finishes entering his
>changes and clicks submit. It would be desirable to detect that there is a
>transactional collision (T1 reads, T2 reads, T1 writes, T2 writes over T1's
>changes... hence we have a race condition). Once we detect the collision,
>we can allow our application, and in turn the user, to handle the case
>appropriately. No problem, this is what transactions are designed for.
>Only, there is a problem... the "transaction" representing the users update
>through the webpage could potentially live 15 minutes or more since there
>is no guarantee how low the user will take to enter his changes.
>Therefore, JTA is not appropriate for this. We need a way to detect the
>transactional collision without requiring the transaction live longer than
>a few milliseconds.
>
>General Idea of the Pattern:
>
> To trap the collision we simply need to recognize that the version of
>the data loaded by the user during the page display is not the same version
>as what the user is overwriting during the submit update operation. So we
>add a new integer field, version, to both the entity bean and the database
>to do just this. Everytime a change is made to the entity bean, the
>version number is incremented. Now in our scenerio, the user loads version
>4 in a transaction that lasts just a few milliseconds. Then elsewhere in
>the system, someone updates the database so it now contains version 5.
>When the application goes to enter an update on behalf of the user based on
>version 4 in another transaction (which lasts just a few milliseconds), we
>can discover that version 5 is already in the database, trap the error, and
>handle it appropriately, perhaps by asking the user "The data in the
>database has changed since you last loaded it. Are you sure you want to
>overwrite?". This is very similar to when two text editors are editing the
>same text file, and one notices that the other has saved and asks the user
>if he wants to reload.
>
>How it works:
>
>+ In the entity bean (and in the database) add a new integer field called
>version.
> This number starts at zero and increases monotonically (we'll talk about
>when this happens later).
>+ This field also shows up in the value object copy of the entity bean.
>For simplity sake, we'll make getValueObject and setValueObject be the only
>two business methods on the bean (although this isn't required.)
>+ Whenever getValueObject() is called on the entity bean, all fields are
>copied over to the value object, including the version number.
>+ Whenever setValueObject() is called, several things can happen:
> 1) if (valueObject.getVersion() != this.getVersion()) an exception is
>thrown indicating the state of the entity bean has changed since the value
>object was obtained from the entity bean.
> 2) if (valueObject.getVersion() == this.getVersion()), the state of the
>entity bean is updated and this.version is incremented by one.
>+ Both getValueObject() and setValueObject() require the transaction
>attribute TX_REQUIRED.
>
>Why it works:
>
>+ If getValueObject() and setValueObject() occur within the same
>transaction, then the app server already guarantees us the appearance
>isolated view of the entity bean, so we don't have to worry about
>collisions.
>+ If getValueObject() and setValueObject() occur in seperate transactions,
>and the version counter in the database is incremented from 4 to 5 by
>another process occuring between the get and the set, during the
>setValueObject method, we detect that valueObject.getVersion() is 4 and
>entitybean.getVersion() is 5, and we know the collision occured and can
>handle it properly.
>
>Other possible implementations:
>
>+ We could use a conditoinal update in the ejbStore() method, using
>something to the effect of "Update EntityBeanTable e .... Where
>e.id="myPrimaryKey" e.version=4". However, this requires bean managed
>persistence. I prefer the implementation above because it works for all
>types entity beans.
>
>Assumptions:
>
>This pattern makes the assumption that during the entity.setValueObject()
>transaction, ejbLoad() setValueObject() and
>ejbStore() will all occur while there is a lock on the items in the
>database (Pessimistic Concurrency). If our app-server/database doesn't
>provide this guarantee then things break about 1% of the time (when two
>separate transactions are trying to write at the same time, see the last
>newsletter).
>
>
>by Doug Bateman, Vice President, The Middleware Company
>
>
>
>________________________________________________________________
>
>NEW APPLICATION SERVER REVIEWS AND WINNERS - Gemstone, IPlanet
>
>TheServerSide.com has been providing an application server review
>repository since its inception. This repository has helped developers learn
>from each others exerperiences, choose the right application servers and
>avoid the wrong ones. If you havn't posted a review of an application
>server yet, be sure to post one. Not only can you win $100 as part of our
>contest, but your review will help others learn more about application
>servers and help J2EE projects around the world by learning from your
>experiences.
>
>Manikandan Chandrasekaran and Robert McIntosh are winners of the September
>Application Server review contest. Manikandan and Robert have each won $100
>for their posts. The next contest has already began, and ends on November
>31!
>
>
>From "Gemstone/J provides scalability and reliability", by Robert McIntosh:
>~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
>After an evaluation period of a few months consisting of IBM's Websphere,
>BEA's Weblogic, SilverStream and Gemstone/J, we chose Gemstone for several
>reasons. It's two biggest technical advantages are it's scalability using
>multiple VMs and it's object database.
>
>Read the rest of the review at:
>http://theserverside.com/reviews/thread.jsp?thread_id=741
>
>
>
>From "IPlanet App. Server 6.0 review", by Manikandan Chandrasekaran:
>~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
>My experiences can be summarized in the following sentences:
>a. After the iPlanet app builder crashed a couple of times, I started
>compiling and deploying the entire project using build files and command
>line utilities. The build utility I used was ANT (from Apache) for
>compiling and deploying the J2EE application. Once the build files are
>created, the compiling and deploying is good.
>
>Read the rest of the review at:
>http://theserverside.com/reviews/thread.jsp?thread_id=873
>
>
>
>________________________________________________________________
>
>LATEST HEADLINES IN THE J2EE INDUSTRY
>
>~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
>EJB 2.0 Proposed Final Draft released
>~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
>Sun has released the proposed final draft of the the EJB 2.0
>specifications. The J2EE 1.3 and J2EE Connector Architecture 1.0 proposed
>drafts have also been posted.
>
>http://theserverside.com/home/thread.jsp?thread_id=1676
>
>~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
>HP to acquire Bluestone Software
>~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
>Hewlett-Packard Company and Bluestone Software, Inc. today announced the
>companies have reached a definitive agreement under which HP will acquire
>Bluestone in a stock-for-stock strategic transaction. This is certainly
>good news for Bluestone. This veteran among application server market will
>know be able to compete against IBM, BEA and Sun, under the "HP" label!
>
>http://theserverside.com/home/thread.jsp?thread_id=1662
>
>~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
>SIGS JavaPlus Conference (Oct 29 - November 1) fast approaching
>~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
>The SIGS JavaPlus Conference(Oct 29 - November 1) is returning to Silicon
>Valley next week for the 6th straight year in a row. This excellent
>conference features a wide range of enterprise Java sessions and and expert
>speakers, along with some of the most important vendors participating on
>the exhibitors floor.
>
>http://theserverside.com/home/thread.jsp?thread_id=1600
>
>~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
>IBM releases HTML to Wireless conversion tool
>~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
>IBM Corp. is releasing WebSphere Transcoding Publisher Version 3.5. This
>new offering is built on a Java-based architecture and is designed to
>convert HTML and XML data and applications to other formats, such as WML
>HDML, and i-Mode, a packet-based information service for mobile phones.
>WebSphere Transcoding Publisher Version 3.5 will be available Nov. 24. It
>will be priced at $30,000.
>
>http://theserverside.com/home/thread.jsp?thread_id=1614
>
>~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
>Microsofts Ballmer: Sun has no clue
>~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
>Microsoft Corp. CEO Steve Ballmer sparred with Gartner Group Inc.
>executives over a wide range of issues at yesterdays morning's "Mastermind
>Keynote" interview at at the Gartner Group's IT Expo, but he reserved his
>hardest jabs for rival Sun Microsystems Inc.
>
>http://theserverside.com/home/thread.jsp?thread_id=1582
>
>~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
>Sybase EAServer 3.6.1 achieves J2EE certification
>~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
>Sybase EAServer 3.6.1 (to be shipped in a month) has passed Suns
>comprehensive J2EE compatibility test suite again (they made the same
>announcement back on July 31, but never shipped their app. server), adding
>Sybase to the list of 4 vendors that will soon be shipping J2EE compliant
>application servers: BEA, IPlanet, Sybase and ATG.
>
>http://theserverside.com/home/thread.jsp?thread_id=1560
>
>~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
>Microsoft .Net is four years behind Java
>~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
>Mark Driver, research director for ebusiness technologies at Gartner, said
>Microsoft has failed in its first battle to kill Sun Microsystems' Java,
>but the war for control of the multi-billion dollar application development
>market is not over.
>
>http://theserverside.com/home/thread.jsp?thread_id=1544
>
>~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
>Kawa 5.0 IDE now supports JSP tags
>~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
>A favourite IDE among many developers, the simple but powerful Kawa IDE
>from Tek-Tools has added JSP support to their latest beta version of the
>soon to be released Kawa 5.0.
>
>http://theserverside.com/home/thread.jsp?thread_id=1520
>
>
>________________________________________________________________
>
>A WORD FROM THE MIDDLEWARE COMPANY
>
>
>Public classes will soon be available for Enterprise Java Beans and Java 2,
>Enterprise Edition
>
>The Middleware Company is proud to announce that we will soon be offering
>public courses in a city near you. Turning your developers into experts is
>important, but many companies don't have the resources to justify one week
>of onsite training. To help you get your key people ready and qualified to
>write your mission critical J2EE system, The Middleware Company is now
>providing our courses public venues in major cities across North America.
>
>For more information, stay tuned to our website in the coming weeks:
>http://www.middleware-company.com/index.html?newsletter3
>
>
>
>The Middleware Company has job positions available
>
>How would you like a job where you can work with industry experts, where
>your companies mandate is to help you become an expert yourself? How would
>you like to write magazine articles, speak at conferences, and truly master
>EJB? The demand for J2EE training and consulting is exploding, and The
>Middleware Company needs your help to meet this demand. We now have job
>openings for ambitious, adaptable professionals interested
>in training and consulting with todays cutting edge technologies including
>Java, J2EE, XML and EJB.
>
>For more information, visit:
>http://www.middleware-company.com/jobs.html?newsletter3
>
>
>
>
>- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
>-
>
>To unsubscribe from TheServerSide.com's biweekly newsletter go to:
>http://www.theserverside.com/home/newsletter.jsp
>
>TheServerSide.com J2EE community is brought to you by The Middleware
>Company. The Middleware Company is an advanced training and consulting
>company dedicated to server-side Java. The Middleware Company offers onsite
>training courses in Java 2, Enterprise JavaBeans (EJB), the Java 2
>Platform, Enterprise Edition (J2EE), and the Extensible Markup Language
>(XML). They also aid in the design, development, and deployment of
>middleware solutions. Visit The Middleware Company at:
>
>http://www.middleware-company.com/jobs.html?newsletter3
>
>
>
>
_________________________________________________________________________
Get Your Private, Free E-mail from MSN Hotmail at http://www.hotmail.com.
Share information about yourself, create your own public profile at
http://profiles.msn.com.
Dave,
I received an email from the folks at erols (tux.org) who said
someone from the former list (a female) had volunteered to 'take over
management' of the list. I asked that he send me the name so that I
could arrange to have the list names added into the eGroup. I have
not heard back from him (or her) yet.
Fred
--- In novajug@egroups.com, Dave_Finkbeiner@r... wrote:
> We should pick a person to try looking into getting a list of the
> email addresses that used to be in novajug@t... before it expired
> due to the moderator leaving. Momentum was just starting to pick
up
> and then the plug was pulled. We should also try to get Sun to
erase
> the old novajug from their list of JUG's at
> http://industry.java.sun.com/jug/by_state/0,2248,48,00.html
> This will help reduce confusion. I'm sure there will be a lot of
> interest in this group. Thanks Fred for all the great work so far!
>
> Dave
We should pick a person to try looking into getting a list of the
email addresses that used to be in novajug@... before it expired
due to the moderator leaving. Momentum was just starting to pick up
and then the plug was pulled. We should also try to get Sun to erase
the old novajug from their list of JUG's at
http://industry.java.sun.com/jug/by_state/0,2248,48,00.html
This will help reduce confusion. I'm sure there will be a lot of
interest in this group. Thanks Fred for all the great work so far!
Dave
To all,
I have started to add Java links that I think will be of interest to
group members. Once you logon to the eGroup, you can view the links
by selecting the 'links' option. I will continue to add links over
the next few weeks.
Please feel free to add links that you think will be of interest to
fellow group members.
Fred
I didn't want the day to pass without some mail! 21 folks have signed up thus far in the eGroup. Please let others know about the group and how to sign up so we can get our email list going again. I added a new Java user group record at sun (so for now, there are two NOVAJUG entries...).
You can send email to the list simply by sending to novajug@egroups.com. Alternatively, you can login to the eGroup and post a message that will then be sent. The advantage of logging in is that you can see conversation threads. There are many options that you can set in the eGroup... you can choose to have each post be sent to you as they are submitted, you can have all of the posts sent to you in a single message once a day, or you can indicate that you only want to see posts via the web (when you login).
Also, be sure to look around the eGroup. I have added our JUG meetings to the calendar and set it up so that a message will go out one week and one day before each meeting. There is a file store so I think that would be the best place to post slides, code, etc. The website will be used for material that is best viewed via a web page. For instance, I will put a map to the NWFCU building on the website in the next day or two.
Lastly, here are some of my ideas for future topics, please post your ideas and/or preferences:
Well... that is enough for now... lets get this list along with your topics in some order of preference and map out our future meetings! I believe that we should be able to present 3 topics a meeting with an agenda that would look something like:
To all,
Welcome to our new egroup! Please take some time to 'look' around.
If you are new to egroups, you will find that you can post messages
here like a newsgroup, receive a summary of each day's messages,
store and retrieve files, etc.
The egroup will complement our web site which will be located at
www.delbray.com/novajug until I can ascertain the status of the
novajug.org domain.
Fred