Reader small image

You're reading from  Enterprise Application Architecture with .NET Core

Product typeBook
Published inApr 2017
Reading LevelIntermediate
PublisherPackt
ISBN-139781786468888
Edition1st Edition
Languages
Right arrow
Authors (4):
Ganesan Senthilvel
Ganesan Senthilvel
author image
Ganesan Senthilvel

Ganesan Senthilvel is a passionate IT leader with two decades experience in architecture, design, and implementing cutting edge solutions to the address business opportunities of enterprise applications. He has earned a Master's degree in Computer Science and Master's degree in Business Administration. Now, he is pursuing a doctorate program in Big Data. He is a consistent technical contributor via COE, Blog, Whitepaper, Summit, Certification, and so on. Highly skilled at providing coaching and mentoring to internal teams and external institutes, he maintains his weekly blog at http://ganesansenthilvel.blogspot.in. He has published double dozens of technology articles on CodeProject and LinkedIn Pulse. He has earned industry certifications in Big Data, Microsoft (MCP, MCAD), and the financial domain.
Read more about Ganesan Senthilvel

Ovais Mehboob Ahmed Khan
Ovais Mehboob Ahmed Khan
author image
Ovais Mehboob Ahmed Khan

Ovais Mehboob Ahmed Khan is a seasoned programmer and solution architect with nearly 20 years of experience in software development, consultancy, and solution architecture. He has worked with various clients across the world and is currently working as a senior customer engineer at Microsoft. He specializes mainly in application development using .NET and OSS technologies, Microsoft Azure, and DevOps. He is a prolific writer who has written several books and articles on various technologies. He really enjoys talking about technology and has given a number of technical sessions around the world.
Read more about Ovais Mehboob Ahmed Khan

Habib Qureshi
Habib Qureshi
author image
Habib Qureshi

Habib Qureshi is an integration architect and lead developer with almost two decades of professional experience in the software industry. He has worked with start-ups and enterprises, successfully delivering high-quality solutions in an agile manner. He has experience in multiple countries and cultures with on-site, off-site, and remote teams. He is a go-getter and teams always look up to him for technical reviews and solutions.
Read more about Habib Qureshi

View More author details
Right arrow

SOA Implementation with .NET Core

In this chapter, we will draw heavily from the skills and knowledge that we have gained in the previous chapters of this book. The matter in this chapter is dense and focuses on the architectural perspective, therefore it demands good attention. Once we understand the core SOA architecture principles, then coding SOA services becomes a piece of cake.

The topics that will be covered in this chapter are as follows:

  • SOA definition
  • SOA modeling
  • SOA pivotal components
  • Types of SOA services
  • Sample SOA implementation

SOA definition

Shrinking the concepts learned in the first chapter on enterprise architecture, we can segment them into four perspectives:

  • Business perspective
  • Application perspective
  • Information perspective
  • Technology/Infrastructure perspective

For this chapter, our core focus is on the application perspective, where we'll talk about implementation of Service-Oriented Architecture (SOA) into our enterprise using the .NET Core as the primary software technology. By saying this, we take heavy presumptions that our business architectures have been created, our data models are ready, our infrastructure is either already there or coming into place based on our enterprise's technology architecture, and now we are moving forward to our agreed-upon application architecture (which we will talk about as our SOA definition and theory) to look for solutions with .NET Core as a primary enabler.

...

SOA modeling

There are a number of SOA models and frameworks that exist in the market, but we will consider those which are the most referenced ones.

SOA Reference Model

A reference model is an abstract framework to understand and describe the significant entities and relationships among them for some environments. It is used or referred to for development of consistent standards or specifications supporting the environment of the enterprise.

The OASIS SOA Reference Model (SOA-RM) is an abstract framework that provides the fundamental concept of SOA to understand the entities and relationships between them, and for the development of SOA standards within an organization.

In the dictionary, service is defined as An act or a variety of work done by one for another...

SOA features and components

