Вы находитесь на странице: 1из 29

What are the main benefits of SOA ?

SOA helps create greater alignment between IT and line of business while generating more flexibility - IT
flexibility to support greater business flexibility. Your business processes are changing faster and faster and
global competition requires the flexibility that SOA can provide.
SOA can help you get better reuse out of your existing IT investments as well as the new services you're
developing today. SOA makes integration of your IT investments easier by making use of well-defined
interfaces between services. SOA also provides an architectural model for integrating business partners,
customers and suppliers services into an enterprises business processes. This reduces cost and improves
customer satisfaction

How do you transform an Enterprise business in a SOA ?

Transforming an enterprise business to Service Oriented Architecture includes obtaining


standardized service contract, service reusability, service abstraction, service loose coupling,
service composability and so on.
Of course SOA is an architectural model agnostic to technology platforms and every enterprise
can pursue the strategic goals associated with service-oriented computing using different
technologies. However in the current marketplace, Web Services are probably the technology
platform that better suits SOA principles and are most used to get to this architecture.

What is a reusable Service?


It is an autonomous, reusable, discoverable, stateless functionality that has the necessary granularity, and
can be part of a composite application or a composite service.
A reusable service should be identified with a business activity described by the service specifications
(design-time contract).
A service's constraints, including security, QoS, SLA, usage policies, may be defined by multiple run-time
contracts, multiple interfaces (the WSDL for a SOAP Web Service), and multiple implementations (the code).

A reusable service should be governed at the enterprise level throughout its entire lifecycle, from designtime through run-time. Its reuse should be promoted through a prescriptive process, and that reuse should
be measured.

Talking about Service identification, which approach between top-down and bottom-up
methodologies best fits with a SOA ?

SOA is an architectural style. And building architecture is a Top-Down process and not BottomUp. The most compelling reason for saying that Web Services are not SOA is that they are
technical stuff, often built with a Bottom-Up approach. Building a Bottom-UP SOA is a wrong
approach and might lead to an architecture with a lot of redundancy or maybe no architecture at
all. However, the result of building SOA only Top-Down could be perceptual Architecture
building with no run time artifacts, so some SOA efforts should be Bottom-Up efforts. To sum
up: Initially SOA is a Top-Down approach but pragmatic approach requires mixing Top-Down
approach with Bottom-Up approach.

How can you achieve loose coupling in a soa ?


One strategy for achieving loose coupling is to use the service interface (the WSDL for a SOAP Web Service)
to limit this dependency, hiding the service implementation from the consumer. Loose coupling can be
addressed by encapsulating the service functionalities in a manner that limits the impact of changes to the
implementation on the service interface. However, at some point you will need to change the interface and
manage versioning without impacting service consumers, in addition to managing multiple security
constraints, multiple transports, and other considerations.

Do you recall any pattern which could be use to leverage loose


coupling ?
The Mediation pattern, using an enterprise service bus (ESB), will help in
achieving this.
Mediation will take loose coupling to the highest level. It will establish
independence between consumers and providers on all levels, including
message formats, message types (including SOAP, REST, XML, binary) and
transport protocols (including HTTP, HTTPS, JMS).
Architecturally speaking this means the separation of concerns between
consumers and providers on the transport, message type, and message
format levels.

The Service of a SOA should be engineered as stateless or stateful ?


Service should be stateless. It may have a context within its stateless execution, but it will not have an
intermediary state waiting for an event or a call-back. The retention of state-related data must not extend
beyond a request/response on a service. This is because state management consumes a lot of resources,
and this can affect the scalability and availability that are required for a reusable service.

What is composition of a Service ?


Composition is the process by which services are combined to produce composite applications or
composite services. A composite application consists of the aggregation of services to produce an
enterprise portal or enterprise process. A composite service consists of an aggregation of services that
produces another reusable service. It's just like combining electronic components to create a computer
motherboard, and then using that motherboard in a computer. Think of the motherboard as a reusable
composite service that is a component of the computer, and of the computer as the composite application.

How do I integrate my Legacy applications with SOA ?


Legacy applications are frequently at the core of your IT environment. With the right skills and tools, you
need to identify discrete elements within your legacy applications and "wrap" them in standards-based
interfaces and use them as services within your SOA.

How does the ESB fits in this picture ?


