In this article we will cover Interpreter pattern,iterator pattern,mediator pattern,memento pattern,observer pattern from Interview perspective. Introduction Again I repeat do not think you get an architecture position by reading interview questions. But yes there should be some kind of reference which will help you quickly revise what are the definition. Just by reading these answers you get to a position where you are aware of the fundamentals. But if you have not really worked you will surely fail with scenario based questions.
|Published (Last):||17 August 2008|
|PDF File Size:||17.89 Mb|
|ePub File Size:||8.46 Mb|
|Price:||Free* [*Free Regsitration Required]|
In my previous article we had concentrated on Design Patterns and UML which are the most important fundamentals for architecture interviews. One of the other areas which needs to be strong for architects is an understanding of SOA. Again I repeat, do not think that you will get an architecture position by reading interview questions.
But yes there should be some kind of a reference which will help you quickly revise what the definitions. Just by reading these answers you get to a position where you are aware of the fundamentals. But if you have not really worked on these you will surely fail with scenario based questions. So use this as a quick revision rather than as a shortcut.
SOA stands for service oriented architecture. Before we define SOA let's first define a service. In the real world, a service is what we pay for and we get the intended service. For instance you go to a restaurant and order food.
Your order first goes to the counter and then it goes to the kitchen where the food is prepared and finally the waiter serves the food. In the same manner in software world, these services are termed as business services. They are self contained and logical. All the services are self contained and logical. They are like black boxes. In short we do not need to understand the internal details of how the business service works. SOA is an architecture for building business applications using loosely coupled services which act like black boxes and can be orchestrated to achieve a specific functionality by linking together.
If you need to integrate or make an existing system as a business service, you just need to create loosely coupled wrappers which will wrap your custom systems and expose the systems functionality in a generic fashion to the external world.
In SOA we can divide any architecture in two layers. The first which has direct relevance to the business as it carries out business functions. The second layer is a technical layer which talks about managing computer resources like database, web server, etc.
This division is needed to identify a service. It has various components which interact with each other to complete the order system functionality. The simple order system can be divided in to two layers see figure 'business and plumbing layer' - one which is business related and second which is more technical related.
You can see the plumbing layer consisting of data access layer, AJAX, and yes more technical stuff. Services are logical grouping of components to achieve a business functionality. Components are implementation approaches to make a service. Please note this architecture diagram is not tied up with implementations of Microsoft, IBM etc.
How they do it is completely their own technological implementation. The main goal of SOA is to connect disparate systems. In order that these disparate systems work they should message each other. ESB Enterprise Service Bus acts like a reliable post office which guarantees the delivery of messages between systems in a loosely coupled manner. ESB is a special layer which delivers messages between applications.
In the figure we have shown a huge plump pipe. SOA supervisor is a traffic cop ensuring that services do not have issues. It deals mainly with performance issues of the system so that appropriate service levels are met.
If any of the services have performance problems it sends messages to the proper infrastructure to fix the issue. Note : The above explanation is of the general architecture for SOA. As this is a software architecture book, we will not be covering specific vendor implementations. We would advise the reader to map this to their vendor products for a better understanding.
These are the three terminologies on which SOA service stands. Every service must expose one or more ends by which the service can be made available to the client. The End consists of three important things: where, what, and how:. Below figure show the three main components of the end.
You can see the stock ticker is the service class, which has an end hosted on www. Web services are the preferred standards to achieve SOA.
SOA Interview Questions: Part 1
Hi Sir, How was the party given by vijay. I think you missed one more guy who like you very much Sir i am a big fan of urz, u writing methology is superb and i love reading ur posts. I am currently deputed as senior software engineer and wants to pursure my career to software architect side. Kindly let me know some useful resources books plus articles, especially scenario based questions. Looking forward to hear from u soon. Hi I read this post 2 times.
Software Architecture Interview Questions Part 2 ( Design pattern )
Software Architecture Interview Questions By Shivprasad Koirala Sham Sheikh Hard copy is a ...