© 2007 by «Author»; made available under the EPL v1.0 | Date | Other Information, if necessary Eclipse SOA Tools Platform Project Eric Newcomer IONA Technologies
Eclipse SOA Tools Platform | Eric Newcomer | © 2007 by IONA ; made available under the EPL v1.0 2 A Brief Introduction to SOA Service Oriented Architecture An architectural pattern for modular applications It’s not technology specific SOA provides application building blocks called Services Services should be loosely coupled, self contained and independent Flexible, standardized, reusable Business Oriented Not OO
Eclipse SOA Tools Platform | Eric Newcomer | © 2007 by IONA ; made available under the EPL v1.0 3 A Brief Introduction to SOA Taking a SOA approach can provide benefits Build applications with less code Reusable common set of components Supports incremental adoption Smaller development teams Easier training Cleaner separation of concerns Ultimately – cost savings
Eclipse SOA Tools Platform | Eric Newcomer | © 2007 by IONA ; made available under the EPL v1.0 4 Tools for SOA SOA by itself is an architecture style and technology neutral SOA networks may be described, implemented and deployed using a range of technologies SCA, JBI, CORBA, Web Services BPEL, Java, C++, Dynamic Languages There are a lot of discrete tools that deal with each of these implementation approaches However most of them derive from OO concepts and techniques (SO is more abstract than OO)
Eclipse SOA Tools Platform | Eric Newcomer | © 2007 by IONA ; made available under the EPL v1.0 5 Why the SOA Tools Platform? Unify developer tooling for SOA based applications Provide a consistent and extensible set of tools for: Developers who need to build, deploy and maintain services Architects tasked with assembling an SOA Infrastructure Administrators maintaining, monitoring, or policing SOA based systems Business analysts recording business processes
Eclipse SOA Tools Platform | Eric Newcomer | © 2007 by IONA ; made available under the EPL v1.0 6 STP Project Mission Statement The mission of the SOA Tools Platform project is to build frameworks and exemplary extensible tools that enable the design, configuration, assembly, deployment, monitoring, and management of software designed around a Service Oriented Architecture
Eclipse SOA Tools Platform | Eric Newcomer | © 2007 by IONA ; made available under the EPL v1.0 7 Project Scope AnalysisDesignImplementationDeliveryOperations Service Specification Process Specification Policy creation & attachment Rule-based Validation Assemble/ Composition Infrastructure planning Code Generation Test Generation Policy refinement Implementation testing Infrastructure Build-up Lookup (Services, Processes, Policies, …)PackagingInstallationActivation Deployment Testing
Eclipse SOA Tools Platform | Eric Newcomer | © 2007 by IONA ; made available under the EPL v1.0 8 Contributors IONA Technologies Sybase ObjectWeb IBM Scapa Technologies EBM WebSourcing Intalio LogicBlaze SymphonySoft Infravio BEA JBoss
Eclipse SOA Tools Platform | Eric Newcomer | © 2007 by IONA ; made available under the EPL v1.0 9 STP Subprojects STP SOA System (SOAS) Package, Configure, Deploy STP Service Creation (SC) Service Creation STP Core Frameworks (CF) Core frameworks and models STP BPMN (BPMN) Business Process Modeling Notation Graphical design editor STP BPEL 2 Java (B2J) BPEL to Java translator
Eclipse SOA Tools Platform | Eric Newcomer | © 2007 by IONA ; made available under the EPL v1.0 STP Core Framework The core models and frameworks for the STP project SCA model for Service Assembly Frameworks to access and construct assembly model Language components for SCA syntax support (Java) Support for extensions of SCA model Validation Reference management
Eclipse SOA Tools Platform | Eric Newcomer | © 2007 by IONA ; made available under the EPL v Project Scope AnalysisDesignImplementationDeliveryOperations Service Specification Process Specification Policy creation & attachment Rule-based Validation Assemble/ Composition Infrastructure planning Code Generation Test Generation Policy refinement Implementation testing Infrastructure Build-up Lookup (Services, Processes, Policies, …)PackagingInstallationActivation Deployment Testing
Eclipse SOA Tools Platform | Eric Newcomer | © 2007 by IONA ; made available under the EPL v And for the future… JBI Infrastructure description and modeling Enterprise Integration Patterns approach to infrastructure construction Repository/Registry/Catalog APIs
Eclipse SOA Tools Platform | Eric Newcomer | © 2007 by IONA ; made available under the EPL v STP Service Creation Frameworks and extensions for editors to create STP services Contract Editors Service editors (create services that can be deployed on supported runtimes) Resource creation Wizards Component Type editors Binding Editors / Policy Service Discovery tools
Eclipse SOA Tools Platform | Eric Newcomer | © 2007 by IONA ; made available under the EPL v STP Service Creation Europa Release JAX-WS code-first service development WSDL-first JAX-WS service development SCA Java Service development
Eclipse SOA Tools Platform | Eric Newcomer | © 2007 by IONA ; made available under the EPL v STP Service Creation XML editor SCDL support Online Help Many bug fixes Building technical documentation, tutorials
Eclipse SOA Tools Platform | Eric Newcomer | © 2007 by IONA ; made available under the EPL v STP Service Creation Java Annotation View Helper Java Annotation Validator JAX-WS Runtime Provider SC Java Runtime Provider BPMN Diagram Annotation Decorator
Eclipse SOA Tools Platform | Eric Newcomer | © 2007 by IONA ; made available under the EPL v STP Service Creation Java 5 Annotation Helper Extension Point Add an extension here if you wish to drive the annotations view Used for JAX-WS and SCA Java service creation Useful for other approaches too, e.g. REST markup like JSR 311
Eclipse SOA Tools Platform | Eric Newcomer | © 2007 by IONA ; made available under the EPL v STP Service Creation Java annotation validation rules framework Validation rules drive markers in the source view
Eclipse SOA Tools Platform | Eric Newcomer | © 2007 by IONA ; made available under the EPL v STP Service Creation Multiple rule sets may be configured and viewed in prefs
Eclipse SOA Tools Platform | Eric Newcomer | © 2007 by IONA ; made available under the EPL v STP Service Creation SCA and JAX-WS Runtimes are pluggable Right now we test against Apache Tuscany and Apache CXF Use these extension points to switch to RI, or others
Eclipse SOA Tools Platform | Eric Newcomer | © 2007 by IONA ; made available under the EPL v Project Scope AnalysisDesignImplementationDeliveryOperations Service Specification Process Specification Policy creation & attachment Rule-based Validation Assemble/ Composition Infrastructure planning Code Generation Test Generation Policy refinement Implementation testing Infrastructure Build-up Lookup (Services, Processes, Policies, …)PackagingInstallationActivation Deployment Testing
Eclipse SOA Tools Platform | Eric Newcomer | © 2007 by IONA ; made available under the EPL v And for the future… Policy Editing Framework SCA Service Development Support beyond Java Rules creation framework
Eclipse SOA Tools Platform | Eric Newcomer | © 2007 by IONA ; made available under the EPL v STP SOA System (SOAS) Subproject Tools and frameworks for packaging and installing Services to runtime Servers Extensible package profile editor Package profile models Extensible package builders Extensible Deployment profile editor Deployment profile models
Eclipse SOA Tools Platform | Eric Newcomer | © 2007 by IONA ; made available under the EPL v Project Scope AnalysisDesignImplementationDeliveryOperations Service Specification Process Specification Policy creation & attachment Rule-based Validation Assemble/ Composition Infrastructure planning Code Generation Test Generation Policy refinement Implementation testing Infrastructure Build-up Lookup (Services, Processes, Policies, …)PackagingInstallationActivation Deployment Testing
Eclipse SOA Tools Platform | Eric Newcomer | © 2007 by IONA ; made available under the EPL v And for the future… Supporting many container technologies and packaging approaches JBI Strong integration with WTP Server/Facet frameworks Huge take-up of these APIs Support for headless automation of deployment For effective testing and provisioning
Eclipse SOA Tools Platform | Eric Newcomer | © 2007 by IONA ; made available under the EPL v STP BPEL 2 Java Generate Java from BPEL Code uses any ‘engine’ which implements the framework APIs BPEL 2 Java engine framework Runs the generated class files Includes local/remote engine implementations
Eclipse SOA Tools Platform | Eric Newcomer | © 2007 by IONA ; made available under the EPL v Project Scope AnalysisDesignImplementationDeliveryOperations Service Specification Process Specification Policy creation & attachment Rule-based Validation Assemble/ Composition Infrastructure planning Code Generation Test Generation Policy refinement Implementation testing Infrastructure Build-up Lookup (Services, Processes, Policies, …)PackagingInstallationActivation Deployment Testing
Eclipse SOA Tools Platform | Eric Newcomer | © 2007 by IONA ; made available under the EPL v And for the future… Integration with the BPEL designer project Integration with well-known Open Source BPEL engines Advanced features Debugging Simulation
Eclipse SOA Tools Platform | Eric Newcomer | © 2007 by IONA ; made available under the EPL v1.0 STP BPMN Editor Business Process Modeling is an activity performed by business analysts within an organization These analysts use modeling tools to depict both the current state of an enterprise and the desired future state The relationships of a business process in the context of the rest of the enterprise create greater capabilities in analyzing and planning a change
Eclipse SOA Tools Platform | Eric Newcomer | © 2007 by IONA ; made available under the EPL v STP BPMN Editor Business Process Modeling Notation is a standardized graphical notation for drawing business processes in a workflow Framework for BPMN diagram based editors Exemplary implementation of BPMN editor
Eclipse SOA Tools Platform | Eric Newcomer | © 2007 by IONA ; made available under the EPL v BPMN Diagram Annotation Decorator Updates the BPMN diagram with decorations on the nodes Covered in online tutorial at becomes
Eclipse SOA Tools Platform | Eric Newcomer | © 2007 by IONA ; made available under the EPL v Drag and drop Modeler extension allows custom annotations to be dragged onto the domain model
Eclipse SOA Tools Platform | Eric Newcomer | © 2007 by IONA ; made available under the EPL v BPMN Modeler BPMN Factory Generates BPMN artifacts and diagrams Example of generating BPMN pool from BPEL program at
Eclipse SOA Tools Platform | Eric Newcomer | © 2007 by IONA ; made available under the EPL v Project Scope AnalysisDesignImplementationDeliveryOperations Service Specification Process Specification Policy creation & attachment Rule-based Validation Assemble/ Composition Infrastructure planning Code Generation Test Generation Policy refinement Implementation testing Infrastructure Build-up Lookup (Services, Processes, Policies, …)PackagingInstallationActivation Deployment Testing
Eclipse SOA Tools Platform | Eric Newcomer | © 2007 by IONA ; made available under the EPL v And for the future… Refine the diagramming Work on the BPMN creation API Hook BPMN model into code generation
Eclipse SOA Tools Platform | Eric Newcomer | © 2007 by IONA ; made available under the EPL v Summary Follow the Wiki link for most information