The Enterprise Service Bus is a core element of any SOA. ESBs provide the "any to any" connectivity
between services within your own company, and beyond your business to connect to your trading partners.
But SOA does not stop at just implementing an ESB. Depending on what your goals are, you may want to
use an ESB to connect other services within your SOA such as information services, interaction services and
business process management services. Additionally, you will need to consider development services and IT
service management services. The SOA reference architecture can help you lay out an SOA environment
that meets your needs and priorities. The ESB is part of this reference architecture and provides the
backbone of an SOA but it should not be considered an SOA by itself.

What are the common pitfalls of SOA ?


One of the most common pitfalls is to view SOA as an end, rather than a means to an end. Developers who
focus on building an SOA solution rather than solving a specific business problem are more likely to create
complex, unmanageable, and unnecessary interconnections between IT resources.
Another common pitfall is to try to solve multiple problems at once, rather than solving small pieces of the
problem. Taking a top-down approachstarting with major organization-wide infrastructure investments
often fails either to show results in a relevant timeframe or to offer a compelling return on investment.
What's the difference between services and components?

Services are logical grouping of components to achieve business functionality. Components are
implementation approaches to make a service. The components can be in JAVA, C#, C++ but the services
will be exposed in a general format like Web Services.

What are ends, contract, address, and bindings?

These three terminologies on which SOA service stands. Every service must expose one or more ends by
which the service can be available to the client. End consists of three important things where, what and
how:Contract is an agreement between two or more parties. It defines the protocol how client should
communicate with your service. Technically, it describes parameters and return values for a method.
An Address indicates where we can find this service. Address is a URL, which points to the location of the
service.
Bindings determine how this end can be accessed. It determines how communications is done. For
instance, you expose your service, which can be accessed using SOAP over HTTP or BINARY over TCP. So for
each of these communications medium two bindings will be created.
Below figure, show the three main components of end. You can see the stock ticker is the service class,
which has an end hosted on www.soa.com with HTTP and TCP binding support and using Stock Ticker
interface type.

The concept of SOA is nothing new, however why everyone started to talk about SOA only in the
last years ?
Yes I agree the basic concept of SOA aren't new, however some technology technology changes in the last
10 years made service-oriented architecture more practical and applicable to more organizations than it was
previously. Among this:

Universally-accepted industry standards such as XML, its many variants, and Web-services
standards have contributed to the renewed interest in SOA.

Data governance frameworks, which are important to a successful SOA implementation, have well
test and refined over the years.

A variety of enabling technologies and tools (e.g., modeling, development,


infrastructure/middleware, management, and testing) have matured.

Understanding of business and business strategies has grown, shifting attention from technology to the
people, cultural changes, and process that are key business success factors.
What is the most important skill you need to adopt SOA ? technical or cultural ?

Surely cultural. SOA does require people to think of business and technology differently. Instead of
thinking of technology first (e.g., If we implement this system, what kinds of things can we do with it?),
practitioners must first think in terms of business functions, or services (e.g., My company does these
business functions, so how can I set up my IT system to do those things for me most efficiently?).It is
expected that adoption of SOA will change business IT departments, creating service-oriented (instead of
technology-oriented) IT organizations.

Is SOA really needed on your opinion?


SOA is not for everyone. While SOA delivers significant benefits and cost savings, SOA does require
disciplined enforcement of centralized governance principals to be successful. For some organizations, the
cost of developing and enforcing these principals may be higher than the benefits realized, and therefore not
a sound initiative.

What are the main benefits of SOA ?

SOA helps create greater alignment between IT and line of business while
generating more flexibility - IT flexibility to support greater business flexibility.
Your business processes are changing faster and faster and global
competition requires the flexibility that SOA can provide.

SOA can help you get better reuse out of your existing IT investments as well
as the new services youre developing today. SOA makes integration of your
IT investments easier by making use of well-defined interfaces between
services. SOA also provides an architectural model for integrating business
partners, customers and suppliers services into an enterprises business
processes. This reduces cost and improves customer satisfaction

What is a reusable Service?

It is an autonomous, reusable, discoverable, stateless functionality that has


the necessary granularity, and can be part of a composite application or a
composite service.

A reusable service should be identified with a business activity described by


the service specifications (design-time contract).

A services constraints, including security, QoS, SLA, usage policies, may be


defined by multiple run-time contracts, multiple interfaces (the WSDL for a
SOAP Web Service), and multiple implementations (the code).

