Your SlideShare is downloading. ×
Designing SOA with JBoss tools
Designing SOA with JBoss tools
Designing SOA with JBoss tools
Designing SOA with JBoss tools
Designing SOA with JBoss tools
Designing SOA with JBoss tools
Designing SOA with JBoss tools
Designing SOA with JBoss tools
Designing SOA with JBoss tools
Designing SOA with JBoss tools
Designing SOA with JBoss tools
Designing SOA with JBoss tools
Designing SOA with JBoss tools
Designing SOA with JBoss tools
Designing SOA with JBoss tools
Designing SOA with JBoss tools
Designing SOA with JBoss tools
Designing SOA with JBoss tools
Designing SOA with JBoss tools
Designing SOA with JBoss tools
Designing SOA with JBoss tools
Designing SOA with JBoss tools
Designing SOA with JBoss tools
Designing SOA with JBoss tools
Designing SOA with JBoss tools
Designing SOA with JBoss tools
Designing SOA with JBoss tools
Designing SOA with JBoss tools
Upcoming SlideShare
Loading in...5
×

Thanks for flagging this SlideShare!

Oops! An error has occurred.

×
Saving this for later? Get the SlideShare app to save on your phone or tablet. Read anywhere, anytime – even offline.
Text the download link to your phone
Standard text messaging rates apply

Designing SOA with JBoss tools

2,574

Published on

Thomas Erl wrote the SOA Design Patterns book, and Eric D. Schabell will show how you can use JBoss tooling and products to implement them. In this session we will cover the following tools: …

Thomas Erl wrote the SOA Design Patterns book, and Eric D. Schabell will show how you can use JBoss tooling and products to implement them. In this session we will cover the following tools:

- Testable architectures with SAVARA
- BPEL with Riftsaw
- BPM with jBPM5
- JBoss Developer Studio

The session will show how different SOA Design Patterns can be implemented using the these tools.

Published in: Technology
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total Views
2,574
On Slideshare
0
From Embeds
0
Number of Embeds
1
Actions
Shares
0
Downloads
104
Comments
0
Likes
0
Embeds 0
No embeds

Report content
Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
No notes for slide

