ePHOENIX has been developed as a series of components offering services to each other. Each component can, in principle, be hosted and scaled independently according to need. ePHOENIX can thus be deployed on a single machine or in a highly distributed server environment. Moreover, because of the portability of the Java software, a variety of operating systems can be accommodated. Furthermore, various interfaces are implemented to allow ePHOENIX to interact with existing (or “legacy”) systems, so that these can continue to function as normal.

The following services are included in the bundle:

  • DossierContentService
  • DossierImageService-PXI
  • ApplicationNumberService
  • BusinessLogicDBService
  • DistributionService
  • JDMSService
  • LoaderService
  • OnlineExportService
  • OnlineImportService
  • PrintService
  • RepositoryService
  • PhoenixServerService
  • JpxiService
  • JDistService
  • JBpaService
  • JBpsService
  • JcdrService
  • LegacyService
  • JSF framework
  • Common jars
  • Generic GUI monitoring
  • MADRAS GUI (client)
  • epoScan

The presentation interface
The GUI is implemented as a framework (MADRAS) which allows different GUI components to run in a single desktop pane. The components are language-independent so that versions can be created in any local language using the same code base. Other advantages of such a framework include:

  • easy installation - different applications share a single set-up
  • a single logon - for multiple ePHOENIX applications
  • easy configurability – offers users only those applications which they actually need

ePHOENIX services
These various “middle-tier” components manage and serve requests from users (via the GUI), from each other and from external services and systems. The services handle the import of new documents, printing and/or export of documents, distribution of messages based on external and internal triggers, collection and delivery of data for presentation in the GUI, and so on. They also interact with external IT systems such as security/authentication services, “legacy” applications for bibliographic and procedural data and the like.

Data storage
Data storage is handled by two different database systems:

  • jPXI for all IP documents
  • jDMS for all data relating to these documents, the users and to organisational information and data about the system itself

jPXI: storage of documents
jPXI uses market-leading relational database management systems (RDBMS). jPXI is designed to be implemented in a distributed network, ie on more than one computer. Data is accessed through a Java Database Connectivity (JDBC) driver. By using standard SQL a variety of database systems can be used.

On top of the JDBC driver a common Java interface is provided. This allows the other components to submit requests as well as to retrieve documents and information from the jPXI archive. Multiple file formats are supported (eg WIPO-ST33, TIFF, PDF). By using binary large objects (BLOBs) any other kind of format can be stored, such as WIPO ST35, XML and HTML.

jDMS: storage of (meta) data
jDMS is also designed to be implemented in a distributed network. Like jPXI it uses JDBC and SQL, so that different RDBMS can be used. However, in contrast with jPXI, which stores large image files, the design is optimised for storing smaller data objects. ePHOENIX can connect to legacy systems using a common interface. For any specific system at a national IP office, data servers can be developed against this interface.

Document acquisition
Documents can be acquired by scanning paper versions or capturing and converting print streams, or via the direct acquisition of documents already in electronic form (eg from online filing, document exchange, etc.). The largest volumes are normally acquired by scanning, and for this purpose the EPO also provides the “epoScan” software, which has been optimised for this purpose. For more information on epoScan or epoline® Online Filing, click on the following links:

epoline® Online Filing