A reusable service should be governed at the enterprise level throughout its


entire lifecycle, from design-time through run-time. Its reuse should be
promoted through a prescriptive process, and that reuse should be measured.

Talking about Service identification, which approach between top-down


and bottom-up methodologies encourages re-use and mantainance ?
Since the top-down approach is business-driven it can be practical to separate the
different concerns of business and IT on different plans, providing a common ground
in between. So in most situations it the most appropriate if you want to improve
reuse and ROI in the medium/long term. Anyway
How can you achieve loose coupling in a soa ?
One strategy for achieving loose coupling is to use the service interface (the WSDL
for a SOAP Web Service) to limit this dependency, hiding the service implementation
from the consumer. Loose coupling can be addressed by encapsulating the service
functionalities in a manner that limits the impact of changes to the implementation
on the service interface. However, at some point you will need to change the
interface and manage versioning without impacting service consumers, in addition
to managing multiple security constraints, multiple transports, and other
considerations
Do you recall any pattern which could be used to leverage loose coupling ?
The Mediation pattern, using an enterprise service bus (ESB), will help in achieving
this.
Mediation will take loose coupling to the highest level. It will establish independence
between consumers and providers on all levels, including message formats,
message types (including SOAP, REST, XML, binary) and transport protocols
(including HTTP, HTTPS, JMS).
Architecturally speaking this means the separation of concerns between consumers
and providers on the transport, message type, and message format levels.
The Service of a SOA should be engineered as stateless or stateful ?
Service should be stateless. It may have a context within its stateless execution, but
it will not have an intermediary state waiting for an event or a call-back. The
retention of state-related data must not extend beyond a request/response on a
service. This is because state management consumes a lot of resources, and this
can affect the scalability and availability that are required for a reusable service.
What is composition of a Service ?
Composition is the process by which services are combined to produce composite
applications or composite services. A composite application consists of the
aggregation of services to produce an enterprise portal or enterprise process. A
composite service consists of an aggregation of services that produces another
reusable service. Its just like combining electronic components to create a
computer motherboard, and then using that motherboard in a computer. Think of

the motherboard as a reusable composite service that is a component of the


computer, and of the computer as the composite application.
How do I integrate my Legacy applications with SOA ?
Legacy applications are frequently at the core of your IT environment. With the right
skills and tools, you need to identify discrete elements within your legacy
applications and wrap them in standards-based interfaces and use them as
services within your SOA.
How does the ESB fits in this picture ?
The Enterprise Service Bus is a core element of any SOA. ESBs provide the any to
any connectivity between services within your own company, and beyond your
business to connect to your trading partners. But SOA does not stop at just
implementing an ESB. Depending on what your goals are, you may want to use an
ESB to connect other services within your SOA such as information services,
interaction services and business process management services. Additionally, you
will need to consider development services and IT service management services.
The SOA reference architecture can help you lay out an SOA environment that
meets your needs and priorities. The ESB is part of this reference architecture and
provides the backbone of an SOA but it should not be considered an SOA by itself.
What are the common pitfalls of SOA ?
One of the most common pitfalls is to view SOA as an end, rather than a means to
an end. Developers who focus on building an SOA solution rather than solving a
specific business problem are more likely to create complex, unmanageable, and
unnecessary interconnections between IT resources.
Another common pitfall is to try to solve multiple problems at once, rather than
solving small pieces of the problem. Taking a top-down approachstarting with
major organization-wide infrastructure investmentsoften fails either to show
results in a relevant timeframe or to offer a compelling return on investment.
Whats the difference between services and components?
Services are logical grouping of components to achieve business functionality.
Components are implementation approaches to make a service. The components
can be in JAVA, C#, C++ but the services will be exposed in a general format like
Web Services.
What are ends, contract, address, and bindings?
These three terminologies on which SOA service stands. Every service must expose
one or more ends by which the service can be available to the client. End consists of
three important things where, what and how:-

Contract is an agreement between two or more parties. It defines the


protocol how client should communicate with your service. Technically, it
describes parameters and return values for a method.

An Address indicates where we can find this service. Address is a URL, which
points to the location of the service.

Bindings determine how this end can be accessed. It determines how


communications is done. For instance, you expose your service, which can be
accessed using SOAP over HTTP or BINARY over TCP. So for each of these
communications medium two bindings will be created.

