Digital Edition

SYS-CON.TV
Jon's Weekly JSR Roundup Week 1 - JSR 94, Java Rule Engine API
Jon's Weekly JSR Roundup Week 1 - JSR 94, Java Rule Engine API

Not so long ago I read a great article from a senior level developer, who wrote that as we mature we learn when to look for available libraries before we rush in and build our own. He was referring to the plentiful number of open source projects that exist. Well, there are certainly plenty of those around, but there are also a number of emerging APIs coming right from Sun and the Java Community Process (JCP) - these specifications are known as Java Specification Requests (JSRs). This column will focus on the as many of the JSRs as possible going through the JCP and strive to keep you, the reader, informed of the comings and goings over at the JCP.

Now, as it turns out, about the same time I read that wonderful article I was thinking about building a Rules Engine. So, instead of diving right in and writing one from scratch, I went out and started looking for one on the Web. That is when I came across the JCP Web site and JSR 94, the Java Rule Engine API. More on JSR-94 a little later; first let's learn about the JCP.

The JCP, as defined at www.jcp.org: "The JCP holds the responsibility for the development of Java technology. As an open, inclusive organization of active members and non-member public input, it primarily guides the development and approval of Java technical specifications. Anyone can join the JCP and have a part in its process, and you don't even have to join to contribute as a public participant."

What this means is that any of us can join the process - power to the people! More than just having a say in the process, for $100 any individual can submit a JSR (it does cost more for companies to submit something). The point is that the process is open to anyone, so if you have an idea for an API, you can submit it - visit the following URL for an overview of the process: http://jcp.org/introduction/overview/

