We recently spoke with Freeman Jackson, president of Siliware, an enterprise Java consulting firm based in New York City, and a member of the Object Management Group. Siliware this week unveiled an early version of VisionScript, one of the very first products based on Sun’s new Jini technology for automatically connecting networked devices and software applications. In January, Jackson launched a site originally called the Jini Community — which for legal reasons was renamed JiniVision — that offers developers discussions, chat, and news on the hot new software technology. Here’s what Jackson had to say about the Jini system and on working with Sun in order to create his new product.
In January, Jackson launched a site originally called the Jini Community — which for legal reasons was renamed JiniVision — that offers developers discussions, chat, and news on the hot new software technology.
Here’s what Jackson had to say about the Jini system and on working with Sun in order to create his new product.
Rubbing Jini’s magic lamp
EarthWeb: Now that Jini 1.0 is out, how are you putting it to use?
Jackson: We’re not going to wait for electronic devices. We’re going to use Jini 1.0 specifically for enterprise software. We’re investigating how to use Jini with some Java APIs that traditionally would be used for enterprise work: Jini and JDBC, Servlets, JNDI, Email, Security, and so forth. We’re also in the process of putting out one of the first implementations, we believe, of an enterprise product using Jini technology, which we’re calling VisionScript.
“VisionScript is a business-rules engine using AI.”
EarthWeb: Tell us about that?
Jackson: VisionScript is a business-rules engine and scripting environment for Jini electronic devices and software services.
It is Jini Connection Technology for scripting EJBs, Jini devices and software services, and implementing business logic. It is targeted for system programmers, architects, project leaders, and IT managers. In Siliware’s Enterprise Jini Framework, not every knowledge worker is required to know Jini or the Java programming language but can still participate in an organization’s knowledge creation process.
The Jini advantage
EarthWeb: What does Jini add to the product?
Jackson: Scalability and functionality for marshaling business logic across an IT infrastructure. It provides functionality for federating Siliware’s business engine technology. It also provides enterprise-level lookup and discovery services.
An example that we’ve done to prove this concept was one using Jini and an agent. It was a Jini software service: all it does is go out and get a URL, but the URL information is specified from a Jini client. The Jini client says, “I want to get the information from a particular Web page.” It streams the data across the federation, which is a very hard thing to do in CORBA. The marshaling issues that happen with CORBA, because it’s not written specifically for Java, can be quite complex. Whereas, within the Jini model it’s very simplified super-glue. This is what we’re trying to take advantage of.
EarthWeb: Why did you choose the business-rules engine approach in designing your product?
Jackson: The evolution of Enterprise Jini Computing! I predict that EJC will become the primary platform of choice for business reengineering in the next couple of years. Historically, the number-one problem with enterprise computing has been the lack of formalism between an organization’s business requirements and its IT activity. When major corporations start to understand that Jini is an excellent middleware technology, Siliware plans on being the framework of choice.
Here are the three organizational roles that Siliware has identified for an Enterprise Jini Platform:
1. Enterprise Jini System Programmers. They will be required to perform the installation, programming, and administration of Jini ORB services. They will write Enterprise Jini software services and devices with Java APIs, various communication protocols, and our new framework. They will be responsible for connecting VisionScript with their organization’s Enterprise Jini APIs.
2. Enterprise Jini Project Leaders/Architects. They will be required to direct system programmers as they write and implement Jini-based EJBs, devices, and services with our framework. They will be required to deploy and implement business rules using Enterprise Jini. They will be responsible for Jini ORB deployment. They will be responsible for writing and maintaining VisionScript rules.
3. Enterprise Jini Senior Management. They will interface with the Project Leaders and Architects to discuss new products and new business rules.
“There are many AI professionals who don’t know Jini or Java but who can easily write business rules using VisionScript.”
Jini system programmers will be required to work on the low-level plumbing of the enterprise. They will be required to write software services and electronic devices which are ‘intergalactic’ in the sense that they can be connected using various communication protocols — such as SNA, RMI, IIOP, DCOM, and so on — and hardware/software platforms.
With VisionScript, the Jini system programmer is the low person on the pyramid but the most important as far as the actual linking of VisionScript to IT resources. Under the direction of Jini project leaders and architects, they write and implement EJBs, devices, and services that are accessible from the VisionScript environment and a djinn.
The Jini project leaders and architects will be required to help define/implement business rules and direct the Jini system programmers. They constantly interface with executive management and help manage and measure the Jini-based assets. They are responsible for the networking and administration of federations. This group will find the most value of a tool like VisionScript for the management of federations, translating business requirements to programmers and translating IT capabilities to management.
Once an enterprise is Jini-enabled, management can write VisionScript rules without the intervention of architects or programmers and create new information-based products on the fly.
An intelligent audience
EarthWeb: Where do you see VisionScript finding its early audience? And why these people?
Jackson: The AI community. That is where VisionScript has its roots. I think that there are many AI professionals who don’t know Jini or Java but who can easily write business rules using VisionScript and in some cases create Jini applications that are much more powerful than non-VisionScript Jini applications.
EarthWeb: Can you disclose a timeline to VisionScript going “gold” — full release?
Jackson: I would say you should expect a full release in two months. As far as the VisionScript alpha release, 98% of the product is done. We just need to finish coding and testing the data stream from and to the business-rules engine service to the client. We already tackled the problem of making VisionScript a multi-threaded Jini service, coding the rules engine, and streaming rules and data across the djinn, now we are working on making sure that the data is properly formatted to and from the engine. It will take Siliware two more weeks to finish the code, test, bundle, and release VisionScript alpha to the public. Once that is done we don’t expect any major overhauls of the code, but we will need to prepare a lot of documentation to explain how it works, market VisionScript to the AI community, and develop a Swing-based GUI Rules Builder.
“When I first downloaded Jini I had some trouble getting it out of the bottle.”
We plan on launching it as open source and sharing it with the community. The thing we really want to leverage is the community.
Siliware plans on attracting at least five or six open-source contributors to join its Enterprise Jini initiative. There are literally hundreds of programmers who have already contacted me and want to help. Jini is really hot and a lot of programmers want to make their mark in the industry.
Rolling up his sleeves
EarthWeb: Have you experienced any difficulties in working with Jini? What’s the nature of the experience been?
Jackson: Yes, when I first downloaded Jini I had some trouble getting it out of the bottle.
I downloaded the Developer Connection version several months ago. It didn’t appear to install properly. I had to make several adjustments to my classpath.
At Siliware, I program and administer several Windows and Linux servers. When I initially downloaded Jini, I tried to make my first wish on the Windows platform but discoverd that my initial Jini configuration required a multicast-enabled server and that Windows does not do multicasting. I also found out about Noel Nuggets — “Sample Code on Getting Jini Out of the Bottle” — and Bill Venners’ “Jini Code Examples” from Sun’s Jini ListServ. I first started with Bill’s Jini code examples.
Using Bill’s code, I found out how to do a join and lookup in unicast fashion on Windows. So I was able to get past that particular hurdle.
EarthWeb: Did you give any feedback to Sun, and did they give you any feedback, in this process?
Jackson: I put some stuff on the list [Listserv user group] about how I has able to get certain things to work. Another issue also of interest to your readers is handling what’s called the policy files for security. It’s pretty tricky.
“Most of my clients are interested in using Jini as enterprise technology.”
Specifically, when it came to using Jini with servlets, I found I had to make some modifications to the Java security file that comes with the JVM. I don’t know even to this day if that was done the best way. So I just put it on the list and I’m waiting for some feedback.
The problem is, in my mind, that I don’t know if Sun is going to say, “Yeah, we even care about Jini and servlets at this point in time.”
Beaming to the enterprise
EarthWeb: What kind of feedback are your customers giving you? What are you hearing from them and other sources in your professional work?
Jackson: Most of my clients are interested in using Jini as enterprise technology. They need to be able to connect ten thousand workstations.
When someone throws out a technology like Jini, I’m going to say, “Wow, this thing looks perfect for enterprise work.” But I haven’t gotten that from Sun, and I don’t think my clients have either. Right now, I have to get to the point, I have to convince them that this is the way to go. Because I can offer better services, basically. I know I can offer better services. The JDBC example is a good one. If I was to do that in CORBA, it would not work as well. It wouldn’t marshal as well. I wouldn’t be able to thread it as well.
Another issue is that Sun is giving away an ORB. I don’t know if it’s free or not. I don’t know the total issue with the licensing agreement, but they’re giving away a CORBA ORB, which is also interesting. As a member of the OMG, I’m part of what’s called the Enterprise Component Coalition [ECC], which is a kind of secret rebel group. We’re trying to make our presence known in the OMG for some of the changes that they need to make.
Things got very interesting recently, because I’m writing to the ECC, saying: “You guys need to look at Jini.” And I’m sending it out to the Jini Listserv, saying: “I’m going to… talk a lot more about using Jini for enterprise technology.” I’m in a position where I have to do it.
“The issue in my mind is to achieve as many players around Jini as possible.”
If Sun says, “Jini is free for enterprise work,” and it can clearly challenge CORBA and clearly challenge DCOM, and it’s open, then that’s different. Maybe they like concealing it because they don’t want to alarm OMG. But if you come out with a free ORB, you have to look at some of the players, like Iona with Orbix, for example.
The issue in my mind is to achieve as many players around Jini as possible and kind of hand off Jini to the community and to rest of the world. I think they might want to hold on to it for a little while, until it at least grows and gets to a point where it’s robust and where it can survive. I know it has to go through meetings with the World Wide Web Consortium, maybe try to get them to buy into it also. Sort of like what they did with Java: go to the open standards groups.
They’ve got a lot of work to do. I don’t want to, in any way, interfere with those processes as they are taking place. I’m a player at OMG, but I’m a small one. I’m not coming to the table with the kind of money Iona is coming with when I vote.
I don’t want to be involved in anything that would be detrimental to Jini in any way.
An “open” Jini community
EarthWeb: Tell us a little about your “Jini Community” project — JiniVision?
Jackson: We’re very excited about it. The Jini Community has grown very quickly in a short period of time. We opened our doors January 1st, and we continue to gain members every day.
“I think Jini, like Java, is going to be so much bigger than Sun.”
However, I need to do a better job of organizing the supporters. Several dozen programmers and developers have written me and expressed an interest in contributing. Some of them are still trying to get Jini out of the bottle. In the next couple of months, I’m going to run JiniVision.com as a very serious Web site for developers in the area of Jini and enterprise computing. We’re not going to wait for electronic devices. We don’t see that as being a very strong point at this particular time.
I really want to work with Sun, and I think they’re doing something that’s useful. I just think Jini, like Java, is going to be so much bigger than Sun.
There’s not really much that they can do about it. They have to do a balancing act between “how much control do we want to hold on to and how much do we want to let the Internet public to play with it?”.
At what point do they start saying, “Okay, do we want to develop or sell?”
One of the things I think they have to do is sell JavaSpaces. I don’t see what you’re going to do with that yet. That part of it isn’t open. Some of it is open and some of it is not. The other thing is, some of us are also in a position — I’m not going to release any details — to also offer a JavaSpace server. Or will be in that position. I don’t know what they’re going to do, as far as making products and making more money. I’m sure that they’ll be able to license the technology to Sony or Panasonic. But I’m interested to see how this whole thing pans out with say, for example, if IBM makes the choice to start doing more Jini stuff. It could be pretty interesting. So let’s see.
EarthWeb: That brings us to the most controversial aspect of this: Do you have any comments on the pricing of Jini? I’ve heard reports that say Sun is going to charge you ten cents per unit, I guess that’s for electronic devices, or $250,000 a year. What’s your comment on that?
“I don’t see a problem with paying for a Jini technology license.”
Jackson: Well, it may be that we’re a little naive. I know a little bit about that, it’s this pay-as-you-go thing. We’ll find out. If we’re making money and Sun comes to us and says “Okay, you guys are making money, you’re using our technology, you have to pay such-and-such.” There’s not really much we can do about it; we’re a small company. What do I think about it? I think the stuff should be free. But if it’s a fair price, and it’s something we can afford, and we’re both happy, we’re willing to work with that.
EarthWeb: You can live with it.
Jackson: I wouldn’t recommend an organization spending a hundred thousand or a quarter of a million dollars if they don’t have the proper strategic planning. The fact is that Siliware is producing technologies like VisionScript for Enterprise Jini Computing and plan on performing a really nice marketing campaign. If Sun helps Siliware with marketing and getting customers, I don’t see a problem with paying for a Jini technology license.
- Jini Community Program Overview
- Jini Connection Technology
- Welcome to the Jini System Software 1.0 Site [Java Developer Connection]
- Jini FAQ
- First wishes made of Jini
About the authorKieron Murphy is the editorial manager for EarthWeb. He has previously written for The Java Report, JavaWorld, and IEEE Potentials, among other publications. He can be contacted at: firstname.lastname@example.org.
This article modified March 8, 1999.