Sing Li

Author
+ Follow
since Feb 12, 2002
Merit badge: grant badges
For More
Cows and Likes
Cows
Total received
0
In last 30 days
0
Total given
0
Likes
Total received
0
Received in last 30 days
0
Total given
0
Given in last 30 days
0
Forums and Threads
Scavenger Hunt
expand Ranch Hand Scavenger Hunt
expand Greenhorn Scavenger Hunt

Recent posts by Sing Li

Thank you very much for the warm welcome. We'll try our best this week to answer some questions about the book and the Tomcat 6 server in general.
16 years ago
Performance is highly sensitive to the nature of the application, the environment (hardware/OS), work-load, and actual configuration.

Generalized "percentage performance gain over XXXX" claims are meaningless, and only useful in marketing material for competing commercial server products.

We try to get this point across in the book.

One great thing about open source servers, such as Tomcat 6, is the fact that you can benchmark your own application on them, running on your target hardware/software environment, using your own custom configuration... at no cost.

The book provides information on things that you can configure and tune, that may have an impact on performance for your specific situation.
16 years ago
The book explains how to install, configure, deploy, and tune Tomcat 6 server(s).

It does not cover details of JSP or Servlet specifications.
16 years ago
Michael and Doug,
To answer both of your questions, and to wrap things up in a reasonable amount of space, I will not attempt to describe the architecture of JXTA (pages and pages) � but give some clues on how things are done and solved by very elegant design.
To alleviate your concern, Michael, JXTA views the various network protocol that it supports as �drivers� (using Doug�s OS analogy). This is very much unlike CORBA, RMI or COM where the connection methods and protocols DRIVES the technology. Because of this, the connection methods and idiosyncrasies of all the different transports are immaterial! Drawing on the OS analogy � the OS views all the different technology CDR/Ws (SCSI, IDE, USB, firewire, 2X, 4X, 16X) in the same way , through the same �driver�.
On top, JXTA provides a very simple and easy to program model consisting of peers, peergroups, and pipes. Any application programmer only need to learn and master this programming model � there is no need to be intimate with the details of every �driver�.
Doug - XML is just "convenient" to use, JXTA does not depend on it in any way -- although if more and more implementations start to use it, backward compatibility may need to be maintained.
<boiler plate follows�>
Thank you, everyone, for a fascinating discussion this week and posting excellent questions. Congrats to the lucky winners.
Anybody who is interested in JXTA should definitely check out the open source site where everything is happening. http://www.jxta.org/ It is where I hang out. There are many commercial companies that are profiled there, complete with links to their websites and description of their products and services.
Of course, my book should also help you to get a quick start on it .
Best Regards,
Sing Li
22 years ago
Shuai Liu,
Yes, JXTA can be used to build pure P2P applications.
Shailesh,
Yes, the single-purpose apps or API in one category, and JXTA (being generalized, any application possible) API in another category.
....boiler plate follows...
Thank you, everyone, for a fascinating discussion this week and posting excellent questions. Congrats to the lucky winners.
Anybody who is interested in JXTA should definitely check out the open source site where everything is happening. http://www.jxta.org/ It is where I hang out. There are many commercial companies that are profiled there, complete with links to their websites and description of their products and services.
Of course, my book should also help you to get a quick start on it .
Best Regards,
Sing Li
22 years ago
It is all about engineering, and solving problems.
Good designs that solve real problems don�t die � even if they don�t achieve mainstream success initially and don�t win the popular press�s �my words against your words� war.
Please see my other post on �mainstream success� versus �true innovations�..
JXTA stands alone today, there is no real compteitor � if you decide to spend the time to understand what it is � in solving a very real and unique problem in a very elegant (yet proven) way.