Below figure, show the three main components of end. You can see the stock ticker
is the service class, which has an end hosted on www.soa.com with HTTP and TCP
binding support and using Stock Ticker interface type.

The concept of SOA is nothing new, however why everyone started to talk
about SOA only in the last years ?
Yes I agree the basic concept of SOA arent new, however some technology
technology changes in the last 10 years made service-oriented architecture more
practical and applicable to more organizations than it was previously. Among this:

Universally-accepted industry standards such as XML, its many variants, and


Web-services standards have contributed to the renewed interest in SOA.

Data governance frameworks, which are important to a successful SOA


implementation, have well test and refined over the years.

A variety of enabling technologies and tools (e.g., modeling, development,


infrastructure/middleware, management, and testing) have matured.

Understanding of business and business strategies has grown, shifting


attention from technology to the people, cultural changes, and process that
are key business success factors.

What is the most important skill you need to adopt SOA ? technical or
cultural ?
Surely cultural. SOA does require people to think of business and technology
differently. Instead of thinking of technology first (e.g., If we implement this system,
what kinds of things can we do with it?), practitioners must first think in terms of
business functions, or services (e.g., My company does these business functions, so
how can I set up my IT system to do those things for me most efficiently?).It is
expected that adoption of SOA will change business IT departments, creating
service-oriented (instead of technology-oriented) IT organizations.
Is SOA really needed on your opinion?
SOA is not for everyone. While SOA delivers significant benefits and cost savings,
SOA does require disciplined enforcement of centralized governance principals to be
successful. For some organizations, the cost of developing and enforcing these
principals may be higher than the benefits realized, and therefore not a sound
initiative.

SOA Processes : Short and Long Running Processes

Fundamental differences between long-running and short-running processes, how to model state,
and demonstrate how to build a long-running process, how to compile short-running BPEL
processes to improve the execution speed of a burst...........
What are the advantages of OOP?
It presents a simple, clear and easy to maintain structure. It enhances program modularity since
each object exists independently............
What encapsulation, inheritance, and polymorphism mean

In OOP's world everything revolves around objects and classes, and OOP languages usually offer
three specifi c features for manipulating themencapsulation, inheritance, and
polymorphism........
OOPS in .NET

What is the relation between Classes and Objects? Explain different properties of Object
Oriented Systems. What is difference between Association, Aggregation and Inheritance
relationships? Explain the features of an abstract class in NET. Difference between abstract
classes and interfaces Similarities and difference between Class and structure in .NET Features
of Static/Shared classes. What is Operator Overloading in .NET?.............

Concurrency with AOP

Concurrency is the system's ability to act with several requests simultaneously, such a way that
threads don't corrupt the state of objects when they gain access at the same time............

OSb::

1.

What is a Proxy Service?


You can think of proxy services as the services published by OSB. Instead of your service clients calling the services
directory, they call OSB proxy services instead.

2.

What are the different types of Pipelines?


Request and Response Pipeline.

3.

What is a Publish Table?


Use a publish table action to publish a message to Zero or more statically specified services.

4.

What is a Publish Node?


Use a publish action to identify a statically specified target service for a message and to configure how the message
is packaged and sent to that service.

5.

Where does the Service Bus fit in the SOA landscape?

6.

How does OSB support REST?

Enhanced REST Support in Oracle Service Bus 11gR1


By user743649 on Feb 21, 2011

