Geertjan is a DZone Zone Leader and has posted 457 posts at DZone. You can read more from them at their website. View Full User Profile

UNESCO on the NetBeans Platform

04.10.2009
| 15122 views |
  • submit to reddit
Jean-Claude Dauphin (pictured, right) has been working as a program specialist and project manager in software development for UNESCO for many years. For over two decades, UNESCO has been a pioneer in supporting the development of advanced multilingual software that is distributed free-of-charge around the world. Starting with the development of CDS/ISIS, which is a generalized information storage and retrieval system for bibliographic information in the 1980's, activities have gradually expanded to include support for the development of free and open source software, culminating in the launch of UNESCO's Free & Open Source Software Portal in 2001.

These software tools, including the related multilingual documentation and training materials, are aimed at being accessible to Member States, while enabling them to be active and equitable partners in their development. This is particularly important for those who cannot afford to buy commercial software. Of all the software tools developed by UNESCO, the most popular has been the CDS/ISIS software for creating, updating, and searching textual databases. While project managers have an official register of 300,000 institutions and individuals using this software, the real number of beneficiaries can be multiplied exponentially:

The interview that follows focuses on the Windows version of UNESCO's CDS/ISIS software and the project relating to its redevelopment in Java on top of the NetBeans Platform. It is currently under heavy development, as the interview explains, but here is one screenshot (click to enlarge it) to give an impression, with more screenshots later in the interview:

What is UNESCO CDS/ISIS exactly?

CDS/ISIS is a menu-driven generalized Information Storage and Retrieval system designed specifically for the computerized management of structured non-numerical databases. One of the major advantages offered by the generalized design of the system is that CDS/ISIS is able to manipulate an unlimited number of databases, each of which may consist of completely different data elements.

CDS/ISIS is not a relational database system. Records are variable-length records and are identified by a unique ID called the master file number. Records are made of variable-length fields identified by a tag. They can be repetitive and can contain several subfields. For advanced users, CDS/ISIS offers a wide range of programming facilities, enabling the development of specialized applications through the use of its powerful print formats. For real computer programmers, an external programming library, the ISIS_DLL, provides all the necessary tools for developing CDS/ISIS based applications.

WinISIS is the Windows version of UNESCO CDS/ISIS database software and is distributed as freeware.

Many applications based on WinISIS have been developed on a voluntary basis to extend its capacities and are available for downloading from the UNESCO website as well as on partner websites.

CDS/ISIS is very popular in developing countries and it has a strong community of users.

And what's the connection between the NetBeans Platform and WinISIS?

While being very powerful and useful, WinISIS uses relatively old technologies that limit its capabilities and usefulness.

Thus it was decided to start the J-ISIS project. The J-ISIS project’s mission and goals are to develop a new multiplatform Free and Open Source Software (FOSS) CDS/ISIS suite that will provide the same successful concepts and functionalities as the existing UNESCO CDS/ISIS suite, while removing its restrictions. It aims at supporting a Client/Server architecture and UNICODE, while benefiting from the latest software development trends.

One of the objectives is also to maintain the assets and experiences of the existing users. However, the overarching project objective is to develop a long term solution that will be modular, easy to maintain, and possible to extend.

It was decided to use the following elements to achieve the solution described above:

  • Java programming language. Because we want a multiplatform solution (Windows, Linux, Mac OS X, etc).

  • NetBeans Platform. Because we want to build modular applications and use parts of NetBeans IDE, especially relating to the creation of our Graphical User Interface and Internationalization.

  • Berkeley DB. Because it can manage variable-length records. (More about it here.)

  • Lucene. Because we need to provide an indexing & searching solution.

  • MARC4J. Because we want to support ISO 2709 and MARC bibliographic I/O.

  • JFlex and JCup. Because, to shorten development time, we want to generate the print formatting language lexer and parsers.

  • NIO-Based Server. Because the database server has to be scalable, using multiplexing, which can then accept thousands of clients. It uses the Java New I/O (NIO) packages introduced in J2SE 1.4.

How did you end up choosing the NetBeans Platform?

