You are on page 1of 8

NAME_______________________________________________________

DATE____________________________________PAGE # _______

Mid Term Exam – March 5, 2008 30,


2007
605.702 SERVICE ORIENTED ARCHITECTURE – SPRING 2008 – JHU -
MCC

INSTRUCTIONS

• RIGHT NOW, PUT YOUR NAME, THE DATE AND PAGE NUMBER IN
THE HEADER OF EACH PAGE

• This exam covers lecture material from class session 1 through 5


and chapters 1 through 7 in the Erl book.

• Several questions start off with a general question, followed by


several sub-questions. In these cases when there are blanks to be
filled in for the sub-questions, but no blanks for the main general
question, you are only to answer the sub-questions. The general
question is only setting the context for the sub-questions.

• Answer all the questions, getting one wrong is no worse then


leaving one blank, so guess if you don’t know the answer.

• You may use your books or your notes during the exam, but not a
computer, or your classmates’ notes.

• The questions are not all straight forward, so think carefully before
answering.
NAME _______________________________________________________
DATE ________________ PAGE # _______________

EXAM QUESTIONS

1. What is a Web Service? I don’t want a general answer; just answer the
following lettered questions.

a. Unlike the communication among most distributed components, a


web service should not be ______________. (think about how
communication between Web Services differs from communication
among Java or C++ components.)

b. The Web services we are working with in this class use which
protocol for communication/integration ________________

c. While the API to a language specific component (e.g. C or C++


library) or protocol specific component (e.g. CORBA) is binary, the
message you send to the interface to a web service is in what
form? _________________ (in contrast to binary)

2. What is SOAP? Do not define the acronym, Simple Object Access Protocol,
define what SOAP is.

a. SOAP is a integration or communication __________________________,


b. that is used to send _________________________________________


between services. (use the technical terms that we used in class)

3. Services are usually stateless. Since a system must store state


somewhere, when processing a process instance, where is state
maintained in a stateless SOA?

a. When one of a service’s operations is involved in executing a


process instance, the state of that operation is in the
____________________

b. When no operations are currently processing the process instance,


for example a message is being sent to another service, or is
queued up for processing, the state is maintained in the
_____________________.

4. The primitive model of SOA represents a mainstream variation of SOA


based solely on ____________________________ and
_______________________________ principles.

5. Primitive SOA is sometimes defined by the standards that it supports. It is


often said that to be an SOA, three standards must be followed, and must
be used to say that a system is SOA based. These three are:

a. _____________________________ which defines how


NAME _______________________________________________________
DATE ________________ PAGE # _______________

i. _________________________________________________

__________________________________________________

b. ______________________________ which defines how

i. __________________________________________________

__________________________________________________

c. ______________________________ which defines how

i. ___________________________________________________

__________________________________________________

6. What is meant by Contemporary SOA?

a. What are its common characteristics? Of the 19 named in the Erl


book, in section 3.2, which most strongly differentiate Primitve SOA
from Cotemporary SOA. Name the 5 you believe are the most
critical to differentiating Contemporary SOA, in contrast to other
forms of SOA named in the Erl book. Name them in that order, with
the one you think is most critical to differentiating Contemporary
SOA at the top of the list.

i. _____________________________

ii. _____________________________

iii. _____________________________

iv. _____________________________

v. ______________________________

b. EXTRA CREDIT In 25 words or less, state why item (i) above is the
most critical in differentiating primitive from contemporary SOA.

i. ______________________________________________________________

______________________________________________________________

______________________________________________________________

______________________________________________________________

______________________________________________________________

______________________________________________________________
NAME _______________________________________________________
DATE ________________ PAGE # _______________

______________________________________________________________

______________________________________________________________

_____________________________________________________________.

If you have difficulty writing the answer above, do not erase, but
use another sheet of paper, preferable the back of one of the
exam pages.

7. What are the primary differences between a traditional distributed


systems architecture (e.g. CORBA or DCOM based distributed system) and
an Service Oriented Architecture?

a. Name the two differences that you believe are the most important
differentiators between SOA and traditional distributed
architectures.

i. SOA

______________________________________________________________
while traditional distributed architectures

______________________________________________________________

ii. SOA

______________________________________________________________
while traditional distributed architectures

______________________________________________________________

8. What are the relationships between service compositions, operations,


