WCF - The CA Plex Wiki

advertisement
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?
Download