Our original application was written in C++ and uses some third-party commercial libraries. We are now rewriting it in Java, i.e., we are writing a completely new application that is supposed to provide the same functionality as before. Therefore, we chose the NetBeans Platform for the following reasons:

  • Modularity. One of the project's aims is to create a modular application, one that is maintainable and extensible, and the NetBeans Platform allows us to use a modular approach for developing and distributing the application.

  • Swing Extensions. The NetBeans Platform provides a window system offering a Multiple Document Interface (MDI), as well as many reusable GUI components, such as wizards and dialogs.

  • "Matisse" GUI Builder. The IDE's GUI Builder facilitates the development of forms and dialogs in our application.

I think that in modern programming, the most complicated tasks relate to the GUI side of an application. The modular programming approach and the reuse of GUI facilities from the IDE make the NetBeans Platform particularly well suited for J-ISIS development. Furthermore, the NetBeans IDE's tools for quickly creating web applications are also highly appreciated.

Even though it isn't complete yet, can you share some screenshots of J-ISIS in its current state?

 Here are some:

How is the development process going? How far are you? How many are working on it? What's the timeline?

J-ISIS is currently under heavy development. The rich client application contains about 70 % of the original WinISIS features, together with many new features, such as UNICODE support, a highlighting editor for CDS/ISIS print formats, the use of XHTML+CSS+JavaScript for data viewing, and full Lucene Search capabilities.

We also plan to write a web application for providing web access through a servlet to the J-ISIS database server. The use of a Groovy console is also envisaged to provide additional functionalities to the user.

Several developers have contributed to the development of the earlier versions, but I am now the main developer. On the other hand, there are several users who are testing the various functionalities and reporting on the results and bugs discovered. J-ISIS is tested for storing, indexing, and retrieving data in different languages. Thanks to Sherif Hassan Fouad from the Library and Information Center Department of the Arab League, J-ISIS was tested for managing Arabic, including right-to-left display, indexing, dictionary displays, and searches of Arabic terms.

The tentative time line is as follows:

  • End of April 2009: Provide, to a limited number of advanced WinISIS users, a pre-beta version of J-ISIS for further testing and checking of the WinISIS functionality.

  • May-June 2009: Fix bugs and implement missing functionalities. Develop the web application for searching and displaying results.

  • Beginning of July 2009: Provide a beta version of J-ISIS to the ISIS user community.

Are there some specific interesting things you've learned about the NetBeans Platform that surprised you or that you hadn't expected at the outset?

The reuse of the IDE log was quite surprising and helpful because it provides us with the ability to trace the application when we're troubleshooting.

Reusing the NetBeans Platorm window system, and the various GUI components that the NetBeans Platform provides, is also very helpful. Sometimes, however, it is difficult to know which API or module is providing a specific GUI component. Looking at the IDE’s source code is essential for understanding and reusing some its components

What are some challenges that you're facing at the moment?

At the moment, the two main challenges are:

  • JDIC. We use JDIC with Mozilla 1.4.1 for displaying database records. It works well most of the time but, sometimes, it freezes the application without any message being produced. Probably my next most urgent task is to go deeper into this problem, while investigating and trying to solve it. J-ISIS is supposed to be multiplatform, but the Mozilla binary is different and we have not been able to use the multiplatform version of JDIC.

    We are desperately waiting for the new Sun JWebPane component that would provide multiplatform XHTML+CSS+JavaScript browsing.

  • GUI Internationalization. We are looking for the best GUI I18N strategy for J-ISIS, knowing that it should be possible to dynamically change the language. At the moment, we are not sure about how to organize the bundle files and the ZIP file for deployment.

Any advice on the above two issues would be very welcome!

Note: For a list of other areas where you can contribute to this project, click here!

How come does it make sense for this application to be a desktop app? Isn't everyone and everything moving to the web at the moment?

In fact, we want J-ISIS to be usable both as a desktop application as well as from the web. The desktop approach makes sense because there are many small libraries and document centers in developing countries that need to use J-ISIS on a single host machine without any web servers.

