SOA Tools Platform - Empowering Developers with Service-Oriented Architecture
360 likes | 388 Vues
Dive into the realm of Service-Oriented Architecture (SOA), a modular application pattern that enhances flexibility, reusability, and cost savings. Explore the tools and frameworks offered by the SOA Tools Platform project to streamline software design, deployment, and management.
SOA Tools Platform - Empowering Developers with Service-Oriented Architecture
E N D
Presentation Transcript
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