5C The Plex SOA Strategy Daniel Leigh Development Director, CA Rob Layzell Architect, CA Copyright © 2007 CA. All trademarks, trade names, services marks and logos referenced herein belong to their respective companies. Agenda > SOA Overview What is Service-Oriented Architecture? SOA and Plex What’s in the Plex SOA “Toolkit” today? New Plex SOA Capabilities > Creating WCF Services with Plex WCF Defined WCF Service Generation > Questions & Answers Copyright © 2007 CA. All trademarks, trade names, services marks and logos referenced herein belong to their respective companies. SOA Overview Copyright © 2007 CA. All trademarks, trade names, services marks and logos referenced herein belong to their respective companies. Have you heard of SOA? Copyright © 2007 CA. All trademarks, trade names, services marks and logos referenced herein belong to their respective companies. What is Service Oriented Architecture? > SOA stands for Service Oriented Architecture At least everyone agrees about that! > No single definition More a methodology than a technology > An evolution of component-based approaches Copyright © 2007 CA. All trademarks, trade names, services marks and logos referenced herein belong to their respective companies. What is Service-Oriented Architecture? > Attributes of SOA: Emphasizes reuse of existing applications – Incremental, built on current investments – Services can be “orchestrated” to build new applications or address new requirements Expose interfaces to applications – Implementation should be hidden from consumers of the service. – Standards-based Copyright © 2007 CA. All trademarks, trade names, services marks and logos referenced herein belong to their respective companies. What is Service Oriented Architecture? > Attributes of SOA Services aim to be loosely-coupled – Independent of specific program languages or platform – Resilient to change – Limited dependencies between services Services support distributed computing – Web Services represent the most common technology WSDL, XML .NET and Java are the most common platforms for delivering web services – But web services is not the only technology Copyright © 2007 CA. All trademarks, trade names, services marks and logos referenced herein belong to their respective companies. SOA and Plex The World Outside Plex! Visual Studio .NET Web Client Service Orchestration & BPM Tools ERP Business Applications Eclipse Clients Web Services Layer Plex Application Layer Plex Database Layer Plex Server Application (.NET, Java, System i) Plex Clients . DB2 SQL Server Oracle Copyright © 2007 CA. All trademarks, trade names, services marks and logos referenced herein belong to their respective companies. SOA and Plex Plex Application Layer Plex Server Application Plex Server Application Web Services Plex Application Layer Plex Database Layer Plex Server Application (.NET, Java, System i) Plex Clients . DB2 SQL Server Oracle Copyright © 2007 CA. All trademarks, trade names, services marks and logos referenced herein belong to their respective companies. What’s in the Plex SOA toolbox today? > Plex is already capable of delivering web services and SOA Model-based design environment – Encourages abstraction and interface-based design Java and .NET generators – The “de facto” standard platforms for SOA implementations – Rich set of service APIs COM and EJB Connector generation Websydian TransacXML – XML document handling – Web service creation and consumption Copyright © 2007 CA. All trademarks, trade names, services marks and logos referenced herein belong to their respective companies. New Plex SOA Capabilities > CA Plex r6.1 is currently in development > Planned to include a new service creation feature > Based on Microsoft’s Windows Communication Foundation (WCF) > What is WCF? Let’s find out – over to Rob! Copyright © 2007 CA. All trademarks, trade names, services marks and logos referenced herein belong to their respective companies. Creating WCF Services with CA Plex Copyright © 2007 CA. All trademarks, trade names, services marks and logos referenced herein belong to their respective companies. Windows Communication Foundation Defined Windows Communication Foundation (WCF) ASMX WSE MSMQ .NET Remoting Enterprise Services Copyright © 2007 CA. All trademarks, trade names, services marks and logos referenced herein belong to their respective companies. Windows Communication Foundation Runtime Local Client Machine Proxy Service Host Client NetTcpBinding NetNamedPipesBinding NetMsmqBinding WCF Service BasicHttpBinding WsDualHttpBinding Internet Client Machine Proxy Client Copyright © 2007 CA. All trademarks, trade names, services marks and logos referenced herein belong to their respective companies. Windows Communication Foundation Endpoints > Endpoint consists of three parts: Address: Where is the service located? Contract: What does the service offer? Binding: How do we communicate with the service? Binding Contract Address Copyright © 2007 CA. All trademarks, trade names, services marks and logos referenced herein belong to their respective companies. Code Library VS Project Package Namespace Component WCF Class Interface Contract Interface Method Contract Method Function Data Contract WCF Object Model Plex Object Model Windows Communication Foundation Object Model Copyright © 2007 CA. All trademarks, trade names, services marks and logos referenced herein belong to their respective companies. Windows Communication Foundation Interface Contracts namespace ProductService { [ServiceContract(SessionMode = SessionMode.Required)] public interface IProduct { [OperationContract(Name="RunStockCheck")] ProductRunStockCheck_Output RunStockCheck(ProductRunStockCheck_Input input); } } Copyright © 2007 CA. All trademarks, trade names, services marks and logos referenced herein belong to their respective companies. Windows Communication Foundation Data Contracts [DataContract()] public class ProductRunStockCheck_Input : PlexVariableGroup { [DataContract()] public class _StockCheckDetails { [DataMember()] public string StockCheckName; } [DataMember()] public _StockCheckDetails StockCheckDetails; } Copyright © 2007 CA. All trademarks, trade names, services marks and logos referenced herein belong to their respective companies. Windows Communication Foundation Configuration > Default Plex .NET Runtime copied into WCF Service > Edit using .NET Management Console Copyright © 2007 CA. All trademarks, trade names, services marks and logos referenced herein belong to their respective companies. Windows Communication Foundation Development Workflow (1) Model (2) Generate (3) Build (4) Deploy Start Writing Clients! Copyright © 2007 CA. All trademarks, trade names, services marks and logos referenced herein belong to their respective companies. Windows Communication Foundation > Demo Copyright © 2007 CA. All trademarks, trade names, services marks and logos referenced herein belong to their respective companies. Questions & feedback?