UNIT – II ARCHITECTING WEB SERVICES. WHAT ARE WEB SERVICES ? Web Services are loosely coupled,...

Preview:

Citation preview

UNIT – II

ARCHITECTING WEB SERVICES

WHAT ARE WEB SERVICES ?

• Web Services are loosely coupled, contracted components that communicate via XML-based interfaces.

• Loosely coupled means that Web Services and the programs that invoke them can be changed independently of each other. Loose coupling also implies that Web Services are platform independent.

• Contracted means that a Web Service’s behavior, its input and output parameters, and how to bind to it are publicly available.

WHAT ARE WEB SERVICES ? (Cont…)

• A component is encapsulated code, which means that the implementation of each component is hidden from outside the component. Each component’s functionality is only known by the interface it exposes.

• Advantages of XML: They have a human readable, text-based format that is firewall friendly and self-describing. All Web Services are described using a standard XML notation called its service description.

BUSINESS MOTIVATIONS FOR WEB SERVICES

• Managing Complexity and IT costs• Modularity and reusability were called

solutions to the problems of legacy programming.

• Remote Procedure Calls (RPC) architectures were created to address the problems that developed when components on different systems needed to communicate with each other.

BUSINESS MOTIVATIONS FOR WEB SERVICES (Cont…)

•Lingua Franca of B2B E-Commerce Need for single business vocabulary for all participants in each trading group ( XML is basis

for all this)

The Web Services provide a dynamic service description•Global E-Marketplace Vision Business requires two different companies to locate, identify, contact and transact with other

companies on “just in time “ basis without any previous

technical relationships.

BUSINESS MOTIVATIONS FOR WEB SERVICES (Cont…)

BUSINESS MOTIVATIONS FOR WEB SERVICES (Cont…)

BUSINESS MOTIVATIONS FOR WEB SERVICES (Cont…)

• Business-to- Business (B2B) • Business-to-Consumer (B2C)• Application-to-Application (A2A)• Human-to-Application (H2A)

B2B( B2B ) is a term commonly used to describe commerce transactions between businesses

B2B EVOLUTION

B2B• Business-to-business (B2B) integration technology is the

means to integrate the electronic data transmission between enterprises over: – public or private– secured or unsecured– transactional or unreliable networks

B2B - Example

Enterprise 1 Enterprise 2

Network

Data transformation

Security and non-repudiation

Contract

Conversation

B2B with Web servicelanguages and protocols standardized, eliminating need for many different middleware infrastructures (need only the Web services middleware)

internal infrastructure

supplier

customer

warehouse

internal infrastructure

internal infrastructure

internal procurementrequests

internal functionality made available as a service

Web service

Web service

Web service

interactions based on protocols redesigned for peer to peer and B2B settings

B2C•Many of the early developments on the Internet were focused on helping businesses directly sell goods to their customers. This is Business to Consumer ( B2C ). The Promise of B2C is avoidance of any middleman

Other than increased complexity and potential cost in dealing with customers on a direct basis using

B2C, a company implementation of B2C techniques faces danger of channel conflict or disintermediation .

B2C integration

• Business-to-Consumer (B2C) integration is the means to have human users connect to businesses in order to purchase or to sell goods or services

• And example is Amazon.com where customers can buy from a variety of goods, including kitchenware, electronics, and, of course, books.

TECHNICAL MOTIVATIONS

• Limitations of CORBA and DCOM• Problems with Business Modeling• Problems with Vendor Dependence• Reuse and Integration Goals

LIMITATIONS OF CORBA AND DCOM

LIMITATIONS OF CORBA AND DCOM

PROBLEMS WITH BUSINESS MODELING

•Business components have complex, non standard interfaces which makes reuse and substitutability difficult to achieve.•They evolve into increasingly complex system, becomes hard to maintain their encapsulation.•The drivers behind business development lead to custom development, which makes components unique and custom in its own right .

The evolution of business components

BUSINESS OBJECTIVES

Business modelers seek to achieve the following objectives:

• Limit complexity and costs by developing coarse-grained software units.

• Support high levels of reuse of business components.• Speed up the development cycle by combining

preexisting business components and continuous integration.

• Deliver systems that can easily evolve.• Allow different vendors to provide competing business

components that serve the same purpose, leading to a market in business components.

PROBLEMS WITH VENDOR DEPENDENCE

• ERP systems were essential to companies operations, because the only cost-effective way to get all the operational components that make up ERP systems to work together was to get them from the same company

• When market matures other vendors offer high quality packages.

• Shift in the strategic direction or business problems at the vendor can affect the purchasing company.

• It is difficult to integrate a “one-stop shop”vendor’s product with other vendor’s products

ADVANTAGES OF VENDOR INDEPENDANCE

• A “best-of-breed” approach makes sense because the market is mature enough to offer competing packages of sufficient quality.

• There is a broadly accepted integration framework that allows for inexpensive integration of different packages, both within companies and between companies.

• The Web Services model has the potential to meet both of these conditions. In particular, Web Services’ loose coupling is the key to flexible, inexpensive integration capabilities.

REUSE AND INTEGRATION

• Software reuse has been a primary goal of object-oriented architectures.

• Creating objects and components to be reusable takes more development time and design skill, and therefore more money up front.

• 90 percent of your software is easy to integrate, but the remaining 10 percent takes up most of your budget.

REUSE AND INTEGRATION GOALS

• Stable business requirements don’t exist• Building components that handle future

requirements tend to waste time and surprises.• The problem of legacy integration where we integrate legacy systems into component

architectures so that they expose a standard interface that all the other components know how to work with.

Recommended