Transcript

  • 1. Designing SOA with JBoss tools Eric D. Schabell JBoss Solution Architect 08 June 2011
  • 2. Overview
    • Design Patterns and SOA
    • 3. Logical Inventory Layer Patterns
      • Utility service
        • JBoss ESB tooling
      • Entity serivce
        • JBoss Teiid tooling
      • Task service
        • JBoss Savara tooling
        • 4. JBoss BPEL tooling
        • 5. JBoss jBPM tooling
  • 6. Definition of Design Pattern
    • A proven design solution for a common design problem
    • 7. Formally documented in a consistent manner
    • 8. Introduced by GOF 1994, used all over the software industry since then.
    • 9. Example's of software development design patterns are:
      • Singelton, Adaptor, Decorator Pattern, etc
  • 10. SOA Design Pattern
    • A book written by Thomas Erl that quickly became popular within the SOA community
    • 11. Defines a set of common design problems when implementing SOA
    • 12. Some patterns can be solved by using a product like JBoss SOA Platform that implement patterns
    • 13. Some patterns are design concepts and cannot be implement by a product, but may be assisted with tools
    • 14. Some are “pure” design principles where tools and products won't help.
  • 15. Scope of this session
    • For the scope of this session we will focus on Logical Inventory Layer Patterns:
      • Are a set of patterns to identify and abstract task, utility and entity services.
    Pattern JBoss Tools Utility Service Java, Bean Shell, EJB, Rules, etc Entity Service Hibernate, Data Services Task Service Riftsaw (BPEL)
  • 16. Overview
    • Design Patterns and SOA
    • 17. Logical Inventory Layer Patterns
      • Utility service
        • JBoss ESB tooling
      • Entity serivce
        • JBoss Teiid tooling
      • Task service
        • JBoss Savara tooling
        • 18. JBoss BPEL tooling
        • 19. JBoss jBPM tooling
  • 20. Utility Abstraction - Definition*
    • Problem : When non-business centric processing logic is packaged together with business specific logic, it results in the redundant implementation of common utility functions across different services
    • 21. Solution : A service layer dedicated to utility processing is established, providing reusable utility services for the use by other services in the inventory.
    * = according to the SOA Design Pattern Book
  • 22. Utility Abstraction – Definition by example
    • Example: Depending on country of delivery and product type different VAT must be used
    • 23. Problem: if all services returning a price should calculate taxes independently there are allot of redundant code and multiple locations to maintain this code.
    • 24. Solution : Create a utility service that depending on country of delivery and product type will return correct VAT.
    Tip of the day: Using JBoss SOA-P the VAT utility service can be implemented as a business rule, which is easy to maintain and can be adopted to changes quickly.
  • 25. Utility Abstraction - Examples
    • Examples of utility services may be:
  • 30. Utility Abstraction - Implementation
    • Can be implemented using various technologies like:
  • 34. Screen shot of ESB Tooling
  • 35. Demo ESB orchestration
  • 36. Overview
    • Design Patterns and SOA
    • 37. Logical Inventory Layer Patterns
      • Utility service
        • JBoss ESB tooling
      • Entity serivce
        • JBoss Teiid tooling
      • Task service
        • JBoss Savara tooling
        • 38. JBoss BPEL tooling
        • 39. JBoss jBPM tooling
  • 40. Entity Abstraction - Definition*
    • Problem : Bundling both process-agnostic and process -specific business logic into the same service eventually results in the creation of redundant agnostic business logic across multiple services
    • 41. Solution : An agnostic business service layer can be established, dedicated to services that base their functional context on existing business entities.
    * = according to the SOA Design Pattern Book
  • 42. Entity Abstraction - Definition by example
    • Example : Products are stored in a database with base prices, depending of customer discount and VAT the final product price must be calculated.
    • 43. Problem: A service responsible for getting the prices for products in a quote returns products with the final prices. Another service which are used internally for financial reporting returns the products base price.
    • 44. Solution : Using entity abstraction a service for returning products with base price are created and then a utility services can be used to calculate TAX etc.
  • 45. Entity Abstraction - Examples
    • Business entity are typically good candidates for Entity services, like
  • 50. Entity Abstraction - Implementation
    • Simple cases Hibernate together with JAX-WS
    • 51. Data virtualization products like JBoss Enterprise Data Services that can combine data from several sources and expose them as Web Services
  • 52. Screen shot of Teiid designer
  • 53. Overview
    • Design Patterns and SOA
    • 54. Logical Inventory Layer Patterns
      • Utility service
        • JBoss ESB tooling
      • Entity serivce
        • JBoss Teiid tooling
      • Task service
        • JBoss Savara tooling
        • 55. JBoss BPEL tooling
        • 56. JBoss jBPM tooling
  • 57. Process Abstraction - Definition
    • Problem: Grouping task-centric logic together with task-agnostic logic hinders the governance of the task-specific logic and the reuse of the agnostic logic
    • 58. Solution: A dedicated parent business process service layer is established to support governance independence and the positioning of task service as potential enterprise resources.
  • 59. Process Abstraction – Definition by example
    • Example: A Policy Quote Service, which notifies sales about all outgoing quotes. (a task specific service)
    • 60. Problem: If we don't divide entity and utility we won't achieve service reputability, but dividing them causes allot of complex dependency.
    • 61. Solution: Using a orchestration solution to implement our task service we can visualize and monitor the interaction between services making it solution less complicated and loosely coupled.
  • 62. Process Abstraction - Implementation
    • WS-CDL (using BPEL or BPMN)
    • 63. jBPM
  • 64. Screen shot or demo of SAVARA
  • 65. Screen shot of BPEL Designer
  • 66. SOA-P Development Workshop (5d) Ask for it at your local Red Hat Partner Manager!
  • 67. Demo jBPM5
  • 68. Review
    • Design Patterns and SOA
    • 69. Logical Inventory Layer Patterns
      • Utility service
        • JBoss ESB tooling
      • Entity serivce
        • JBoss Teiid tooling
      • Task service
        • JBoss Savara tooling
        • 70. JBoss BPEL tooling
        • 71. JBoss jBPM tooling
  • 72. Questions?

×