The Windows Azure platform is a cloud computing technology which was introduced by Microsoft and is the foundation for running applications and storing data in the cloud. Due to the competitive business demands these days there is a great need to provide efficient operational services to customers. Therefore, cloud computing has played a vital role in the market which gives developers the flexibility to develop applications more rapidly. This is one of the reason why Microsoft decided to place itself in the cloud computing marketplace as its competitors Google, Oracle and Amazon.
Windows Azure simplifies maintaining and operating applications by providing on-demand compute and storage to host, scale, and manage web and connected applications.It is a flexible platform that supports multiple languages and integrates with your existing on-premises environment. Microsoft is trying to manage the entire cloud life cycle development in a way which it already did with the development of local applications using .Net tools. The real challenge many organizations will face is how cloud based solutions is going to handle enterprise data, where the right tools will be required to ensure data integrity is maintained.
The overall cost of Windows Azure is still much higher than a Linux based solution. Microsoft has based Azure on three pricing models according to the organizations requirements. First is the consumption-based, whereby a customer pays for what they use; second is subscription-based, where customers can avail the service over a certain period of time; and finally volume licensing for enterprise customers that want to take existing Microsoft licenses into the cloud. With these pricing models Microsoft is giving its customers the option to select which criteria best fits their business model.
Further information about Windows Azure can found at: http://www.microsoft.com/windowsazure/windowsazure/
Service Oriented Architecture (SOA) is a collection of services which communicate with each other. The primary goal of SOA is to achieve loose coupling among interacting software agents and allow services and their corresponding consumers communicate with each other by passing data in a well-defined, shared format, or by coordinating an activity between two or more services.
At the core of the SOA is the need to be able to manage services as first order deliverables. It is the service that we have constantly emphasized that is the key to communication between the provider and consumer. So we need a Service Architecture that ensures that services don’t get reduced to the status of interfaces, rather they have an identity of their own, and can be managed individually and in sets.
Within an organization and other organizations who are in a partner venture, code for existing business applications, expose it as web services, and then reuse it to meet new business requirements. The ability to reuse functionality that already exists outside or inside an enterprise instead of reproducing can result in a huge savings in application development cost and time. The benefit grows dramatically as more and more business services get built, and incorporated into different applications.
Web services has been playing a vital role to implement service-oriented architecture solutions. They make functional building-blocks accessible over standard internet protocols independent of platforms and programming languages. These services can represent either new applications or just wrappers around existing legacy systems to make them network-enabled.
Loosely-coupled services are typically more flexible than more tightly-coupled applications. In a tightly-coupled architecture, the different components of an application are tightly bound to each other, sharing semantics, libraries, and often sharing state. This makes it difficult to evolve the application to keep up with changing business requirements. The loosely-coupled, document-based, asynchronous nature of services in an SOA allows applications to be flexible, and easy to evolve with changing requirements.
Other approaches that integrate various business resources such as legacy systems, business partner applications, and department-specific solutions are expensive because they tend to tie these components together in a customized way. Customized solutions are costly to build because they require extensive analysis, development time, and effort. They’re also costly to maintain and extend because they’re typically tightly-coupled, so that changes in one component of the integrated solution require changes in other components. A standards-based approach such as a web services-based SOA should result in less costly solutions because the integration of clients and services doesn’t require the in-depth analysis and unique code of customized solutions.
The initiation of Service Oriented Architecture and web services has allowed businesses to cut down on cost and provide greater flexibility. It enables businesses to leverage existing investments by allowing them to reuse existing applications, and promises interoperability between applications and technologies. SOA is the separation of the service interface from its implementation. Such services are consumed by clients that are not concerned with how these services will execute their requests.