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:
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
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.
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.
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.
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.
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.
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.
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.
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.
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?
No comments:
Post a Comment