Download presentation
Presentation is loading. Please wait.
Published byElaine Gardner Modified over 8 years ago
1
Initiating UK OOI CI Project 7 th /8 th March 2011
2
Red Hat / Scribble Timetable
3
SAVARA & Testable Architecture
4
SAVARA: How is Scribble used? ● Testable architecture is about understanding whether artifacts defined at different stages of the lifecycle are compatible ● Scribble used to provide common representation of interaction based behaviour ● Aim to leverage static type validation within design time tools ● Aim to leverage scribble based monitoring at runtime
5
Red Hat ● Red Hat provide subscription based support agreements for “platforms” ● A platform consists of one or more open source project, that goes through a QA procedure and is certified to run in a range of supported environments ● When new technology is being introduced, it first appears as a “technical preview” within a platform, and a fully supported technology in the subsequent release
6
Timetable ● SAVARA is currently planned to tech preview as part of the SOA Platform ● Date has not been finalized yet, but likely to be near end of 2011 ● Due to duration of QA cycle, tech preview would be based on stable community release 3 months prior to tech preview release (e.g. estimate September 2011) ● This means that candidate release ideally required in July 2011, with stable notation and features
7
What needs to be done? ● SAVARA Tech Preview requires: ● Upgrade from Scribble 1 (original version from 2008) to Scribble 2 (new version) - completed ● Improved conformance checking ● Some static validation ● Ideally BPMN2 to Scribble conversion (currently just supports WS-CDL) ● Migration of simulation and monitoring to Scribble based monitor, in place of pi4soa WS-CDL monitoring
8
Scribble Tool Support
9
Project Hosting ● Hosted at: www.scribble.orgwww.scribble.org ● Uses subversion for source code control, although will be moving to git (on github) shortly ● Issue tracking (bugs, feature requests, tasks, etc) using Jira ● Forums (user and developer) ● Mailing list: (closed group) – https://lists.jboss.org/mailman/listinfo/scribble-research https://lists.jboss.org/mailman/listinfo/scribble-research ● Maven used to build software ● Hudson used for continuous integration – build and test (http://hudson.jboss.org/hudson/job/scribble/)http://hudson.jboss.org/hudson/job/scribble/
10
Project Hosting (2) ● Easy to become involved ● Just need a jboss.org user account to be able to use the forums and jira ● Mailing list (scribble-research) subscription needs approval from Kohei, as currently closed group ● Project contribution (i.e. committing code to svn) requires a signed contributors license agreement – When moved to github, signed agreement will still be required (for the foreseeable future) – However, changes will be made in users own forked repositories, with contributions submitted with a pull request
11
SVN Source code structure ● Development ● Java – Location of current tool development – Other languages can be supported in the future, possibly not full tool chain, but may be some components (e.g. runtime monitor) ● Research ● Intended as a workspace for individuals or groups to collaborate on components that may eventually migrate into the development branch
12
GitHub Source code structure ● Development ● Separate repositories for – Core – shared modules that will be published to Nexus – Eclipse Tools – plugins released via an update site – Command line Tools – CLI for invoking capabilities ● Research ● Can be carried out in user/research groups own github account with forked repositories
13
Java Tools ● Main components (e.g. parser, endpoint projection, validation, monitor, etc) implemented as OSGi bundles ● Enables use in an Eclipse environment ● Command line support using Apache Felix ● Use within OSGi compliant server ● Provides hot-deployment of new implementations by dropping bundle into OSGi environent – e.g. add new validation rules
14
Parser ● Uses ANTLR to describe syntax and generate a parser ● The syntax is available from herehere ● Custom adapter used to convert the Abstract Syntax Tree representation into a Scribble Protocol Object Model
15
Scribble Protocol Descriptio n ANTL R Parser Generic Abstract Syntax Tree Protocol Object Model ANTLR Custom Adapter ProtocolModel Import Protocol Interaction RoleList
16
Validation ● Mechanism defines a simple set of rules for providing validation of a protocol description ● e.g. has a role, used in an interaction, previously been defined ● Higher level forms of validation still required ● Validators simply implement the org.scribble.protocol.validation.ProtocolValidator interface and register the implementation as an OSGi service
17
Protocol Object Model Protocol Validation Manager Protocol Validator Protocol Validator Register Model Changed Validate Journal Log errors
19
Endpoint Projection ● Projects the endpoint (or local model) representation of a role defined in a global Protocol model ● Represents the responsibilities/behaviour of the endpoint in respect of the global model ● Can be used for code generation purposes (e.g. WS- BPEL, Java code, service interfaces such as WSDL, etc) ● Can be used for conformance checking of an endpoint implementation (statically or dynamically)
20
Protocol Object Model GlobalLocal Project to role
21
Select the 'project' action associated with the protocol
22
This shows a local model projected from the global protocol description
23
Monitoring/Simulation ● Concise XML based state machine representation generated from Protocol local model ● XSD schema available herehere ● Language independent ● Monitor can be used for simulation ● Supplying list of events, e.g. ● sendMessage,{http://www.example.org}Order,Broker ● receiveChoice,Ok,Broker ● receiveMessage,{http://www.example.org}Confirmation,Broker
24
Protocol Object Model Local Scribble Protocol Monitor Descriptio n Protocol Monitor Export to XML Monitoring Representation EVENTS
25
Select the protocol to be simulated
26
Define the list of events to be simulated
27
Select the 'simulate' action associated with the protocol
28
Select the events file to drive the simulator
29
And the results........
Similar presentations
© 2024 SlidePlayer.com Inc.
All rights reserved.