services, and SOAP messages? Name the relationships among them in the
picture below, drawing lines between the items that are related an
labeling those lines. One could say among checkbooks, bank accounts,
customer accounts and bills, the relationships would be:

a. Checkbooks allow and track operations performed on bank


accounts.

b. Customers pay bills using checks from checkbooks.

c. Records of a customer’s bills and payments are recorded in a


customer account

d. Etc.

Do the same thing for composition, operations, services and SOAP


messages.
NAME _______________________________________________________
DATE ________________ PAGE # _______________

Service SOAP
Composition Messages

operation
Web Services
s

9. Which of the WS-* extensions would you use to implement each of the
following? Match each of the Implementation Goals to the WS-*
extensions, by writing the letter (i through vi from section b below)of the
WS-* extention at the end of each of the goals in section a.

a. Implementation Goals

i. Coordinate the actions among a group of services, by


implementing a central control mechanism that coordinates
the actions of services. _____

ii. Send a message from Service A to service B, which will


process and send it to Service C. _____

iii. Encrypt some or all of the information being sent in a


message _____

iv. Make is so that a group of services can work together to


perform a task too large for any one of the services to
perform alone, and use the message to store the state or
context of this coordinated activity _____

b. WS-* extensions

i. WS-Addressing

ii. WS-Choreography

iii. WS-Security
NAME _______________________________________________________
DATE ________________ PAGE # _______________

iv. WS-Orchestration

v. WS-Encryption

vi. WS-do-nothing

10.What standards make up the WSI Basic Profile?

a. ___________________________________________________

b. ___________________________________________________

c. ___________________________________________________

11.What do SOA and OO have in common and how do they differ, according
to the Erl text? To answer the following just use the titles, or names or
attributes named in the Erl book. (Note : Erl often will state that SO and
OO re similar in terms of XXX, but they differ in terms of XX because SO
does something differently or for a different reason. These are the aspects
which you should choose for ways in which SO and OO are very similar.
You need to pick those that differ the least.)

a. Name two ways in which SOA and OO differ significantly

i. ______________________________

ii. ______________________________

b. Name two ways in which SOA and OO are very similar

i. ______________________________

ii. ______________________________

12.What are the three most fundamental service roles which a service can
take on?

i. Client like:_________________________________________-

ii. Server like:__________________________________________

iii. The other one:_________________________________________

1. which has two sub-types the _________________________

2. and the _________________________________________

13.For a service to change its service role, it must at some point assume
which of the three fundamental roles?
___________________________________
NAME _______________________________________________________
DATE ________________ PAGE # _______________

14.What are the two parts of a SOAP message, and which of the parts can the
WS-* extensions change (under normal circumstances)?

a. The ______________________ and the ______________________

b. The WS-* extensions can change ________________________.

15.In VS2005, how do you make an existing web service available to be


invoked from the code in the project you are currently working on. That is,
when building a software application in VS2005, using C#, how do you
make a web service available to be called from the code in the application
you are building?

a. You must add a ______________ __________________ to the project, by


right clicking on the

b. _________________________________ in the solution explorer and select


the menu item that creates that construct which represents that
web service in your application.

c. This will add a new _____________________________ to your C# project.

d. When you want to invoke one of the ____________________________


on that service from your C# code,

e. you can declare a local _________________________ which instantiates


that [answer to c], and then invoke the functions/methods on it that
correlate to the individual [answer to d] on the service.

16.What do the WS-Choreography and WS-Orchestration have in common?


That is, what common thing do they both do, what common type of task
do they help us accomplish?

a. WS-Choreography and WS-Orchestration both help


_______________________
activities among multiple ____________________________ to performs
transaction or process that involves more work then can be done by
a single service.

17.What is the primary difference between WS-Choreography and WS-


Orchestration?

a. The WS-Orchestration extension exercises _______________________


control while

the WS-Choreography extension exercise _______________________


control by using
NAME _______________________________________________________
DATE ________________ PAGE # _______________

the ______________________ to manage inter-service


___________________

18.There are three kinds of end points provided in the Message Information
headers in the WS-Addressing extension. Name them and state what each
refers to

a. _________________ endpoint gives the message the ability to identify

_______________ ________________________________________

b. _________________ endpoint gives the message the ability to identify

________________________________________________________

c. _________________ endpoint gives the message the ability to identify

________________________________________________________

You might also like