In a previous entry on REST and Oracle Service Bus (see


http://blogs.oracle.com/jeffdavies/2009/06/restful_services_with_oracle_s_1.html) I encoded the
REST query string really as part of the relative URL. For example, consider the following URI:
http://localhost:7001/SimpleREST/Products/id=1234

Now, technically there is nothing wrong with this approach. However, it is generally more
common to encode the search parameters into the query string. Take a look at the following URI
that shows this principle
http://localhost:7001/SimpleREST/Products?id=1234

At first blush this appears to be a trivial change. However, this approach is more intuitive,
especially if you are passing in multiple parameters. For example:

http://localhost:7001/SimpleREST/Products?
cat=electronics&subcat=television&mfg=sony

The above URI is obviously used to retrieve a list of televisions made by Sony. In prior versions
of OSB (before 11gR1PS3), parsing the query string of a URI was more difficult than in the
current release. In 11gR1PS3 it is now much easier to parse the query strings, which in turn
makes developing REST services in OSB even easier. In this blog entry, we will re-implement
the REST-ful Products services using query strings for passing parameter information.
Lets begin with the implementation of the Products REST service. This service is implemented
in the Products.proxy file of the project. Lets begin with the overall structure of the service, as
shown in the following screenshot.

This is a common pattern for REST services in the Oracle Service Bus. You implement different
flows for each of the HTTP verbs that you want your service to support. Lets take a look at how
the GET verb is implemented. This is the path that is taken of you were to point your browser to:
http://localhost:7001/SimpleREST/Products/id=1234

There is an Assign action in the request pipeline that shows how to extract a query parameter.
Here is the expression that is used to extract the id parameter:
$inbound/ctx:transport/ctx:request/http:queryparameters/http:parameter[@name="id"]/@value

The Assign action that stores the value into an OSB variable named id. Using this type of XPath
statement you can query for any variables by name, without regard to their order in the parameter
list.
The Log statement is there simply to provided some debugging info in the OSB server console.
The response pipeline contains a Replace action that constructs the response document for our
rest service. Most of the response data is static, but the ID field that is returned is set based upon
the query-parameter that was passed into the REST proxy.
Testing the REST service with a browser is very simple. Just point it to the URL I showed you
earlier. However, the browser is really only good for testing simple GET services. The OSB Test
Console provides a much more robust environment for testing REST services, no matter which
HTTP verb is used. Lets see how to use the Test Console to test this GET service.
Open the OSB we console (http://localhost:7001/sbconsole) and log in as the
administrator. Click on the Test Console icon (the little "bug") next to the Products proxy service
in the SimpleREST project. This will bring up the Test Console browser window. Unlike SOAP
services, we don't need to do much work in the request document because all of our request
information will be encoded into the URI of the service itself. Belore the Request Document
section of the Test Console is the Transport section. Expand that section and modify the queryparameters and http-method fields as shown in the next screenshot.

By default, the query-parameters field will have the tags already defined. You just need to add a
tag for each parameter you want to pass into the service. For out purposes with this particular
call, you'd set the quer-parameters field as follows:
<tp:query-parameters xmlns:tp="http://www.bea.com/wli/sb/transports/http">
<tp:parameter name="id" value="1234" />
</tp:query-parameters>

Now you are ready to push the Execute button to see the results of the call.
That covers the process for parsing query parameters using OSB. However, what if you have an
OSB proxy service that needs to consume a REST-ful service? How do you tell OSB to pass the
query parameters to the external service? In the sample code you will see a 2nd proxy service
called CallREST. It invokes the Products proxy service in exactly the same way it would invoke
any REST service. Our CallREST proxy service is defined as a SOAP service. This help to
demonstrate OSBs ability to mediate between service consumers and service providers,
decreasing the level of coupling between them.
If you examine the message flow for the CallREST proxy service, you'll see that it uses an
Operational branch to isolate processing logic for each operation that is defined by the SOAP
service. We will focus on the getProductDetail branch, that calls the Products REST service
using the HTTP GET verb. Expand the getProduct pipeline and the stage node that it contains.
There is a single Assign statement that simply extracts the productID from the SOA request and
stores it in a local OSB variable. Nothing suprising here.
The real work (and the real learning) occurs in the Route node below the pipeline. The first thing
to learn is that you need to use a route node when calling REST services, not a Service Callout or
a Publish action. That's because only the Routing action has access to the $oubound variable,
especially when invoking a business service.

The Routing action contains 3 Insert actions. The first Insert action shows how to specify the
HTTP verb as a GET.

The second insert action simply inserts the XML node into the request. This element
does not exist in the request by default, so we need to add it manually.

Now that we have the element defined in our outbound request, we can fill it with the parameters
that we want to send to the REST service. In the following screenshot you can see how we define
the id parameter based on the productID value we extracted earlier from the SOAP request
document.

That expression will look for the parameter that has the name id and extract its value.
That's all there is to it. You now know how to take full advantage of the query parameter parsing
capability of the Oracle Service Bus 11gR1PS2.
Download the sample source code here:
rest2_sbconfig.jar
Ubuntu and the OSB Test Console

You will get an error when you try to use the Test Console with the Oracle Service
Bus, using Ubuntu (or likely a number of other Linux distros also). The error (shown
below) will state that the Test Console service is not running.

The fix for this problem is quite simple. Open up the WebLogic Server administrator console
(usually running at http://localhost:7001/console). In the Domain Structure window on the left
side of the console, select the Servers entry under the Environment heading.

The select the Admin Server entry in the main window of the console. By default, you should be
viewing the Configuration tabe and the General sub tab in the main window. Look for the Listen
Address field. By default it is blank, which means it is listening on all interfaces. For some
reason Ubuntu doesn't like this. So enter a value like localhost or the specific IP address or DNS
name for your server (usually its just localhost in development envirionments). Save your
changes and restart the server. Your Test Console will now work correctly.

7.

What are some of the major protocols that OSB supports?

8.

What is Dynamic Routing?

9.

In the context of OSB, what is a Pipeline?

10. Describe OSB's role as a Message Broker?


11. What is Message Enrichment?
12. How does a Service Bus facilitate a loosely coupled architecture?
13. What is a Routing Table?
14. What do you know about Delivery Guarantee Types?
15. What is meant by "Location Transparency"?
16. What are Routing Nodes?

Oracle SOA/BPEL Interview Questions:


1) Why SOA? What are the advantages? What are the disadvantages?
2) What are the approaches to categorize the existing services in a
company?
How do we prepare a service portfolio before implementing SOA?
3) What are the different design patterns in SOA?
4) What are the different types of installation of SOASuite 10g?
5) What is the difference between concrete and abstract wsdl?
6) What is SOAP and what are the binding protocols available?
7) Why SOAP over http why not WSIF even if the later ensures JTA transaction
and is faster than former?
8) What is choreography? How does it differ from orchestration?
9) What is a pick activity?Can I have a pick activity with no onMessage
branch?
10) What are the different message exchange patterns in BPEl?
11) What is the difference between Async and Sync activity on wsdl level?
12) How does it differ from a receive activity?
13) What is a flow activity?What is a flowN activity and how does it leverages
the flow activity?
14) What are dspMaxThread and a recieverThread properties?Why are they
important?
15) How does a async request run in the backend?
16) Explain error handling in BPEL and what is a error handling framework?
How does a error handling

