Technical Guide

batterycopperInternet και Εφαρμογές Web

12 Νοε 2013 (πριν από 3 χρόνια και 6 μήνες)

117 εμφανίσεις

EFM Development


Reader has an understanding of the following technologies:


Spring Framework

Apache Maven


Web Services

EFM Project Structure

The EFM package is build using the Maven software project management tool. It
consists o
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
contains the

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.

The de
ployment for a trading partner will have both a


DB and


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.

Web Project

Values for URLs, directories, JNDI entries, EFM specific values, or any cust
processing variable are stored in the file in the company specific Web
. In the
case study code this is

Interdom Web.

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.



Web Service

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:

<bean id="statusReceiptService"


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.