Pages

Friday, January 28, 2005

XBRL and Business

By using XBRL, companies and other producers of financial data and business reports can automate the processes of data collection. For example, data from different company divisions with different accounting systems can be assembled quickly, cheaply and efficiently if the sources of information have been upgraded to using XBRL. Once data is gathered in XBRL, different types of reports using varying subsets of the data can be produced with minimum effort. A company finance division, for example, could quickly and reliably generate internal management reports, financial statements for publication, tax and other regulatory filings, as well as credit reports for lenders.

Small businesses can benefit alongside large ones by standardising and simplifying their assembly and filing of information to the authorities.

Users of data which is received electronically in XBRL can automate its handling, cutting out time-consuming and costly collation and re-entry of information. Software can also immediately validate the data, highlighting errors and gaps which can immediately be addressed. It can also help in analysing, selecting, and processing the data for re-use. Human effort can switch to higher, more value-added aspects of analysis, review, reporting and decision-making. In this way, investment analysts can save effort, greatly simplify the selection and comparison of data, and deepen their company analysis.

Such type of standard XML format for businesses can be boon to the industry mainly when it comes to communicating the data with some alien application.

Wednesday, January 12, 2005

What is a PSM?

A PSM is a relatively concrete model of a software system that incorporates choices for certain implementation technology/technologies. The acronym stands for Platform Specific Model. PSMs describe the system taking into account the chosen implementation technology. Note however, that it is very likely that the software development process will consist of more than one transformation step. Like a PIM, a PSM could be either input or output of a transformation.

Tuesday, January 11, 2005

What is a PIM?

A PIM is a relatively abstract model of a software system that does not incorporate any implementation choice. The acronym stands for Platform Independent Model. PIMs describe the system independently of the chosen implementation technology. Note however, that it is very likely that the software development process will consist of more than one transformation step. A PIM could be either input or output of a transformation.


For instance, you could take a business model as input to the first transformation, thus producing an abstract software model representing the data relevant to the system. The software model itself could then be transformed into a less abstract software model, one that divides the system into components with their interfaces. Still this model could be platform independent, because no choice needs to be made whether to implement the system using .NET or J2EE. The model with components could be input to a transformation that extends the model with much of the standard CRUD functionality. Finally, the last model could be transformed into a PSM and from that into the source code.

Monday, January 10, 2005

What is the MOF?

The MOF is a standard that describes how metamodels should be described. (A metamodel is a definition of what a model is.) The acronym stands for Meta Object Facility, as it was meant to facilitate the creation of metamodels. The UML is one of the metamodels described using MOF. In the same way that you need the QVT, you need the MOF to be able to build MDA tools.

Sunday, January 09, 2005

What is the QVT?

The QVT is an up coming standard from the Object Management Group (OMG) that specifies how Transformation Definitions can be written. The acronym stands for Query, View, Transformation. Queries and views on models are included in this standard because one could argue that both are very simple transformations that produce from a given input model an output model that consists of only part of the input model. In theory, definitions of queries and views can be considered to be similar to transformation definitions.

Saturday, January 08, 2005

What is the MDA Framework?

The MDA Framework is the architecture that enables a series of tools to work together to accomplish the MDA goal. These tools can be generation tools, modeling tools, programming IDEs, etc. Central to the architecture is the notion of model. Each tool should be able to use a model either as input or as output or both. Thereto tools should agree on what the syntax and structure of a model is. That is, they need to agree on a common metamodel, or on a number of metamodels for different purposes. (A metamodel is a definition of what a model is.) Once they agree, the relationship between two models in a different language (that is, built according to different metamodels) can be standardized. This relationship is called a Transformation Definition. Tools that transform one model into another model can than be built according to the standard Transformation Definition. Plaatje!!!

Saturday, January 01, 2005

The HTTP Protocol

HTTP communicates over TCP/IP. An HTTP client connects to an HTTP server using TCP. After establishing a connection, the client can send an HTTP request message to the server:

POST /item HTTP/1.1
Host: 189.123.345.239
Content-Type: text/plain
Content-Length: 200

The server then processes the request and sends an HTTP response back to the client. The response contains a status code that indicates the status of the request:

200 OK
Content-Type: text/plain
Content-Length: 200

In the example above, the server returned a status code of 200. This is the standard success code for HTTP.

If the server could not decode the request, it could have returned something like this:

400 Bad Request
Content-Length: 0


SOAP HTTP Binding

A SOAP method is an HTTP request/response that complies with the SOAP encoding rules.
HTTP + XML = SOAP

A SOAP request could be an HTTP POST or an HTTP GET request.

The HTTP POST request specifies at least two HTTP headers: Content-Type and Content-Length.
Content-Type
The Content-Type header for a SOAP request and response defines the MIME type for the message and the character encoding (optional) used for the XML body of the request or response.
Syntax

Content-Type: MIMEType; charset=character-encoding

Example

POST /item HTTP/1.1
Content-Type: application/soap+xml; charset=utf-8


Content-Length
The Content-Length header for a SOAP request and response specifies the number of bytes in the body of the request or response.
Syntax

Content-Length: bytes

Example

POST /item HTTP/1.1
Content-Type: application/soap+xml; charset=utf-8
Content-Length: 250