framework better than simple error handling in BPEl?


17) How do we handle transactions in BPEL?
18) What is transaction=participate? Where do we set this?
19) What do you mean by non-idempotent activity? Which all activities are
non-idempotent by default?
20) What are transient and durable BPEL processes?
21) What is a XA datasource? How it differs from a non-XA datasource?
22) How a wsdl of inbound jca adapter differs from a outbound one?
23) What are MCF properties? 24) What all operations can be performed
using a file adapter?
25) What is a syncFileRead operation? Is is a inbound or a outbound
operation? Can my process begin with
syncFileRead operation?
26) What all errors can't be handled by a BPEL process?
27) What is a throw activity? What is ?
28) Why do we use a JMS queue? What is the benefit of using it over a simple
queue?
29) What is getPreference property? How do we set it and what advantage it
provides? Explain with a
example?
30) How can we make a partner link dynamic?
31) What are the different tables in orabpel schema?
32) How do we resubmit a faulted process?
33) How does the server know that a instance is faulted?
34) What is a nonBlockingAll property? What is the use of it?
35) In how many ways can a process be deployed?
36) How can we embed or use a java code in BPEL? How can we make a java
service a Web-service? What is xml facade?

ESB
37) When do we use ESB over BPEL?
38) Why ESB is faster than its BPEL counterpart?
39) What is the out of box error handling framework in ESB?
40) How can we get instance ID in ESB?
41) How can we make routing in ESB dynamic?
AIA
42) Why AIA? What is the need of it if SOA is already there?
43) When to go for AIA?
44) What is EBO, EBM, EBS,EBF, ABCs?
45) Can a ABCs be a ESB process? If yes in what scenario?
46) How can we extend a EBM?
47) How can we extend a EBS?
48) How can we extend a ABCs?
49) What is a standard AIA flow?
50) What is the error-handling framework in AIA?
What is the difference between 10g and 11g?
SCA architecture was followed in 11g and not in 10g
In 11g you can put all your project SOA components in composite.xml file and deploy to single
server, where in 10g you have to deploy each component to the respective server (i.e ESB to
ESB server, BPEL to BPEL Server)
Basically all the SOA components like BPEL, ESB (Called Mediator in 11g), &
OWSM are brought into one place in 11g using SCA composite concept.
The major difference between 10g & 11g would be the app server container.
10g by default runs onOC4J while 11g runs on Web logic Server.
In 10g every BPEL is a separate project, but in 11g several components can
make 1 project as SCA.
In 10g consoles are separate for BPEL and ESB, but in 11g Enterprise Manager
contains all.