The popular press and competitor�s PR engine will make you believe otherwise, just like how Jini was �reduced� to a non-functional plug-and-play device driver attempt
... boiler plate follows...
Thank you, everyone, for a fascinating discussion this week and posting excellent questions. Congrats to the lucky winners.
Anybody who is interested in JXTA should definitely check out the open source site where everything is happening. http://www.jxta.org/ It is where I hang out. There are many commercial companies that are profiled there, complete with links to their websites and description of their products and services.
Of course, my book should also help you to get a quick start on it .
Best Regards,
Sing Li
22 years ago
Email and web postings are notorious for causing misunderstanding � even amongst very good friends. I�m sure that all of the comments were made with good intentions and not meant to offend anyone.
Actually � I have way too many non-paying jobs keeping me busy around the clock.
Here is my 2 cents on tech success ...
Mainstream success and "success in true innovations" are often running on two conflicting tracks.
Mainstream success, especially when applied to the modern IT world, depends a lot on:
- excellent marketing of the concept/product
- simplicity of solution � so the customer/developer will have confidence that they know what they�re buying/adopting immediately; people don't buy what they don't understand!
While mainstream success helps a lot of companies to make lots of short/mid-term profit, it is success in true innovation that moves the state of the art forward - and often benefits the world.
Some examples for those old enough to remember:
(1) Early Day Programming Languages�
the mainstream success of COBOL as a programming language � verbose and easy to understand English-like syntax
while success in true innovation continues to occur in other �research languages� such as Pascal and C, etc � considerably harder to learn and takes weeks or months to become fluent
(2) Early Days Networking
the early day mainstream success of BBS and USENET based relay connection using acoustic modems � easy to use and understand, connect up and download news and email
while success in true innovation continues to occur in TCP/IP � a very complex protocol stack that has far reaching potential � considerably harder to learn and takes weeks or months of commitment
(3) Today
The mainstream success of SOAP and dot NET, etc � a verbose and easy to understand text based visual tunneling protocol, an easy to understand client/server model of operation, leading to the re-invention of modernized mainframe timesharing services offered by a megalith
While success in true innovation continues to occur in technologies such as Jini and JXTA - distributed networking substrates that enable new category of applications -something that takes weeks if not months of commitment just to figure out what it is!
In every example above, there are repeat (and often invisible) consumers for the �true innovation� category of technology � one being embedded equipment manufacturer where all the advance technologies are �inside the box�, enabling them to blow away the competition; and another repeat consumer is the military, they just need to �stay one step ahead of the game�, enabling them to blow� well�.. enough said!
<boiler plate follows�>
Thank you, everyone, for a fascinating discussion this week and posting excellent questions. Congrats to the lucky winners.
Anybody who is interested in JXTA should definitely check out the open source site where everything is happening. http://www.jxta.org/ It is where I hang out. There are many commercial companies that are profiled there, complete with links to their websites and description of their products and services.
Of course, my book should also help you to get a quick start on it .
Best Regards,
Sing Li
22 years ago
Michael,
You're amazing. The ranch is very fortunate to have you. I hope you'll make it over to jxta.org someday.
While I would never say transactions are "NEVER" applicable to pure P2P systems, what you say is pretty darn accurate with respect to the 'current thinking' amongst both the academics and bleeding edge architects.
Jini does use 'loose' transactions to perform 2PC based distributed synchronization (non ACID)... but that's definitely not traditional "transactions", but rather a novel use of the mechanism that enables distributed transactions.
Essentially, the question has no "correct" answer, and is up to some innovators to prove us all wrong.
.. boiler plate follows...
Thank you, everyone, for a fascinating discussion this week and posting excellent questions. Congrats to the lucky winners.
Anybody who is interested in JXTA should definitely check out the open source site where everything is happening. http://www.jxta.org/ It is where I hang out. There are many commercial companies that are profiled there, complete with links to their websites and description of their products and services.
Of course, my book should also help you to get a quick start on it .
Best Regards,
Sing Li
22 years ago
Thank you, everyone, for a fascinating discussion this week and posting excellent questions. Congrats to the lucky winners.
Anybody who is interested in JXTA should definitely check out the open source site where everything is happening. http://www.jxta.org/ It is where I hang out. There are many commercial companies that are profiled there, complete with links to their websites and description of their products and services.
Of course, my book should also help you to get a quick start on it
Best Regards,
Sing Li
22 years ago
Gerry,
Sorry but I do not know of any JXTA compatible mobile agents API/toolkit.
Hi Michael,
If you do get around to do it, please drop me an email - or post on discuss at jxta.org. I can help to put it on the fast track.
You *will* be loved by all Robocode fanatics the world over ;-)
Best Regards,
Sing Li
22 years ago
Napster is P2P in concept but not P2P in actual design and implementation. It is basically a world-wide, always available file sharing system. You can't "program" to Napster - it is a single function product.
A JXTA implementation is a layer of software (library and runtime) that allows you to create any P2P application (both in concept *and* implementation) without writing a lot of difficult networking code yourself. JXTA does not limit you to only "file sharing" but any other P2P application you can think of (some exmaples... instant messaging, ad-hoc collaboration, computer gaming, etc).
Best Regards,
Sing Li
22 years ago
Boy, this disucssion is really getting interesting. Thanks for all the comments!
Michael, Latha and Kyle, I appreciate the slight skeptism about �alternate transport support� that accompanies technology such as Jini. For one, I had the very same feeling about the statement in the Jini spec for the longest time � don�t quote me on it, please ;-)
I beg to differ *completely* with JXTA. It is not only probable, but absolutely necessary for the success of JXTA in the medium term!
There is an important reason why multiple alternate network transports support - beyond TCP/IP - REALLY DO make sense with P2P in general, and JXTA in particular. Sorry, gang, but I�m not talking about reviving the popularity of IBM's SNA or Appletalk ;-) It has to do with, surprisingly enough: economics and competition.
There are many examples, but one that comes to mind right the way is wireless devices and wireless networks in general. Most of today�s existing wireless networks use proprietary packet based protocol to transmit data � yes, it is true that TCP/IP can be implemented (sort of) on top of these protocols -- but doing so will require great software contortion and wastage of air-time to accommodate the additional overhead. This means greater COST! Greater cost to fabricate the device for the manufacturer, and greater cost to use for the users.
If you examine the JXTA spec carefully, you will discover that it goes to great pain to ensure the only requirements on the underlying network transport is:
(a)it has a way to address individual nodes
(b)it is able to send a message ONE WAY between one node and another (bi-directional transmission, and reliabile delivery are not even required!)
This literally means that JXTA can be implemented on some of the most minimalist device (no TCP/IP stack and/or emulation required) and over the most primitive of unreliable packet networks. Cost is reduced, and time-to-market is greatly improved.
Unlike Jini, JXTA is designed from day one to support a heterogeneous network consisting of peers using "multiple simutaneous independent network transports" and will (transparent to applications) deliver and route messages through such a network. Finally, networking has a chance of actually becoming pervasive!
It is in this expanded modern day network � one which includes all the �connected devices� in the world, where TCP/IP really shows its age. It will take something like JXTA (if not JXTA itself) to unite all of these devices together on a common computing fabric. This expanded computing fabric is called �Web to the n-th (tm)� by Sun Microsystems and B. Joy � or the �Pervasive Internet� by D. Wang. Thanks, Doug :-)
Best Regards,
Sing Li
22 years ago
Latha,
Prior to JXTA, P2P applications are built on top of proprietary protocols that tend to be single purpose (i.e. for file sharing only, for instant messaging only, etc.). The JXTA engineers did a very good job in factoring out the common elements found in known P2P applications.
JXTA provides a generic layer that can be used to build any type of P2P application.
Best Regards,
Sing Li
22 years ago
Hi Latha,
I wish the answer can be simple. Under the JXTA model, a peer is a logical concept and does not necessarily map to any single machine or device. For example, it is possible to run multiple peers on the same PC. A peer in JXTA is:
- a universally unique entity
- potentially a consumer of service(s)
- potentially a provider of server(s)
- a collection of physical network endpoints that can change dynamically
This definition enables JXTA to remain generic, and not restrict the design of applications in any way.
A peergroup is a logical partitioning of peers on a JXTA network.
Since your questions are physical in nature, it is highly application dependent.
For example, if you implement specifically an all-Java P2P application that uses JXTA, you can certainly dynamically download the code for services in a peergroup.
Best Regards,
Sing Li
22 years ago
Gerry,
Great idea. You may want to join the �discuss� mailing list over at http://www.jxta.org/ . There are many who will be able to give you feedback.
Recently, there was a brief discussion on IBM�s Robocode�
http://www-106.ibm.com/developerworks/library/j-robocode/
This simulator allows you to create robots using simple Java code and then have them battle against other robots in a graphical arena. Multiple matches are played out, and score is kept.
JXTA would be natural for creating a world-wide arena for robot matches in such a scenario.
Best Regards,
Sing Li
22 years ago