1 / 16

Service Framework Reference Models

Service Framework Reference Models. Bill Olivier Director, CETIS. Overview. This presentation tries to provide some answers to the following questions: What is a Reference Model for? What do we mean by a Reference Model? What more is needed for a “Service Oriented” Reference Model?

gari
Download Presentation

Service Framework Reference Models

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Service FrameworkReference Models Bill Olivier Director, CETIS

  2. Overview This presentation tries to provide some answers to the following questions: • What is a Reference Model for? • What do we mean by a Reference Model? • What more is needed for a “Service Oriented” Reference Model? • Can we agree a common format? – as a starting point for discussion…

  3. What is a Reference Model for? • There are many types of Reference Modeland no two seem to be the same • But they seem to have a common role:They provide a standardised way of a) Achieving a given goal, or b) Solving a given type of problem c) Using the means specified in the model d) … in order to provide a common approach • Specs & Standards are arrived at through a political process and so serve a variety of ends • A Spec may be to much (or too little) for a set purpose, so a Reference Model may constrain or extend them

  4. What do we mean by a Reference Model? • In the realm of Specifications and Standards, a Reference Model: • Identifies a purpose to be served • Adopts one or more Specification(s) &/or Standard(s) • If several, shows how these can work together • Adapts (“profiles”) them, if necessary, to meetthe needs of the given purpose and the demands of common ‘real world’ constraints: • Cost • Current state of technology/systems • Ease of use • etc.

  5. What do we mean by a Reference Model? • A Reference Model thus bridges : • the World of Users and their Work • the underlying Technical Servicesand their associated Specs (The Wall) • We therefore need to make clear: • The Human Context: • Purposes, Processes & Practices • The Machine Context • Applications & Services involved • The Specifications that integrate them

  6. In the Context of a Service Framework? • In the context of a catalogue of Service Components (the “Wall of Bricks”), a Reference Model also: • Selects the Component Services • Orchestrates &/or Choreographs them(Orchestration: several services working together for a user)(Choreography: several users working together) See: Eric Newcomer & Greg Lomow, “Understanding SOA with Web Services”, Addison Wesley, 2005 (integrates both and covers business processes, up-to-date) • We therefore need to identify: • The human level tasks and workflows(which may be revised and redesigned in the process) • Show how these relate to the Service infrastructure • Identify the Service level Workflows

  7. Reference Model Call Briefing 1) Domain Scope and Aim of Reference Model A clear definition of the domain-area of the reference model and the aims and scope of the Reference Model. 2) Use Cases and Business Processes for the Domain-Area This section defines the domain area by breaking it into use-cases and business processes. These will be comprised of UML use case diagrams and narrative descriptions of the elements/actors and processes involved in the domain area and the potential interactions between them. 3) Identification of the Services Relevant to the Domain-Area Using the existing ELF model http://www.cetis.ac.uk:8080/frameworks determine a selection of services which could be used to fulfil the use-cases and business-processes (identified in 2 above). If necessary, additional or re-factored services may be required. Produce a service-profile for the domain area (a cut of the framework showing only the chosen services). 4) Factoring of Services Each service in the domain’s service-profile should be factored using the following hierarchy: • Definition of functional scope • Abstract model of data and behaviour • Data representation specification (i.e. XML binding) • Application Programming Interface (API) Specification • Web service specification (i.e. WSDL)

  8. Can we Agree a Common Template? • An Understandable Name (just a name) • The Domain of Use (evolve a searchable vocabulary) (just a name, e.g. Assessment, PDP, Repositories, etc.) • What Purpose/s the Reference Model addresses (some text) • The Human Context (tasks/workflow supported) (some text + UML Activity diagram) • The Machine Context (apps & services involved) (UML Deployment diagram & links to Framework boxes) • (Web) Service Orchestration / Choreography (UML Activity diagram & links to (e.g.) WS-BPEL spec) • Specs / Standards / Application Profile Used (link) • Spec Binding adopted (link)

  9. Can we Agree a Common Template? For each (Web) Service specification used, specify: • A Link to the Service Specification or Standard(either existing, or a prototype specification created for the Reference Model - it should contain Service Use Cases, an Abstract UML Model/s of the Input & Output Data and Operations, and a Binding, e.g. an XML Schemas for Data & a service WSDL) OR A Link to the Application Profile of a Specification adopted for the Reference Model including: • Subset used &/or extensions &/or additional constraints • Reasons for the Profile in the context of Reference Model • Add any new Specs or Application Profiles developed or adopted for the Reference Modelto the “appropriate service box” in (or if no box is available propose adding a new box to)the Framework (Grow the Framework!)

  10. Compare: DLF Reference Model Template I. Definition of Business Requirement Articulate the nature and scope of the business requirement addressed by the reference model. This section should also explain the importance of the business requirement in relation to digital libraries (i.e., in context of the over-arching framework), and to stakeholders in digital library services (i.e., the value proposition). II. Use Cases and Business Processes Collect a portfolio of use cases for the business requirement. Use cases will then provide context for identifying a set of well-defined business processes which, in aggregate, constitute the scope of the business requirement. III. Identification of Abstract Services For each business process identified in (II), enumerate a list of abstract services which, in aggregate, constitute the scope of the business process. IV. Service Description For each abstract service identified in (III), identify and describe the service instantiation needed to fulfill the business requirement. Descriptions should also make reference to any standards, protocols, or best practices that would be relevant to implementation. V. “Pain Points” Given the service-oriented description of the business requirement, identify “pain points” – i.e., gaps in current capacity that impede progress from the reference model to design. Create a development agenda listing priority activities that will address these pain points.

  11. Comments on DLF Reference Model It could be argued that what is defined as a “business process” in the DLF Reference Model Template is treated as a “use case”, or that it doesn’t distinguish between the two, or that it states that “use cases provide the context for business processes”,whereas it should be the other way around: “business processes provide the context for use cases”. Most developers understand a “use case” to relate directly to the system they are to develop For an example of a DLF Reference Model, developed by Andy Powell of UKOLN covering an aspect of the JISC IE Architecture, see: http://www.ukoln.ac.uk/distributed-systems/jisc-ie/arch/dlf/ NOTE: Andy posted this as a trial attempt to illustrate the concept.He notes that DLF is changing its definition, and he is likely to rework it. However it provides a useful example for exploring the issues.

  12. Comments on DLF Reference Model Ivar Jacobson, who originated the use case concept, defines it as: “A use case specifies a sequence of actions, including variants, that the system can perform (to) yield an observable result of value to a particular actor.” Jacobson, Booch & Rumbaugh, “The Unified Development Process”, Addison Wesley, 1999 In this definition of a use case, the “system” is a black box and the “sequence of actions” is set out as a sequence of both the actions carried out by an actor and the responses made by the system. The “value” of the “observable result” is typically defined in terms of the larger context in which the use-case is being performed, and this is normally a “business process” of some kind. The confusion arises because people also talk of “business level use cases”, in which an organisation, team or service is treated as a black box that delivers some value to the customer or client.

  13. Sorting out Use Case ‘Levels’ We thus have different levels of use case, the business level use case and the machine level use case. Let us use “Business Use Case” at this level Organisation Business Use case Business (/ Learning / Support) Process and “Use Case” (unqualified) where a user is working with a computer application Computer System Computer System Computer System Use case Use case Use case It would seem that in the DLF model: “use case” = “business use case”

  14. Sorting out Use Case ‘Levels’ In the context of a Service Oriented Architecture, we have still lower level use cases relating to the use of the underlying services Business (/ Learning / Support) Process Computer System Computer System Computer System Use case Use case Use case BPEL Orchestrator Service A Service B Use case Use case Let us refer to service level use cases as “Service Use Cases”

  15. “Levelling” is Tricky However Andy’s Reference Model is pitched at a very low level, where the ‘business requirement’, Discovery to Delivery, is more like a (user application level) use case, and the ‘business process’ is more like the sequence of steps within the use case. (Only if the whole completes successfully does it deliver value to the user.) So, for Andy’s example the Business Requirement might be ‘Learning’, ‘Course Preparation’ and/or ‘Research’ , and the Business Process (or user context scenario) might be: • The user is authoring an essay, learning resource or paper • They have broken it down into topic, sub-topics and related topics • They are searching for resources related to one of these topics • They enter a system that implements Andy’s D2D RM(/use case?) • On retrieving resources they view them, and then: store copies of some, store references/links to some reject the rest as not relevant. • They repeat for other topics • They use or reference the resources in what they are authoring

  16. Comparison of Proposed and DLF Templates Comparison with DLF (Digital Libraries Foundation) JISC Reference Model FormatDLF • An Understandable Name • The Domain of Use • What Purpose/sBusiness Requirement • Tasks / workflow supportedBusiness Processes • The Machine Context(included in Andy’s example) • Orchestration / Choreography(included in Andy’s example) • Specs/Standards/App Profile Abstract ServicesDeployed Services • Spec Binding adopted Service Bindings

More Related