Presentation is loading. Please wait.

Presentation is loading. Please wait.

1 Introduction to Service Component Architecture Feature Pack for WebSphere Application Server & SCA Tooling in RAD Mike Edwards and Sara Mitchell - IBM.

Similar presentations


Presentation on theme: "1 Introduction to Service Component Architecture Feature Pack for WebSphere Application Server & SCA Tooling in RAD Mike Edwards and Sara Mitchell - IBM."— Presentation transcript:

1 1 Introduction to Service Component Architecture Feature Pack for WebSphere Application Server & SCA Tooling in RAD Mike Edwards and Sara Mitchell - IBM Hursley 18 March 2010 WebSphere User Group – Bedfont Lakes

2 2

3 3 Agenda  What is Service Component Architecture?  Scenarios and Examples  Demonstration of SCA  SCA - Products and Standardization

4 4 What SCA is  executable  executable model for assembling services – composites provide language to compose and configure service components – handles service dependencies component programming model  Simplified component programming model for implementing services – BPEL processes, Java TM POJOs, EJBs, COBOL, PHP scripts, C++ apps, JavaScript & AJAX, XSLT… policycommunication distributed deployment  Late binding of policy and communication methods, with distributed deployment model

5 5  Complexity  Rigid, brittle architectures  Inability to evolve What We have Today

6 6 Why SCA makes life simpler  One way to look at SCA is that it takes details of – access methods and endpoints – implementations and configuration – policy such as encryption, authentication – …and moves them into middleware layer  Application developers write business logic: code that actually builds value – details of using services handled by SCA – late binding: as details change, applications (and developers who wrote them) aren’t affected – "no plumbing in the code"

7 7 What we want to get to  Well-defined interfaces with business-level semantics  Standardized communication protocols  Flexible recombination of services to enhance software flexibility

8 8 SCA cuts through the middleware jungle  As your SOA gets more complex, developers have to learn more and more APIs & interfaces – In Java TM alone: EJBs, RMI, JCA, JAX-WS, JMS... single programming model for using services  SCA gives developers single programming model for using services for all aspects of service lifecycle: – Construction – Assembly – Deployment  "minimal middleware"

9 9 Service Component Architecture (SCA): Simplified Programming Model for SOA  model for:  building service components  assembling components into applications  deploying to (distributed) runtime environments – Service components built from new or existing code using SOA principles – vendor-neutral – supported across the industry – language-neutral – components written using any language – technology-neutral – use any communication protocols and infrastructure to link components

10 10 Agenda  What is Service Component Architecture?  Scenarios and Examples  Demonstration of SCA  SCA - Products and Standardization

11 11 SCA Service Interaction

12 12 Simple Example

13 13 Java or Spring

14 14

15 15 Java Implementation Example: Service Interface

16 16 Java Implementation Example – Implementation (part 1)

17 17 Java Implementation Example – Implementation (part 2)

18 18 SCA (Java) Implementation principles  Code only to business interfaces – “Don’t program to SCA, just program…” – Use Java idioms – Minimal middleware APIs used only in special cases  Components declare both the services they offer and references to other services they need  Injection of required service References and Property values – via constructor / via setter methods / via direct field injection  Java annotations for SCA elements – services, references, properties – + more advanced features such as intents, bindings  Principles apply to other languages

19 19 Rational Application Developer 7.5.5  Rational Application Developer 7.5.5 With “Service Component Architecture Development Tools” option selected at install  With either – WebSphere Application Server Test Environment 7.0.0.3 OR – WebSphere Application Server 7.0.0.7 + WebSphere Application Server V7 Feature Pack for Service Component Architecture V1.0.1  Today I'm using Rational Application Developer 7.5.5 with locally installed WebSphere Application Server v7.0.0.7 rather than the Test Environment with Feature Pack for Service Component Architecture V1.0.1.3

20 20 Agenda  What is Service Component Architecture?  Scenarios and Examples  Demonstration of SCA  SCA - Products and Standardization

21 21 "Hello World" with Rational Application Developer and SCA  Building and deploying a simple SCA application with a single HelloWorld component  We'll build and deploy this component and send a message to the web service that results  This is a sample in RAD so you can try it for yourself implementation.java servic e binding.ws HelloWorld component

22 22 Creating the HelloWorld project 1

23 23 Creating the HelloWorld project 2

24 24 Empty Project

25 25 Define service interface – Just a normal Java interface in this case

26 26 Making the service interface @Remotable SCA Java annotation

27 27 Create a composite

28 28 Create a component

29 29 The HelloWorld Component

30 30 Complete the implementation

31 31 Add a Web service binding

32 32 Create a contribution

33 33 Project now complete and read to be deployed

34 34 WebSphere Application Server V7.0 Feature Pack for Service Component Architecture  WebSphere Application Service V7.0 – With Fix Pack 7.0.0.7  With – WebSphere Application Server V7 Feature Pack for Service Component Architecture V1.0.1 The GA Version with the latest fixpack  Need to create an SCA augmented server profile in order to use SCA features  Today I'm using WebSphere Application Server + Feature Pack for Service Component Architecture V1.0.1.3

