A PRACTICAL APPLICATION OF SOA
A Collaborative Marketplace
Sophie Rousseau
ORACLE Consulting, Colombes, France
Olivier Camp, Slimane Hammoudi
GRI, ESEO, Angers, France
Keywords:
SOA, BPEL, Web services, Collaborative marketplace, ERP, ORACLE.
Abstract:
The economical context greatly impacts companies and their Information Systems (IS). Companies have new
competitors or develop new business skills, delocalize whole or part of their organization. Moreover they
are faced with powerful competitors, and new products, fitting customer needs, must be developped fast,
sometimes in less than 3 months. These companies’ ISs need to cope with such complex evolutions and have
to overcome the resulting changes. Service-Oriented Architectures (SOA) are widely used by companies to
gain in flexibility and Web services, by providing interoperability and loose coupling, is the tted technical
solution used to support SOA. Basic Web services are assembled into composite Web services in order to
directly support business processes. The aim of this work is to present a practical and successful application
of SOA towards the design of a collaborative marketplace. An implementation in the Oracle environment is
achieved using the BPEL Process Manager allowing an integration of the different components involved in the
design of a collaborative marketplace. In particular, this paper illustrates, through a practical example, how
the SOA approach promotes interoperability, one of its main strengths, by integrating an open source ERP into
a mainly ORACLE based software architecture.
1 INTRODUCTION
In today’s globalised economy, hard competition
sometimes requires for enterprises to collaborate with
one another to respond to a specific market need.
Enterprises often rely on an electronic marketplace
(e-marketplace) to support their business ; An e-
marketplace can span two rooms in the same building,
or two continents. How individuals, firms, and orga-
nizations approach and define the e-marketplaces of
the future depends on people’s ability to ask the right
questions now and to take advantage of the opportuni-
ties that will arise over the next few years (Leebaert,
1999).
When dealing with a collaborative business pro-
cess (Chen and Hsu, 2000; Liu et al., 2009) each en-
terprise’s e-marketplace should thus be able to collab-
orate with its partner’s e-marketplaces. Collaborative
marketplaces (Sadiq et al., 2006; Guo, 2007) have
been of much interest over the last decade and en-
suring interoperability between such information sys-
tems has been a major software engineering topic.
The principles of the Service Oriented Architecture
(SOA)(Erl, 2007) is now considered a standard to sup-
port interoperability between information systems.
Thousands of enterprises have adopted Service Ori-
ented Architecture (SOA) based on its promise to help
them respond more rapidly to changing business re-
quirements by composing new solutions from exist-
ing business services. To deliver on this promise,
however, companies need to integrate solid, yet flex-
ible, Collaborative Business Process Management
(CBPM) plans into their SOA initiatives (Fiammante,
2009).
In this paper we show, through a practical ex-
ample, how SOA can be used to support a collab-
orative e-marketplace composed of a mainly Oracle
based software architecture, but also integrating an
open source ERP (www.compiere.com). The collabo-
rative e-marketplace relies on web services to provide
interoperability between the heterogeneous systems.
In section 2 we give a description of the proposed
332
Rousseau S., Camp O. and Hammoudi S. (2010).
A PRACTICAL APPLICATION OF SOA - A Collaborative Marketplace.
In Proceedings of the 12th International Conference on Enterprise Information Systems - Databases and Information Systems Integration, pages
332-336
DOI: 10.5220/0003019303320336
Copyright
c
SciTePress
architecture for our collaborative marketplace. The
third section describes the design and implementation
of the marketplace. The fourth section of this article
is dedicated to the analysis of our experimentation.
Finally, we conclude in section 5.
2 ARCHITECTURE
The collaborative marketplace is built according to
the Service Oriented Architecture (SOA) paradigm.
The World Wide Web Consortium (W3C) defines the
SOA as ”a set of components which can be called,
whose descriptions of interfaces can be published and
spotted”. The SOA is an architecture designed to al-
low low coupling between interacting software agents
or services - a service being an action to be executed
by a producer for a consumer. The implementation of
SOAs was facilitated by the apparition of standards
like Web Services. The SOA is a very effective an-
swer to the problems that companies meet in terms
of reuse, interoperability and coupling reduction be-
tween the various systems that make up their infor-
mation systems. By its standard character, an SOA
contributes to improve the speed and the productivity
of software developments and a component exposed
as a web service can be used by other applications.
Figure 1 illustrates the main architecture of our Col-
BPEL
Process Manager
ERP Compiere
(opensource)
Application Servers
Task List
Web Service
News
Web Service
Compiere
Web Service
WebCenter Suite
Rich Text Protlet
Jive
Forum
UltraSearch
BAM
SES
Oracle
E-Business Suite
Oracle
Database
Oracle
ContentDB
Figure 1: The collaborative marketplace architecture.
laborative Marketplace Platform. On this figure, the
open source Compiere ERP, together with the Ora-
cle Database storing its data, and the Oracle ERP E-
Business Suite represent two e-marketplaces that need
to collaborate. The Oracle ContentDB deals with
the collaborative marketplace’s content management.
The BPEL Process Manager (BPEL PM) represents
the heart of the collaborative system and takes care
of the integrations of the Oracle E-Business Suite,
the Oracle Content DB and the opensource Compiere
ERP. The integration of Compiere ERP is achieved
through the Web servicisation” of the ERP’s main
functionnalities ; access to these web services is done
by specific BPEL processes. The WebCenter product
is used for the front end web application exposed to
the final user. This product allows the use of portlets
to design the user interface and manages the applica-
tion’s access to several web services such as the News
service - this service already exists and just needs to
be integrated in the user interface. The different ser-
vices built for the platform are deployed on OC4J (Or-
acle Container For Java) instances of the Oracle Ap-
plication Server. The project is secured by the use of
JAZN files present on these OC4J instances. JAZN
is the Oracle implementation of JAAS (Java Authen-
tication and Authorization Service) which is a stan-
dard for authentication management and role based
access control. Jive Forum, UltraSearch, Secure En-
terprise Search (SES) and Business Activity Moni-
toring (BAM) are modules not implemented in the
project.
3 DESIGN AND
IMPLEMENTATION
The realization of the marketplace was done in 4 main
steps:
The installation of the test environment,
The integration of the Open Source Compiere
ERP with the Oracle ERP E-Business Suite,
The authentication management,
The creation of the user interface.
3.1 Installation of the Test Environment
Platform
Figure 2 is a schematic representation of the test plat-
form showing the interactions between the different
components. The platform is composed of 5 com-
ponents, each one, except for the Oracle E-Business
Suite, is installed on a specific virtual machine (VM):
An Oracle database and the Compiere ERP;
The Oracle ContentDB;
The Oracle SOA Suite (10g) containing BPEL
PM;
The Oracle WebCenter Suite (10g);
The Oracle E-Business Suite (an access to this
Oracle Application, running on a physical server,
was provided for the realization of the market-
place).
A PRACTICAL APPLICATION OF SOA - A Collaborative Marketplace
333
Figure 2: Test platform.
3.2 Integration of the Open Source ERP
Compiere and Oracle ERP
E-Business Suite
The integration of the Oracle ERP in the e-
marketplace was not a difficult task. Indeed, the Or-
acle SOA Suite provides adapters that allow the in-
tegration of the E-Business Suite. Thus the integra-
tion of the E-Business Suite consisted in, using its in-
terface, registering a supplier and, using BPEL PM
Database adapter, detecting this registration and start-
ing the global registration process. One important
step in this process is the insertion of the E-Business
Suite as a supplier in the Compiere ERP Database.
The main problematic was the way to integrate this
Open Source ERP since its functionalities were not
exposed as web services. Looking more deeply in the
product, we found some APIs that allowed the cre-
ation of web services directly in the Compiere prod-
uct. This first solution was not implemented due to
a lack of time. A second level of observations made
us discover that the database used to store the ERP’s
data could be accessed directly and that the tables
were easily identifiable. Oracle BPEL PM contains a
database adapter that allows us to access these tables.
However, for this project, we wanted the web services
level to be independent from BPEL PM. Thus, we de-
cided to develop the web services for the Compiere
ERP directly on the database using the PLSQL lan-
guage and developed stored procedures. The Oracle
IDE, JDevelopper, allows the creation of Java web
services from stored procedures and, using this func-
tionality, we were able to expose Compiere’s func-
tionalities as Web services on an OC4J instance.The
Compiere ERP was then ready to be integrated to the
marketplace. Two services have been created for the
needs of the marketplace:
The registration of a supplier (creation of a record
in the database),
The verification of the existence of a given sup-
plier in the Compiere database.
3.2.1 Supplier Registration Process
The registration process is split in two steps:
Phase 1: registration on the E-Business Suite - first
level of validation and creation of user accounts.
Phase 2: update of the needed user files and final val-
idation of the registration.
Figure 3: Registration process.
Phase 1: Figure 3 illustrates the pre-registration
process. This first part of the process contains the fol-
lowing steps:
An instance of the process is created when a sup-
plier registers through the E-Business Suite regis-
tration interface. The database adapter used to de-
tect this registration receives all the supplier data.
The Compiere service is called to check whether
the supplier is already registered.
If not, the supplier registration needs to be val-
idated.
ICEIS 2010 - 12th International Conference on Enterprise Information Systems
334
When the registration is accepted, a record
is created in the authentication base, a pri-
vate space is created for the supplier in Ora-
cle Content DB, an account is added for the
Jive Forum and the supplier is recorded in the
Compiere database.
A notification is sent to the supplier. Then, he
can access his space.
Phase 2: The second phase validates - or not - in
a final way the supplier registration. This phase uses
the Oracle Content DB functionalities. Figure 4 rep-
resents the process of this phase. This second process
Figure 4: Validation of the registration.
is launched when a new document is uploaded by the
supplier. This document is then validated to allow the
update of the supplier with his final roles and access
rights on the marketplace.
3.3 Authentication Management
JAZN, the Oracle implementation of JAAS (Java Au-
thentication Authorisation Service) is used for au-
thentication management. JAAS allows services to
authenticate users and to grant them with access con-
trol permissions. Users should authenticate before
having access to the application’s pages. Access to
the page is given if the user correctly authenticates
and only if his role gives him the sufficient permis-
sion.
Access to the application is based on five roles:
USER: all the users identified by the application.
SUPPLIER: the suppliers that register on the appli-
cation. They get this role at the end of the first
phase. It allows access to the private supplier
space.
BUYER: the simple buyers of the company.
MANAGER: the managers of the company.
RFP: the users that have access to the marketplace.
All the managers and buyers have this role. The
suppliers get this role at the end of the second
phase.
Figure 5 presents the user authentication procedure
for the applications pages.
Figure 5: Authentication architecture.
3.4 Creation of the User Interface
The application is divided in 2 main pages:
The buyer space (for buyers or managers): from
this page, the user can view the tasks he has to
do an action on. The ”Show tasks” button on this
page lets the buyer or manager see the details of
his tasks. This gives him access to the task appli-
cation available with BPEL PM. This application
allows him to accept or reject the registrations of
suppliers.
The supplier space: from this page, the supplier
can consult his file directory and access the Con-
tentDB interface to add documents.
figure 6 is a screenshot of the manager space for user
jstein.
Figure 6: Manager space.
A PRACTICAL APPLICATION OF SOA - A Collaborative Marketplace
335
4 EXPERIMENTAL FEEDBACK
This project is a typical SOA project because of its
constraints both in terms of software and hardware.
The software constraints were explicitly expressed:
for example, the integration of the open source Com-
piere ERP and of the Oracle ERP E-Business Suite.
The reason for this choice was to illustrate the integra-
tion of heterogeneous legacy applications in the infor-
mation system. The hardware constraint was implied
by what was available to implement the marketplace.
The second aspect that appeared difficult was the
establishment of the project planning. The hardware
constraints - the dates of delivery of the computers
and virtual machines - forced us to reorganize the ac-
tivities and to modify the priorities on the project. To
do this, three priority levels were defined:
Level 1 - high priority: the modules that had to be
implemented.
Level 2 - medium priority: the modules that
seemed required at first but that were not needed
for the marketplace to be operational.
Level 3 - low priority: modules that were not
required but that could be interesting to be inte-
grated.
5 CONCLUSIONS
With the rapid development of Internet technol-
ogy nowadays, B2B e-commerce and collaborative
e-marketplace become quickly growing preoccupa-
tions. Enterprises that solely rely on their own busi-
ness information system, are unable to meet the
rapidly changing business needs, resulting from cor-
porate merger acquisitions and hard competition. En-
terprises must be able to quickly adapt to constantly
changing market needs by providing efficient solu-
tions for information systems integration. This allows
for suppliers and partners to collaborate through the
network with greater efficiency. In order to ensure
flexible operations, companies tend to build their IT
systems in accordance with the SOA paradigm and
take advantage of the Web and Semantic Web tech-
nologies. SOA, including the protocols and standards,
thus defines a new distributed scheme on the Web.
The goal of SOA is to provide a common technol-
ogy layer, which is independent from languages and
platforms. The applications of different platforms
need this technology layer to connect and integrate
with each other. SOA seems to be the right technical
infrastructure to design future collaborative market-
place. In this paper we have discussed, on a practical
example, how SOA can be used to support a collab-
orative e-marketplace composed of a mainly Oracle
based software architecture, but also integrating an
open source ERP. Our architecture and approach is of
course not specific to Oracle systems and ERPs, but
can easily be adapted to other very different environ-
ments and software systems.
REFERENCES
Chen, Q. and Hsu, M. (2000). Inter-enterprise collaborative
business process management. Technical report, HP
Lab.
Erl, T. (2007). SOA Principles of Service Design (The Pren-
tice Hall Service-Oriented Computing Series from
Thomas Erl). Prentice Hall PTR, Upper Saddle River,
NJ, USA.
Fiammante, M. (2009). Dynamic SOA and BPM: Best
Practices for Business Process Management and SOA
Agility. IBM Press.
Guo, J. (2007). Business interoperability on e-marketplace.
In CONFENIS (1), pages 257–267.
Leebaert, D., editor (1999). The Future of the Electronic
Marketplace. MIT Press, Cambridge, MA, USA.
Liu, C., Li, Q., and Zha, X. (2009). Challenges and opportu-
nities in collaborative business process management:
Overview of recent advances and introduction to the
special issue. In Information Systems Frontiers, vol-
ume 11(3), pages 201–209.
Sadiq, S. W., Reichert, M., and Schulz, K. (2006). Tech-
nologies for collaborative business process manage-
ment. In Proceedings of the 1st International Work-
shop on Technologies for Collaborative Business Pro-
cess Management, TCoB 2006, Paphos, Cyprus. IN-
STICC Press.
ICEIS 2010 - 12th International Conference on Enterprise Information Systems
336