Enterprise databases support for products development using Open Source Software.
Rosu, Marius Sebastian ; Guran, Marius ; Rosu, Luminita 等
Abstract: Today, in the enterprises, an important problem is the
software acquisition cost. In many cases the companies take different
software product and after that they observe than these products become
unnecessary in short time. A solution is Open Source Software usage
because these products could be taken for free (e.g. Internet download),
tested, modified, improved and redistributed. This paper presents an
example of this software products implementation at the enterprise
level. Key words: enterprise database, middleware, opens source
software, object-relational database
1. INTRODUCTION
In the 21st century, the enterprises continuous implement IT
strategies & architectures to improve manufacture, research,
products quality, sales, and services and to control costs. All
enterprises have now a local area network, an intranet or/and Internet,
servers and workstations for operations, administration and management
working together for the same objective: profits. As a result of a new
product development paradigm, there is a greater need for software tools
to effectively support the formal representation, collect and exchange
of product information during the product development stage (Dragoi et
al., 2005). The enterprise could obtain many important dates and
information's requested to be know in the products development
process as well as another specifics enterprise internal and external
processes (see figure 1) (Dragoi, 2003) unless employees used different
(specialized) updated database as well as: Materials Database for
materials, raw materials and equipment structured by producers for
Technical & Manufacturing Department, Material Supply and Commercial
Departments, Codes, Standards & Technical Specifications Database
for all applicable technical documentations, Laws in Force Database for
Legal Department and Management Team, Competitors Product Database for
Marketing and Research Development Departments, Employees Database for
Human Resources Department and Management Team, etc.
[FIGURE 1 OMITTED]
2. THE DATABASE AND USER INTERFACE
A database is a structured data files system. To add, access and
process database information's it is requested a database
administration system (e.g. Oracle, MySQL, PostgreSQL, Interbase).
PostgreSQL is an object-relational database management system developed
at the University of California at Berkeley Computer Science Department
(download from www.postgresql.org). PostgreSQL uses client/server
architecture. A PostgreSQL session consists of the following
co-operating processes (Darie et al., 2006):
* A server process, which manages the database files, accepts
connections to the database from client applications, and performs
actions on the database on behalf of the clients.
* The user's client applications that want to perform database
operations. Client applications can be much diversified: a client could
be a text-oriented tool, a graphical application, a web server that
accessed the database to display web pages or a specialized database
maintenance tool.
PostgreSQL use the SQL language (Structured Querry Language, the
most prevalent standardized language for database interrogation). SQL
standard language is very accessible in the Linux medium because this
language has a simple interface. SQL language under PostgreSQL accept
SQL instructions such as create, erase from database, create, modifiy
and erase from tables, modify, insert and erase of recordings,
recordings selection from different table and different base from
database.
All PostgreSQL features are supported by graphical interface of
PgAdmin III (see PostgreSQL Table Company in figure 2), interface who
makes administration to be very easy. PgAdmin III (download from
www.pgadmin.org) is Free Software under the Artistic License (approved
by OSI) and is designed to satisfy all users' requirements, from
simple SQL queries writing to complex databases developing.
[FIGURE 2 OMITTED]
The user interfaces are indicating to be simple to use, friendly,
attractive, without many graphical pictures or animations because that
could make loading operation to be slower. For the forms can be used
different languages as HTML (HyperText Markup Language), CSS (Cascading
Style Sheets) or JavaScript. Easy to be used is HTML because this
language can be edited in any text editor software and integrated the
PHP script. The most used HTML editors are Notepad for Windows and Pico
for Linux. HTML is one of first WWW (World Wide Web) fundamental
elements and describe primary format in which documents are distributed
and visualized on the Web. Between his advantages we specify the
platform independence, hypertext links and documents conformation. HTML
documents are ASCII Format documents and can be created with any texts
editor. HiperText means that any word, phrase, picture or any document
element seen by user can make reference to another document. This
property facilitates navigation between multiple documents or same kind
internal documents. The strict documents structure admits their
conversion from a format in another as well as databases formed by these
query.
3. MIDDLEWARE
After database finalized, the follow step is data introduction and
visualization. Generally, there are different employees who make these
operations. Few employees introduce data in the database and for
visualization there is one or many person from each department of the
enterprise who can see the data from database according to assigned
roles of the database manager. But, for these operations is needed a
language whom can translate the browser request, to process these
request, to interact with another software on server for requests
satisfy and to server indicate exactly which need to send back to users
browser. These languages, which work with the server and can execute
these, are middleware. In the middleware languages class we have ASP,
Perl, PHP and ColdFusion. PHP (Hypertext Preprocessor) program is Open
Source (download from www.php.net), server-side, web scripting software.
You can use, modify and redistribute free this product. To work with PHP
a HTTP (HyperText Transport Protocol) server for application rolling is
needed (see figure 3).
[FIGURE 3 OMITTED]
Our choice was Apache (download from httpd.apache.org) for the
flexibility, portability, safety and extensibility. Apache has Apache
Software License. This license is similar with BSD License but is
forbidden to put the name Apache in derived products without Apache
Software Foundation accord (www.opensource.com). It was used PHP and
Apache for Linux. PHP is a scripting language specialized for
application developing through code integration in the HTML document.
PHP syntax derived from C, Java and Perl. The difference between PHP and
other similar products, such as JavaScript is that PHP works on the
server when JavaScript works on the user computer. In figure 4 is
presented an example of the dates introducing in the company table using
PHP language.
4. CONCLUSION
We describe here few Open Source Software products and an
implementation method. Database developing using these method request an
application server and a database server. It is very well that the
management team knows from the beginning the (human and material) costs
implied during the project. Must be known than open source products
aren't in all cases better then commercial software. There are Open
Source software solutions that excel any commercial alternative as
performance, but there are also inferior Open Source solutions to
similar commercial ones. Generally, to realize and to implement a
database project are requisite a period within few months and few years.
Certainly, in the actual market the price makes the rules. Enterprise
software solution is determined by shrift, medium or long-term
calculation. Decision can be taken as a consequence of a comparative
analysis. In the future, we intend to study the databases implementation
methods with different open source software in order to optimize the
hardware equipment requirements for these solutions, as well as other
applications which can be developed with these products.
5. REFERENCES
Dragoi, G., Cotet, C. E., Patrascu, G., Rosu, L., Rosu, S. M.,
Internet/Intranet/Extranet-based systems for virtual product development
environment in the CESICED platform, in the Proceedings of the 8th
Conference on Management of Innovative Technologies (MIT'2005),
24th --26th September 2005, pp. 67-72, ISBN 961-6238-96-5, Fiesa--Piran,
Slovenia.
Dragoi, G., Intreprinderea integrata: metode, modele, tehnici si
instrumente moderne de dezvoltare si realizare a produselor, (Integrated
enterprise: methods, models, modern techniques and instruments of
products development) Edited by POLITEHNICAPRESS, ISBN 973-8449-25-1,
Bucharest, 2003.
Darie, C., Balanescu, E., Bucica, M., Beginning PHP and PostgreSQL
E-Commerce: From Novice to Professional, ISBN 1-59059-648-x, Apress,
December 2006.
www.opensource.org
www.postgresql.org
Fig. 4. PHP language
<?php
// Database connecting
$db=pg_pconnect
("host=... port=... user=... password=...
dbname=...");
if (!$db) {
print("Connection Failed.");
exit;
}
// Variable conversion
$company_name=$_POST
['company_name'] ;
... ... ...
$data=$_POST
['data'];
// Insert the information into the table company
$query = "INSERT INTO company VALUES
{'$company_name', ... '$data'); ";
// Company connecting
$result = pg_exec($db, $query);
if (!$result)
{
echo "No result set returned!";
exit;
}
$rows=pg_numrows($result);
if (!$rows = 0) {
echo "Add Failed.";
exit;
}
// Convert the variables from HTTP request parameters
$query = "SELECT * FORM company WHERE \"company_name\"
'$company_name';";
$result = pg_exec($dbr $query);
$row = pg_fetch_row($result, 0) ;
$company_nameResult = $row[0] ;
... ...
$dataResult = $row[10];
echo "Company name: = $company_nameResult<BR>";
... ...
echo "Others information: [bar] $dataResult<BR>";
pg_close();
?>