The Internet Service Bus
Summary: Web applications are an extremely common application model, and they will become increasingly dominant. Almost all applications in medium to large businesses offer a Web user interface. In this article, we will use the term enterprise to encompass medium to large enterprises, and the software vendor and integrator companies. Desktop and client/server applications are increasingly using the browser for the UI engine and making calls to data and services through Web protocols.
Software, application models and the Web itself are undergoing a revolutionary transformation. This transformation will have as large an effect on computing as the client/server model or the initial emergence of the Web itself. The Web will evolve from connecting users to applications provided by sites into a model in which:
· The application executes “in the Web.”
· End-users develop their own applications for accessing the Web, transforming it into an end-user developed workspace for access to Web services.
This paper focuses on a small number of elements of the transformation. Other papers will expand the vision.
Several technologies and trends provide the impetus for the revolutionary transformation described above. Some examples are: multi-core processors; virtualization; application scenarios that federate many devices, such as mobile phones and tablets; Service-Oriented Architecture (SOA) and Web services; Web 2.0; and Software as a Service (SaaS).
We will discuss the effect of some of these trends, but our primary focus is SOA, Web 2.0, and Software as a Service (SaaS). These concepts and their relationships are not well understood. The technologies often appear to conflict. The paper describes the elements of a high-level reference architecture that brings the concepts together into a consistent whole.
Many of the preceding technology trends have broad acceptance and awareness. This paper discusses a third trend that is more controversial: ubiquitous programming ability. A large percentage of high school and college graduates have basic programming skills when entering the workforce; many students have developed simple PHP or Visual Basic applications and built Web sites. The professionals’ primary job responsibilities may not include programming, but in many cases professionals will do simple programming if it makes them more productive. They may also develop simple applications because it is “cool.” We will use the terms end-user programming for this concept.
End-user programming is an extreme case of opportunistic development, which occurs in departments and Lines of Business (LOBs) in enterprises. LOBs and teams often build simple, “quick and dirty” SharePoint or PHP applications that solve an immediate business problem by extending packaged applications or enterprise-wide core applications.
Opportunistic development contrasts with systematic development. Systematic development is model-driven, replete with requirements gathering, use cases and stakeholder interviews, an application development life cycle that includes quality and assurance, and so forth. Systematic development is the predominant model of the enterprise development team (“the CIO team”). Many packaged application developers (independent software vendors or ISVs) and Systems Integrators (SIs) also produce systematic solutions.
There is a tension in enterprises between opportunistic development and systematic development. This tension will increase if end-user programming becomes common. End users will not be content to wait for the systematic development teams to develop or modify solutions. The reference architecture we describe provides an approach for reconciling the extremes of opportunistic and systematic development.
We use a scenario to illustrate the reference architecture. A core element that emerges and underpins the architecture is an Internet Service Bus (ISB). The reference architecture encompasses many elements, however, this paper provides detail only for the ISB. Other papers will describe other elements.
http://msdn.microsoft.com/en-us/library/bb906065.aspx
Wednesday, March 30, 2011
Subscribe to:
Post Comments (Atom)

No comments:
Post a Comment