EFITA/WCCA 2005 25-28 July 2005, Vila Real, Portugal
2005 EFITA/WCCA JOINT CONGRESS ON IT IN AGRICULTURE
A Service Oriented Information System to Manage Bromelia Distributed Database
P.L.P. Corrêa a, T.T. Nagamine
b, V. H. Suzuki
c, R. G. Guimarães
d
and M. Carvalhaes e
a Escola Politécnica da Universidade de São Paulo (EPUSP), 05508-900 São Paulo, Brasil, [email protected]
b EPUSP, 05508-900 São Paulo, Brasil, [email protected]
c EPUSP, 05508-900 São Paulo, Brasil, [email protected]
d EPUSP, 05508-900 São Paulo, Brasil, [email protected]
e Escola Superior de Agricultura “Luiz de Queiroz” – Universidade de São Paulo, Piracicaba, Brasil, [email protected]
Abstract
The aim of this study is to propose a Service Oriented Architecture to a Biodiversity Information System,
using a study case of system that manage distributed database of Bromelia. This architecture considers
security requirements in the access of different databases of Bromelia, which are owned by different
Institutions. The architecture considers too international standards of Distributed System and Biodiversity
System, such as: Web Services [1] that provide the infrastructure of service; the DiGIR (Distributed
Generic Retrieval) [2] that is a tool to share biodiversity databases; and the ABCD [3] that provide a
standard of information used to catalogue the Biodiversity Data.
Key words: Biodiversity Information System, Web Services.
1 Introduction
Predatory extractives and deforestation put the Mata Atlântica (Brazilian forest) in the fifths of the Hot
Spots, an area which contains biodiversity that needs priority action, with only 7,3 % of remaining area
[4].
This panorama can be reverted, but it is necessary an efficient politic of preservation and of use of the
resources; an efficient system of supervision and a diffusion of technical-scientific knowledge.
So, it is urge to exchange technical-scientific information and researches that analyse the real situation of
the question and then, politics related to this area can be more efficient and reliable formulated.
It is expected that the development of an information system contributes to exchange and discussion
information about bromelia, which is a forest product with a rare beauty, that is at the same time, an agent
and a pointer of biodiversity that composes Mata Atlântica. [5].
However, Brazil being a country that has a lot of information of different species of bromelia, but can not
provide all of data freely, because some of them could allow the bio-piracy, needing a security system
that puts some limits in the use of the information.
So, It is necessary that each source of bromelia Information could share your database, combined with a
security system that allows the author to put some rules and limits in the access of the restrict information.
This research has the objective of study and the validation of a web system architecture in order to
manage the information of bromelia, with the follow characteristics:
504
EFITA/WCCA 2005 25-28 July 2005, Vila Real, Portugal
2005 EFITA/WCCA JOINT CONGRESS ON IT IN AGRICULTURE
- Adoption of the international standard to catalogue and integrate biodiversity information;
- The authentication and authorization to access services and available information based on web services
architecture.
The sections of this paper attempts to characterize the problem and requirements of access biodiversity
distributed systems, then present an architecture that incorporates the aforementioned requirements, and
after presents a case study of an implementation of this architecture. At the end, the results obtained with
the implementation, and the conclusions about this work are presented.
2 Related works
2.1 Biodiversity distributed database access
Nowadays, aiming the biodiversity data sharing, DiGIR (Distributed Generic Information Retrieval) [2] is
the most important tool used to share biodiversity data, defining a set of standard information and services
to be shared among different databases. But DiGIR lack of security mechanisms to access database
information makes it unsafe and restricted.
Taking these points into account, a study of distributed security architectures based on Web Services [1]
will be developed, in order to integrate the biodiversity system to DiGIR and implement a prototype
based on the models previously studied.
The motivation directly associated with the development of DiGIR project is the avoidance of multiple
system creation, which could have inconsistent connections. What is highly recommended, aiming the
combination of different study fronts in a common project, is the conception of a specialized community
that could solve the vast majority of problems related to the distributed database integration.
To illustrate this point, the system main targets can be established:
- Definition of a consulting protocol to access different databases using the Internet;
- System implementation considering a Provider and a Portal Engine, which could use the protocol,
previously developed.
DiGIR architecture has 4 important elements to be defined: User’s Interface, Protocol, Portal Engine and
Provider.
In a general view, the Provider services are kept in the Registry, which stores the localization of other
Providers. The Portal Engine is responsible for accessing the Registry and discovering the available
Providers. The users, with their final interface, can make any kind of consultation using the Portal Engine,
which verifies the consultation required by the user in a specific Provider. The Provider itself sends the
requested information to the Portal Engine, which redirects it to the Interface.
The specific protocol used between Provider – Portal and Portal – Interfaces defines patterns for
requested and sent messages: Metadata, Search and Inventory. Although such messages are not affected
by the data structure transferred, the Providers must be configured according to the “federation schema”.
2.2 International data patterns for species inventory (ABCD & DarwinCore)
The international pattern ABCD (Access to Biological Collection data) [3] is developed by TDWG
(International Working Group on Taxonomic Databases) taxonomists. This global organization aims the
international integration of patterned taxonomic biodiversity database.
The ABCD, thanks to its world-wide range, consists of a general set of information for inventorying
distinct biodiversity species in a patterned way.
505
EFITA/WCCA 2005 25-28 July 2005, Vila Real, Portugal
2005 EFITA/WCCA JOINT CONGRESS ON IT IN AGRICULTURE
The representation adopted by the ABCD is a XML (Extended Markup Language) language schema,
which allows a greater integration among distinct systems. Considering the fact that XML is accepted by
different computer platforms, the ABCD becomes a representation portable and easily understandable.
DarwinCore [14] is a set of information commonly found among the vast majority of biodiversity
collections. Such pattern assumes that just the essential information of each specie should be stored.
Consequently, DarwinCore presents and specify these pieces of information creating a minimum set of
records, which are sporadically consulted by the main system. All DarwinCore pattern fields have an
equivalent one at the ABCD, due to the large number of characteristics considered by this last one.
This research adopted the ABCD pattern to represent the bromelia data, because this schema can
represent all the information collected by biologist researchers. So database was projected based on the
ABCD pattern, mapping the information described in XML. Moreover, new entities were added,
considering the fact that some crucial information wasn’t present at the original ABCD schema.
The entities added during this research and their respective functions are:
- Use: describes the utilization of bromelia in the areas of medicine, ornamental and popular;
- EcolgicDescription: describes the bromelia ecologic information;
- MorphologicDescription: describes the bromelia morphologic information, for instance the size and
shape of flowers and leaves.
- FlorestaDeCaixeta: has specific information of bromelia collected at Caixeta Forest, adapting such
information to the ABCD pattern, making possible the research of data like exact place of collection.
3 System architecture of the Bromelia System
The architecture design was based in the SOA (Service Oriented Architecture) [15]. The SOA is useful
since each part of the architecture (the portal and providers), in reality represents independent systems
that exposes services and is owned by different organizations, specially the providers. So the
authentication and authorization processes have a main role to exchange data between these bromelia
research organizations to compound isolated information into a more complex and interrelated
knowledge, in other words, meaningful information.
The architecture (see Figure 1) represents the services that exist in the bromelia system. It basically
consists of a bromelia portal where the user access the interfaces; the Map and Images Provider where the
repository of maps and images is located; the Bromelia Provider which is responsible of users
authentication and authorization; and the Bromelia Information that allows access to a specific bromelia
service requested by the user. Note that it can also make requests to others providers to receive related
information.
506
EFITA/WCCA 2005 25-28 July 2005, Vila Real, Portugal
2005 EFITA/WCCA JOINT CONGRESS ON IT IN AGRICULTURE
Fig.1 Services defined to the bromelia system
The Table 1 shows the layers and the functionality described in SOA architecture, and the parts in the
figure above that represent it.
Tab.1 SOA layers and functionality applied to bromelia system
Service Layer Functionality Represented in the Architecture by
Composite
Services
Coordination, Conformance and
Monitoring.
Service handling
Basic Services Capability, Interface, Behavior,
QoS, Publication, Discovery,
Selection and Binding.
Authentication, Authorization, Bromelia
Information, Map and Images Information, A1
information, Bromelia portal.
According to the Figure 1, the process starts with the Bromelia Portal making a request to the Bromelia
Provider (step 1). Before the provider retrieves the information requested by the portal through a service,
it must verify the authentication (step 2) and the authorization (step 3). Only after this the Bromelia
Provider allows the access to the bromelia information database.
However, if the service requested is about maps and images, the Bromelia Provider requests these
information to the Map and Images Provider (step M.1). As an independent module, owned by a different
research organization like the Bromelia Provider, it makes its own authentication and authorization (steps
M.2 and M.3) in order to send the information requested by the Bromelia Portal (step M.4).
An analogous process occurs if the Bromelia Provider needs information held by others providers
(represented by the providers A1 … An, steps A1.1 and An.1) to compound an information that the portal
requested to it (steps A1.2, A1.3, A1.4).
In the same way the Bromelia Provider requests information to other providers, which are authenticated
and authorized to access the bromelia information can have access to the Map and images provider, for
example, by accessing the service held by the bromelia provider, and the process to request the data to the
Map and Images Provider is transparent to the requestor provider.
507
EFITA/WCCA 2005 25-28 July 2005, Vila Real, Portugal
2005 EFITA/WCCA JOINT CONGRESS ON IT IN AGRICULTURE
Once the services are defined and
explained in the SOA architecture, the
next step is to model the Component
View of the architecture. This means to
aggregate services into components. The
Figure 2, in the left, represents it.
The service that handles the
communication among other providers
and the portal are now part of the
Coordinator Component.
The services of authentication and
authorization are grouped in a component
called Security.
The services related to the information are
grouped together like the Map and Images
component in the Map and Images
Provider. The same occurs with A0 data
and A1 data components that manage
specific bromelia service application.
Finally, the component Portal that is
responsible for all user interface
management.
Fig.2 Components view of the bromelia system.
By this way, the component view helps the implementation of the SOA architecture by defining services
related in a single component.
4 Implementation of the architecture: study case
A Bromelia Information System prototype was implemented to verify the functionality of the architecture
proposed (see Figure 3). This implementation uses the concepts of Object Oriented Programming (POO)
in JAVA programming language (SDK Java 2 Standard Edition, version 1.4.2). The portal interfaces were
implemented using Java Servlet Pages or JSP (see Figure 4), because they have a direct integration with
Java language, facilitating the construction of dynamic pages. All interfaces are connected with an initial
page, easing off the navigation process.
The database manager system PostgreSQL was used to implement the database. The finalized prototype
showed the correct relation between Portal and Provider, in order to validate the architecture based on the
Service Oriented Computation. The services implemented are:
- Portal;
- Security Operation: Coordinator and Operators for authorization and authentication;
- Service Operations: Service operator.
Between the Portal and the Services, there is a Coordinator (see Figure 5). Its role consists of intermediate
all operations occurring between the portal and the service operator, acting like a security manager. When
a user access the Portal, the coordinator, firstly, authenticates him, identifying which profile matches the
current user. Afterwards, when the user requests a specific application service, the coordinator verifies if
its profile has permission to access such process. In case of not being authorized, the coordinator sends a
reply message to the user denying its access. In case of having the permission it is sent a response with
the requested service.
508
EFITA/WCCA 2005 25-28 July 2005, Vila Real, Portugal
2005 EFITA/WCCA JOINT CONGRESS ON IT IN AGRICULTURE
Bromelia
PortalInterface
http web services
Map and Images Provider
web service
sweb
ser
vices
web services
Bromelia ProviderOf Institution A1
Bromelia ProviderOf Institution An
Bromelia ProviderOf Institution A0
web services ...
Fig.3 Distributed implementation
Fig.4 User Interfaces of the system
The user’s authentication information, such as login, password and place, are stored in directory
structures, using LDAP (Ldap, 2004) protocol to consult these datasets. Considering these set of
information, it is possible to recover the user’s profile in order to allow his service authorization later.
JNDI (Jndi, 2005) is used to communicate directly with the protocol LDAP.
When a service request is made, the coordinator uses the user’s profile to allow his authorization,
consulting an authorization table, which describes the services available for each specific profile. Such
table is part of a relational database.
509
EFITA/WCCA 2005 25-28 July 2005, Vila Real, Portugal
2005 EFITA/WCCA JOINT CONGRESS ON IT IN AGRICULTURE
Fig.5 Technologies used in the implementation
5 Conclusion
The use of a Bromelia Information System can not only contribute to species cataloguing, but also to
allow a major exchange of information among people involved in it, by eliminating redundant or
unnecessary information and by making a quicker research.
Based on the ABCD standard, a new line research can be proposed, so it can be used in future cataloguing
systems of another specie, contributing the exchange of information of Biodiversity.
An upgrade of the prototype mentioned can complement the system, like integrating this security system
with DiGIR systems, using a gateway between them.
This project is a step forward to a system which will allow collectors, producers, researchers and
politicians related to Biodiversity conservation to plan future projects that will reduce the environment
degradation, plus centralizing this information and making it available accordingly to the requirements of
each user group and researchers of the system (based on their profiles), and controlling the access to this
information so crucial.
6 Acknowledgments
Research for this paper was supported by FAPESP, Scholarship Number 04/01110-5 and 04/01111-1, at
Department of Computing Engineering and Digital System of Escola Politécnica da Universidade de São
Paulo.
Special tanks to Professor Antônio Mauro Saraiva and Master Student Marcelo S. de Jesus Ferreira.
7 References
[1] Stal, M., Web Services: Beyond Component-Based Computing. Communications of ACM, v. 45 n.10, p.71-76, october, 2002.
[2] Digir. (2005, May). DiGIR - Open source Project [Online]. Available at <http://digir.sourceforge.net>.
[3] ABCD. (2005, May). Access to Biological Collection Data: ABCD information [Online]. Available at
<http://www.bgbm.org/TDWG/CODATA/Schema/>.
[4] SOS Mata Atlântica. (2005, May) Parabólicas On-line. Online Magazine about social-environment issues [Online]. Available at
<http://www.socioambiental.org/website/parabolicas/edicoes/edicao40/reportag/pg10.htm>
510
EFITA/WCCA 2005 25-28 July 2005, Vila Real, Portugal
2005 EFITA/WCCA JOINT CONGRESS ON IT IN AGRICULTURE
[5] COFAN-NUNES, J.V. 2002. Bromelias. IN: Simões, L.L & Lino, C.F.(org.). Sustentável Mata Atlântica - A exploração de seus
recursos florestais. 213p. Editora SENAC São Paulo.
[6] GBIF Zorzetto R. Rede da vida. Pesquisa FAPESP. n.82, p.24-27, dezembro, 2002.
[7] JDK JAVA. (2005, May) Java Technology [Online]. Available at <http://java.sun.com/>
[8] JSP. (2004, May) Java Server Pages Technology [Online]. Available at <http://java.sun.com/products/jsp/>
[9] Tomcat. (2005, May) Apache Jakarta Tomcat Project [Online]. Available at <http://jakarta.apache.org/tomcat/>
[10] POSTGRESQL. (2005, May) PostgreSQL Project [Online]. Available at <http://www.postgresql.org/>
[11] LDAP. (2005, May) OpenLDAP - LDAP Implementation Project [Online]. Available at <http://www.openldap.org/>
[12] Axis.(2005, May) Apache Jakarta Tomcat Axis [Online]. Available at <http://ws.apache.org/axis>
[13]Jndi (2005, May) Java Naming Directory Interface [Online]. Available at
<http://java.sun.com/developer/technicalArticles/Programming/jndi/index.html>
[14] DARWINCORE (2005, May). Species Analyst – Darwin Core V2. Available at:
<http://tsadev.speciesanalyst.net/documentation/ow.asp?DarwinCoreV2>.
[15] Papazoglou, M.P. Georgakopoulos, D. - Communication of the ACM, v. 46, n. 10, p35-43, October 2003.
511