SOA
Chapter 18
SOA Platforms
SOA Platforms
• SOA platform basics
• SOA support in J2EE
• SOA support in .NET
• Integration considerations
SOA platform basics
• Basic platform building blocks
• Common SOA platform layers
• Relationship btw SOA layers and tech
• Fundamental service tech architecture
• Vendor platforms
Basic platform building blocks
• Development environment
• Runtime
• APIs
• Operating system
Common SOA platform layers
• Self-contained and composable units
• Encapsulate and expose application logic
Relat. btw SOA layers & tech
• Web technology layer
– Support for first gen Web services
– Support for WS-* specs
– Able to make Web services
• Component technology layer
– Support encapsulation
Relat. btw SOA layers & tech
(cont.)
• Runtime layer
– Capable of hosting components and Web
services
– Provide APIs
• APIs layer
– Support development and processing of
components and Web services
Fund. Service tech architecture
• Service processing task
• Service processing logic
– Message processing logic
– Business logic
• Service agents
Service processing task
• Send/Receive SOAP messages
Service processing logic
Message processing logic
Business processing logic
Service agents
• SOAP header processing
• Filtering
• Authentication and content-based
validation
• Logging and auditing
• Routing
Vendor platforms
• Architecture • Service providers
components • Service requestors
• Runtime environment • Service agents
• Programming • Platform extensions
languages
• APIs
SOA support in J2EE
• Platform overview
• Primitive SOA support
• Support for service-orientation principles
• Contemporary SOA support
Platform overview
Key Java specifications
• Java 2 Platform Enterprise Edition Spec
• Java API for XML-based RPC (JAX-RPC)
• Web Services for J2EE
Architecture components
• Java Server Pages (JSPs)
• Struts
• Java Servlets
• Enterprise JavaBeans (EJBs)
Runtime environments
• EJB container
• Web container
Programming languages
• Java
• Various development tools
APIs
• Java API for XML Processing (JAXP)
• Java API for XML-based RPC (JAX-
RPC)
Service providers
• JAX-RPC Service Endpoint
• EJB Service Endpoint
• Port Component Model
– Service Endpoint Interface (SEI)
– Service Implementation Bean
Service requestors
• Generated stub
• Dynamic proxy and dynamic invocation
interface
Service agents
• Tasks
• Handlers
Platform extensions
• IBM Emerging Technologies Toolkit
• Java Web Services Developer Pack
Primitive SOA support
• Service encapsulation
• Loose coupling
• Messaging
Support for service-orientation
principles
• Autonomy
• Reusability
• Statelessness
• Discoverability
Contemporary SOA support
• Based on open • Extensibility
standards • Supports service-
• Supports vendor oriented business
diversity modeling
• Intrinsically • Logic-level
interoperable abstraction
• Promotes federation • Organizational agility
• Architecturally and enterprise-wide
composable loose coupling
SOA support in .NET
• Platform overview
• Primitive SOA support
• Support for service-orientation principles
• Contemporary SOA support
Platform overview
Architecture components
• ASP.NET Web Forms
• ASP.NET Web Services
• Assemblies
Runtime environments
• Common Language Runtime (CLR)
• HTTP Pipeline
Programming languages
• Visual Basic, C++, C#
• Microsoft Intermediate Language (MSIL)
APIs
• System.Xml
• System.Web.Services
• As well as:
– System.Xml.Xsl
– System.Xml.Schema
– System.Web.Services.Discovery
Service providers
Service requestors
Service agents
Platform extensions
• Web Services Enhancements
Primitive SOA support
• Service encapsulation
• Loose coupling
• Messaging
Support for service-orientation
principles
• Autonomy
• Reusability
• Statelessness
• Discoverability
Contemporary SOA support
• Based on open • Extensibility
standards • Supports service-
• Supports vendor oriented business
diversity modeling
• Intrinsically • Logic-level
interoperable abstraction
• Promotes federation • Organizational agility
• Architecturally and enterprise-wide
composable loose coupling
Integration considerations
• Reasons for new requirements
• Cross-platform interoperability
• Changes to cross-platform interoperability
requirements
• Application logic abstraction