<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>ArchiSmith</title>
	<atom:link href="http://www.archismith.com/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.archismith.com</link>
	<description></description>
	<lastBuildDate>Mon, 29 Aug 2011 18:15:47 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.1.4</generator>
		<item>
		<title>Canonical Data Models</title>
		<link>http://www.archismith.com/canonical-data-models/</link>
		<comments>http://www.archismith.com/canonical-data-models/#comments</comments>
		<pubDate>Mon, 15 Aug 2011 14:46:51 +0000</pubDate>
		<dc:creator>The Archi Smith</dc:creator>
				<category><![CDATA[SOA]]></category>

		<guid isPermaLink="false">http://www.archismith.com/?p=490</guid>
		<description><![CDATA[Want to find out about canonical data models? Have a look at our presentation! Click the picture depicted below to view the presentation about canonical data models (flash required). Liked... <span class="meta-more"><a href="http://www.archismith.com/canonical-data-models/">Read more &#187;</a></span>]]></description>
			<content:encoded><![CDATA[<p>Want to find out about canonical data models? Have a look at our presentation! <span id="more-490"></span>Click the picture depicted below to view the presentation about canonical data models (flash required).</p>
<p><a href="http://www.archismith.com/wp-content/movies/CanonicalDataModels/player.html" target="_blank"><img src="http://www.archismith.com/wp-content/movies/CanonicalDataModels.png" width="600"></img></a></p>
<h3>Liked this presentation? Have a look at our SOA e-learning courses!</h3>
<table>
<tr>
<td><a href="http://www.archismith.com/shop/e-learning-building-canonical-data-model/"><img src="http://www.archismith.com/shop/images/71/frogelearning.jpg" width="90"></img></a></td>
<td>&nbsp;&nbsp;&nbsp;<b><a href="http://www.archismith.com/shop/e-learning-building-canonical-data-model/">E-learning Building the Canonical Data Model</a></b></td>
</tr>
<tr>
<td><a href="http://www.archismith.com/shop/e-learning-soa-overview/"><img src="http://www.archismith.com/shop/images/71/frogelearning.jpg" width="90"></img></a></td>
<td>&nbsp;&nbsp;&nbsp;<b><a href="http://www.archismith.com/shop/e-learning-soa-overview/">E-learning SOA Overview</a></b></td>
</tr>
<tr>
<td><a href="http://www.archismith.com/shop/e-learning-service-identification/"><img src="http://www.archismith.com/shop/images/71/frogelearning.jpg" width="90"></img></a></td>
<td>&nbsp;&nbsp;&nbsp;<b><a href="http://www.archismith.com/shop/e-learning-service-identification/">E-learning Service Identification</a></b></td>
</tr>
<tr>
<td><a href="http://www.archismith.com/shop/e-learning-service-specification-and-service-repositories/"><img src="http://www.archismith.com/shop/images/71/frogelearning.jpg" width="90"></img></a></td>
<td>&nbsp;&nbsp;&nbsp;<b><a href="http://www.archismith.com/shop/e-learning-service-specification-and-service-repositories/">E-learning Service Specification and Service Repositories</a></b></td>
</tr>
</table>
]]></content:encoded>
			<wfw:commentRss>http://www.archismith.com/canonical-data-models/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Defining the Service Notion based on the Ψ-theory (Language Action Perspective)</title>
		<link>http://www.archismith.com/defining-the-service-notion-based-on-the-%cf%88-theory-language-action-perspective/</link>
		<comments>http://www.archismith.com/defining-the-service-notion-based-on-the-%cf%88-theory-language-action-perspective/#comments</comments>
		<pubDate>Mon, 08 Aug 2011 19:57:20 +0000</pubDate>
		<dc:creator>The Archi Smith</dc:creator>
				<category><![CDATA[Enterprise Architecture]]></category>
		<category><![CDATA[SOA]]></category>

		<guid isPermaLink="false">http://www.archismith.com/?p=443</guid>
		<description><![CDATA[Economists and business scientists have been debating about this ‘service’ notion for more than two centuries (Gadrey, 2000). Often, the definitions in business literature limit the service notion to the... <span class="meta-more"><a href="http://www.archismith.com/defining-the-service-notion-based-on-the-%cf%88-theory-language-action-perspective/">Read more &#187;</a></span>]]></description>
			<content:encoded><![CDATA[<p><img src="http://www.archismith.com/wp-content/uploads/2011/08/psi-300x300.jpg" alt="" title="3D Silver Greek Letter Psi" width="200" class="alignnone size-medium wp-image-452" style="float:left;margin:3px"/></p>
<p>Economists and business scientists have been debating about this ‘service’ notion for more than two centuries (Gadrey, 2000). Often, the definitions in business literature limit the service notion to the delivery of immaterial goods. The adoption of the notion of ‘service’ by computer scientists and IT practitioners has been more recent. In both the business science field (Zeithaml et al., 1993; Gallouj and Weinstein, 1997; Hart, 1988; Goldstein et al., 2002) and the computer science field (OMG, 2006; OASIS, 2006a; The Open Group, 2006; W3C, 2006b) a service is regarded as an interaction between a requesting party (often called consumer or customer) and an offering party (often called provider or supplier). The offering party is able to produce a certain value that is requested by the other party. But even with this common notion a precise definition and mutual understanding of the term service is missing. Let us have a look at the definition given by the Open Group (The Open Group, 2006). It says that a service:</p>
<ul>
<li>is a logical representation of a repeatable business activity that has a specified outcome (e.g., check customer credit; provide weather data, consolidate drilling reports),</li>
<li>is self-contained,</li>
<li>may be composed of other services, and</li>
<li>is a ‘black-box’ to consumers of the service.</li>
</ul>
<p>This definition is as vague as the other definitions mentioned above and one could discuss every single statement of the definition. E.g., what is a business activity? The Open Group mentions ‘check customer credit’ or ‘provide weather data’ as business activities, but are these really business activities or are they only computational acts? What about a business activity concerning the ‘manufacturing of a car’? Such a business activity has a completely different granularity as the ones mentioned in the definition. What is self-contained?<br />
If a service is composed of other services is it still self-contained? What is precisely meant by a black-box when a service is also defined to be an activity? What about communication activities e.g., to call the service or to accept/reject the requested result?</p>
<p>We start this article with further explaining the Ψ-theory. Subsequently, we provide our service definition and six different types of services. After that we present our conclusions.</p>
<p><strong>The Ψ-theory</strong></p>
<p>The Ψ-theory (Dietz, 2006b) finds its roots in the scientific fields of Language Philosophy, in particular the Language Action Perspective (LAP) (Flores and Ludlow, 1980; Goldkuhl and Lyytinen, 1982), and in Systemic Ontology (Bunge, 1979). It focuses on the use of language to achieve agreement and mutual understanding (Weigand, 2003). By applying the Ψ-theory one can disentangle the essential knowledge of the construction and the operation of the organization of an enterprise, by which we mean a commercial or nonprofit company as well as a network of enterprises. This essential enterprise model is called the ontological model. The theory consists of several axioms and one theorem. In this section we give a short summary of the Ψ-theory. A complete overview of the theory is available in the book (Dietz, 2006b) and the papers (Dietz and Hoogervorst, 2008; Dietz and Albani, 2005; Dietz, 2006a; Dietz and Hoogervorst, 2007).</p>
<p><strong>The Operation Axiom</strong></p>
<p>The first axiom, the operation axiom, focuses on the different types of acts that actors in organizations (people, also called subjects) perform and the results of these acts. It states the following (Dietz, 2006b):</p>
<p><em>Axiom 1. Actors perform two kinds of acts: production acts and coordination acts. These acts have definite results: production facts and coordination facts respectively. By performing production acts, actors contribute to bringing about the function of the organization. By performing coordination acts, actors enter into and comply with commitments regarding production acts. An actor is a subject fulfilling an actor role. Actor roles are elementary chunks of authority and responsibility.<br />
</em></p>
<p>What are these so-called production and coordination acts the axiom speaks about? And why do we need to distinguish between them? First, let us look at the production acts. Production acts are acts that deal with the delivery of material or immaterial goods by actors to their environment. Their results are production facts. Examples of production acts dealing with material goods are manufacturing and transporting. Their corresponding production facts are ‘Product P has been manufactured’ and ‘Product P has been transported’. For immaterial goods, examples are deciding and judging. Their corresponding production facts are ‘Decision D has been made’ and ‘Judgment J has been made’. Coordination acts serve a totally different purpose than production acts, though they are executed by the same actors. They do not directly contribute to the production of goods, but they coordinate the execution of production acts. An example of a coordination act and its corresponding fact is the request for manufacturing a product and ‘The production fact “Product P has been manufactured” has been requested’. In the next paragraph we will see that the different types of coordination acts form a limitative list.</p>
<p><strong>The Transaction Axiom</strong></p>
<p>The second axiom, the transaction axiom, further looks into the coordination acts. It states the following (Dietz, 2006b): </p>
<p><em>Axiom 2. Coordination acts and production acts always occur in particular patterns. These patterns are paths through one universal pattern, called transaction. The result of carrying through a transaction is the creation of a production fact.<br />
</em></p>
<p>A transaction evolves in three phases, the order phase (O-phase), the execution phase (E-phase) and the result phase (R-phase), see Figure 1. Two actor roles are involved in such a transaction, the initiator, who starts and completes the transaction, and the executor, who performs the production act. In the order phase the initiator and the executor try to reach agreement about the intended result of the transaction, i.e., the production fact that the executor is going to create as well as the intended time of creation. In the execution phase this product is created by the executor, and in the result phase both actors try to reach agreement about the fact that has been produced. The so-called basic transaction pattern consists of the request, promise, state, and accept coordination acts. An example of this basic pattern looks as follows.</p>
<p>1. person A requests person B to manufacture a car<br />
2. person B promises person A to manufacture a car<br />
3. &#8211;actual delivery of the manufactured car&#8211;<br />
4. person B states to person A that he has manufactured a car<br />
5. person A accepts from person B that he has manufactured a car (the car conforms to his expectations)</p>
<p><center><img src="http://www.archismith.com/wp-content/uploads/2011/08/demo_transactionaxiom-300x272.jpg" alt="" title="demo_transactionaxiom" width="300" height="272" class="alignnone size-medium wp-image-448" /></center><br />
Figure 1: Standard transaction pattern</p>
<p>Transactions will conform to this basic transaction pattern in a happy scenario, i.e. everything goes as it should go. However, in reality the initiator and executor may dissent in two of the states; (i) the requested state and (ii) the stated state. In the first case, the executor may (instead of promising) respond to a request by declining it. In the second case, the initiator may (instead of accepting) respond to a statement by rejecting it. By allowing these acts, a transaction can end up in a discussion state. Dietz describes that in this situation the two actors must sit together, discuss the situation at hand, and negotiate about how to get out of it. When the basic pattern is expanded with these two dissent patterns, we get the standard transaction pattern. The standard transaction pattern is the pattern already introduced in Figure 1. The complete transaction pattern is constituted by the standard pattern and four cancellation patterns. Cancellation patterns concern the revocation of a request act, promise act, state act, or accept act.</p>
<p><strong>The Distinction Axiom</strong></p>
<p>The third axiom, the distinction axiom, is concerned with the different abilities of a human being that are involved in the activities they perform. The axiom states the following (Dietz, 2006b):</p>
<p><em>Axiom 3. Three distinct human abilities play a role in the performance of coordination acts and production acts: the forma, informa and performa abilities.<br />
</em></p>
<p>How are these human abilities relevant for coordination acts on the one hand and production acts on the other hand? The forma ability deals with the form aspects of communication and information. Applying this to coordination acts, this means actors should have a way to utter and perceive information. Information should be expressed in a particular language or code scheme that both the initiator and the executor of a transaction understand. This is also known as syntactic (or significational) understanding. One might think, for instance, of information written in English. The informa ability concerns the content aspects of information and communication. In order to communicate, the initiator should formulate information in a way that the executor can interpret. In other words, the initiator and the executor should semantically be in agreement with each other and share the same thoughts. This is also called intellectual understanding. The performa ability states that new information and knowledge can be created through communication between the initiator and executor. Looking at coordination acts, this means that actors can expose and evoke commitments and it indicates social understanding between the initiator and executor. For the production acts we see a similar distinction. The forma ability is concerned with the form aspects of information in terms of information transmission and storage. This type of production acts are known as datalogical acts. Transactions that contain a datalogical act are called datalogical transactions (D-transactions). The informa ability states that information can be reasoned, computed or deduced. Those activities are known as infological acts. Transactions are called infological transactions (I-transactions) if they include this type of production act. The performa ability concerns making decisions, judgments, or creating material things such as products. This is what we call ontological acts. Transactions that include ontological acts are known as ontological transactions (B-transactions).</p>
<p><strong>The Organization Theorem</strong></p>
<p>We just presented three of the axioms of the Ψ-theory. Together with the composition axiom, which we did not discuss, they provide the basis for the organization theorem. This theorem provides a concise, comprehensive, coherent, and consistent notion of enterprise, such that the (white-box) model of an enterprise may rightly be called its ontological model (Dietz, 2006b). It states the following (Dietz, 2006b):</p>
<p><em>Theorem 1. The organization of an enterprise is the layered integration of three aspect organizations: the B-organization, the I-organization, and the D-organization.<br />
</em></p>
<p><center><img src="http://www.archismith.com/wp-content/uploads/2011/08/aspect-300x217.png" alt="" title="aspect" width="300" height="217" class="alignnone size-medium wp-image-449" /></center><br />
Figure 2: The three aspect organizations</p>
<p>Figure 2 shows the three aspect organizations. The B-organization concerns the essence of the enterprise. It consists of actors who directly contribute to the enterprise’s goals and functions by performing ontological production acts. These actors are known as B-actors and are able to perform B-transactions, the ontological transactions we defined in the previous paragraph. B-actors are, for instance, consultants or sales persons. The I-organization embraces the content aspects of information and knowledge in the enterprise (Dietz, 2006b). Actors in the I-organization, who are called I-actors, bring changes to information and knowledge by performing infological production acts. In other words, I-actors perform I-transactions. Business controllers are typical actors in the I-organization producing infological things. The D-organization deals with the documentation of information in the enterprise and only takes into account the form of information. To achieve this, actors in the D-organization perform datalogical production acts and thus D-transactions. These actors are known as D-actors, who are for instance archivists.</p>
<p><strong>Defining Service Based on the Ψ-theory</strong></p>
<p>According to the Ψ-theory, the previous paragraphs have shown, the operation of organizations is all about communication between and production by social actors. Is not the main concern of service-orientation to support the operation of an organization and therefore also to support the communication between and production by social actors? Because the Ψ-theory describes the interaction between the requesting party and the offering party in a very formal way, it provides a basis for formalizing the notion of service. Based on<br />
this theory we have elaborated on the notion of service (Albani et al., 2009) and we will summarize in the next paragraphs the main results which are of relevance for the specification of services. The definition of service is based on the complete transaction pattern. Though a service has many similarities with a transaction in the Ψ-theory, they are not equal. While the transaction includes all acts of the initiator and the executor, the service concept only regards the executor side. We therefore define a service as a part of a transaction rather than a whole transaction. </p>
<p><em>Definition 1. A service is a pattern of coordination and production acts, performed by the executor of a transaction for the benefit of its initiator, in the order as stated in the complete, universal pattern of a transaction. When implemented it has the ability to get to know the coordination facts produced by the initiator and to make available to the initiator the coordination facts produced by itself.<br />
</em></p>
<p>By universal we mean that this pattern applies to interaction between actors in all types of organizations (non-profit and commercial) and in all countries and cultures of the world. When looking at the complete transaction pattern, everything except the coordination acts of the initiator (request, quit, reject and accept) are part of the service. But in order to communicate with the executor of the service, the initiator needs to be aware of the complete transaction pattern. Additionally, we call a service a composite service, if the execution of the service requires the executor to initiate certain other services. This happens exactly then, when a transaction is enclosed in some other transaction. This definition of a service just given is a very generic one, since it holds for two kinds of actors, human actors and IT systems and three kinds of production acts, namely datalogical, infological and ontological. Services executed by human actors or IT systems only differ in the way they are implemented; human services are implemented by human beings, whereas IT services are implemented by IT systems. IT systems assist human actors in their activities. For both human actors and IT systems we can distinguish between communication acts and production acts on the datalogical, infological, and ontological level as described in the organization theorem (though at ontological level machines can only mimic the behavior of the responsible human actors, because machines can never reach true social understanding and cannot create really new, original things). Examples of datalogical production acts are storing, copying, transmitting of documents or data. Acts such as reasoning, computing, deriving or reproducing knowledge are examples of infological production acts and the acts concerning the creation of original new things, such as creating material products or making judgments are examples of ontological production acts. The basic concept of dealing with coordination and production aspects between an initiator and an executor party as defined in Ψ-theory and in the generic service definition given above allow us to distinguish between six different types of services:</p>
<ul>
<li>ontological human service</li>
<li>infological human service</li>
<li>datalogical human service</li>
<li>ontological IT service</li>
<li>infological IT service</li>
<li>datalogical IT service</li>
</ul>
<p>All service types conform to the definition of service given above, following the same service pattern and the described abilities. They only differ in the way they are implemented, either by human actors or by IT systems and in the different kinds of coordination and production acts as described above. </p>
<p><strong>Conclusions</strong></p>
<p>In this article we provided a definition of the notion of service and introduced six different types of services, based on the Ψ-theory: ontological human services, infological human services, datalogical human services, ontological IT services, infological IT services, and datalogical IT services. The first distinction is between human services, i.e. services executed by human beings, and IT services, i.e. services executed by IT systems. The second distinction corresponds to the three aspect organizations, as proposed by the organization theorem: the B-organization, the I-organization and the D-organization.</p>
<p><strong>References</strong></p>
<p>A. Albani, G. Hardjosumarto, L. Terlouw, and J. L. G. Dietz. Enterprise ontology based service definition. In Proceedings of 4th International Workshop on Value Modeling and Business Ontologies, Amsterdam, The Netherlands, 2009.<br />
M. A. Bunge. Treatise on Basic Philosophy, vol. 4, A World of Systems. D. Reidel Publishing Company, Dordrecht, The Netherlands, 1979.<br />
J. L. G. Dietz and A. Albani. Basic notions regarding business processes and supporting information systems. Requirements Engineering, 10(3):175–183, 2005.<br />
J. L. G. Dietz. The deep structure of business processes. Communications of the ACM, 49(5):58–64, 2006a.<br />
J. L. G. Dietz. Enterprise Ontology, Theory and Methodology. Springer, Berlin Heidelberg, Germany, 2006b.<br />
J. L. G. Dietz and J. A. P. Hoogervorst. Enterprise ontology and enterprise architecture, how to let them evolve into effective complementary notions. GEAO Journal of Enterprise Architecture, 2(1):3–20, 2007.<br />
J. L. G. Dietz and J. A. P. Hoogervorst. Enterprise ontology in enterprise engineering. In Proceedings of the ACM symposium on Applied computing, pages 572–579, Fortaleza, Ceara, Brazil, 2008.<br />
F. Flores and J. Ludlow. Doing and speaking in the office. Decision Support Systems, Issues and Challenges, pages 95–118, 1980.<br />
J. Gadrey. The characterization of goods and services: An alternative approach. Review of Income and Wealth, 46(3):369–87, September 2000.<br />
F. Gallouj and O. Weinstein. Innovation in services. Research Policy, 26(4-5): 537–556, 1997.<br />
G. Goldkuhl and K. Lyytinen. A language action view of information systems. In Proceedings of the 3rd International Conference on Information Systems, pages 13–29, Ann Arbor, MI, USA, 1982.<br />
S. M. Goldstein, R. Johnston, J. Duffy, and J. Raod. The service concept: the missing link in service design research? Journal of Operations Management, 20(2):121–134, 2002.<br />
C. W. Hart. The power of unconditional service guarantees. Harvard Business Review, 66(4):54–62, 1988.<br />
OASIS. OASIS, 2006a. http://www.oasis-open.org/.<br />
OMG. Service-oriented architecture SIG, 2006. http://soa.omg.org/.<br />
The Open Group. Service-oriented architecture, 2006. http://www. opengroup.org/projects/soa/.<br />
W3C. W3C, 2006b. http://www.w3c.org/.<br />
H. Weigand. The language/action perspective. Data &#038; Knowledge Engineering, 47(3):299–300, 2003.<br />
V. A. Zeithaml, L. L. Berry, and A. Parasuraman. The nature and determinants of customer expectations of service. Journal of the Academy of Marketing Science, 21(1):1–12, January 1993.</p>
<p><strong>This article is previously published as part of chapter 4 of the PhD thesis &#8220;Modularization and Specification of Service-Oriented Systems&#8221; (<a href="http://repository.tudelft.nl/view/ir/uuid%3A1390209c-a35a-49af-a082-1c855663d124/" target="_blank">link to complete dissertation</a>)</strong></p>
<h3>Liked this article? Have a look at our SOA and Enterprise Ontology e-learning courses!</h3>
<table>
<tr>
<td><a href="http://www.archismith.com/shop/e-learning-soa-overview/"><img src="http://www.archismith.com/shop/images/71/frogelearning.jpg" width="90"></img></a></td>
<td>&nbsp;&nbsp;&nbsp;<b><a href="http://www.archismith.com/shop/e-learning-soa-overview/">E-learning SOA Overview</a></b></td>
</tr>
<tr>
<td><a href="http://www.archismith.com/shop/e-learning-service-identification/"><img src="http://www.archismith.com/shop/images/71/frogelearning.jpg" width="90"></img></a></td>
<td>&nbsp;&nbsp;&nbsp;<b><a href="http://www.archismith.com/shop/e-learning-service-identification/">E-learning Service Identification</a></b></td>
</tr>
<tr>
<td><a href="http://www.archismith.com/shop/e-learning-service-specification-and-service-repositories/"><img src="http://www.archismith.com/shop/images/71/frogelearning.jpg" width="90"></img></a></td>
<td>&nbsp;&nbsp;&nbsp;<b><a href="http://www.archismith.com/shop/e-learning-service-specification-and-service-repositories/">E-learning Service Specification and Service Repositories</a></b></td>
</tr>
<tr>
<td><a href="http://www.archismith.com/shop/e-learning-building-canonical-data-model/"><img src="http://www.archismith.com/shop/images/71/frogelearning.jpg" width="90"></img></a></td>
<td>&nbsp;&nbsp;&nbsp;<b><a href="http://www.archismith.com/shop/e-learning-building-canonical-data-model/">E-learning Building the Canonical Data Model</a></b></td>
</tr>
<tr>
<td><a href="http://www.archismith.com/shop/e-learning-introduction-demo-enterprise-ontology/"><img src="http://www.archismith.com/shop/images/71/frogelearning.jpg" width="90"></img></a></td>
<td>&nbsp;&nbsp;&nbsp;<b><a href="http://www.archismith.com/shop/e-learning-introduction-demo-enterprise-ontology/">E-learning Introduction to DEMO (Enterprise Ontology) </a></b></td>
</tr>
</table>
]]></content:encoded>
			<wfw:commentRss>http://www.archismith.com/defining-the-service-notion-based-on-the-%cf%88-theory-language-action-perspective/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Advantages and Disadvantages of Modularity</title>
		<link>http://www.archismith.com/advantages-and-disadvantages-of-modularity/</link>
		<comments>http://www.archismith.com/advantages-and-disadvantages-of-modularity/#comments</comments>
		<pubDate>Sat, 30 Jul 2011 17:18:36 +0000</pubDate>
		<dc:creator>The Archi Smith</dc:creator>
				<category><![CDATA[Design]]></category>

		<guid isPermaLink="false">http://www.archismith.com/?p=424</guid>
		<description><![CDATA[Modularity is an important notion in the field of general systems theory. Two of the most early, influential works on this subject are those of Alexander (1964) and Simon (1969).... <span class="meta-more"><a href="http://www.archismith.com/advantages-and-disadvantages-of-modularity/">Read more &#187;</a></span>]]></description>
			<content:encoded><![CDATA[<p><img src="http://www.archismith.com/wp-content/uploads/2011/07/blocks-300x214.jpg" alt="" title="cubes massive attack" width="250" class="alignnone size-medium wp-image-429" style="float:left;margin:3px"  />Modularity is an important notion in the field of general systems theory. Two of the most early, influential works on this subject are those of Alexander (1964) and Simon (1969). Although they do not use the word modularity, they both speak about dealing with complex systems by decomposing them into smaller parts. They do not limit themselves to a particular field. Instead, they discuss a broad range of system types that have a modular structure, e.g. biological systems, buildings, and enterprises.</p>
<p>In the same period McIlroy (1968) and Parnas (1972) proposed modularization as a means for dealing with complexity in software systems. Parnas (1972) introduced the criterion of information hiding, i.e. each module hides the manifestation of certain design decisions from the other modules. Interfaces between modules are chosen to reveal as little as possible about their internal operations. Also, he mentions some advisable specific example decompositions. McIlroy (1968) envisioned a mature software industry in which a purchaser can consult a catalog to search for software components that he can regard as black boxes: service-orientation avant la lettre.</p>
<p>Many researchers, e.g. Parnas (1972), Baldwin and Clark (2000), Sanchez and Mahoney (1996), bring up one or more of the following advantages of modularization: (i) making the total system structure more comprehensible, (ii) enabling easy replacement of components, (iii) making it possible to divide work between several groups of designers without them needing to be aware of the structure of the total system, and (iv) minimizing the effect that changes in one part of the system have on the other parts of the system. However, a great degree of modularity does not only pose benefits in system design. Schilling (2000) presents a general theory of modular systems from a market perspective. She draws on systems theory from many disciplines. In this theory she answers the question of what drives some systems toward increasing modularity and others toward increasing integration. According to her, the balance between the gains achievable through recombination (of modules) and the gains achievable through specificity (of the system as a whole) determines the pressure for or against the decomposition of a system (Schilling, 2000). Schilling defines different forces that drive toward or away from modularity. First, the heterogeneity of inputs drives towards modular systems. With input the author does not refer to the input of an interface, as computer scientists usually do. But she refers to the number of components (modules), that are available to compose a system. The more heterogeneous the inputs are that may be used to compose a system, the more possible configurations are attainable through recombinability enabled by modularity (Schilling, 2000). When many components of a certain type are available vendor lock-in can easily be prevented. Another positive force for modularity is heterogeneity of demands. This means when customers of a certain product have very different needs, then it is difficult to find a ‘one size fits all’ integrated solution. The forces of heterogeneity of inputs and heterogeneity of demands reinforce each other. A factor that negatively impacts the choice for modularity is synergistic specificity. She states that if customers need very specific components, the costs of making specialized interfaces would be very high. Also, the degree of difficulty customers face in assessing the quality and interaction of components and in assembling the components will be negatively related to increasing (interfirm) product modularity. Schilling (2000) mentions technological change and competitive intensity as some of the primary factors that create urgency. In both cases suppliers need to be able to rapidly reconfigure their products. So urgency directly contributes to a need for modularity. Also, urgency reinforces the heterogeneity of inputs and the heterogeneity of demands.</p>
<p>Arnheiter and Harren (2006) add some other negative aspects of modularity to the list: the limitation of creativity of design because of the need for well-defined interfaces, the overuse of the same module across too many product lines, less than optimal system performance due to use of generic modules, unnecessary time and expenses of replacing an entire module when only a single component within the module is faulty. We do not agree with the last statement as being a disadvantage of modularity, since in our eyes this ‘component’, i.e. submodule, is just a module at a lower level and there is no reason why submodules cannot be available on the market. Concluding, we see that modularity has advantages as well as disadvantages.</p>
<p>Summarizing, the advantages are that the total structure is more comprehensible: modularity contributes to making a system intellectually manageable. Because interfaces of modules are specified, modules can be easily replaced by other ones. Modularity also contributes to the process of building/changing a system. People working on one part of the system do not have an overview of the complete system. When making changes to the system one knows what changes will and will not affect other parts as the system, as only changes of a module that affect the interface can affect other parts. Because often several different implementations of a module conforming to a certain interface are available, one can choose between different configurations of a system. This standardization also prevents vendor lock-in. Disadvantages are the higher costs involved in making a modular system in comparison to making a non-modular one. Next to this, the task of integrating the different modules can be complex. One has to assess the quality and interaction of different modules and letting everything work together can be hard. Designers can be limited in their creativity as they have to conform to the interface and it can lead to less variation in products as all products use the same modules. Finally, the total system performance may be suboptimal.</p>
<p><strong>Advantages</strong></p>
<ul>
<li>Total structure is more comprehensible (Sanchez and Mahoney, 1996; Parnas, 1972; Baldwin and Clark, 2000; Arnheiter and Harren, 2006).</li>
<li>Modules can be easily replaced (Sanchez and Mahoney, 1996; Parnas, 1972; Baldwin and Clark, 2000; Arnheiter and Harren, 2006).</li>
<li>Work division possible without everyone having overview of complete system (Parnas, 1972; Baldwin and Clark, 2000; Arnheiter and Harren, 2006).</li>
<li>Effect of changes of one part of system to other parts are minimized (Sanchez and Mahoney, 1996; Parnas, 1972; Baldwin and Clark, 2000; Arnheiter and Harren, 2006).</li>
<li>Many different configurations of the system are possible (Schilling, 2000; Sanchez and Mahoney, 1996; Baldwin and Clark, 2000; Arnheiter and Harren, 2006).</li>
<li>Vendor lock-in is prevented due to standardization (Schilling, 2000).</li>
</ul>
<p><strong>Disadvantages</strong></p>
<ul>
<li>For very specific modules the cost of making interfaces can be high (Schilling, 2000).</li>
<li>For assemblers (integrators) it can be difficult to assess the quality and interaction of different modules (Schilling, 2000; Arnheiter and Harren, 2006).</li>
<li>It can be difficult to assemble (integrate) the modules (Schilling, 2000; Arnheiter and Harren, 2006).</li>
<li>The design creativity of a module designer can be limited because he needs to conform to the interface (Arnheiter and Harren, 2006).</li>
<li>Less variation in products because of overuse of the same modules (Arnheiter and Harren, 2006).</li>
<li>Total system performance may be suboptimal (Arnheiter and Harren, 2006).</li>
</ul>
<p><strong>References</strong></p>
<p>C. Alexander. Notes on the Synthesis of Form. Harvard University Press, 1964.<br />
E. D. Arnheiter and H. Harren. Quality management in a modular world. The TQM Magazine, 18(10):87–96, 2006.<br />
C. Y. Baldwin and K. B. Clark. Design Rules: Volume 1: The Power of Modularity. The MIT Press, Cambridge, MA, USA, 2000.<br />
M. D. McIlroy. Mass-produced software components. Proceedings of NATO Conference on Software Engineering, pages 88–98, 1968.<br />
D. L. Parnas. On the criteria to be used in decomposing systems into modules. Communications of the ACM, 15(12):1053–1058, 1972.<br />
R. Sanchez and J. Mahoney. Modularity, flexibility, and knowledge management in product and organizational design. Strategic Management Journal, 17:63–76, 1996.<br />
M. A. Schilling. Toward a general modular systems theory and its application to interfirm product modularity. The Academy of Management Review, 25(2):312–334, 2000.<br />
H. A. Simon. The sciences of the artificial. The MIT Press, 1969.</p>
<p><strong>This article is previously published as part of chapter 3 of the PhD thesis &#8220;Modularization and Specification of Service-Oriented Systems&#8221; (<a href="http://repository.tudelft.nl/view/ir/uuid%3A1390209c-a35a-49af-a082-1c855663d124/" target="_blank">link to complete dissertation</a>)</strong></p>
]]></content:encoded>
			<wfw:commentRss>http://www.archismith.com/advantages-and-disadvantages-of-modularity/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Jürgen Habermas and Enterprise Ontology</title>
		<link>http://www.archismith.com/the-impact-of-jurgen-habermas-on-enterprise-ontology/</link>
		<comments>http://www.archismith.com/the-impact-of-jurgen-habermas-on-enterprise-ontology/#comments</comments>
		<pubDate>Sat, 30 Jul 2011 13:19:39 +0000</pubDate>
		<dc:creator>The Archi Smith</dc:creator>
				<category><![CDATA[Books]]></category>
		<category><![CDATA[Enterprise Architecture]]></category>

		<guid isPermaLink="false">http://www.archismith.com/?p=359</guid>
		<description><![CDATA[Jürgen Habermas (1929) is a well know social theorist. He is an interdisciplinary theorist, who has spent a lot of time studying language, organizations, and society. Using the interaction depicted... <span class="meta-more"><a href="http://www.archismith.com/the-impact-of-jurgen-habermas-on-enterprise-ontology/">Read more &#187;</a></span>]]></description>
			<content:encoded><![CDATA[<p>Jürgen Habermas (1929) is a well know social theorist. He is an interdisciplinary theorist, who has spent a lot of time studying language, organizations, and society. Using the interaction depicted below you can get more information about Habermas.</p>
<p><a href="http://www.archismith.com/wp-content/pictures/habermas/engage.swf">View bigger version of animation</a><br />
<object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,0,0" width="600" height="500"  id="movie" align=""><param name="movie" value="http://www.archismith.com/wp-content/pictures/habermas/engage.swf"><embed src="http://www.archismith.com/wp-content/pictures/habermas/engage.swf" quality="high" width="600"  height="500" name="movie" align=""  type="application/x-shockwave-flash" plug inspage="http://www.macromedia.com/go/getflashplayer"><br />
</object></p>
<p>He explains his theory of communicative action in these two books (The Theory of Communicative Action Part I and II): </p>
<table align="center">
<tr>
<td><iframe src="http://rcm.amazon.com/e/cm?t=archi06-20&#038;o=1&#038;p=8&#038;l=as1&#038;asins=0807015075&#038;ref=tf_til&#038;fc1=000000&#038;IS2=1&#038;lt1=_blank&#038;m=amazon&#038;lc1=0000FF&#038;bc1=FFFFFF&#038;bg1=FFFFFF&#038;npa=1&#038;f=ifr" style="width:120px;height:240px;" scrolling="no" marginwidth="0" marginheight="0" frameborder="0"></iframe>
<td>
<td><iframe src="http://rcm.amazon.com/e/cm?t=archi06-20&#038;o=1&#038;p=8&#038;l=as1&#038;asins=080701401X&#038;ref=tf_til&#038;fc1=000000&#038;IS2=1&#038;lt1=_blank&#038;m=amazon&#038;lc1=0000FF&#038;bc1=FFFFFF&#038;bg1=FFFFFF&#038;npa=1&#038;f=ifr" style="width:120px;height:240px;" scrolling="no" marginwidth="0" marginheight="0" frameborder="0"></iframe>
</td>
</tr>
</table>
<p>However, reading these books is quite a challenge. So I would recommend to start with this little book (Habermas &#8211; A Very Short Introduction by James Gordon Finlayson): </p>
<p><center><iframe src="http://rcm.amazon.com/e/cm?t=archi06-20&#038;o=1&#038;p=8&#038;l=as1&#038;asins=0192840959&#038;ref=tf_til&#038;fc1=000000&#038;IS2=1&#038;lt1=_blank&#038;m=amazon&#038;lc1=0000FF&#038;bc1=FFFFFF&#038;bg1=FFFFFF&#038;npa=1&#038;f=ifr" style="width:120px;height:240px;" scrolling="no" marginwidth="0" marginheight="0" frameborder="0"></iframe><br />
</center></p>
<p>The main idea of Enterprise Ontology and the DEMO methodology (see <a href="http://www.demo.nl" target="_blank">the website of the Enterprise Engineering Institute</a>) is that an organization consists of social actors (i.e. human beings). These actors interact by performing business transactions. These business transactions are based on the notion of speech acts. The figure below shows an example of such a business transaction. </p>
<p><img src="http://www.archismith.com/wp-content/uploads/2011/07/transaction.png" width="600" alt="" title="transaction"  class="alignnone size-full wp-image-405" /></p>
<p>In this picture we see two human being: a customer and a waiter. A business transaction is a universal pattern of communication and production acts. Universal means that this pattern occurs in all locations and cultures in the world. The person who starts the transaction is called the initiator (in this example: the customer). The person who executes the transaction is called the executor (in this example: the waiter). The initiator starts the transaction by performing a request coordination acts (in this example: ordering a steak). The executor performs a promise coordination acts. In this case a promise act could be saying: &#8216;That&#8217;s OK, sir. I&#8217;ll get it for you&#8217;. Next, the executor performs the production act, i.e. the waiter gets the steak for the customer. After that the executor performs a state coordination act, i.e. he says that he has performed the production act. In this example the waiter could say: &#8216;Here you are. Enjoy!&#8217;. Finally, the initiator accepts the result. He could for instance say: &#8216;Thank you!&#8217;. Sometimes coordination acts may be tacit. The waiter could just put the plate on the table instead of saying something (tacit state act). </p>
<p>In this example only the happy path of the transaction (called the basic transaction pattern) is shown. Of course many things can go wrong, see the figure below.</p>
<p><img src="http://www.archismith.com/wp-content/uploads/2011/07/nonhappypath.png" alt="" title="nonhappypath" width="600" class="alignnone size-full wp-image-415" /></p>
<p>The transaction pattern that deals with all exceptions that can occur is called the complete transaction pattern. It includes decline coordination acts and cancellation coordination acts. </p>
<p>Now let&#8217;s revisit Habermas. In these business transactions we see the claim to truth, the claim to justice, and the claim to sincerity. Though one of these claims is dominant, they are all present. In our example the customer could ask the waiter to deliver 100 steaks at once (challenging the claim to truth). The waiter could rightly decline this request since it is impossible for him to deliver 100 steaks at once. When I ask a waiter who is going home and changed to his regular cloths (because he has finished his shift) to deliver a steak I would challenge the claim to justice. It is not socially appropriate to make this request. When I would request a &#8216;vegetarian steak&#8217;, the waiter would probably know I am fooling him (and challenging the claim to sincerity). Maybe he would even play along and deliver me a salad. </p>
<h3>Liked this article? Have a look at our Enterprise Ontology e-learning course!</h3>
<table>
<tr>
<td><a href="http://www.archismith.com/shop/e-learning-introduction-demo-enterprise-ontology/"><img src="http://www.archismith.com/shop/images/71/frogelearning.jpg" width="90"></img></a></td>
<td>&nbsp;&nbsp;&nbsp;<b><a href="http://www.archismith.com/shop/e-learning-introduction-demo-enterprise-ontology/">E-learning Introduction to DEMO (Enterprise Ontology) </a></b></td>
</tr>
</table>
]]></content:encoded>
			<wfw:commentRss>http://www.archismith.com/the-impact-of-jurgen-habermas-on-enterprise-ontology/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Book: Designing Interactions</title>
		<link>http://www.archismith.com/book-designing-interactions/</link>
		<comments>http://www.archismith.com/book-designing-interactions/#comments</comments>
		<pubDate>Thu, 28 Jul 2011 18:31:28 +0000</pubDate>
		<dc:creator>The Archi Smith</dc:creator>
				<category><![CDATA[Books]]></category>
		<category><![CDATA[Design]]></category>

		<guid isPermaLink="false">http://test.icris.nl/?p=315</guid>
		<description><![CDATA[This book focuses on human computer interaction. Each chapter of this book presents interviews with great designers. For example, chapter 1 presents interviews about the mouse and the desktop with... <span class="meta-more"><a href="http://www.archismith.com/book-designing-interactions/">Read more &#187;</a></span>]]></description>
			<content:encoded><![CDATA[<p><span id="more-315"></span><iframe src="http://rcm.amazon.com/e/cm?t=archi06-20&#038;o=1&#038;p=8&#038;l=as1&#038;asins=0262134748&#038;ref=tf_til&#038;fc1=000000&#038;IS2=1&#038;lt1=_blank&#038;m=amazon&#038;lc1=0000FF&#038;bc1=FFFFFF&#038;bg1=FFFFFF&#038;npa=1&#038;f=ifr" style="width:120px;height:240px;" scrolling="no" marginwidth="0" marginheight="0" frameborder="0" align="left"></iframe></p>
<p>This book focuses on human computer interaction. Each chapter of this book presents interviews with great designers. For example, chapter 1 presents interviews about the mouse and the desktop with Doug Engelbart, Stu Card, Tim Mott, and Larry Tesler. Chapter 7 deals with the Internet by interviewing Terry Winograd, Larry Page and Sergey Brin, Steve Rogers, and Mark Podlaseck. In the book we encounter famous design examples like the Apple Lisa, SimCity, the Star Trek bridge, the Google search engine, and the iPod. </p>
<p>I cannot say anything negative about this book. It&#8217;s a great read and very cheap ($22.90 at amazon.com (28-7-2011) for a 766 pages hardcover book).</p>
]]></content:encoded>
			<wfw:commentRss>http://www.archismith.com/book-designing-interactions/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Book: Designing for Interaction</title>
		<link>http://www.archismith.com/designing-for-interaction/</link>
		<comments>http://www.archismith.com/designing-for-interaction/#comments</comments>
		<pubDate>Thu, 28 Jul 2011 18:06:20 +0000</pubDate>
		<dc:creator>The Archi Smith</dc:creator>
				<category><![CDATA[Books]]></category>
		<category><![CDATA[Design]]></category>

		<guid isPermaLink="false">http://test.icris.nl/?p=308</guid>
		<description><![CDATA[This book starts out with defining three major schools of thought about interaction design: a technology-centered view, a behaviorist view, and the social interaction design view. A very brief history... <span class="meta-more"><a href="http://www.archismith.com/designing-for-interaction/">Read more &#187;</a></span>]]></description>
			<content:encoded><![CDATA[<p><span id="more-308"></span><br />
<iframe src="http://rcm.amazon.com/e/cm?t=archi06-20&#038;o=1&#038;p=8&#038;l=as1&#038;asins=0321643399&#038;ref=tf_til&#038;fc1=000000&#038;IS2=1&#038;lt1=_blank&#038;m=amazon&#038;lc1=0000FF&#038;bc1=FFFFFF&#038;bg1=FFFFFF&#038;npa=1&#038;f=ifr" style="width:120px;height:240px;" scrolling="no" marginwidth="0" marginheight="0" frameborder="0" align="left"></iframe></p>
<p>This book starts out with defining three major schools of thought about interaction design: a technology-centered view, a behaviorist view, and the social interaction design view. A very brief history of interaction design starting from 1830 is presented. We see examples like the morse code transmitter, punch cards, the Apple Lisa, and a karaoke machine. This book presents four approaches to interaction design, viz. user-centered design, activity-centered design, systems design, and genius design. Each approach is thoroughly explained and examples are provided. We learn about design strategy and design research. The book provides in-depth advice on how to realize good designs. It&#8217;s an easy read and really helps designers to make any type of system that requires interaction with human beings. </p>
]]></content:encoded>
			<wfw:commentRss>http://www.archismith.com/designing-for-interaction/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Book: Envisioning Information</title>
		<link>http://www.archismith.com/book-envisioning-information/</link>
		<comments>http://www.archismith.com/book-envisioning-information/#comments</comments>
		<pubDate>Thu, 28 Jul 2011 17:46:03 +0000</pubDate>
		<dc:creator>The Archi Smith</dc:creator>
				<category><![CDATA[Books]]></category>
		<category><![CDATA[Visualization]]></category>

		<guid isPermaLink="false">http://test.icris.nl/?p=295</guid>
		<description><![CDATA[Edward R. Tufte is one of the thought leaders in the field of visualization. He deals with visualization in general, so not only in the field of software engineering or... <span class="meta-more"><a href="http://www.archismith.com/book-envisioning-information/">Read more &#187;</a></span>]]></description>
			<content:encoded><![CDATA[<p><span id="more-295"></span><iframe src="http://rcm.amazon.com/e/cm?t=archi06-20&#038;o=1&#038;p=8&#038;l=as1&#038;asins=0961392118&#038;ref=tf_til&#038;fc1=000000&#038;IS2=1&#038;lt1=_blank&#038;m=amazon&#038;lc1=0000FF&#038;bc1=FFFFFF&#038;bg1=FFFFFF&#038;npa=1&#038;f=ifr" style="width:120px;height:240px;" scrolling="no" marginwidth="0" marginheight="0" frameborder="0" align="left"></iframe></p>
<p>Edward R. Tufte is one of the thought leaders in the field of visualization. He deals with visualization in general, so not only in the field of software engineering or enterprise architecture. The books contains many, many graphics and shows many ways to depicts information (e.g. graphs and statistical maps). We see representations of brains, planets, and even learn how to dance. This book is really a pleasure for the eye. It is not so much a book to really read starting from the first page and ending at the last page. It&#8217;s better to just browse, select interesting graphics and read the text explaining these graphics. </p>
]]></content:encoded>
			<wfw:commentRss>http://www.archismith.com/book-envisioning-information/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Book: Software Visualization</title>
		<link>http://www.archismith.com/book-software-visualization/</link>
		<comments>http://www.archismith.com/book-software-visualization/#comments</comments>
		<pubDate>Thu, 28 Jul 2011 17:40:48 +0000</pubDate>
		<dc:creator>The Archi Smith</dc:creator>
				<category><![CDATA[Books]]></category>
		<category><![CDATA[Visualization]]></category>

		<guid isPermaLink="false">http://test.icris.nl/?p=285</guid>
		<description><![CDATA[This book starts with quotes from from great philosophers (Aristotle, Descartes, and Kant) to explain the importance of visualization. It explains some basic notions about human perception, e.g. how the... <span class="meta-more"><a href="http://www.archismith.com/book-software-visualization/">Read more &#187;</a></span>]]></description>
			<content:encoded><![CDATA[<p><span id="more-285"></span><iframe src="http://rcm.amazon.com/e/cm?t=archi06-20&#038;o=1&#038;p=8&#038;l=as1&#038;asins=3642079857&#038;ref=tf_til&#038;fc1=000000&#038;IS2=1&#038;lt1=_blank&#038;m=amazon&#038;lc1=0000FF&#038;bc1=FFFFFF&#038;bg1=FFFFFF&#038;npa=1&#038;f=ifr" style="width:120px;height:240px;" scrolling="no" marginwidth="0" marginheight="0" frameborder="0" align="left"></iframe></p>
<p>This book starts with quotes from from great philosophers (Aristotle, Descartes, and Kant) to explain the importance of visualization. It explains some basic notions about human perception, e.g. how the human eye works and the basics of pattern recognition. Next, we learn about visualization using graphs, a very common way of depicting relationships between software modules. The books shows different static (e.g. spider diagram, 3D sequence diagrams and bar charts) as well as dynamic program visualizations (e.g. 3D animations, sorting algorithms animations). Also, it provides ways of visualization the evolution of a software system.</p>
<p>Like most Springer books this book is a bit scientific. However, it is very easy to comprehend (well-written) and it has many pictures. So all in all, it&#8217;s not to hard to read. The book deals with software visualization only.  </p>
]]></content:encoded>
			<wfw:commentRss>http://www.archismith.com/book-software-visualization/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Making a service catalog work: 3 do&#8217;s and don&#8217;ts</title>
		<link>http://www.archismith.com/making-a-service-catalog-work-3-dos-and-donts/</link>
		<comments>http://www.archismith.com/making-a-service-catalog-work-3-dos-and-donts/#comments</comments>
		<pubDate>Mon, 14 Feb 2011 20:28:57 +0000</pubDate>
		<dc:creator>The Archi Smith</dc:creator>
				<category><![CDATA[SOA]]></category>

		<guid isPermaLink="false">http://temp.servicespecification.com/?p=60</guid>
		<description><![CDATA[A couple of years ago many organizations were taking their first steps into the world of SOA. Their main concern was which ESB to choose. After deciding whether to use... <span class="meta-more"><a href="http://www.archismith.com/making-a-service-catalog-work-3-dos-and-donts/">Read more &#187;</a></span>]]></description>
			<content:encoded><![CDATA[<p><img src="http://www.archismith.com/wp-content/uploads/2011/02/oknok-300x173.png" alt="" title="oknok" width="300" height="173" class="alignnone size-medium wp-image-67" style="float:left;margin:3px"/>A couple of years ago many organizations were taking their first steps into the world of SOA. Their main concern was which ESB to choose. After deciding whether to use the ESB from Tibco, Cordys, IBM, Oracle, or Microsoft, they thought the hard part was over. They started building web service like crazy and ended up with JABOWS (Just A Bunch Of Web Services) instead of a decent SOA. At the moment, I&#8217;m getting a lot of questions from clients regarding service identification and service specification (and SOA governance, but this will be topic of another blog post). Service identification is the process of determining which services the organizations actually needs. A while ago two colleagues and I wrote an article about ten frequently used approaches (http://www.soamag.com/I13/1207-1.asp). You&#8217;re welcome to comment if you see any approaches we did not describe. Of course, an organization cannot implement all the candidate services at the same time, nor does it need to. It starts out with the services having the highest priority and gradually builds its service portfolio. Now, as the portfolio grows, it is hard to keep track of the functionality of all these services. The service catalog becomes an important artifact for the service consumers to discover services and determine whether or not they fit their requirements. Even if you don&#8217;t &#8216;believe&#8217; in the concept of reuse: consumers need a precise and unambiguous service specification to be able to use the service. If provider and consumer have different expectations of the behavior of a service, you&#8217;re bound to get problems. Let&#8217;s have a look at three do&#8217;s and don&#8217;ts for the service catalog.</p>
<p><strong>Do&#8217;s:</strong></p>
<p>1) Appoint a service catalog manager</p>
<p><span id="more-60"></span>Though the service provider is responsible for specifying his service, we also need a service catalog manager. This person checks whether the quality of the service specifications meets the standards. He keeps the catalog up and running. And, most importantly, he leads the processes of accepting a new service, changing the life cycle status of a service, versioning services, and killing services. No chance for JABOWS with a service catalog manager around!</p>
<p>2) Make a canonical data model</p>
<p>It is important for services to speak the same language. Usually the ESB is used for mapping data from a native application format to the canonical data model. The canonical data model differs from the so-called corporate data model. The corporate data model describes all data within the enterprise. The canonical data model only describes data to be exchanged by services. Do not only pay attention to specifying the syntax of the data, but also to the semantics. We would not want another space shuttle to crash because of a simple inch/centimeters mix-up.</p>
<p>3) Specify who, what, and how</p>
<p>Essentially thee aspects are important in a service specification: the who, what, and how. We want to know who offers the service; do we trust this person and how can we contact him if needed? We want to know what the service does, e.g. input, output, preconditions, postconditions, description of behavior. Also, the non-functional behavior (e.g. availability, security etc) belongs to this `what&#8217; part. Finally, we are interested in how we can access the service. We need to know the location of a service (usually a logical location) and what protocols to use. Sometimes we are also interested in `how much&#8217;, i.e. what do we need to pay to use the service.</p>
<p><strong>Don&#8217;ts:</strong></p>
<p>1) Assume WSDL is enough</p>
<p>Don&#8217;t think the WSDL is enough for the consumer of the service to know what the service does. It just isn&#8217;t. Additionally, the WSDL is only suitable for one type of stakeholder: the software engineer.</p>
<p>2) Assume the UDDI standard is enough</p>
<p>The UDDI standard work fine for dealing with a number of technical aspects and it gives information about who offers the service and how to access the service. However, it lacks proper means to describe the `what&#8217; part. Most organizations use commercial service registries with add-ons on the UDDI standards, or additional Word or Excel templates.</p>
<p>3) Assume providers will fill the catalog if they are not rewarded</p>
<p>Building as well as specifying services takes time, money, and effort. It is important to realize that service providers will only make services for service consumers if they are somehow rewarded. Both parties should have costs and benefits. A provider will not cooperate if there are only costs involved for him.</p>
<h3>Liked this article? Have a look at our SOA e-learning courses!</h3>
<table>
<tr>
<td><a href="http://www.archismith.com/shop/e-learning-soa-overview/"><img src="http://www.archismith.com/shop/images/71/frogelearning.jpg" width="90"></img></a></td>
<td>&nbsp;&nbsp;&nbsp;<b><a href="http://www.archismith.com/shop/e-learning-soa-overview/">E-learning SOA Overview</a></b></td>
</tr>
<tr>
<td><a href="http://www.archismith.com/shop/e-learning-service-identification/"><img src="http://www.archismith.com/shop/images/71/frogelearning.jpg" width="90"></img></a></td>
<td>&nbsp;&nbsp;&nbsp;<b><a href="http://www.archismith.com/shop/e-learning-service-identification/">E-learning Service Identification</a></b></td>
</tr>
<tr>
<td><a href="http://www.archismith.com/shop/e-learning-service-specification-and-service-repositories/"><img src="http://www.archismith.com/shop/images/71/frogelearning.jpg" width="90"></img></a></td>
<td>&nbsp;&nbsp;&nbsp;<b><a href="http://www.archismith.com/shop/e-learning-service-specification-and-service-repositories/">E-learning Service Specification and Service Repositories</a></b></td>
</tr>
<tr>
<td><a href="http://www.archismith.com/shop/e-learning-building-canonical-data-model/"><img src="http://www.archismith.com/shop/images/71/frogelearning.jpg" width="90"></img></a></td>
<td>&nbsp;&nbsp;&nbsp;<b><a href="http://www.archismith.com/shop/e-learning-building-canonical-data-model/">E-learning Building the Canonical Data Model</a></b></td>
</tr>
</table>
]]></content:encoded>
			<wfw:commentRss>http://www.archismith.com/making-a-service-catalog-work-3-dos-and-donts/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Cloud Computing: IaaS vs PaaS</title>
		<link>http://www.archismith.com/cloud-computing-iaas-vs-paas/</link>
		<comments>http://www.archismith.com/cloud-computing-iaas-vs-paas/#comments</comments>
		<pubDate>Mon, 14 Feb 2011 20:17:30 +0000</pubDate>
		<dc:creator>The Archi Smith</dc:creator>
				<category><![CDATA[SOA]]></category>

		<guid isPermaLink="false">http://temp.servicespecification.com/?p=147</guid>
		<description><![CDATA[Cloud computing is one of the current trends in the world of software engineering. Cloud-based applications and services are produced massively nowadays, so let&#8217;s take a look at two levels... <span class="meta-more"><a href="http://www.archismith.com/cloud-computing-iaas-vs-paas/">Read more &#187;</a></span>]]></description>
			<content:encoded><![CDATA[<p><img src="http://www.archismith.com/wp-content/uploads/2011/02/cloud-246x300.jpg" alt="" title="cloud"  height="150" class="alignnone size-medium wp-image-200" style="float:left;margin:3px" />Cloud computing is one of the current trends in the world of software engineering. Cloud-based applications and services are produced massively nowadays, so let&#8217;s take a look at two levels of &#8216;the cloud&#8217;: IaaS (Infrastructure as a Service) and PaaS (Plaform as a Service). This article will not deal with SaaS (Software as a Service), the third level used in cloud computing terminology.</p>
<p>So first of all, the lowest level of cloud computing: IaaS. Infrastructural components (let&#8217;s say: &#8216;machines&#8217;) are delivered as a service to consumers. This means the notion of infrastructural components is known in the platform. Different examples of IaaS providers exist, Amazon EC2 being the most famous one.</p>
<p><a href="http://www.archismith.com/wp-content/uploads/2011/02/Focus_SoftwareEngineer1.png"><img class="alignnone size-full wp-image-194" title="Focus_SoftwareEngineer" src="http://www.archismith.com/wp-content/uploads/2011/02/Focus_SoftwareEngineer1.png" alt="" width="500" height="188" /></a></p>
<p>Fig 1: IaaS abstraction level</p>
<p>So why do we call it IaaS and not simply hosting? The idea behind cloud computing is flexibility, machines able to stretch beyond their limits. In classical hosting scenarios physical machines are used which are bound by their fixed memory and computing limits. Virtual machines can be stretched (often even at runtime) on-demand by a virtualization layer called hypervisors. VMWare is a very popular hypervisor which allows virtual machines to be stretched at runtime. Hardware and machine specs are de-coupled, that&#8217;s why we talk about &#8216;infrastructure as a service&#8217;, or IaaS. Famous examples of such platforms are Amazon EC2 (Elastic Computing Cloud) or VMWare ESX server for clouds in your own datacenter. Payment is often done by calculation of uptime hours of a certain virtual machine.</p>
<p>One level beyond the concept of a machine is the concept of a platform. In order to be able to deploy applications on a platform without the need to worry about (physical or virtual) machine specifications we need an abstraction in which machines no longer play an active role.</p>
<p><a href="http://www.archismith.com/wp-content/uploads/2011/02/AppengineAbstractions.png"><img class="alignnone size-full wp-image-195" title="AppengineAbstractions" src="http://www.archismith.com/wp-content/uploads/2011/02/AppengineAbstractions.png" alt="" width="500" height="202" /></a></p>
<p>Fig 2: PaaS abstraction level</p>
<p>If we wrap the concept of machines into a pool in which only the platform is visible along with a number of services we reach the level of PaaS, or Platform as a Service. Developers only need to worry about writing code that can make use of the platform and it&#8217;s services (often a certain fixed programming language and a specific provider&#8217;s libraries). Only the concept of &#8216;applications&#8217; exist and they can grow as big as the entire platform. There are a few examples nowadays of clouds like this but the one closest to a true PaaS is the Google App Engine. The payment model of these platforms can be radically different; literally, app engine applications are payed by use (that is, actions the platform needs to perform when requests are done to the application).</p>
<p>So cloud computing is all about abstraction and optimization of a certain well-defined set of services. The higher the abstraction level, the broader the functional possibilities, along with flexibility in scaling and optimization</p>
]]></content:encoded>
			<wfw:commentRss>http://www.archismith.com/cloud-computing-iaas-vs-paas/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

