Category: Engineering

Information Systems – Digital Marketing

Information Systems – Digital Marketing

The digital marking is the activity to conceive a product or a service and sell it to a customer, for profit.


The marketing can be:

  • product oriented
  • sale oriented
  • market oriented

The activities involved are:

  • communication: provide information about a product or a service.
  • analysis: collect and analyze data.
  • concept: design new product or service.

The possible channels are:

  • word of mouth
  • press
  • media: radio, tv, telephone.


New possible channels are:

  • websites
  • e-mails
  • social media

One possible issue to apply the marketing is the choice of the right strategy. So, we can follow a pattern: the four P (4P). They are:

  1. Place (e.g. internet)
  2. Price (e.g. transparent)
  3. Product (e.g. valuable, compliant)
  4. Promotion (e.g. via a combination of possible media)


Now, let use focus more on how to gain advantage of this new possible channels. and how to do not commit errors.

The website, for example, has to provide usability and accessibility. Possible errors are:

  1. the usage of pdf files to explain something,
  2. not resizable website,
  3. no design conventions,
  4. open new browser windows,
  5. do not give price information.

To boost even more the marketing the website has to be visible and accessible easiliy. Here, for this reason, comes into the discussione the search engine optimization (SEO). Some advice to follow are:

  • focus on relevant keyword, better if uniques, to promote your product
  • use tools already available to analyze your situation. Example are:
    • Google Keyword Planner
    • Yahoo Advertising
    • Bing Keyword


Digital marketing is part of the process to sell something (product or service), and has to give support to the more general corporate business strategy.

Artificial Intelligence –
Semantic Networks

Artificial Intelligence –
Semantic Networks

semantic network (or frame network) is a network that  represents semantic relations between concepts.

They had been designed to represent the meaning of words in natural languages. The information is represented as a set of connected nodes, with labels along the edges showing relations among nodes.

They are strictly linked with the logic of the predicates: in fact, the relations in the logic of the predicated are now represented with states.

Inheritance Algorithm I (in pseudo-code)

This algorithm is used to get the value V of an attribute A of an examplar of O.

  1. Search for Object O in the knowledge base.
  2. If O has an attribute A, get the value V!
  3. Else
    1. if O has not an attribute A type exemplar-of: end with fail.
  4. Else move to the node with value associated to examplar-of attribute and go to point 2.
Problem of this algorithm
  • It’s possible to have more than one solution.
  • It is not possible detect ambiguity of the representation.

Inheritance Algorithm II (in pseudo-code)

To reach this algorithm a new concept has been introduced: the inferential distance. It has been defined by Touretzky (1986) in this way:

“Class 1 is nearer to Class 2 with respect to Class 3 if Class 1 has a inferential path that ends to Class 3 moving across Class 2”.

To get the value V for an object O for an examplar E:

  1. Put CANDIDATES as empty.
  2. Execute a breadth-first search or depth-first search starting from E, towards the top, following all the edges examplar-of and isa. At each step of the process we look at the value
    1. if the value is there, we can add it to CANDIDATES.
    2. otherwise if there are edges available follow and go point 2.1
    3. otherwise: end the edge.
  3. For each element X of CANDIDATES we look at the inferential distance of X and compare this with the others to find a nearer X2.
    1. if found some lower inferential distance value, remove C.
  4. We check the length of CANDIDATES
    1. if 0: no value found.
    2. if 1: show the value.
    3. if >1: there is a contradiction.
Computer System Security – SAML

Computer System Security – SAML

SAML is a policy-based standard that uses XML syntax, developed by OASIS, used to make and require assertions about objects. It is normally used in a distributed multi-domain environment to simplify interactions, in order to grant or request access to some resource.


SAML has several versions:

  • 1.0 (2002)
  • 1.1 (2003)
  • 2.0 (2005)

The version 1.1 provides:
– the message protection with digital signature XML (XML-dsig),
– the browser /artifact profile (token SAML by reference),
– the browser /POST profile (token SAML by value).

The version 2.0 provides:
– no backward compatibility
– maintained message protection with digital signature XML (XML-dsig),
– message encryption (XML-enc): encrypt identifiers, attributes, assertions,
– new transport protocols
– new bindings protocols
– new profiles


Let us see this scenario:

1- A user wants to use a service, provided by a certain Service Provider (SP).
2- Before to access the service an authentication is required and the user decides to authenticate on behalf of a third-party web-site, which represent the Identity Provider (IdP).
3- The user authenticates himself/herself at the IdP, and the IdP releases an assertion for the SP, using a token, saying that the user authenticated successfully.

+ SAML is used to authenticate the user
+ SAML is used to transport the assertion


Let us see this scenario:

1- A user wants to access a resources.
2- A Policy Enforcement Point (PEP) protects this resource and asks the Policy Decision Point (PDP) to grant or negate the access.
3- The PDP response, which is the authorization assertion, is transported using a SAML assertion, with message protection through digital signature (XML-dsig).


Let us see this scenario:

1- A user wants to purchase an item, at a certain vendor web-site.
2- The user asks to an authority, which is known at both parties, to perform authentication and authorization for the purchase, but not always (see 3-)
3- The authority has the purpose to release SAML assertions, and it works not much to perform authentication (the user can be anonymous for the purchase) but better than to perform authorization.


The assertion is:

  • what? a declaration,
  • about what? a fact/resource,
  • for who? a subject.

The types of an assertion are:

  • authentication
  • attributes
  • authorization decision


  1. The SAML assertion is extensible because inherit this capacity from XML.
  2. The SAML assertion contains:
    1. the issuer identifier
    2. the timestamp of the creation (data and time)
    3. the assertion identifier
    4. the subject (name and domain)
    5. some condition under which it is valid
    6. the validity period
    7. some additional information


// To-Do


Tipically, to transport an assertion a protocol element of SAML is used. Let us focus on two types of assertions to distinguish the different role of the protocol element.

If the assertion is of of type response, then the protocol element contains the assertion itself.

If the assertion is of type request, the Relying Party (the consumer) asks for a request to the Asserting Party (the producer). This last one finally releases and send back the assertion for the Relying Party.

Relying Party -> Asserting Party: send the request,
Asserting Party -> Replying Party: reply with response.


To establish a trust relationship it is possible to:

1- adopt direct trust, using push or pull ticket, and a SSL/TLS secure channel;
2- adopt trust through public or shared key, for indirect ticket.


SAML Binding is the set of rules that defines what to transport and how.

In the version 1.0 there was SAML/SOAP-over-HTTP.
In the version 2.0 there is:

  • SAML SOAP binding, for backward compatibility.
  • Reverse SOAP (PAOS) binding.
  • HTTP redirect (GET) binding.
  • HTTP artifact biding.
  • SAML URI binding.

The most used are those HTTP-driven.


A profile defines specifically what exactly has to be done. Possible values are:

  • web browser profile
  • soap profile