Presentation is loading. Please wait.

Presentation is loading. Please wait.

Initiating UK OOI CI Project 7 th /8 th March 2011.

Similar presentations


Presentation on theme: "Initiating UK OOI CI Project 7 th /8 th March 2011."— Presentation transcript:

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

18

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........


Download ppt "Initiating UK OOI CI Project 7 th /8 th March 2011."

Similar presentations


Ads by Google