Tudo está onde deve estar e vai para onde deve ir: o lugar assinalado por uma Sabedoria que (os Céus sejam louvados) não é a nossa!
/ This post is bilingual: Portuguese (Portugal) and English (U.S.) /
Everything is where it should be and goes where it should go: a place signaled by a Wisdom that (Heaven be praised) is not ours!
2007-03-21
2007-03-12
In software development, "think global, act local"
"Think global, act local" is a management motto for multinational corporations used very often in the 1980s.
One of these days I was explaining some students how to start working on a project and I told them this sentence.
The logic is: you have to think about the project as a whole taking all requirements into account - hence, "think global" - but when developing, you must break up the large problem in smaller problems and they work on each one, one at a time, testing and consolidating - "think local".
One of these days I was explaining some students how to start working on a project and I told them this sentence.
The logic is: you have to think about the project as a whole taking all requirements into account - hence, "think global" - but when developing, you must break up the large problem in smaller problems and they work on each one, one at a time, testing and consolidating - "think local".
2007-03-09
Schema management in Web Services
A Web Service is specified by a WSDL contract that defines types using XML Schema.
For basic services - like Hello World, Calculators, etc - it is sufficient to have a single, embedded schema in your contract.
However, for useful, real-world, services you need to take schema management into consideration, otherwise you end up with lots of replicated data structures. You should have, at least, the following indirection levels:
WSDL operations
depends on
XSD operations input and output
depends on
XSD domain entities
The domain entities should be shared in meta-data repository, to avoid uncontrolled replication.
For controlled replication, you can use data catalogs, that work as a schema cache, not as a schema copy.
For basic services - like Hello World, Calculators, etc - it is sufficient to have a single, embedded schema in your contract.
However, for useful, real-world, services you need to take schema management into consideration, otherwise you end up with lots of replicated data structures. You should have, at least, the following indirection levels:
WSDL operations
depends on
XSD operations input and output
depends on
XSD domain entities
The domain entities should be shared in meta-data repository, to avoid uncontrolled replication.
For controlled replication, you can use data catalogs, that work as a schema cache, not as a schema copy.
2007-03-05
Message Queues in 1 minute
Message queues are a communications model between multiple parties: one-to-one, one-to-many or many-to-many.
A queue is a first-in first-out data structure.
Message brokers are servers that assure the following properties for messages: they don't get lost; they are persistent; they are delivered in order.
Message queues enable asynchronous communication, because the sender doesn't have to wait for the receiver, as they connect to each other through the message brokers.
A queue is a first-in first-out data structure.
Message brokers are servers that assure the following properties for messages: they don't get lost; they are persistent; they are delivered in order.
Message queues enable asynchronous communication, because the sender doesn't have to wait for the receiver, as they connect to each other through the message brokers.