Thursday, 17 April 2014

Oracle SOA design


You are required to create an integration solution using SOA Suite components for the following case study.
Case study:
The primary company is the World Cargo shipping company. World Cargo owns ships that transport cargo containers around the world. World Cargo also provides shipping services via Web Services. World Cargo employees are classified as managers, routing agents and customer agents, and they are responsible for maintaining the enterprise database and administration of the shipping system. World Cargo receives orders from a transport agency as a SOAP message or an XML message.
World Cargohas two insurance subsidiary companies, called Marine Insuranceand Cargo Insurance. World Cargo uses these insurance agencies to insure all customer orders.
Marine Insurancehas an automatic process to calculate the insurance premium, while Cargo Insurance has an internal manual approval process ensuring that the insurance premium is calculated appropriately.
To help implement the routing algorithm, the World Cargo shipping system contains various objects, such as ships, ports, and routes. The following is a partial ERD of the World Cargodatabasesystem:
The above ERD does not represent the complete system, many details were omitted to simplify the design, for example World Cargo owns several ships of different capacity, but the detailed information about the ships is not included in the above ERD; also the process of assigning different shipments to different ships is left outside the scope of the case study in order to focus on the customer relationship management aspect of the system.
Sample data
TablePorts:
Port id    Port Name
SFO    San Francisco
MUM    Mumbai
LON    London
SIN    Singapore
Table Routes:
Routes are simply combinations of origin and destination ports. For each route Port1 can be considered as the origin port or the destination port. For example route 101 can be from San Francisco to Mumbai or from Mumbai to San Francisco. Transit time measured in number of days, distance is measured in km.
Route id    Port1    Port2    Transit_time (days)    Distance              ( km)
101    SFO    MUM    44    18137.7
102    SFO    LON    39    15004.4
103    SFO    SIN    36    13612.4
104    MUM    LON    34    11645.9
105    MUM    SIN    15    4524.6
106    LON    SIN    40    15296.5
Table Rates:
Rates are based on a route and a container type. The container type can be only small, medium and large. Prices are in GBP.
Rate id    Route id    Container type    Price
1    101    small    9000
2    101    medium    11000
3    101    large    12000
4    102     small    3000
5    102    medium    6000
6    102    large    9000
7    103    small    2000
8    103    medium    5000
9    103    large    8000
10    104    small    1500
12    104    medium    4000
13    104    large    7000
14    105    small    700
15    105    medium    2000
16    105    large    3500
17    106    small    8500
18    106    medium    1000
19    106    large    1200
Requirements:
You are required to create an integration solution for World Cargo using SOA Suite components to implement following business requirements:
1.
a)    You need to create a web service (BPEL processesor Java Web Service) for a partner company Marine Insurance. Marine Insuranceweb service receives the shipment request information and has an automatic process to calculate the insurance premium using a simple algorithm: it charges 3% of the total content value.
b)    You need to create a BPEL processesfor a partner company Cargo Insurance that receives the shipment request information and calculates the insurance premium as 3.5% of the total content value, but before it can reply to a client it has to send the insurance premium to the company’s insurance agent for an approval. The agent reviews the shipping request as well as the calculated insurance premium and has to approve it or reject it. The agent also can increase or decrease the insurance premium price before approving it.
If the agent rejects it, Cargo Insurance BPEL process replies with 0 as the insurance premium price.
2.    You will need to create a main BPEL process for World Cargo business flow     following these requirements:
a)    Main BPEL process for World Cargoreceives the shipment request from a transport agency as a SOAP message, containing at least: origin and destination ports, information about the shipment itself (i.e. the container type, the content description, the total content value, etc.), and preferred dates of shipment, as well as all necessary customer information. Additional information could be included based on your design decisions.
Alternatively World Cargo BPEL process can pick up the XML message with the shipment request from the file system.
b)    Then a World Cargo BPEL process has to save the shipment request to the database.
c)    A World Cargo BPEL process has to send the shipment request information to both insurance partners’ web services Marine Insurance and Cargo Insurancein parallel, asking them to provide their best price for the insurance premium for the specified shipment request.
d)    A World Cargo BPEL process has to receive bothinsurance premium prices and choose the cheapest.
e)    Then it has to create an invoice and save it to the database. The invoice should include the shipping charges (calculated based on the standard rates for different container types and routes distances stored in the database table rates), insurance cost and VAT (calculated as 20% of the total cost (shipping and insurance).
f)    It has to send the invoice to the customer via email, specifying the itemised charges as well as an approximate arrival date (calculated as pick-up date plus the average transit time for the specified route. The average transit time can be retrieved from the database table routes).
g)    A World Cargo BPEL process has to update the shipment request information in the database with the calculated approximate arrival date.
h)    A World Cargo BPEL process has to save updated shipment request information with the calculated approximate arrival date as an XML file in the local file system.
3.Extra credit                                    Some extra features could be added to the system for extra credit: for example, a simple web based interface that allows the input of necessary parameters for a shipment request and invokes the main World Cargo BPEL process; orsome improvements can be added to the database system etc.
Deliverables
I.    A brief demonstration (approximately 10 minutes) of what you have achieved.  You need to demonstrate your SOA system running on a machine in the labs usingthe Virtual Machine assigned to you.
a.    You will be asked questions about your implementation and be expected to show an understanding of the functionality you have implemented and the design decisions that you have made.
b.    The date, time and place of the demonstrations will be announced on the Teachmat site for the course.
II.    A report (DOC or PDF file) consisting of all the following parts:
1.    A URL to your VM link containing your implementation.
2.    A list of the features you have been able to implement.
For example: 1a – fully implemented
1b – partially implemented
2a – fully implemented
2b – fully implemented, but sometimes gives an error
2c – implemented, but it is not working

