Varun Sharma, who is an IBM Certified SOA Architect and a dear friend wanted to share his experiences and learnings on SOA. He would be doing a series of posts on the emerging trends and best practices in the field. The aim is to explain SOA in simple and easy to understand language so that you can reap maximum benefits out of it.
Introduction to SOA
Service Oriented Architecture (SOA)… is it a fad or reality? Well for me it’s neither… for me it’s just an opportunity. An opportunity to build leaner meaner organizational architecture, an opportunity to add news dimensions to your existing business, an opportunity to learn from mistakes committed in past (ERP/CRM) and multiply the ROI on forthcoming business & IT investments, an opportunity to dissolve the barriers within companies and also barriers separating companies from vendors/suppliers, an opportunity to explore the unexplored.
SOA is everywhere… hey I don’t mean SOA is God. But if you look closely, SOA is indeed everywhere on this planet. May that be a restaurant or a bank or even a retail shop, SOA is present everywhere. A bicycle would be the simplest example of SOA from the real world. Each component of a cycle is a self-contained unit which when combined with other components produces a forward motion. In essence tires, the steering rod, the brake line, the spokes within the tire’s rim, the chain, the two gears one in each tire combine with each other to produce a blissful motion. These individual components can be considered as services and the motion of cycle can be considered as a function or a process which resulted from pre-defined services. That’s how bicycle is an example of SOA.
What does this above analogy tell you about SOA?? (NOTE: I am taking top-down approach to explore this topic) It implies that SOA is not a framework, design pattern, coding standard or an architecture BUT it’s simply a concept. SOA is a concept of using autonomous, reusable, discoverable and stateless services which in turn combine (choreograph or orchestrate) to produce the desired/expected result. The same components with or without other components can be used to formulate a new business function. Going back to our previous analogy, we could imagine making a unicycle from all the components used in making a bicycle, we could also think on lines of making a mechanism of making a hand paddled tricycle for physically handicapped people. So you see, the components more or less remain the same (autonomous yet reusable) but the function they offer after different compositions can vary.
Now let’s take a quick look at the definition of SOA for technology enthusiasts & analysts; In order to derive a proper definition I would take help of SOA Reference Architecture as depicted below (NOTE: SOA Reference Architecture has been taken as a datum for this write-up for the simple reason that the SOA Suites built by both IBM and Oracle are based on the SOA Reference Architecture). This is how an enterprise built upon a SOA Architecture would look like. The layers should ideally be demarked as depicted below.
Source: http://www.ibm.com/developerworks/library/ar-archtemp/
The Operational layer would have all the packaged and custom applications hosted, along with software development kits and other infrastructural components. The Service Component layer represents the business component layer. This layer represents all the individual business components with integrate to form a whole web application. The Service layer represents the place holder for all the services that represent the encapsulated and wrapped Service/Business components in the referenced layer below. The services in this layer are atomic and autonomous and are often represented by web services (WSDL & XML are the backbone of web services), however the same services when referenced in the Business Process layer they represent a complete business function. The services in the Business Process layer are choreographed to formulate desired business function and achieve the targeted result (this is mostly achieved by using BPEL). Now the same business process formulated above is exposed to the end customer in the Consumer Layer. The consumer action triggers the business process which is built on referential integration on top of other layers and thus leads to utilization of business components using a web service defined inside a business process.
Now based on the above description of layer within most popular SOA Architecture we can say that; “SOA is an architecture approach for defining, linking, and integrating reusable business services that have clear boundaries and are self-contained with their own functionalities. Within this type of architecture, you can orchestrate the business services in business processes.”
To increase flexibility, the company has to look at its business as a collection of interconnected functions, discrete processes and services, such as check customer credit or authenticate user, and then decide which of those functions are core or differentiating, and which can be streamlined or even outsourced. If the company can mix and match these functions at will or on the fly, in response to changing business conditions, the company will have a tremendous competitive advantage in the marketplace. It is a powerful idea. But to achieve this degree of flexibility in the business operations, the company will need an equally flexible IT environment. It needs a service-oriented architecture (SOA).
It is very likely that business transactions will be significantly easier with an SOA. SOA is an approach for building distributed systems and achieving enterprise integration by delivering application functionality as services to either end-user applications or other services. An SOA could be the difference between the success and failure of the next:
· Department, intra-company, or inter-company merger
· Acquisition
· Divestiture
· Product or service rollout
· Business partner, customer, or supplier addition
· Geographical expansion
· Competitive onslaught
We would love your feedback on the post. Do you Agree? Disagree? Find it useful? Do let us know.
Tuesday, December 21, 2010
Wednesday, December 15, 2010
Textbook Buyback Service From Amazon
Amazon.com seems to have started their own textbook buyback service. Not exactly sure when they started it but I was not aware till this morning when I received this email:
The process looks pretty simple. You search the books using ISBN, title or author, print a shipping label, package and send it across and get an Amazon gift card in return.
But I also wanted to check if there are other players in the market that provide the same service and guess what - there are lots of them. So how do you make sure that Amazon is offering the best price. With a little research I found bigwords.com which compares the buyback prices for quite a few buyback merchants. It seems that Amazon offers a pretty decent price as compared to other players.
Though I was not exactly in a mood to sell one of my most prized possessions (Web Analytics 2.0 by Avinash Kaushik), I was intrigued by the email and decided to explore further.The process looks pretty simple. You search the books using ISBN, title or author, print a shipping label, package and send it across and get an Amazon gift card in return.
But I also wanted to check if there are other players in the market that provide the same service and guess what - there are lots of them. So how do you make sure that Amazon is offering the best price. With a little research I found bigwords.com which compares the buyback prices for quite a few buyback merchants. It seems that Amazon offers a pretty decent price as compared to other players.
You can use this service if you want to earn some money while disposing off your old books or you can make use of a book swapping service to get a new book in return. Either ways it's a win-win :)
Monday, December 13, 2010
Basic Steps to Setup a Formal Meeting
Conducting meetings is an essential function of a Business Analyst’s job profile. These meetings usually involve large groups of people from different teams at different locations and often unknown to the Business Analyst. Getting such a group together and sharing/extracting relevant information is an achievement if done in the right way but can lead to embarrassment if done incorrectly. Here are some tips from my personal experience that would help you setup a good meeting. Please note that I would be covering only meeting setup and would be leaving out the ‘during’ the meeting and post meeting steps for some other time.
1. Invitees
For a meeting that involves multiple groups it is important that all the groups have the right representation. It is important to invite the right players/stakeholders for a meeting. It would be a good idea to prepare a group wise list for all attendees and review it with somebody who is familiar with all the groups before sending the invite. That ways, situations like business people invited to a IT meeting and vice versa can be avoided.
2. Subject
The subject should be concise but should be informative enough to indicate the purpose of the meeting. It is a good idea to mention the project and the action item of the meeting in the subject for example Retail Warehouse enhancement Project – FSD Review or Retail Warehouse project – Weekly team meeting etc. This will give a clear idea to the recipient if it is a relevant meeting for him or decide on the priority in case he has any conflicts.
3. Time and Location
4. Agenda
In the meeting invite the agenda of the meeting should be mentioned, so that the invitees have a clear idea on what all would be covered. It is recommended to breakdown the agenda into small bullet points which are easy to track.
5. Dial-in details
It is highly recommended to have dial in details for the people who cannot be physically present at the meeting.
6. Documents/Visual Aids
In case you would be using any documentation or presentation, either soft copies as attachments or links to them in case they are accessible at a shared location should be provided. It would be great if you can arrange a projector for your presentations but if that’s not possible you should have sufficient number of copies available with you at the start of the meeting.
1. Invitees
For a meeting that involves multiple groups it is important that all the groups have the right representation. It is important to invite the right players/stakeholders for a meeting. It would be a good idea to prepare a group wise list for all attendees and review it with somebody who is familiar with all the groups before sending the invite. That ways, situations like business people invited to a IT meeting and vice versa can be avoided.
2. Subject
The subject should be concise but should be informative enough to indicate the purpose of the meeting. It is a good idea to mention the project and the action item of the meeting in the subject for example Retail Warehouse enhancement Project – FSD Review or Retail Warehouse project – Weekly team meeting etc. This will give a clear idea to the recipient if it is a relevant meeting for him or decide on the priority in case he has any conflicts.
3. Time and Location
Time and location are very crucial for any meeting more so in case of a large group. It is advised to send across the meeting invite at least 2 to 3 weeks in advance if it involves a large group. Once you have the list of attendees, make sure the meeting room that you reserve is big enough to accommodate everyone. It’s a good idea to put all the required attendees in ‘To’ field of the outlook meeting request and determine the meeting time based on the maximum available slots at a particular time. This would help avoid conflicts with other meetings and increase the attendance. Also the time slot for the meeting should be enough to cover the agenda of the meeting. It should neither be too long or too short.
In the meeting invite the agenda of the meeting should be mentioned, so that the invitees have a clear idea on what all would be covered. It is recommended to breakdown the agenda into small bullet points which are easy to track.
5. Dial-in details
It is highly recommended to have dial in details for the people who cannot be physically present at the meeting.
6. Documents/Visual Aids
In case you would be using any documentation or presentation, either soft copies as attachments or links to them in case they are accessible at a shared location should be provided. It would be great if you can arrange a projector for your presentations but if that’s not possible you should have sufficient number of copies available with you at the start of the meeting.
Subscribe to:
Comments (Atom)