Here, the SOA components that we will discuss are just to give you an idea about the meta-technical architecture level concepts. These are not the de-facto standards, but they provide a strong basis to build your organization's SOA architecture. Therefore, we take a summarized look at one of the most common industry standard architecture.

Service Component Architecture

Service Component Architecture (SCA) is one of the most popular standards, dating from 2005. It defines the architectural components of an SOA platform in a technical manner. It is standardized by the OASIS, mainly in collaboration with IBM, Oracle, and TIBCO.

It provides a model to compose applications that follow the SOA principles:

In a nutshell, SCA has the following...

Sample SOA implementation

The word sample is defined as A small part of something intended as representative of the whole in the dictionary (https://www.vocabulary.com/dictionary/sample).

So, in this section, we will implement a few types of services, which represent the most commonly implemented SOA service patterns. And we will be using .NET Core for all of the stuff. Therefore, it's a limited SOA sample implementation.

Introduction

Since the book is focused on enterprise architecture implementation instead of pure architectural knowledge or theory, therefore, we have tried to cover (or touch upon) all fundamental parts of an SOA architecture in just one chapter instead of the whole book as this topic deserves in the architectural sense.

For our sample implementation...

Summary

In this chapter, our primary focus was to understand and build the SOA software implementation architecture. We took a top-down approach from how to define architecture to SOA-specific architectural concepts using the right aspects and attributes to consider while modeling the SOA platform.

We then took a closer look at the essential artifacts required for developing a general SOA architecture and gradually moved towards the technical perspective of the implementation architecture.

Finally, we did a skeleton implementation for some of the SOA services in our sample scenario. We used .NET Core with C#, realizing how easy it is to write the code with rich framework support, especially for REST-based web services. As an additional perk, our code is already cross-platform; we can even write the code in one platform and deploy it to other platforms.

...
lock icon
The rest of the chapter is locked
You have been reading a chapter from
Enterprise Application Architecture with .NET Core
Published in: Apr 2017Publisher: PacktISBN-13: 9781786468888
Register for a free Packt account to unlock a world of extra content!
A free Packt account unlocks extra newsletters, articles, discounted offers, and much more. Start advancing your knowledge today.
undefined
Unlock this book and the full library FREE for 7 days
Get unlimited access to 7000+ expert-authored eBooks and videos courses covering every tech area you can think of
Renews at $15.99/month. Cancel anytime

Authors (4)

author image
Ganesan Senthilvel

Ganesan Senthilvel is a passionate IT leader with two decades experience in architecture, design, and implementing cutting edge solutions to the address business opportunities of enterprise applications. He has earned a Master's degree in Computer Science and Master's degree in Business Administration. Now, he is pursuing a doctorate program in Big Data. He is a consistent technical contributor via COE, Blog, Whitepaper, Summit, Certification, and so on. Highly skilled at providing coaching and mentoring to internal teams and external institutes, he maintains his weekly blog at http://ganesansenthilvel.blogspot.in. He has published double dozens of technology articles on CodeProject and LinkedIn Pulse. He has earned industry certifications in Big Data, Microsoft (MCP, MCAD), and the financial domain.
Read more about Ganesan Senthilvel

author image
Ovais Mehboob Ahmed Khan

Ovais Mehboob Ahmed Khan is a seasoned programmer and solution architect with nearly 20 years of experience in software development, consultancy, and solution architecture. He has worked with various clients across the world and is currently working as a senior customer engineer at Microsoft. He specializes mainly in application development using .NET and OSS technologies, Microsoft Azure, and DevOps. He is a prolific writer who has written several books and articles on various technologies. He really enjoys talking about technology and has given a number of technical sessions around the world.
Read more about Ovais Mehboob Ahmed Khan

author image
Habib Qureshi

Habib Qureshi is an integration architect and lead developer with almost two decades of professional experience in the software industry. He has worked with start-ups and enterprises, successfully delivering high-quality solutions in an agile manner. He has experience in multiple countries and cultures with on-site, off-site, and remote teams. He is a go-getter and teams always look up to him for technical reviews and solutions.
Read more about Habib Qureshi