370 likes | 517 Views
Eclipse SOA Tools Platform Project. Eric Newcomer IONA Technologies http://www.iona.com. A Brief Introduction to SOA. S ervice O riented A rchitecture An architectural pattern for modular applications It’s not technology specific SOA provides application building blocks called Services
E N D
Eclipse SOA Tools Platform Project Eric Newcomer IONA Technologieshttp://www.iona.com
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
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
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)
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
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
Analysis Design Implementation Delivery Operations Infrastructureplanning Service Specification Process Specification Policy creation &attachment Rule-basedValidation DeploymentTesting CodeGeneration TestGeneration Policy refinement Implementation testing InfrastructureBuild-up Assemble/Composition Activation Lookup (Services, Processes, Policies, …) Packaging Installation Project Scope
Contributors • IONA Technologies • Sybase • ObjectWeb • IBM • Scapa Technologies • EBM WebSourcing • Intalio • LogicBlaze • SymphonySoft • Infravio • BEA • JBoss
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
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 http://www.eclipse.org/stp/cf/stp-core-model.html
Analysis Design Implementation Delivery Operations Infrastructureplanning Service Specification Process Specification Policy creation &attachment Rule-basedValidation DeploymentTesting CodeGeneration TestGeneration Policy refinement Implementation testing InfrastructureBuild-up Assemble/Composition Activation Lookup (Services, Processes, Policies, …) Packaging Installation Project Scope
And for the future… • JBI Infrastructure description and modeling • Enterprise Integration Patterns approach to infrastructure construction • Repository/Registry/Catalog APIs
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
STP Service Creation • Europa Release • JAX-WS code-first service development • WSDL-first JAX-WS service development • SCA Java Service development
XML editor SCDL support Online Help Many bug fixes Building technical documentation, tutorials STP Service Creation
STP Service Creation • Java Annotation View Helper • Java Annotation Validator • JAX-WS Runtime Provider • SC Java Runtime Provider • BPMN Diagram Annotation Decorator
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
STP Service Creation • Java annotation validation rules framework • Validation rules drive markers in the source view
STP Service Creation • Multiple rule sets may be configured and viewed in prefs
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
Analysis Design Implementation Delivery Operations Infrastructureplanning Service Specification Process Specification Policy creation &attachment Rule-basedValidation DeploymentTesting CodeGeneration TestGeneration Policy refinement Implementation testing InfrastructureBuild-up Assemble/Composition Activation Lookup (Services, Processes, Policies, …) Packaging Installation Project Scope
And for the future… • Policy Editing Framework • SCA Service Development • Support beyond Java • Rules creation framework
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
Analysis Design Implementation Delivery Operations Infrastructureplanning Service Specification Process Specification Policy creation &attachment Rule-basedValidation DeploymentTesting CodeGeneration TestGeneration Policy refinement Implementation testing InfrastructureBuild-up Assemble/Composition Activation Lookup (Services, Processes, Policies, …) Packaging Installation Project Scope
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
STP BPEL 2 Java • Generate Java from BPEL • Code uses any ‘engine’which implements theframework APIs • BPEL 2 Java engineframework • Runs the generatedclass files • Includes local/remoteengine implementations
Analysis Design Implementation Delivery Operations Infrastructureplanning Service Specification Process Specification Policy creation &attachment Rule-basedValidation DeploymentTesting CodeGeneration TestGeneration Policy refinement Implementation testing InfrastructureBuild-up Assemble/Composition Activation Lookup (Services, Processes, Policies, …) Packaging Installation Project Scope
And for the future… • Integration with the BPEL designerproject • Integration with well-known OpenSource BPEL engines • Advanced features • Debugging • Simulation
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
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
BPMN Diagram Annotation Decorator • Updates the BPMN diagram with decorations on the nodes • Covered in online tutorial at http://wiki.eclipse.org/index.php/STP_BPMN_Presentation_Hands_on_tutorial becomes
Drag and drop • Modeler extension allows custom annotations to be dragged onto the domain model http://wiki.eclipse.org/index.php/Reusing_the_modeler
BPMN Modeler • BPMN Factory • Generates BPMN artifacts and diagrams • Example of generating BPMN pool from BPEL program athttp://wiki.eclipse.org/index.php/STP_BPMN_Presentation_%28Part_2%29
Analysis Design Implementation Delivery Operations Infrastructureplanning Service Specification Process Specification Policy creation &attachment Rule-basedValidation DeploymentTesting CodeGeneration TestGeneration Policy refinement Implementation testing InfrastructureBuild-up Assemble/Composition Activation Lookup (Services, Processes, Policies, …) Packaging Installation Project Scope
And for the future… • Refine the diagramming • Work on the BPMN creation API • Hook BPMN model into code generation
Summary • www.eclipse.org/stp • Follow the Wiki link for most information • stp-dev@eclipse.org