CORA and Microsoft
This blog is the first in a series around on the comparison between the CORA model and Microsoft. In this first part, after introducing Microsoft, its Reference Architecture is mapped onto the CORA model.
The history of Microsoft
Microsoft in 1975 and rose to dominate the home computer operating system market with MS-DOS in the mid-1980s, followed by the Windows line of operating systems. Many of its products have achieved near-ubiquity in the desktop computer market. Microsoft possesses footholds in other markets, with assets such as the MSN Internet portal. The company also markets both computer hardware products (mouses and keyboards), as well as home entertainement products such as the Xbox.
Microsoft has the focus on many different areas: operating systems (i.e. Windows), database software (i.e. SQL Server), Office Products (i.e. Windows), integration components (i.e. Bizz Talk, Sharepoint). This huge amount of software components to choose from calls for continuous architectural thinking and consideration.
The Vision of Microsoft
Starting to "Empower people through great software anytime, anyplace, and on any device" the vision of Microsoft has evolved to "Create experiences that combine the magic of software with the power of Internet services across a world of devices."Architectural views of Microsoft and CORA scope
The Reference Architecture of Microsoft describes an application architecture in layers where each layer (Presentation, Services, Business and Data) contain a series of components that implement the functionality for that layer.
Mapping the reference architecture onto CORA results in the following matrix.
Within this architecture there is no Channel layer. This is surprising as Microsoft is actively working on several Channels (i.e. Pda, Mobile phone, Portals, Gaming infrastructure). Except for the UI Process Components there is no distinction between basic application functionality and composed functionality. It is not clear if the Communication layer can be compared with the integration layer of CORA. For the positioning of the BizTalk product this is very important. The Communication layer seems not to be positioned strongly enough.
There is no integration view in this Microsoft architecture which makes it difficult to understand the relation between for example the service layer and the business layer. Security and Governance is included as vertical layers, just like the CORA.
This Reference Architecture is described in detail and is very readable, although the version used for this comparison was still a beta (2008).
What is the added value of CORA in the Microsoft field
As shown the CORA is used as a quality instrument to assess the Reference Architecture of Microsoft. The following questions could be raised:
- Why is the Channel Acces layer absent?
- Are layers clustered/separated because of the available Mocrosoft software components or are there other reasons?
- How does this layering affect the usage of architecture styles?
For both an Enterprise Architecture and Software Architecture on Enterprise Level it is not possible to use solely this Reference Architecture as a quality instrument because a common IT landscape consists of Custom Developments, Packaged Based Solutions and Legacy implementations. As shown in this assesment at project implementation level the Reference Architecture of Microsoft can be used to create a Software (or Solution) Architecture only when it is connected to the CORA.
CORA can also be used to asses the Microsoft-components, regarding separation of responsibilities, decoupling, re-usability, portability and substitutability of elements, by plotting them onto the CORA layers and elements. This will be described in the next blog.
- Assessing IT solutions with CORA
- CORA and Archimate
- Architecture Styles and CORA
- ERP and PaaS
- CORA and Application Lifecycles
- CORA Methodology (Project level)
- The roadmap for Fusion Applications, CORA is there to help
- Technovisions "Sector-as-a-Service" mapped
- Business Logic and the CORA Model, Part II
- CORA and Cloud Computing: Static versus Dynamic View
- Technovisions "Thriving on Data" mapped
- CORA Foundation
- Business Logic and the CORA Model, Part I
- CORA and IBM
- CORA and Microsoft
- CORA and Cloud Computing: Overview
- Technovisions "Process-on-the-Fly" mapped onto CORA
- Risk aware design: using CORA to investigate an IT solution
- A ROA based iPhone App for SAP: Part II
- A ROA based iPhone App for SAP: Part I
- Technovisions "We Collaborate" mapped onto CORA
- SAP platform decomposition with CORA: SOA/ROA style
- 'Why' Driven Solution crafting
- CORA and TOGAF
- SAP platform decomposition with CORA: N-tier style
- Requirements for CORA
- CORA and Oracle
- Technovisions "You Experience" mapped onto CORA
- CORA and SAP
- CORA in action: design guidelines to implement repositories
- The basis of all, your data
- CORA and IAF
- Technovision and CORA - Overview
- The importance of an Integration layer