Reader has an understanding of the following technologies:
EFM Project Structure
The EFM package is build using the Maven software project management tool. It
f the “core” pieces, then the implementation specific sub
module. The core
pieces of the EFM package are the EFM Platform Core module, which contains all of the
Java code and Spring Framework configuration files, and the EFM Platform DB which
initial database creation and population scripts.
The EFM package project contains a child Maven module for the project specific code, in
the example case
. This module will always include the two modules, DB
Parent, and Web Parent.
ployment for a trading partner will have both a
Web module that will be children their respective parent
modules. In the
downloaded you will find a Default Web and
Default DB module
Modifying the EFM Da
The company specific DB project
along with the DB Parent project are used to define the
values that create the database instance used by the EFM package.
To create the database for the EFM package, the developer will need to modify some files
the provided code, and build the Maven modules for the DB project. The following
are a list of steps to modify the necessary files.
Open the DB Parent module for your company’s EFM deployment.
Open the POM file for the DB Parent module.
In the propertie
s section of the POM file, change the entries to match the place holder
values used in your SQL file assigning them the correct values.
Open your company specific DB module, in the example project this is called Interdom
Open the POM file for that mod
Change the values in the properties section of the POM your company will be using for
their EFM database. This includes database name, and users.
Values for URLs, directories, JNDI entries, EFM specific values, or any cust
processing variable are stored in the efm.properties file in the company specific Web
. In the
case study code this is
The Spring configuration files that use these values are in the project specific files, as
well as the EFM Plat
form Core project. If a new bean is introduced into any Spring
configuration file used by the Web project, it can be added to this properties file.
While the EFM Platform Core does have default implementations for the Web Services
provided in the package
, some of the implementations do nothing. Also, it is likely
deployment of the EFM package will want to do something different with the data
received than the default action. The company specific Web module is where the custom
implementation for eac
h EFM core Web Service should be defined. Looking at the code
provided for the case study implementation will illustrate how this is accomplished as
describing the full architecture of the EFM package is out of the scope of this document.
When customizing a Web Service in EFM to handle the incoming data the developer
must create a new class that implements the Service Interface. For the Status Receipt
Web Service this interface is the
Interface. Once the
implementation is finished, a bean definition needs to be placed in the <companyefm>
integration.xml file like the example below:
This line in the Spring Framework configuration file will automatically cause EFM to use
the new customized class to handle the incoming data.
Once these changes are made, the
Company specific web project has to be built before being deployed.