You've put the application on Kenai. How is that of benefit to you? How do you see yourself using that infrastructure going forward?

http://kenai.com/projects/j-isis

Kenai is very useful as a forge for sharing application source code and documents, as well as binaries of the latest releases. We have not yet used its full potential, such as other useful tools like the various mailing lists and the Wiki.

Furthermore, Kenai is dedicated to Java applications and we are looking forward to attracting other Java developers who will contribute to the J-ISIS project. NetBeans IDE 6.7 will include facilities for working with Kenai projects, which I think will greatly simplify life when managing projects on Kenai.

 

Anything else you want to share with readers of this interview?

I have found the "SPARS Project & Osaka University" site very useful for searching examples of code (http://demo.spars.info/j/ ).

 

Related Documents

Published at DZone with permission of its author, Geertjan Wielenga.

Comments

Toni Epple replied on Fri, 2009/04/10 - 12:53pm

Great project. I've posted some little tricks that might be useful for changeing the language on the fly in my blog.

Sharat Chander replied on Sun, 2009/04/12 - 4:43pm

Great post!

Regarding Project Kenai. developers can host code of any language, not just Java.

As the Product Marketing Manager for Kenai, I'd be happy to address any Kenai-related questions you may have.  Feel free to ping me: sharat<dot>chander<at>sun<dot>com

My best,

--Sharat

Mario Burdman replied on Sun, 2009/05/10 - 11:04am

Nice project! Just a suggestion on your "desperately waiting" ...

I used in many projects Flying Saucer XHTMLRenderer and is great doing what (I think) you need.

It's NOT a browser, just XHTML renderer with CSS and reduced JScript support.

https://xhtmlrenderer.dev.java.net/

Good luck
Mario

Bryan Low replied on Tue, 2012/12/18 - 7:26am

Excellent Post. Thank you Author for such a awesome create up. Indeed it was very particular. I have stored your Woodlands EC  web page.Thanks

Bryan Low replied on Mon, 2012/12/24 - 10:44pm

Urban Vista has complete and improvements, such as a effectively properly secured house, team house, kid's execute place, discuss, kid's discuss, function space, cusine pavilion, execute place, discuss part BBQ, waterjet discuss. The condo’s functions offer complete near near close relatives affiliates enjoyment needs for your near close relatives affiliates associates affiliates and near near close relatives affiliates. Work out a relaxing and relaxing way of way of way of life right in the center of Tanah Merah.

Several vehicles are available near Urban Vista along with purchasing and cusine locations.

Bryan Low replied on Fri, 2013/02/01 - 10:04pm

Several buses are available near Twin Fountains EC along with shopping centers and restaurants. Twin Fountains EC is also near Causeway Point as well as Woodlands Waterfront. Entertainment for your loved ones and friends are therefore at your fingertips with the full condo facilities as well as the amenities near Twin Fountains EC. excellent post!

Twin Fountains

Mark Lewis replied on Sun, 2013/02/10 - 4:08pm

Nice step-by-step resource and guide here. I found what I was looking for. Because this was so detailed and user-friendly, I was able to locate what I needed. Thanks for the solid guide and I'll bookmark this just in case I need to revert to it again. Tight Line Productions 

Eric Lim replied on Wed, 2013/03/06 - 8:14am

This is an informative article on the Netbean Platform. Thanks for Sharing.
New Launch  | Urban Vista 

Bryan Low replied on Thu, 2013/03/07 - 10:04pm

You have a very inspiring way of exploring and sharing your thoughts. It is very uncommon nowadays, lots of sites and blogs having copy pasted or rewritten info. Thx for the write-up.

Hillview Peak

Eric Lim replied on Fri, 2013/03/15 - 9:27am

Bartley Ridge  , the new and upcoming 868 units development by Mount V. Development Pte Ltd (a joint venture between Hong Leong Holdings Ltd, City Developments Ltd and TID), is the latest condominium to be added to the Bartley area, just right next to Bartley MRT. Expected to be complete in mid 2016, Bartley Ridge Condo  comprises of 9 towers with 868 units and stands 18 storeys tall and is surrounded by lush greenery and extensive landscaping.

Eric Lim replied on Fri, 2013/03/15 - 9:28am

Kingsford  Hillview Peak is nestled in the quiet enclave of Hillview, surrounded by nature reserves and lush greenery including the Bukit Timah Nature Reserve and Little Guilin (Bukit Batok Town Park). It is also near to Bukit Gombak Stadium and Bukit Batok Golf Range.

Kingsford Hillview Peak Condo is also not far from the chic The Rail Mall, which houses a stretch of restaurants, a Cold Storage, and other amenities for the convenience of nearby residents. You will also be a short drive away from Beauty World and King Albert’s Park where a plethora of amenities await you. So no matter it is for groceries, window shopping. catch a late night movie, or even banking needs, there will be something that suit your needs.

Bryan Low replied on Mon, 2013/03/25 - 3:14am

Belgravia Villas has full and unique facilities, which includes a guard house, clubhouse, children's playground, swimming pool, piano room, pool room, indoor gym, hydrotherapy beds, hydrotherapy baths, reading room, function room, onsen, jacuzzi.The condo’s facilities provide full family entertainment needs for your family and loved ones. Indulge in a serene and tranquil lifestyle right in the heart of Ang Mo Kio.Belgravia Villas

Matt Coleman replied on Fri, 2013/03/29 - 1:59am

this is a great thing NB..i am proud of what you guys have done

buffalo brochure design 

Andy Man replied on Sun, 2013/03/31 - 12:08am

Belgravia Villas is located on a high ground overlooking Ang Mo Kio Avenue 5. It is surrounded by landed properties in a very exclusive private enclave. Residents will feel like they are away from the city yet with amenities nearby, within 5 mins drive. Great place for stay and investment!

Bryan Low replied on Tue, 2013/04/23 - 2:23am

Ecopolitan EC has full and unique facilities, which includes a guard house, clubhouse, Function Room & Indoor Gym Tennis Court, 50m Freeform Pool Pool Deck, Wading Pool, Splash Pool & Family Pool Jacuzzi & Hydro Spa, BBQ Area Dining and Play Fountain, Fitness Alcove & Children’s Playground and Garden Trail. The condo’s facilities provide full family entertainment needs for your family and loved ones. Indulge in a serene and tranquil lifestyle right in the heart of Punggol.Ecopolitan

Bryan Low replied on Tue, 2013/05/14 - 7:19am

J Gateway has full and unique facilities, which includes a guard house, clubhouse, children's playground, swimming pool, Aerobic/Yoga room, piano room, pool room, indoor gym, hydrotherapy beds, hydrotherapy baths, reading room, function room, onsen, jacuzzi. Jurong East New Launch

Bryan Low replied on Sat, 2013/05/25 - 12:33am

Future residents will be able to access the development via Buangkok MRT which is just next to it. Also, nature awaits your family and friends at the nearby Punggol Park. Also, the ultimate nature awaits you at the Sengkang Riverside Park. new Buangkok Condo

Bryan Low replied on Fri, 2013/05/31 - 1:23am

Several buses are available near Coral Edge Residences  along with shopping centers and restaurants. Coral Edge Residences  is also near Waterway Point, the shopping, dining and entertainment hub which is scheduled to open in 2 years time. Also, it is right beside Punggol Waterfront. Entertainment for your loved ones and friends are therefore at your fingertips with the full condo facilities as well as the amenities near Coral Edge Residences . A luxurious lifestyle awaits you Coral Edge Residences

Bryan Low replied on Tue, 2013/06/04 - 12:39am

Designed by renowned architect Ole Scheeren, the project is connected to Bugis MRT Interchange that will link the East-West Line and the upcoming Downtown Line. Duo   Residences has full and unique facilities, which includes a guard house, clubhouse, children's playground, swimming pool, piano room, pool room, indoor gym,   hydrotherapy beds, hydrotherapy baths, reading room, function room, onsen, jacuzzi. http://duo-residence.org

Bryan Low replied on Mon, 2013/06/17 - 12:38am

Lush Acres EC has full and unique facilities, which includes a guard house, clubhouse, Function Room & Indoor Gym Tennis Court, 50m Freeform Pool Pool Deck, Wading Pool, Splash Pool & Family Pool Jacuzzi & Hydro Spa, BBQ Area Dining and Play Fountain, Fitness Alcove & Children’s Playground and Garden Trail. Sengkang EC

Bryan Low replied on Mon, 2013/06/24 - 1:31am

Forestville EC has full and unique facilities, which includes a guard house, clubhouse, Function Room & Indoor Gym Tennis Court, 50m Freeform Pool Pool Deck, Wading Pool, Splash Pool & Family Pool Jacuzzi & Hydro Spa, BBQ Area Dining and Play Fountain, Fitness Alcove & Children’s Playground and Garden Trail. Forestville EC

Bryan Low replied on Mon, 2013/07/08 - 9:10pm

Kensington Square has full and unique facilities, which includes a guard house, clubhouse, children's playground, swimming pool, piano room, pool room, indoor gym, hydrotherapy beds, hydrotherapy baths, reading room, function room, onsen, jacuzzi. Kensington Square

Bryan Low replied on Tue, 2013/07/09 - 1:26am

Skypark Residences has full and unique facilities, which includes a guard house, clubhouse, Function Room & Indoor Gym Tennis Court, 50m Freeform Pool Pool Deck, Wading Pool, Splash Pool & Family Pool Jacuzzi & Hydro Spa, BBQ Area Dining and Play Fountain, Fitness Alcove & Children’s Playground and Garden Trail. The condo’s facilities provide full family entertainment needs for your family and loved ones. Indulge in a serene and tranquil lifestyle right in the heart of Woodlands. Skypark Residences

Bryan Low replied on Fri, 2013/07/12 - 4:18am

Also, nature awaits your family and friends at the nearby Pasir Ris Park which is just beside Sea Horizon EC. Also, the ultimate nature awaits you at the Pasir Ris shoreline in the Jalan Loyang Besar area. Sea Horizon

Bryan Low replied on Sat, 2013/07/13 - 6:44am

The Glades has full and unique facilities, which includes a guard house, clubhouse, children’s playground, swimming pool, kid’s pool, function room, dining pavilion, playground, poolside BBQ, waterjet pool. The Glades

Imam Sulistio replied on Mon, 2013/08/19 - 8:20pm in response to: Eric Lim

 This is a nice blog. Good clean UI and nice informative blog. I will be coming back soon, thanks for the great blog. pasang iklan kompas

Bryan Skyvue replied on Wed, 2013/09/25 - 6:44am

Several buses are available near Yuan Ching Road EC along with shopping centers and restaurants. Yuan Ching Road EC is also Taman Jurong Shopping Centre as well as Taman Jurong Market and Food Centre. Yuan Ching EC

The Hillford Th... replied on Mon, 2013/10/07 - 9:22pm

The Hillford Condo has full and unique facilities, which includes a guard house, clubhouse, children's playground, swimming pool, Aerobic/Yoga room, piano room, pool room, indoor gym, hydrotherapy beds, hydrotherapy baths, reading room, function room, onsen, jacuzzi. The Hillford Condo Jalan Jurong Kechil

Badan Singh replied on Wed, 2013/10/23 - 4:09am

 http://rebelmouse.com Desire System: David Tan (Tian) Reveals The Holy Grail Of Seduction Techniques That Uses Emotional Contagion To Make Any Woman Horny On Command And Compels Her To Work For You, Chase You, And Make The First Move While Thinking Sex Was All "Her Idea" (But You'll Know Better...)...

Badan Singh replied on Sun, 2013/11/10 - 4:16am in response to: Toni Epple

ab finishers 2.0 reviews Ab Finishers 2.0 Ebook: How To Get Ripped Abs And Torch Body Fat Without Giving Up Your Current Workout By Using Insanely "Weird And Addicting" Metabolic Finishers That Completely Blow Away Any Crunch Or Sit-Up...

Comment viewing options

Select your preferred way to display the comments and click "Save settings" to activate your changes.