In 10g we have to deploy each project separately, but in 11g we can deploy
SCA which contains all.
In 10g BAM and business rules are outside SOA Suite, but in 11g they are in
SOA Suite.
2) What is SOA?
Service Oriented Architecture (SOA) is used to develop Enterprise applications by using a
collection of services which communicates each other. Service-Oriented Architecture (SOA) is a
set of principles and methodologies for designing and developing software in the form of
interoperable services.
3) Principles of SOA?

loose coupling
Re-usability
Interoperability
Flexible

4) Is Oracle SOA same as Oracle Fusion Middleware?


No because SOA is one of the part in Fusion middleware and
SOA behaves like user interface where as Fusion is big platform
5) What is SCA?
Service Component Architecture (SCA) provides a programming model for building applications
and systems based on a Service Oriented Architecture. SCA is a model that aims to encompass a
wide range of technologies for service components and for the access methods which are used to
connect them.
6) What is Web service?
Web services are application components, which are self-contained and self-describing and
provide services based on the open protocol communication (i.e SOAP UI, HTTP over the net).
7) What is Mediator?
The Mediator is in charge of interconnecting, within an SOA composite application,
components that expose different interfaces. In addition, the Mediator can perform duties
such as filtering and making routing decisions.
The composite editor in JDeveloper gives you the flexibility to define the interface
now, to choose an existing interface, or to define the interface later as you wire components
to the Mediator.

Transforming data from one representation to another is, along with routing, one of
the key functions of the Mediator.

8) Difference between ESB and Mediator?


In 10g for routing, separate router need to keep along with ESB for routing and filter
expressions.
Where as in 11g mediator contains routing rules and filter expressions itself.

AIA INTERVIEW QUESTIONS


1) Why AIA? What is the need of it if SOA is already there?
2) When to go for AIA?
3) What is EBO, EBM, EBS,EBF, ABCs?
4) Can a ABCs be a ESB process? If yes in what scenario?
5) How can we extend a EBM?
6) How can we extend a EBS?
7) How can we extend a ABCs?
8) What is a standard AIA flow?
9) What is the error-handling framework in AIA?

oracle aia foundation pack 11g


09:37 AIA No comments
oracle aia foundation pack
The AIA Foundation Pack provides Enterprise Business Objects, Enterprise Business
Services, Enterprise Business Messages, Enterprise Business Flows and supports the
development of Application Business Connector Services. Before we go deep into their
definitions we will look at the bigger picture.

How do these various artifacts work together? This slide illustrates how each is used in an
integration scenario.

We will work from bottom right


to bottom left.
This diagram shows an integration between Siebel and the E-Business Suite.

1.
2.
3.
4.

5.
6.

7.
8.
9.

When an Order is processed in EBS it needs to retrieve information from Siebel


CRM.
EBS passes the request to its Application Business Connector Service (ABCS).
The ABCS converts the request into a standard or canonical format.
The ABCS sends the Enterprise Business Message (EBM) on to the the Enterprise
Business Service Get-Sales-Order. The contents of the EBM could be customer ID or
Name or some other identifying information.
The Enterprise Businesss Service passes the EBM on to the Siebel Application
Business Connector Service (ABCS).
The Siebel ABCS validates and transforms the information request message into a
format that Siebel understands. It is converting the standard/canonical format to
Siebels format.
It then retrieves the customer information back and passes it back in a
standard/canonical Customer Business Object.
The Enterprise Business Service then passes the Customer Business Object back to
the E-Business Suite ABCS in an Enterprise Business Message.
The E-Business Suite ABCS converts the canonical version into an EBS specific
transaction and passes it to the E-Business Suite.

All of these steps would normally be completed in less than a second.


The interesting thing to note is that the ABCS for each application must convert a canonical
Enterprise Business Message containing an Enterprise Business Object both to and from the
special Application format. On the request it converts it from canonical format and on the
response it converts it back to canonical format. Each ABCS is specific to its application and
knows nothing about the applications it might be passing information to and from.
Instead the Enterprise Business Service (EBS) acts as the middleman by passing the
canonical version of the Enterprise Business Object (EBO) contained in the Enterprise
Business Message (EBM). Having the EBS ensures that the two ABCS Services do NOT have
to know anything about other applications. If this was not the case then there would need to
be a separate ABCS for every Business Object type and every application that was being
communicated with.

