functionalities. In (Benguria et al., 2006) a
metamodel is defined in order to design SOA
models. This metamodel has been recently proposed
as an OMG standard as response to the UML Profile
and Metamodel for Services (UPMS) Request For
Proposal (RFP) (UML Profile and Metamodel for
Services, 2006). This metamodel called PIM4SOA
(Platform Independent Model for Service Oriented
Architectures) represents the Platform Independent
Model (PIM) level in the Model Driven Architecture
promoted by the Object Management Group (OMG).
PIM4SOA metamodel is structured in 4 metamodels
interrelated which are described deeply in (Benguria
et al., 2006).
UML™ Profile for Modeling Quality of Service
and Fault Tolerance Characteristics and Mechanisms
specification is used for describing and specifying
security policies. In fact, the QoS metamodel
described in this specification represents the
metamodel that we are going to use as basis. QoS
metamodel can be used to model “non functional
aspects like: latency, throughput, capacity,
scalability, availability, reliability, safety,
confidentiality, integrity,[...].”.
Figure 1: QoS enhanced metamodel.
3 METHOD ENGINEERING
SUPPORT
Based on (Larrucea, 2008) we have adopted a
method engineering approach for designing a
methodology supporting our approach. We have
defined a set of method fragments representing
building blocks for methodology definition. In our
work we have been focused on task definition but
they are other method fragment to consider such as
roles and guidelines.
Previous sections are focused on the mechanisms
such as metamodels for modelling security policies.
The main purpose of this section is to provide some
guidelines for modeling and deploying security
policies.
In fact we have identified some tasks and work
products as a basis for these guidelines. These
method fragments are categorized by the metamodel
aspects described on section 2:
Services
• Identify services in your software architecture:
we need to identify which part of the
architecture is accessed as a service
• Identify services publicly available or consumed
by third parties. This kind of services are called
critical services
• Relate services among them as consumer-
provider relationship
Processes
• Identify flows between services in your
software architecture: we need to identify which
are the enacted processes that will be executed
• Identify public flows: there are some flows that
are followed by consumer and users.
• Identify private flows: flows controlled and not
accessed by third parties or external users
Information
• Identify Information exchanged in your
software architecture
• Identify public Information: we define work
products according to this public information
• Identify private Information: we define work
products according to this private information
QoS
• Define QoSCategories: this element classifies
kind of characteristics
• Define QoSCharacteristics: this element
represents a security element and it is associated
to a service.
• Relate critical services with QoSCharacteristics
• Assign values to QoSCharacteristics
• Define Integrity for each critical service
• Define Confidentiality for each critical service
• Define Availability for each critical service
All tasks should be analysed from the following
point of view because security mechanism is based
on messages exchanged between services:
• At Service level
• At Endpoint level
• At Operation level
• At Message level
WEBIST 2009 - 5th International Conference on Web Information Systems and Technologies
412