230 likes | 318 Views
CBSE and workflow-based composition. Arne-J ørgen Berre, SINTEF arne.j.berre@sintef.no CBSEnet, Cyprus, September 26 th , 2003 Based on position statement for ECOOP’2003 WS12 “Third International Workshop Composition Languages” July 22 nd , 2003. IDE. Integrated Environment. Repository
E N D
CBSE and workflow-based composition Arne-Jørgen Berre, SINTEF arne.j.berre@sintef.no CBSEnet, Cyprus, September 26th, 2003 Based on position statement for ECOOP’2003 WS12 “Third International Workshop Composition Languages” July 22nd, 2003
IDE Integrated Environment Repository interface Comp. Valida tor Modeling tool Model transformation Program tool Process Support Models profiles, business, requirements, architecture, platform Define and execute transformations, code generation Engineer & build component code Repositoty & Process CC description Web-based HTML Code XMI XMI/OBJ XMI/Code IRep IBrow WFXML Prog Enterprise Repository Model Transformer Workflow support Execution Environment ITrS Runtime components. Workflow support TransformationService Documentation Component specifications Components implementations COMBINE Component Centre
HUTN Editor HUTN Editor HUTN Editor HUTN Editor HUTN Editor HUTN Editor HUTN Editor HUTN Editor Modeling Modelling Requirements Requirements Architecture Architecture P P latform latform Profile Profile B B usiness usiness P P latform latform Profile Profile Toolset Toolset Modeller Modeller Modeller Modeller Modeller Modeller Modeller Modeller Modeller Modeller Modeller Modeller Modeller Modeller Requirement Requirement Architecture Architecture Architecture Platform models Platform models Platform models B B usiness usiness Requirement Requirement Architecture Architecture Architecture Platform models Platform models Platform models Models Models B B usiness usiness UML Profiles UML Profiles UML Profiles UML Profiles models models models models models (J (J (J 2EE& 2EE& 2EE& WebS WebS WebS Models Models models models models models models (J (J (J 2EE& 2EE& 2EE& WebS WebS WebS Models Models Platform Platform Model Model Req Req Req - - - Arch Arch Arch Arch Arch Arch - - - P P P latform latform latform Component Component BM BM BM - - - Req Req - - - Arch Arch Arch Req Req latform Req Req - - - Arch Arch Arch Arch Arch Arch - - - P P P latform latform Component Component BM BM BM - - - Req Req Req - - - Arch Arch Arch Environments Environments mappings mappings Mapping Mapping Mapping Mapping Mapping Mapping Generation Generation Mapping Mapping Mapping Mapping Mapping Mapping Mapping Mapping Mapping Generation Generation Mapping Mapping Mapping J2EE/EJB J2EE/EJB Web Services Web Services Project & Project & Too l - dependent and independent (XMI) representation, Enterprise Repository Enterprise Repository Reusable Reusable Intra/Internet - accessible Enterprise Enterprise Asset Asset Repositories Repositories Manager Manager UML Model UML Model SW Component SW Component Document Document Too l - dependent and independent (XMI) representation, Intra/Internet - accessible COMBINE MDA Approach Workflow Engine
ECLIPSE IDE (OpemSource) Integrated Environment Repository Web interface Objecteering (Softeam) UMT (SINTEF) Eclipse Program IDE Comp. Validator (Open Group) Process Support Web-based (OpenIT) Define and execute transformations, code generation Engineer & build component code (OpenSource) Models profiles, business, requirements, architecture, platform (Adaptive) HTML Code XMI XMI/OBJ XMI/Code IRep IBrow WFXML Prog Enterprise Repository (Adaptive) Model Transformer Micro-Workflow Engine J2EE JBOSS Execution Env. ITrS Runtime components. (OpenSource) TransformationService (INESC) Documentation Component specifications Components implementations Component Centre Parts
ACE-GIS Project example Service Creation Environment MDA PIM Plastform Independent Model In XMI UML Graphical notation XMI-representation FlowComposition model FlowComposition model Service model Service model Flow Composition tool Information model Information model UMT Transformation Toolkit Registry & Repository Catalogue & Services Existing application UML tool Semantic Interoperability mapper tool Model mapper FlowComposition model (ws:WSFL +) MDA PSM Platform Specific Model: Web Services, ebXML, J2EE/EJB, ... Service model (ws:WSDL +) New Application & service Conformance Testing tool Information model (WSDL/XSD) Service interface Service Infrastructure GI Services EC Services Standard Registry Repository Composition Services
UML Model Transformation tool XMI XMI code generation model transformations
<?xml version="1.0" encoding="UTF-8"?> <WorkflowDefinition xmlns="http://www.esw.inesc-id.pt/worksco/tools/schemas/workflow" id="W-example" name="application integration workflow example" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.esw.inesc-id.pt/worksco/tools/schemas/workflow http://www.esw.inesc-id.pt/worksco/tools/schemas/workflow.xsd"> <SequenceProcedure id="P1"> <JoinProcedure id="P2" name="Get information in parallel"> <ConditionalProcedure id="P3" name="Check for 1" condition="((List)choices).contains(new Integer(1));"> <PrimitiveProcedure id="P4" name="Do action for 1" domainObject="GetRoadMap"/> </ConditionalProcedure> <ConditionalProcedure id="P5" name="Check for 2" condition="((List)choices).contains(new Integer(2));"> <PrimitiveProcedure id="P6" name="Do action for 2" domainObject="GetLandMap"/> </ConditionalProcedure> </JoinProcedure> <PrimitiveProcedure id="P7" name="Combine the information into one map" domainObject="CombineMaps"/> </SequenceProcedure> </WorkflowDefinition>
Patterns for “Flow”, “Choreography”, “Composition” and “Orchestration” Ref. artikkel “Don’t go with the flow” http://tmitwww.tm.tue.nl/research/patterns/ieeewebflow.pdf
What are similarities/differences, and advantages/disadvantages between: Workflow languages vs (Web) Service orchestration/choreography languages vs Scripting languages ---- and Component Composition languages ? (theory/practice) ADLs Agent-based languages Conclusion from ECOOP’2003 WS12 “Third International Workshop Composition Languages” -> The various approaches, (Workflow, Web service choreography, Scripting, Component composition) need to be related and compared. Discussion point
Workflow, orchestration, composition – What are similarities and differences with respect to problem/solution Describe resources and artifacts give: Problem in handling loops (state handling) Create a new instance of the process (problem of resources and artifacts) – difficult then to merge Putting together versus composition and/or orchestration Activity view versus Component collaboration/composition view (UML for EDOC) – also for non functional aspects ? Relationship to ADL , UML 2.0 (Port-Connector) Issues
Dynamic discovery of services, reconfigurability, match QoS requirements Component deployment solutions (Workshop on Deployment – colocated ICSE May-2004) Upgrade system, reconfiguration languages, C2 language (David Garlan, CMU, strict hierarchy of components) CBSE Symposium colocated ICSE May-2004 , predictable assembly International CB Programming workshop, ECOOP 2004, June 14-17, Oslo, WICSA (Software Architecture) colocated Issues (II)
Killer application for Composition languages ? Be problem oriented rather than solution oriented ? First – what are the advantages offered: Separation of concern, explicit configuration; flexibility, adaptability, easier to understand for users – let users change (ref. SAP), (no recursion/looping) Embedded domain (Field devices), Agent-oriented applications PICOLA – language as a research vehicle What is difficult to express ? Interoperability – Describe workflow model, import into execution engine, From Business model to XPDL, Issues III
Mobility ? Rel.to QoS requirements, code mobility (viruses/worms) ?, device mobility, user mobility, Issues IV
Agree on Ontology for QoS Different interpretations of terms, top down vs bottom up ISO 9126 – Sofware quality UML profile for QoS Specification of context ? Issues
COMBINE www.opengroup.org/combine ACE-GIS www.acegis.net MDA www.omg.org/mda UML 2.0 www.u2-partners.org Location-based services & components/GIS www.opengis.org CBSEnet www.cbsenet.org Relevant links