OA 11g - SOA Admin Interview Questions :


1. How to know the Managed Servers status, when admin console is not available?
2. What is the performance issue in weblogic and how can you resolve, explain in brief?
3. What is the Digital Certificate? How do we generate a Digital Certificate?
4. What is Thread Dump? What is the UNIX command to take Thread Dumps?
5. What is a cluster? What is High Availability and Fail over?
6. How to handle out of memory in weblogic and if server is getting more requests then what we
have to do in production environment?
7. What is clustering? How do weblogic instances communicate in a clustered environment? In a
cluster, if one of the
servers has an issue and it is not accessible, will the other servers know about it and how?
8. What are the roles you have played and what are the day today activities?
9. WHAT IS TROUBLE SHOOTING IN WEBLOGIC?
10. How to integrate apache webserver with weblogic server? What is the purpose of integrating
both?
11. Define the different groups of Users?

12. What are the different thread queues?


13. How will you analyze if a page responds slowly?
14. What is Work manager? Explain briefly?
15. What are the different types of drivers?
16. What are the various types of log files?
17. What are you commonly used fine tuning commands?
18. What is Session replication? What are the different types of Session Replications?
19. What happens if we change config.xml while server is running?
20. What is HTTP tunneling?
21. What is asynchronous communication? Is there any synchronous communication in JMS?
22. How to find Weblogic Version?
23. What is the use of log4j?
24. What is Work manager?
25. What is virtual host?
26. What is eden size and perm size?
27. What is Weblogic shrink?
28. What is diff b/w JNDI and JDBC?
29. What are the different types of drivers?
30. What driver you are using?
31. What is diff b/w unicast and multicast?
32. When core dump will not be created even if the server crashed?
33. Can we change the heart beat interval?

34. What are the various types of log files?


35. What is WorkManager?
36. What is Multicast IP Address? What are the things done by it? How to test multicast IP?
37. How to check whether the cluster multicast adress is available or not? What is the command
to check in UNIX environment?
38. What is Virtual Host in Weblogic, how to create it & what is the advantage ?
39. How can you find the jdbc version on server side?
40. What you do to close the connections automatically in JDBC?
41. What are the things that we take care under Database fine tuning apartfrom increasing or
decreasing connections?
42. What is MBean, how many types are there?
43. How to restart proxy?
44. Reasons for server crash?
45. Reasons for servers hang?
46. What is the thread hogging?
47. Various garbage collection algorithms?
48. How to find whether the PORT No is free or not?
49. What is the command to find CPU utilization?
50. What is the command to find version of Unix?
51. How to find CPU utilization? What if top command doesnt work?
52. What are you commonly used fine tuning commands?
53. What is the difference between webservers and Proxy server?
54. How to sort the files?
55. What is Session replication? What are the different types of Session Replications?

56. Which IP segment will you use for Multicasting?


57. Is it possible to manage multiple domains through a single weblogic admin console?
58. What happens if we change config.xml while server is running?

1) Define SOA?
2) Advantages and disadvantages of adopting SOA in an Organization?advantagesand-disadvantages
3) Is SOA best suit for every business? (Ex: for a simple system where no services
are reusable its not a good choice, also real time systems may be tough due to
performance reasons.)
4) Are web services must in SOA? Any alternatives?
5) Can set of web services in your project mean you are doing a SOA project?
Justify.
6) Need for Registry and repositories in SOA?
7) Need for SOA Governance?
8) Is ESB a must for SOA?
9) Difference b/w ESB and EAI (tough one).
10) Difference b/w ESB and BPEL Engine.
11) Need for Orchestration?
12) Difference b/w BPEL engine and ESB?
13) Importance of Granularity of a Service?
14) What are composite services? How they are different from business processes?
15) What are the important features of an ESB?

16) Difference between BPEL and BPMN?


17) Role of business analyst in SOA projects?
18) Describe your approach for starting an SOA project in an Organization?
19) Possible Security issues in SOA projects? Can achieve an End to End Security?
20) How can we handle Transactions in SOA?

Posted by swapnanjali at 10:18 PM