Overall architecture diagram of the external facing system

Assignment Help Python Programming
Reference no: EM131220071

Introduction

The assignment is to design a Service Oriented Architecture-based solution for a given domain. You must show a good understanding of Service Oriented principles. In addition you must show knowledge and understanding of specific SOA techniques, practices and approaches in the design.

Assessment objectives

This assignment is being assessed. Like other modules, you will pass or fail dependent on demonstrating certain things. In this case the main criteria for passing is that you understand and can apply SOA concepts, principles and approaches for reasonably complex systems. This means that you must address key issues such as governance, security, description and discovery in your assignment. Your assignment must also show good service decomposition and a good understanding of why to use services, where to use services, and what makes a good service.

Domain - Patient Records

The UK has had a failed top down attempt to create a single IT system that would allow any hospital or medical practice to access any patient's medical record, securely and reliably. Recently, the NHS has been changing the architecture to utilize a lot of open source tools instead of proprietary models.

In this assignment, we are going to explore a completely different alternative: one in which each patient has complete responsibility for their own data.

Patients can either (if they are technically savvy) run their own medical record service, or they can choose a provider.

If they choose a provider, the provider must ensure that the records are secure and meet the relevant privacy, security and protection rules. Patients must be able to delegate rights to various healthcare providers - for example, to allow their doctors to read and update their medical record. They might allow a hospital instant access to read their records, with a limited time. They should be able to put time limits on access. You might want to think about how this gets delegated - for example you may want a specific doctor or department in the hospital to see your data but not another.

Like mobile phone number portability, each provider must provide a facility to securely transfer their medical record to another provider and to ensure that all data is deleted after successful transfer.

This is a large domain problem with multiple solutions, so it is up to you to choose and approach and justify it. Issues of security, identity and reputation are key in this model, and open APIs spring to mind as being an essential aspect.

What is expected?
This is far too large a problem for us to solve completely. You are not expected to implement this system. Instead there are a set of questions about this system that you must answer.

You are not expected to provide a complete solution, and you are not expected to solve all the security and privacy issues of this problem, but you are expected to think significantly about these, given the security and privacy issues inherent in this problem.

Word count, excluding appendices. Expected 3000, Maximum 4500.

Questions:

Part A. External Architecture

There is an external facing part of this solution - i.e. the connectivity between hospitals, doctors' surgeries, etc and the patient record data management providers.

1. What are the main services that any medical data provider must implement. Name the services and provide a short description of each of them. A table would be a good approach to presenting this information.

2. What is the chosen standard technology interface to these services? SOAP or REST or a third option?

3. Provide a service description such that a third party can easily write a client to talk to it. For example, a well defined Swagger, RAML, WSDL, WADL or other technical description. Alternatively very clear hand-written documentation is another option. If you automatically generate the documentation make sure that it still provides clarity and description. Place a exemplary sample of the documentation in the main body of the text and use the appendices for the full documentation.

4. Are there any other services that are needed? For example, is there a need for any central registry, services or identity providers? Enumerate and describe these services in the same format as you chose for item A1.

5. Provide an overall architecture diagram of the external facing system and at least one sequence diagram showing service interactions between parties.

Part B. Internal Architecture

There is another aspect of this system, which is the design of the internal systems within a medical data provider.

1. Take one of the services that you have identified and provide an implementation of this service. Provide clear reasoning for your design choices. For example, if you choose to not use a particular aspect of SOA then you should demonstrate that it was a clear design choice and not an oversight. You may add code listings to the appendices. Provide a message trace of your service being called.

2. Draw an architecture diagram of a "reference architecture" for a medical data provider. Since this is an SOA, of course the providers participating in the network can use any technologies they like, but if you had to design such a provider, what would your architecture look like. Provide some brief overview of the architecture to accompany the diagram that explains how the required services would be implemented.

Part C. Non-functional requirements

1. How is the overall system secured? Provide clear details of the security model including how identities of patients are managed, how patients can authorize access to their records, and how confidentiality, integrity and other security aspects are maintained. How do the technologies you have chosen fit with a service-oriented architecture?

2. How is the system monitored and managed? How can the overall availability of the system be maintained and ensure that patients records are available as needed, especially when there are disparate parts implemented by different organizations.

3. What is the governance process and deployment/operations model you would propose for this system?

Part D. Conclusions

Having defined the system and very partially implemented it, you should have a good view on the success of this system in meeting the objectives. Please evaluate and validate your decisions and your approach.

1. Is there an ESB, API management system, a registry, or a business process manager in your solution?

2. If you chose to use an ESB, what was the driving force behind the decision and what benefits did it bring? If you chose not to use an ESB, what were the tradeoffs and what other technologies are you bringing to bear to ensure that the system is manageable, extensible and supports evolution?

3. How did you decide the granularity of your services?

4. What are the strengths and weaknesses of this design and of the use of SOA in this design?

5. What are the biggest challenges you came across in designing this architecture?

Reference no: EM131220071

Questions Cloud

