erl's soa chapter 18 (whitmore)
TRANSCRIPT
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 components
• Runtime environment• Programming
languages• APIs
• Service providers• Service requestors• Service agents• Platform extensions
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 standards
• Supports vendor diversity
• Intrinsically interoperable
• Promotes federation• Architecturally
composable
• Extensibility• Supports service-
oriented business modeling
• Logic-level abstraction
• Organizational agility and enterprise-wide 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 standards
• Supports vendor diversity
• Intrinsically interoperable
• Promotes federation• Architecturally
composable
• Extensibility• Supports service-
oriented business modeling
• Logic-level abstraction
• Organizational agility and enterprise-wide loose coupling
Integration considerations
• Reasons for new requirements
• Cross-platform interoperability
• Changes to cross-platform interoperability requirements
• Application logic abstraction