1 / 29

Developing an SOA with RUP and UML 2.0

Developing an SOA with RUP and UML 2.0. Giles Davies. Agenda. What is SOA? (Very quickly!) What are the challenges in modelling an SOA? Solution: Goals Solution: RUP for SOA Demo Solution: UML Profile for Software Services Demo Example IBM Software Development Platform SOA Toolset

speltier
Télécharger la présentation

Developing an SOA with RUP and UML 2.0

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Developing an SOA with RUP and UML 2.0 Giles Davies

  2. Agenda • What is SOA? (Very quickly!) • What are the challenges in modelling an SOA? • Solution: Goals • Solution: RUP for SOA • Demo • Solution: UML Profile for Software Services • Demo • Example IBM Software Development Platform SOA Toolset • Review

  3. What is …..? … a service? A repeatable business task – e.g., check customer credit; open new account … service orientation? A way of integrating your business as linked servicesand the outcomes that they bring … service oriented architecture (SOA)? An IT architectural style that supports service orientation … a composite application? • A set of related & integrated services that support a business process built on an SOA

  4. Why is this different to similar claims in the past? • Broadly adopted Web services ensure well-defined interfaces. • Before, proprietary standards limited interoperability • Business and IT are united behind SOA (63% of projects today are driven by LOB)* • Before, communication channels & ‘vocabulary’ not in place Organizational Commitment Standards • SOA services focus on business-level activities & interactions • Before, focus was on narrow, technical sub-tasks • SOA services are linked dynamically and flexibly • Before, service interactions were hard-coded and dependent on the application • SOA services can be extensively re-used to leverage existing IT assets • Before, any reuse was within silo’ed applications Degree of Focus Connections Level of Reuse *Source: Cutter Benchmark Survey

  5. What are the challenges in modelling an SOA • SOA is being increasingly adopted, but: • How do you model a SOA? • What level of abstraction is suitable? • What modelling techniques should be used? • Are traditional OOAD techniques suitable? • Which tools should can/should be used?

  6. Solution: Goals • Provide new method and model support for SOA • Consistency • Guidance • Model at a level of abstraction above implementation technologies • Higher level than the various Web Services specifications • SOA concepts to be first-class elements • Model to be extensible • Provide deliverables: • RUP for SOA plug-in • Model support • Documented • Available within toolset

  7. Solution: RUP for SOA • A published and supported plug-in for RUP • Adds additional: • Workflow details, • Activities, • Concepts, • Guidelines

  8. Key New Activities • Identify Services • Performed by the Software Architect within the Analysis & Design and Refine the Architecture workflows. • Output is the Service Model • Defines candidate services • Service Design • Performed by the Designer within the Analysis & Design and Design Services workflows. • Refines the Service Model • New viewpoints: Message, Service and Collaboration

  9. Key new concept: Service Portfolio • An application is a configuration of services • Meets business requirements • Projects no longer bound the development cycle • Discovery • Draw from portfolio during elaboration • Publishing: • Contribute to portfolio during construction

  10. Key new concept: Service Partitioning • Use UML 2 Composite Structure notation for partitions • Remove the physical limitations of packages - ownership • Provide logical groupings of services • Permits services to contribute to multiple partitions

  11. Key new concept: Service Composition & Choreography • Service Choreography: • Composite service based applications • Service collaboration • BPEL • “Orchestration” • Services as Composite Structures • May be recursively composed of other services • Specifying Service Behaviour • Guidance

  12. Key new concept: Message Design • Messages are more suitable than parameters in an SOA: • Services are intended to have large granularity • Services are loosely coupled • Services are often asynchronous • Provides an overview of: • Message exchange patterns • Relationship between messages and domain models • Granularity • Performance

  13. Demo

  14. UML Profile for Software Services

  15. UML Profile for Software Service Stereotypes

  16. <<Service Provider>> • Extends Class • Provides one or more services • Has no attributes or operations • Contains <<Service>> elements • Property location specifies end-point location • e.g. http://services.abc.com

  17. <<Service>> • Extends Port • End-point for service interaction • Definition of interactions is part of <<Service Specification>> • Property for binding type • e.g. SOAP-HTTP, SOAP-JMS

  18. <<Service Specification>> • Extends Interface • <<Service Specification>> defines interactions that the <<Service>> provides • Provides one or more operations • May be more than one <<Service Specification>> for a <<Service>> • All operations are public (mandatory) • Each operation may consume no more than one <<Message>> • Each operation may produce no more than one message

  19. <<Message>> • Extends class • A container for actual data which has meaning to the service and the consumer • Has no operations • Property for encoding form (e.g.: SOAP-literal, SOAP-rpc, ASN.1)

  20. <<Service Partition>> • Extends class • Represents either a logical boundary • Tiers • Functionality • Or a physical boundary • Geographical locations • May have associated qualities and constraints • Has no attributes or operations • Contains either <<Service>> elements or nested <<Service Partition>> elements

  21. UML Profile for Software Services • Not just documentation • The profile is available to download • There is a plugin for IBM Rational Software Architect/Modeler that includes a Service Design Model template

  22. Demo

  23. Using IBM Rational & WebSphere tools together in SOA Publish and Reuse Components IBM Rational Application Developer ExistingServices Service Portfolio RAS Repository IBM Rational Software Architect UDDI Server Component Toolkits RAS WSDL Requirements and Use Cases IBM Rational Requisite Pro Service Design Component Toolkits Use Cases UML IBM WebSphere Process Server IBM WebSphere Portal Server IBM WebSphere Integration Developer Static and Dynamic Models .WAR UML IBM WebSphere Business Modeler BPEL (deployable) Business Process “As Is” “To Be” BPEL (model) BPEL Toolkit IBM Rational ClearCase (Configuration Management) IBM Rational ClearQuest (Change Management) BuildForge (Continuous Integration)

  24. Demo

  25. Review • Challenges: • How do you model a SOA? • What level of abstraction is suitable? • What modelling techniques should be used? • Are traditional OOAD techniques suitable? • Which tools should can/should be used?

  26. Resources

  27. Resources • Modeling service-oriented solutions • http://www-128.ibm.com/developerworks/rational/library/jul05/johnston/ • UML 2.0 Profile for Software Services • http://www-128.ibm.com/developerworks/rational/library/05/419_soa/ • UML Profile for Software Services, RSA Plug-In • http://www-128.ibm.com/developerworks/rational/library/05/510_svc/ • RUP Plug-In for SOA V1.0 • http://www-128.ibm.com/developerworks/rational/library/05/510_soaplug/

  28. Questions

  29. Thank You Giles Davies giles.davies@uk.ibm.com

More Related