Develop anti-fraud program that can be implement in company : In a 9-11 page, double-spaced paper, develop an anti-fraud program, or model, that can be implemented in an organization. This model, if applied correctly, must be efficient in preventing, detecting and deterring fraud.
Are the behaviors you would do and should do always the same : Describe what you would do and what you should do in the situation you chose. Are the behaviors you would do and should do always the same?
Statement of changes in stockholders equity for the year : Prepare a statement of changes in stockholders' equity for the year ended December 31, 2013 for Baum's Inc. Except as otherwise indicated, assume that all balance sheet items reflect account balances at December 31, 2013, and that all income statemen..
Opportunity cost of studying chapter : Suppose your studying partner states that the opportunity cost of studying chapter 1 of your microeconomics textbook is about 1/25 the price you paid for the book, since the chapter is about 1/25 of the book. Do you agree with this assessment? Exp..
Overall architecture diagram of the external facing system : Design a Service Oriented Architecture-based solution for a given domain. You must show a good understanding of Service Oriented principles. In addition you must show knowledge and understanding of specific SOA techniques, practices and approaches..
Economy of a small country : Consider the economy of a small country. For each labor hour, it has capital stock equal to 900 units. In the current year it produced 20 units of new capital goods, with a depreciation rate of 20% and a production function of Y= K1/2. What will t..
Explain why dividend payments are not an expense : Indicate the amount and effect (+ or -) of each transaction on total assets, total liabilites, and total stockholder's equity, and then compute the new totals for each category. what were the net changes during the month of August in total assets, to..
How many of each product to make in order to maximize profit : The inventory, required components, and profit for each product appear in the following table. Determine how many of each product to make in order to maximize the profit.

Reviews

len1220071

9/26/2016 3:05:29 AM

• You are not expected to completely implement a system! A real-life solution is out-of-scope. • You should implement a small part of the system, including one service. Weight is given to seeing the outputs (e.g. message traces, machine- readable descriptions, code snippets etc.) of a partially implemented system. However the examiners will NOT deploy, install or test any code you write or system you build. • Clearly document any assumptions you make. • You do not need to explore every aspect or every service. However, some well-chosen examples, explored to a good level of detail will demonstrate the understanding you have. • You (and the examiner) must be confident that the there are no major flaws in the design and that it is implementable. • Properly formatted references/a bibliography will be appreciated.

len1220071

9/26/2016 3:05:04 AM

Do it in python and use REST API - Assessment will be according to the following criteria: • Have you understood the principles and design characteristics of a service-oriented architecture? By undertaking a design activity, can you show that you appreciate the strengths and weaknesses of the approach? • Can you implement and deploy simple services using a development platform? • Can you provide clear descriptions of services and APIs so that third- parties can access them effectively. • Are you able to define and design applications as combinations of services, and be able to discuss the emergent properties of those composite services? • Have you addressed the discovery, description and governance issues of the system you have designed? • Have you addressed monitoring and management of the system? • Have you addressed security challenges around your solution? • Have you clearly expounded your design, ideas and architecture with clear diagrams and concinnity? Do you understand the challenges, emerging work and tradeoffs between different approaches? In particular, can you articulate clearly why different SOA technologies are better or worse for certain tasks?

Write a Review

Python Programming Questions & Answers

  Write a python program to implement the diff command

Without using the system() function to call any bash commands, write a python program that will implement a simple version of the diff command.

  Write a program for checking a circle

Write a program for checking a circle program must either print "is a circle: YES" or "is a circle: NO", appropriately.

  Prepare a python program

Prepare a Python program which evaluates how many stuck numbers there are in a range of integers. The range will be input as two command-line arguments.

  Python atm program to enter account number

Write a simple Python ATM program. Ask user to enter their account number, and print their initail balance. (Just make one up). Ask them if they wish to make deposit or withdrawal.

  Python function to calculate two roots

Write a Python function main() to calculate two roots. You must input a,b and c from keyboard, and then print two roots. Suppose the discriminant D= b2-4ac is positive.

  Design program that asks user to enter amount in python

IN Python Design a program that asks the user to enter the amount that he or she has budget in a month. A loop should then prompt the user to enter his or her expenses for the month.

  Write python program which imports three dictionaries

Write a Python program called hours.py which imports three dictionaries, and uses the data in them to calculate how many hours each person has spent in the lab.

  Write python program to create factors of numbers

Write down a python program which takes two numbers and creates the factors of both numbers and displays the greatest common factor.

  Email spam filter

Analyze the emails and predict whether the mail is a spam or not a spam - Create a training file and copy the text of several mails and spams in to it And create a test set identical to the training set but with different examples.

  Improve the readability and structural design of the code

Improve the readability and structural design of the code by improving the function names, variables, and loops, as well as whitespace. Move functions close to related functions or blocks of code related to your organised code.

  Create a simple and responsive gui

Please use primarily PHP or Python to solve the exercise and create a simple and responsive GUI, using HTML, CSS and JavaScript.Do not use a database.

  The program is to print the time

The program is to print the time in seconds that the iterative version takes, the time in seconds that the recursive version takes, and the difference between the times.

Free Assignment Quote

Assured A++ Grade

Get guaranteed satisfaction & time on delivery in every assignment order you paid with us! We ensure premium quality solution document along with free turntin report!

All rights reserved! Copyrights ©2019-2020 ExpertsMind IT Educational Pvt Ltd