Bridging the Office Divide

Computers are becoming more important as communications devices than as machines that process operations. To get the best functionality out of your technology, I recommend adopting a Service Oriented Architecture approach.

SOA Defined

Service-Oriented Architecture is a methodology followed by IT departments to break down their resources into modules. This approach increases their business agility by creating loosely coupled business processes integrated across a business. Service orientation ties together and bridges information across multiple platforms and utilizes a wide range of technologies and communication protocols, such as XML, web services, simple object access protocol (SOAP), and so forth.

The simplest example of this is the way the different discrete programs within Microsoft’s Office suite interact. If you add a contact in MSN Messenger, and that person then sends you an email you open in Outlook, the program recognizes that this is a known contact and can inform you if . Both programs interact with the same contact information service, making it unnecessary to keep separate contact lists.

Imagine that as a manager you need constant updates from your IT department, financial department, human resources and so on. Usually you get this information piece by piece, and your employees each format the information they provide in a different way. Every time you are provided with information, you never receive the direct impact of one department on another. Sifting through all the jargon from each department to create a cohesive understanding of the company is a time-consuming hassle that can be bypassed by employing service-oriented architecture (SOA, see sidebar).

Managers and IT departments are now working together to address the problem of critical parts of a business working in isolation of each other. Managers want all the information at once and processed to make sense of the larger picture. IT departments needs to make computer applications communicate with each other, so employees can automatically collaborate on the information they have. SOA provides a single solution for these needs.

The Steps of SOA

Microsoft, a strong industry advocate of SOA whose own development incorporates the methodology, defines implementing SOA into three phases: Expose, Compose and Consume. The Expose phase focuses on what services should be created by utilizing the applications and information involved. A service is simply a capability — such as spell-checking or collating data from a form — available to a piece of software. Some prefer to create services that map every single business process, while others combine services to enable a certain business requirement.

Once the service has been created, it can be mixed and matched together with other services into more complex services, applications and cross-functional business processes. The Compose phase increases the power of your solution through reusability, inter-operability and prepares for future expansion of your current infrastructure as your business evolves.

When your application has been created, you need to make it accessible for you and your employees. In other words, users will Consume it in different ways that include rich internet applications (RIAs) smart applications for mobile devices, web clients and common business applications such as MS Office.

Sounds like a good strategy, right? But who really uses SOA? People involved in an SOA solution can span over many roles within the organization, but it is created by solution architects and implemented by IT developers. As long as they understand the goal of SOA is to unify the different parts of a business, the solution will meet the needs of the organization as a whole.

The Best Approach for SOA

SOA design and implementation is usually divided into three parameters: top, middle and bottom. The top is how the application appears visually, the middle is a representation of the needs of each department and the bottom is the data the developers use to construct the application.

There are two commonly used approaches for implementing SOA: top-down and bottom-up. Both have advantages depending your type of business, but each also comes with its own problems. The top-down approach begins with how the display looks and how the program interacts with the employee. It puts business needs second, so this strategy sometimes fails to address each department’s requirements. The bottom-up approach keeps usability and design as a last priority. This can lead to disorganization, which reduces the efficiency of your organization.

A third approach, known as middle-out, is a hybrid from both approaches, in which business needs and organizational needs are prioritized first. Based on these, the designers will create the solution to make the presentation and back-end processes of equal importance. This method is generally considered the best way to make SOA tailored to your business’ needs, although it is more logistically intensive to roll out.

SOA is not a single act to make your business more efficient, but a process that is part of your long term plans. Some organizations that successfully adopt SOA use a “snowball” approach: If you want to build a huge snowball, you start with a small one first and then you keep rolling it around more and more until it becomes big enough to become your snowman’s base.

SOA is intended to help you understand your business better and help your employees communicate company information more easily. But its concepts can also be applied in communicating with your customers. Let’s say you own a company that sells books online. When a customer buys a book, he submits his mobile phone number to receive updates on the status of his shipment. The phone number would then be sent to the courier company making the delivery, and a software program would send an SMS to the customer with every update on the status of the delivery. Once the book is delivered, the customer signs on the courier’s palm pilot, which is connected to the tracking system. Both you and the customer can visit your website (where the purchase was originally made) to see the entire history of the book shipment.

Business requirements come in different forms, which is why SOA changes from company to company and has few boundaries on how to define the right approach. If you wanted to adopt a SOA approach in your organization my advice would be:

1. Look at technology as a communications tool. A successful SOA plan will improve communications internally and externally.

2. Make sure you have your business needs clear and try to identify all obstacles in achieving that need. This will help you focus better on the value of the end product of your business and design a productive SOA plan.

3. Pursue the middle-out approach, it avoids the pitfalls of the top-down and bottom-up approaches.

4. Roll-out SOA quickly. This way you will see your results quicker and develop milestones to set as benchmarks for your company’s performance.

One Response to “Bridging the Office Divide”

  1. innovationstartups Says:

    Nice one!

    Post Request: Enterprise Integration Patterns using .NET Technologies


Leave a Reply