3.    A concise list of any bugs and/or weaknesses of your system.
4.    A brief (less than half a page) description of any special strength of your implementation or additional features that you added to the system and that you think should be taken into account in awarding a mark.
5.    Screen shots demonstrating how each business requirement is implemented with appropriate explanation.
6.    An evaluation of your integration system and of your learning experience.  Write between 600 and 800 words evaluating the components that you have produced and the way you went about completing the coursework.
Try to be specific and state exactly what you learned by your own effort and from other students.  Make clear what you would do differently if you were to do the coursework again. Some points that you could cover include:  how you managed your time, how you found out necessary information to complete the assignment, how well designed you think your solution is, what changes would need to be made to your system before it could become a product that could be used by real users.   This sort of discussion will form an important part of your MSc project report so use this opportunity as a way of practicing your skills in writing an evaluation.
Note: If you have used code or ideas from anywhere other than the lecture notes and tutorial examples (e.g. from a book, somewhere on the web or a fellow student) then  include a proper reference showing where the code or ideas came from and label your code carefully to show which bits are yours and which bits are borrowed.                       Be aware that the marker will look for similarities between your code and that submitted by other students so please do not share your code with any other students as this is considered to be plagiarism.
Grading Criteria
For a distinction(mark over 70%) the following is required:
1. A system with all business requirements (1 all, 2 all) implemented; all components are working and provide a good result; error handling is included.
2. A very goodreport, showing a good understanding of SOA, BPEL, SOA Suite components and showing good ability to implement Web Services and BPEL processes.
Note: In order to be eligible for very high marks (80% and over) you will need to have:
1. All business requirements (1 all, 2 all) are implemented including error handling; all components are working properly and provide an excellent result; possibly some extra features implemented.
2. An excellent reportdemonstrating a thorough understanding of SOA, BPEL, SOA Suite components and showing very good ability to implement Web Services and BPEL processes.
For a mark in the range 60 to 69% the following are required:
1. A system with at least main business requirements (1 all, 2a, b, c, d, f, and j) implemented; components are working and provide a reasonable result.
2. A good report demonstrating a good understanding of SOA, BPEL, SOA Suite components and showing good ability to implement Web Services and BPEL processes.
For a mark in the range 50 to 59% the following are required:
1. A system with at least business requirements (1a, 2a, b, c, d, and f) implemented;majority of the components are working and provide an acceptable result.
2. Asatisfactory report showing some understanding of SOA, BPEL, SOA Suite         components and showing satisfactory ability to implement BPEL processes.
For a mark below 50%:
1. A system with a very few business requirements implemented.
2. A poor report showing little  understanding of SOA, BPEL, SOA Suite components     and showing  poor ability to implement  BPEL processes.
Note:You MUST demonstrate your working system. You should not re-build or re-create the system after submission. Implementation elements developed after submission can be detected and will incur a penalty.
If you cannot demonstrate your work when required there will be no further opportunity and you will be penalised. Failure to do your demonstration will result in you being awarded 0% for the coursework.
Assessment Criteria
Your integration system will be assessed on the following criteria.
•    Features implemented.  The number of business requirements that you have successfully implemented will have a big effect on your overall mark.
•    The quality of the system you produce.   Credit will be given for good design decisions, components that are working without giving any errors and reliably producing good result; possible enhancements to the system.
•    Quality of the report.  Are all the required sections included and completed properly?   Is the report clear, well formatted and easy to read?  Does it have a logical structure?  Does it have a discussion on design decisions? Is the evaluation realistic and does it show that you have really thought about your system and how you went about developing it?

 FOR MORE INFORMATION ON THIS TOPIC CLICK HERE

No comments:

Post a Comment