Most current SOA publications suffer from two main problems: being too technical oriented right from the start, and taking too much of a theoretical approach. This course, Real World SOA: Analysis and Design, tackles both problems and it will help make you understand the business behind SOA before it jumps into technology. First, you will learn by seeing a real life business case, and learn about the real life problems and solutions. Next, you'll learn about the fundamentals of SOA, including architecture, services, service types, reuse, and composition. Finally, you'll learn about the importance of designing a common semantic model for all SOA services. By the end of the course, you will be equipped with all the tools needed to implement the "correct SOA".
Course Introduction Hi. This is Mohamad Halabi. Welcome to the Real World SOA: Analysis and Design course. If you want to learn all about SOA beyond the misconceptions and false expectations and if you want to understand when to implement SOA and how to implement it all within the context of real world problems and solutions, then you're at the right place.
The Case Study Welcome to module, The Case Study. You are watching Real-World SOA: Analysis and Design. As I said in the previous module, the content is divided into three areas. In this module, we start with the first area and that is understanding the context, and the first step is understanding the case study. This is very important because unless you understand the problems that we are trying to solve, you won't be able to understand the value of SOA.
What Is SOA? Welcome to module, What is SOA. You are watching Real-World SOA: Analysis and Design. In the previous module, you understood the case study and the problems that are driving the organization to look for SOA as a possible solution. Now that the problem is clear, we first need to understand what exactly is SOA and to clear misconceptions and false expectations. Note that we're still setting the context here, so we'll not be talking about architecture just yet. We, first, want to understand what is SOA and why is it a sort of a solution to our problems.
Challenges of SOA's Success Welcome to module, Challenges of SOA's Success. You are watching Real World SOA: Analysis and Design. Despite all the benefits that SOA brings to an organization, successfully adopting SOA faces a series of challenges. Understanding these challenges is important for two core reasons. First, to decide if SOA is worth the effort, as you do a tradeoff between the benefits and the challenges, and then if you decide to go the SOA path, in order to have a strategy in place to overcome these challenges.
SOA Planning Considerations Welcome to module, SOA Planning Considerations. You're watching Real World SOA: Analysis and Design. In this module, we'll look briefly at some of the core aspects of SOA planning. The purpose is not to discuss project planning in detail. Rather, I just want to briefly touch on some key concerns to keep in mind while planning for SOA.
Pause and Recap Let's now take a breather and have a quick recap of what we've covered and a look at what lies ahead. SOA is a very misunderstood term. I've met any people thinking that SOA is some kind of web service integration or a vendor product and many other misconceptions that we talk about in this module. Because SOA is misunderstood, there are so many implementations that are incorrectly called SOA or implementations that fail because of lack of understanding of business goals and challenges. Because of this, I've decided to spend time setting up the context of SOA. As we introduce the business domain, what is SOA and what is not SOA, why SOA is a suitable solution, and what are the expected challenges. Once you understand this context, then you have what you need to take a well-informed decision of SOA is right for you by trading off the business goals that SOA will help achieve versus the cost you have to pay to tackle the challenges associated with SOA. Next, we start a discussion about the what aspect of SOA as we will examine SOA as an architecture this time. In the next few modules, we talk about SOA reference architecture, the overall structure and interactions of SOA building blocks, service classifications, and service granularity.
SOA Fundamentals Welcome to module, SOA Fundamentals. You are watching Real World SOA: Analysis and Design. In this module, we'll start the journey of the what aspect as we understand what is SOA and what it is made of. In this module, we start by examining SOA as an architecture style. You'll learn the fundamental building blocks of SOA in terms of a SOA reference architecture.
Service Layers Welcome to module, Service Layers. You are watching Real World SOA: Analysis and Design. In this module, we continue what we started in the previous module and that is discussing SOA reference architecture. Now we're going to take a detailed look at the services layer, the core layer of the SOA reference architecture. In the previous module, you saw a typical SOA reference architecture. In this section, let's zoom in on a core layer, the services layer. There are various ways how services are classified and actually there are no different right and wrong ways since each organization might have different characteristics, which might result in specialized service layering. That being said; however, there are two fundamental characteristics that must be honored in any SOA service layering approach. First, there must be a layer for business services. These business-oriented reusable services are the essence of SOA, which helps organizations to achieve agility. Second, there must be a service layer, which loosely couple these business services from the existing organization assets. Abstracting this organization resources behind this layer allows the business services to evolve independent of existing systems, platforms, technologies, and APIs. This is essential to achieving the required business flexibility. Now given these two architecture constraints, let's now examine the service types in our SOA reference architecture.
Service Granularity Welcome to the module, Service Granularity. You are watching Real World SOA: Analysis and Design. So far we have discussed in detail SOA building blocks in terms of reference architecture and we zoomed in into the service layers and examined the different types of services. Before wrapping up the what aspect, we need to examine an important topic and that is service granularity. Granularity is one of the topics that causes confusion for service developers, but as we will see in this module it is a very important topic to be understood.
Pause and Recap - Part 2 Just as we did at the end of the why aspect, let's again take a breather and have a quick recap of what we've covered and a look at what lies ahead. You're watching Real World SOA: Analysis and Design. Just like any architecture, SOA is made up of a set of building blocks. Before you take any step forward, you must have a solid understanding of these building blocks, how they are structured, and how they interact with each other. SOA building blocks cover more than just services and you need to understand the role of each of these blocks. Services are of course the core building block and services are classified into different layers. Each layer plays a different role. In the previous three modules, we covered all about SOA building blocks, how they interact with each other, and the different classifications of services. In addition, because it's an important design topic that often causes confusion, we allocated dedicated space to discuss service granularity. Having reached so far, you now have the required knowledge to set up a SOA reference architecture that fits your organization needs. Next, we start a discussion about the how aspect of SOA armed with our understanding of the why and what aspects. Next, we learn a step by step methodology of how to apply SOA to our business case. We start with business architecture and explain why it plays such an important role in SOA, we then discuss a methodology to identify and classify services, and then we see how to design an information model to guarantee the semantic interoperability of the identified services.
Creating the Business Architecture Welcome to module, Creating the Business Architecture. You are watching Real World SOA: Analysis and Design. In this module, we start our discussion about the how aspect. As explained in the previous modules, creating the business aligned SOA services requires the understanding of the business. Business architecture is an extremely important discipline that plays a critical role in business IT alignment. In this module, we have an overview about business architecture and we understand its importance to SOA.
Case Study: Creating the Business Architecture Welcome to the module, Case Study: Creating the Business Architecture. You are watching Real World SOA: Analysis and Design. In the previous module, you learned about the important concepts of business architecture. You learned that business architecture is the only way you can link SOA to business objectives and show how SOA provides business value. In this module, let's apply these concepts in our case study.
Identify Services Welcome to the module, Identify Services. You are watching Real World SOA: Analysis and Design. In the previous two modules, we understood what is business architecture and we derived the business architecture for our case study that is required to start service identification. In this brief module, we cover essentials for service identification, and in the next module, we start the actual process.
Case Study: Identify Services Welcome to module, Case Study: Identify Services. You're watching Real World SOA: Analysis and Design. After all the preparation, let's finally get our hands dirty by identifying our SOA services. In this module, we'll examine three processes I selected out from the processes item defined as part of our capability map. Each process will be analyzed in a separate section and each section will show you a set of real life challenges typically faced during service identification. Please note that the business processes are simplified to remove business-specific complexities, not relevant to our discussion. At the end, the purpose is not to let you master the business domain of the business case, rather of course, to learn SOA.
Create the Information Model Welcome to module, Create the Information Model. You are watching Real World SOA: Analysis and Design. The final piece of the puzzle is to create an information model that guarantees semantic interoperability between our services. So what is semantic interoperability, why do we need it, and what exactly is an information model? All these topics will be explained in this module.
Recap and a Look Ahead Welcome to the final module, Recap and a Look Ahead. You're watching Real World SOA: Analysis and Design. We have covered a lot of ground in this course. In this module, let's recap what we've learned. Let's also take one final look at how we have managed to achieve the business objectives through what we've learned and let's take a look at where to go from here.