The process basically works like this: when a JSR is submitted, first it is reviewed and voted on within 14 days by the EC (Executive Committee. If the committee approves the JSR; the second step occurs: the creation of a community draft and the formation of an expert group. Following the draft and formation of the expert group, there is a community review (30-90 days) and another EC vote (7 days). If it is approved, then the third step is where the JSR team completes the specification and creates a public draft/final release, followed by another review and then a proposed final draft and then a final release. The fourth and last step in the process is the maintenance of the JSR.

Okay, back to the Rules engine. The detail for the Rule Engine API is located at http://jcp.org/jsr/detail/94.jsp. You can get a good bit of information about the Rule Engine API from this page. The format on this page is the same format for all of the JSR's. The page describes the proposed spec, the target platform (J2SE, J2EE, or J2ME), what need the JSR will address, and so on. Near the top of the page is very important section entitled "Status'". This section is ordered with the most recent status at the top. As you can tell from the JSR 94 page, the status just completed the Public Review stage (it closed on September 11, 2002). By clicking on the Public Review link, you are taken to the details of the public review, and there is a link on the page where you can download the specification - after agreeing to the license.

After downloading the specification, you can see that there is plenty of stuff in the 6+mg distribution including a Reference Implementation (RI), the full JavaDoc as well as a PDF of the specification that includes a complete overview of the architecture and example code. The distribution also includes all the third party, open-source libraries that the Rule Engine uses as well as the full Technology Compatibility Kit (TCK) with all of the test code for proving that the RI is compatible with the JDK. Is Java great or what?

Now that we have covered the JCP, JSR 94 - Java Rule Engine API, the only things left for future columns are the numerous other specifications that are currently going through the process. My aim for the weeks and months ahead is to keep you informed of the status of these proposed JSRs, as well as provide some technical details about them.

Please feel free to let me know what you think; I am always available to talk about Java!

Resources:

Java Community Process site - http://www.jcp.org

The Java Community Process(SM) Program - JSRs: Java Specification Requests - Detail (http://jcp.org/jsr/detail/94.jsp)

http://herzberg.ca.sandia.gov/jess/ri_overview.shtml (Missing file from the JSR public review package)

About Jon Strande
Jon Strande is a consultant with Perfect Order in
Harrisburg, PA. Jon is a Java Certified Programmer who
has written several articles on Java and was the past
president of his local JUG.

In order to post a comment you need to be registered and logged in.

Register | Sign-in

Reader Feedback: Page 1 of 1

And what about IBM Alphaworks..

Read this and tell me what it means. I can play with it but it might not even become a product. And if it does, I have no clue what the real licensing/price will be. I suppose that I could rip off the code, but it still remains IBM's so if it became big and they found out, they'd nail my hide to the wall.

No guarantees, no responsibility, complete retention of rights. It would be different if it were a product because then I could see how it works to decide whether to buy it or how to use it.

What is the point of this type of opensource? (I asked them, but they did not answer)

Note: alphaWorks technologies are early versions of what may, or may not, become IBM products or offerings. These technologies are not generally available and are provided "AS IS" without any warranties, either express or implied. Unless otherwise stated, alphaWorks technologies are provided pursuant to the terms of the IBM alphaWorks license agreement and are licensed only for a 90-day evaluation period.

I don't agree that the article was useless, although I too believed it would discuss the rules engine. Good technology is only part of the question. How it becomes standardized it just as important, otherwise you'll just have a mishmash like SourceForge. (Which I respect in many ways, but...)

Jason,

Great points! Thank you for the detailed information and feedback. I really appreciate it!

Jon

David,

Thank you for your feedback. I think that the JSR process is very important! I also want to point out that the purpose of the column is to educate people about the process and keep people up to date on some of the specification requests

I agree. The article was pretty much useless.

This article was useless -- it covers the JSR Process -- but who cares about that! I still have to wait until Sun fixes bugs. I wanted to learn about the Rule Engine API, which he didn't "cover" AT ALL!

The only issue to be wary off when downloading any software - be it Open Source or Reference Implementations from the JCP site - are the terms and conditions of the license. These may be restrictive in terms of packaging, usage within commercial applications, or may, in the case of this rules engine, only allow a 30 day period of internal-use evaluation.

Here's an important snippet from the license for JSR-94:

3.1 License Grant. Subject the terms of this Agreement, including, but not limited to this Section 3 and the Restrictions contained in Section 4, below, Original Contributor hereby grants to Recipient a personal, non-exclusive and non-transferable right to use the pre-final version of the Specification Package for internal evaluation and testing purposes only, for a limited period of Thirty (30) days from date of download.

3.2 Limitations. Recipient hereby acknowledge and agree: (i) that delivery of the Specification Package to you does not grant to you any rights to use the Specification Package for any purpose, except such internal evaluation and testing; (ii) that you will not disclose the Specification package to any third party without the prior written consent from the Original Contributor. (iii) that you will stop using and destroy the Specification Package in their entirety within thirty (30) days from the date of the download of the Specification Package.

3.3 Reservation of Rights. All rights not specifically granted to you herein are retained by the Original Contributor.




ADS BY GOOGLE
Subscribe to the World's Most Powerful Newsletters

ADS BY GOOGLE

"Calligo is a cloud service provider with data privacy at the heart of what we do. We are a typical ...
In his session at 20th Cloud Expo, Scott Davis, CTO of Embotics, discussed how automation can provid...
DXWordEXPO New York 2018, colocated with CloudEXPO New York 2018 will be held November 11-13, 2018, ...
In an era of historic innovation fueled by unprecedented access to data and technology, the low cost...
DXWorldEXPO LLC announced today that All in Mobile, a mobile app development company from Poland, wi...
Everyone wants the rainbow - reduced IT costs, scalability, continuity, flexibility, manageability, ...
DXWorldEXPO | CloudEXPO are the world's most influential, independent events where Cloud Computing w...
Founded in 2000, Chetu Inc. is a global provider of customized software development solutions and IT...
Today, we have more data to manage than ever. We also have better algorithms that help us access our...
DevOpsSummit New York 2018, colocated with CloudEXPO | DXWorldEXPO New York 2018 will be held Novemb...
The standardization of container runtimes and images has sparked the creation of an almost overwhelm...
CloudEXPO New York 2018, colocated with DXWorldEXPO New York 2018 will be held November 11-13, 2018,...
Most DevOps journeys involve several phases of maturity. Research shows that the inflection point wh...
@DevOpsSummit at Cloud Expo, taking place November 12-13 in New York City, NY, is co-located with 22...
Dynatrace is an application performance management software company with products for the informatio...
SYS-CON Events announced today that DatacenterDynamics has been named “Media Sponsor” of SYS-CON's 1...
A valuable conference experience generates new contacts, sales leads, potential strategic partners a...
Digital Transformation: Preparing Cloud & IoT Security for the Age of Artificial Intelligence. As au...
DXWorldEXPO LLC announced today that ICOHOLDER named "Media Sponsor" of Miami Blockchain Event by Fi...
SYS-CON Events announced today that IoT Global Network has been named “Media Sponsor” of SYS-CON's @...