35 35 Deploying to WebSphere Application Server from Rational Application Developer

36 36 The app installed in WebSphere

37 37 Importing the asset Remember to add a relationship to the SpringSharedLibAsset.jar

38 38 Add Assets to the BLA

39 39 Getting the WSDL for the service

40 40 Send message to HelloWorld service with Web Service Explorer

41 41 Wiring one component to another

42 42 JMS binding WebSphere application server will generate the JMS resources automatically when composite is deployed. ● Use a JMS binding to connect two SCA components ● Or, more commonly, use the JMS binding to integrate existing non-SCA JMS consumers and producers

43 43 Using implementation.spring

44 44 Agenda  What is Service Component Architecture?  Scenarios and Examples  Demonstration of SCA  SCA - Products and Standardization

45 45 A little History  SCA originally developed by IBM – included in WPS, WESB  SCA cross-industry specifications developed by Open SOA collaboration – "1.0" SCA specifications published in 2007  Open SOA specifications implemented – Open Source – Apache Tuscany – WebSphere Application Server V7 Feature Pack for Service Component Architecture – Rational Application Developer v7.5.3  SCA undergoes formal standardization at OASIS – Open CSA member section formed, 2007 – OASIS SCA technical committees working on 1.1 SCA specifications – all specifications completed Public Review in 3Q 2009 – aim to complete 1.1 standards by mid 2010

46 46 SCA Technology and Specifications

47 47 The SCA Specifications

48 48 SCA and IBM Products  WebSphere Application Server V7 Feature Pack for Service Component Architecture V1.0 – http://www-01.ibm.com/software/webservers/appserv/was/featurepacks/sca/ http://www-01.ibm.com/software/webservers/appserv/was/featurepacks/sca/ – Support for Java POJO and Composite implementations Web services and EJB bindings.  WebSphere Application Server V7 Feature Pack for Service Component Architecture V1.0.1 – Fixpak 7 http://www-01.ibm.com/support/docview.wss?rs=180&uid=swg27004980#ver70http://www-01.ibm.com/support/docview.wss?rs=180&uid=swg27004980#ver70 – IM Repository http://public.dhe.ibm.com/software/websphere/repositories/repository.config – Adds support for Spring, JEE and Web2.0 component implementations JMS, Web2.0 (JSONRPC) and RESTful (Atom, RSS) bindings  Rational Application Developer GA – version 7.5.5 – tools support for applications on WAS SCA Feature Pack  Current support is for SCA 1.0 specifications (ie Open SOA versions)

49 49 SCA and IBM Products  WebSphere Process Server  WebSphere ESB – current releases contain older proprietary version of SCA – support for BPEL components – support for Java components – support for Web services, JMS, JCA

50 50 Summary  SCA: agile approach to developing systems using SOA – wide industry support – standardization taking place at OASIS  SCA in RAD tooling – RAD 7.5.3 + – WID for earlier SCA version  SCA available in WebSphere – WebSphere Application Server 7 - SCA Feature Pack – WebSphere Process Server, WebSphere ESB  SCA also available – in Open Source at Apache, Eclipse & elsewhere – from other industry vendors

51 51 Q & A

52 52 Useful links  OASIS Open CSA http://www.oasis-opencsa.org/  OASIS SCA Technical Committees http://www.oasis-opencsa.org/committees  V1 level of SCA specifications http://osoa.org/display/Main/Service+Component+Architecture+Specifications  Useful papers and interesting SCA information: http://osoa.org/display/Main/SCA+Resources  OASIS Webinar downloads: http://www.oasis-opencsa.org/resources  WebSphere Application Server v7.0 Feature Pack for Service Component Architecture v1.0.1 https://www14.software.ibm.com/iwm/web/cc/earlyprograms/websphere/iwsasfpscaob/index.shtml  Rational Application Developer 7.5.3 http://www-01.ibm.com/support/docview.wss?uid=swg24022966

53 53 Backup

54 54 SCA and Open Source  SCA runtime implemented by: – Apache Tuscany both V1.0 (Open SOA) and V1.1 (OASIS) specifications Java, C++, BPEL, Spring, Web 2.0 widgets, Scripting languages Web services, JMS, REST (Atom / JSON) – Fabric3 (at Codehaus)  SCA tooling implemented by – Eclipse SOA Tools project

55 55 SCA Technology and Specifications

56 56 The SCA Specifications

57 57 A more interesting example – A banking app

58 58 Services and references in the banking app

59 59 More wiring References wired to services

60 60 Properties

61 61 Sending a message to the banking app


Download ppt "1 Introduction to Service Component Architecture Feature Pack for WebSphere Application Server & SCA Tooling in RAD Mike Edwards and Sara Mitchell - IBM."

Similar presentations


Ads by Google