Tuesday, September 30, 2008

Web-Services best practices

Following are different types of the WSDL

1. RPC

2. Document

RPC can be of two types

1. RPC encoded
2. RPC literal

Document style can be of two types

1. Document Literal
2. Document Literal Wrapped





The "wrapped" convention produces document/literal services, and yet it supports an RPC-style programming interface (i.e., it performs automatic marshalling of input parameters and return values).The rules for the "wrapped" convention are fairly simple:

  1. "Wrapped" is a form of document/literal, therefore it must follow all the rules defined for document/literal. When defining a document/literal service, there can be at most one body part in your input message and at most one body part in your output message. You do *not* define each method parameter as a separate part in the message definition. (The parameters are defined in the types section, instead.)

  2. Each part definition must reference an element (not a type) defined, imported, or included in the types section of the WSDL document. These element definitions are "wrapper" elements (hence the name of this convention). You define your input and output parameters as element structures within these wrapper elements.
  3. A wrapper element must be defined as a complex type that is a sequence of elements. Each child element in that sequence will be generated as a parameter in the service interface.
    The name of the input wrapper element must be the same as the operation name.
    The name of the output wrapper element should be (but doesn't have to be) the operation name appended with "Response" (e.g., if the operation name is "add", the output wrapper element should be called "addResponse").
  4. In the binding definition, the soap:binding should specify style="document" (although this is the default value, so the attribute may be omitted), and the soap:body definitions must specify use="literal" and nothing else. You must not specify the namespace or encodingStyle attributes in the soap:body definition.

Thursday, September 25, 2008

IBM SOA : 667 Practice Questions and Answers


Question: 1

The SOA reference architecture identifies core services including Interaction, Process,
Information, Partner, Access, and Infrastructure. What is one valid reason for excluding one or
more of these services in an SOA?
A. The application is predominantly middleware in nature, eliminating the need for presentation
services.
B. The consumer and the provider belong to different companies.
C. The business sponsor has set budget constraints on solution architecture and the architectural
components to be included have to be prioritized.
D. The customer's internal politics make the specification too difficult.

Answer: A

Explaination : If the application is middleware only application then there is no need of having presentation service. Interaction service in IBM SOA reference architecture has Interaction services which provides interaction capability t user to interact to the system may not required hence answer is A
Option B,C, D are irrelevant


Question: 2

The IBM SOA Foundation includes services that support business innovation and optimization.
What should be found in an SOA deployment compliant with the SOA Foundation?
A. Automatic recognition of marketplace trends and dynamic reconfiguration of services in
support
B. Tools to help simulate business design and to predict the effect that design changes might
have on the business
C. Alerts generated whenever business efficiency drops below a predefined threshold
D. An SOA dashboard for executives showing new business opportunities categorized by Return
on Investment (ROI)

Answer: B

The word business innovation and optimization. are important. With tools to simulate business desing ( Busienss Simulator option in IBM Business Modeler) allows to improve Business process design without actually putting the process in production and identify any bottleneck in the system . Hence Answer is B


Question: 3
What is the next step while architecting an SOA solution after having just completed documenting
the business processes?
A. Determine the operations required to realize each process
B. Select a business steward for each process and instruct the steward to identify re-usable
services
C. Identify the services needed to realize each business process and group them into logical
components
D. Identify core and non-core business components

Answer: C

Web service Gateway continued


What is the Web services gateway?

The gateway provides you with a single point of control, access and validation of Web service requests, and allows you to control which services are available to different groups of Web service users.

You use the gateway to make available controlled sets of Web services for use within your organization and by external users. The services that each gateway instance makes available as Web services can be a mixture of internal services that are directly available at service integration bus destinations and external Web services.

This approach provides the following benefits:

  1. The gateway service is made available at a different Web address to the target service, so you can replace or relocate the target service without changing the details for the associated gateway service.

  2. You can have more than one target service (that is, more than one implementation of the same logical service) for each gateway service.
    The gateway service can be made available on a different service integration bus to the target service.

  3. The gateway provides a common interface to the services in each set. Your gateway service users need not know where each underlying service is located, or whether the underlying service is being provided internally or sourced externally, or whether there are multiple target services available for a single gateway service.

    How does the Web services gateway work?
  • When you create a gateway service, you map an existing destination that hosts a target service (either an internal service or an external Web service) to a new Web service that seems to be provided by the gateway.

    Who should use the Web services gateway?


An enterprise that chooses to share its resources selectively with its business partners and customers, or an enterprise that uses external Web services and wants to make them available internally. IT managers and developers, who deploy resources, can also benefit from this technology.

What business problems are solved by the Web services gateway?


The gateway solves the following business problems:

  • Securely "externalizing" Web services: Business applications that are exposed as Web services can be used by any Web service-enabled tool, regardless of the implementation details. To better integrate your business processes, you might want to expose these assets to business partners, customers and suppliers who are outside the firewall. The gateway lets clients from outside the firewall use Web services that are hosted within your enterprise. Using the gateway, you can control access to each of these services.
    Better return on investment: Any number of partners can reuse a process that you develop as a Web service.

  • Use of existing infrastructure: With the gateway, you can make readily available as Web services any combination of your existing internal services and external Web services, no matter how each of those existing services are currently accessed (for example through a service integration bus destination, a Web address or a UDDI registry).
    Protocol transformation: You might use one particular messaging protocol to invoke Web services, while your partners use some other protocol. Using the Web services gateway, you can trap the request from the client and transform it to another messaging protocol.

Monday, September 15, 2008

Webservice Gateway

Webservice gateway is infrastructure component for webservices architecture. It provides single point of control for the webservice invocation.

It is nothing but soap processing engine that focuses on operation for intermidiatery for soap processing chain. It provides location transparency for service providers from webservice consumers

Alternately it provides following functionalities

  1. Alter the destination of a message (routing)
  2. Handle custom header tag processing
  3. Apply and remove message level security (WS-Security)
  4. Perform protocol transformation, for example, submit incoming SOAP/HTTP messages to SOAP/JMS

IBM websphere Security gateway is a Web services infrastructure component that is packaged with the WebSphere Deployment Manager

Please see following link for more details

http://www.ibm.com/developerworks/webservices/library/ws-routing/

IBM 667 : IBM Certified SOA Solution Designer

You can find material here
http://www-03.ibm.com/certify/tests/edu667.shtml