Service-Oriented Software Engineering : Exercises, exam information and development tasks
Please note the advise in regard of registering to the Wednesday exercise group. On the first occasion, there were too few people present, but as we get to the modeling tool part, you will be needing the groups support too.
Moreover, note that the Friday group and the following Wednesday group go togethe, instead of the normal same calendar week style.
Access hints for articles provided in Exercise 2.
Exercise 1 (online):
Fill in the online questionnaire at latest on Friday 17.1.2014.
The rationale of the questionnaire is to find out the background knowledge in the group to best match the learning needs and find the capabilities of utilising existing skills for selecting easy-to-adopt examples. Furthermore, some of the questions also tests modeling and model reading skills that all participants should be able to handle with ease before the course.
Thank you for the responses on the questionnaires: it has formulated the course contents scope and emphasis to a degree. The most important outcome of the "test question" on the UML model communications possible to take place was the insertion of basic introduction of state machines, extended state machines with memory and pre-/post-conditions, and usage of communicating state machines and their shared state analysis for getting formal thinking embedded in all communicating services design. Did not spend much time on that, but the concepts together form the key for avoiding catastrophic designs.
Exercise 2 (Friday 24.1. at 10-12 in C222 or Wed 29.1 at 14-16 in B119)
The official exercise group meets on Friday 24.1. at 10-12 in C222 for discussing these papers.
If you cannot attend this meeting, we have a reservation in room B119 on Wednesday 29.1 at 14-16 for discussing both Exercise 2 papers. Similarly, we can have this second group meeting on some weeks on Wednesdays as needed. Finally, you have the option of sending in your solo "discussions" by email for collecting your points for better learning and better credit. Feedback will be given as we go on, no diaries are left waiting the course ending. In summary, either come to the session or as last resort, send in a piece of text (pdf annex or plain text in the message body) with the course name and exercise number on the subject line.
In the reading assignments, focus on finding aswers to the questions pointed out in order to read the essential of the papers from this course point of view. There is plenty more there, which may be interesting but not according to the learning objectives this time.
You can access the articles with computers of the Department of Computer Science and the University of Helsinki. Even from home, you can access articles under University of Helsinki electronic licences on a large amount of articles through Nelli portal. You may also access the articles from your home if you create a VPN connection to the university system: see the instructions.
2.1 Reading assignment : Service oriented computing principles and technologicial environments
Read one of these (rather similar) papers
- M.P. Papazoglou, P. Traverso, S. Dustbar, F. Leymann. 2008. Service-oriented computing: a research roadmap. International Journal of Cooperative Information Systems (IJCIS), 17 (2), 223-255. http://dx.doi.org/10.1142/S0218843008001816
- Papazoglou, Mike P.,Service-oriented computing: Concepts, characteristics and directions.Web Information Systems Engineering, 2003. WISE 2003. Proceedings of the Fourth International Conference on. IEEE, 2003.
- Papazoglou, Mike P., et al. "Service-oriented computing: State of the art and research challenges." Computer 40.11 (2007): 38-45.
Discussion aspects:
- Define SOA (service-oriented architecture). What are the main concepts?
- How are SOA and Web Services technology related?
- Define SOC (service-oriented computing) What are the main concepts? What are the relationships to SOA and Web Services technology?
- The articles describe the research challenges of service-oriented systems within the extended SOA / SOC framework. Explain the levels of this framework. Within each of the levels, which challenge do you yourself find the most essential – and why?
- The article discusses ESB systems, too. Name and describe two software architectures or architecture styles that could be used in implementing an ESB. Why and for what purpose these architectures (styles) would be useful?
- What is proposed to take place at design and implementation time, and what should be doable at operation (run) time?
ADDITION: In small groups, collect your conclusions on the issues above to be presented to the whole group. For those small groups use, for example, the provided google documents directory, so we can quickly share the view on the projector.
2.2 Reading assignment : Value creation in service systems.
Read (one or both of) the following articles:
- Spohrer, Jim et al. "Steps toward a science of service systems." Computer 40.1 (2007): 71-77. http://dx.doi.org/10.1109/MC.2007.33
- Vargo, Stephen, et al. "On value and value co-cration: A service systems and service logic perspective. European Management Journal 26 (2008), 145-152.
Discussion points:
- Define concepts of service and value.
- What are service systems? How are they related to services?
- What are the characteristics of value creation in service systems? How does it differentiate from contemporary value creation associated with tangible goods?
- How service-dominant and goods-dominant logic compare to each other? Examples of services and value exchanges may help here.
- Define outsourcing.
- What kind of complications and points of management outsourcing situations may create?
- What is meant by service sciences?
ADDITION: In small groups, collect your conclusions on the issues above to be presented to the whole group. For those small groups use, for example, the provided google documents directory, so we can quickly share the view on the projector
Exercise 3 (Friday 31.1. at 10-12 in C222) (or Wed 5.2 at 14-16 in B119 -- change your group number in ilmo to go with this group!)
The official exercise group meets on Friday 31.1. at 10-12 in C222 for discussing these papers. If you cannot attend this meeting, we have a reservation in room B119 on Wednesday 5.2 at 14-16 for discussing Exercise 3 papers (so this group requires you to come in well prepared with questions). Finally, you have the option of sending in your solo "discussions" by email for collecting your points for better learning and better credit. Feedback will be given as we go on, no diaries are left waiting the course ending. In summary, either come to the session or as last resort, send in a piece of text (pdf annex or plain text in the message body) with the course name and exercise number on the subject line.
Friday group will start by the discussion of final points of Exercise 2.2, as we run out of time.
Feel free to support more efficient groupwork by using the preset shared working areas below for notes and points of view, even questions for the group. In this second session, we are likely to be faster to reach presentation state, now as the small group working method is already familiar to you all.
Many volunteered the experience that they learned a lot from questions from others on things they never though themselves to be a technical or business challenge or driver; and saw the same happening in real job situations as well. Good discussion took place, and only very small fraction of that is visible on the working areas at this point of time.
3.1 Reading assignment : Service design and development methodology
Read one of the following
- Papazoglou, Michael P., and Willem-Jan Van Den Heuvel. "Service-oriented design and development methodology." International Journal of Web Engineering and Technology 2.4 (2006): 412-442. PDF
- Kohlborn, Thomas, et al. "Identification and analysis of business and software services—a consolidated approach." Services Computing, IEEE Transactions on 2.1 (2009): 50-64.
Discuss and answer at least the following questions:
- What kinds of activities are typical for service design and development? In what phases are those activities taken? (You don't have to elaborate on all the activities in the article but you can pick the most fundamental ones)
- What are the main design and development principles discussed in the paper? What do they mean?
- What kind of artefacts are created at each phase? Where in the SOC environment these artefacts are placed?
- How Enterprise architecture may guide or benefit of the development methodology?
- If you are not familiar with Enterprise architecture concept, take a look at Zachman enterprise framework2: An overview , for example.
ADDITION: In small groups, collect your conclusions on the issues above to be presented to the whole group. For those small groups use, for example, the provided google documents directory, so we can quickly share the view on the projector
3.2 Reading assignment : Service mashup creation
Read
- Jian Yu, Boualem Benatallah, Fabio Casati and Florian Daniel: Understanding Mashup Development. Yu, Jin, et al. "Understanding mashup development." Internet Computing, IEEE12.5 (2008): 44-52.
Discuss:
- What is a service mashup?
- Describe the process of creating a service mashup and relate the creation process to the development process in 3.1.
- How a systemized SOC environment would be beneficial for mashup development?
- What kind of quality aspects would you associate with mashups?
- What are the main risks with service mashups?
- NOTE: Some of the tools are already old by now, but the patterns presented are still valid as such. The group was initially unanimous that service mashup is unknown and "certainly must be difficult", so hopefully this paper gave the idea of the "commercial" concept scope and indicates that mashups are not so difficult at all. We did discuss machup lifecycle limitations and risks for quality and privacy, for example.
ADDITION: In small groups, collect your conclusions on the issues above to be presented to the whole group. For those small groups use, for example, the provided google documents directory, so we can quickly share the view on the projector
FOR PARALLELL PROCESSING
NOTE: The purpose of inserting "exercises in between of the weekly exercises" is to paralellise the theoretical papers and the practical working. The group is very heterogeneous in preceeding skills, so it is very likely that there will be small teams progressing quicly while other groups need more get-to-gether opportunities. Be active and volunteer to demonstrate the way of working to others to speed up others and use the opportunity to get feedback to things you have completed already. The remaining exercise sessions are more of working group meetings than regular exercise sessions.
Exercise 3b: Theoretical background items
Working method: Reading at your own pace. Include a brief learning diary entry to your portfolio, or rather, use the information in exercises 4.
3b.1 Formalisms behind services and their communication
Study the concepts of finite state machines, extended state machines (with memory, pre/postconditions), and communicating state machines especially with global state analysis principles. How do you can utilise this knowledge in daily thinking of your service behaviour? Many of the good papers are rather heavy on the formalism, but a wiki page for "finite-state machine" gets you started. We are especially interested on how communicating machine (or automata) react to each others behaviour: when one emits, the other absorbs. Especially, we are interested on checking which shared states can actually be reached by letting the automata pair to run all possible variations the automata rules allow. This is called reachability analysis. Your designs should never have unreachable shared states remaining in them, miss expected combinations, nor be locked in mid-way because there is no match on the sent and expected-to-be-received messages (deadlock), or loops form which there is no way out (livelocks). Each possible shared execution path can be drawn into a path graph where the final shared states should correspond to expected termination states at both automata - otherwise the design is faulty. These things were discussed on lectures briefly, and the dicussion can be continued at the exercises. This theme is a potential area of exam questions.
3b.2 Formalisms behind service systems
Modelio implementation is based on layers of metamodels and model transformations either horizontally or vertically in that forest of model trees, in the spirit of MOF (meta-object facility) and MDA/MDD/MDE (model-driven architecture/development/engineering). A couple of easy readers give you some help on terminology before jumping to heavier texts:
- Johan Den Haan, Model driven architecture, basic concepts. The enterprise architect. Blog entry a
- Johan Den Haan, Model driven engineering. The enterprise architect. Blog entry at March, 2008.
How do you see the transformations Modelio provides being helpful in deployment problems?
- Talwar, Vanish, et al. "Approaches for service deployment." Internet Computing, IEEE 9.2 (2005): 70-80.
3b.3 Various useful patterns and methodologies
To support the discussion at the lectures and to support exercise 4.3. However, you will be spending a lot of time with the tool oriented things soon, so let's get these out of the way first.
- Arsanjani, Ali, et al. "SOMA: A method for developing service-oriented solutions." IBM systems Journal 47.3 (2008): 377-396.
- Inaganti, Srikanth, and Gopala Krishna Behara. "Service identification: BPM and SOA handshake." BPTrends 3 (2007): 1-12.
- Keller, Alexander, and Heiko Ludwig. "The WSLA framework: Specifying and monitoring service level agreements for web services." Journal of Network and Systems Management 11.1 (2003): 57-81.
Exercise 4 (Fri 7.2 at 10-12 in C222 or Wed 12.2 at 14-16 in B119)
Theme: Getting hold of the Modelio 3 tool
Method of working:
- For the identification of the correspondences of the models supported by the tool and the SOSE methodology we have read about (4.1 and 4.3) we conduct the same kind of group discussion than with preceeding reading assignments. Now you just read a paper and models visible through the tool. This can be done as learning diary as well, if neither of the exercise group times suit.
- For the technical exercises 4.2 and 4.4 you work on your computer. If you run into problems and need help, those discussion groups are a good way of solving them. Bring your laptops with you! The tool works on most Windows and Linux versions, but requires quite a lot of memory (depending on the model size and utility modules included) - tablets do not suffice for this. So, for these two exercises, help is available at these assigned times (at least).
4.1 Reading assingment:
- Modelio overview + 3b.2
- As Modelio overview read any of the team White papers behind this link.
- Guiding questions:
- What are the basic goals behind the Modelio development? For whom and why? How SOSE processes are visible? How teams and organisations bring SOSE artefacts to each others reach?
- What are the basic concepts on which Modelio is built? Why those concepts are helpful in theory? Can this kind of world view be standardised? What drawbacks there might be?
4.2 Download the tool
- instructions
- see lecture material sose14-modelioinstructions.html
- change of version number caused incompatibility of model exchange, be warned)
- note also the advise videos from which you can follow click-by-click how to draw a model
- the reading assignment above brings in the conceptual side of what you are expressing with those drawings
4.3 View an existing model and interpret it in a quided way - some answers on this at lecture slides on MDE in service design
- Modelio provides facilities for business architects, service system desingers and software developers. so there are "planes" of enterprise architecture (business architecture, data architecture, application architecture, technology architecture), MDE (model-driven engineering roundtrip code generation and reversing code changes to models at CIM, PIM and PSM levels (compuation or platform independent, platform specific model levels) on top of code in various languages, and service system archicitecture design facilities to be linked to these other expert views. We have been reading about the SOSE methodology by Papazoglou and those mentioned in 3b.3 above - where do we find a meeting point here?
- Guiding questions
- How do Papazoglous SOSE phases match with TOGAF Enterprise architecture views?
- In which extend Modelio supports TOGAF - but especially, Papazoglous SOSE phases?
- Is Modelio enforcing a methodology of its own or are the models applicable to any methodology? Any SOA reference model?
- We study these questions in the light of the INCOSE case study case. For material on these, view
- lecture material sose14-modelioinstructions.html (note both video and right under it, the model figures that can be viewed without the tool)
- As another example, you can import the Discount Voyage model set and study it instead (zip file to be imported to the Modelio 3 tool).
- Guiding questions
4.4. Create a small model of your choise on your own and validate it
- The tool includes a rigorous set of acceptability rules for models. Use that validation feature and correct your model so there are no remaining errors or warnings left. Suggested targets are
- a client-server pair connected together with a business process, either as an orchestration or a choreography;
- a browser with a set of non-unique clients making queries from a database;
- WSDL descriptions and interfaces - it should be sufficient to make one of these and generate the other.
- Put one of these trials into your portfolio as item A (instructed as final item on this list). Do this on your own to make sure you get familiar enough with the tool to do the remaining exercises. Use the report generation utility of the tool for automated generation of your portfolio item, and do not forget to note down your learning points.
- This trial can be associated or disconnected of the Discount Voyager example. The Discount Voyager case is presented on the SoaML tutorial slides at
- lecture material sose14-modelioinstructions.html .
Exercise 5 (14.2 at 10-12 in C222 or Wed 19.2 at 14-16 in B119)
Theme: Producing a larger service-oriented system
Note instructions for portfolio elements and their grading criteria as working guidelines too, at the bottom of the page.
Method of working
- The exercise group time is mostly used for
- teams to solve problems, discuss design options, discuss the quality aspects of the services
- demostrate some of the solutions to other teams
- the final steps can be wrapped up on the final week
- Choose to work on one design and implementation topic.
- The exercise 5.1 utilises an example that is used in many other universities as well, and there are detailed instructions for doing each phase. This should be done as an individual exercise, portfolio explaining how each thing connects to the theoretical frame discussed during lectures.
- Exercise 5.2 gives you the opportunity to do either individual design or team work on a topic that you have come up by yourselves. Do not be too ambitious with the size of it, since the multiple levels of models is still tidious work to get correct, although the tool gives you power to generate things. Make sure you get your choise of modeling target and scope agreed beforehand.
- Choose either 5.1 or 5.2.
- Remember that code generation, business process engines and reversing from code are elements in the sold version, but not of the free one. You can however use the 10day free trial for these parts - or we may get an academic free licence just in time for that. You can move your design easily from the free version to the trial version when you are ready to take those final steps and test things.
5.1. Extend the SoaML model "Discount Voyage" model
- Portfolio part B: create model elements
- The case study and the functionality to be added is presented on the lecture slides " lecture material sose14-modelioinstructions.html " and "Introduction of the case study" . For design support the language guides can be found here: BPMN tutorial, SoaML tutorial .
- Create the business processes for the involved parties using BPMN either to begin with, or after the SoaML model (instructions below).
- Create the SoaML model by introducing a new package, participant, interfaces and contracts appropriately (see the slides), so you can link the BPMN and SoaML elements. Here you will in fact see how blocks of internal business processes interacting with a certain peer presents itself naturally as a contract for a service.
- Enhance this model by adding an insurance company, so the clients can directly/via the travel agency purchase an insurance for their trip; for this, creating another pool to represent the new partner, tasks for it and data objects
- For these, create individual internal process descriptions and also message exchanges that cross pool boundaries. At this stage do not worry about splitting the processes into tasks for servicitazion.
- Draw the BPMN diagram for a client, a travel agency and a credit card company in such a way, that
- the client can browse for trips, request price information, make a reservation and cancel it or confirm it;
- the travel agency can respond to queries and reservation orders, as well as cancellations; furthermore, it is able to check with the credit card company whether there is sufficiently money available for the purchase;
- the credit card company can do the obvious tasks involved.
- Portfolio part C, alternative with EA connection
- At latest, this is the point where you need to load the larger pre-prepared (by international educators and specialists) Discount Travel model, so you can connect your piece created in part B into it. Downloadable projecd zip file discountvoyagemodelio3.0.0_opensource_en.zip .
- Identify the enterprise architecture, requirements analysis and collaboration design elements in the model space.
- Update the SAM model: add enpoints (ports and interface types), and associate services to web sites and agency main system "IT units".
- This far you have reached the part C of your portfolio.
- Portfolio part C, alternative with code
- Choose generation or transformation to a technical platform (business process engine, code), but remember to model the technology choises first.
- Try it out
- Insert the completed model in your portfolio, following the instructions given below. The BNM and SOAML elements form part B, the other model extensions part C. You may skip C and do a small element of 5.2 instead, illustrating an other area of skills than A and B already have done.
5.2 Design your own business and elaborate it.
Insert the artefacts created and genearated in your portfolio, following the instructions given below.
Elaborate your "business" according to the joint advise of SOSE methodology and Modelio utilities till you get a useful composition of models or some generated, working code. Alternatively you can utilise reverse engineering: take an old program of yours, generate models, enhance things at SoaML level (with supporting justification from business model level or use cases), and generate code from the added models.
Some ideas:
- A game between class-mates:
- you design together the external business process (choreography) with a share SoaML contract (set) or WSDL descriptions
- export that model, and import it as a "subproject" to each individual workspace in your separate computers
- deside who works on which partner's system and each work on their own part -- no content negotiation there, pretend to be isolated from each other with this
- bring all designs as imported blocks, projects, elements - whatever is suitable - to a single new project, and link elements to the SoaML core
- does it validate properly when it has been put together?
- (generate, run, try it out)
- A mashup form some simple big data sources you find interesting.
- If you have good experience on mobile environment development, you may be able to put up something with simple user interface on the mobile equipment while all processing takes place in a service system that you can develop plainly with the Modelio facilities. In this case, anything on the moblile communication protocols and processing on the equipment needs to be introduced as a "foreign" fixed element in the infrastructure architecture (the long video suggests this is possible, but that is on the prized version side and has not been tried at all here). This is here only because someone expressed a wish on the fist week questionnaire.
Exercise 6 (21.2 at 10-12 in C222 or Wed 26.2 at 14-16 in B119)
Theme: Demostrations, especially from any 5.2 inventions
Register your demonstration beforehand so we can create a schedule.
Exam Thu 27.2 -- check on departmental pages in case of errors or late changes
Hints on exam questions and preparation for the exam:
- The reading material for the exam is listed as the required reading list on the tab for lecture material. ( Slides are there to a) indicate themes discussed on lectures (or skipped if familiar already, or touched very lightly with SOSE or MDE angle on more generic things, b) cover gaps in between of the papers (like ecosystems, inter-enterprise computing challenges, motivational examples), c) handbook style reference material (on service quality), and so on. The level of detail varies a lot, because things have been written by different people and different audiences. The span of preceding experience on any kind of development work varies in this group from none to decades of industrial experience and research activity - therefore, questions are wellcome. This has been the case on earlier years as well and it does show on the width of slideware.) Some of the compulsory reading list gaps can be also filled in by the items on the additional reading materials, the list of which is edited by whim any time.
- The exam will measure how well you have reached the learning objectives, so it is a good idea to take another look at that matrix. There are levels of depth in learning, discussing, understanding that are recognised for writing learning matrices: a) identifies - can pick a name and a description and pair them from amongst lists of names and descriptions, b) can in own words describe or define (more formal, more exact) a concept, a term, a process, a method, or such, c) can apply a concept or a method to a task, d) can analyse a phenomenon (can take it into parts and study the properties of the elements; can compare to related phenomenons), e) can create a synthesis (can take parts and formulate a bigger construct and discuss the pros and cons of that), f) can critically evaluate a phenomenon or a concept (can create criteria for comparison, can measure performance or study the usability of something, can do SWOT analysis, can evaluate against a maturity model, etc). Knowing this terminological issue you should be able to read the matrix easily enough to see what you need to be able to define, describe in an analytical way and so on. The application of methodology and tool is left for your portfolio, so there will be no model creation at the exam, but potentially still interpretation and spotting failures of models.
- The following article provides you some insight on the in-depth learning style generally expected on MSc courses level (this is what the learning objective matrices refer to with their vocabularies):
- Lord, Thomas, and Sandhya Baviskar. "Moving Students From Information Recitation to Information Understanding-Exploiting Bloom's Taxonomy in Creating Science Questions." Journal of College Science Teaching 36.5 (2007): 40.
- Typical exam questions:
- Define briefly the following terms (could be any of this list or outside of the list): MDE, TOGAF, enterprise architecture, model, MOF, CIM, service contract, business process, communicating automata and their shared state, business service, SLA management, innovation, orchestration, choreography, external business process, internal business process, transaction, sanctioning process, forward recovery of failed transaction, compensation, loose coupling, binding, open binding, ESB, deployment, scaffolding (actually comes from pedagogy, meaning facilities that help the "learner"/"user" to get things right),
- Write an essay (1-2 pages depending on your handwriting) in an analytical, evaluating, synthetisising, comparative way on a theme. The theme could be for example MDE, service ecosystems vs in-house environments as SOSE environments, Modelio as a MDE / SOSE tool (chain), business driven qualities of services, challenges of cross-organisational/inter-enterprise/cross-business-unit-of-a-company service compositions (tech/sem/pragmatic/cultural interoperability, document/process driven approach, stovepipe age architecture solutions, lack of enterprise architecture awareness, ...)
- Evaluate a model or a set of models: find flaws in terms of inconsistent or unwanted joint behaviour, problems on service quality, challenges of interoperability and composabiity, ...
- Create a central question and answer it: picking your favourite (but still within the scope of the course theme) theme and writing an analytical, critical essay on it.
- Please fill in a course feedback form after the exam and portfolio have been completed. You find it here.
Deadline for model and implementation exercise portfolios: Monday 3.3. 2014 at 3pm --> deadline extended to submissions due on Monday 10.3 at latest.
The portfolio contains
- the models and implementations you have created in the exercises 4-6 in their final form, as zip package exported from the Modelio 3 tool;
- brief commentary on what your service system represents, what elements you worked with and what skills you focues on practicing while doing them; you are incouraged to report initial failures and how you corrected them - that is, what you learned to do differently (recognising what you learned at each step in the range of learning objectives is anyway what counts); the commentary can be free form (pdf, plain text) and should focus on pointing out the learning points evidence in your Modelio package.
The reason for requiring individual portolios from each of you is for grading purposes, as a good part of the points can be collected from this work. In exercise group meetings we can view a few demonstrations and discuss on techniques and methods, quality and tricks, but there is not enough time in those sessions to view all contribution s in detail enough for fare grading.
In doing the tasks, especially if you choose to do a larger bit, is allowed, but each group member must declare in their individual reports a) the contribution of themselves and b) the contribution of their team members as well (and this report on other members contributions must be privately written, not crafted jointly). A bullet list is sufficient report on this aspect, as long as you include a) technical input, b) "eye for design", c) guiding others in the group and bringing new knowledge of the application field or of the modeling, enterprise architecture, or collaboration/ecosystem point of views, as well as recognising reasons for design choises at interesting SOSE phases.
In case you want to do a larger project, do consider the credit units as a time consumption limitation. Do not hesitate discussing your expansion ideas beforehand. It is also possible to do a larger project with the same tool aferwards as a laboratory work.
Portfolios should be submitted as email with subject line "SOSE14 portfolio". Include reasonable size documents to your email, large zip files as pointers to something I have right to access (underneath your public_html, as google documents shared with cinco.flock@gmail.com, or alike).
Evaluation criteria for the portfolio
The portfolio must at its minimum include business processes and service architecture models (SoaML) for your service system in such a way that you are able to indicate a selection of service and desirable service composition properties with them. Good services should for example follow policy rules and be manageable through a management interface, so the interfacing with adiministrators and policy setting governance processes may be an appropriate inclusion. Check for serivce quality at the lecture material for selecting your quality goals.
The evaluation on the portfolios focus more on the expressed method for aiming for good quality of design, in contrast to the amount of models and code generated. The quality creating points of potential interest include
- Identification of business services and corresponding processes according to the analysis methods pointed out. The choise of services may depend on pre-existing set of services or implementations, EA strategies present, and value chains expressing the motivational directions.
- Identification of business service interfaces in such a way that service quality aspects and correctness of communication between services implementation is enabled.
- Design of management interfaces for all relevant services so that enterprise policies can be utilised for guiding the system behaviour at each partner system separately.
- User interface design guidelines for end user comfort.
- ...
Recall that your design must represent a situation where several autonomous organisations get involved into a conversation where at least the client receives value from. Further, it is recommended to have several processes in at least one of the organisations. Further, it is normal that constantly running services include a loop in which they react to incoming messages, process them, and sleep till the next request comes - but there are good ways of more abstract modeling of that.
Note that as the three portfolio elements turned out to be of significantly different in size and expectations, the points per portfolio item cannot be evenly distributed. The part A is significantly easier than the others. The total sum of poits for the portfolio still remains intact.